By Month:
March 2010
Changing the default “From:” email address for emails sent via PHP on Linux
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 [...]
Shell scripts for converting between Unix and Windows text file formats
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
Site Redesign
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.
PHP Sample – HTML Page Fetcher and Parser
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 [...]
Passed the W3Schools PHP Certification
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.
Config files for the Windows version of VIM
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 [...]
oDesk and Work
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
Speed Climbing
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 [...]
Regex in VIM.. simple
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
Heart rate monitor now available for the XO Laptop
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
VirutalHosts on CentOS
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 [...]
MicroKORG + Python = MIDI fun!
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 [...]
Eclipse 3.4.2 + Pydev + Eclim = win
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 [...]
EasyEclipse + Vimplugin for Python Development
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 [...]
Google Sync for Mobile
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
One Laptop Per Child – My XO Laptop
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 [...]
The Blog Factory
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
FREE Cloud Computing testbed for Python Apps
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 Scheduling
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’ [...]
Linux under Hyper-V
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
Stanford Engineering for Everyone
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 [...]
Automated Emails on Commiting to a Subversion Repository Using Python
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 [...]
Scraping Wikipedia Information for music artists, Part 2
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
Character encoding fix with PHP, MySQL 5 and ubuntu-server
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
Scraping artists bios off of Wikipedia
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
adExcellence Exam passed
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, [...]
Yahoo! Pipes
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 [...]
BrightonSound.com
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
A poor man’s VMWare Workstation: VMWare Server under Ubuntu 7.10 + VMWare Player under Windows XP
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). [...]
Brighton Barcamp2
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
OpenSocial
This is going to be absolutely huge:
An interesting blog written by a friend of mine
My friend Adam has a blog featuring interesting internet finds. Check it out:
One Idea
June 2007
A bit of theory..
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
Craiglist opens a Brighton, UK section
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 [...]
My Nabaztag
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
NVIDIA GeForce4 MX 420 under Ubuntu Dapper Drake
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 [...]
The topic of this blog
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
The topic of this blog
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 [...]
NVIDIA GeForce4 MX 420 under Ubuntu Dapper Drake
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 [...]
My Nabaztag
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 [...]
Craiglist opens a Brighton, UK section
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 [...]
A bit of theory..
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 [...]
An interesting blog written by a friend of mine
My friend Adam has a blog featuring interesting internet finds. Check it out:
One Idea
OpenSocial
This is going to be absolutely huge:
Brighton Barcamp2
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 [...]
A poor man’s VMWare Workstation: VMWare Server under Ubuntu 7.10 + VMWare Player under Windows XP
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). [...]
BrightonSound.com
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!
Yahoo! Pipes
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 [...]
adExcellence Exam passed
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, [...]
Scraping artists bios off of Wikipedia
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 [...]
Character encoding fix with PHP, MySQL 5 and ubuntu-server
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 [...]
Scraping Wikipedia Information for music artists, Part 2
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 [...]
Automated Emails on Commiting to a Subversion Repository Using Python
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 [...]
Stanford Engineering for Everyone
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 [...]
Linux under Hyper-V
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 Scheduling
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’ [...]
FREE Cloud Computing testbed for Python Apps
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 [...]
The Blog Factory
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 [...]
One Laptop Per Child – My XO Laptop
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 [...]
Google Sync for Mobile
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. [...]
EasyEclipse + Vimplugin for Python Development
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 [...]
Eclipse 3.4.2 + Pydev + Eclim = win
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 [...]
MicroKORG + Python = MIDI fun!
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 [...]
VirutalHosts on CentOS
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 [...]
Heart rate monitor now available for the XO Laptop
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 [...]
Regex in VIM.. simple
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 [...]
Speed Climbing
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 [...]
oDesk and Work
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:
[...]
Config files for the Windows version of VIM
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 [...]
Passed the W3Schools PHP Certification
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.
PHP Sample – HTML Page Fetcher and Parser
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 [...]
Site Redesign
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.
Shell scripts for converting between Unix and Windows text file formats
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 [...]
Changing the default “From:” email address for emails sent via PHP on Linux
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 [...]
