Creating a presentation with LaTeX and powerdot
A few days ago, I gave a talk at PHP London about using OAuth with PHP. I started out building it in OpenOffice, but quickly found the process annoying, especially considering that I wanted to export to PDF with progressive disclosure on some slides. After putting the skeleton of the talk together, I decided to move to something else instead.
I've had some experience with the LaTeX document typesetting system before, having used it quite a lot during university for my final project's reports and presentation. I used the beamer package before, but this time I found its styles too restrictive. The three major presentation packages that I'm aware of are prosper (which I believe is quite old now), beamer, and powerdot. After some investigation (looking primarily at features and visual styles), I settled for powerdot. I will explain the basics of putting a presentation together in the rest of this post, but be warned: it assumes some basic familiarity with LaTeX, and I don't explain everything!
Useful git configuration fragments
Time for a quick micro-post, I think. I feel like sharing two useful fragments of my git configuration.
First up, aliases. I have a few useful shortcuts defined, as well as some nice ways of displaying a repository's history. I've aliased many of the common commands to two-letter versions which evoke the similar Subversion command aliases:
[alias]
st = status
di = diff
co = checkout
ci = commit
br = branch
sta = stash
graph = log --decorate --oneline --graph --branches --date-order
lg = log --graph --pretty=format:'%C(yellow)%h%Creset -%C(yellow)%d%Creset %s %C(green)(%cr)%Creset %Cred<%an>%Creset' --abbrev-commit --date=relative --date-order
today = !git log --author=$(git config user.email) --since=yesterday
Cloning a git-svn checkout
The scenario is that you have used git-svn to import an SVN repository, and you want to make use of the already-imported commits elsewhere. Unfortunately, git clone does not (currently) clone the git-svn information. It looks like we have to fully rebuild the git-svn repository, which would then mean pulling every commit from the Subversion server once again. What we'd really like to do is to make use of history we already have from git.
Recovering from pvmove failure
Note: This is a fairly rambling explanation of recent events. I assume that you have at least a passing knowledge of LVM and its terminology. This was written to prove that it is possible to recover from pvmove failing (in certain cases) due to the way it performs its operations and backs up metadata.
Hearing aid direct audio input
Many hearing aids can handle direct audio input (DAI), often via a "shoe" that attaches to contacts on the aid itself. This shoe then provides a DAI jack (sometimes called a europlug or eurojack) that cables can be plugged into.
There seems to be a complete lack of cables designed for people with a single hearing aid, so one of my upcoming projects will be to convert a Y-cable that can serve two hearing aids into a joint DAI/earphone cable instead.

DAI connector pinout
The DAI connector has the following pinout:
- short/thick pin: ground
- long/thin pin: VDD (apparently -- doesn't seem to actually be connected to anything on a 3.5mm cable)
- short/thin pin: signal
Remember that a standard 3.5mm audio plug has the following pinout:
- tip: left signal
- inner sheath: right signal
- outer sheath: ground
Next stage: connecting an earphone to the plug on one side of the cable, to see if there are any impedance issues, although the cable I am using (an fmGenie one) is a very low-impedance cable because I have an Oticon hearing aid. Measured with a multimeter, it seems to be around 0Ω, so I think that's good enough for me. I believe attenuated cables have a 330kΩ resistor in series with each signal line (according to Neil Ferguson's bluetooth hearing aid hack page).
My ultimate goal is to get hold of a DAI jack that I can solder directly to an old earphone, so that I can just plug the spare DAI cable into the earphone directly, almost as if it were a hearing aid itself. Unfortunately, it seems that it is impossible to get hold of such things. According to Connevans, DAI jacks are only custom-made for hearing aid shoes. After some discussion, it seems like I should be able to make one myself though (with some help!) so we shall have to see how that turns out.
Restoring from LVM and VMWare disks
I recently had to restore a server that failed to boot after a power cut. This machine was a Linux VMWare host, and it had three Linux guest virtual machines that were running at the time. While we had full backups available, I decided to set myself the challenge of recovering the entire images, to save the pain of a complete rebuild.
The host server partitions were LVM-formatted volumes on top of hardware RAID-1, and each of the virtual hosts were partitioned with LVM too, internally. This means that the restore process will not be at all trivial. With just a complete image of the host system, I would need to restore (deep breath) files on a partition on an LVM logical volume (inside a volume group, on a physical volume) in a VMWare hard disk stored on LVM (logical volume inside volume group of physical volumes) inside a disk image that is itself a file on a disk. How very convoluted.
I used a Gentoo system to restore the data, although any Linux system with the appropriate packages should be able to do it. No searches turned up information on doing all of this, and I had to come up with some of it myself, so I thought I would document the process.
4 on Demand: Improved
For all that use 4 on Demand, the video-on-demand service for Channel 4 in the UK, I have a useful tip for you. Although it has a large number of programmes available for free, its interface is (to say the least) highly annoying. But there is a fix!
Disclaimer: This is non-standard usage of 4od, and while they may not be able to detect you doing this, there is a chance that this may violate their terms of service. I'm providing this method only for reference purposes, and for convenience in navigating their system, in a similar way to the BBC's iPlayer.
It's essentially simple: instead of bringing the 4od system up in its own little window, use a browser. I've only tested this with IE7 (as that's what runs within the dedicated 4od application window) but I see no reason it won't work with Firefox too, as the BBC site does.
"But wait," I hear you cry. "I don't know the URL!"
Well panic not, for a little network sniffing later gave me this: http://vodapp.grid.channel4.com/c4site-web
Now you can open program downloads in multiple tabs so that you can just click "confirm" on each of them and let the downloads begin. This makes queueing an entire series for download at once much easier!
Enjoy...