Announcing Minix editline 1.14.0

It is with great pleasure I announce the next release of the editline library by Simmule Turner and Rich Salz! This is a popular library, it exists in several forked versions. This release marks the end of a huge effort where archaeological methods have been applied to recover fixes and improvements developed independently over several decades by the following projects: Heimdal, Festival speech-tools, Debian, and Mr. Steve Tell.

Noteworthy changes and additions:

Online GIT repository and release tarball available at the usual places:

Report bugs to the email found in the README file. See also the Freshmeat page for a more consistent updates.

Thursday, 12 August 2010 at 18:17 | /hacks | permanent link to this entry

Announcing Micro Tetris™ 1.2.0

New release of Micro Tetris™, v1.2.0, available for download now! Noteworthy changes and additions:

Online GIT repository and release tarball available at the usual places:

See also the Freshmeat page for a more consistent updates.

Monday, 02 August 2010 at 00:56 | /hacks | permanent link to this entry

Minix editline moves to GIT

A small heads-up, I've migrated the Minix editline project from Bazaar to GIT. The new URL for keeping tabs on your favourite free readline() clone is:

I'm currently working on fixing up the tree and doing some house cleaning - including making more stuff configurable - before releasing a 1.14.0 later on.

One such item is the integration of libtool with our autoconf friends. This should make it lot more portable (again) and also help smooth a merge with other sources for this library. More on that as well, later, hopefully.

Monday, 19 July 2010 at 02:40 | /hacks | permanent link to this entry

Editline v1.13.0 Available!

First release with the new name. Available from the usual places:

Report bugs to the EMAIL found in the README file.

Tuesday, 09 March 2010 at 23:11 | /hacks | permanent link to this entry

On reviving pimd and mrouted

I'm unsure if I should take any pride in this, they are old and stale projects that probably should have been forgotten a long time ago. But the original pimd and mrouted multicast routing prodocols have been revived at github.org.

We need them at work and I were a bit tired of digging around the Internet for patches trying to keep them running on our ever evolving new platform. So I sat down a couple of week-ends and read up a bit on pimd and mrouted, collecting patches from the usual places as well as some unexpected places, before creating the projects.

Yes, I am aware of the effort to extend Quagga with a native pimd and I will definitely look into that in due course.

Starting these projects using GIT actually brings closure for me. If anything I can rest assured that my efforts can easily be picked up by someone else should I loose interest.

To those of you having trouble building and using pimd/mrouted, please include build logs and full debug logs in your emails requesting help. Thanks!

Saturday, 30 January 2010 at 13:23 | /hacks | permanent link to this entry

Log rotation for sysklogd

I have been using the BusyBox syslogd for a while now. It's nice and small, but sometimes a bit too limited. Due to the resource limitations of my target system I've been dreading having to pull in something else. But recently the lack of standard syslog features, most notably support for more than one remote syslog server and the ability to, e.g., split debug and warning messages to separate log files, have forced me to shop around a bit.

I found sysklogd to be small enough but yet competent. It's the default in most Debian and Ubuntu installations and is a descendant of BSD. So I started playing with it, only to find out (again!) that the BusyBox guys really know what they are doing. The BusyBox syslogd support automatic log rotation, has a a neat circular buffer which a logread tool can hook into and supports double buffering. The one feature I cannot do without is the built-in support for rotating log files. My system is embedded and I don't want to drag in logrotate(8), or cron for that matter, only to rotate a few files. Also, there are several problems with having external scripts do the log rotation.

So, I set about porting the BusyBox log rotation code to sysklogd. Here is the first patch, which will be updated whenever I find bugs, make additions or changes.

When it is done and feels stable enough I'll submit it upstream. If not for general inclusion then perhaps it fits into the contributed patches category.

Sunday, 11 October 2009 at 12:48 | /hacks | permanent link to this entry

Micro Snake

Wow, it would seem I've started a series of miniature games. Yesterday I released Micro Snake on Freshmeat. Like last time, it's a very small implementation with as few dependencies as possible, made for playing on dumb ASCII/ANSI vt100 terminals.

The project is a refactor of an original DOS game by Simon Huggins. Thank you Simon for allowing me to reuse your work!

Like most code I publish these days it's under the ISC License.

Download the code and try it out!

Thursday, 23 July 2009 at 12:07 | /hacks | permanent link to this entry

Editline First Post

For a while now I've been maintaining a port of Minix editline library libedit. Mainly for my own purposes, or rather on behalf of Westermo WeOS, where it is used in the CLI. This library is the same as the Debian editline package, even though the origin of that package is somewhat unclear to me.

Today I decided to adjust the package name and bump the version number to indicate that my port is the same, and now slightly more advanced, than the Debian version. To that end I've now changed the repository name and prepared for merging with Debian. Getting this work accepted back into Debian is a completely different issue.

Get the code as a Bazaar branch, or view its change log through the Loggerhead web interface:

I now intend to do some further integration work, adapting the debian/ directory from editline-1.12-5 and smoothing out any remaining issues before I release 1.13.0.

Sunday, 14 June 2009 at 20:44 | /hacks | permanent link to this entry

Micro Tetris™

I just published the unobfuscated version of the 1989 IOCCC Best Game entry, Tetris™. See the original author, John Tromp's home page for the game for details. But suffice it to say, this is an extremely bare bones version of the classic game and very similar to the BSD games' version.

Actually, this similarity in board layout, key combinations and feel led me to do some archaeological digging. I dowloaded the BSD games collection and, after having called GNU Indent on the obfuscated code, I started noticing such extreme similarities that just could not be coincidental. The layout and constructs of the code are virtually the same, so I can only conclude that they must share the same ancestor. Maybe this code is that ancestor, considering that the BSD Tetris is copyrighted in 1992 and this version stems from 1989, it is maybe not a completly illogical conclusion.

See for yourself.

Saturday, 13 June 2009 at 00:04 | /hacks | permanent link to this entry

Brief libev update

I have now updated the libev examples. It took me a while, but during that time I have been hard at work converting two of our network daemons to use libev. As of today the upcoming Westermo WeOS uses libev in both its rstpd and igmpd implementations.

Updated example code:

Enjoy, and feel free to contact me if you have any questions or comments on the code. For libev specific help I can really recommend its mailing list!

Sunday, 05 April 2009 at 23:53 | /hacks | permanent link to this entry