11 Apr 2000 data   » (Journeyer)

Dear Chexum: Thanks for certifying me as Journeyman. I don't think I know you, and I don't know how you would know me, but I do accept the title; I hope I've been active in the free software world long enough to merit it. Not to toot my own horn, but the upcoming release of BINARS will, I hope, dispel any doubts that I at least _try_ to give back a bit :).

I'll say this, though: writing a sequencer is not easy. I'm really rather glad of my extended unemployment; although it has, needless to say, put rather a strain on my bank-book, I don't know that BINARS would happen but for this happy circumstance. (Yes, I _hated_ my old job.)

I've always found it interesting that creative tools, such as sequencers, image processors and rendering programs, demand so much of a computer. Each has its own sort of load: programs which attempt to fool the eye have to deal with massive, often continuous streams of data and intense computations; programs which attempt to fool the ear (a more difficult task, in many ways) have a less massive, but more intricate stream to deal with.

The sequencer falls, I think, somewhat outside that continuum. Sequencers do not normally perform intense computations, and they do not deal with large data-streams: on the contrary, they generate a tiny trickle of data compared to, say, a video-editing package. Yet a sequencer can bring a highly sophisticated computing system to its knees.

Sequencers don't always demand the highest in speed; the software has everything to do with a sequencer's performance. I'll never forget hooking up an old Atari 520ST - it had a 68000 running at 8 MHz, if you'll recall - and finding that it was capable of tighter timing than my 68030 Mac running at twice the clock speed. This was due to superior software and less interference from the operating system (the Atari didn't have an OS so much as a library).

A real-time application doesn't care about horsepower; it cares only about getting things done on time. Automobiles don't require K7s to run their engines; a puny 'HC11 does nicely. Similarly, many hardware sequencers are designed around eight-bit microcontrollers, and they often outperform Pentium IIs running at many times their effective clock rates.

This is, of course, not a fair fight. The Pentium II has more on its plate: it has to update a larger screen, it has to cater to the desires of many more devices, and its operating system may very well be indifferent to the peculiar needs of a persnickety real-time application. This is why Windows-based sequencers require so much horsepower to run effectively (if one can call frequent crashes and loosey-goosey timing 'effective'). Nevertheless, it goes to show that often a can-opener is better than a stick of dynamite - if you need to open a can.

Ah well .. back to the land of reader-writer locks, just-in-time scheduling, and metronomes .. :)

Latest blog entries     Older blog 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!