Older blog entries for itamar (starting at number 25)

IBM seems to finally have a 1.4 JDK for Linux PPC, currently the only full 1.4 JDK/JRE available for PPC. While I dislike using proprietary software, I want to try running Freemind, a free software outliner.

Writing free software for proprietary platforms like Java (unless you make sure to test with gcj or kaffe), and even more so Mac OS X or Windows, is a far cry from writing for free platforms. It will often end up forcing your end users to use proprietary systems so they can run your software, and the underlying APIs you use are not under your control (and may be removed or canceled) until an open source reimplementation comes along.

The history of mTropolis, a multimedia system that competed with Director, is instructive (copied from here):

Originally a private company, mFactory, the creators of mTropolis, were bought by Quark, makers of Quark Xpress. Not long after Quark bought mTropolis, and only weeks before version 2 was due out Quark announced that they were killing mTropolis. Due to a Herculean effort by an extremely dedicated product manager version 2 was eventually released. Currently mTropolis is still used by several hundred die-hards and its capabilities have been increased by the development of third party mods. Unfortunately, mTropolis remains in limbo to this day.

What this doesn't mention is that a group of users tried to buy mTropolis from Quark, and Quark refused to sell it.

There a number of ways to deal with this:

  • For Java/C#, test and make sure your code runs on free platforms (kaffe, gcj, mono).
  • Use a cross-platform open source platform (e.g. Python) or write portable C or C++, implement a portable backend, and write OS specific bindings integrating with each OS. Abiword and Mozilla are good examples of this.
  • Only use libraries that run on multiple OSes (e.g. GTK2, which runs on Windows and X11).

Of course, for platform-specific coding you're pretty much stuck if the platform is proprietary.

14 Dec 2003 (updated 12 Jan 2004 at 16:39 UTC) »

Hooray! For the first time ever, my Java open source project (remote object protocol compatible with Twisted's) runs, or at least passes tests, on a totally free platform, gcj 3.3.3 pre0 in Debian.

Also playing with making native jython:

gcj -lreadline -fjni --main=org.python.util.jython /usr/share/java/servlet-2.2.jar \
    /usr/share/java/libreadline-java.jar /usr/share/java/jython.jar -o jython

seemed to do the trick on Debian. Testing it with -O2 and -maltivec to see if it's any faster.

My first article in a series on protocol design went up. In between contract work, free software (Python VoIP phone, woo), and other stuff, I am also looking for a full time job - read my resume.

Just got back from Usenix 2003. The paper glyph and I wrote is available: Networking For The Rest Of Us, as are the slides. I'm still not sure we got the point across well, but the points I realized I wanted to add (configuration as scripting, ability to encode common configurations in a deployment generator, unified authentication backends) wouldn't have fit in a 30 minute talk anyway. Some of this arose from the time Glyph spent presenting Twisted to various sysadmins, and our plans to reimplement the authentication infrastructure.

The conference itself, while small, was extremely interesting and educational.

Our power grows!

Mystery Robot is written with Twisted. Mystery Robot is an implementation of Nambers, a way of making IP addresses easy to remember.

Entrance of the Central Scrutinizer, from Frank Zappa's "Joe's Garage" album:

This is the CENTRAL SCRUTINIZER...it is my responsibility to enforce all the laws that haven't been passed yet. It is also my responsibility to alert each and every one of you to the potential consequences of various ordinary everyday activities you might be performing which could eventually lead to *The Death Penalty* (or affect your parents' credit rating). Our criminal institutions are full of little creeps like you who do wrong things...and many of them were driven to these crimes by a horrible force called MUSIC!

Our studies have shown that this horrible force is so dangerous to society at large that laws are being drawn up at this very moment to stop it forever! Cruel and inhuman punishments are being carefully described in tiny paragraphs so they won't conflict with the Constitution (which, itself, is being modified in order to accommodate THE FUTURE).

Hack of the day - Chopshop. Rips Shoutcast radio MP3 streams into separate MP3 files on your disk. It requires Twisted CVS (or 1.0.2 once released).

There are already existing programs that do this (Streamripper sounds nice, gotta steal that mp3 silence trick), but Chopshop is probably the shortest one - I wrote about 230 lines of code, half of it added to Twisted as generic Shoutcast protocol support.

Thanks to shlomif for the link to Neo-Tech, a hysterically funny cult. I highly recommend reading through the site (think of a cross between Heinlein's opinions as interpreted by a 16 year old, traditional rich right-wing American's political and economic agenda, and plain endearing wackiness.)

They call Bush a "closet secular humanist"! They explain how "The Zon/string-theory speculates that by orchestrating multi-dimensional quantum vibrations or gravity-unit ripples, technologically-advanced people could not only birth universes, but could design their initial conditions for optimum efficiency in developing invaluable conscious life yielding maximum returns on investment." They call Libertarians "left wing". They even explain what those mysterious Illuminati are up to.

In the immortal words of Pokey the Penguin: HOORJ!

I'm the first result of searching for "ontological proof" on Google.

The only way to deal with "logical proofs" of God's existence is VICIOUS MOCKERY!

Two weeks where I used computer a lot less, due to pain in wrists and hands. It's still not completely cleared up. I did feel well enough to finally release Cog version 0.3.

Cog is the Checkpointed Object Graph object database, providing semi-transparent persistence for large sets of interrelated Python objects. It handles automatic loading of objects on reference, and saving of modified objects back to disk. Reference counting is used to automatically remove no longer referenced objects from storage, and objects will be automatically be attached to the database if a persistent object references them.

It was originally written by Oliver Jowett, but I am now maintaining it.

16 older entries...

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!