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 the rest of this post »
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 the rest of this post »
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.
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 my bitbucket page and the source is included under the GPL. Comments and suggestions welcome!
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 the rest of this post »
Recently I came across this article on the Google blog about the launch of Google Web History. If you have a Google account and their browser toolbar installed, it will keep track of all the websites you visit, allow you to search through them, and give you stats on what you do online. It's like del.icio.us but completely passive and encompasses anything you do with your web browser. Thinking that it sounds rather big brother-esque? Me too. But that doesn't stop people from using it. It seems that people really do trust Google with vast quantities of information about their lives. I can just about cope with using their Gmail/Gtalk services, but I'm very conscious about what personal things I send over email, and I say on IM. The concept of keeping everything about your 'digital life' in a central place which is easily accessible and linked together strikes me as one of those great ideas that you would find listed in a 1970s 'Things technology will do for us in the year 2000' article along with replicators and hoverboards. However crazy it may seem to most of us, there are some people who take this to extremes, recording every bit of information about their lives in a digital form. While it is possible to understand how collecting so much data about yourself is an intruiging concept (remember the Truman Show?), it's a whole other thing to hand that information over to a large for-profit company, even if they supposedly don't do evil.
At the last meeting of the Board of the National Youth Orchestra of Ireland, a decision was made to amalgamate their two main orchestras: the NYOI (for players between 14-18) and the NYSOI (for players between 18-24). The full announcement can be found on the organisation's website. This move has come as a complete shock to many people, especially those who have had the opportunity to perform as a member of one of the orchestras. The NYOI has a proud history of providing young Irish classical musicians with the chance to perform repertoire of the highest standard on world-class stages with international conductors. I have been fortunate enough to be one of those people who have benefited from this organisation, and it is critical to the future of classical music in Ireland for this organisation to continue into the future. I believe that a decision which cuts the number of places for young musicians in the orchestra in half, from 200 to 100, is a huge mistake, and many up and coming young musicians in Ireland will have to pay the price for it. Since the decision, four board members have resigned and an online petition against the amalgamation has received over 1,100 signatures. They include some renowned musicians and important figures in Irish cultural life. Despite this, it would seem that the Board of the NYOI are utterly convinced that this is the only course of action that will resolve the current recruitment problems they refer to in their announcement. This was made clear in a discussion on today's Liveline show on RTE Radio 1, involving Gerard Kelly, a Board member of NYOI, and Donagh Collins, who resigned from the Board in protest at this decision. You can listen to a recording of the broadcast here. (Please note that the recording begins shortly after the start of the NYOI feature, and contains a cut after a minute or so due to a problem connecting to RTE's streaming server. I'll put a complete version online as soon as the show archive is available. Updated to include the full interview.) I feel really angry about the way in which the Board of the NYOI has made this decision, with no open consultation with anyone outside the organisation. This move to join the two orchestras will not only halve the number of places available to young musicians, but it will also impair the ability of the NYOI to provide an environment in which young and inexperienced players can develop over time into experienced orchestral musicians. Perhaps at this difficult time for the organisation, the Board of the NYOI should consider focusing their efforts on finding a new Chief Executive instead of making rash decisions which will have a strong detrimental effect on classical music in Ireland. This is a tremendous mistake and if you agree, please sign the petition now!
After reinstalling windows recently I once again had to battle with the process of installing Django on Windows XP. All I remember about the last time was several hours of googling (if that isn't a word ti aught to be) and cursing at the *nix-centric installation notes on the django website. So this time I decided to take notes so that I could put together a semi-coherent guide to installing Django on windows for development purposes. Here goes...
Read the rest of this post »
I recently came across a problem when adding user accounts to a Django application I'm currently working on: I wanted to access information about the current user, e.g. whether they were anonymous or logged in, so that I could display a login message or a link to their homepage respectively. This sounds like a relatively simple thing to accomplish but the problem was that I didn't want to have to look up the current user's information in every view method and pass it to the template. Luckily Django provides a way of dealing with this very situation by providing a special template 'context'.
Read the rest of this post »
|