list

Of recent simple/guilty pleasures..

Wading in the creek and browsing on blooming watercress.
Emergency repair of my broken sandal.
The most yummy cherries from Ken's tree.
Gogol Bordello - Super Taranta!
Lamb stew with pickled lemon and fresh mint.
Fixing my broken sandal right w/ metal reinforcement.
West 10 LDN.
Homemade mango lassi. (At least it's not bacon.)

Posted
Obama in Bristol

So Obama will be (sorta) kicking off the general election campaign in Bristol VA, right down the road from JR's produce and just over the state line from me in Bristol TN.

Why here? It's an interesting, quirky choice.

They seem to have put this town hall togther at the last minute, renting VA high's gym only yesterday. The small number of tickets went fast (gone at 10 am this morning), so I didn't hear in time to get one, or even get on the waiting list.

I'll try to get up early enough to see the circus outside tomorrow morning.

Posted
Barack in Bristol

At first I thought this was all I'd get to see.

But after baking in the sun in line for a few hours, I got in. (Thanks, Nic!)

Like that little blue car, my little camera might be outclassed, but it did its plucky best, and I have some pictures of the event.

Posted
dbus reconnection

Julien, dbus and hal make handling server reconnection correctly Hard, or impossible, in my limited experience. This information is what I can remember based on git logs from when I beat my brains against this particular wall for a few days.

You'd think you could check for an exception after calling libhal_device_get*. Maybe org.freedesktop.dbus.error.disconnected. But this doesn't work if dbus is down. Instead the function, IIRC, crashes.

So instead, it seems you have to check dbus_connection_get_is_connected before every attempt to use hal, and reconnect if it's down. But this means you've introduced a race condition.

Also, once you notice the connection is down, it'd make sense to tell hal to close the connection to dbus. Except, if dbus is down, hal crashes instead, IIRC. So there's no way to close an old hal connection in this case; the best thing to do seems to be to leave it open, and open a new one. So now your program is not just racey, but it's leaking.

The dbus people claim dbus is never supposed to be restarted. Ever. In other words: dbus/hal is badly designed crap. Do not use.

Posted
heat

Summer crept up behind me and has been beating my about the head and shoulders all week. It's hot (95+ F / 35 C in the shade). I've been slowly adapting back to hot-weather mode, but with the suddenness of the onslaught, it's been hard to keep up.

It's easy to get annoyed at hot weather -- like one of pterry's trolls, I know I am a tenth as good a coder in the summer. And I choose not to have air conditioning at home, so if I need to get back to peak performance for something, I have walk downtown to the coffee shop or library or someplace air-conditioned.

But this weather is good for the bigger, longer-term thoughts (aka lazing about). And I know I can adapt. Yesterday I hiked in to Abrams Falls, and the heat didn't bother me at all, and just made sitting and meditating under the falls even better. Then I climbed up to the top of the falls and waded all the way back up the creek.

Today, I got out in the peak heat of the day and hauled in and unpacked 300 pounds of gear. More on that in a few days..

Posted
weekend

Out at the yurt. Spent a rather rainy day finishing the floor and hauling furnishings in up the slippery hillside. I've also spent some time caught in the yurt trap, it's very easy to be in it and think for ages.

Posted
a wiki on gopher

I've now gone fully retro and am running a wiki on gopher. Yes, the protocol from 1991. ;-)

Of course, ikiwiki makes this insanity possible. Full instructions for setting up your own gopher wiki.

So far, the wiki only lives on my laptop, and I suspect that gopher and ipv6 don't get along, so I won't try to give a gopher url to it. :-)

Posted
no escape

So my Esc key broke today. Maybe due to high humidity last night -- the laptop was generating a lot of spurious lid open events earlier. New keyboard ordered, etc, nothing too unusual given the crummy nature of laptop keyboards (Fujitsu's in specific).

The interesting thing though, is that even though I've remapped Caps Lock to generate Escape for now, this threw my typing off to an amazing extent. I don't just have trouble typing ^]:wq in vim. I have trouble typing arbitrary sentences in programs that don't use escape at all.

Why? I don't touch type the way people are taught to in school, with fingers on the home keys. I touch type the way you learn to by typing a lot, ad-hoc, until your hands learn exactly how to type the common things you throw at them. This includes being able to type ^]:wq as fast as I can type "joey".

My home keys are, approximatly:

Tab Q S X Space       Down . ; ' Enter

(Space and Down are covered by my thumbs.)

This might seem a bit weird, but as a programmer, I hit tab a lot, and, enter lots of semicolons, periods, and quotes. As a human on the WWW, I scroll down a lot. As a command-line user, Enter is a key I hit a lot. That's my guesses why my fingers go there. This wasn't planned, it evolved.

In fact, I have other home key locations, that are used for other activities too. Now that I'm typing in a lot of text here, my WPM has increased a lot, because my hands have moved closer to the center of the keyboard. Something like this.

      W E F V    J I O {

Although every time I've checked, it's been a slightly different set of keys. My hands know where they are, and seem to make pretty good guesses about where I'll want them in the next word and pick a different "home row", depending.

Also, if I'm scrolling around a lot, my left hand switches to:

                      Left Up Right

Point being that this is all very dynamic, and unconcious, and very adapted to this exact keyboard. Learning a new keyboard will take me days of fumbling, that are reminiscent of someone describing switching from QWERTY to DVORAK.

And, it turns out that even moving a single key like Esc is close to switching to an entire new keyboard. Needing to reach down to Caps Lock for Esc threw everything else off subtly, even when I wasn't typing that key.

Clearly this is not the best way to type. It's just my way. :-/

Posted
fujitsu p7120 laptop keyboard replacement

Can't find any documentation about this on the web, and it's a PITA, so here goes.

Note: No pictures. I was too scared to take time out to take pictures.

Disassembly is not hard at first. Three screws hidden over the battery pack allow removing the cover over the power button and wireless switch, which then frees 4 tabs that lock the top of the keyboard down.

My keyboard was also taped down with double-sided tape, and glued down. This is the part I hate, both because I still haven't accepted that the common way to put together consumer electorinics is tape and glue, and because it's never possible to get it apart undamaged. I pried the keyboard up from the top, pushing under to untape/glue, and taking care of the cable. There was also a flap of plastic stuck down over the cable, which had to be peeled away. Many clips on the bottom of the keyboard hold it in place and have to be slipped out. I ended up slightly bending the arrow keys of the keyboard in yanking it out, though I think they'd still be ok-ish. Luckily I was putting in a new one.

Removing the keyboard cable was strange. Its socket is not the typical kind you can life to unlock. The socket is one piece and does not move at all. I eventually just pulled the cable out of it. This is where I started to get very nervous.

Replacing the cable was a PITA. You have to bend its end at a 90 degree angle, and then just line it up and press it down into the socket. Hard. And rub along it and do whatever you can to get enough force exerted down the thin cable strip to make it slip far enough into the socket to work.

I booted up the laptop several times while doing this, to test if I had managed to get it working. Eventually I had.

Then I very carefully reseated the keyboard, and replaced the cover and screws.

Unfortunatly, the tape and glue was doing something. The new keyboard is very springy in the middle, where that held it down before. So I will have to take it apart again and put on some new double-sided tape or something eventually.

Conclusions:

  • Fujitsu sucks for not springing for an extra 0.01 cents for a locking cable socket.
  • Laptop manufacturers in general suck for using tape and glue. (Or for building weaghty mehemoths that use better fastening systems.)
  • When it's been disassembled, a lot of the magic of a laptop seeps out for me and never really comes back. Maybe next time I should not do my own repairs, just to preserve that heady comsumer magic of not knowing what's inside?
  • I'm still using Caps Lock for Esc, so why did I even bother?!
  • New keyboards feel strange.
Posted
delayed gratification

I got a mail today from someone who wrote a game in the early 90's, and then forgot about it. Meanwhile, his game was one of the first packages I put in Debian in 1996, and it remained in the distribution for the intervening decade, accumulating various bugfixes and improvements from users.

Finally, in 2008, he typed the name of his old game into google, and found the package, and mailed me

So thank you for maintaining that little bit of history as much as you did, it put a smile on my face.

Ditto!

discussion

Posted
there can be only one

Yay! Thanks to Lennart people are actually talking about how VCS diversity is a problem.

And Lennart thinks that maybe, instead of the slow drift toward VCS convergence and interoperability that I've been expecting, we might instead reach a point where everyone decides that there can be only one.

I'm reminded of 1993. Using the internet at that time involved using a mishmash of stuff -- Telnet, FTP, Gopher, strange things called Archie and Veronica. Or maybe this CERN "web" thing that Tim Berners-Lee had just invented a few years before, but that mostly was useful to particle physicists.

Then in 1994 a few more people put up web sites, then more and more, and suddenly there was an inflection point. Suddenly we were all browsing the web and all that other stuff seemed much more specialised and marginalised.

You can argue that this was essentially a popularity contest, that Worse Is Better suggests we didn't pick the best solution; that the web/git, at its core, sucks, or that gopher/svn rulez. Heck, I've espoused most of these positions myself.

But the reality of network effects can be very strong, and reality can trump all these ideal-world arguments whether we like it or not.

Previously: The New Portability Nightmare

discussion

Posted