Tao of the Machine

Programming, Python, my projects, card games, books, music, Zoids, bettas, manga, cool stuff, and whatever comes to mind.

Decree of Silence

I don’t really get it. Is this supposed to be a good card? (See article with preview here)

Let’s see… you pay 6UU to counter three spells. Doesn’t seem like a great deal to me (the original Counterspell costs UU). Or, you can cycle for 4UU and you get to counter and draw a card. An excellent bargain for 6 mana? I think not.

The black supercycler, Decree of Pain, seems much more powerful. Then again, I could be wrong, of course… :)

Posted by Hans Nowak on 2003-05-09 11:04:05   {link}
Categories: CCGs


A reader astutely observed that I have the word “bettas” in my blog description, yet there are no posts about them. Let’s fix that.

What are bettas? They are also known as Siamese fighting fish. They seem to be quite common here in the US; many pet stores have them, including large ones like Petsmart. Those stores will usually put them in separate jars, because the fish do not get along well (hence the name). Males, when put together, will almost certainly fight (unless they both happen to be docile); females are a bit less aggressive, but (in my experience) cannot be put together either; and males and females will often fight as well.

So, you gotta keep ‘em separated. That is part of the fun, though, because a betta is much smarter than the average fish (or at least appears that way), and it becomes clear by watching him on his own. They have their own little personalities, which become truly visible when you have several and can see the differences in behavior. That’s why I like them, and I keep on getting them… even though now I have 27! (To be fair, this includes “adolescents” from a spawn last year.)

Some people breed bettas (semi-)professionally, and are able to come up with brilliant colors and color combinations. Here’s a site of such a breeder. Looks what she has in stock, and what strains she currently has! Or look on Aquabid. Usually you won’t find anything resembling this in regular pet stores, but you might be lucky. Some breeders sell the (what they consider) “imperfect” fish, and you just might end up with a blushing ghost (white w/ pink head) or something like that. :)

The prices in pet stores are usually around $3–4 per fish, where the females will be a little cheaper, if they sell them at all (our local Petsmart doesn’t). This is probably because they have less finnage and are considered to be less attractive as an impulse buy. <0.3 wink> Breeders will charge a lot more for their best fish, and if they are champions the prices can go up to over $1000 (!).

I sometimes call bettas “the hacker’s pet” because they are intelligent, beautiful (though not offensively cute), funny, and low maintenance. I think they’re interesting, but they don’t interfere with my hacking (like cats would :-). All you need is a fish, a tank and some food. Feed the beastie daily, clean the water regularly, and that’s it. No need to worry about filters; bettas are so-called labyrinth fish, and go to the surface to get air, rather than getting it from the water with their gills. Of course, if you live in a climate that is not so hot, than you might want a little heater for your tank… bettas are tropical fish. (I live in Florida, so the temperature is usually high enough.)

I will end this first entry in the bettas category with a link to a FAQ that might be useful.

Posted by Hans Nowak on 2003-05-08 23:36:36   {link}
Categories: bettas

Learning C#, part 2

Well, I wrote my first test program in C# (not counting ‘hello world’ :-) or the stuff I copied from tutorials)... a little thingy that connects to a database and gets some data from a table. More of a “proof of concept”, nothing fancy.

I can’t help but feeling that C# is a bit of a throwback after having used Python. Too much red tape and things that get in the way. Obscure errors (at least for beginners); for example, the notorious “an object reference is required…” error, which was easily solved by declaring my string as static, but the solution wasn’t so easy to find. And, objects and constructs that would be redundant in Python are apparently necessary here to make up for the language’s ridigity. Take this piece of code, for example:

SqlCommand command = new SqlCommand(
“select * from tablename”, connection);
SqlDataReader reader = command.ExecuteReader();

while (reader.Read()) {

You need to create an SqlCommand, then an SqlDataReader, then loop. In Python, you would just do something like cursor.execute() and cursor.fetchall() and get a list of tuples back. Or maybe a dict. Apparently this is not possible in C#, or maybe not desirable. The C# solution is not that bad, but it seems to me that you have to jump through hoops to get the result.

At this point, comparisons with Python are inevitable. Maybe I will consider these constructs to be normal, after a while.

Posted by Hans Nowak on 2003-05-06 13:36:45   {link}
Categories: programming

As soon as time permits

When I first moved here (November 2001), I was looking for a cheap ISP (after all, I didn’t have a job yet). Alachua FreeNet seemed interesting and, well, free. Sure enough, when I tried to apply for an account, it failed. A few days later, this message appeared on the site.

It’s still there. Apparently they don’t have a lot of time.

Posted by Hans Nowak on 2003-05-05 12:38:09   {link}
Categories: general

Hackers and painters

Paul Graham: Hackers and painters. (I happen to be a hacker and a painter, so I found this article quite interesting.)

Posted by Hans Nowak on 2003-05-04 21:06:13   {link}
Categories: programming

For late-night hacking

Aha, this looks like an interesting keyboard...

Posted by Hans Nowak on 2003-05-03 18:41:19   {link}
Categories: general, programming

Generated by Firedrop2.