Dr. Reiss, author of (perhaps) the strongest Go program at the moment (Go++) got inspired by Jeff Hawkins' work as well, and came up with the an Earth-shattering theory (at least for me):
http://www.reiss.demon.co.uk/neural/neural.htm
Mick postulates: "If this theory was proven correct then it may suggest that the most common task being performed by neurons in real brains is to continuously attempt to learn to predict the activities of other neurons but based on different inputs."
About the development of Moyo Go Studio, software to (help) play the Oriental game of Go. Go is a two-player zero-sum game of perfect information. It is considered much harder than Chess. Currently, in spite of enormous effort expended, no computer program plays it above the level of a beginner.
Friday, December 29, 2006
Thursday, December 28, 2006
Wednesday, December 27, 2006
Tuesday, December 26, 2006
Publishing: Numbered Stones
Today I added the option of numbered stones in front of diagrams and comments.
Not having to explain folks on Sensei's Library that I am not a psychopatic killer helped getting this done :-)
Not having to explain folks on Sensei's Library that I am not a psychopatic killer helped getting this done :-)
Labels:
Publishing
Monday, December 25, 2006
Publishing Status
The Publishing system is a few weeks delayed due to the professionally coordinated terror attacks of the past month - but here is the final GUI. About 75% of it is connected to actually working, debugged code, the rest still has to be coded.
That 75% is the most complex stuff though, like:
-Printing
-Output to various formats
-Page rendering engine
-Antialiased diagram engine
-HTML upload to website
-PDF output with embedded CJK font
-Custom lines
-Page size selection
-Page range selection
What still has to be done is everything connected to making the actual diagrams look like they should look, and to a few more layout-related issues.
That 75% is the most complex stuff though, like:
-Printing
-Output to various formats
-Page rendering engine
-Antialiased diagram engine
-HTML upload to website
-PDF output with embedded CJK font
-Custom lines
-Page size selection
-Page range selection
What still has to be done is everything connected to making the actual diagrams look like they should look, and to a few more layout-related issues.
Labels:
Publishing
Doc Demo (Publishing)
As promised: Proof-of-concept for publishing to MS Word: test.doc
Labels:
Publishing
Sunday, December 24, 2006
Publishing to PDF: Proof Of Concept
http://www.moyogo.com/test.pdf has a proof-of-concept for publishing in columns, with diagrams, to PDF.
The diagrams themselves are very plain (it's the only thing yet to be implemented, all complex stuff like page rendering engine for a dozen output formats has been done, all GUI layout, all classes etc.)
It's the 3-3 branch of Kogo's Joseki Dictionary but remember, it's a proof-of-concept, no diagramming features yet! But as you see, things are flexible, individual text in title, header and footer can even have separate color, alignment etc.
The same can be outputted to HTML, and it's here - automatically uploaded via FTP!
But output to MS Word is just as easy,
The diagrams themselves are very plain (it's the only thing yet to be implemented, all complex stuff like page rendering engine for a dozen output formats has been done, all GUI layout, all classes etc.)
It's the 3-3 branch of Kogo's Joseki Dictionary but remember, it's a proof-of-concept, no diagramming features yet! But as you see, things are flexible, individual text in title, header and footer can even have separate color, alignment etc.
The same can be outputted to HTML, and it's here - automatically uploaded via FTP!
But output to MS Word is just as easy,
Saturday, December 23, 2006
Libel on Sensei's Library: The Smoking Gun
It's now 16:00 and this has been published by Arno on his site for the past half hour. I have been banned and can't edit/add anything to defend myself against the libel. Arno said he would ban the use of "Moyo Go Studio" and Frank de Groot" but a German criminal (I did a check on the IP address) found a way around this and wrote the following allegations:
http://senseis.xmp.net/?posting=2818#P2818
Mirror:
http://www.moyogo.com/EvidenceSL.htm
From the timestamps of the postings it can be seen that Arno did not remove the libel for many hours (even though he had been present on his website at that time because he deleted threads, made postings, banned IP addresses etc.).
All people that posted in the thread are witnesses to the libel. Many people can testify they have seen it.
Arno said that if I defend myself against libel on his site, he will ban me, which he has, now. He libelled me on his site, he refused to delete the libel, he made it impossible for anyone to remove the libel, he made it impossible for me to defend myself against the libel, and he publicly stated that he does not like me as a person.
Damages 50,000 Euro according to Austrian Media/libel law, as soon as I find a specialized attorney in Austria to handle this case (preferably in Graz), his ass is toast. He continually escalated the problem to a more serious level and he never did anything to limit the damage, on the contrary.
http://senseis.xmp.net/?posting=2818#P2818
Mirror:
http://www.moyogo.com/EvidenceSL.htm
From the timestamps of the postings it can be seen that Arno did not remove the libel for many hours (even though he had been present on his website at that time because he deleted threads, made postings, banned IP addresses etc.).
All people that posted in the thread are witnesses to the libel. Many people can testify they have seen it.
Arno said that if I defend myself against libel on his site, he will ban me, which he has, now. He libelled me on his site, he refused to delete the libel, he made it impossible for anyone to remove the libel, he made it impossible for me to defend myself against the libel, and he publicly stated that he does not like me as a person.
Damages 50,000 Euro according to Austrian Media/libel law, as soon as I find a specialized attorney in Austria to handle this case (preferably in Graz), his ass is toast. He continually escalated the problem to a more serious level and he never did anything to limit the damage, on the contrary.
Friday, December 22, 2006
Mammals Are Our Brothers
What's the defining, most important difference between mammals and other animals?
They give living birth and their offspring drinks their milk? Nope.
Mammals are the only creatures on Earth that have a neo-Cortex. I read that in "On Intelligence" by Jeff Hawkins. Interesting book by interesting guy, that gave me ideas for the next stage of Moyo Go Studio: A Go-playing engine. A neo-Cortex allows us to store memories and make predictions based on those memories. And it makes us self-aware.
I had to think of the way a bedoine told me dromedares kill their abusive minders, often months after the abuse took place. They either lay themselves on top of their minder at night - suffocating him, or they bite him on the top of the skull with their deeply penetrating, long teeth, killing him by massive brain hemmorage/-damage and trauma to the skull.
In order to be able to commit such an act of premeditated murder, a dromedare has to make several predictions with its neo-Cortex:
1. The abuse might go on when the abuser remains alive,
2. The abuser needs to breathe air, else he dies,
3. If I lie on top of him, he won't get any air.
I conclude:
A. Every mammal has its own unique character, they are able to suffer emotionally just like we are, and that therefore they are our Brothers.
B. Dromedares are ugly and look stupid but they are big and scary motherfuckers.
They give living birth and their offspring drinks their milk? Nope.
Mammals are the only creatures on Earth that have a neo-Cortex. I read that in "On Intelligence" by Jeff Hawkins. Interesting book by interesting guy, that gave me ideas for the next stage of Moyo Go Studio: A Go-playing engine. A neo-Cortex allows us to store memories and make predictions based on those memories. And it makes us self-aware.
I had to think of the way a bedoine told me dromedares kill their abusive minders, often months after the abuse took place. They either lay themselves on top of their minder at night - suffocating him, or they bite him on the top of the skull with their deeply penetrating, long teeth, killing him by massive brain hemmorage/-damage and trauma to the skull.
In order to be able to commit such an act of premeditated murder, a dromedare has to make several predictions with its neo-Cortex:
1. The abuse might go on when the abuser remains alive,
2. The abuser needs to breathe air, else he dies,
3. If I lie on top of him, he won't get any air.
I conclude:
A. Every mammal has its own unique character, they are able to suffer emotionally just like we are, and that therefore they are our Brothers.
B. Dromedares are ugly and look stupid but they are big and scary motherfuckers.
Labels:
Mammals
Publishing: Page Range Feature
Initially I designed the page-range options to be much more elaborate, offering the choice of publishing from-to certain variation codes and other almost-never-used frills.
To get this done was hard enough - there were some problems with the positioning code when publishing page ranges to HTML.
It's now time to finish the diagram-generation code, which is quite a lot of work but much of it is straightforward, as opposed to bughunting/-fixing of the 3rd party library I use for some of the publishing module.
To get this done was hard enough - there were some problems with the positioning code when publishing page ranges to HTML.
It's now time to finish the diagram-generation code, which is quite a lot of work but much of it is straightforward, as opposed to bughunting/-fixing of the 3rd party library I use for some of the publishing module.
Labels:
Publishing
Thursday, December 21, 2006
Moyo Go Sponsoring Dutch Go Winter Camp
Two Moyo Go Studio DVD's for the Dutch Go Winter Camp (30 participants)
http://wintergokamp.frollick.nl/
Sounds like a very nice way to spend some dark and rainy days!
http://wintergokamp.frollick.nl/
Sounds like a very nice way to spend some dark and rainy days!
Tuesday, December 19, 2006
Memleak FUD?
Nothing beats bashing some software than making an anonymous posting on the Western world's largest Go forum (Sensei's Library - in an attempt to shut me up :) than "totally unusable due to memory leaks", and I now wonder, are there serious memory leaks? (in the latest update).
If so, please report the details (which features do you use).
Of course, a memleak is a very serious bug and needs to be reported and investigated. I have 500 customers but there are no open memory-leak issues at the moment that I know of - should I?
The first person that can show a reproducable case of a serious memleak will get a full refund. (I'll publish the name so you can see it will be fair).
If so, please report the details (which features do you use).
Of course, a memleak is a very serious bug and needs to be reported and investigated. I have 500 customers but there are no open memory-leak issues at the moment that I know of - should I?
The first person that can show a reproducable case of a serious memleak will get a full refund. (I'll publish the name so you can see it will be fair).
Monday, December 18, 2006
Interesting quote by Machiavelli
From this inspiring article:
http://www.israelnationalnews.com/article.php3?id=6722
In the words of Machiavelli in The Prince (chapter 17), "A prince must not mind incurring the charge of cruelty for the purpose of keeping his subjects united and faithful; for, with a very few examples, he will be more merciful than those who, from excess of tenderness, allow disorders to arise, from whence spring bloodshed and rapine." Whether we are dealing with subjects or enemies, and certainly enemies bent on our destruction, an excess of tenderness only leads to a loss of mercy. In the words of Midrash Rabbah on Kohelet 7, "He who is merciful to the cruel is destined to be cruel to the merciful."
http://www.israelnationalnews.com/article.php3?id=6722
In the words of Machiavelli in The Prince (chapter 17), "A prince must not mind incurring the charge of cruelty for the purpose of keeping his subjects united and faithful; for, with a very few examples, he will be more merciful than those who, from excess of tenderness, allow disorders to arise, from whence spring bloodshed and rapine." Whether we are dealing with subjects or enemies, and certainly enemies bent on our destruction, an excess of tenderness only leads to a loss of mercy. In the words of Midrash Rabbah on Kohelet 7, "He who is merciful to the cruel is destined to be cruel to the merciful."
Tuesday, December 05, 2006
Rich Text & Audio Publishing Ready
It's all done, tested, debugged and working fine:
If you have a picture of your favorite player in Rich Text comments, it will be nicely scaled to column-width when the column is smaller than the image, and uploaded to HTML as part of the Kifu. Images are included as PNG.
Better still: When there are Audio comments in the SGF, they will be uploaded into the HTML as links to WAV files!
I will post a link to an example a bit later, when also the diagrams look a little better.
If you have a picture of your favorite player in Rich Text comments, it will be nicely scaled to column-width when the column is smaller than the image, and uploaded to HTML as part of the Kifu. Images are included as PNG.
Better still: When there are Audio comments in the SGF, they will be uploaded into the HTML as links to WAV files!
I will post a link to an example a bit later, when also the diagrams look a little better.
Monday, December 04, 2006
Publishing Progress
A rec.games.go terror-gang member commented recently on the progress report for publishing that showed proper working columnization in any format with dummy diagrams with: "It is clear that you are not a Go player, otherwise your diagrams would have looked better".
:-)
Perhaps when I get older, I will be able to ignore such folk. Are they intentionally evil, or merely stupid?
In any case - rest assured that Publishing is on track, rec.games.go unsubscribed, and I'm finished translating David Mitchell's functional spec into a GUI. He makes a lot of Go diagrams and his wishlist is pretty comprehensive.
Basically, everything imaginable in the diagram should be configurable. It's a kazillion of options that I could barely fit on eight tabs. And I made the dialog box 800x600 to be able to do even that.
David is a Kifu publishing expert, is familiar with most of the the main Go software for publishing/printing and he has made clear what he wants to see in the "perfect" publishing module. It's a multi-page document with multi-page addendums in aswer to my questions. I will do my best to implement as much as I can for a first version, and he will be my beta-tester.
Several days went into designing a GUI that could present the large number of options to the user in the clearest possible way. I had to re-do a lot during the process. The image presented here shows how the user drags & drops items above or below a diagram, like title or move range.
In the "Fonts" section, every part of a Kifu has its own font name, -attributes and text alignment.
What's left is a bunch of coding here & there, mainly fixing some more bugs in the rendering engine and then greatly expanding the "diagram" class I already use to display board positions.
If I want to add variable diagram positioning, I'd also have to do some tricky coding in the rendering engine, so I might leave that until I roll out the first version. Attacks on me on rec.games.go have delayed me for a few days, and the work involved in suing David Windsor for slander and defamation will add to the delay, but I still think I can have a working version before the end of the year.
:-)
Perhaps when I get older, I will be able to ignore such folk. Are they intentionally evil, or merely stupid?
In any case - rest assured that Publishing is on track, rec.games.go unsubscribed, and I'm finished translating David Mitchell's functional spec into a GUI. He makes a lot of Go diagrams and his wishlist is pretty comprehensive.
Basically, everything imaginable in the diagram should be configurable. It's a kazillion of options that I could barely fit on eight tabs. And I made the dialog box 800x600 to be able to do even that.
David is a Kifu publishing expert, is familiar with most of the the main Go software for publishing/printing and he has made clear what he wants to see in the "perfect" publishing module. It's a multi-page document with multi-page addendums in aswer to my questions. I will do my best to implement as much as I can for a first version, and he will be my beta-tester.
Several days went into designing a GUI that could present the large number of options to the user in the clearest possible way. I had to re-do a lot during the process. The image presented here shows how the user drags & drops items above or below a diagram, like title or move range.
In the "Fonts" section, every part of a Kifu has its own font name, -attributes and text alignment.
What's left is a bunch of coding here & there, mainly fixing some more bugs in the rendering engine and then greatly expanding the "diagram" class I already use to display board positions.
If I want to add variable diagram positioning, I'd also have to do some tricky coding in the rendering engine, so I might leave that until I roll out the first version. Attacks on me on rec.games.go have delayed me for a few days, and the work involved in suing David Windsor for slander and defamation will add to the delay, but I still think I can have a working version before the end of the year.
Labels:
Publishing
Hi-Tec Envelopes
I am going to the postoffice now, mailing these four MoyoGo's here that have accrued over the weekend. I prefer to deliver them personally than to walk to the mailbox at the bottom of the hill (although I should, for excercise's sake..) Call me paranoid, but once a batch of similar size got lost after I'd put it in a mailbox (downtown, now I live in the woods) and since then I always bring them to the postoffice myself.
A while ago I bought 500 special foam envelopes, much firmer than ordinary bubble envelopes. An added advantage is that I can write directly on the white envelope without danger of puncturing it.
Since I am using these envelopes, the occasional reports of damaged DVD's have ceased.
A while ago I bought 500 special foam envelopes, much firmer than ordinary bubble envelopes. An added advantage is that I can write directly on the white envelope without danger of puncturing it.
Since I am using these envelopes, the occasional reports of damaged DVD's have ceased.
Friday, December 01, 2006
Interactive Go Maps: Art, Not Science
http://canut-ki-in.jeudego.org/simulation_influence/ has a beautiful "influence simulator" and quite a few people asked me: "Why don't you put something like that in Moyo Go"? Well.. Because I'm a computer-Go scientist, not an artist :-)
I want to make it clear that I have great respect for the programmer of this stunningly beautiful display, and I'm sure the algorithms used are not simple at all. Yet, it does not appear to be a genuine influence simulator, more a kind of "Go art" or perhaps the programmer's own interpretation of "influence".
Because "influence" in comp. Go terms is not something subjective, or something "beautiful", no, we design influence functions and measure their performance with tens of thousands of end positions of pro games and keep tuning those functions until they give the most accurate estimation of territory and influence (which is more subjective). Territory is subjective as well, but the abberations average eachother out so we can establish accurate performance parameters for our influence functions.
Take this example of influence maps.
(note that there are five shades of beige in this diagram, and that therefore black has large influence at Tengen- the very darkest/lightest area's are "very strong influence" points and that simply is too speculative to be of any use, for Tengen).
In computer Go, the sub-problem of "influence" has been quite nicely solved by Bruno Bouzy, who has published several papers on his method.
Both Bouzy's and David Fotland's (of Many Faces of Go fame) influence functions "bounce" influence off the edges of the board and let the "wavefronts" combine. This is visible in the lower right corner of Moyo Go's example (right), but not in the "interactive Go map" on the left because a much simpler, more inaccurate algorithm is used that does not even take Manhattan distances into account. The purpose of Interactive Go maps appears to test and present Go-concept ideas in an esthetical manner, without laying claim to being "accurate".
And there are more things that are sub-optimal in the example on the left. Look at those white stones in the lower right. They project quite some influence leftward, but in the Interactive Go map there is nothing! Moyo Go's influence graph around Tengen is a large diamond, whereas in the Interactive Go MAps exapmple, it's a square. A diamond is the accurate form, because Go stones connect in a horizontal/vertical manner.
The analogy Go stones = magnets goes a long way, but in the end, Go stones in a Go position are not magnets and more realistic algorithms need to be employed to predict likely territory and influence, especially in more complex positions.
Let the Interactive Go maps be pretty, and let Moyo Go's influence maps be as accurate as possible. No effort has obviously been spared to make those maps as pleasing to the eye as possible, while I read my way through a pile of state-of-the art research in influence algorithms. The Bouzy algorithm remains unbeaten, but I found a way to greatly speed it up and get almost the same (or better?) results. Rest assured that although it doesn't look as good as the Interactive Go maps, no efforts have been spared to make them as useful as possible, and not merely good-looking.
I want to make it clear that I have great respect for the programmer of this stunningly beautiful display, and I'm sure the algorithms used are not simple at all. Yet, it does not appear to be a genuine influence simulator, more a kind of "Go art" or perhaps the programmer's own interpretation of "influence".
Because "influence" in comp. Go terms is not something subjective, or something "beautiful", no, we design influence functions and measure their performance with tens of thousands of end positions of pro games and keep tuning those functions until they give the most accurate estimation of territory and influence (which is more subjective). Territory is subjective as well, but the abberations average eachother out so we can establish accurate performance parameters for our influence functions.
Take this example of influence maps.
(note that there are five shades of beige in this diagram, and that therefore black has large influence at Tengen- the very darkest/lightest area's are "very strong influence" points and that simply is too speculative to be of any use, for Tengen).
In computer Go, the sub-problem of "influence" has been quite nicely solved by Bruno Bouzy, who has published several papers on his method.
Both Bouzy's and David Fotland's (of Many Faces of Go fame) influence functions "bounce" influence off the edges of the board and let the "wavefronts" combine. This is visible in the lower right corner of Moyo Go's example (right), but not in the "interactive Go map" on the left because a much simpler, more inaccurate algorithm is used that does not even take Manhattan distances into account. The purpose of Interactive Go maps appears to test and present Go-concept ideas in an esthetical manner, without laying claim to being "accurate".
And there are more things that are sub-optimal in the example on the left. Look at those white stones in the lower right. They project quite some influence leftward, but in the Interactive Go map there is nothing! Moyo Go's influence graph around Tengen is a large diamond, whereas in the Interactive Go MAps exapmple, it's a square. A diamond is the accurate form, because Go stones connect in a horizontal/vertical manner.
The analogy Go stones = magnets goes a long way, but in the end, Go stones in a Go position are not magnets and more realistic algorithms need to be employed to predict likely territory and influence, especially in more complex positions.
Let the Interactive Go maps be pretty, and let Moyo Go's influence maps be as accurate as possible. No effort has obviously been spared to make those maps as pleasing to the eye as possible, while I read my way through a pile of state-of-the art research in influence algorithms. The Bouzy algorithm remains unbeaten, but I found a way to greatly speed it up and get almost the same (or better?) results. Rest assured that although it doesn't look as good as the Interactive Go maps, no efforts have been spared to make them as useful as possible, and not merely good-looking.