A rough account of what I did with Emacs recently.
October 31
So I spent some time reading and trying things out, and I still
can't get either of my Palm devices with Bluetooth to recognise
that there's a Linux box standing next to them advertising
connectivity. Bah.
October 30
Not much going on this evening, since I went to the gym and that
tends to push against anything else I've got on my list of things
to play with. I've still not switched over to using my shiny new
Palm Tungsten E2, mainly because I don't have a case for it. I've
just ordered one from eXpansys, matching as closely as possible to
what I've got for the Palm Vx, and I also succumbed to a moment of
weakness and ordered a wireless network card for the gadget,
too. Ubiquitous Interweb, here I come!
Actually, I'm curious to see how the mail program that came with
it works in the presence of the wireless card. Right now, I found
myself somewhat unimpressed with the fact that I had to explicitly
tell it to go dial up a connection for itself; to me, the point of
having a ubiquitously networkable device like this is that it
picks the best available network when you want it. In other words,
if you've got a wireless network point in range, it uses that,
otherwise it falls back to dialup. Or maybe there's a bluetooth
network option in there, if I can figure out how to configure one
of my Linux boxes as the other end of the connection. Time for
more reading, I guess...
October 29
Mucked around with some cabling and a half-dozen programs and
eventually got my MIDI keyboard to squawk. It's a
start... what I'm missing right now is something obvious to tell
me "You've just plugged a Korg M-1 into your MIDI
network" or some such. Sysexxer looks like it should do the
job, except that it crashes when I try to set it up with the
correct device. A real shame as it seems to be exactly what I
want. Might try debugging it...
October 28
Watched the rest of Neverwhere.
I have a hankering to go buy the book now, which I last read
probably around 1996 when the TV series was broadcast.
I picked up a few second-hand CDs yesterday and decided to let the
default KDE audio ripper convert them to MP3s for me, instead of
using Grip. They've
done a lot to make the interface user-friendly, although for some
reason after I'd configured it the first time I had to restart it
before it'd let me actually rip anything. However, I did notice
one or two rough edges: for one CD, the genre was
"Alternative Rock", which the mp3 encoder balked at as
an invalid genre; and for, I think, the same CD, the saved CDDB
file is missing all the track-length information - which breaks Gronk, although I've not
actually used Gronk in quite a long time now.
October 27
Lunch with Lou, then dining out with a few friends later
on. Mmm, beer!
October 26
Transamerica is one of those
movies where for an hour and a half, nothing seems to happen. It's
not that it's bad or anything, it just didn't seem to engage
me. Plus, loose ends. What became of Graham Greene's character? I
know real life isn't like the movies and those seemingly
meaningful moments often come to naught, but, er, this is a
movie. The seemingly meaningless moments are supposed to turn out
to be meaningful. Anyway, not actually a bad flick, but not
something I'd say you'd have to go out and see immediately or
anything. It'll be on TV in a short while I'm sure.
Started watching Neverwhere, which
I'm pretty sure I saw when it was on TV although I can't exactly
remember if that was the case or if I'd just borrowed someone's
tape of it. I picked up the DVD a while back and hadn't gotten
around to watching it; it's quite entertaining, and more so with
Neil Gaiman's commentary over it. He declares himself unhappy with
several aspects of it, not least the fact that the shooting of it
on video tape made all the authentic locations look fake, but I
can't say I found it particularly noticeable or
bothersome.
October 25
Why do I keep renting Vince Vaughn movies? The guy almost
invariably annoys the hell out of me, since he's almost always
playing his "I'm the guy who talks fast" role. And so,
The Break-Up. About 15 minutes in
I wanted to kill the entire cast, but fortunately as the movie
went on they gradually vanished (what's that about?)
until we were left with the main characters and one or two
supports on each side. And thankfully one of the elements that
vanished was Vaughn's motormouth. There are a few funnies, and it
might work well either as a date movie or as a "I just broke
up with someone" movie, but as something to watch on a
Thursday night on your own I can't really recommend
it.
October 24
Cars was fun, but I can't help feeling
that the whole anthropomorphic vehicles idea simply didn't work
very well. And I don't quite get why they spend so much effort on
things like water and light and even rubber "marbles" on
the race track for an environment where bending the laws of
physics is sort of the point. Still, worth a look.
October 23
Work beers, involving package management, virtualisation, and
many war stories.
October 22
Various technical plans for this evening were abanadoned in
favour of a trip to the gym and catching up on some
reading.
Ok, not completely. I've started writing short test programs to
identify leaky code in the system libraries so I don't waste time
tracking down leaks that aren't my fault. Certain chunks of
recently-written code (GLib, GTK, DBUS, HAL...) seems to operate
on the principal that some memory doesn't need to be released
since it lasts the lifetime of whatever program includes it, and
the system will clean up when the program exits. This is all fine
and dandy except when I'm trying to nail down memory leakage in my
own code and have to unravel what bits I'm actually responsible
for first. Here's an illustration of one of the leaks I've found
(assuming, of course, that my code is correct): calling
dbus_bus_get followed by dbus_connection_unref
results in a leak of 7,588 bytes. Which is trifling stuff, to be
honest, but still.
[Guide For Mom: A memory leak in a program works like this: I ask
the system for some memory to store something in. The system gives
me a label saying, "your stuff is stored here". When I'm
done with the memory, I throw away the label instead of giving it
back to the system. So now the system thinks that the memory is
still in use, but since I've thrown away the label saying where
that memory is, I have no way of telling the system that I'm
actually finished using it - what I should have done was handed
the label back to the system. As such, this memory is now
unavailable for anyone to use, and this is known as a memory
leak. This is why, over time, most non-trivial programs use up
more and more memory until either the program or the system
crashes. There are various techniques for avoiding this, but it's
still a pretty major problem.]
October 21
Plugged in MIDI doohickey. Kernel said, "USB-to-MIDI
doohickey". And there was much rejoicing! Now to see if I've
any software to go with it, although my first intention is to use
the bits I hacked together some time ago to make a backup of
what's on my keyboard (musical, not computer) before doing a full
wipe of the thing.
October 20
For handwaving reasons I ended up working out in the same gym as
one of the players from our national rugby squad - Jerry
Flannery. I did not ask why he wasn't still in France as
I like not having broken bones.
October 19
Picked up a Yamaha USB-to-MIDI doohickey, after briefly and
vainly scouring the packaging for an indication that it might or
might not work with Linux. This is why I end up with so much
useless hardware. Well, that and the fact that for years I tended
to take the hardware that other people were throwing
out.
October 18
Went at the Bank of Ireland stuff, and now it works. It's a bit
less fragile in most places, so it should at least die properly
the next time they update their content, rather than leaving
random stuff undefined.
My fileserver sounds like its fan is on the way out. Dunno if it's
the PSU or CPU fan. I think it's already had one or both swapped
out, which possibly means I have no spares.
October 17
So today I acquired a Palm Tungsten E2 for less than half the
current retail price (thank you Ebay and Luzern
Technologies). It's quite nice, although I did manage to lock it
up completely: set the automatic keylock, enable "wake on
bluetooth access", then let it lock itself, then try poking
it with a bluetooth signal. The unlock screen appears, but you
can't click on anything, because behind it is a dialogue
box telling you bluetooth is active, and that's trying to claim
the input. This is a pretty trivial bug, I hope the rest of the
thing isn't as easy to break. The worst part, of course, is that
none of the toys for my aged Palm Vx will work with this, so I
have to go and get myself a bunch of new toys.
Bank of Ireland updated their website again, apparently to make it
harder for people to use ("I know! Let's replace the type-in
boxes for the PIN with pull-down lists!"). As such,
the Perl modules I wrote to connect to the online banking stuff
don't work right now. I'm in the process of rewiring them for the
new site, though.
October 16
Minor perl tweaks for some other site-scraping stuff that got
broke.
Storytelling was, uh. I'm not sure
I got the point. Or maybe there wasn't one. Actually, about 15
minutes into the second half it started annoying me. And it went
downhill from there. What a waste of time.
October 15
Took a spin to the gym and surprised myself by not dying. Hurrah
for recovery time!
Well, that was annoying: car battery is flat, a trick it pulled
about this time last year also. On inspection, the electrolyte
level is kinda low, so I guess I have to go get some distilled
water. Meantime, I'm recharging it off the mains.
Happy birthday, Elaine!
October 14
Finally got around to fixing last weekend's exploding lightbulb;
when I rewired the socket during the week, the light wouldn't go
off regardless of the switch position. Yes, I did rewire it
correctly. I surmised that the switch must have been damaged in
the power surge, so I opened it up, dismantled it, failed to find
any fused parts, reassembled it, reattached it to the wiring, and
powered things on. And it works. Hurrah! I will note in passing
that the wiring it's connected to is old enough that it uses the
"all wires should be the same colour" wiring
system. How electricians survived that period I have no
idea.
Did a little more digging in the libnw
sample files but didn't really make any significant
discoveries.
October 13
Woke up, took the train and tram to the Phoenix park, ran 5
miles in about 34 minutes. Hurrah! Had lunch with Lou, who also
did the 5-miler.
Tooling around with the Vodafone stuff a bit. Looks like their
MMS-to-Picture Gallery gateway is broken
again...
MORE libnw
hacking! Also, Con Air was on TV, so I kinda
half-watched that as well.
October 12
More coffee and gossip with Lou. Also a damned fine BLT.
Vodafone updated their site this week, which broke one of my
site scrapers (a bunch of stuff, actually; the one I most often
run is the one that takes a picture from the Vodafone Picture
Album and posts it to Flickr for me). Spent some time fixing that
this evening. Turned out to be not a huge amount of work,
really. The nice thing about the various scripts I have is that
they all use the same code to access the Vodafone site, so I only
need to fix it in one place.
October 11
libnw:
working again, but still leaking memory. Also, the v2 code will
not safely delete things.
What I'm doing with it right now is trying to cut down on the
device-specific code so that there's more common, shared code to
work with. Of course, I'm not entirely sure about the particular
way I'm doing this, but it certainly makes things like
cleanup-on-exit a lot tidier.
October 10
After many months I've started playing about with the libnw code again. The
thing is, I've now got an iPod, and the world at large is (slowly)
moving away from Devices Which Scramble Your Audio Files. Still,
I'd like to get this stuff back in some semblance of working
order. For now, it compiles, then crashes, as I've been changing
some of the internals to not be quite so hard-coded.
Ok, now the v1 tests run successfully, but it leaks memory. Code
In Flux™
And it's broken again, and I'm off to bed. Hurrah!
October 9
Black Snake Moan, in which
Christina Ricci looks oddly like one of the Arquettes, and Samuel
L. Jackson is, once again, a badass. It's not a bad movie, all
told, and the music is pretty awesome.
October 8
Met up with Lou for coffee and gossip (quotable quotes were
quoted, pointing and laughing occurred, etc), followed by a rapid
trip to the gym to try and squeeze in a workout before the place
closed. Made it, just barely. Bad enough that I have been the last
person out of various local bars, without being the last out of
the local gym as well...
October 7
Back down to the gym this afternoon to get inducted into their
fitness hoo-ha. Yes, I realise a gym and fitness are not the sort
of things you'd expect to find in a quote-unquote Hacker's Diary,
but there you go. I am now possessed of a fitness programme, which
is a bit wimpy but is merely intended to ease me into the whole
thing (several months of running and a half-marathon
notwithstanding). We shall see how this progresses.
October 6
Well, that was entertaining: bulb in my bedroom light blew. I
figured I'd swap the one from the bedside lamp in
temporarily. Untwisted the bulb, noticed it was a little twistier
than I'd expect for a bayonet fitting, but thought nothing of
it. Twisted the bulb into the overhead socket, again noticing
further twistiness. Huh, what are the chances that both sockets
would be loose? Hit the switch for the overhead light, watched as
the bulb was shot from the socket with a bang and a flash (also
tripping the circuit breaker in the process). Nothing wrong with
the fittings, the problem was that the bulb glass had come unstuck
from the metal contacts and in twisting it into place I'd
short-circuited the live and neutral terminals.
October 5
Despite having two movies on hand from ScreenClick, I opted
instead to half-watch Robocop on TV. It's still a good movie;
about the only special effects sequence that didn't age well is
the ED-209 stuff - it's just a bit too jerky.
October 4
And more beer, this time with James and
Ruadhrí. Apparently I'm some sort of political
outcast.
October 3
This is turning out to be a very non-geeky week: went to the
gym, then filed a bunch of paperwork...
October 2
Beers with Cathal.
October 1
Found some perl modules for talking to my mobile
phone. Interesting...
Hmm. Not quite useful enough. It seems to get as far as switching
the phone to the appropriate file-access mode, then stops talking
to it. And it wants administrative privileges.