reverse engineered

Debian /etc/ Cleanup

After upgrading a Debian system, it is a good idea to clean up any old configuration files that remain in /etc/. The following one-liner should find most of them for you: find /etc/ -name "*.dpkg-dist" -o -name "*.dpkg-new" -o -name "*.dpkg-old" -o -name "*.ucf-dist" -o -name "*.ucf-new" -o -name "*.ucf-old" | sort Running it on my desktop yields the following files: root@lambda:/etc# find /etc/ -name "*.dpkg-dist" -o -name "*.dpkg-new" -o -name " Read more →

New packages in Debian 7.0 Wheezy

Given that Debian 7.0 Wheezy will be released in a few hours, I thought it would be a good time to take part in Michael Prokop’s #newinwheezy effort to publicise the new packages that have uploaded to Debian as part of Wheezy. I have introduced two new packages to Debian for this release: nyancat - nyancat is a program to display an animated poptart cat in your terminal transmission-remote-cli - ncurses interface for the Transmission BitTorrent daemon I’ve also have become (co-)maintainer of the following packages, updating them for this release: Read more →

WordPress IPv6 Issues

In recent days I noticed that my site, and other WordPress sites were failing to properly load. I’ve debugged the issue, and found that recent versions of Jetpack require this javascript file on every page load. This file is served from a WordPress content distribution network run by Edgecast. While Edgecast claim to support IPv6, in reality, they don’t. As shown below, they have major issues with MTU size on their IPv6 network. Read more →


recode is a simple program for performing conversions between many different character sets. I often use it to encode HTML and other code snippets before uploading them to the web. jmccrohan@lambda:~$ echo '<strong>Hello, World!</strong>' | recode utf8..html <strong>Hello, World!</strong> Read more →

XML reindent

XML is designed to be human-readable. However, to minimise data transfer, the indentation and newline characters are often discarded during transmission. This results in a difficult-to-read XML file such as the one below: <?xml version="1.0" encoding="ISO-8859-1"?><note><to>Tove</to><from>Jani</from> <heading>Reminder</heading><body>Don't forget me this weekend!</body></note> This XML file can be both checked for validity, and reindented using xmllint. Debian/Ubuntu users can find this as part of the libxml2-utils package. xmllint --format input.xml output.xml This results in the following, more-sane output: Read more →

MATLAB R2012a system() function

MATLAB does not integrate nicely with Linux operating systems, and instead, provides its own copies of binaries, and libraries. These libraries are often outdated, which can cause problems such as the one below. When calling external C++ compilers though the system() function, I found myself running into an eglibc error. This occurred when running MATLAB R2012a on a Debian Wheezy machine with eglibc 2.13 and gcc 4.7.1. /tmp/hello-world: /opt/matlab/bin/glnxa64/ version `GLIBCXX_3. Read more →

FIGlet 2.2.5-1

I’ve uploaded FIGlet 2.2.5-1 to Debian. This long-overdue update resolves all the existing licensing issues, and allows the package to move back to main, after an extended period in non-free. _ _ _ __ _ _ _| | | || / _` | || |_| \_, \__,_|\_, (_) |__/ |__/ Read more →

Debian Gitweb server

After getting sick of GitHub’s clunky closed-source interface, I decided to migrate my repositories to my own Debian-based server using the gitweb web interface. Considering that I already have SSH access to the server, I only needed to provide read-only public access. As well as providing this access via the traditional 9418/tcp git protocol port, I wanted to provide access via HTTP too (I sometimes get caught behind firewalls which block 9418/tcp). Read more →

Set git email address on a per repository basis

git allows you to specify email addresses on a per repository basis. This is handy when working with repositories from multiple organisations. When in the repo directory, use the following commands to set a per repository email address: jbloggs@hostname:~/git$ git config “Joe Bloggs” jbloggs@hostname:~/git$ git config “” Alternatively, you can edit .git/config manually, and add the required information under the [user] heading: [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote " Read more →

Irish dvb-apps scan files

My dvb-apps patches, which added initial Saorview scan files for the primary Irish DVB-T transmission sites, were accepted. They should be trickling down to the various Linux distributions soon. Read more →