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/
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.
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.
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..
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! :-)
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 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!