Occasional notes on (mostly) technical matters.
There's an RSS 2.0 feed for this page.
I have a couple of SanDisk/Sansa Clip+ MP3 players. Both of these have suffered the same fault: the headphone socket becomes intermittent after a couple of years' use. It's easy — if a bit fiddly — to repair.
The first step is to open the plastic case of the player:
My local phone cabinet in Dundee was upgraded to FTTC in May 2014. After I placed the upgrade order with my ISP, it occurred to me that this was my last chance to use a particular piece of networking equipment.
I have no idea what possessed Alcatel to make it look like that.
This was the USB ADSL modem that BT provided our student house with when we had ADSL installed in 2001, and it lived for several years in the kitchen, plugged into the one USB PCI card that we could find that would make it work fairly reliably with the Linux userspace drivers.
Not long after that photo was taken, we replaced it with a
cheap-and-cheerful second-generation standalone router in bridging mode,
frog was consigned to my junk box.
I was expecting to have an interesting story to tell about how hard I'd had to work to make it semi-functional again after ten years — but, irritating to the last, once I'd provided its firmware, the modem synced up first time at maximum ADSL1 speed, and ran reliably for several hours. Score one for Alcatel!
Time for a musical tech note.
This is a Seydel Session harmonica, which I've retuned (reversibly) to play the A mixolydian scale, with A as the blow chord and G as the draw chord.
While I'm not in general a fan of changing fashions in audio hardware, there is one big advantage: the hardware that I dreamed of owning ten years ago can now be bought, boxed, with all its accessories, for next to nothing on eBay.
This is an M-Audio Delta 1010LT, a PCI soundcard with 8 analogue I/O channels, plus SPDIF, word clock and MIDI — which means I've got enough input channels that I don't need a mixer next to my PC any more. This is the third M-Audio card I've owned, having started with an Audiophile 2496, which I upgraded to a second-hand Delta 44 when I started experimenting with SDR. All these cards use the ICEnsemble ICE1712 PCI audio chip, which has excellent Linux support and works well with JACK; they differ in the number of audio codec chips on the board (the 44 and 1010LT use the AKM AK4524VF, and the 2496 uses the slightly-higher-spec AK4528VF).
But there's a problem here — can you spot it?
I've recently been digitising my family's cassette tapes. I ran into a problem with a box of family tapes that'd been played over and over again on cheap tape players, and were badly worn, stretched, and generally chewed up. My Aiwa AD-S950 deck, which generally does a good job of playback, has a dual-capstan mechanism with some logic to sense the tape tension, and it'll stop playback to avoid damaging the tape if it detects something's wrong. This is usually a good idea, but these beaten-up tapes would only play for a few seconds before triggering the mechanism to stop.
So I needed a tape deck that was a bit less intelligent, but still had reasonable playback quality — and ideally at minimal cost. My local auction house occasionally has hi-fi gear, and this pile turned up in early March:
This is a Sony LBT-D609 integrated system from the early 1990s, which is sort of like a midi system in separate boxes: the tape deck, tuner and amplifier share a single power supply, and are connected together with a power/control/audio bus. The tape deck is a Sony TC-D709, with a pair of single-capstan, 2-head auto-reverse mechanisms — exactly what I was after.
Electronically it was in working order, but when I tried to play a test tape, the tape spools didn't move. Time to have a look inside...
For my oldest projects, I had source snapshots and releases from before they were first imported into a version control system. With Git, it's possible to insert these into the history of the project.
I did this by creating a new branch that's not attached to the existing history, and then pasting the existing history onto the end of it. Since this requires rewriting the existing history, it's best to do this as part of a conversion, rather than messing up an existing published repository (grafting would be a better option in that case).
I've been using version control for all my software and writing projects — and for other things, like the config files in my home directory — for well over ten years now. I've tried out various new systems as they've become available. As a result I've had projects using a mix of CVS, Darcs, Mercurial and Git repositories, some of which have been converted several times.
Git appears to have more or less won the VCS wars at this point, and I'm generally happy with its features; in particular, it's now got usable versions of the Darcs incremental commit and revert tools, and I really like its history-rewriting features. So I wanted to convert everything to Git — importing as much history as possible, and tidying up the messes created by previous conversions.
I've got a couple of SanDisk Sansa Clip+ MP3 players — available refurbished these days for less than £25 — upon which I've installed the Rockbox open-source firmware. These players have good-quality audio output, and in combination with Rockbox can play all the audio formats I generally use.
The Clip+ also makes a reasonably good audio recorder, hampered
mostly by the case design and AGC limitations, and I've used mine
several times to record music when I didn't have anything better with
However, recently I recorded an evening's set when my Clip+ was running
low on battery — and got home to find the battery completely flat,
and a 0-byte-long
WAV file on the Clip+'s FAT filesystem.
Hrmph. Well, it was recording for most of the evening; the data must be somewhere...
The Canon PowerShot A480 is a compact digital camera with a telescopic zoom lens; mine runs the CHDK firmware add-on. After about two years of use, I turned my A480 on one day, and it wound out its lens — then stopped and showed "Lens error, restart camera" on the display. Restarting didn't help — the lens was jammed solid.
The camera is reasonably easy to dismantle: remove the externally-visible screws, and work a soft plastic tool (e.g. a guitar pick) around the seam in the case to open. Note that the screws have different lengths; keep track of where each screw you remove came from. The LCD display is similarly held in place with a few screws.
Once you fold back the LCD, you can see the camera's PCB on the right, and the lens/CCD assembly on the left:
To take out the lens assembly, you need to disconnect the two ribbon cables from the PCB, and remove some more screws. It's not immediately obvious how to do this: each connector has a small brown cover that flips upwards, away from the cable, so you just need to lift this with your guitar pick. To reconnect the cable, push it gently into the connector and flip the cover back down.
Having removed the lens assembly, I tried to unjam the lens — tricky, since the plastic gears in the gearbox (which were obviously pretty worn) aren't held in by anything, and the ribbon cable — which I didn't want to desolder — wraps tightly around the case. I did eventually manage to free it up after a lot of fiddling, but refitting it and powering the camera back up just meant it wound out the lens and jammed again...
Instead, I bought a replacement lens assembly for a few pounds from DHcameras, which was straightforward enough to fit. To get the screws in around the lens assembly, a magnetic or sticky screwdriver was useful. The cover clips back into place — remember to fit the rubber connector cover first.
The repaired camera now works fine. I wonder if I'll have to do this again in another two years...
This is the computer that I learned to program on — Commodore 16, serial number EA5-233663.
Like nearly all the 8-bit users I knew, I never had a disk drive for this machine, using cassette tape instead for storage. I wrote quite a lot of BASIC — and some 6502 assembler — on this machine between 1989 and 1993, so I had about 25 cassettes to read.
- Tech Notes