Hacker's Diary
A rough account of I did with Emacs
recently.
- June 30
- Fiddled around with the BBDB FAQ a little, and
looked at some of the TODO list stuff. No fixes,
though.
- June 29
- Quiet day, after the hectic activites of the
last two.
Drinks in the evening with folk from my old workplace, which was
fun.
- June 28
- Busy office day. Again.
Hacked at BBDB a little,
since I've about 280 messages in my BBDB folder that need
looking at. Some of them have been there for quite a while,
too.
- June 27
- Yikes. Why do things blow up when the
relevant people aren't around?
Leopardstown Racecourse's "Executive Suites" are
incredibly naff.
- June 26
- Simple illustration of why Internet Explorer
is currently a
better browser than Mozilla or Netscape (Navig|Communic)ator:
Create a table with 34,000 rows, for example by accidentally
querying a very big table in a JSP page. Feed the results to the
above browsers. IE blinks, loads and renders the page, and lets
you whiz up and down. The two lizards die horribly - Mozilla
hangs, without redrawing the screen (where have I mentioned that
one before...) and Netscape simply stops coping at about 3.4MB
downloaded. End of story.
- June 25
- Build a new 2.4.5 kernel for
Klortho since I seem to have lost the old config, or messed it up
or something.
- June 24
- Where do you go to find out why Slashdot is down?
Plugged the jukebox into
the sound processor. Mmmm, tasty.
- June 23
- Fixed up TheRegister in snorq. It's still
not right, though. Damn Javascript. Also frobbed
the wwwupdate script to update the CD list on my music page. After all, if I'm
going to provide you with unnecessary information, I should at
least make sure it's up to date. Today's additions are Utah Saints, Bran Van 3000,
Boris Dlugosch and the Jungle Brothers.
For fun, here's the Perl that
does the update (pan right to get the whole effect!):
${PERL} -i -p -e 'BEGIN{$/ = undef; $list = ""; opendir( CDDBDIR,"$ENV{\"HOME\"}/.cddb" ); @files = grep !/^\.\.?$/, readdir( CDDBDIR ); close( CDDBDIR ); for my $f ( @files ) { open( CDDBFILE, "<$ENV{\"HOME\"}/.cddb/$f" ); while( $x = ) { if ( $x =~ m/.*DTITLE=(.*?)\n.*/ ) { push @titles, "$1"; last; }}}} $list = join( "
\n", sort @titles ) . "
\n" . ($#titles + 1) . " CDs in the jukebox.
\n"; s|().*()|$1${list}$2|s;' ~/public_html/music/index.html
Yes, I know, the last in there is unnecessary, or I
should undef $/ after I've built the list.
- June 22
- Ow. Hangover. Ow Ow Ow. Spent the hung-over
morning trying to persuade Oracle Developer and some other
random Oracle software to
coexist peacefully on my machine. Eventually, I managed to
get Developer onto the machine, and after a few head-scratching
hand-edits of the tnsnames.ora file got to the point of
what I had been trying to do. Flushed with success, I went off to
lunch and came back to the office to discover my DVD toys had
arrived. So you can guess how I spent my
evening...
- June 21
- Went beerfesting with office folk after
work, which entailed me
staying in Arklow for the night.
- June 20
- Did some offline (i.e. non-live) work on the GPS toy. I've given
up on the map-stitching in favour of simply panning the view to
the current map and discarding the previous one. This works
remarkably well, as it happens.
Modified snorq
to add a few more pages. TheRegister isn't quite
working yet, though.
- June 19
- Managed to get the mapping toy hooked up to
live NMEA output, then drove to
the office with the laptop in the passenger footwell to try it
out. Alas, I'd futzed the conversion from NMEA to latitude/longitude so it
was doing something in the order of 5-mile jumps from one plot to
the next.
After some fiddling about with the online ordering system (and
then with the phone support) at Scan, I finally managed to place
an order for a rather tasty DVD player with surround sound
processor and speakers in one of their Today Only
specials. Impulse shopping, even if it did take me the best part
of 24 hours to get my order registered properly with them...

the sound processor |

the DVD player |
- June 18
-
Kids, always regression-test your code before telling someone it
works.
The following are a selection of the choice comments from some
Java stuff I'm hacking on
lately. Click on 'em for a pop-up explanation.
Vector
vrEntityType = new Vector(); // Java blows goats,
AGAIN.
TextField txDocumentRef = new TextField( 16 ); // MAGIC (see database)
while ( m.isVisible()) { // GROSS.
// NB this will throw back to the caller if it borks.
// XXX FATAL?
// Trying to do this right, so it doesn't need a parent window. Who
// at JavaSoft comes up with this crap?
filename = filename + "0"; // zero padding. I miss sprintf.
// LA LA LA SING ALONG WITH ME
// These should really be (a) in a separate class (b) provided by
// Java (c) faster
// This is kinda disgusting
// XXX MORE SILLYWALKING
Tooled around with the GPS maptoy some more. The MapQuest maps don't line up
either, although they do come close enough to be infuriating. I'm
thinking of modifying my alignment function to make a stab at
alignment, then do a comparison on the overlapped regions to see
how good a fit it is.
You know, by this point you'd think I'd just go and buy some
mapping software. But that's no fun.
Hacked at PPTP a little to see if I could get a tunnel to work set
up. Then discovered that it wasn't working under Windows, so no
fun there.
Hacked snorq
again to get around Debian's wonderful packaging
requirements. pngtopnm is out in a package of its own,
and anytopnm doesn't understand PNG files. What
LOSERS.
- June 17
- Hacked together a piece of Perl that'd try and pull an
appropriate MapBlast image
for a given GPS location, with caching, and bolted some Tk onto it
for display. And lo and behold, the maps don't appear to line
up. Bizarre. Also, Tk crashes after loading about 25 640x450
images. I should probably look at maybe using GD to splice them
together, or presenting a rolling window with slices taken from
maps or something. After some messing about with xview and a bunch
of images I'd downloaded, it appears that the X scaling is fine,
but the Y scaling is all messed up. Hrm.
Abandoned MapBlast in
favour of the trickier-to-deal-with MapQuest, and eventually
turned out a module to pull exactly the same stuff as MapBlast was giving me. MapQuest maps seem to line up
a little better, though. Modified it further to produce
transparent maps, since I've never been able to get the
raise() method of Canvas to do anything other
than tell me I'm not dealing with a window. Is it just me, or are
these methods completely broken?
Sometime around eight o'clock, the whole net appeared to go down
the toilet. Looks like it might be problems at BBN, but then again
I'm not a network engineer, so...
- June 16
- Borken fonts fixed. For some reason, the
xfs config file didn't include the 75dpi and 100dpi
directories.
Turns out the hacks for the CardPhone are already in the pcmcia-cs
distribution, so it was pretty much plug in and go. I haven't
tested a PPP link over it yet, but I'll get around to it, I'm
sure. I'd like to find out how Windows manages
to negotiate entry of your PIN, since at the moment I have to just
deactivate the PIN request.
Installed Xine, grabbed
a CSS-capable DVD plugin, and whoosh, proper DVD support. Thank
you, OMS, and
goodbye. Once I installed the ati.2 drivers from LinuxVideo.org, the dropped
frames went down to zero. This is WELL impressive. It doesn't
appear to have scaling, but heck, I don't actually need that. I
wonder if I can hack it to display on the root window... the
virtual root window, so that I get "always-on"
DVD, or a DVD screensaver. Hee. That would be rather
demented.
- June 15
-
Fiddled around with Oracle
Discoverer a bit. It's a "data mining" tool; it'd
probably be far easier for me to figure out how useful it might be
if I knew what the hell data I was looking at in the database.
Made VM yank
HTML-formatted emails correctly when replying. Damn you, Bill
Gates, for making this a necessity.
- June 14
- Rebooted back to Linux,
and argh. My X fonts are all busted again. Thank you RedHat. Emacs wouldn't even
start until I removed the font spec from its app-defaults
file. What sort of moronic behaviour is that, exactly?
Investigation of the fonts problem reveals there to be a complete
lack of dec fonts, and Times is being provided by
urw for some reason. Thing is, I can see the dec
fonts in the filesystem, so it's evidently some sort of
xfs screwup.
Got stuck in the office until 10pm.
- June 13
- Bob dropped over a Nokia
Cardphone 2.0 for my geeking pleasure. It comes with some Windows software
which he couldn't find the disk for, so I downloaded the 12MB
installer from the website and set it up; rebooted Windows
(surprise surprise) and plugged in the card.
- |
Nokia CardPhone 2.0 |
_ |
[]
| X |
Some vital files are damaged.
Please reinstall the software.
[OK] |
Ummm. Right. Reinstalled the software, rebooted, same
thing. Ignored the warning messages and tried the damn thing
anyway, and lo, it works. Neat, modulo the error messages. It's
apparently capable of 43k down/14k up, but according to Dial-Up
Networking it was running at 28.8k, so I've no idea what to
believe.
I've not yet set up the Linux end of it, but there's a web page
detailing "Nokia
Cardphone 2.0 Linux Support" which looks pretty
straightforward, although it does require a kernel rebuild. Once I've got
this working, I should be able to do something silly involving my
eTrex GPS toy
and one of the mapping sites that understands lat./long. - both
MapQuest and MapBlast do, but the latter is
more useful in that the latitude and longitude are actually
present in a URL rather than being part of a POST operation.
I finally finished updating Klortho to RedHat 7.1; now I need to clean
up all these rpmsave, rpmnew and rpmorig files.
Rebooted over to Windows and
watched all of Dogma on DVD, so it appears that the DVD stuff is
healthy. Must be something to do with unpatched vs. patched Windows, I
guess.
- June 12
- Trying to get Perl's Oracle support working
today. Eventually got it compiled and did make test, and
then it wouldn't work, so I beat it about some more and finally it
all worked. If, of course, I'd read the
documentation...
- June 11
- Fiddled around with VM some, and made it do a
sort of "delete messages on server when I delete them
locally" thing. Really, though, the whole area of POP support
should be rewritten to use sentinels and the
like.
- June 10
- Poked at the laptop some more, cleaning
things up mostly and integrating my freshly-ripped MP3 files into
Gronk. Still can't get
IrDA on Linux
back to the level of operation I used have it at,
bah.
- June 9
- Helped a friend move house, then futzed
around with the laptop for the rest of the day. I've got some CD
ripping to catch up on!
Put cddb-mode.el on the Emacs hacks page, and made a fix
to snorq that
stops it from crashing Mozilla 0.9..
Went back to work on BBDB now that I can no
longer use the excuse that my laptop's unworking. Fixed some XEmacs vs. Emacs brokenness, and started on
some user-requested stuff. In the process, uncovered a bug in the
display handling for addresses. I have a scary TODO file in my BBDB directory that just
keeps getting bigger. Aie!
- June 8
- Laptop returned, with a snotty note saying
that the IrDA port wasn't busted last time,
either. That's not what the last service report said. Set about
restoring everything. Noticed that my returned, serviced, tested
laptop had two devices listed under IrDA ports, so removed both
and reconfigured IrDA from scratch. It wouldn't play a full DVD,
either; I hope that clears up once my original Windows install
with all patches, etc. is back.
Spent another entertaining few hours getting things back on the
laptop. Despite another snotty comment on the service report about
the hard drive capacity, this one is definitely smaller. I
squeezed the Windows
partition some to make sure the Linux
partition had plenty room.
Factoid: RedHat Linux
6.1's smallest install needs 140+ MEGABYTES of disk. That's with
no compiler, no X, in fact, that's deselecting everything in the
damn selectable list. The very first Linux
system I ran fitted into 70 MB (plus a 10MB swap partition) and
included both X and gcc. Guys, what the HELL are you
doing?
- June 7
- Waited - in vain - for laptop to be
delivered.
- June 6
- Oh the humanity. The Compaq guys say the laptop is
simply suffering from an IRQ conflict. And here was I thinking
that (a) such things didn't happen any more, and (b) a
from-scratch reinstall using the officially sanctioned disk would
avoid such nonsense. I'm bowing my head in shame, or
something.
- June 5
- Sent the laptop back. I'm mostly concerned that if it's a leaky
battery again, it'll trash the machine sooner or
later.
- June 4
- Aha. When doing restore, use the same
version as you used to do the dump in the first place. I've got my
laptop back more-or-less in order (when did I disable APM support
in the kernel?) on the Linux
side, and the Windows side is
restored but currently non-booting (Windows gets a
mite upset when you move hidden files around) so I may need to do
a full reinstall on that. No great loss; I may well squeeze the
Windows
partition some to make more room for Linux.
WELL. That's just special. After finally getting all the
bits more or less back in place, the IrDA port on the laptop
stopped working again. You know, exactly the fault that caused me
to send my laptop away for three weeks in the first place?
GAAAAAAH. So now I'm trying to decide if I want a working IrDA
port badly enough to do without the laptop for another
three weeks.
- June 3
- Dinked around with the restore some
more. It's a bit unnerving to have 4GB of data that doesn't want
to get back on the disk. It's not helped by the fact that they
replaced the harddrive in the laptop with a slightly smaller one
(couple of hundred MB, I think) so the restore doesn't quite
fit.
- June 2
- Had a go at restoring the laptop. RedHat 6.1 installs really
really quickly if you do a custom install and throw away
about 90% of what it suggests. The restore didn't go quite
properly, so I spent the rest of day watching
movies.
- June 1
- Finished the rough-cut version of the image
viewer, applet stylee, and found it to be signficantly faster than
the JSP stuff, but still a bit of a dog. So now I have to figure
out how to optimize flipping a large image, in Java. Actually, I think the words
"optimize" and "Java" are mutually
incompatible.
previous month | current month | next month
Waider |
Irish Summer: the rain's warm. |