Welcome!

Thanks for visiting. Here you'll find a collection of my articles on programming, technology, music and photography. You can also find information on my open-source software projects and check out some of my photography. I'm also available on the Twitter.
-Padraig

Complete GMail redundancy in 7 easy steps

2008 August 24

If there is anything that the recent GMail outages taught us, it’s that losing access to your email for a few hours should not mean that the end of the world has arrived. I think it also served as a reminder that if you rely 100% on the cloud for access to your data, then be prepared to be disconnected from it every once in a while. Fortunately, it’s quite easy to take advantage of free email services from the likes of Google while also making sure that should the worst happen, you can still access your data.

read more…

links for 2008-08-12 [delicious.com]

2008 August 12
by Pádraig
  • Interesting article about improving the experience of deaf website users in an informed way.

    My favourite quote:
    "We are not disabled and Deafness is not a disability; it’s the perception of many hearing (people) that we are disabled, and that is our disability."

  • Easy-to-use encryption library with Java and Python bindings

Automatic key generation with App Engine

2008 June 21
by Pádraig

After playing Google App Engine for a few days, I’ve realised the power that even the basic framework provided by Google, webapp, provides. Working with Python adds a level of flexibility that I never had when working with PHP many years ago (although this was before OO had really infected PHP).

While working on my first real application for app engine I soon came across the problem of creating sensible key names for objects. If you aren’t familiar with the data object models in app engine, each object has a unique key, generated automatically when the object is created, and a key name (property: key_name) which can be specified by the user. The key name can be very useful if you need object identifiers which are human-readable, such as when you use them as part of your apps URLs.

read more…

links for 2008-02-13

2008 February 13
by Pádraig

Using PuTTY ssh keys with OpenSSH on Ubuntu

2007 September 16
by Pádraig

Anyone who needs to access a unix/linux/osx machine from windows via ssh will be familiar with PuTTY, the free ssh client. PuTTYGen, available to download here, is a handy utility for creating RSA/DSA public/private keys for authentication. If you have generated your RSA keys using PuTTYGen, and would like to use them with OpenSSH on Ubuntu, you just need to follow a few simple steps:

  • Install putty with: sudo apt-get install putty
  • Create the public key file:
    puttygen /path/to/puttykey.ppk -L > ~/.ssh/id_rsa.pub
  • Create the private key file:
    puttygen /path/to/puttykey.ppk -O private-openssh -o ~/.ssh/id_rsa

You should now be able to log into an SSH server using your private key. To install your public key simply copy from ~/.ssh/id_rsa.pub on your local machine to ~/.ssh/authorized_keys on the remote server.

asioWavPlay for Matlab released

2007 September 5
by Pádraig

If you use Matlab for audio research / development, you’ll be familiar with the pretty poor native support for audio playback. As part of my research, I wanted to play multichannel (>2) files at a variety of sampling rates and bit depths. In addition, I also wanted to use a low-latency audio layer, such as ASIO, to take direct  advantange of my audio hardware.

So, with a bit of coding I managed to put together a Matlab extension which allows for the playback of multichannel sound files using any soundcard with an ASIO driver. The plugin uses ASIO, PortAudio, and libsndfile. Samples are read from the audio file as needed, so playback start time is not dependant on the length of the file – useful in time-critical applications. Memory usage is also low because the whole file doesn’t need to be loaded into memory, only enough to fill the audio buffer.

You can download it over at the Matlab file exchange and the source is included under the GPL. Comments and suggestions welcome!

links for 2007-08-07

2007 August 7
by Pádraig
  • Module for creating parallel Python scripts using either SMP or on a cluster. Much simpler than getting an MPI setup working…

Building a Diskless Linux Cluster: Debian (Etch) + DRBL + GridEngine

2007 July 25
by Pádraig

It’s quite common in University departments for roomfuls of very capable PCs to sit idle from 5pm until 8am everyday and all weekend. Thankfully, it’s possible to turn such a wasted resource into a powerful cluster of Linux machines using freely available open source software. In fact, even a group of machines in an office, or at home, can be transformed into a similar state with the minimum of effort. By booting the PCs (or nodes) over the network, no changes are made to the current setup of the machines, so reverting back to their normal state is as simple as rebooting. This guide will bring you through the process of creating a High-Performance Computing (HPC) cluster using the latest version of the Debian GNU/Linux operating system, Diskless Remote Boot in Linux (DRBL), and Sun’s Open Source N1 Grid Engine 6. read more…

links for 2007-06-20

2007 June 20
by Pádraig

links for 2007-05-09

2007 May 9
by Pádraig
  • Get your free 128-bit integers in the handy and easy to read HEX notation. I prefer 13,256,278,887,989,457,651,018,865,901,401,704,640 myself.
  • Amazing photographs of landings at St. Maarten airport in the Netherlands Antilles.