Well, I gotta say, I’ve been having great fun with my snazzy new wireless keyboard. In fact, I’m on the bus right now, hacking up this blog entry, keyboard in my lap, TX battery slowly bleeding away. Pretty darn cool, I think.
But the real bonus is the new capabilities this keyboard affords. One of the things I’ve always been curious to try is Palm development. However, the barrier to entry is pretty darn high… getting a devkit working on Linux is a non-trivial procedure, to say the least, which is saying a lot, given I hand-rolled my first GBA development kit.
The other option had always been an onboard environment of some description. And there are a few that are workable. There’s HotPaw Basic, which provides a fairly complete Basic environment right on the Palm. ‘course, it is Basic… shudder. Then there’s LispMe, which is a reasonably full-featured Scheme implementation. Unfortunately, it has stabilities issues on the TX which ruled it out. Additionally, I came across OnBoard C, which is actually a C development environment which runs right on the Palm, and generates standalone applications. ‘course, it’s C… which provides me with a little more hanging rope than I would like.
And then I discovered PP Compiler. Like OnBoard C, this is a full development environment for the Palm which generates 68k or ARM applications. However, this is a Pascal compiler. IOW, I get a reasonably powerful, and safe programming environment that allows me to write, well, essentially anything I want! It also appears to have a fairly lively user community and developers who are actively maintaining the project.
‘course, the next question is, now what? Honestly, I have no idea. But it is pretty cool. :) And at least it gives me another justification for purchasing this keyboad…
So as I mentioned previously, now that I have my MythTV system rolled out (fairly successfully, I think), I’ve found myself playing a lot of old games that I haven’t touched in years. Sure, in the past, I’ve been able to play these games on a computer, but there’s nothing quite like being able to experience them in my livingroom on a proper (nice and fuzzy) TV with a decent joypad. However, the joypads I’m using (are nice cheap USB Logitech pads) don’t do a good job of replicating that true Arcade Experience (tm).
Enter XGaming. These guys are in the business of building arcade-grade gear that can be interfaced with a PC, for use primarily with MAME. XGaming have been in the biz for quite a while, marketing their X-Arcade stick, a control built with arcade-grade joysticks and buttons, mounted on a nice, heavy base. Very nice. And at $129, their Dual Joystick, which sports two full control sets mounted on a single platform, is an absolute steal.
But then evil-Jeremy, my Go playing friend and source of generally bad financial influence, pointed me at Treyonics Controls. Like XGaming, they build arcade-grade PC-compatible sticks, but their Centurion really stands out. Why? Well, it sports 4 more buttons than the XArcade, which is nice, but more importantly, it is equipped with a heavy-duty trackball and dial! Finally, I can play Arkanoid the way it was meant to be played, right in the comfort of my own livingroom! Further, their sticks are 4/8-way switchable, meaning you can play games like Donkey Kong, which used a 4-way stick, on proper, authentic controls, while still being able to use the 8-way stick for high-twitch games like Street Fighter II. My only fear is that they don’t currently have prices available… I can’t imagine it’s cheap (though damned tempted, whatever the price :).
Of course, all this got me thinking: what if, one day, I could build a proper arcade cabinet? And that’s when I found arcadecontrols.com. These guys provide all the information and directions you need to build your own cabinet from scrap or pre-built parts, including explanations of various materials and technologies, wiring diagrams, tips and tricks, and links to part suppliers. Could make for a very cool project once I get my media room done…
I bet you’re wondering what I’m doing, right? Of course you are! Waiting with bated breath for my every word and phrase… how can I blame you, really? Well, just so you’re aware, no, I haven’t yet become fabulously wealthy, enabling me to abandon my roots and live a life of hedonistic pleasure seeking. Nor have I discovered a cure for some life-threatening ailment, thus securing my name in the annals of history.
However, I have found myself playing around with Squeak after a rather long hiatus, and I’m reminded again of how freakin’ awesome Smalltalk is as a language, and Squeak as a programming environment.
Of course, you might ask yourself… huh? Well, perhaps I can alleviate your confusion by explaining a little bit about Squeak and why it’s so, to repeat, freakin’ awesome. Imagine an operating system kind of like Windows. It has your usual complement of windows, dialogs, buttons, and so forth, and comes packaged with a couple interesting little toy applications. However, when you right-click on a window, you can pop up a debug menu with an option that says “browse class”. Selecting this option opens up a window which allows you to actually explore or modify the source code to the Window class itself. And this is true for any and all objects in the system.
So, can you see why this is neat? In essence, every single aspect of the system is exposed to the user, available should they want to explore or modify it. To top it off, the entire system is written in Smalltalk, which is easily my favorite object-oriented language. Frankly, I wish I could have had access to Squeak back in my formative years… given the way it encourages exploration, it’s really the ultimate child’s programming environment.
I decided to take a tour through my collection of digital camera photos and was, frankly, surprised at how much stuff I had. Worse, none of it was terribly accessible nor shareable. And so I finally cracked and decided it was time to get some kind of photo gallery going on.
Now, I could have one with Gallery, which Brad has used to power his photo gallery, but I really wanted something that would integrate directly into my wiki, so that I could easily incorporate gallery photos into wiki pages, comment on them in the normal fashion, etc, etc. Unfortunately, nothing of the sort really exists for Oddmuse, meaning it was time to roll my own.
The result is my Gallery. It’s pretty bare bones, at this point… really, it’s just functional enough to be useful. It can:
- Add galleries and images through a standard web interface.
- Support infinite nesting of galleries.
- Handle zips and tarballs, as well as standard image formats.
- Does the usual pagination stuff, so you don’t get all gallery images at once.
- Does on-demand scaling of images, so people can choose different resolutions.
And all of this is done in the context of the standard wiki subsystems, so you can comment, search, etc (though search is b0rked for image captions and descriptions right now… that’s on my todo list).
Anyway, there you have it. Take a look. Give me feedback if you like. And if I can make the code, you know, not horrible, I’ll release the source to it.