January 15th, 2008 — Free Software
I perform most of my computing tasks with the command line, and that includes converting my CDs to ogg files (an ogg file is like an mp3 file, only better). I hadn’t ripped anything for some time, so I decided to compare a few command-line rippers. I had a quick look through my Debian package list and selected abcde and crip as they seemed to match my requirements. Both programs have simple interfaces: simple type abcde or crip on the command line and they do everything for you. At first there didn’t seem to be much difference. crip claimed to have some advantages over abcde, and one of the trivial ones I discovered was that it normalised the ogg audio automatically; in abcde I had to use the -a replaygain option for that feature. So crip crept into the lead.
But the lead didn’t last long. crip stumbled seriously on the third CD. I live in Japan now, where I buy CDs by Japanese artists who write songs in Japanese. crip couldn’t cope with that, and I couldn’t cope with playlists where all the songs were called "??????". So abcde won. For me its acronym is true: a better CD encoder.
December 14th, 2007 — Free Software · GNU/Linux
A while ago I bought a PC case made by 3R Systems. It came with a built-in iMon LCD that had been custom-made by Soundgraph for 3R Systems. The case is good, but I discovered that this LCD panel has no Free Software drivers, and Soundgraph do not support Linux or any Free OS. In fact, Soundgraph refuse to even try to understand simple questions if you mention Linux anywhere in the message. That sort of behaviour used to be common, but the growing popularity of Free Software / Open Source, and the Linux kernel in particular, has made many companies change their attitude: some release technical details of their products so we can write our own software; some write and release their own Free Software (or Open Source); and some others release non-Free software for Free OSes. But Soundgraph does nothing except ignore it.
So, I started to reverse engineer the device. I’m not the only one doing this, and I got some hints from ralph.y, Codeka, and someone called “tsuppiduppi” on the iMon user forum. To make it easy to experiment I wrote a quick’n'dirty C program using libusb to allow me to send commands to the device. Now I can do:
- imon-poke 0×02 0×1c 0×02 to initialise the LCD screen
- imon-poke 0×0d 0×0f 0×48 0×45 0×4c 0×4c 0×4f 0×00 0×20 0×57 0×4f 0×52 0×4c 0×44 0×20 to display “HELLO WORLD”
Below is a brief summary (well, random notes) of what I have found so far. The first two bytes select the main command. Subsequent bytes may be used as parameters. The 8th byte should always be zero, and the 16h should always be 2.
0x02, 0x00: eq graph: 1 byte 1=off 2=on
0x02, 0x01: eq graph bars (no pattern yet)
0x09, 0x01: eq graph bars: 16 nybbles, value 0 to 6
0x0d, 0x01: eq graph bars, seems to match previous 0x09, 0x01
0x02, 0x09: fan icon bits lsb: F1 F2 F3 LMH
0x02, 0x0a: fan guage 2 bits lsb: F1 F2 F3
0x02, 0x0b: 1 byte temp degree c icons
0x02, 0x0c: 1 byte temp value
0x02, 0x0d: cpu icons 1 byte on=2 off=1 (or not 2)
0x02, 0x0e: cpu guage 1 byte value
0x02, 0x1b: the colon 1=off 2=on
0x02, 0x1c: whole display: 0=off 1=auto clock 2=on
0x02, 0x1d: strange xx/yy zzzz; xx = l nibble;
0x02, 0x26: fan speed
0x0d, 0x0f: ASCII text
November 21st, 2006 — Free Software · Japan
I went to the GPLv3 Conference in Tokyo today. Well, part of it. Today was only my second day in my new job, and I couldn’t really spend the whole day at the conference. But I really wanted to be at the conference in the afternoon since they asked me to participate in the panel for ” International coordination of Free Software Movement”.
I expected the panel to be a question and answer setup, where the panel members responded to questions from the audience. But that isn’t what happened. Instead the panel chairman talked for 30 minutes, and then handed the mike over to me!
That wasn’t what I was expecting, but it wasn’t a problem either. I spent fifteen minutes saying my bit, then passed the mike on to the next guy.
The following panelists had interesting things to say, and I learnt a few things too. I didn’t know that pharmaceutical companies spend more on marketing than they do on research, although I wasn’t surprised to hear that. I was amused to hear that all maize (corn) was effectively genetically engineered millennia ago in South America.
But the quote that stood out the most was not a new fact, but it was a nice opinion: “education is not just about skills; it is about building values and building a citizen”. Somebody needs to start repeating that back in the UK.
June 17th, 2006 — Free Software · GNU/Linux
In April 2005 I joined the Free Software Foundation Europe and received my membership smartcard. The card looked impressive but wasn’t very interesting without a smartcard reader. So (at last) I have bought a reader (SCM Microsystems SCR335) so I can use the card with GnuPG.
To get the reader working I started to follow the mail GnuPG smartcard howto, but I soon noticed that the udev rules provided in that document were ugly: the rules called a script that changed group ownership and permissions on the device file; udev can do that without a script. So I made up my own rule that looked like this:
BUS=="usb", SYSFS{product}=="SCR33x USB Smart Card Reader", GROUP="staff"
That changes the group ownership of the device to “staff”, which is one of the groups I’m in. After stopping and starting udev I was able to use gpg to check the card status.
April 15th, 2006 — Free Software · Japan
Following a suggestion from Richard Stallman, today I met Niibe Yutaka (新部 裕) from The Free Software Initiative of Japan at his office in Akihabara.
During our conversations Niibe-san mentioned something that I had almost forgotten: Debian has a non-free section in their distribution. A lot of people don’t like that, or they are at least surprised to see what looks like a compromise from such devoted Free Software advocates.
But Niibe-san had a different perspective inspired by his Buddist faith: he can accept the existance of evil, and it can be used to highlight goodness. Evil (or non-free software) exists to remind us that more good needs to be done. If we didn’t have a non-free section we would not notice the programs that need to be liberated.
March 16th, 2006 — Free Software
Our Free Software event, FOSS Means Business (or BelFOSS as I still call it) is due to start in about 10 hours. Everything seems to be going well, but I am probably missing something.
May 27th, 2003 — Free Software
I installed CGI::Kwiki today. *Kwiki rocks!*
There are lots of wiki flavours around, all with different features. I wanted one that was simple to install and easy to tinker with. Kwiki was trivial to install, and it’s designed to be easily reconfigured and extended. Also, it happened to use my preferred set of wiki formatting rules.
I liked it so much that I wrote a MovableType Kwiki formatting plugin to use it. If you can read this, it works!
Ironically, wiki words in MT::Kwiki version 0.01 don’t link to anything. The next version will allow you to configure your target wiki.