Recent blog entries for invoke

Happy Birthday to me!

I've been working on an external keyboard project for the Z. Last night I took apart an old PC keyboard and harvested the controller board, then traced the circuits and worked out how their signals get to the controller chip. Its all in a Gnumeric spreadsheet, waiting for me to solder up my first trail keyboard tonight. Exciting and fun.

I've been trolling EBay for embedded boards, which I'm planning to use for some of my Mad Scientist hardware projects. With a bit of luck, I managed to snag three suitable boards for about $35 each. I just wish I could find a nice ARM pc/104 board.

I continue to work on my Zaurus QPE packages. It is getting even more fun now that I am getting feedback and thousands of hits on my website.

My latest release is a giant (for the Zaurus) 17 meg cramfs filesystem which has everything developers need to compile with gcc & g++ on the Z, including all QT headers and such. With feedback from users, I've released an update and it seems to be serving people well.

This weekend, while debugging part of my macro enhancement package for embeddedkonsole, I made a new-to-me discovery. Readline is much more capable than I'd realized. In fact, with fifteen or so entries in an .inputrc file, I can have the majority of the functionality I was looking for with the macro package. It is still an interesting project from which I am learning quite a bit, but I'm going to install and test the inputrc method straightaway.

It's been a while since I updated the blog. Let's see if I can get back in the habit.

I am now a happy, one might say obsessed, Zaurus owner. I've been focusing my development efforts on porting and writing software for it. So far, I've ported 6 packages:

  • Most - A great pager
  • lua - an embedded scripting language
  • Links - a text web browser
  • MM - a QT mounting util.
  • Emacs - I'm just starting the testing on this one.
  • readline - It was already ported by the familiar team, but it was missing some utilities, and I needed the headers for other ports.

    I've released one program of my own, "LightSwitchApplet", which puts a backlight toggle switch on the taskbar.

    I'm now working on enhancements to the Konsole for the Z, allowing me to control the keyboard a little better.

    As soon as the OpenZaurus rom supports IRDA again, I will resume writing the IRDA keyboard device driver for my MicroInnovations wireless keyboard.

    All released code can be found at my website zaurus.zefamily.org or from Sourceforge (look under bkroeze on the files list).

  • The details of releasing an open source program are taking much more time than I'd expected. But I'm slowly pushing the rock up the hill.

  • Got a Sourceforge project accepted.
  • Checked in current codebase.
  • Refactored code to be more flexible, making it more likely to compile on different systems.
  • Autoconfiscated the project.
  • Wrote initial documentation.

    All that is left is to test the configure script on a few machines, package and do my first release!

  • Ah the joys of a well organized office!

    Instead of finishing up my game this weekend, I became obsessed with organizing my office more efficiently. Making space in the office required moving some stuff to the garage. Of course, no space in the garage, so I had to organize things better there as well. Two solid days of work and an aching back has bought me a wonderfully nice new configuration for the office, so I am well content.

    I managed to find two solid chunks of time for programming this weekend, putting in a very productive 12 hours on my Worms project. I swapped out C++ SDL wrapper libraries, replacing SDLucid with SEL. This library has the major advantage of documentation as well as a better thought-out approach to the wrapper.

    Also, I replaced log4cpp, which was a bit "odd" in its implementation, with the lighter, sleeker log4cplus.

    I cured my last segfault, cleaned up code formatting, and refactored a bit, moving reponsibilities to their "proper places".

    The only sticking point now is that I am using sconstruct, an excellent Python based make/automake tool. I wonder if I should just bite the bullet and create a "standard" automake based package, or if an RPM will suffice.

    I'm continuing to read the documentation for the ACE library, and I'm very impressed. I am looking forward to using various parts of this great library in my RPG project.

    Spent my programming time last night exploring colors in SDL. I've been using a C++ wrapper for SDL, SDLucid which is fairly good, but either it has problems with translating RGB values into SDL, or I don't understand what it is trying to do. In any case, I got the colors pinned down for up to six worms at once in my game. Now all that is left is the load/save code.

    I'm almost done with my first game, "Worms".

    It was designed to recreate my favorite Atari 800 game, and to give me a quick "win" in C++/SDL game programming.

    The idea is that you have a grid. Each grid point has 8 paths linking it to neighbors. Paths, once travelled, are impassable. Worms are trained to recognize path configurations, i.e. "North and SouthEast blocked", and to choose a new path based on the current path config. A worm dies when it enters a gridpoint with no legal way out.

    The game part is to have worms battle each other using various training strategies.

    All I have left to do is to write the code to save and load worms that have been trained. All else is working just fine for a beta release.

    Ooo, my first Freshmeat release comin' up!

    New Advogato Features

    New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

    Keep up with the latest Advogato features by reading the Advogato status blog.

    If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!