A bit over a week to us moving (back closer to the center of Helsinki, yay) and my computer's power supply decided it had had enough. Every time I switched it on, it blew a fuse (a big thank you to whoever invented the kind of fuse where you don't have to put in a new ceramic thingy everytime it goes.) I was seriously considering just going out and buying a new computer, especially as I wasn't quite sure if it was the PSU or some other part, but decided that we're going to have quite enough other things to spend money on in the coming few weeks. So I settled on getting myself a new PSU, and oh boy, the beast lives again.

Because I wasn't quite sure what was the source of the problem and I was sort of planning on getting myself a new computer anyway in a few months, I got the cheapest power supply in the store. And you can tell. I've never been too impressed with the Antec Sonata's much-hyped quietness, but this feels like sitting next to a blow dryer.

Audio format conversion

Music management applications don't always do what you want when you convert audio, even if they do support it some way, and nautilus-audio-convert can be a bit of a PITA with all those windows popping up. AudioFormat's supposed to be a simple, definitely not in your face, way to convert audio files from Nautilus. It uses GStreamer and the audio profiles you have defined. There's still rough bits, mainly due to me starting from zero with gst, but it'll get better. You'll need PyGTK, GStreamer 0.10 and python-nautilus. Probably newish versions of the Python stuff. And there's no automatic installation yet.

Screenshots behind the AudioFormat link too.

When everything else fails, try Emacs

Even though I've defected to Eclipse for Java coding[1], and even occasionally use Vim[2], there are times when I flee back to the tender loving embrace of Emacs.

We've been doing a bit of software archaeology at work, mapping old requirements specifications to a newer code base. The chosen method was to append specially formatted comments to the end of each line participating in the implementation of a requirement, in the form of // req <requirement identifier>. How to do this in Eclipse? It doesn't have a macro facility; there are the snippets or whatever they are called, but using it for this purpose would be pretty painful. And the lines are formatted to be long enough (padded with spaces) to make it easier to read the code with the comments inserted. Which is nice and all, but with my screen I can't even see what lines have the comments which don't. Not good.

But, hey, sometimes everything isn't a nail even though you have a hammer. There's always Emacs. 50 lines of elisp later and I have it prompting me for the requirement id, inserting and removing the comments with one key press and highlighting the lines with the current requirement id. Make it truncate long lines and the only thing different from the normal display is the pink background on the lines I'm interested in. Because the Emacs manual (and function doc strings) is as good as it is, all that was stupidly easy to accomplish even though I had never played with faces and overlays before. And of course no restarts were required while I was hacking the code, trying out every change as soon as I made it. I'm still waiting for another environment that is as malleable as Emacs.

[1] So I can't live without all the searches and other magic. Its editor is still pretty weak.

[2] Vi style indentation is better than broken Emacs style indentation. Some Emacs language modes are less than perfect. Also, AA fonts[3].

[3] The good news is that the Xft-enabled emacs-unicode-2 branch has been working for me now happily for a day. Smooth Bitstream Vera is love. If only it were packaged in Ubuntu, the way the main development branch is in the emacs-snapshot package.

© Juri Pakaste 2023