Tao of the Machine

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

Zoids

Almost every weblog has sections that are probably uninteresting to casual readers. Mine will not be different. :-) Expect more on bettas, card games and such. But today's trivial topic is... Zoids!

What are Zoids? They're really nifty toys models. They are usually in the shape of some animal, often a dinosaur, although the more recent models include mammals, fish and even insects. The box doesn't contain a pre-built model; rather, it contains the parts, and you have to build it yourself. This is part of their appeal. Also, most Zoids (except some recent ones) move, either by a wind-up mechanism (the smaller ones) or by batteries (the bigger ones). Essentially, you're building a cool-looking robot.

Zoids made a comeback last year, and now they can be found on shelves at your local Walmart, K-Mart, Target, Toys-R-Us, etc. They originate from the early 80s though. The first models seem really primitive compared to today's products, barely more than a wind-up mechanism with a head, tail and some legs tacked on. Still, to many of us, they have a real old-school coolness to them.

Back in the day, I collected almost all Zoids known to man. I only missed out on one of the older models, or so I thought... turns out there were more, I just never saw them in stores. Unfortunately, Spiderzoid cannot be had for a few dollars these days...

I tend to frown on the current Zoid "movement". It's too commercialized and "kiddified". Nowadays there's even an anime series, which I find uninteresting. :-( Hasbro keeps on cranking out Zoids in ugly colors, with stupid names often different from the OER releases. (Some names don't make sense at all; the 2002 release of "Redler" is actually purple, for example.) I just wish they would rerelease that spider again... :-)

Some links:

  • On Ebay, you can find hundreds of Zoids, some new, some old, some from Japan, some from Europe or the US. (And occasionally an ugly low-quality bootleg...)
  • There's a mailing list, ZoidFans. Many of these people have been around since the 80s. Some of them seem to have an unhealthy fascination with huge guns on small Zoids, though. Freud would have interesting thoughts about that...
  • Jerry Dreiss's homepage. (Has been around for a while too; I remember visiting the site in 1997 when a Zoids rerelease was just a glimmer in the eye of Tomy product managers...)
  • Hasbro's Zoids page.
More links can be found by Googling.

Posted by Hans Nowak on 2002-12-10 21:29:39   {link}
Categories: Zoids

Another Kaa user

This is my first open source program that people actually use... <0.3 wink> I really need to fix some bugs and make Kaa more user-friendly. Not to mention, write some more docs...

Posted by Hans Nowak on 2002-12-10 21:25:50   {link}
Categories: Kaa

regexbuilder

I'm writing a little module that enables you to build regular expression strings through "user-friendly" functions. This is mostly an experiment. I'm aware that something like that has already been done; rxp by Ka-Ping Yee, if I'm not mistaken. I'm mainly coding it to see what the benefits and drawbacks are of this approach.

I think the main benefit would be for people who don't want to learn the "difficult" (this is relative of course) regex syntax. In that respect, it's a bit like HTMLgen and similar tools... you don't want to learn the HTML syntax, but in return you have to learn all the functions HTMLgen offers to generate HTML. Same here, therefore I'm not convinced that it's useful.

Of course, certain constructions may look attractive if you dislike regex syntax:

ok = set(range("a", "z"), range("A", "Z"), range("0", "9"))
s100 = build(begin_line, zero_or_more(whitespace), one_or_more(ok),
       zero_or_more(whitespace), end_line)
is equivalent to
"^\s*[a-zA-Z0-9]+\s*$"
It's a lot more verbose, of course, but it is more readable. ok is a set of characters consisting of a-z, A-Z and 0-9. s100 is a regular expression that starts at the beginning of the line, then matches zero or more whitespace characters, one or more "ok" characters, zero or more whitespace again, and then the end of the line is expected.

People who don't find regex syntax impressive will not want to use it, but of course this module isn't meant for them. A more serious problem is that errors will be just as hard to catch as with regex strings. I can do a few things to make functions more helpful and intuitive, but not much. For example, the numbers function matches {m,n} syntax. numbers(regex, 1, 2) is the same as "regex{1,2}". This works well for one-character regexen: "a{1,2}" is the same as numbers("a", 1, 2); but not for multiple characters: whoever uses numbers("ab", 1, 2) probably doesn't want "ab{1,2}" (which matches a plus 1 or 2 bs). So, I'm wrapping a (?: ) around the regex, if it isn't already a group. Stuff like this might get hairy though.

Let's wait and see if this module is actually useful. I've been writing it in the Charm editor, which is already quite useable (but then again, not much is necessary to make the wxStyledTextCtrl widget useable).

Posted by Hans Nowak on 2002-12-09 20:51:14   {link}
Categories: Python

Almost finished

My article on Kaa is almost done. I need to check it for speling errors, and verify that it's actually informative. I find it not easy to write about my own program; it feels like I'm merely stating a list of facts that are well-known.

In the meantime, David LeBlanc has sent me some emails with ideas and bugfixes, which are quite interesting. Some of this will find its way into Kaa 0.9. More on this later.

Posted by Hans Nowak on 2002-12-08 13:05:21   {link}
Categories: Kaa

--
Generated by Firedrop2.