Wednesday, January 31, 2007

Nostalgia

The mess on my desk (picture of three years ago - it's much better since I my girlfriend moved in with me and we got a new place) is inversely exponentially proportional to the mess inside the sourcecode of Moyo Go.

I remember a fight I had with my manager, six years ago. He told me - in front of his manager - that my source "wasn't Pascal". He literally said: "What's that - that's not Pascal!". In a tone of: "What's that - that's a giant, man-eating cockroach you smuggled into here!".

Him being a former tractor repairman and a self-taught code hacker, had never seen properly indented code. Not that his auto-didactness matters - I am like that too. One learns (or doesn't..) coding hygiene from decades of experience, I guess. It's a learning-from-one's-mistakes kind of thing. I wrote about coding standards here. I think that my traumatic exposure to RPG II might have something to do with my penchant for columnizing declarations and assignments.

Anyway - In a fit of Lymerage I told him in no uncertain terms that it would be best for the company if he and everyone else would adopt my coding standards. Our mutual boss thought it was all very entertaining and took me out for dinner. Soon afterwards, my chef got promoted away to a place where he couldn't do any harm.

Saturday, January 27, 2007

Moyo Go: "Googling" Go patterns

Speaking of asses, look what I found :-)


Some Go players still don't understand how Moyo Go's pattern expert system works. (When you read that PDF, note that "pattern" is not a move, but a potential move). This is often due to laziness (not reading the Help file). They think they are presented with an "analized position" or that they are getting "the solution to Joseki/Fuseki problems" or that Moyo Go presents them with the "best move".

And then they get very angry, or envious, or frustrated, and then they try to do as much damage as they can, using any possible way they can. Mark Boon, a strong Go player and Go programmer, when I offended his ego, offered 1000 USD for the first person to reverse-engineer MoyoGo's pattern system and throw it in the public domain. Philip Waldron, an even stronger Go player and a strong opponent of computer-assisted Go, said in the AGA eJournal that Moyo Go was nothing special, and should be avoided. And now, someone calling himself "Big Fan Of North Korea" (at least we have something in common) got creative on my ass and is shouting everywhere that he posted this image on the net. As part of my ass-symmetrical warfare against enemy combatants, I repost it here.

So - about Moyo Go's pattern system. It's not like a "scientific calculator". It is a pattern-recognition device (17 million normalized patterns) and a statistical database, for those patterns. Also, it is a hyperfast pattern-matcher (no time delay).

So, you move the mouse over board points and immediately you see browsable diagrams of the same local positions in other people's games, and how popular that move was in terms of statistical move likelihood in the average global context, winning percentages, average rank and -date, etc.

Moyo Go Studio is the "Google" of Go information. It's not a "calculator", it is a superfast, sophisticated search engine. Up to you to make the right searches, and up to you to do something with its information. All Moyo Go does is showing you the most likely moves, you have to judge those moves in their global context and you have to explore the alternatives, with or without using the program's search engine and pattern expert system.

Anyway - it's attacks like these that keep me going :-) Note how buttbuddy talks about "ease of solving Joseki and Fuseki problems". Totally missing the mark. I guess it's easy to misinterpret this kind of software. The idea is new. "Googling" Go game patterns - a revolution in the Go software world.

When Google started, all through its early years, there was a lot of noise about how "What you find on the Internet is mostly useless crap". And how "You can't manage to find what you are looking for, with Google". And how "It's much better to go to the library and find a reliable book about the subject". And "The ease of using Google to find information on the Internet will rot your brain".

:-D

Tuesday, January 23, 2007

Publishing Help

For those beta-testing the currently available Publishing functionality, I have started to provide Help. So far it's only the first page of the intimidating-looking Publishing dialog box, but it offers in-depth info on the nitty-gritty.

Stuff that doesn't work yet is shown in light-grey at the moment.

Sunday, January 21, 2007

The Morality of Banning

Banning is as popular these days as it was in the days of the Inquisition.

In my opinion, the more influential the banner is, the more unethical it is to the banned, if the banned is banned for no other reason than power-politics.

This is valid in case of Sensei's Library, the BGA, GoBase and AGA banning me and my software, but also in case of perhaps the most evil company in the world today - Google.*

Google deliberately deceives us with pre-destruction images of Fallujah, but has now banned http://uruknet.info/ as well, in an attempt of censoring the truth about what happened there - the wholesale slaughter of many thousands of elderly civillians with nerve gas, napalm and white phosphorus.

Of course Google is just following orders, as they did in China. Liberty and freedom are so precious that we lost it before we even fully gained it. There is no such thing as uncensored news. People never learn. Hitler - an Austrian - banned everything and everybody. Another Austrian is now banning me, and has erased all mention of my software on his public Go Wiki. At the moment, it is banned, in Austria, to discuss the historical details about the persecution and dying of the Jews in Austria.

Banning, banning banning, and people never learn. My point: Banning a voice, an opinion, an outlook, banning information is never ethical.

Banning is fascism, plain and simple. When a community leader bans an individual, by that very act, the rest of the community is subjected to fascism (= the use of force) as well.

Strange that Arno Hollosi is Austria's top ePrivacy advisor. He is the country's "people chipper", so to say. Strange that he never learned from the mistakes of his fellow countryman Hitler. When people like him are the masters of our information and censor at will, we should protest, rebel and work on alternatives instead of slavishly accept that we are banned from reading certain information. It's not just one person who is banned, all are banned from being exposed to that person's views.

If we do not defend our liberties, we do not deserve them at all. We get the leaders we deserve, whether they be our elected representatives or those that run the websites we visit.

Banning is in vogue, and because it's sheepishly accepted by 99.999% of people in the "free" West, I predict that we will live under fascism before my generation (1965) dies.

Every single person who accepts censorship of thoughts, information, opinions is not just subjected to fascism, he/she is consenting to it. And the more influential, the more powerful he who bans, the more unethical the crime of banning is.

Fascists usually meet bad ends. Mussolini was found hanging upside down on a meathook. Hitler shot himself. Saddam was hung on a rope. The Shah of Iran was ousted. Not to mention the French, Russian and Cuban revolutions. Yet, we never learn, neither the banners nor the banned-from-reading-the-works-of-the-banned. Without our efforts, tyranny will prevail. They do not want you to know the truth. They do not want you to know that there is an alternative. "They" are puppets, and their masters are those who stand to gain financially from censoring your right of information. "They" are the "morality knights", "they" are those who have the genetical flaw of wanting to control what you think, by controlling what you read. In that respect, the "banners" of today are no better than the Spanish Inquisition of yesteryear. Only the law prevents them from the wholesale slaughter of those who's opinions or actions they don't like.

*If they have no qualms helping to cover up mass-murders and systematic torture by fascist governments, surely they can't be trusted with your name, address and all the searches you ever made? Not to mention the fact that Google has an utter contempt for the law -like Copyright and Libel law.

Order Flurry

Some say one should never decrease one's price, but new technology is always more expensive for early adopters, and the money is invested into further development so that it becomes suitable for mass-production and -sales.

I lowered Moyo Go's price rather spectacularly, and I got five orders in 48 hours as a result. I rather sell a lot for less, than a little for more. It's market penetration that counts, especially faced with massive cyberwarfare against me in the highly corrupt Go-playing West.

Contrary to rumors, I am far from "going out of business", and feverishly finishing the Publishing module and fixing some bugs here & there.

The free version was a strategic decision - a massive strike against my competitors and simultaneously the very best way to get a foothold in SE Asia. Not coincidentally, I released the freeware version on the same day that the last serious bug in support for CJK languages was fixed. We're talking about a blow to the enemy where it hurts hardest - not a sign of "giving up" :-)

More "terror" strikes on competitors will follow, this was just the aperitif of what's in store for them.

Darwinism in the Go Software World

My predictions were right:

http://informationweek.com/news/showArticle.jhtml?articleID=196901935

Intel is working on an 80-core (eighty) CPU and they already have a working prototype.

Let me bitch about SmartGo for a while. When will SmartGo have multithreading? Moyo Go's "Kombilo" (free pattern search) function is multithreaded. SmartGo's isn't. Moyo Go's game import process also is multithreaded. This means that if SmartGo doesn't shape up, it will, in a handful of years, search patterns twentyfive to twohundred times slower than Moyo Go.

SmartGo is following MoyoGo's footsteps in minor things (like export-to-Wiki but it took them a year), but where are the major innovations and technological feats? After having been in business for two decades, one would expect more from them.

I bitch about SmartGo because they're milking my being banned on SL for all it's worth, instead of protesting. On all the spots where Arno deleted mention of my software, SmartGo has now weaselingly added a blurb of their own. My point is, SmartGo needs to do that, because it's all they got. They don't have what it takes to be a technology leader, so they (ex-Microsoft..) have to use power-politics, dirty tricks, demagoguery and "throwing money at problems" instead.

Where would SmartGo have learned that approach ;-)

From the article:

And it needs to change really soon, says Dan Olds, a principal analyst with the Gabriel Consulting Group, Inc. "Every software maker out there -- and this goes not just for business software but for home software, games, everybody -- has got to learn how to program parallel code. They've got to be able to do that to remain competitive. We've got multiple-core chips at the consumer level They better get their butts in gear and make sure they can at least program for quad."

Friday, January 19, 2007

Rakefisk & Lutefisk

That cord I'm holding there is because my significant half commanded me to do it so she could get an unobstructed view out of the window.

That big thing is a 24" CRT monitor, we watch movies on that one.

The scribbles on the old tower (my gf's machine) are the HDD serial numbers, useful for when the RAID suffers a blown out disk.

I am frying Lutefisk now. Lutefisk is raw fish, cured in caustic soda. I think not many people died, after eating it. Contrary to rakefisk, which I also have, in the fridge. Rakefisk is raw, stinking, rotten fish. At least it often stinks. It doesn't have to, though. People have died after eating it, due to botulin toxin, IIRC.

Norwegians do not like things that taste good. Most like things that have no taste (like their "cheese"), and some like things that taste awful, like their various varieties of rotten fish or insanely putrid cheeses. It is still a criminal offence (three months prison) to import Dutch cheese for example, because there are strict, small import quota to protect the "farmers" (= the richest people in this country, the supermarket monopolists).

Norwegian herring filet is disgusting. They use some crazy chemical or herb to make them all taste the same, a horrid, all-purveying taste of I-don't-know-but-it-seems-like-fermented-battery-acid.

Their pickled cucumbers are similarly inedible. The bread is nice though, very nice. Much better than Dutch "bread", haha. Dutch bread is not bread but dissolvable spunge, hardly suitable to feed the fish.

The food situation here is so precarious (both regarding taste and price), that Norwegians have no other choice than to do their shopping in Sweden. Sweden has high prices and little choice, but compared to Norway it's pure paradise.

I just tried the fried Lutefisk. I tastes like the warm snot from someone who died of drinking a bottle of toilet cleaner.

Thursday, January 18, 2007

Danger!

Just like Skype (the most expensive computer program ever - three point five billion dollar - give or take a few hundred million), Moyo Go Studio is written in Delphi.

I'm pretty well-versed in it, having switched to Delphi from C under Unix 15 years or so ago.

But I think this is only the second time I saw this funny error.

It is the result of me fixing the GDI handle consummation bug in that African - sorry, Indian - library. I should work for that guy - I've fixed just about every single showstopper in that thing.

I fixed that bug so here's Kogo with around 666 pages. (50 MB, the images are compressed to 5 kb each but with around ten thousand of them..). Just to prove it works, not because it's such a beautiful piece. Some problems have been fixed, like the non-uniform stone size. Many like to have their stones the same size :-)

A lot more enhancements are pending, for the publishing module, ASAP. To bring it into the realm of the "Professional Go DTP" world. A small realm indeed.

Speaking of danger, I just fixed my car. And I know nothing of cars. Car engines are like artificial hearts, they have lots of hoses connected to them. Some hoses bring air in, some out, some bring oil in, gasoline and there is even a "vacuum" hose, which pumps the vacuum in. Hehe.

That "vacuum hose" was eaten by a mouse. In fact, there was a mouse nest underneath, with dry leaves and all. No sign of the mouse though. I aquired a hose at the cost of zero NOK due to the generosity of the Saab dealer, ripped out the old one and replaced it.

The only problem was that I ripped out another hose as well. Because it was rotten. Against my will, and with nauseating speed, I was entering a world of pain and anguish. The horror of being forced to become a (very low level) car engine mechanic. I hate smelly hoses, soot and stale oil. And I always cut myself when I fumble around in big contraptions.

That hose turned out to be a "breathing hose" (åndeslange) and there wasn't a living soul in Oslo that carried it. Espacially not the biggest Saab dealer. It had to be oil-resistant, heat-resistant and not fold when bent. And it had to be in stock. I finally found a shop with an over-specced braking hose for trucks, and the price was more than ten times cheaper than the non-fitting hose the Saab dealer sold me. Nowadays they only sell pre-packaged, hyper-costly solutions and they don't have a pile of bits & pieces lying around any more. I hate that, in capitalism. We became our own slaves. Instead of being able to work only 20 hours/week, we have to work double because everything is twice as expensive due to the system we made for ourselves "because what's good for the economy is good for us". Yeah. Trade bans (or call it our "quality standards", LOL ) with developing countries made our food horrendously expensive (and of horrendous quality - blemishless, irradiated, genetically-modified, gigantic fruit & veggies loaded with pesticides and devoid of taste and minerals). Noone is more hopelessly enslaved than he who mistakenly believes he's free.

Boy oh boy. I didn't know that owning a car was so expensive. Last week I ruined the exhaust and had to replace some of it for 4000 NOK. I am now in the minus, because Moyo Go sales are about zero, since Sensei's Library boycotted me and I put up a free version.

But at least I'm slowly becoming able to repair simple things myself.

Anyway. About the stack overflow error. Fixing the GDI handle bug in the Bangladeshi - sorry, Indian - lib caused or surfaced another bug, namely the "disappearance" of handles in random places, like the main menu. When publishing huge documents (more than a few thousand diagrams). But at least it's now possible to publish enormous documents with 10,000 diagrams and a thousand pages. In the paid version on DVD. There is no publishing in the free version. If things go wrong, they go wrong after the fact, and the document has been properly produced. All you'd have to do is restart Moyo Go, but of course I'm on this bug too.

Tuesday, January 16, 2007

Other People's Bugs Are My Bugs Too, Unfortunately

Quite a bit of my time is spent on bugfixing, and in many cases, I am bugfixing other people's code, be it 3rd party libraries, the compiler vendor's core libraries, or even the OS itself.

Lately, I've been fixing bugs in all three, and I'll give two examples.

Delphi comes with a core lib called "graphics.pas", and in it was a nasty memory leak in the bitmap handling code that caused GDI handles to disappear. My machine has 4 GB, 4 CPU cores and runs Windows x64, but Microsoft wouldn't be Microsoft if the limit of GDI handles wouldn't be some ridiculously low number, like two to the power of fifteen, minus many thousands. Yes, you read it correctly, the maximum number of GDI process handles in x64 is 10,000. A GDI handle is a font, a brush, a pen or a bitmap canvas etc.

I do not have the time and energy to hunt Bill Gates down like the rabid dog he is, neither would it help much, so I fixed the leak in Bore-land's Delphi instead. Not that this helped, because the 3rd-world (Indian) publishing package I'm using still evaporates GDI handles until the entire document has been printed. The only difference now is that they are returned, after the document has been produced. But a large document still runs into this ridiculous OS limit.

So I paid 11,000 USD for a 64-bit PC with oodles of RAM and a 64-bit OS, but Mr. Gates thinks that fourteen-and-a-half bits should be enough for everybody. Handing him over to Moqtada al Sadr's Mahdi Army would be much too good for the guy. I'll have to provide a very dirty workaround, as everyone has, who tries to do anything serious with a Windoze computer.

Up to the next Windoze bug that I had to fix in order to get my stuff running properly.. Moyo Go is cutting edge software. Everything is Unicode. So it flawlessly supports CJK languages.

Hah! That's what I THOUGHT!

The entire system breaks down when a Japanese user tells Windoze that he'd like Japanese formatting of numbers, currencies, dates etc. He them sets a Japanese "User Locale". And then all bets are off. Suddenly, when you send a Unicode string to a Windoze GUI widget, Windoze refuses to render it properly and turns it into Klingon instead.

Of course, this is a horrendous bug in Windoze, and it has plagued me for a year. Some Japanese customers claimed my app sucked donkeyschlongs, some said it was perfect and sent me presents. It all depended on whether they told Windoze to format their dates in a Japanese way.
Because that destroys the entire Windows' Unicode handling of the entire Operating System.

Cool. At least we found the cause.
The solution is so perverse and weird that you might not believe it (you might not believe anything in this blog posting, for that matter). I'm not even sure I should post the solution here. The enemy is listening too. I will divulge it anyway:

The solution to the bug: "Impossible to display Japanese on a Japanese computer running Japanese Windows with Japanese locale setting" is..

..

(It really is the solution, it has been tested & confirmed by my Japanese customers)

..
..
..
..
..
..

TO FORCIBLY SET THE THREAD LOCALE TO US ENGLISH!

All those billions that Gates gives to charity ain't gonna help him - he will go straight to hell where he belongs.

Tuesday, January 09, 2007

Slate & Shell bans Moyo Go at New Jersey Open

I'm trying to sponsor Go events, (any one with at least 30 participants and a link to my site is elligible), and I was amazed at the honest dishonesty of Rick Mott, organizer of the New Jersey Open and member of the Princeton Go Club:

"I am good friends with the developers of MasterGo and I don't think they would take it kindly if I announced sponsorship by Moyo Go..."

Hm. Amazing how corrupt the AGA has become, and amazing how unashamedly they announce their corruption.

Last summer, Rick Mott said that the AGA is not a democracy, and now we know that he's Slate & Shell's puppet dictator of the Princeton Go Club:

(In a previous posting, I have demonstrated how AGA is infiltrated by Slate & Shell, sellers of MasterGo.)

But regional AGA tournament organizers now announce "I am friends with Chuck Robbins of the Slate & Shell company so our tournament can't accept your sponsorship".

Have the players been asked for their opinion? Don't they pay their dues? Does Rick Mott, as an enforcer of Slate & Shell, decide for his fellow tournament participants what they should be able to win, based on who he is friends with?

So - because the tournament organizer has been told by MasterGo not to accept sponsorship from Moyo Go, he effectively steals a copy of Moyo Go Studio from one of his club's players!

Who's the boss at AGA tournaments? The paying AGA members and their trustworthy representatives - or the Slate & Shell company?

Shame on the AGA for allowing Slate & Shell (accused of having stolen Ing funds to start their company) run their business and shame on you, Mr. Mott, for secretly stealing software from your own paying club members, club members that trust in you, that trust that you won't deny them what is rightfully theirs.

Update: Several AGA-tournament/workshop organizers welcomed my sponsorship, so it looks that Rick Mott is not speaking for AGA but for Slate & Shell only.

Sunday, January 07, 2007

Kogo's on PDF

I've put the entire Kogo's Joseki Dictionary on PDF's here.

It's very cool. With roughly ten thousand diagrams, it takes little over 600 pages.

That's ten times less than DraGo needs for it, and that's with less figures published (for DraGo) as well. I don't want to diminish Drago! Gilles has generously helped me in the past.

I have no idea how much work went into DraGo and GoWrite, but I've been working on this publishing module non-stop since last summer. And it's not ready yet..

This is perhaps even cooler: HTML

Saturday, January 06, 2007

Evolution, People and Technology

Something's wrong. Homo Sapiens has a huge neocortex but a hundred years ago, in spite of having walked around for hundreds of thousands of years with that huge cortex, we were still riding horses and believing in ghosts.

This does not compute. I have a hunch that the theories about a cyclic nature of civilization might be true. Perhaps the Mayans were right and every 12,000 years, something bad happens that causes agriculture to be impossible for generations, like the Earth passing though the Oort cloud and a subsequently ensuing "planet-busting" meteorite bombardment - making us hunter-gatherers again.

There's lots of supporting evidence for this theory (which doesn't mean it's right though). And a lot of weird stuff too. The pyramids were not built 4000 years ago, but they are much older, at least 12,000 years. Because the erosion at the base of the Sphinx is caused by thousands of years of downpoor, not wind.

Why does a "crop circle" tell us that there is "not much time left"? Is that message (in ASCII encoded English in the shape of a binary string!) really a hoax? It appeared next to the radio telescope that sent a message of our race to the stars. In a guarded US military area. A huge, pixelated image of a smiling "grey" with a message in a spiral on a disk, so that we would know where to start decoding (in the center of the spiral). Why does the Mayan calender end in 2012? Why do mainstream archeologists lie to us and tell us that people never lived with dinosaurs? (overwhelming fossil evidence for this). Are those enormous patterns in South American deserts similar "grafitti" as crop circles? (those patterns are made by the removal of larger, dark stones from the first 30 cm of the top layer).

Which hoaxers can make a "crop circle" that has almost 800 circles, many larger than a soccer field, of such an intricate design that if any of the team would have made an error, the entire pattern would have been off kilter? Oh - after heavy rain, in half a metre of mud? Appearing in a few hours, during the day? Why don't those hoaxers never perform their art for a paying TV crew? Surely, as there sometimes appeared fifteen huge, complex patterns per day, there must be at least one hoaxer prepared to step forward and present proof of authorship? (the only "hoaxers" who ever claimed they made hundreds of crop cirlces, two British pensioners, were shamefully exposed as having utterly hoaxed their claim of being hoaxers - they weren't able to make even a small, simple circle - it looked like utter crap and it took them ages. One already admitted having lied, the other one is dead now). And if those circles are secret US space weapons tests, why do they do so many tests in populated areas? The Russians will be able to track their space weapon easily, that way. Oh - and why are flight licenses revoked of military pilots who fly over them? And why are farmers offered thousands of GBP by strangers that come out of unmarked military helicopters to erase them immediately? And why do those erased circles sometimes re-appear in an adjacent field, a few hours later? When patterns have a "message", farmers are offered money to erase them ASAP. And why are we not informed about this, but we are told every detail about Paris Hilton's lacking underwear (although I agree that this is an interesting topic).

Thursday, January 04, 2007

Publishing: Annotated diagrams

I'm still working on a good way to distinguish variations.

Added is annotation for published diagrams.

Please note that this is a preview, the currently selling version does not yet include publishing (printing, HTML upload etc.) yet but it soon will (and then a freely downloadable update will get you the extra functionality).

I read on godiscussions.com that when using other software to print Kogo's to PDF that the result is a 6,000-page monster. Not when using the publishing feature of Moyo Go - the example here has 19 diagrams on one standard A4 page and it's very readable. Kogo's is below a thousand pages, when printed with Moyo Go. It's possible even to do it in a few hundred pages only.

Tuesday, January 02, 2007

Auto-Cropping Diagrams (Publishing Preview)

Jure Jerkovic asked for this and although it was on my to-do list already, I had forgotten the GUI part. Now it's done.

You can specify how many board edges have to be visible at a minimum, how many empty lines around a position, and the minimum width and height of a position (in board points).

This is one page from Kogo's Joseki Dictionary. A huge (20 MB), 168-page PDF with thousands of diagrams of the entire Kogo's 4-4 Joseki is here, a diagram outputted for every comment.

The diagrams in this example are still crude, but it shows how robust the system is.