By Month:

March 2010

I’ve had to solve this problem a couple of times at least, and it’s quite a common task, so I thought I’d document it here.
When you send emails to users of your site through using the PHP mail() function, they will sometimes turn up in the mailbox of customers of your site with the following [...]

I’ve been using these shell scripts I wrote to convert between unix and windows text file formats. They seem to work well without any problems. If you put them in the /usr/sbin/ directory, they will be accessible on the path of the linux admin account root.
/usr/sbin/unix2win
#!/bin/bash
# Converts a unix text file to a windows text [...]

January 2010

I’ve just updated the design of this blog, re-enabled comments and added a contact tab. I’ve installed a strong anti-spam comment filter, but you should now be able to comment on entries. I’ve also changed the layout of things slightly, and made it easier to read.

Back in 2008, I wrote a PHP class that fetched an arbitary URL, parsed it, and coverted it into an PHP object with different attributes for the different elements of the page. I recently updated it and sent it along to a company that wanted a programming example to show I could code in PHP.
I [...]

As a break from my contract work, I took the W3Schools PHP Certification. I didn’t do any revision, which probably wasn’t wise. It was a bit more difficult than I thought, but I passed still.

Today I encountered problems configuring the windows version of the popular text editor VIM, so I thought I’d write up a quick post talk about configuration files under the Windows version, if anyone becomes stuck like I did. I use Linux, OSX and Windows on a day-to-day basis, and VIM as a text editor for [...]

I’ve been so busy working lately, I’ve hardly had time to update this website. On top of other things, I’ve just started freelancing as a contractor on oDesk – which actually seems quite a good way of getting paid for working on projects at home. Here is my current oDesk profile:
[...]

October 2009

I’m going to take a break from the purely technical posts to get more people to see this video. Here the late Dan Osman speed-climbs a cliff without any safety equipment.

Risky? Just a bit. A few years later he lost his life during a similar attempt. But no-one can doubt the guts required, and the [...]

There are more than a gazillion ways to use regexs. I am sure they are each very useful for their own subset of problems. The sheer variety can be highly confusing and scary for a lot of people though, and you only need to use a few approaches to accomplish most text-editing tasks.
Here is a [...]

April 2009

Volunteers on the OLPC project have developed a low-cost heart rate monitor that can be plugged into the XO laptop, making steps towards an affordable monitoring system for hospitals in developing countries.
For more information on the development, see the: OLPC Goldenstate project. People in the US can currently buy the sensor here; unfortunately there is [...]

March 2009

A common task when setting up an Apache webserver under Linux, is writing a httpd.conf file. The httpd.conf file is the main configuration file for Apache. One of the main reasons to edit the httpd.conf file is to setup virtual hosts In Apache. A Virtual host configuration allows several different domains to be run off [...]

So, about a month ago I got a second-hand microKORG from Ebay. Fiddling around with the preset patches, and creating new patches is great fun, even though I only know a few chords. Recently I plugged it in to my PC via my M-Audio Uno USB->MIDI interface, and soon was using Ableton Live to program [...]

So, after saying all that stuff about how vimplugin and EasyEclipse was great, I actually started to use the setup heavily, and it started to annoy me.
For one, EE is not a recent build of eclipse, nor does it come with a full set of recent plugins. This makes it annoyingly difficult to use when [...]

Up until now, I’ve always used the terminal for programming development on my projects. Because I’m so familiar with the advanced text editor vim, I can get a lot done on the command line, and it doesn’t detract away from what is actually going on behind the scenes, as a lot of IDEs seem [...]

If you use Google calendar, and you’ve got an iPhone, or Windows Mobile phone like me, then you’ll be pleased to hear about the new Google Sync for Mobile tool just brought out into beta by Google. There were various ways to sync Google Calender events to Windows Mobile devices before, but nothing officially supported. [...]

December 2008

I did something out of the ordinary this Christmas. I bought an “XO” laptop for a child in a third world country. I also bought an XO laptop for myself, so I can develop software designed to be distributed to the 1 million+ XO laptops out there in the third world.
The laptop runs a Linux [...]

I’ve started my own blog consulting business, helping people setup their own blogs, either for their company or for personal use. It’s called The Blog Factory, see the site for more information on what we do. In a nutshell, we can:
1) Setup and customise WordPress blogs.
2) Design custom WordPress themes.
3) Develop tailored WordPress plugins.
4) Host [...]

November 2008

This is so cool.. Google are beta-testing a totally free hosting and cloud-computing resource called Google App Engine. The caveat is that your hosted app must be written in Python. Python is amazing anyway, and if you don’t know it, now is the perfect time to learn. Check this out for more information about Google [...]

October 2008

Bacula is a great open-source distributed backup program for Linux/UNIX systems. It is separated into three main components:

One ‘Director’ – which sends messages to the other components and co-ordinates the backup
One or more ‘File Demons’ – which ‘pull’ the data from the host they are installed from.
One or more ‘Storage Demons’ – which ‘push’ [...]

This is an overview of current Linux support under Hyper-V, the free Windows Server 2008 virtualisation product.
As you probably know, virtual servers allow the emulation of hardware in software. So you have a single physical ‘virtual server’. This virtual server emulates the physical hardware for several ‘virtual machines’ which sit on top of the virtual [...]

September 2008

The Stanford engineering department, often regarded as the best in the world for computer science education, has made its core CS curriculum free for anyone with an internet connection. There are some catches, ie: you don’t get your assignments marked, you have no contact with the lecturer, but all the same, it is really a [...]

At work I’ve written a couple of scripts that send out emails to the appropriate project team when someone checks in a commit to the project subversion repository. Here are the details.
Firstly, you will need a subversion hook setup on post-commit. The post-commit hook needs to be located in SVNROOT/YOURPROJECT/hooks where YOURPROJECT is your svn [...]

I’ve abandoned the previous Wikipedia scraping approach for Brightonsound.com, as it was unreliable and didn’t pinpoint the right Wikipedia entry – ie: a band called ‘Horses’ would pull up a Wikipedia bio on the animal – which doesn’t look very professional. So instead, I have used the Musicbrainz API to retrieve some information on the [...]

July 2008

For some reason, under ubuntu-server, my default MySQL 5 character encoding was latin1. This caused no end of problems with grabbing data from the web, which was not necessarily in latin1 characterset.
If you are ever in this situation, I suggest you handle everything as UTF-8. That means setting the following lines in my.cnf:

1
2
3
4
[mysqld]
..
default-character-SET=utf8
skip-character-set-client-handshake

If you already [...]

June 2008

I’ve been hacking away at BrightonSound.com and I’ve been looking for a way of automatically sourcing biographical information from artists, so that visitors are presented with more information on the event.
The Songbird media player plugin ‘mashTape’ draws upon a number of web services to grab artist bio, event listings, youtube vidoes and flickr pictures of [...]

March 2008

I passed the adExcellence exam first time.. woo! It wasn’t that difficult really.
“David Craddock of iCrossing is accredited as an official Microsoft adExcellence Member. A Microsoft adExcellence Member has completed comprehensive online training on managing Microsoft adCenter search engine marketing campaigns and has demonstrated expert knowledge by passing the Microsoft adExcellence accreditation exam.”
As of 21/3/08, [...]

I have just seen Yahoo! Pipes, and am convinced this is going to change the web. For real.
Data source sites will become ‘content providers’, data will be aggregated and filtered from multiple content providers, either by the user or by ‘intermediary’ sites. The user will be able to choose his ‘data view’ of the content [...]

We’ve been working on a Brighton music events Google maps mashup project:
www.BrightonSound.com
It’s still developing, but it looks quite good, and we’re ready to start showing it off to people. So check it out!

February 2008

I finally setup my Dell Lattitude D630 laptop the way I wanted it last night, and thought I’d do a quick writeup about it. Here is the parttition table:

A 40GB Windows XP partition, with VMWare Player installed, which I will be using for Windows applications that don’t play well in virtualised mode (eg media applications). [...]

I will be attending Brighton Barcamp 2 on the weekend of the 14th March, and presenting on a new web project I’ve been working on.
See: http://barcamp.pbwiki.com/BarCampBrighton2 and http://www.barcampbrighton.org/ for more info.
Update: Brighton Barcamp 2 is now over.
This was really interesting, and I learned a huge amount in a very short amount of time. Thanks [...]

November 2007

This is going to be absolutely huge:

My friend Adam has a blog featuring interesting internet finds. Check it out:
One Idea

June 2007

I’ve been trying to learn a lot about search engines lately, as I’ve been starting at an internet marketing firm. I found this excellent list of online materials for university courses related to search engines:
http://clair.si.umich.edu:8080/wordpress/?p=11
In particular, these seem especially relevant:

The Structure of Information Networks – http://www.cs.cornell.edu/Courses/cs685/2002fa/ (a good introduction)
Search Engine Technology – http://www1.cs.columbia.edu/~radev/SET07.htm (a great [...]

May 2007

I just noticed that US bulletinboard giant Craigslist.com has opened a Brighton UK section of their website! There are a few posts already. At the moment, Gumtree’s Brighton Section is massively popular here. I’ve recurited several flatmates using Gumtree, and am basing my local housing search around it.
It will be interesting to see how Gumtree.com [...]

Nabaztag (Armenian for “rabbit”) is a Wi-Fi enabled rabbit, manufactured by Violet. The Nabaztag is a “smart object”; it can connect to the Internet (for example to download weather forecasts, read its owner’s email, etc). It is also fully customizable and programmable. – Wikipedia.org
Here is our Nabaztag – Francois Xavier:

Of course, I’ve been messing around [...]

April 2007

My GeForce4 MX 420 didn’t work properly with OpenGL under a fresh install of Dapper Drake. Fixing it, however, proved to be really easy:
1) Install the nvidia package:
$ apt-get install nvidia
2) Edit /etc/X11/xorg.conf and replace the ‘driver’ where it says ‘nv’ with “nvidia”:
Section “Device”
Identifier [...]

This blog will be about my perspective on technology. Anything that catches my interest will be fair game, but mainly it will revolve around internet technology and the development of such.
It will allow me to create an online presence, and to improve my writing skills.
I hope you will find the time to check back on [...]

By Category:

Content

This blog will be about my perspective on technology. Anything that catches my interest will be fair game, but mainly it will revolve around internet technology and the development of such.
It will allow me to create an online presence, and to improve my writing skills.
I hope you will find the time to check back on [...]

My GeForce4 MX 420 didn’t work properly with OpenGL under a fresh install of Dapper Drake. Fixing it, however, proved to be really easy:
1) Install the nvidia package:
$ apt-get install nvidia
2) Edit /etc/X11/xorg.conf and replace the ‘driver’ where it says ‘nv’ with “nvidia”:
Section “Device”
Identifier [...]

Nabaztag (Armenian for “rabbit”) is a Wi-Fi enabled rabbit, manufactured by Violet. The Nabaztag is a “smart object”; it can connect to the Internet (for example to download weather forecasts, read its owner’s email, etc). It is also fully customizable and programmable. – Wikipedia.org
Here is our Nabaztag – Francois Xavier:

Of course, I’ve been messing around [...]

I just noticed that US bulletinboard giant Craigslist.com has opened a Brighton UK section of their website! There are a few posts already. At the moment, Gumtree’s Brighton Section is massively popular here. I’ve recurited several flatmates using Gumtree, and am basing my local housing search around it.
It will be interesting to see how Gumtree.com [...]

I’ve been trying to learn a lot about search engines lately, as I’ve been starting at an internet marketing firm. I found this excellent list of online materials for university courses related to search engines:
http://clair.si.umich.edu:8080/wordpress/?p=11
In particular, these seem especially relevant:

The Structure of Information Networks – http://www.cs.cornell.edu/Courses/cs685/2002fa/ (a good introduction)
Search Engine Technology – http://www1.cs.columbia.edu/~radev/SET07.htm (a great [...]

My friend Adam has a blog featuring interesting internet finds. Check it out:
One Idea

This is going to be absolutely huge:

I will be attending Brighton Barcamp 2 on the weekend of the 14th March, and presenting on a new web project I’ve been working on.
See: http://barcamp.pbwiki.com/BarCampBrighton2 and http://www.barcampbrighton.org/ for more info.
Update: Brighton Barcamp 2 is now over.
This was really interesting, and I learned a huge amount in a very short amount of time. Thanks [...]

I finally setup my Dell Lattitude D630 laptop the way I wanted it last night, and thought I’d do a quick writeup about it. Here is the parttition table:

A 40GB Windows XP partition, with VMWare Player installed, which I will be using for Windows applications that don’t play well in virtualised mode (eg media applications). [...]

We’ve been working on a Brighton music events Google maps mashup project:
www.BrightonSound.com
It’s still developing, but it looks quite good, and we’re ready to start showing it off to people. So check it out!

I have just seen Yahoo! Pipes, and am convinced this is going to change the web. For real.
Data source sites will become ‘content providers’, data will be aggregated and filtered from multiple content providers, either by the user or by ‘intermediary’ sites. The user will be able to choose his ‘data view’ of the content [...]

I passed the adExcellence exam first time.. woo! It wasn’t that difficult really.
“David Craddock of iCrossing is accredited as an official Microsoft adExcellence Member. A Microsoft adExcellence Member has completed comprehensive online training on managing Microsoft adCenter search engine marketing campaigns and has demonstrated expert knowledge by passing the Microsoft adExcellence accreditation exam.”
As of 21/3/08, [...]

I’ve been hacking away at BrightonSound.com and I’ve been looking for a way of automatically sourcing biographical information from artists, so that visitors are presented with more information on the event.
The Songbird media player plugin ‘mashTape’ draws upon a number of web services to grab artist bio, event listings, youtube vidoes and flickr pictures of [...]

For some reason, under ubuntu-server, my default MySQL 5 character encoding was latin1. This caused no end of problems with grabbing data from the web, which was not necessarily in latin1 characterset.
If you are ever in this situation, I suggest you handle everything as UTF-8. That means setting the following lines in my.cnf:

1
2
3
4
[mysqld]
..
default-character-SET=utf8
skip-character-set-client-handshake

If you already [...]

I’ve abandoned the previous Wikipedia scraping approach for Brightonsound.com, as it was unreliable and didn’t pinpoint the right Wikipedia entry – ie: a band called ‘Horses’ would pull up a Wikipedia bio on the animal – which doesn’t look very professional. So instead, I have used the Musicbrainz API to retrieve some information on the [...]

At work I’ve written a couple of scripts that send out emails to the appropriate project team when someone checks in a commit to the project subversion repository. Here are the details.
Firstly, you will need a subversion hook setup on post-commit. The post-commit hook needs to be located in SVNROOT/YOURPROJECT/hooks where YOURPROJECT is your svn [...]

The Stanford engineering department, often regarded as the best in the world for computer science education, has made its core CS curriculum free for anyone with an internet connection. There are some catches, ie: you don’t get your assignments marked, you have no contact with the lecturer, but all the same, it is really a [...]

This is an overview of current Linux support under Hyper-V, the free Windows Server 2008 virtualisation product.
As you probably know, virtual servers allow the emulation of hardware in software. So you have a single physical ‘virtual server’. This virtual server emulates the physical hardware for several ‘virtual machines’ which sit on top of the virtual [...]

Bacula is a great open-source distributed backup program for Linux/UNIX systems. It is separated into three main components:

One ‘Director’ – which sends messages to the other components and co-ordinates the backup
One or more ‘File Demons’ – which ‘pull’ the data from the host they are installed from.
One or more ‘Storage Demons’ – which ‘push’ [...]

This is so cool.. Google are beta-testing a totally free hosting and cloud-computing resource called Google App Engine. The caveat is that your hosted app must be written in Python. Python is amazing anyway, and if you don’t know it, now is the perfect time to learn. Check this out for more information about Google [...]

I’ve started my own blog consulting business, helping people setup their own blogs, either for their company or for personal use. It’s called The Blog Factory, see the site for more information on what we do. In a nutshell, we can:
1) Setup and customise WordPress blogs.
2) Design custom WordPress themes.
3) Develop tailored WordPress plugins.
4) Host [...]

I did something out of the ordinary this Christmas. I bought an “XO” laptop for a child in a third world country. I also bought an XO laptop for myself, so I can develop software designed to be distributed to the 1 million+ XO laptops out there in the third world.
The laptop runs a Linux [...]

If you use Google calendar, and you’ve got an iPhone, or Windows Mobile phone like me, then you’ll be pleased to hear about the new Google Sync for Mobile tool just brought out into beta by Google. There were various ways to sync Google Calender events to Windows Mobile devices before, but nothing officially supported. [...]

Up until now, I’ve always used the terminal for programming development on my projects. Because I’m so familiar with the advanced text editor vim, I can get a lot done on the command line, and it doesn’t detract away from what is actually going on behind the scenes, as a lot of IDEs seem [...]

So, after saying all that stuff about how vimplugin and EasyEclipse was great, I actually started to use the setup heavily, and it started to annoy me.
For one, EE is not a recent build of eclipse, nor does it come with a full set of recent plugins. This makes it annoyingly difficult to use when [...]

So, about a month ago I got a second-hand microKORG from Ebay. Fiddling around with the preset patches, and creating new patches is great fun, even though I only know a few chords. Recently I plugged it in to my PC via my M-Audio Uno USB->MIDI interface, and soon was using Ableton Live to program [...]

A common task when setting up an Apache webserver under Linux, is writing a httpd.conf file. The httpd.conf file is the main configuration file for Apache. One of the main reasons to edit the httpd.conf file is to setup virtual hosts In Apache. A Virtual host configuration allows several different domains to be run off [...]

Volunteers on the OLPC project have developed a low-cost heart rate monitor that can be plugged into the XO laptop, making steps towards an affordable monitoring system for hospitals in developing countries.
For more information on the development, see the: OLPC Goldenstate project. People in the US can currently buy the sensor here; unfortunately there is [...]

There are more than a gazillion ways to use regexs. I am sure they are each very useful for their own subset of problems. The sheer variety can be highly confusing and scary for a lot of people though, and you only need to use a few approaches to accomplish most text-editing tasks.
Here is a [...]

I’m going to take a break from the purely technical posts to get more people to see this video. Here the late Dan Osman speed-climbs a cliff without any safety equipment.

Risky? Just a bit. A few years later he lost his life during a similar attempt. But no-one can doubt the guts required, and the [...]

I’ve been so busy working lately, I’ve hardly had time to update this website. On top of other things, I’ve just started freelancing as a contractor on oDesk – which actually seems quite a good way of getting paid for working on projects at home. Here is my current oDesk profile:
[...]

Today I encountered problems configuring the windows version of the popular text editor VIM, so I thought I’d write up a quick post talk about configuration files under the Windows version, if anyone becomes stuck like I did. I use Linux, OSX and Windows on a day-to-day basis, and VIM as a text editor for [...]

As a break from my contract work, I took the W3Schools PHP Certification. I didn’t do any revision, which probably wasn’t wise. It was a bit more difficult than I thought, but I passed still.

Back in 2008, I wrote a PHP class that fetched an arbitary URL, parsed it, and coverted it into an PHP object with different attributes for the different elements of the page. I recently updated it and sent it along to a company that wanted a programming example to show I could code in PHP.
I [...]

I’ve just updated the design of this blog, re-enabled comments and added a contact tab. I’ve installed a strong anti-spam comment filter, but you should now be able to comment on entries. I’ve also changed the layout of things slightly, and made it easier to read.

I’ve been using these shell scripts I wrote to convert between unix and windows text file formats. They seem to work well without any problems. If you put them in the /usr/sbin/ directory, they will be accessible on the path of the linux admin account root.
/usr/sbin/unix2win
#!/bin/bash
# Converts a unix text file to a windows text [...]

I’ve had to solve this problem a couple of times at least, and it’s quite a common task, so I thought I’d document it here.
When you send emails to users of your site through using the PHP mail() function, they will sometimes turn up in the mailbox of customers of your site with the following [...]