Older blog entries for rupert (starting at number 7)

Here's a quick link to a site I've created with some final images of the Mir space station before it deorbited this evening: http://metro.yak.net/mir/

Several interesting things have happened in the last couple of weeks. The US Army finally gave my brother his long awaited report date, which he was happy about. I won't see him again until December. It'll be interesting to see how the Army changes him.

In order to escape some of the stress of work, I've been working on putting an MP3 box into my car. After about a week of work, I finished the installation. I used an old P-133 with 32 mb of RAM, a 1 GB HD which I had lying around, and a stripped down 2.2.14 kernel with SB 16 support. It's in the trunk, running on a 600W AC inverter under the front seat. In order to control it, I'm making use of a Cybiko, which is this little iMac like PDA geared towards kids. It has a serial port and a terminal program, however, which makes it useful. I hacked up a quick little Python script that provides a curses-like interface to a playlist of songs, which get played using mpg123. The script also has hooks to aumix, in order to control the line volume. Since I haven't gotten the time / courage to begin splicing into my stereo's wiring harness (no RCA jacks :( ), I'm pushing the audio in through a cassette adapter. If you'd like to see the Python playlist script, it's available here.

2 Mar 2001 (updated 2 Mar 2001 at 23:59 UTC) »

I admit... I'm a compulsive reader of /usr/local/apache/log/access_log :-) I noticed a few people had read my anonymous routing paper that I mentioned yesterday. If anyone has any comments or questions, I'm happy to answer them. Just email the address on the paper itself.

I finally got my SB16 working. It turns out that I have an odd variant of the old SB16 (called, variously, an SB WavEffects, SB Vibra16, or SB16 CT4170). Scott Manley notes in the Linux Sound-HOWTO that this card only has a single DMA channel, so the kernel sometimes has trouble accessing the 16 bit channel. He says this can be cured by assigning the second DMA channel the same value as the first DMA channel.

Inevitably, the day I publicize x@yak.net, my email utility to the world, a code change breaks something. I'm looking into it... a bit strange to have it sending back blank emails. I think there's a regex causing trouble in there somewhere. If you'd like to see the full list of features, check out the feature documentation.

It's only Thursday, and already this week feels like it's dragged on more than usual. Yesterday I put pen to paper, and signed my life away multiple times on the lease for my new place in the Presidio, which felt good. It seems as if it'll be an interesting place to live, as it's actually a National Park that is geographically located within San Francisco, near the Golden Gate Bridge.

I recently wrote a small paper on a scheme that I devised for peer to peer anonymous routing. JayEye tells me that it's similar to an AT&T Research project called CROWDS, so I don't think I'll actually go ahead and implement it, but it's gratifying to see that work is being done in this area. It's always a bit frustrating to come up with what you think is a great idea, only to realize that it was already done several years beforehand.

I've spent the last few evenings wrestling with my PnP SB16 card, trying to get it to run with Linux. Given that the SB16 is probably the most generic sound card in existence, I didn't anticipate having anywhere near the number of problems I experienced. My first gripe is that at least in the 2.2.14 kernel, the documentation for the required fields in the Sound:OSS:100% SB compatible section is awful, for two reasons. The names of the data fields are ambiguous, and differ from those in the Sound Blaster manual. This would be livable, but for the fact that help for these fields is absent, so there's no clarification of what's expected. Since the SB16 has very specific ranges for the IRQs, DMAs, and ioport ranges that it'll accept, and these are documented elsewhere, wouldn't it be easy enough to actually put this information in the help text, to make configuration a bit easier?
isapnp is also extremely annoying. When it reports an IRQ conflict, even a (VERBOSITY 3) setting is unhelpful a lot of the time. For instance, during startup, if an conflict is encountered in this mode, it should do the following:

- Dump the relevant block of information in /etc/isapnp.conf to stdout (at least for the SB16, there are multiple blocks of IRQ / DMA channel / IO information), so the user can see where the problem was encountered.

- Give the user the option to reassign the offending resource to another IRQ, DMA, etc. This might not work for monolithic kernel configurations, but with a nice modular kernel, it seems like it'd be relatively easy to do?

- Dump out the /proc/interrupts, /proc/dma, or /proc/ioport output to give the user an idea of what had been assigned at the time the problem occurred.

The Linux Sound-HOWTO needs work, also. There are some cases where the sound card can be misconfigured just enough that doing something like cat mysound.au >/dev/dsp will work fine, but attempting to use mpg123 to play an MP3 will fail (due to a misconfigured 16-bit DMA value). This would be good information to include.

Apart from hardware issues, other stuff has been good. My younger brother has started to get interested in Linux, which is nice to see. I'm helping him get everything set up this weekend, so it should be an interesting experience for both of us.

One other thing I did is add mail-reading functionality to x@yak.net, which is a little Python based utility that I wrote. It allows you to use cell phone email (or any email, really) to send a command string to x@yak.net. The command, and any associated data are parsed, and output is sent back to the phone. Most of the services are publically available. For instance, you can get a UNIX fortune by sending 'fortune' to x@yak.net, or find out the population of New Orleans by sending 'navdata New Orleans, LA' (no quotes) to the system. Try it out if you'd like.

12 Feb 2001 (updated 13 Feb 2001 at 09:34 UTC) »

I've been in the process of finding housing in the Bay Area over the past few weeks. So far it's been a thoroughly miserable process, especially given that I have a fixed deadline for doing so, namely this Thursday at 5pm.
I think I've found a place in the Presidio, which is about a ten minute drive from work. The Presidio requires this extensive criminal background check / credit check to be completed before you can move in, however. I'm worried that it won't complete before I have to move out. Thankfully, I have some places that I can potentially stay in the interim. I have no clue what I'll do with most of my stuff though... as it is, the trunk of my car currently holds a Sun Ultra 1, and a not-yet-hooked-up MP3 box. Taking them out would be a bit of a pointless exercise, because they'd just have to go right back in a couple of days, anyway.
Maybe I should just cover the windows of my car in tin- foil, remove the front passenger seat, install a half rack with wireless net/music gear, and a rack mountable stove and toaster oven, sleep on the back seat, and save on rent a bit!

Seriously though... if anyone has a spare space in SF, between about $800 - $1000 a month in a geekhouse, and needs a room-mate, by all means email me at rupe at metro dot yak dot net... any responses would be gratefully responded to.. :-)

Someone needs to start a hacker-homestay program, where experienced people willing to share knowledge (and a spare room) can provide mentorship and advice to younger programmers. Learning directly from someone like Marvin Minsky or Brian Kernighan would be invaluable, for instance. Something like this would address my concern that the people with the experience tend to gravitate towards those of similar caliber, and consequently, their experience isn't passed down in an effective manner to those who are going to carry on the torch, so to speak.

So far, I've been lucky to have many great mentors, though it took a while to find them...
Books can give you the information you need to get started. However, they can never look over code with you, point out subtle points that you may have missed, offer advice on projects, and clarify the multitude of random questions that come up as you delve into a subject.

Hopefully this unpaved section of my life will be over soon, and I'll actually have a place to call home for more than a couple of months at a time. Trying to find room- mates is a competitive, unpleasant process. Why can't I just pick out a place online, submit my information, have a credit check run instantly, pay online using a credit card, then receive my keys in the mail?

My weekend was otherwise pretty good. On Saturday, I caught up with some old coworkers for dinner at a Russian restaurant. Lots of vodka and caviar, which was very good. On Sunday, I went for a late brunch with my friends Robey and Greg in Mountain View, which was good fun. By the time we finished brunch, it was getting dark outside! I'm looking forward to the long days of summer again, and actually seeing the sun more than once every couple of weeks.

It was a fun night... I went to Ian Goldberg's going away party, and bumped into a couple of people I knew, which was neat. I ended up staying until around 1am, and by then most of the people that I knew from the last PAIP had departed, so there wasn't much reason to stay on.

Also, pyfi may end up getting integrated with pyFinancials, another Python finance module. I exchanged some email with the author, and we're both fairly excited about unifying our work. My module needs to be tested a little more, but once I've completed that, I think integrating the codebases could be a cool thing to pursue.

Lots going on this weekend. JayEye is coming to town, so I'm eagerly looking forward to having dinner with him and catching up on news. I also have a couple of other projects in the back of my mind that I want to pursue, once I stabilize and add onto the code of WMLGen and pyfi a bit more. To start off, I want to contribute some documentation to Python, especially for the mactty module, which has yet to be documented. I'd also like to modify the source for the pygarmin project (Polling of a Garmin GPS unit via a serial connection), so it'll be able to handle serial connections under Windows..

12 Jan 2001 (updated 12 Jan 2001 at 08:47 UTC) »

Lots of progress on pyfi, my financial functions module. Got version 1.0 out, with a whole load of good functionality included in it. Hopefully it'll be useful to the dysfunctional family that is the net community. Python doesn't have much financial software for it (apart from the excellent pyFinancials module by zanzi, which provides a set of functions to calculate advanced stuff like cash flow, option pricing, futures, etc. pyfi's focus is a little more pedestrian, with functions for calculating simple/compound interest, present value of annuity, amortization, etc. It fills a niche though, because I haven't seen another module out there that does this yet. Let me know what you think if you try it out.. I'm eager for comments.

Yay! It's Friday! :-)

10 Jan 2001 (updated 10 Jan 2001 at 10:28 UTC) »

The biggest problem I'm having lately is finding a relevant problem that I can sink my teeth into. I feel a little like the Director of the Patent Office who declared in the late 19th century that the office should be closed, because everything had already been invented. I know this isn't so though. What contributions can a relative newcomer make to the open source movement and net community in general that are relevant and have the potential to be actually used?

Had a nice dinner with Robey Pointer tonight, and talked a little about where wireless telephony is going. Sun's making a big deal out of the fact that they have an EmbeddedJava application, but it seems primarily focused towards companies like Nokia and Ericcson that are actually manufacturing the cellular hardware. I'm at a loss to understand why manufacturers aren't encouraging more third party development. At the very least, it'd be nice to see some crypto support for these phones beyond the easily crackable GSM algorithms that are in use. If people are going to be doing things like checking bank balances and doing stock trades (as the ads for WAP enabled phones would lead you to believe), the the crypto needs to be there to support those kind of activities... is it?
I'd like to see an 'open source phone', which would be designed around an architecture that would be well documented, and have a useable API that'd encourage this kind of development activity.

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!