Thursday, April 30, 2009

Ups and Downs

That would definitely summarize my life for the last couple of weeks. Not so much a roller coaster, but it has had some smaller ups and downs. I started working on integrating my old website and this blog and renovating my old site for the integration. It's a ways off and I'm having to relearn Javascript and learn some DHTML magic to make it work well, but it's started. Teaching computers at school has also spawned a couple of smaller projects and revived work on another -- if you're a coder and none of the tools available fit your needs, what do you do? Make your own, of course!

This would probably be the first time where I've been juggling more than a couple projects at once: a simple whiteboard application (almost done), fixes for BeMines, a few more tweaks remaining before Paladin's 1.0 final release, a small app for reviewing flashcards -- mostly pictures -- in class with my students, and reviving my first project by rewriting it: BePhotoMagic. It's a lot, but I'm not planning for the tools to be used before the end of this year, and it's all been fun stuff, so a timeframe for release isn't really an issue.

Unless you've been under a rock or don't follow Linux at all, the latest release of Ubuntu, Jaunty Jackalope, was released last Thursday. I absolutely *love* it because of the much-improved boot times -- the only real complaint that I've had about Linux up to now. My development box is a Pentium 4 3Ghz with Hyperthreading and 1GB of RAM and it boots in 30 seconds. That's half as long as XP Pro on the same machine!

Also in Jaunty is the dovecot-postfix package, a complete mail server installed in one package, courtesy of the Ubuntu team. If you've never attempted to set up a mail server under Linux, it's not for the faint of heart. In fact, I'd say it's harder than compiling and installing your own Linux kernel, so this is also big news for any would-be beginner sysadmins out there.

It's also easier to work with more than one monitor under Linux using the new release, as well. It's still a little strange and takes some playing around, but it's nowhere near the headache that it used to be. Gone is the need for futzing with xorg.conf files to configure Xinerama. This is also a major improvement in a smaller area.

In other news, Microsoft has conceded defeat on the OOXML vs ODF wars and apparently has included full ODF support in the just-released Service Pack 2 for Office 2007. All I can say is it's about time that Redmond got some sense in this area. Unfortunately, it won't be rolled out via Microsoft Update until August. At least now my coworkers can finally use my OpenOffice.org files without much hassle.

There isn't much else to tell, but when I have something to show, you'll know. TTFN. :-)

Sunday, April 12, 2009

Paladin: BeBits App of the Month

I just saw this a little bit ago -- apparently Paladin is the BeBits App of the Month for the Haiku Podcast. Pretty kewl! Not something I saw coming, but certainly nice. :-)

Minesweeper for Haiku

Well, this morning I uploaded my Minesweeper clone to BeBits, BeMines. Already a bug report, too. All of the code-related development was done with Paladin, and I was able to discover and fix several bugs in doing so. It was a lot of fun doing both, too. :-)

You might be wondering, "why Minesweeper, though?" -- well, actually, you're probably not, but let's pretend anyway. ;-) Like Tetravex, Minesweeper is another one of those little addictive time-waster games that I've had an attachment to at times. Unfortunately, there are only two available for BeOS: the demo shipped with R5 (which is not redistributable) and a browser-based one available on BeBits. Neither seem to really hit the mark. Frankly, the R5 version and its Windows counterparts are kinda hard on the eyes, especially at higher resolutions. The solution? Write my own. It's a relatively simple game conceptually, so why not expose some Paladin bugs writing another fun little game? Thus, BeMines.

The part that I like best is the different themes and how easy it is to make them. The one that probably took the longest was the GNOME one, and even it didn't take long. The middle-click sonar ping is a nice help if you hate to guess and don't want to bomb out on a game you've put some time into (like at the Expert level). I'm pleased with it, so here's to another fun little project born.

Monday, April 6, 2009

Mmm... Dog Food

Dogfooding is good for your software. Nothing seems to sniff out bugs more than just regular usage. Most open source developers don't have a testing team, and BeOS and Haiku developers don't have a huge community they can depend on for testing. Don't get me wrong, gentle reader, I'm not ripping on the BeOS community. By no means. The community is just not as big as the Linux hordes or the marketplace for Windows and MacOS. This means that while a particular program might be quite good and appealing, there just aren't that many people downloading BeOS software. This would be why I've been flinging code with the IDE of my own making.

Writing code with Paladin has been quite nice, actually. Once in a while I'll run into something that makes me say, "Wait, it shouldn't do that," or "What in the world?! Why doesn't that work?!" Some of the features that I've put into place are nice to have, like the Run Logged or the ability to set run arguments. These features -- or ones like them -- might be commonplace in Windows land, they certainly aren't here.

What have I been working on, you ask? Minesweeper, of all things. This is another little time waster that I've enjoyed on other platforms and, like BeIDE, there isn't a version that can be legally redistributed. It's playable and is skinnable, but it's missing some stuff -- high scores and a few other smaller features. It'll be nice to have around once I have it ready to release.

As a result of all this hacking, Paladin is, once again, a better IDE for wear. There is a major regression in RC5 which causes empty files to appear in the editor when you double click on a file in the project window. There are some other bugs that have gotten a good squishing, but there are a few more items on my to-do list before it's quite ready for release. Despite the seemingly endless number of candidates, there will probably be a point where I declare a 1.0 despite outstanding bugs, but in a case like that, none of them will be showstoppers like the one I just described above.