<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>More than seven</title>
    <link>/</link>
    <description>Recent content on More than seven</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-uk</language>
    <lastBuildDate>Sat, 15 Dec 2018 09:25:00 +0000</lastBuildDate>
    
	<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>What is CNAB?</title>
      <link>/2018/12/15/what-is-cnab/</link>
      <pubDate>Sat, 15 Dec 2018 09:25:00 +0000</pubDate>
      
      <guid>/2018/12/15/what-is-cnab/</guid>
      <description>We announced Cloud Native Application Bundles (CNAB) at DockerCon EU and Microsoft Connect just last week, and I spent a bunch of time talking to folks and anwsering questions about it at KubeCon too. As I’m heading home I thought it would be good to write down a few thoughts about what CNAB is. As I see it CNAB is two things:
 Formalisation of a pattern we’ve seen for multi-toolchain installers Commoditization of the packaging part of the infrastructure-as-code stack  Let’s take each of these in turn.</description>
    </item>
    
    <item>
      <title>Knative Build with Docker, BuildKit and Img</title>
      <link>/2018/07/29/knative-build-with-docker-buildkit-img/</link>
      <pubDate>Sun, 29 Jul 2018 10:13:00 +0000</pubDate>
      
      <guid>/2018/07/29/knative-build-with-docker-buildkit-img/</guid>
      <description>Knative Build is one of the components of Knative that shipped last week. Knative is described as a set of &amp;ldquo;essential base primitives&amp;rdquo;, one of those is an approach to describing build pipelines to run on Kubernetes.
Installing knative/build is relatively simple as long as you have a Kubernetes cluster running at least 1.10. Handily Docker Desktop for Windows or Mac makes it easy to get a local cluster up and running.</description>
    </item>
    
    <item>
      <title>Predictions for the direction of serverless platforms</title>
      <link>/2017/06/26/predictions-for-the-direction-of-serverless-platforms/</link>
      <pubDate>Fri, 07 Jul 2017 13:56:00 +0000</pubDate>
      
      <guid>/2017/06/26/predictions-for-the-direction-of-serverless-platforms/</guid>
      <description>While at JeffConf I had a particularly interesting conversation with Anne, James and Guy. Inspired by that, and the fact James is currently writing a blog post a day, I thought I&amp;rsquo;d have a go at writing up some of my thoughts.
I want to focus on a couple of things relevant to the evolution of Serverless as a platform and the resulting commercial ecosystem, namely the importance of Open Service Broker and a bet on OpenWhisk.</description>
    </item>
    
    <item>
      <title>Schemas for Kubernetes types</title>
      <link>/2017/06/26/schemas-for-kubernetes-types/</link>
      <pubDate>Mon, 26 Jun 2017 13:56:00 +0000</pubDate>
      
      <guid>/2017/06/26/schemas-for-kubernetes-types/</guid>
      <description>I&amp;rsquo;ve been playing around building a few Kubernetes developer tools at the moment and a few of those led me to the question; how do I validate this Kubernetes resource definition? This simple question led me through a bunch of GitHub issues without resolution, conversations with folks who wanted something similar, the OpenAPI specification and finally to what I hope is a nice resolution.
If you&amp;rsquo;re just after the schemas and don&amp;rsquo;t care for the details just head on over to the following GitHub repositories.</description>
    </item>
    
    <item>
      <title>Replacing cron jobs with Lambda and Apex</title>
      <link>/2017/05/29/replacing-cron-jobs-with-lambda-and-apex/</link>
      <pubDate>Mon, 29 May 2017 13:56:00 +0000</pubDate>
      
      <guid>/2017/05/29/replacing-cron-jobs-with-lambda-and-apex/</guid>
      <description>Everyone has little scripts that want running on some schedule. I&amp;rsquo;ve seen entire organisations basically running on cron jobs. But for all the simplicity of cron it has a few issues:
 It&amp;rsquo;s a per-host solution, in a world where hosts might be short-lived or unavailable for some other reason It requires a fully configured and secured machine to run on, which comes with direct and indirect costs  There are a variety of distributed cron solutions around, but each adds complexity for what might be a throw-away script.</description>
    </item>
    
    <item>
      <title>Conference speaking as a software vendor</title>
      <link>/2017/05/26/conference-speaking-as-a-software-vendor/</link>
      <pubDate>Fri, 26 May 2017 13:56:00 +0000</pubDate>
      
      <guid>/2017/05/26/conference-speaking-as-a-software-vendor/</guid>
      <description>While reviewing 100s of proposals for upcoming conferences (Velocity EU and PuppetConf) I tweeted the following, which seemed to get a few folks interest.
 I should write a blog post on &amp;ldquo;conference talk submissions for vendors/consultants&amp;rdquo;. Rule one: own your bias
 This reply in particular pushed me over the edge into actually writing this post:
 Would love to hear advice, been told more than once a talk was rejected since I work for a vendor, even though my talk was not a pitch.</description>
    </item>
    
    <item>
      <title>Kubernetes configuration without the YAML</title>
      <link>/2017/03/29/kubernetes-configuration-without-the-yaml/</link>
      <pubDate>Wed, 29 Mar 2017 13:56:00 +0000</pubDate>
      
      <guid>/2017/03/29/kubernetes-configuration-without-the-yaml/</guid>
      <description>Tomorrow at KubeCon in Berlin I&amp;rsquo;m running a birds-of-a-feather session to talk about Kubernetes configuration. Specifically we&amp;rsquo;ll be talking about whether Kubernetes configuration benefits from a domain specific language. If you&amp;rsquo;re at the conference and this sounds interesting come along.
The problem The fact the programme committee accepted the session proposa is hopefully a good indication that at least some other people in the community think this is an interesting topic to discuss.</description>
    </item>
    
    <item>
      <title>Republishing service manual content</title>
      <link>/2017/01/01/republishing-service-manual-content/</link>
      <pubDate>Sun, 01 Jan 2017 23:00:00 +0000</pubDate>
      
      <guid>/2017/01/01/republishing-service-manual-content/</guid>
      <description>One of the many things I did some work on while at GDS back in 2013 was the Government Service Design Manual. This was intended to be a central resource for teams across (and outside) Government about how to go about building, designing and running modern internet-era services. It was a good snapshot of opinions from the people that made up GDS on a wide range of different topics. Especially for the people who spent time in the field with other departments, having an official viewpoint published publicly was hugely helpful.</description>
    </item>
    
    <item>
      <title>What is Devops?</title>
      <link>/2017/01/01/what-is-devops/</link>
      <pubDate>Sun, 01 Jan 2017 22:00:00 +0000</pubDate>
      
      <guid>/2017/01/01/what-is-devops/</guid>
      <description>This post was originally written as part of the Government Service Design Manual while I was working for the UK Cabinet Office. Since my original in 2013 it was improved upon by several others I&amp;rsquo;m republishing it here under the terms of the Open Government licence.
Devops is a cultural and professional movement in response to the mistakes commonly made by large organisations. Often organisations will have very separate units for:</description>
    </item>
    
    <item>
      <title>Agile and IT service management</title>
      <link>/2017/01/01/agile-and-it-service-management/</link>
      <pubDate>Sun, 01 Jan 2017 21:00:00 +0000</pubDate>
      
      <guid>/2017/01/01/agile-and-it-service-management/</guid>
      <description>This post was originally written as part of the Government Service Design Manual while I was working for the UK Cabinet Office. Since my original in 2013 it was improved upon by several others I&amp;rsquo;m republishing it here under the terms of the Open Government licence.
The Digital by Default standard says that organisations should (emphasis on operate added):
 Put in place a sustainable multidisciplinary team that can design, build and operate the service, led by a suitably skilled and senior service manager with decision-making responsibility.</description>
    </item>
    
    <item>
      <title>User stories for web operations teams</title>
      <link>/2017/01/01/user-stories-for-web-operations/</link>
      <pubDate>Sun, 01 Jan 2017 20:00:00 +0000</pubDate>
      
      <guid>/2017/01/01/user-stories-for-web-operations/</guid>
      <description>This post was originally written as part of the Government Service Design Manual while I was working for the UK Cabinet Office in 2013. I&amp;rsquo;m republishing it here under the terms of the Open Government licence.
This document outlines the typical scope of infrastructure and web operations (sometimes erroneously referred to as hosting) work on a large service redesign project.
The sample list of user stories provided is not intended to be a complete list of all areas of interest nor are you likely to need to do all of this for every service.</description>
    </item>
    
    <item>
      <title>Working for a software vendor</title>
      <link>/2016/12/31/working-for-a-software-vendor/</link>
      <pubDate>Sat, 31 Dec 2016 14:37:50 +0000</pubDate>
      
      <guid>/2016/12/31/working-for-a-software-vendor/</guid>
      <description>One of the reasons I moved to Puppet two and a bit years ago was because I was interested in the software industry. In particular I was interested in being on the vendor side for a while. My background is mainly as a service provider, software as a service, in-house developer/ops type person. This has definitely been an interesting experience, but I&amp;rsquo;ve not tried too much to explain why, until now.</description>
    </item>
    
    <item>
      <title>The coming of the Kubernetes distributions</title>
      <link>/2016/11/23/the-coming-of-the-kubernetes-distributions/</link>
      <pubDate>Wed, 23 Nov 2016 00:00:00 +0000</pubDate>
      
      <guid>/2016/11/23/the-coming-of-the-kubernetes-distributions/</guid>
      <description>Very few people today start using Linux by downloading the linux kernel and starting from scratch. Most people start with a Linux distribution; for instance Debian, Ubuntu or CentOS. These distributions provide some opinions, some central infrastructure, a brand, strong versioning for the entire ecosystem and a bunch of other things. I posit that we&amp;rsquo;ll see the same pattern emerge with Kubernetes.
What even is Kubernetes? I&amp;rsquo;ve seen Kubernetes described as all of the following:</description>
    </item>
    
    <item>
      <title>Unikernels and The End of the General Purpose Operating System</title>
      <link>/2016/11/12/the-end-of-the-general-purpose-operating-system-unikernels/</link>
      <pubDate>Sat, 12 Nov 2016 00:00:00 +0000</pubDate>
      
      <guid>/2016/11/12/the-end-of-the-general-purpose-operating-system-unikernels/</guid>
      <description>The previous post went into why I think the days of the general purpose operating system (for servers) are numbered. But one interesting area I didn&amp;rsquo;t comment on (but did talk about in the talk of the same name) was Unikernels.
It&amp;rsquo;s all about cost One of the topics I didn&amp;rsquo;t really touch on in discussing the end of the generally purpose operating system was cost. Historically, maintaining a general purpose operating system has been a costly endeavour, something only the largest companies or communities could sustain by themselves.</description>
    </item>
    
    <item>
      <title>The End of the General Purpose Operating System</title>
      <link>/2016/11/05/the-end-of-the-general-purpose-operating-system-as-it-happens/</link>
      <pubDate>Sat, 05 Nov 2016 00:00:00 +0000</pubDate>
      
      <guid>/2016/11/05/the-end-of-the-general-purpose-operating-system-as-it-happens/</guid>
      <description>As interesting chat on Twitter today reminded me that not everyone is probably aware that we&amp;rsquo;re seeing a concerted attempt to dislodge the general purpose operating system from our servers.
I gave a talk about some of this nearly two years ago and I though a blog post looking at what I got right, what I got wrong and what&amp;rsquo;s actually happening would be of interest to folks. The talk was written only a few months after I joined Puppet.</description>
    </item>
    
    <item>
      <title>InfraKit Hello World</title>
      <link>/2016/10/07/infrakit-hello-world/</link>
      <pubDate>Fri, 07 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>/2016/10/07/infrakit-hello-world/</guid>
      <description>Docker just shipped InfraKit a few days ago at LinuxCon and, while at the Docker Distributed Systems Summit, I wanted to see if I could get a hello world example up and running. The documentation is lacking at the moment, epecially around how to tie the different components like instances and flavors together.
The following example isn&amp;rsquo;t going to do anything particularly useful, but it&amp;rsquo;s hopefully simple enough to help anyone else trying to get started.</description>
    </item>
    
    <item>
      <title>Everyone is Not a Software Company</title>
      <link>/2016/07/05/everyone-is-not-a-software-company/</link>
      <pubDate>Tue, 05 Jul 2016 00:00:00 +0000</pubDate>
      
      <guid>/2016/07/05/everyone-is-not-a-software-company/</guid>
      <description>The Everyone is a Software Company meme has been around for a number of years, but it feels increasingly hard to get away from recently. That prompted this post.
But what do we mean by Software Company? To be software company you&amp;rsquo;re going to need to employee software engineers and other professionals. Applying that logic to a large number of companies at once, and looking at how existing software companies are setup, we find a few large problems.</description>
    </item>
    
    <item>
      <title>Operations is more than just Systems Administration</title>
      <link>/2015/12/27/operations-more-than-systems-administration/</link>
      <pubDate>Sun, 27 Dec 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/12/27/operations-more-than-systems-administration/</guid>
      <description>I think one of the patterns of the last few years has been the democratization of systems administration, especially for web applications. Whether that&amp;rsquo;s Heroku or Docker, or Chef or Puppet, more and more traditional developers are doing work that would have been somebody else&amp;rsquo;s problem only a few years ago. But running in parallel to that thread is another less positive trend, that of conflating operations with just systems administation.</description>
    </item>
    
    <item>
      <title>Provisioning droplets with Puppet</title>
      <link>/2015/12/04/provisioning-droplets-with-puppet/</link>
      <pubDate>Fri, 04 Dec 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/12/04/provisioning-droplets-with-puppet/</guid>
      <description>I love DigitalOcean for quickly spinning up machines. I also like managing my infrastructure using Puppet. Enter the garethr-digitalocean module. This currently provides a single Puppet type; droplet.
Lets show a quick example of that, by launching two droplets, called test-digitalocean and test-digitalocean-1.
droplet { [&amp;#39;test-digitalocean&amp;#39;, &amp;#39;test-digitalocean-1&amp;#39;]: ensure =&amp;gt; present, region =&amp;gt; &amp;#39;lon1&amp;#39;, size =&amp;gt; &amp;#39;512mb&amp;#39;, image =&amp;gt; 14169855,} With the above manifest saved as droplets.pp we can run it with:</description>
    </item>
    
    <item>
      <title>Some Security Implication of Unikernels</title>
      <link>/2015/09/20/security-implications-of-unikernels/</link>
      <pubDate>Sun, 20 Sep 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/09/20/security-implications-of-unikernels/</guid>
      <description>I was attending the first GOTO London conference last week, in particlar the Rugged Track. One of the topics of conversation that came up was unikernels, and their potential for improving the state of software security. Unikernels are pretty new outside research groups, I’m just lucky enough to live and work in Cambridge where some of that research is happening. The security advantages of unikernels are one of the things that attracted me in the first place.</description>
    </item>
    
    <item>
      <title>A Discussion of The Operational Challenges With Unikernels</title>
      <link>/2015/08/21/operating-unikernel-challenges/</link>
      <pubDate>Fri, 21 Aug 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/08/21/operating-unikernel-challenges/</guid>
      <description>What are Unikernels Most of this post assumes a basic understanding of what unikernels are so I’d recommend reading Unikernels – the rise of the virtual library operating system before moving on.
Why are Unikernels interesting As a starting point: complexity. Managing infrastructure, and the software that runs on it, is too complicated. You can impose organisational rules to control this complexity (we only deploy on Debian, we only run JVM applications, the only allowed database is MySQL) but that limits you in other ways too, and in reality is nearly always broken somewhere in any non-trivial environment (this appliance uses Ubuntu, this software is only certified on Windows, PostgreSQL doesn’t run on the JVM).</description>
    </item>
    
    <item>
      <title>Update to Puppet Module Skeleton</title>
      <link>/2015/08/20/puppet-module-skeleton-updates/</link>
      <pubDate>Thu, 20 Aug 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/08/20/puppet-module-skeleton-updates/</guid>
      <description>Being on holiday last week meant I had a little time for some gardening of open source projects and I decided to update puppet-module-skeleton with some new opinions.
The skeleton is a replacement for the default module skeleton that ships with Puppet and is used by puppet module generate. Unlike the default skeleton this one is super-opinionated. It comes bundled with lots of testing tools, suggestions for documentation, integration with Travis CI, module coverage reports and more.</description>
    </item>
    
    <item>
      <title>Information Security Reading List</title>
      <link>/2015/05/19/information-security-reading-list/</link>
      <pubDate>Tue, 19 May 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/05/19/information-security-reading-list/</guid>
      <description>I read quite a bit (probably a book a week or so) and one of the topics I&amp;rsquo;ve been reading on for a while is information security. In a recent conversation someone asked for some book suggestions, so I thought I&amp;rsquo;d write that up in a blog post rather than an email.
Most of this list isn&amp;rsquo;t particularly technical. It&amp;rsquo;s not a developers list of software engineering tomes. If you&amp;rsquo;re a developer or operator then I&amp;rsquo;d recommend reading some of the more policy or journalistic pieces as well for context.</description>
    </item>
    
    <item>
      <title>Acceptance testing MirageOS installs</title>
      <link>/2015/05/09/acceptance-testing-mirageos/</link>
      <pubDate>Sat, 09 May 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/05/09/acceptance-testing-mirageos/</guid>
      <description>I&amp;rsquo;m pretty interested in MirageOS at the moment. Partly because I find the idea behind unikernels interesting and partly because I keep bumping into the nice folks OCaml Labs in Cambridge.
In order to write and build your MirageOS unikernel application you need an OCaml development environment. Although this is documented I wanted something a little more repeatable. I also found and reported a few bugs in the documentation which got me thinking about acceptance testing.</description>
    </item>
    
    <item>
      <title>Automating windows development environments</title>
      <link>/2015/01/02/automating-windows-development-environments/</link>
      <pubDate>Fri, 02 Jan 2015 00:00:00 +0000</pubDate>
      
      <guid>/2015/01/02/automating-windows-development-environments/</guid>
      <description>My job at Puppet Labs has given me an excuse to take a closer look at the advancements in Windows automation, in particular Chocolatey and BoxStarter. The following is very much a work in progress but it&amp;rsquo;s hopefully useful for a few things:
 If like me you&amp;rsquo;ve mainly been doing non-Windows development for a while it&amp;rsquo;s interesting to see what is possible If you&amp;rsquo;re starting out with infrastructure development on Windows the following could be a good starting place if you&amp;rsquo;re an experienced Windows pro then you can let me know of any improvements  All that&amp;rsquo;s needed is to run the following from a CMD or Powershell prompt on a new Windows machine (you can also visit the URL in Internet Explorer if you prefer).</description>
    </item>
    
    <item>
      <title>Docker, Puppet and shared volumes</title>
      <link>/2014/10/28/docker-puppet-shared-volumes/</link>
      <pubDate>Tue, 28 Oct 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/10/28/docker-puppet-shared-volumes/</guid>
      <description>During one of the openspace sessions at Devopsdays we talked about docker and configuration management, and one of the things we touched on was using dockers shared volumes support. This is easier to explain with an example.
First, lets create a docker image to run puppet. I&amp;rsquo;m also installing r10k for managing third party modules.
Docker FROM ubuntu:trusty RUN apt-get update -q RUN apt-get install -qy wget RUN wget http://apt.</description>
    </item>
    
    <item>
      <title>Using Puppet with key/value config stores</title>
      <link>/2014/10/12/using-puppet-with-key-value-config-stores/</link>
      <pubDate>Sun, 12 Oct 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/10/12/using-puppet-with-key-value-config-stores/</guid>
      <description>I like the central idea behind storing configuration in something like Etcd rather than lots of files on lots of disks, but a few challenges still remain. Things that spring to mind are:
 Are all your passwords now available to all of your nodes? How do I know when configuration changed and who changed it?  I&amp;rsquo;ll leave the first of those for today (although have a look at Conjur as one approach to this).</description>
    </item>
    
    <item>
      <title>Leaving GDS never easy</title>
      <link>/2014/07/20/leaving-gds-never-easy/</link>
      <pubDate>Sun, 20 Jul 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/07/20/leaving-gds-never-easy/</guid>
      <description>The following is the email I sent to lots of my colleagues at the Government Digital Service last week.
So, after 3 rather exciting years I&amp;rsquo;ve decided to leave GDS.
That&amp;rsquo;s surprisingly difficult to write if I&amp;rsquo;m honest.
I was part of the team that built and shipped the beta of GOV.UK. Since then I&amp;rsquo;ve worked across half of what has become GDS, equally helping and frustrating (then hopefully helping) lots of you.</description>
    </item>
    
    <item>
      <title>Using OWASP ZAP from the command line</title>
      <link>/2014/06/23/using-owasp-zap-from-the-command-line/</link>
      <pubDate>Mon, 23 Jun 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/06/23/using-owasp-zap-from-the-command-line/</guid>
      <description>I&amp;rsquo;m a big fan of OWASP ZAP or the Zed Attack Proxy. It&amp;rsquo;s suprisingly user friendly and nicely pulls of it&amp;rsquo;s aim of being useful to developers as well as more hardcore penetration testers.
One of the features I&amp;rsquo;m particularly fond of is the aforementioned proxy. Basically it can act as a transparent HTTP proxy, recording the traffic, and then analyse that to conduct various active security tests; looking for XSS issues or directory traversal vulnerabilities for instance.</description>
    </item>
    
    <item>
      <title>Consul, DNS and Dnsmasq</title>
      <link>/2014/04/25/consul/</link>
      <pubDate>Fri, 25 Apr 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/04/25/consul/</guid>
      <description>While at Craft I decided to have a quick look at Consul, a new service discovery framework with a few intersting features. One of the main selling points is a DNS interface with a nice API. The Introduction shows how to use this via the dig command line tool, but how do you use a custom internal DNS server without modifying all your applications? One answer to this question is Dnsmasq.</description>
    </item>
    
    <item>
      <title>Testing Vagrant runs with Cucumber</title>
      <link>/2014/03/15/testing-vagrant-runs-with-cucumber/</link>
      <pubDate>Sat, 15 Mar 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/03/15/testing-vagrant-runs-with-cucumber/</guid>
      <description>I&amp;rsquo;ve been a big fan of Vagrant since it&amp;rsquo;s initial release and still find myself using it for various tasks.
Recently I&amp;rsquo;ve been using it to test collections of Puppet modules. For a single host vagrant-serverspec is excellent. Simply install the plugin, add a provisioner and write your serverspec tests. The serverspec provisioner looks like the following:
config.vm.provision :serverspec do |spec| spec.pattern = &amp;#39;*_spec.rb&amp;#39; end But I also found myself wanting to test behaviour from the host (serverspec tests are run on the guest), and also wanted to write tests that checked the behaviour of a multi-box setup.</description>
    </item>
    
    <item>
      <title>Buy vs Build your Monitoring System</title>
      <link>/2014/02/16/buy-vs-build-your-monitoring-system/</link>
      <pubDate>Sun, 16 Feb 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/02/16/buy-vs-build-your-monitoring-system/</guid>
      <description>At the excellent London Devops meetup last week I asked what was apparently a controversial question:
 should you just use software as a service monitoring products rather than integrate lots of open source tools?
 This got a few people worked up and I promised a blog post.
Note that I wrote a post listing lots of open source monitoring tools not that long ago. And I&amp;rsquo;ve been to both the Monitorama events about open source monitoring.</description>
    </item>
    
    <item>
      <title>A template for Puppet modules</title>
      <link>/2014/02/05/a-template-for-puppet-modules/</link>
      <pubDate>Wed, 05 Feb 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/02/05/a-template-for-puppet-modules/</guid>
      <description>A little while ago I published a template writing your own puppet modules. It&amp;rsquo;s very opinionated but comes out of the box with lots of the tools you eventually find and add to your tool box. I&amp;rsquo;m posting this as it came up at the recent Configuration Management Camp and after discussing it I realised I hadn&amp;rsquo;t actually wrote anything about it anywhere.
What do you get?  A simple install, config, service class pattern Unit tests with rspec-puppet Rake tasks for linting and syntax checking Integration tests using Beaker A Modulefile to provide Forge metadata Command line tools to upload to the Forge with blacksmith A README based on the Puppetlabs documentation standards Travis CI configuration based on the official Puppetlabs support matrix A Guardfile which can run all the tests when you change manifests  Obviously you can choose not to use parts of this, or even delete aspects, but I find that approach much quicker than starting from scratch or copying files from previous modules and changing names.</description>
    </item>
    
    <item>
      <title>Code coverage for Puppet modules</title>
      <link>/2014/01/25/code-coverage-for-puppet-modules/</link>
      <pubDate>Sat, 25 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/01/25/code-coverage-for-puppet-modules/</guid>
      <description>One of my favourite topics for a while now has been infrastructure as code. Part of that involves introducing well understood programming techniques to infrastructure - from test driven design, to refactoring and version control. One tool I&amp;rsquo;m fond of (even with it&amp;rsquo;s potential to be misused) is code coverage. I&amp;rsquo;d been meaning to go code spelunking to see if this could be done for testing Puppet modules.
The functionality is now in master for rspec-puppet and so anyone feeling brave can use it now, or if you must wait for the 2.</description>
    </item>
    
    <item>
      <title>Shell provisioner for Test Kitchen</title>
      <link>/2014/01/12/shell-provisioner-for-test-kitchen/</link>
      <pubDate>Sun, 12 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/01/12/shell-provisioner-for-test-kitchen/</guid>
      <description>As of a few weeks ago Test Kitchen has a shell provisioner as well as the original Chef provisioners. This opens up all sorts of interesting testing potential.
If you&amp;rsquo;ve not already seen Test Kitchen, probably because you&amp;rsquo;re not using Chef, it&amp;rsquo;s a tool for integration testing infrastructure code. Configured by a simple YAML file it will setup a matrix of virtual machines, using Virtualbox, AWS, OpenStack and more, run some setup code (normally applying Chef recipes) and then run a test suite (with support for Bats, ShUnit2, Rspec and Serverspec).</description>
    </item>
    
    <item>
      <title>Testing Packer created images with serverspec</title>
      <link>/2014/01/01/testing-packer-created-images-with-serverspec/</link>
      <pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate>
      
      <guid>/2014/01/01/testing-packer-created-images-with-serverspec/</guid>
      <description>Packer provides a great way of describing the steps for creating a virtual machine image. But it doesn&amp;rsquo;t have a built-in way of verifying those images.
Serverspec provides a nice framework for writing tests against infrastructure, asserting the operation of services or the installation of packages.
I&amp;rsquo;m interested at the moment in building continous delivery pipelines for infrastructure components and have a simple working example of testing Packer with Serverspec on Github.</description>
    </item>
    
    <item>
      <title>Making the web secure, one unit test at a time</title>
      <link>/2013/12/29/making-the-web-secure/</link>
      <pubDate>Sun, 29 Dec 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/12/29/making-the-web-secure/</guid>
      <description>Originally written as part of Sysadvent 2013.
Writing automated tests for your code is one of those things that, once you have gotten into it, you never want to see code without tests ever again. Why write pages and pages of documentation about how something should work when you can write tests to show exactly how something does work? Looking at the number and quality of testing tools and frameworks (like cucumber, rspec, Test Kitchen, Server Spec, Beaker, Casper and Jasmine to name a few) that have popped up in the last year or so I&amp;rsquo;m obviously not the only person who has a thing for testing utilities.</description>
    </item>
    
    <item>
      <title>Introducing Hyde</title>
      <link>/2013/12/28/introducing-hyde/</link>
      <pubDate>Sat, 28 Dec 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/12/28/introducing-hyde/</guid>
      <description>Hyde is a brazen two-column Jekyll theme that pairs a prominent sidebar with uncomplicated content. It&amp;rsquo;s based on Poole, the Jekyll butler.
Built on Poole Poole is the Jekyll Butler, serving as an upstanding and effective foundation for Jekyll themes by @mdo. Poole, and every theme built on it (like Hyde here) includes the following:
 Complete Jekyll setup included (layouts, config, 404, RSS feed, posts, and example page) Mobile friendly design and development Easily scalable text and component sizing with rem units in the CSS Support for a wide gamut of HTML elements Related posts (time-based, because Jekyll) below each post Syntax highlighting, courtesy Pygments (the Python-based code snippet highlighter)  Hyde features In addition to the features of Poole, Hyde adds the following:</description>
    </item>
    
    <item>
      <title>Looking into monitoring and logging tools</title>
      <link>/2013/10/13/looking-into-monitoring-and-logging-tools/</link>
      <pubDate>Sun, 13 Oct 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/10/13/looking-into-monitoring-and-logging-tools/</guid>
      <description>Originally published on Medium.
We have a bunch of internal mailing lists at work, and on one of them someone asked:
 we’re looking into monitoring/logging tools…
 I ended up writing a bit of a long reply which a few people found useful, so I thought I’d repost it here for posterity. I’m sure this will date but I think it’s a reasonable snapshot of the state of open source monitoring tools at the end of 2013.</description>
    </item>
    
    <item>
      <title>Platform as a Service and the network gap</title>
      <link>/2013/08/11/platform-as-a-service-and-the-network-gap/</link>
      <pubDate>Sun, 11 Aug 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/08/11/platform-as-a-service-and-the-network-gap/</guid>
      <description>Originally published on Medium.
I&amp;rsquo;m a big fan of the Platform as a Service (PaaS) model of operating web application infrastructure. But I&amp;rsquo;m a much bigger user and exponent of Infrastructure as a Service (IaaS) products within my current role working for the UK Government. This post describes why that is, and hopefully helps anyone else inside other large enterprise organisations reason about the advantages and disadvantages, and helps PaaS vendors and developers understand what I personally thing is a barrier to adoption in that type of organisation.</description>
    </item>
    
    <item>
      <title>Web application security tools</title>
      <link>/2013/04/23/web-application-security-tools/</link>
      <pubDate>Tue, 23 Apr 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/04/23/web-application-security-tools/</guid>
      <description>I&amp;rsquo;ve become increasingly interested in web application security issues over the last year or so. Working in Government will do that to you. And I&amp;rsquo;ve come to the conclusion that a) there are lots of good open source security tools, b) many of them are terribly packaged and c) most developers don&amp;rsquo;t use any of them.
I&amp;rsquo;ve been having related conversations at recent events I&amp;rsquo;ve made it along to, including Devopsdays London which featured some good open spaces discussions on the subject.</description>
    </item>
    
    <item>
      <title>Government Service Design Manual</title>
      <link>/2013/03/23/government-service-design-manual/</link>
      <pubDate>Sat, 23 Mar 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/03/23/government-service-design-manual/</guid>
      <description>I&amp;rsquo;ve not been writing many blog posts lately, but I have been doing quite a bit of writing elsewhere. One of the things I&amp;rsquo;ve had a hand in at work is the new Government Service Design Manual. This is the work of many people I work with as well as further afield. It&amp;rsquo;s intended to be a good starting place to find information about building high quality digital services.
The manual is in beta and we&amp;rsquo;re looking for as much feedback as possible on the whole thing.</description>
    </item>
    
    <item>
      <title>Perils of portability</title>
      <link>/2013/03/23/perils-of-portability/</link>
      <pubDate>Sat, 23 Mar 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/03/23/perils-of-portability/</guid>
      <description>I had fun speaking at QCon in London earlier this month with a talk on the Cloud track entitled the Perils of Portability.
This had some Governmenty stuff in but was mainly part rant, part hope for the future of cloud infrastructure. I had some great conversations with people afterwards who felt some of the similar pain which was nice to know. I also somehow managed to get 120 slides into a 40 minute presentation which I think is a personal records.</description>
    </item>
    
    <item>
      <title>Going fast in government</title>
      <link>/2013/02/17/going-fast-in-government/</link>
      <pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/02/17/going-fast-in-government/</guid>
      <description>About a month ago I had the good fortune of speaking at the London Web Performance meetup. This was one of the first talks I&amp;rsquo;ve done about our work at The Government Digital Service since the luanch of GOV.UK back in October. The topic was all about moving quickly in a large organisation (The UK Civil Service is about 450,000 people so I think it counts) and featured just a hand full of technical and organisational tricks we used.</description>
    </item>
    
    <item>
      <title>March madness</title>
      <link>/2013/02/17/march-madness/</link>
      <pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/02/17/march-madness/</guid>
      <description>With only a week or so to go before the end of February, it&amp;rsquo;s looking like March might be a little busy.
 I&amp;rsquo;m speaking at QCon, in London on Wednesday 6th on Clouds in Government - Perils of Portability (which in hindsight is probably the silliest title for a talk I&amp;rsquo;ve ever used) On the 15th and 16th of March I&amp;rsquo;ll be at Devopsdays, again in London. I&amp;rsquo;ve been helping out with organising the event and I&amp;rsquo;m very much looking forward to going along after seeing all the work being put in.</description>
    </item>
    
    <item>
      <title>Django and Rails presentation from QCon</title>
      <link>/2013/01/13/django-and-rails-presentation-from-qcon/</link>
      <pubDate>Sun, 13 Jan 2013 00:00:00 +0000</pubDate>
      
      <guid>/2013/01/13/django-and-rails-presentation-from-qcon/</guid>
      <description>I had great fun back in November at the QCon conference in San Francisco. As well as currating one of the tracks and catching up with people in the area I managed to give the following talk.
 In hindsight it might have been a bit odd to try and cover both Rails and Django examples in the one presentation but it was quite good fun putting together code examples using both of them at the same time.</description>
    </item>
    
    <item>
      <title>my personal package repository</title>
      <link>/2012/12/30/my-personal-package-repository/</link>
      <pubDate>Sun, 30 Dec 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/12/30/my-personal-package-repository/</guid>
      <description>I&amp;rsquo;m a big fan of system packages for lots of reasons and have often ended up rolling my own debian package repository at work, or working with others that have done so. Recently I finally got round to setting up a personal package repo, at packages.garethrushgrove.com. More interesting than the repo is probably the tool chain I used, oh and the rather nice bootstrap based styling.
The source code for everything is on GitHub although not much documentation exists yet.</description>
    </item>
    
    <item>
      <title>On the forge</title>
      <link>/2012/12/03/on-the-forge/</link>
      <pubDate>Mon, 03 Dec 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/12/03/on-the-forge/</guid>
      <description>I&amp;rsquo;ve been spending a bit of time recently pushing a few Puppet modules to the Forge. This is Puppetlabs attempt to make a central repository of reusable puppet modules. I started doing it as a bit of an experiment, to find out what I liked and what worked and I decided to writeup a few opinions.
So far I&amp;rsquo;ve shipped the following modules:
 Riemann Graphite Logstash Freight  Quite a few of these started as forks of other modules but have evolved quite a bit towards being more reusable.</description>
    </item>
    
    <item>
      <title>Shipping</title>
      <link>/2012/10/21/shipping/</link>
      <pubDate>Sun, 21 Oct 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/10/21/shipping/</guid>
      <description>Last week we shipped GOV.UK. Over the last year we&amp;rsquo;ve built a team to build a website. Now we&amp;rsquo;re busy building a culture too. I&amp;rsquo;ve got so much that needs writing up about everything we&amp;rsquo;ve been up to. Hopefully I&amp;rsquo;ll make a start in the next week or so.</description>
    </item>
    
    <item>
      <title>Tale Of A Grok Pattern</title>
      <link>/2012/08/19/Tale-of-a-grok-pattern/</link>
      <pubDate>Sun, 19 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/08/19/Tale-of-a-grok-pattern/</guid>
      <description>I&amp;rsquo;m all of a sudden adding lots more code to GitHub. Here&amp;rsquo;s the latest project, grok patterns for logstash. At the moment this repo only contains one new pattern but I&amp;rsquo;m hoping to add more, and maybe even for others to add more too.
First, a bit of background. Logstash is the excellent, open source, log agregation and processing framework. It takes inputs from various configurable places, processes them with filters and then outputs the results.</description>
    </item>
    
    <item>
      <title>Riemann Puppet Module</title>
      <link>/2012/08/11/Riemann-puppet-module/</link>
      <pubDate>Sat, 11 Aug 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/08/11/Riemann-puppet-module/</guid>
      <description>Thanks to an errant tweet I started playing with Riemann again. It ticks lots of boxes for me, from the clojure to configuration as code and the overloadable dashboard application. What started as using Puppet and Vagrant to investigate Riemann turned into a full blown tool and module writing exercise, resulting in two related projects on GitHub.
 garethr-riemann is a Puppet module for installing and configuring Riemann. It allows for easily specifying your own server configuration and dashboard views.</description>
    </item>
    
    <item>
      <title>The Vagrantbox.es Story</title>
      <link>/2012/07/01/The-vagrantbox.es-story/</link>
      <pubDate>Sun, 01 Jul 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/07/01/The-vagrantbox.es-story/</guid>
      <description>A few weeks ago now Vagrantbox.es (a website I maintain for third party hosted Vagrant base boxes) dissapeared from the internet for a few days. This was completely my fault, the (lovely) hosting people ep.io had unfortunately closed down the service they had in beta and I&amp;rsquo;d been so busy that I hadn&amp;rsquo;t had chance to move it elsewhere.
The original version of the site (I had the code and good backups of the data) was a pretty simple Django application, but I&amp;rsquo;d used it to experiment (read over-engineer) with various bits of tech including Varnish, Solr, some ORM caching and lots more.</description>
    </item>
    
    <item>
      <title>Static Sites With Nginx On Heroku</title>
      <link>/2012/06/05/Static-sites-with-nginx-on-heroku/</link>
      <pubDate>Tue, 05 Jun 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/06/05/Static-sites-with-nginx-on-heroku/</guid>
      <description>I have a few static sites on Heroku but in one case in particular I already had quite an involved nginx configuration - mainly 410s for some previous content and a series of redirects from older versions of the site. The common way of having static sites on Heroku appears to be to use a simple Rack middleware, but that would have meant reimplementing lots of boring redirect logic.
Heroku buildpacks are great.</description>
    </item>
    
    <item>
      <title>Self Contained Jruby Web Applications</title>
      <link>/2012/04/06/Self-contained-jruby-web-applications/</link>
      <pubDate>Fri, 06 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/04/06/Self-contained-jruby-web-applications/</guid>
      <description>Several things seemed to come together at once to make me want to hack on this particular project. In no particular order:
The Thoughtworks Technology Radar said the following:
 Embedding a servlet container, such as Jetty, inside a Java application has many advantages over running the application inside a container. Testing is relatively painless because of the simple startup, and the development environment is closer to production. Nasty surprises like mismatched versions of libraries or drivers are eliminated by not sharing across multiple applications.</description>
    </item>
    
    <item>
      <title>Recent Projects And Talks</title>
      <link>/2012/03/31/Recent-projects-and-talks/</link>
      <pubDate>Sat, 31 Mar 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/03/31/Recent-projects-and-talks/</guid>
      <description>I&amp;rsquo;ve been pretty busy with all things GOV.UK recently but I&amp;rsquo;ve managed to get a few bits of unrelated code up and a few talks in. I&amp;rsquo;m still pretty busy so here&amp;rsquo;s a list of some of them rather than a proper blog post.
 Puppet Data Mining talk from last weeks PuppetCamp in Edinburgh. Introducting Web Operations talk I gave at work to give my mainly non-development colleagues an idea about what it&amp;rsquo;s all about.</description>
    </item>
    
    <item>
      <title>Dashboards At Gov.Uk</title>
      <link>/2012/02/19/Dashboards-at-govuk/</link>
      <pubDate>Sun, 19 Feb 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/02/19/Dashboards-at-govuk/</guid>
      <description>This is a bit of a cheat blog post really. I&amp;rsquo;ve been crazy busy all month with little time for anything except work (specifically shipping the first release of www.gov.uk). I have had a little time to blog over on the Cabinet Office blog though, about work we&amp;rsquo;ve done with dashboards.
http://digital.cabinetoffice.gov.uk/2012/02/08/radiating-information/
If you&amp;rsquo;re ever looking for good little hack projects dashboards are perfect, and often hugely useful once up and running.</description>
    </item>
    
    <item>
      <title>What&#39;s Jekyll?</title>
      <link>/2012/02/06/whats-jekyll/</link>
      <pubDate>Mon, 06 Feb 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/02/06/whats-jekyll/</guid>
      <description>Jekyll is a static site generator, an open-source tool for creating simple yet powerful websites of all shapes and sizes. From the project&amp;rsquo;s readme:
 Jekyll is a simple, blog aware, static site generator. It takes a template directory [&amp;hellip;] and spits out a complete, static website suitable for serving with Apache or your favorite web server. This is also the engine behind GitHub Pages, which you can use to host your project’s page or blog right here from GitHub.</description>
    </item>
    
    <item>
      <title>Talking To Jenkins From Campfire With Hubot</title>
      <link>/2012/01/06/Talking-to-jenkins-from-campfire-with-hubot/</link>
      <pubDate>Fri, 06 Jan 2012 00:00:00 +0000</pubDate>
      
      <guid>/2012/01/06/Talking-to-jenkins-from-campfire-with-hubot/</guid>
      <description>In what turned out to be a productive holiday hacking with languages I&amp;rsquo;d not used before, I got round to writing some coffeescript on node.js. This was more to do with scratching a personal itch that pure experimentation. I had a play with Janky (Github&amp;rsquo;s Jenkins/Hubot mashup) but found it a little opinionated on the Jenkins side, but the campfire integration is excellent. Looking at the Jenkins commands in hubot-scripts though I found those even more opinionated.</description>
    </item>
    
    <item>
      <title>EC2 Tasks For Fabric</title>
      <link>/2011/12/31/Ec2-tasks-for-fabric/</link>
      <pubDate>Sat, 31 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/12/31/Ec2-tasks-for-fabric/</guid>
      <description>For running ad-hoc commands across a small number of servers you really can&amp;rsquo;t beat Fabric. It requires nothing other than ssh installed on the servers, is generally just a one-line install and requires next to no syntaxtic fluff between you and the commands you want running. It&amp;rsquo;s much more of a swiss army knife to Capistranos bread knife.
I&amp;rsquo;ve found myself doing more and more EC2 work of late and have finally gotten around to making my life easier when using Fabric with Amazon instances.</description>
    </item>
    
    <item>
      <title>First Experience Building Something With Clojure</title>
      <link>/2011/12/26/First-experience-building-something-with-clojure/</link>
      <pubDate>Mon, 26 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/12/26/First-experience-building-something-with-clojure/</guid>
      <description>I nearly always try and grab some time over Christmas to try something new and this year I&amp;rsquo;d been planning on spending some time with Clojure. I have several friends who are big fans, but dipping in and out of a book hadn&amp;rsquo;t really worked. What I needed was an itch to scratch.
I stuck with a domain I&amp;rsquo;m pretty familiar with for this first project, namely building a little web application.</description>
    </item>
    
    <item>
      <title>Setting Puppet Class Using Environment Variables</title>
      <link>/2011/12/13/Setting-puppet-class-using-environment-variables/</link>
      <pubDate>Tue, 13 Dec 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/12/13/Setting-puppet-class-using-environment-variables/</guid>
      <description>I&amp;rsquo;m not sure how novel this approach is but a few folks at work hadn&amp;rsquo;t seen it before so I thought it worth jotting down.
If you have even a small but dynamic set of servers then a problem arises with how those nodes are defined in puppet. A node remember is defined in puppet like so:
node web3.example.com { include web_server }  The problem is twofold. If you have a growing infrastructure, that list of nodes is going to get quickly out of hand.</description>
    </item>
    
    <item>
      <title>Jenkins Parameterized Builds</title>
      <link>/2011/11/16/Jenkins-parameterized-builds/</link>
      <pubDate>Wed, 16 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/11/16/Jenkins-parameterized-builds/</guid>
      <description>I&amp;rsquo;m a huge Jenkins fan now, but that wasn&amp;rsquo;t always the case. I started (and still have a soft spot for) Cruise Control, mainly building .NET and PHP applications. I then jumped to much simpler projects like Integrity mainly for Python and Ruby projects. I reasoned I didn&amp;rsquo;t need the complexity of Cruise or Hudson, I just wanted to be able to run my tests on a remote machine and have something go green or red.</description>
    </item>
    
    <item>
      <title>Exposing Puppet And Facter Information On The Web</title>
      <link>/2011/11/02/Exposing-puppet-and-facter-information-on-the-web/</link>
      <pubDate>Wed, 02 Nov 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/11/02/Exposing-puppet-and-facter-information-on-the-web/</guid>
      <description>I don&amp;rsquo;t appear to have been in a writing mood recently but I&amp;rsquo;ve been getting back into hacking on a couple of pet projects. The first fruits of this coding (mainly backwards and forwards on the train) I&amp;rsquo;ve just made available to anyone interested.
Web Facter is a gem which takes the output from Facter and exposes this as JSON over HTTP. In theory you could run this on a configurable port on each of your machines and have a URL you can hit to get information on uptime, networking setup, hostnames or anything else exposed by Facter.</description>
    </item>
    
    <item>
      <title>Javascript In Your Ruby: Mongoid Map Reduce</title>
      <link>/2011/10/10/Javascript-in-your-ruby-mongoid-map-reduce/</link>
      <pubDate>Mon, 10 Oct 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/10/10/Javascript-in-your-ruby-mongoid-map-reduce/</guid>
      <description>We&amp;rsquo;re pretty fond of Mongodb at work and I&amp;rsquo;ve been getting an opportunity to kick some of the more interesting tyres recently. I thought I&amp;rsquo;d document something I found myself doing here, half hoping it might be useful for anyone else with a similar problem and also to see if anyone else has a much neater approach. The examples are obviously pretty trivial, but hopefully you get the idea.
So, we&amp;rsquo;re making using of the rather nice Mongoid Ruby library for defining our models as Ruby classes.</description>
    </item>
    
    <item>
      <title>Rundeck And Nagios Nrpe Checks</title>
      <link>/2011/09/11/Rundeck-and-nagios-nrpe-checks/</link>
      <pubDate>Sun, 11 Sep 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/09/11/Rundeck-and-nagios-nrpe-checks/</guid>
      <description>I&amp;rsquo;ve been playing with Rundeck recently. For those that haven&amp;rsquo;t seen it yet it&amp;rsquo;s an application for running commands across a cluster of machines and recording the results. It has both a command line client and a very rich web interface which boths allows you to trigger commands and shows the results.
I&amp;rsquo;ve played with a few different jobs so far, including triggering Puppet runs across machines triggered by a Jenkins plugin.</description>
    </item>
    
    <item>
      <title>On Her Majesty&#39;s Digital Service</title>
      <link>/2011/08/19/On-her-majestys-digital-service/</link>
      <pubDate>Fri, 19 Aug 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/08/19/On-her-majestys-digital-service/</guid>
      <description>This blog post is mainly an excuse to use the pun in the title. It&amp;rsquo;s also an opportunity to tell folks that don&amp;rsquo;t already know I&amp;rsquo;ll be starting a new job on Monday working for the UK Government. I&amp;rsquo;m going to be work for the Government Digital Service, a new department tasked with a pretty wide range of sorting the Government out online.
The opportunity is huge. And when it came around I couldn&amp;rsquo;t turn it down.</description>
    </item>
    
    <item>
      <title>Talking Configuration Management, Vagrant And Chef At Lrug</title>
      <link>/2011/08/11/Talking-configuration-management-vagrant-and-chef-at-lrug/</link>
      <pubDate>Thu, 11 Aug 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/08/11/Talking-configuration-management-vagrant-and-chef-at-lrug/</guid>
      <description>I stepped in at the last minute to do a talk at the last London Ruby User Group. From the feedback afterwards folks seemed to enyoy it and I certainly had fun. Thanks to everyone who came along.
 
As well as the slides the nice Skills Matter folks have already uploaded the videos from the night.</description>
    </item>
    
    <item>
      <title>Vim With Ruby Support Using Homebrew</title>
      <link>/2011/07/31/Vim-with-ruby-support-using-homebrew/</link>
      <pubDate>Sun, 31 Jul 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/07/31/Vim-with-ruby-support-using-homebrew/</guid>
      <description>I&amp;rsquo;ve spend a bit of time this weekend cleaning, tidying and upgrading software on my mac. While doing that I got round to compiling my own Vim. I&amp;rsquo;d been meaning to do this for a while, I prefer using Vim in a terminal to using MacVim, and I like having access to things like Command-T which requires Ruby support which the inbuild version lacks.
Vim isn&amp;rsquo;t in Homebrew, because Homebrew&amp;rsquo;s policy is to not provide duplicates of already installed software.</description>
    </item>
    
    <item>
      <title>Jenkins Build Pipeline Example</title>
      <link>/2011/07/24/Jenkins-build-pipeline-example/</link>
      <pubDate>Sun, 24 Jul 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/07/24/Jenkins-build-pipeline-example/</guid>
      <description>The idea of a build pipeline for web application deployment appears to have picked up lots of interest from the excellent Continuous Delivery book. Inspired by that, some nice folks have build an excellent plugin for Jenkins unsurprisingly called the Build Pipeline Plugin. Here&amp;rsquo;s a quick example of how I&amp;rsquo;m using it for one of my projects*.
The pipeline is really just a visualisation of up and downstream builds in Jenkins given a starting point, plus the ability to setup manual steps rather than just the default build after ones.</description>
    </item>
    
    <item>
      <title>Varnish At Refresh Cambridge</title>
      <link>/2011/07/07/Varnish-at-refresh-cambridge/</link>
      <pubDate>Thu, 07 Jul 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/07/07/Varnish-at-refresh-cambridge/</guid>
      <description>I did a quick lightning talk at the Refresh Cambridge meetup last night, a very quick introduction to Varnish. Given 10 minutes all I really wanted to do was get people to go away and take a look at it. Lots of folks in the room hadn&amp;rsquo;t come across it before so I think the talk was hopefully well pitched.
 Several people asked about slighly dynamic pages and I only got chance to mention support for ESI (Edge Side Includes) at the end.</description>
    </item>
    
    <item>
      <title>Django Performance Patterns 1: Measuring Performance</title>
      <link>/2011/06/30/Django-performance-1-measuring-performance/</link>
      <pubDate>Thu, 30 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/06/30/Django-performance-1-measuring-performance/</guid>
      <description>Preface As Django has matured it&amp;rsquo;s being used for bigger and bigger projects. At the same time it&amp;rsquo;s also being used by more and more people building relatively simple applications quickly. Everyone&amp;rsquo;s application is different, but I&amp;rsquo;d wager the vast majority of these have a range of common performance problems. Performance is often something only larger teams get to spend time really getting to grips with. This is sometimes because smaller projects can&amp;rsquo;t afford the time, or more often probably that things are thought to be fast enough anyway.</description>
    </item>
    
    <item>
      <title>New Ganglia Web Interface Improvements</title>
      <link>/2011/06/26/New-ganglia-web-interface-improvements/</link>
      <pubDate>Sun, 26 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/06/26/New-ganglia-web-interface-improvements/</guid>
      <description>So I&amp;rsquo;m a huge Ganglia fan. It&amp;rsquo;s my go-to tool for standard low level metrics and for more ad-hoc higher level stuff as well. So I&amp;rsquo;m very happy to see the newly released version of the Ganglia Web interface.
Here&amp;rsquo;s the old look and feel:
And here&amp;rsquo;s the new version:
The first thing that stands out to me is the wide range of new options. We have a navigation bar with items like search, views, agregate graphs, events and mobile.</description>
    </item>
    
    <item>
      <title>Logging Django Performance</title>
      <link>/2011/06/09/Logging-django-performance/</link>
      <pubDate>Thu, 09 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/06/09/Logging-django-performance/</guid>
      <description>I&amp;rsquo;ve been doing some basic performance profiling work with Ruby on Rails recently and one tool I found very useful was the request log analyzer. It&amp;rsquo;s a relatively simple command line application that you can point at the Rails application log files and it outputs lots of information in agregate. So information about request duration averages or about SQL queries run. When working on a recent Django project I wanted a tool to do the same thing and ended up writing timelog.</description>
    </item>
    
    <item>
      <title>Debugging HTTP Headers with RedBot</title>
      <link>/2011/06/04/Getting-http-headers-right/</link>
      <pubDate>Sat, 04 Jun 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/06/04/Getting-http-headers-right/</guid>
      <description>I&amp;rsquo;ve been using the Vagrantbox.es site as a bit of a playground recently and I&amp;rsquo;ve been meaning to blog about some of the overengineering I&amp;rsquo;ve been doing. Here&amp;rsquo;s a smaller starter.
Getting the headers returned by your web server correct is both easy to do and easy to forget about. Unless you go actively looking for headers with curl or similar you&amp;rsquo;ll probably miss them, and even then will you spot an incorrect header by eye?</description>
    </item>
    
    <item>
      <title>Python On Cloudfoundry</title>
      <link>/2011/05/15/Python-on-cloudfoundry/</link>
      <pubDate>Sun, 15 May 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/05/15/Python-on-cloudfoundry/</guid>
      <description>For those that haven&amp;rsquo;t yet had a look Cloudfoundry from VMware is two things, one of which is nice, one of which is very cool indeed:
 On one hand it&amp;rsquo;s a platform as a service, allowing you to easily deploy Ruby, Java and Node.js applications to cloudfoundry.com. On the other hand it&amp;rsquo;s an open source project with all the code on Github allowing you to run the entire stack wherever you like.</description>
    </item>
    
    <item>
      <title>Vagrant Plugin For Interacting With Vagrantbox.es</title>
      <link>/2011/05/08/Vagrant-plugin-for-interacting-with-vagrantboxes/</link>
      <pubDate>Sun, 08 May 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/05/08/Vagrant-plugin-for-interacting-with-vagrantboxes/</guid>
      <description>After Patrick released Sahara, a nifty extension for the Vagrant command line tool, I&amp;rsquo;ve been meaning to put together a similar extension for interacting with the growing list of base boxes on vagrantbox.es.
After a bit of hacking this morning I&amp;rsquo;ve just pushed out an initial release of the vagrantboxes gem and you can find the source code and some documentation on GitHub.
The extensions adds a vagrantboxes namespace to the vagrant command line tool which provides a few useful commands.</description>
    </item>
    
    <item>
      <title>Version Control And Deployment Of Cron Jobs</title>
      <link>/2011/05/07/Version-control-and-deployment-of-cron-jobs/</link>
      <pubDate>Sat, 07 May 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/05/07/Version-control-and-deployment-of-cron-jobs/</guid>
      <description>A recent question on Twitter prompted me to write a quick blog post about managing cron jobs. As more and more people want to automate provisioning and deployment of web applications some, maybe previously manually managed, items come into the fold.
Cron jobs are interesting because you may prefer to see them as part of the infrastructure (like apache or mysql) or as part of your application code. I think both are valid, sometimes at the same time.</description>
    </item>
    
    <item>
      <title>Creating A Cucumber Nagios Package With Fpm</title>
      <link>/2011/04/29/Creating-a-cucumber-nagios-package-with-fpm/</link>
      <pubDate>Fri, 29 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/04/29/Creating-a-cucumber-nagios-package-with-fpm/</guid>
      <description>I&amp;rsquo;ve written before about why I like System Packages, but even I&amp;rsquo;ll admit that the barriers to creating them mean I don&amp;rsquo;t use them for everything. FPM however is making it much easier, to the point where I&amp;rsquo;m starting to create a few packages I can reuse on projects. I thought a write up of how I&amp;rsquo;m doing that for Cucumber-Nagios might be useful.
For those that haven&amp;rsquo;t seen it yet, FPM (or Effing Package Management) is a tool that helps you build packages, like RPMs and DEBs, quickly.</description>
    </item>
    
    <item>
      <title>Devops Weekly Archive</title>
      <link>/2011/04/17/Devops-weekly-archive/</link>
      <pubDate>Sun, 17 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/04/17/Devops-weekly-archive/</guid>
      <description>Since I launched it back in November my Devops Weekly email has been pretty well received I think. Folks on twitter seem to like it, as do a few people I&amp;rsquo;ve met at recent events who have said nice things. One thing a few people have been after though is an online archive, either because email just doesn&amp;rsquo;t work for them or more often because they missed out on the earlier issues.</description>
    </item>
    
    <item>
      <title>Collecting Metrics With Ganglia And Friends</title>
      <link>/2011/04/02/Collecting-metrics-with-ganglia-and-friends/</link>
      <pubDate>Sat, 02 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/04/02/Collecting-metrics-with-ganglia-and-friends/</guid>
      <description>I had the pleasure of speaking at Cambridge Geek Night on Monday again, the topic of conversation being using Ganglia to collect more than just base systems metrics.
 
The audience of web developers, the odd sysadmin and business folk seemed to enjoy it and we had lots of time for questions at the end. The main point I tried to get across was that Ganglia makes a great platform for ad-hoc metrics gathering due to the ability to just throw values at it and get time series graphs without any extra configuration.</description>
    </item>
    
    <item>
      <title>Vagrant At The Guardian</title>
      <link>/2011/04/02/Vagrant-at-the-guardian/</link>
      <pubDate>Sat, 02 Apr 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/04/02/Vagrant-at-the-guardian/</guid>
      <description>As recent blog posts on here make clear, I&amp;rsquo;m a big fan of Vagrant. And when Michael asked if I&amp;rsquo;d fancy talking to some of his colleagues at The Guardian about how I use it I really couldn&amp;rsquo;t say no.
I gave a short talk, running through the following slides, and running a few demos showing creating, destroying and provisioning new machines.
 
More interesting I thought were the questions and conversations that followed.</description>
    </item>
    
    <item>
      <title>Devops Isn&#39;t A Methodology</title>
      <link>/2011/03/26/Devops-isnt-a-methodology/</link>
      <pubDate>Sat, 26 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/03/26/Devops-isnt-a-methodology/</guid>
      <description>I was reading Devops is a poorly executed scam and just couldn&amp;rsquo;t resist a reply. Not because of the entertaining title, but because I both agree and disagree quite strongly with parts of the post. Read it first if you haven&amp;rsquo;t already. And yes I know I&amp;rsquo;m feeding the internet.
I&amp;rsquo;m going to pick parts of the post out and then comment. Hopefully I&amp;rsquo;m not quoting these in any way out of context.</description>
    </item>
    
    <item>
      <title>A Continuous Deployment Example Setup</title>
      <link>/2011/03/20/A-continuous-deployment-example-setup/</link>
      <pubDate>Sun, 20 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/03/20/A-continuous-deployment-example-setup/</guid>
      <description>One of the reasons behind getting around to building Vagrantbox.es recently was I was giving a talk to a group of startups on The Difference Engine programme and I wanted to have an example project to demonstrate various things. I wanted to demonstrate everything from sensible version control habbits, configuration management, basic orcestration and most importantly a solid deployment process. I&amp;rsquo;ve decided to write up what I&amp;rsquo;m doing for deployment because I think it&amp;rsquo;s pretty nice, and for all the talk about Continuous Deployment I haven&amp;rsquo;t seen many examples of code and configuration to make it happen.</description>
    </item>
    
    <item>
      <title>Site For Vagrant Base Boxes</title>
      <link>/2011/03/12/Site-for-vagrant-base-boxes/</link>
      <pubDate>Sat, 12 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/03/12/Site-for-vagrant-base-boxes/</guid>
      <description>A brief conversation with Matt Keating on Twitter finally pushed me over the edge and I&amp;rsquo;ve built a site I&amp;rsquo;d been meaning to do for a while.
I&amp;rsquo;m a huge Vagrant fan, but one thing that often comes up is where to find base boxes. My newly launched site Vagranbox.es provides just that. At the moment that just means user submitted boxes being checked and then posted. I&amp;rsquo;ll likely add comments and ratings and the like if things become popular but that&amp;rsquo;s for later.</description>
    </item>
    
    <item>
      <title>Devops - More Than Marketing - Talk By James Turnbull</title>
      <link>/2011/03/02/Devops-more-than-marketing-talk-by-james-turnbull/</link>
      <pubDate>Wed, 02 Mar 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/03/02/Devops-more-than-marketing-talk-by-james-turnbull/</guid>
      <description>I&amp;rsquo;ve just found my notes from James Turnbull&amp;rsquo;s talk at FOSDEM. I found the talk excellent, and I&amp;rsquo;m already part of the choir. But much of the audience I&amp;rsquo;d guess have only come across the devops term in passing, or worse had it pushed at them as part of marketing materials. Hopefully I captured the main points:
So what is devops all about?  Cooperation (between development and operations teams) Buzzword bingo?</description>
    </item>
    
    <item>
      <title>Configuration Management For Development Environments</title>
      <link>/2011/02/08/Configuration-management-for-development-environments/</link>
      <pubDate>Tue, 08 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/02/08/Configuration-management-for-development-environments/</guid>
      <description>I had the pleasure of speaking at Fosdem last weekend to a packed Configuration amd systems management devroom.
My presentation covered some of the same ground as recent blog posts, namely why you should be using virtualisation and config management tools to manage your local development environment.

People even said nice things about it:
 @garethr basically has this subject completely covered. He&amp;rsquo;s even advocating the correct editor. excellent #fosdem talk</description>
    </item>
    
    <item>
      <title>Using Checkinstall With Virtualenv For Python Deployments</title>
      <link>/2011/01/29/Using-checkinstall-with-virtualenv-for-python-deployments/</link>
      <pubDate>Sat, 29 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/01/29/Using-checkinstall-with-virtualenv-for-python-deployments/</guid>
      <description>Michael Brunton-Spall wrote last week about some frustrations with packagings and deploying Python web applications. Although his experience was with Python, the problems he describes are the same for Ruby and PHP and a whole host of languages. The following example uses Python, but works equally as well for anything else.
Michael has three simple rules for his servers:
 they cannot access the internet they cannot access internal services that are for development they cannot have compilers / utilities on them  I won&amp;rsquo;t go into all the reasons for doing this (you can read the blog post linked to above) but these are pretty sensible security precautions.</description>
    </item>
    
    <item>
      <title>Why Developers Should Care About System Packages</title>
      <link>/2011/01/16/Why-developers-should-care-about-system-packages/</link>
      <pubDate>Sun, 16 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/01/16/Why-developers-should-care-about-system-packages/</guid>
      <description>First a bit of background. I&amp;rsquo;m a software developer (lately in Ruby and a tiny bit of Java, previously in Python, C# and PHP; yes I got around a bit), but have spent enough time looking after production hardware (mainly debian, solaris and recently a bit of RHEL) to have a feel for sysadmin work. I even have friends who are systems administrators. I mainly use a shiny apple laptop for my development work, but I actually execute all the code on Linux virtual machines.</description>
    </item>
    
    <item>
      <title>My Default Recipes For Vagrant Virtual Machines</title>
      <link>/2011/01/10/My-default-recipes-for-vagrant-virtual-machines/</link>
      <pubDate>Mon, 10 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/01/10/My-default-recipes-for-vagrant-virtual-machines/</guid>
      <description>I&amp;rsquo;ve written about Vagrant previously and the more I use it the more it impresses me and the more it changes how I work. For those that haven&amp;rsquo;t yet used vagrant the brief summary is, it&amp;rsquo;s a way of managing, creating and destroying headless virtualbox virtual machines. So when I&amp;rsquo;m sat at my computer and I want a new 32 bit virtual machine based on Maverick I just type.
vagrant init maverick32 vagrant up  It has some other magic tricks as well, like automatically setting up NFS shares between the host and guest and allowing you to specify ports to forward in the configuration file.</description>
    </item>
    
    <item>
      <title>Solr Libraries and Good API Design</title>
      <link>/2011/01/01/Solr-libraries-and-good-api-design/</link>
      <pubDate>Sat, 01 Jan 2011 00:00:00 +0000</pubDate>
      
      <guid>/2011/01/01/Solr-libraries-and-good-api-design/</guid>
      <description>I&amp;rsquo;m a huge Solr fan. Once you understand what it does (it&amp;rsquo;s a search engine, which means more than you think) and how it works you spot lots of thorny problems that map to it&amp;rsquo;s features really well. In my experience it&amp;rsquo;s also very fast and very stable once installed and setup. Oh, and the community support is great as well.
When I talk to some folks about Solr all they can think about is full text search.</description>
    </item>
    
    <item>
      <title>Heroku For...</title>
      <link>/2010/12/29/Heroku-for.../</link>
      <pubDate>Wed, 29 Dec 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/12/29/Heroku-for.../</guid>
      <description>With the success of Heroku, both in terms of the recent sale and the fact it&amp;rsquo;s awesome, it was always just a matter of time before other languages and frameworks got into the platform as a service game. Here&amp;rsquo;s all the one&amp;rsquo;s I know about so far, many of them in or entering beta testing at the moment. Any others I&amp;rsquo;m missing?
Update Thanks for all the comments on here and on Hacker News, I&amp;rsquo;ve updated this list with all the suggestions.</description>
    </item>
    
    <item>
      <title>A Vagrant Ecosystem</title>
      <link>/2010/12/24/A-vagrant-ecosystem/</link>
      <pubDate>Fri, 24 Dec 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/12/24/A-vagrant-ecosystem/</guid>
      <description>As mentioned loudly and repeatedly on here and on Twitter I love vagrant. While writing a chef cookbook to bootstrap my virtual machines I started thinking about how things around vagrant could help it be more useful. These might be things I&amp;rsquo;m going to do, or ideally get involved with others to do. If anyone has any other ideas, or suggestions please leave comments, I definately think this is the time for discussion.</description>
    </item>
    
    <item>
      <title>Smoke Testing With Cucumber On Sysadvent</title>
      <link>/2010/12/20/Smoke-testing-with-cucumber-on-sysadvent/</link>
      <pubDate>Mon, 20 Dec 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/12/20/Smoke-testing-with-cucumber-on-sysadvent/</guid>
      <description>I wrote a quick article last week for the excellent sysadvent advent calendar, Smoke Testing Deployments with Cucumber talks a bit more about using a few of my favourite tools to check whether a deployment just broke anything important.</description>
    </item>
    
    <item>
      <title>Sinatra On Glassfish Example</title>
      <link>/2010/11/28/Sinatra-on-glassfish-example/</link>
      <pubDate>Sun, 28 Nov 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/11/28/Sinatra-on-glassfish-example/</guid>
      <description>I magically turned into a Java developer last week for a bit when I had to do some integration with a SOAP based API that really really wanted me to write Java on client as well. That led me down the route of having a good look at Jruby (which I&amp;rsquo;ve used before, mainly for testing using celerity) and in particular how easy it was to use native Java classes in Jruby (very, very easy as it turns out).</description>
    </item>
    
    <item>
      <title>Devops Weekly</title>
      <link>/2010/11/21/Devops-weekly/</link>
      <pubDate>Sun, 21 Nov 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/11/21/Devops-weekly/</guid>
      <description>I&amp;rsquo;ve really been enjoying Ruby Weekly recently, it&amp;rsquo;s an email newsletter by Peter Cooper which brings the latest Ruby related news and articles to your inbox.
I have to admit to being sceptical at first about the format, I think I unsubscribed from most email newsletters many years ago, moving my reading to RSS and then Twitter. But I&amp;rsquo;ve actually found a regularly appearing email a great way to catch up with the goings on.</description>
    </item>
    
    <item>
      <title>Books For People Interested In Devops</title>
      <link>/2010/11/07/Books-for-people-interested-in-devops/</link>
      <pubDate>Sun, 07 Nov 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/11/07/Books-for-people-interested-in-devops/</guid>
      <description>Before starting with FreeAgent I decided I should spend a bit more time with Ruby and set about building something I&amp;rsquo;d been thinking about for a while. I&amp;rsquo;ve just launched the first one of my related pet projects so thought I better link to it from here.

Devops Books is exactly what it sounds like; a list of books that people interested in the whole devops concept should read. It&amp;rsquo;s not a complete list just yet and I&amp;rsquo;ll try and keep it up to date as new interesting books get released.</description>
    </item>
    
    <item>
      <title>Why You Should Be Using Virtualisation</title>
      <link>/2010/11/04/Why-you-should-be-using-virtualisation/</link>
      <pubDate>Thu, 04 Nov 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/11/04/Why-you-should-be-using-virtualisation/</guid>
      <description>My main development machine for a while has been an apple laptop. From looking around at conferences, offices and usergroups I know I&amp;rsquo;m not alone. But I don&amp;rsquo;t really run code on my mac very often, certainly not for work. I might edit the code on my mac but I execute it running in a virtualised Linux environment matching (as close as possible) the production environment it&amp;rsquo;s going to end up in.</description>
    </item>
    
    <item>
      <title>Chef Hello World</title>
      <link>/2010/10/30/Chef-hello-world/</link>
      <pubDate>Sat, 30 Oct 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/10/30/Chef-hello-world/</guid>
      <description>I&amp;rsquo;ve been playing with Chef recently, in particular the solo variant. The new job at FreeAgent meant setting up new development virtual machines and rather than just jot down instructions I decided to script everything. I&amp;rsquo;d been wanting an excuse to take a look at Chef for a while and it&amp;rsquo;s certainly suited to this sort of job.
Unfortunately the getting started documentation isn&amp;rsquo;t yet great. I&amp;rsquo;m pretty sure this will improve over time, I had exactly the same problem with the Puppet docs a year ago.</description>
    </item>
    
    <item>
      <title>Working For Freeagent</title>
      <link>/2010/09/13/Working-for-freeagent/</link>
      <pubDate>Mon, 13 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/09/13/Working-for-freeagent/</guid>
      <description>So, I&amp;rsquo;ve just accepted a new job at FreeAgent, the rather snappy online small business accounting startup. I&amp;rsquo;ll be starting in about a month, when I get back from devopsdays in Hamburg.
I&amp;rsquo;m joining a pretty well knit group of designers and developers working on a pretty well loved piece of software. I&amp;rsquo;ve known Roan (one of the directors) for years, ever since the first Highland Fling conference I think. And the rest of the team seem a good mix of technical smarts and professionalism.</description>
    </item>
    
    <item>
      <title>Script Running Web Interface With Websockets</title>
      <link>/2010/09/09/Script-running-web-interface-with-websockets/</link>
      <pubDate>Thu, 09 Sep 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/09/09/Script-running-web-interface-with-websockets/</guid>
      <description>After something of a break I found a bit of time for some hacking at the weekend and decided to scratch a personal itch. I like writing shell scripts for everything from checking on things to deploying code. For anything that is more than just executing one command, or anything with detailed output or that takes a while I like to be able to see what&amp;rsquo;s going on. I also like to (OK, only sometimes) let other people run those commands and not all those people want to check something out and run a console.</description>
    </item>
    
    <item>
      <title>Git Pre Recieve Hook For Integrity</title>
      <link>/2010/07/11/Git-pre-recieve-hook-for-integrity/</link>
      <pubDate>Sun, 11 Jul 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/07/11/Git-pre-recieve-hook-for-integrity/</guid>
      <description>I&amp;rsquo;m getting married rather soon so time has been somewhat short (in a good way) for just hacking on stuff, but I&amp;rsquo;ve finally found a little bit of time to play with something I&amp;rsquo;ve been mulling over for a while. Namely a continuous deployment workflow using the integrity continous integration server.
I&amp;rsquo;m hoping to have an incredibly simple but fully operation example available at some point - mainly to act as a good discussion point.</description>
    </item>
    
    <item>
      <title>Python: What To Use?</title>
      <link>/2010/06/29/Python-what-to-use/</link>
      <pubDate>Tue, 29 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/06/29/Python-what-to-use/</guid>
      <description>My friend Jamie Rumbelow has started a new project and decided to use Python. He asked a great question over on Stack Overflow which basically came down to what should I use for my first proper Python web application project. After a quick prompting on twitter I decided to have a go. I&amp;rsquo;ve cross posted my anwser below more because it took as long as a typical blog post to write.</description>
    </item>
    
    <item>
      <title>Dibi Video</title>
      <link>/2010/06/19/Dibi-video/</link>
      <pubDate>Sat, 19 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/06/19/Dibi-video/</guid>
      <description>The videos from the DIBI conference are now up on Vimeo. Lots of good stuff and more to come. The one disadvantage of a a two track conference is you miss half the talks so when I get a chance I&amp;rsquo;ll be catching up with those talks I didn&amp;rsquo;t get chance to see.</description>
    </item>
    
    <item>
      <title>Very Simple Custom Ganglia Metrics</title>
      <link>/2010/06/01/Very-simple-custom-ganglia-metrics/</link>
      <pubDate>Tue, 01 Jun 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/06/01/Very-simple-custom-ganglia-metrics/</guid>
      <description>Logging useful information from running systems for monitoring purposes is pretty important if you want to see how your software is behaving in the real world. It&amp;rsquo;s one thing to test something locally, another to test something under load on a testing environment and quite something else to watch production code while running.
The numbers can be useful for checking newly released code isn&amp;rsquo;t having a detrimental effect on performance, observing what changes in load are doing to systems over time and planning for future capacity growth.</description>
    </item>
    
    <item>
      <title>Devops Twitter Aggregator</title>
      <link>/2010/05/26/Devops-twitter-aggregator/</link>
      <pubDate>Wed, 26 May 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/05/26/Devops-twitter-aggregator/</guid>
      <description>I&amp;rsquo;ve been hacking on appengine again and have thrown up a simple twitter aggregator for devops. It&amp;rsquo;s again based on TwitterEngine with an increasing number of additions and changes.
As well as just the tweets I want to build a few other small features. The first of which is link extraction, so at the moment you&amp;rsquo;ll see recent links a the top of the page. I&amp;rsquo;ll hopefully make that a little more useful, with better browing and converting short urls into the real ones.</description>
    </item>
    
    <item>
      <title>Installing Integrity On Debian/Ubuntu</title>
      <link>/2010/05/18/Installing-integrity-on-debianubuntu/</link>
      <pubDate>Tue, 18 May 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/05/18/Installing-integrity-on-debianubuntu/</guid>
      <description>I&amp;rsquo;ve been playing with Integrity again as a simple continuous integration server and have installed it on a few debian and ubuntu machines in the last few weeks. The current site has good installation instructions for the Ruby side of things but leaves it as an excercise for the installer to make sure all the system level dependencies are installed.
So probably as much for me in the future, here is what I had to install to get the installation instructions to work for me.</description>
    </item>
    
    <item>
      <title>You&#39;re Going To Need A Bigger Toolbox</title>
      <link>/2010/04/29/Youre-going-to-need-a-bigger-toolbox/</link>
      <pubDate>Thu, 29 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/04/29/Youre-going-to-need-a-bigger-toolbox/</guid>
      <description>I&amp;rsquo;m just getting back from Newcastle after getting to present at the first Design It Build It conference. It was great to be back up in Newcastle and to see lots of familiar faces. As with most conferences it was also good to meet new people (especially those for whom it was their first conference) and to listen to people talking about interesting stuff. Personal highlights for me were David Singleton from Last.</description>
    </item>
    
    <item>
      <title>Devops At Barcamp Cambridge</title>
      <link>/2010/04/24/Devops-at-barcamp-cambridge/</link>
      <pubDate>Sat, 24 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/04/24/Devops-at-barcamp-cambridge/</guid>
      <description>I&amp;rsquo;m at barcamp cambridge this weekend and decided to do a short talk on devops. It&amp;rsquo;s still a term that not too many people have come across and something that lots of people building websites should think about.

I put the slides together this morning so much of it will be familiar to people who have been reading the same blog posts as me over the last year or so.</description>
    </item>
    
    <item>
      <title>DIBI Twitter Aggregator</title>
      <link>/2010/04/19/Dibi-twitter-aggregator/</link>
      <pubDate>Mon, 19 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/04/19/Dibi-twitter-aggregator/</guid>
      <description>So, DIBI is just over a week away and lots of people seem to be getting excited. Personally I&amp;rsquo;m really looking forward to it. I get a nice trip back up to my old home of Newcastle and get to talk geek to an audience of likeminded (and not so likeminded) web professionals. I&amp;rsquo;m also going to catch up with quite a few people I haven&amp;rsquo;t seen in quite a while.</description>
    </item>
    
    <item>
      <title>Hadoop Hive Web Interface</title>
      <link>/2010/04/05/Hadoop-hive-web-interface/</link>
      <pubDate>Mon, 05 Apr 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/04/05/Hadoop-hive-web-interface/</guid>
      <description>I&amp;rsquo;ve been playing with Hive recently and liking what I&amp;rsquo;ve found. In theory at least it provides a very nice, simple way of getting into analysing large data sets. To make it even easier to show other people what you&amp;rsquo;re up to Hive has a nascent web interface with a little documentation on the wiki
On the one hand it&amp;rsquo;s rather simple at this point, but that should be easily enought to prettify given a bit of time.</description>
    </item>
    
    <item>
      <title>More Django Project Templates</title>
      <link>/2010/03/28/More-django-project-templates/</link>
      <pubDate>Sun, 28 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/03/28/More-django-project-templates/</guid>
      <description>Quite a while ago I released some handy scripts for building up Django project layouts. Part of the reason behind this was to kick off discussions about ideal pproject layouts and maybe even get a few user submitted layouts into the project. Paster makes this soft of thing really easy to do and I was interested in what people might come up with.
Well, the team over at The Chicargo Tribune have done just that, creating a branch of the original project and adding a very rich example project to it</description>
    </item>
    
    <item>
      <title>Sandbox Your Ruby Gems</title>
      <link>/2010/03/21/Sandbox-your-ruby-gems/</link>
      <pubDate>Sun, 21 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/03/21/Sandbox-your-ruby-gems/</guid>
      <description>I&amp;rsquo;m a huge fan of virtualenv for Python. It&amp;rsquo;s a simple tool that lets you have an isolated python environment into which you can install libraries via setup tools. It makes experimenting with different versions of code easier and avoids lots of problems with hard to find bugs caused by unknown third party conflicts.
Sandbox aims to do exactly the same for Ruby. It isolates your gem installation from the system libraries and providesa script to activate the named environment.</description>
    </item>
    
    <item>
      <title>Static Generator For Web Services</title>
      <link>/2010/03/19/Static-generator-for-web-services/</link>
      <pubDate>Fri, 19 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/03/19/Static-generator-for-web-services/</guid>
      <description>My latest on a train project is Dumper, a static generator for web services. I&amp;rsquo;m a huge fan of Nanoc and tools like Jekyl for building websites. But I spend at least as much time building small webservicds. I wanted something super simple that would let me expose data I had access to as a read only web service.
At the moment that means using a mysql database, specifying a SQL query and running a python script.</description>
    </item>
    
    <item>
      <title>Piston And Sanitising Json Callbacks</title>
      <link>/2010/03/08/Piston-and-sanitising-json-callbacks/</link>
      <pubDate>Mon, 08 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/03/08/Piston-and-sanitising-json-callbacks/</guid>
      <description>I&amp;rsquo;m a big fan of Piston, the django app for creating RESTful web services. As part of a project at work I ended up looking through the source code, mainly at some of the neat tricks of serialisation of objects. While poking around I came across something in my mind that wanted fixing. This being open source rather than just file a bug report I setup a bitbucket account and got hacking.</description>
    </item>
    
    <item>
      <title>Mysql Support For Cucumber Nagios</title>
      <link>/2010/03/07/Mysql-support-for-cucumber-nagios/</link>
      <pubDate>Sun, 07 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/03/07/Mysql-support-for-cucumber-nagios/</guid>
      <description>I just noticed Lindsay had committed the amqp steps for cucumber-nagios and remembered I hadn&amp;rsquo;t mentioned on here some other work I&amp;rsquo;ve been doing on the same project. We use MySQL quite a bit at work and I&amp;rsquo;ve been wanting to extent our monitoring for a while. So I set about thinking how that would work with cucumber-nagios. What I&amp;rsquo;ve come up with looks something like this:
 Feature: localhost To make sure the rest of the system is in order Our database server should not be overloaded Scenario: check running processes count Given I have a MySQL server on localhost And I use the username root Then it should have less than 10 processes Scenario: check queries per second Given I have a MySQL server on localhost And I use the username root Then it should have less than 200 select queries per second Then it should have less than 300 queries per second Then it should have less than 5 slow queries pers second Then it should have at least 10 queries per second  The numbers, username details and host details are all variables.</description>
    </item>
    
    <item>
      <title>New Nanoc Powered Blog</title>
      <link>/2010/03/07/New-nanoc-powered-blog/</link>
      <pubDate>Sun, 07 Mar 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/03/07/New-nanoc-powered-blog/</guid>
      <description>It&amp;rsquo;s taken longer than I would have liked but I&amp;rsquo;ve finally gotten around to relaunching this site on nanoc.
After looking through lots of code from the nanoc showcase I had a pretty good feel for how I wanted things to work and I then used the excellent nanoc3_blog template to get started. I&amp;rsquo;ve hacked around quite a bit with the code to get things how I wanted them. Using Less to make the CSS more manageable, Coderay for lovely syntax highlighting and making everything default to textile rather than markdown.</description>
    </item>
    
    <item>
      <title>On blogging platforms</title>
      <link>/2010/02/15/blogging-platforms/</link>
      <pubDate>Mon, 15 Feb 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/02/15/blogging-platforms/</guid>
      <description>Every now and again I feel the need for a change and spent a little time tonight looking at different blogging software. I&amp;rsquo;m currently running a custom django app I wrote a good while ago, more as an excuse to play with Django than anything. Previously I&amp;rsquo;ve used Wordpress, Textpattern and even Radiant. But I&amp;rsquo;m coming to the conclusion that what I want doesn&amp;rsquo;t exist. In theory that means an opportunity for someone to enter the market, in reality I think it might just be me.</description>
    </item>
    
    <item>
      <title>DJUGL February</title>
      <link>/2010/02/11/djugl-february/</link>
      <pubDate>Thu, 11 Feb 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/02/11/djugl-february/</guid>
      <description>The next Django User Group London is in two weeks time. You can register over on Eventwax. So far we have Brad talking with more speakers to be announced shortly. Hope to see a few people there.</description>
    </item>
    
    <item>
      <title>The rise of the in-house team?</title>
      <link>/2010/02/01/rise-house-team/</link>
      <pubDate>Mon, 01 Feb 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/02/01/rise-house-team/</guid>
      <description>I was just thinking about the Design it Build it conference later in the year (full disclosure: I&amp;rsquo;m speaking). Specifically the people speaking on the developer track. Between myself, Michael Brunton-Spall from The Guardian, David Singleton from Last.fm and Emma Persky from Gumtree four of the six speakers work on in-house teams. Not early stage start-ups, not large software/advertising companies, not as freelancers but in a reasonable sized company on a development team.</description>
    </item>
    
    <item>
      <title>RabbitMQ support for Cucumber-nagios</title>
      <link>/2010/01/30/rabbitmq-support-cucumber-nagios/</link>
      <pubDate>Sat, 30 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/01/30/rabbitmq-support-cucumber-nagios/</guid>
      <description>I&amp;rsquo;ve been doing more operations related work of late and am starting to use Cucumber-nagios for various monitoring tasks. Nagios might not be the most attractive of web interfaces but it&amp;rsquo;s so simple to get clients up and running and extend to do what you need. Cucumber however has a lovely, text based, user interface. And although I&amp;rsquo;m mainly working with Python at the moment cucumber-nagios (written in Ruby) really is the easiest way I&amp;rsquo;ve found of writing simple functional tests.</description>
    </item>
    
    <item>
      <title>Processing large files with sed and awk</title>
      <link>/2010/01/26/processing-large-files-sed-and-awk/</link>
      <pubDate>Tue, 26 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/01/26/processing-large-files-sed-and-awk/</guid>
      <description>I found myself using a couple of powerful but underused command line applications this week and felt like sharing.
My problem involved a large text file with over three million lines and a script that processed the file line by line, in this case running a SQL query against a remote database.
My script didn&amp;rsquo;t try and process everything in one go, rather taking off large chunks and processing them in turn, then stopping and printing out the number of lines processed.</description>
    </item>
    
    <item>
      <title>Speaking at DIBI</title>
      <link>/2010/01/07/speaking-dibi/</link>
      <pubDate>Thu, 07 Jan 2010 00:00:00 +0000</pubDate>
      
      <guid>/2010/01/07/speaking-dibi/</guid>
      <description>I&amp;rsquo;ll be heading back up to Newcastle in April to give a talk at what&amp;rsquo;s shaping up to be a good looking conference to kick off the year with. DIBI is trying to please everyone, with both front and backend focused streams.
 Created for both sides of the web coin, DIBI brings together designers and developers for an unusual two-track web conference. World renowned speakers leading in their fields of work will talk about all things web.</description>
    </item>
    
    <item>
      <title>Dreque</title>
      <link>/2009/11/28/dreque/</link>
      <pubDate>Sat, 28 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/11/28/dreque/</guid>
      <description>I&amp;rsquo;ve just found Dreque from Samuel Stauffer on GitHub. It&amp;rsquo;s yet another take on the whole messaging things which is definitely seeing a lot of activity at the back end of this year. It&amp;rsquo;s using Redis on the backend and looks really rather nice:
Submitting jobs:
&amp;lt;code&amp;gt;from dreque import Dreque def some_job(argument): pass dreque = Dreque(&amp;quot;127.0.0.1&amp;quot;) dreque.enqueue(&amp;quot;queue&amp;quot;, some_job, argument=&amp;quot;foo&amp;quot;)&amp;lt;/code&amp;gt;  Worker:
&amp;lt;code&amp;gt;from dreque import DrequeWorker worker = DrequeWorker([&amp;quot;queue&amp;quot;], &amp;quot;127.0.0.1&amp;quot;) worker.work()&amp;lt;/code&amp;gt;  </description>
    </item>
    
    <item>
      <title>DJUGL December</title>
      <link>/2009/11/05/djugl-december/</link>
      <pubDate>Thu, 05 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/11/05/djugl-december/</guid>
      <description>As mentioned at the last event I&amp;rsquo;ve taken over organising the Django User Group London event from Rob. Tickets are now available for the next event which is going to be on the 3rd of December at The Guardian offices in Kings Cross.
You can sign up on eventwax</description>
    </item>
    
    <item>
      <title>Erlang Screencasts</title>
      <link>/2009/11/01/erlang-screencasts/</link>
      <pubDate>Sun, 01 Nov 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/11/01/erlang-screencasts/</guid>
      <description>I&amp;rsquo;ve been trying to learn Erlang for a while. What I actually mean is it&amp;rsquo;s been on my list of things to learn for months, along with all sorts of other incredibly interesting bits and pieces. I spend a little bit of time at home but the majority of my learning time is now spent commuting to London and back most days. Sometimes I&amp;rsquo;m even going all the way to Swindon which gives me even longer to not learn Erlang.</description>
    </item>
    
    <item>
      <title>Django Committers</title>
      <link>/2009/10/24/django-committers/</link>
      <pubDate>Sat, 24 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/10/24/django-committers/</guid>
      <description>I&amp;rsquo;ve been lurking on the django-developers mailing list for the last couple of weeks and that provided an excuse to play with the new Twitter Lists feature. So here&amp;rsquo;s a list of djangocommitters on twitter. If I missed someone do let me know. Their is a chance you won&amp;rsquo;t be able to see this if you&amp;rsquo;re not on the beta yet I think, sorry!</description>
    </item>
    
    <item>
      <title>Problems Installing Hadoop 0.20 and Dumbo 0.21 on Ubuntu</title>
      <link>/2009/10/18/problems-installing-hadoop-and-dumbo-ubuntu/</link>
      <pubDate>Sun, 18 Oct 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/10/18/problems-installing-hadoop-and-dumbo-ubuntu/</guid>
      <description>The Hadoop wiki has a great introduction to installing this piece of software, which I wanted to do to have a play with Dumbo. The Dumbo docs also have a good getting started section which includes a few patches than need to be applied.
 Dumbo can be considered to be a convenient Python API for writing MapReduce programs
 Unfortunately it&amp;rsquo;s not quite that simple, at least on Ubuntu Jaunty.</description>
    </item>
    
    <item>
      <title>Learnings from September</title>
      <link>/2009/09/21/learnings-september/</link>
      <pubDate>Mon, 21 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/09/21/learnings-september/</guid>
      <description>I&amp;rsquo;m keep meaning to get around to writing about why I think the future of web developers is operations but in lieu of a proper post here&amp;rsquo;s a list of things I&amp;rsquo;ve been spending my work life getting to know this month:
 Puppet - It&amp;rsquo;s brilliant. Define (with a Ruby DSL of course) what software and services you want running on all your machines, install a daemon on each of them, and hey presto central configuration management.</description>
    </item>
    
    <item>
      <title>No database test runner added to test extensions</title>
      <link>/2009/09/13/no-database-test-runner-added-test-extensions/</link>
      <pubDate>Sun, 13 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/09/13/no-database-test-runner-added-test-extensions/</guid>
      <description>Thanks to Brad I&amp;rsquo;ve just released a new version of Django Test Extensions (also on GitHub with support for running tests without the overhead of setting up and tearing down the database. Django still has a few places were it assumes you&amp;rsquo;ll have a database somewhere in your project - and the default test runner is one of them.</description>
    </item>
    
    <item>
      <title>Automating web site deployment at Barcamp Brighton</title>
      <link>/2009/09/06/automating-web-site-deployment-barcamp-brighton/</link>
      <pubDate>Sun, 06 Sep 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/09/06/automating-web-site-deployment-barcamp-brighton/</guid>
      <description>On the first day at Barcamp Brighton this year I did a brief talk about getting started with automating deployment. I kept it nice and simple and didn&amp;rsquo;t focus on any specific technology or tool - just the general principles and pitfalls of doing anything manually. You can see the &amp;ldquo;slides on Slideshare&amp;rdquo;:

As part of the presentation I even did a live demo and promised I&amp;rsquo;d upload the code I used.</description>
    </item>
    
    <item>
      <title>Another chance to DJUGL</title>
      <link>/2009/08/31/another-chance-djugl/</link>
      <pubDate>Mon, 31 Aug 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/08/31/another-chance-djugl/</guid>
      <description>DJUGL is back, the monthly Django meetup in London. I think the last few times have been as much about useful Python stuff as just using Django, and this time it&amp;rsquo;s officially a bit more broad ranging. If you&amp;rsquo;re in or around London on the 24th September then come along.
You can get more information on Twitter or by following Rob. But expect a few short talks, some interesting conversations and maybe some beer with other like minded developers.</description>
    </item>
    
    <item>
      <title>Django and WSGI deployment on Solaris</title>
      <link>/2009/08/21/django-wsgi-deployment-solaris/</link>
      <pubDate>Fri, 21 Aug 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/08/21/django-wsgi-deployment-solaris/</guid>
      <description>Now I&amp;rsquo;m generally an Ubuntu guy, but I&amp;rsquo;ve just had the need to setup some boxes running Solaris for Django and a handful of WSGI applications. I know my way around Ubuntu pretty well. I know all the packages I need to install and in what order. Hell, I even have all that scripted so I can just run a command and it works by magic. I&amp;rsquo;ll script the following steps if I can do when I get round to it but here, in one list, are the installation instructions for Apache, mod_wsgi, Mysql, MySQLdb, setuptools and memcached that worked for me on the latest version of Open Solaris (2009.</description>
    </item>
    
    <item>
      <title>Your Own PyPi server</title>
      <link>/2009/08/15/your-own-pypi-server/</link>
      <pubDate>Sat, 15 Aug 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/08/15/your-own-pypi-server/</guid>
      <description>So one of the problems with using pip or easy_install as part of an automated deployment process is they rely on an internet connection. More than that, they rely on PyPi being up as it&amp;rsquo;s a centralised system, unlike all the apt package mirrors.
The best solution seems to be to host your own PyPi compliant server. Not only can you load all the third party modules you use onto it, but you could also upload any internal applications or libraries that you like.</description>
    </item>
    
    <item>
      <title>Fabric, Django, Git, Apache, mod_wsgi, virtualenv and pip deployment</title>
      <link>/2009/07/27/fabric-django-git-apache-mod-wsgi-virtualenv-and-p/</link>
      <pubDate>Mon, 27 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/07/27/fabric-django-git-apache-mod-wsgi-virtualenv-and-p/</guid>
      <description>I&amp;rsquo;ve been playing with automating Django deployments again, this time using Fabric. I found a number of examples on the web but non of them quite fit the bill for me. I don&amp;rsquo;t like serving directly from a repository, I like to have either a package or tar I can use to say &amp;ldquo;that is what went to the server&amp;rdquo;. I also like having a quick rollback command as well as being able to deploy a particular version of the code when the need arises.</description>
    </item>
    
    <item>
      <title>What&#39;s new in Django 1.1</title>
      <link>/2009/07/23/whats-new-django-11/</link>
      <pubDate>Thu, 23 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/07/23/whats-new-django-11/</guid>
      <description>With the release candidate for Django 1.1 out the door I decided to have a quick look at what&amp;rsquo;s new. This isn&amp;rsquo;t a complete list, rather the bits I found most interesting.
Conditional Views  Django now has much better support for conditional view processing using the standard ETag and Last-Modified HTTP headers. This means you can now easily short-circuit view processing by testing less-expensive conditions. For many views this can lead to a serious improvement in speed and reduction in bandwidth.</description>
    </item>
    
    <item>
      <title>Asteroid - simple app for running scripts and recording the results</title>
      <link>/2009/07/15/simple-app-running-scripts-and-recording-results/</link>
      <pubDate>Wed, 15 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/07/15/simple-app-running-scripts-and-recording-results/</guid>
      <description>Asteroid is a simple web interface for running scripts and recording the results. It&amp;rsquo;s like a much simpler and more general purpose version of something like Cruise Control. You can get the code on Github.
I built it to solve two main problems:
 It&amp;rsquo;s sometimes useful to have a historical record of a scripts execution, in particular whether it passed or failed and what the output was. Just running a command line script probably doesn&amp;rsquo;t give you that.</description>
    </item>
    
    <item>
      <title>It&#39;s the Data we Want</title>
      <link>/2009/07/13/its-data-we-want/</link>
      <pubDate>Mon, 13 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/07/13/its-data-we-want/</guid>
      <description>A spreadsheet. A CSV file. Whatever is in use internally. Made available to people like us under a suitable license.
 I feel a little self adsorbed quoting myself (from a recent Refresh Cambridge discussion) but I did like the turn of phrase. What I was rambling on about was Cambridge County mapping data, after a question from a nice chap from the council about what &amp;ldquo;new, exciting map technology&amp;rdquo; we&amp;rsquo;d like to see.</description>
    </item>
    
    <item>
      <title>Thoughts on the whole XHTML/HTML5 affair</title>
      <link>/2009/07/08/thoughts-whole-xhtml-and-html5-affair/</link>
      <pubDate>Wed, 08 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/07/08/thoughts-whole-xhtml-and-html5-affair/</guid>
      <description>I wasn&amp;rsquo;t going to write anything about the whole XHTML2 thing. I noted its passing, got a nice message on Twitter and thought that would be it. But no. The web standards world exploded. I honestly didn&amp;rsquo;t see that coming.
Let&amp;rsquo;s get a few things straight:
 I use XHTML 1.0 for this site. In fact I&amp;rsquo;ve been using it for the majority of things for most of my professional life.</description>
    </item>
    
    <item>
      <title>Pants Python Code</title>
      <link>/2009/07/01/pants-python-code/</link>
      <pubDate>Wed, 01 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/07/01/pants-python-code/</guid>
      <description>One of the projects that came out of the Django Dash recently was PyPants which I&amp;rsquo;m finding very cool.
It&amp;rsquo;s basically a quality tracking service for Python modules. For instance my recent UrlTest module has a page on PyPants, scoring a good B grade after some cleanup work earlier today.
Under the hood I think it&amp;rsquo;s probably CheeseCake which is available as a command line application, maybe with a hint of PyLint and pep8.</description>
    </item>
    
    <item>
      <title>Urltest on PyPi</title>
      <link>/2009/06/24/urltest-pypi/</link>
      <pubDate>Wed, 24 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/24/urltest-pypi/</guid>
      <description>I&amp;rsquo;ve been meaning to add some of my code to the Python Package Index for a while and have finally gotten around to it with Urltest, my simple DSL for testing WSGI apps.
You can now find it at pypi.python.org/pypi/urltest and install it using setuptools with:
pre. easy_install urltest
At the moment I&amp;rsquo;ve not added any categorisation or detailed description to the setup.py file, I&amp;rsquo;ll be doing that soon. I wanted to get it working with the absolute minimum setup.</description>
    </item>
    
    <item>
      <title>Ant for Web Developers II - Restart Apache</title>
      <link>/2009/06/23/ant-web-developers-ii-restart-apache/</link>
      <pubDate>Tue, 23 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/23/ant-web-developers-ii-restart-apache/</guid>
      <description>Following on from yesterdays first useful ant task, here&amp;rsquo;s another commonly used task - restarting a remote service. I&amp;rsquo;ve used apache in this example, but it could be any service running on your remote machine and it doesn&amp;rsquo;t have to be the restart command.
In order to do this we&amp;rsquo;ll use the sshexec target which has a third party library dependency. This is the same third party library needed for the scp task in yesterdays post</description>
    </item>
    
    <item>
      <title>Ant for Web Developers I - Backup Config File</title>
      <link>/2009/06/22/ant-web-developers-i-backup-config-file/</link>
      <pubDate>Mon, 22 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/22/ant-web-developers-i-backup-config-file/</guid>
      <description>I occasionally get carried away with Apache Ant. For those that haven&amp;rsquo;t come across it, Ant is a build tool written in Java, using an XML syntax to describe a series of repeatable tasks. In your typical web standards savvy, dynamic language favouring, web developer types that description is probably all they (think they) need to know. It&amp;rsquo;s Java. It&amp;rsquo;s XML. It&amp;rsquo;s only really useful in the context of building software (dull).</description>
    </item>
    
    <item>
      <title>Less CSS</title>
      <link>/2009/06/17/less-css/</link>
      <pubDate>Wed, 17 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/17/less-css/</guid>
      <description>Ruby people really don&amp;rsquo;t like CSS do they? But Less is actually pretty cool. It&amp;rsquo;s basically an attempt to bootstrap features, specifically Variables, Mixins, Operations and Nested Rules, into CSS. The best part about this is it uses CSS syntax and a simple one step compiler. I&amp;rsquo;d be interested to know what the folks at the W3C think about this.
So for instance you can do:
pre. /* LESS */ brand_color: #4D926F; #header { color:brand_color; } h2 { color: @brand_color; }</description>
    </item>
    
    <item>
      <title>Message Queues at Cambridge Geek Night</title>
      <link>/2009/06/11/message-queues-cambridge-geek-night/</link>
      <pubDate>Thu, 11 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/11/message-queues-cambridge-geek-night/</guid>
      <description>Last night was the first Cambridge Geek Night and saw 35 people or so fill a room above a pub to listen to a few short talks and converse with fellow geeks. I had the pleasure of giving the first talk, a short introduction to using message queues for web developers.

I got lots of good questions from interested people and by the sounds of things it had the desired effect - for people unfamiliar with using a message queue to go out and have a play with some of the cool software available to solve your problems.</description>
    </item>
    
    <item>
      <title>How to Decide on Your Next Programming Language</title>
      <link>/2009/06/10/how-decide-your-next-programming-language/</link>
      <pubDate>Wed, 10 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/10/how-decide-your-next-programming-language/</guid>
      <description>Neil Crosby got me thinking yesterday about which language to learn/play with next by tweeting
 so, lovely people of the interwebs. What webly language should I be spending my time learning then? Right now, I&amp;rsquo;m all about the PHP.
 Neil appears to have gone for Python, but more specifically I&amp;rsquo;m interested in how you decide what to learn next? And improving the likelihood of you seeing it through and being able to add it to you toolbox.</description>
    </item>
    
    <item>
      <title>garethrushgrove.com update</title>
      <link>/2009/06/08/garethrushgrovecom-update/</link>
      <pubDate>Mon, 08 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/08/garethrushgrovecom-update/</guid>
      <description>I&amp;rsquo;ve updated my vanity domain at garethrushgrove.com with a bit of information in case anyone might be interested in my services.
The short version is I&amp;rsquo;m on the lookout for future projects, probably of a freelance or contract basis but if it&amp;rsquo;s particularly interesting then maybe a full time position. Basically I&amp;rsquo;m in quite a nice position and able to wander about a bit looking for something cool to do.</description>
    </item>
    
    <item>
      <title>Cambridge Geek Night</title>
      <link>/2009/06/05/cambridge-geek-night/</link>
      <pubDate>Fri, 05 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/05/cambridge-geek-night/</guid>
      <description>It&amp;rsquo;s the first Cambridge Geek Night next week, on Wednesday the 10th to be precise. You can find more information on Upcoming or on the Cambridge Geek Night blog. The event also has a twitter feed to keep up with goings on. If you&amp;rsquo;re in Cambridge you don&amp;rsquo;t want to miss the perfect combination of geeks and beer.</description>
    </item>
    
    <item>
      <title>Testing WSGI Application with Urltest</title>
      <link>/2009/06/04/testing-wsgi-application-urltest/</link>
      <pubDate>Thu, 04 Jun 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/06/04/testing-wsgi-application-urltest/</guid>
      <description>I found myself wanted something to make writing high level, functional tests for WSGI application easier and quicker. If I liked the term I&amp;rsquo;d call it a domain specific language for testing URLs. Basically I found myself writing a lot of tests like:
pre. def test_404_handler(self): response = self.app.get(&amp;lsquo;/does-not-exist&amp;rsquo;, expect_errors=True) self.assertEquals(&amp;ldquo;404 Not Found&amp;rdquo;, response.status)
Testing more than a view URLs like this got boring quickly. What I wanted was a short hand syntax for defining this sort of simple test and then running them all individually.</description>
    </item>
    
    <item>
      <title>Another Glue Python Framework - MNML</title>
      <link>/2009/05/28/another-glue-python-framework-mnml/</link>
      <pubDate>Thu, 28 May 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/05/28/another-glue-python-framework-mnml/</guid>
      <description>Although still a big fan of Django, but for some problems I&amp;rsquo;m finding more and more cases where I prefer less code and more freedom. My biggest issue for some types of problems being Django&amp;rsquo;s assumption that you&amp;rsquo;ll be using a relational database, or a database at all. Django wasn&amp;rsquo;t the reason I started using webapp for App Engine stuff, but in doing so I found that webapp often did all that I needed.</description>
    </item>
    
    <item>
      <title>Beyond Basic Web Development</title>
      <link>/2009/05/25/beyond-basic-web-development/</link>
      <pubDate>Mon, 25 May 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/05/25/beyond-basic-web-development/</guid>
      <description>I did a talk at the recent barcamp North East on web development tools. Specifically I wanted to talk about the fact that an awful lot of people just use the basic stack of tools they are familiar with. So Microsoft people will just use C#, MSSQL and ISS and lots of people just use PHP, MySQL and Apache. I&amp;rsquo;m not saying their is anything wrong with those tools, but if they are all you have in your tool box you&amp;rsquo;re limited how well designed your software can be.</description>
    </item>
    
    <item>
      <title>Universal Internet Explorer 6 CSS and different types of sites</title>
      <link>/2009/05/21/universal-ie6-css-and-different-types-of-sites/</link>
      <pubDate>Thu, 21 May 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/05/21/universal-ie6-css-and-different-types-of-sites/</guid>
      <description>Andy Clarke, as only he can, has started something of a slagging match with his proposals for a single, central IE6 stylesheet. My first impression was that this is basically a much better version of the browser defaults.
Between backslapping and shouts of heresy there are a few good comments floating on the post so far (I&amp;rsquo;d expect more). But most of them seem to assume only two types of website exist:</description>
    </item>
    
    <item>
      <title>Back in Toon - Thinking Digital </title>
      <link>/2009/05/14/back-toon-thinking-digital/</link>
      <pubDate>Thu, 14 May 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/05/14/back-toon-thinking-digital/</guid>
      <description>After what seems like longer than a year I&amp;rsquo;ve finally managed to make it back up to Newcastle. It&amp;rsquo;s the Thinking Digital conference again this year and so far it&amp;rsquo;s been a hoot. A mix of practical, inspirational and just odd speakers (and acts) suits me pretty well. Lots of twitter activity too.
The highlights for me so far I think has been Dan Lyons talking about the future of media and print businesses.</description>
    </item>
    
    <item>
      <title>Keeping Up With The Zeldmans - (Self) Education for Web Professionals</title>
      <link>/2009/04/27/keeping-zeldmans-self-education-web-professionals/</link>
      <pubDate>Mon, 27 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/04/27/keeping-zeldmans-self-education-web-professionals/</guid>
      <description>So, it was the Bamboo Juice conference last Friday at the rather impressive Eden project in Cornwall. Along with Jeremy, Dom, Paul and Relly I presented to the crowd of mainly local first time web conference goers.

It was a great event, and felt a lot like the first Highland Fling in that it was the first big event in an area that&amp;rsquo;s actually quite a distance from the bright lights of London (it took 8 hours to get back to Cambridge).</description>
    </item>
    
    <item>
      <title>Simple issue tracking</title>
      <link>/2009/04/12/simple-issue-tracking/</link>
      <pubDate>Sun, 12 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/04/12/simple-issue-tracking/</guid>
      <description>Another project I hacked together on the train running on App Engine I&amp;rsquo;m afraid. Anyone getting bored of my new project each week posts please stop reading now.

Issue or bug tracking is just one of those things we all deal with and probably have opinions on. Lots of open source software exists (BugZilla, Trac) to do the job and various companies have commercial products (Lighthouse, Sifter, Fixx). So why did I go and create another one?</description>
    </item>
    
    <item>
      <title>Support for Rev=Canonical</title>
      <link>/2009/04/10/support-revcanonical/</link>
      <pubDate>Fri, 10 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/04/10/support-revcanonical/</guid>
      <description>There has been lots of talk recently about URL shortening. Services like TinyURL have been around for a good while, offering shortened versions of URLs like tinyurl.com/dd7w2m which are easier to put in a tweet or an email. The problem with this is that not only does the shorter version mask any information about the destination, but if TinyURL or one of the other shortening services goes away, or loses control of it&amp;rsquo;s domain name, a large number of links are going to stop working the way they should.</description>
    </item>
    
    <item>
      <title>Mixing it Up - Programming Language Choice</title>
      <link>/2009/04/04/mixing-it-programming-language-choice/</link>
      <pubDate>Sat, 04 Apr 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/04/04/mixing-it-programming-language-choice/</guid>
      <description>So the Register article about Twitter seems to have kicked over yet another Ruby/Rails doesn&amp;rsquo;t scale debate - mainly it seems from people who haven&amp;rsquo;t read any of the back story or the real meat of the story. For anyone catching up I&amp;rsquo;d suggest reading this recent interview with three of the Twitter developers. Ikai Lan made some particular good points about people who don&amp;rsquo;t RTFM and the comments are well worth reading too.</description>
    </item>
    
    <item>
      <title>Google Search New Features? Timeline Search and Wonder Wheel</title>
      <link>/2009/03/24/google-search-new-features-timeline-search-and-won/</link>
      <pubDate>Tue, 24 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/24/google-search-new-features-timeline-search-and-won/</guid>
      <description>Looks like I&amp;rsquo;m being experimented on. I just got a strange Web button appearing on a search today and decided to click it. It revealed a host of new Google features (at least I&amp;rsquo;ve never seen em before), including various filters and visualisation tools.
The entertainingly named Wonder Wheel was my first click. It&amp;rsquo;s a visualisation which shows related search terms. I&amp;rsquo;d love to have access to that data via an API as well.</description>
    </item>
    
    <item>
      <title>Github Links to Lines of Code</title>
      <link>/2009/03/22/github-links-lines-code/</link>
      <pubDate>Sun, 22 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/22/github-links-lines-code/</guid>
      <description>Just saw this and thought it was cool. You can link to a specific line, or set of lines on GitHub. All you need to do is append something like #L17-24 to specify highlighting lines 17 to 24.</description>
    </item>
    
    <item>
      <title>Hacker Posts</title>
      <link>/2009/03/21/hacker-posts/</link>
      <pubDate>Sat, 21 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/21/hacker-posts/</guid>
      <description>I&amp;rsquo;ve been playing again with App Engine, and going back to an on/off pet project that I&amp;rsquo;ve build variations of for a while.

It&amp;rsquo;s basically a pretty straightforward aggregation platform, taking content from a number of feeds and creating relationships between the items. It&amp;rsquo;s mainly an experiment in creating a decent size site on App Engine - it can be surprising how many urls you can get out of a good corpus of data:</description>
    </item>
    
    <item>
      <title>Webapp custom filters</title>
      <link>/2009/03/19/webapp-custom-filters/</link>
      <pubDate>Thu, 19 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/19/webapp-custom-filters/</guid>
      <description>The webapp framework wish ships with App Engine uses the Django templating system by default, but without Django apps doesn&amp;rsquo;t support the same mechanism for loading template tags and filters. This is how to do it though using a few webapp.template methods.</description>
    </item>
    
    <item>
      <title>Simple WSGI Middleware (for App Engine)</title>
      <link>/2009/03/18/simple-wsgi-middleware-app-engine/</link>
      <pubDate>Wed, 18 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/18/simple-wsgi-middleware-app-engine/</guid>
      <description>WSGI is the Web Server Gateway Interface. It is a specification for web servers and application servers to communicate with web applications (though it can also be used for more than that). It is a Python standard, described in detail in PEP 333.
 For Ruby people WSGI is the Rack in Python. In fact it was one of the inspirations behind Rack. Rack descriptions itself as:
 Rack provides an minimal interface between webservers supporting Ruby and Ruby frameworks.</description>
    </item>
    
    <item>
      <title>XMPP and Queues in App Engine via Jaiku? Not quite yet</title>
      <link>/2009/03/14/xmpp-and-queues-app-engine-jaiku-not-quite-yet/</link>
      <pubDate>Sat, 14 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/14/xmpp-and-queues-app-engine-jaiku-not-quite-yet/</guid>
      <description>So JauikuEngine, the open source, App Engine based, version of Jaiku is now available for everyone to look at. I found the repo a couple of days ago but it was restricted to project members. The main reason I want to hunt through the code is to have a look at what I&amp;rsquo;m guessing will be API&amp;rsquo;s available in a soon to be released version of App Engine - with specific interest in anything to do with XMPP, queues and offline processing.</description>
    </item>
    
    <item>
      <title>App Engine Remote API calls</title>
      <link>/2009/03/13/app-engine-remote-api-calls/</link>
      <pubDate>Fri, 13 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/13/app-engine-remote-api-calls/</guid>
      <description>Not sure how I missed this but apparently App Engine (as of 1.1.9) supports remote access to your live data store. This means you can create administration applications more easily by running them locally, rather than within the limitations of the live platform. You can even run a local python prompt with access to your live datastore which is pretty neat.</description>
    </item>
    
    <item>
      <title>Services Vs Applications: Does Rails Encourage SOA Better Than Django?</title>
      <link>/2009/03/13/does-rails-encourage-soa-better-than-django/</link>
      <pubDate>Fri, 13 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/13/does-rails-encourage-soa-better-than-django/</guid>
      <description>Building larger applications tends to mean splitting your codebase up some how into manageable chunks. I&amp;rsquo;m quite interested in what I see as different approaches in the Rails and Django communities:
Django tends to recommend building Reusable Apps and we have sites like Django Pluggables to catalog what&amp;rsquo;s available. You then grab a few of these applications from the web or write your own, add them run them all together as part of a single application.</description>
    </item>
    
    <item>
      <title>RewiredState</title>
      <link>/2009/03/09/rewiredstate/</link>
      <pubDate>Mon, 09 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/09/rewiredstate/</guid>
      <description>RewiredState was awesome. 100 or so geeks plus a smattering of government types gathered in the shiny new Guardian offices in Kings Cross on Saturday to hack (the Government).
Some events like this are more productive than others, and the end of day demos included some realy impressive stuff. See for your self on the projects page
My own little project even won a prize (an invisible bottle of Champagne no less).</description>
    </item>
    
    <item>
      <title>Content to Markup ratio bookmarklet</title>
      <link>/2009/03/05/content-markup-ratio-bookmarklet/</link>
      <pubDate>Thu, 05 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/05/content-markup-ratio-bookmarklet/</guid>
      <description>Stoyan Stefanov just released an excellent little bookmarklet to calculate a content to markup ratio
It&amp;rsquo;s interesting browsing around a few sites and comparing ratios:
 This site - 0.55 bbc.co.uk - 0.26 capitalradio.co.uk - 0.45 clearleft.com - 0.48 alistapart.com - 0.44  </description>
    </item>
    
    <item>
      <title>App Engine for Python Developers</title>
      <link>/2009/03/04/app-engine-python-developers/</link>
      <pubDate>Wed, 04 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/04/app-engine-python-developers/</guid>
      <description>I gave a short presentation about App Engine last night at the Cambridge Python User Group and as always it&amp;rsquo;s available on Slideshare.

I find App Engine a great way of just writing (Python) code and putting it online quickly, and the presentation was aimed at being something of a fanboy ode. During questions afterwards we talked about some of the limitations and cases where App Engine isn&amp;rsquo;t as well suited, and at least a few people were heading off planning on having a play.</description>
    </item>
    
    <item>
      <title>Quick dmigrations Update</title>
      <link>/2009/03/02/quick-dmigrations-update/</link>
      <pubDate>Mon, 02 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/03/02/quick-dmigrations-update/</guid>
      <description>I&amp;rsquo;ve finally been getting round to doing a bit of work on dmigrations, the Python based database migration tool we developed at work.
 dmigrations offers a simple but flexible way of managing changes to the database in your Django projects. It is a replacement for Django&amp;rsquo;s built in syncdb command.
 I still have some work to do to merge in a number of modifications we&amp;rsquo;ve been running internally for a while but I&amp;rsquo;ve triaged the issues list that had been left alone for too long and merged in a fantastic collection of patches from a few people including Alexander Robbins and Chris Lamb.</description>
    </item>
    
    <item>
      <title>HTTP Debugging Server in Django</title>
      <link>/2009/02/28/http-debugging-server-django/</link>
      <pubDate>Sat, 28 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/28/http-debugging-server-django/</guid>
      <description>I&amp;rsquo;ve been busy building and playing with various HTTP clients recently, mainly due to more playing with RESTful web services. I took a couple of hours out to build something to make my life easier - namely a very simple logging HTTP server in Django.
All the application does is accepts HTTP requests and log the results to a file. I&amp;rsquo;ve been using it to make sure the requests I&amp;rsquo;m sending from elsewhere are correct, before pointing the client at a web service that actually does something useful.</description>
    </item>
    
    <item>
      <title>Startup Hubs in the UK - Where To Put One?</title>
      <link>/2009/02/28/startup-hubs-uk-where-put-one/</link>
      <pubDate>Sat, 28 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/28/startup-hubs-uk-where-put-one/</guid>
      <description>I always enjoy reading things by Paul Graham, even if I&amp;rsquo;d like to be able to disagree with his conclusions on occasion. It&amp;rsquo;s not just that I love Hackers and Painters, but also he often says things like the following that make me smile:
 hackers are much more constrained by gentlemen&amp;rsquo;s agreements than regulations. If they shake your hand on a promise, they&amp;rsquo;ll keep it. But show them a lock and their first thought is how to pick it.</description>
    </item>
    
    <item>
      <title>GitHub Changelog</title>
      <link>/2009/02/24/github-changelog/</link>
      <pubDate>Tue, 24 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/24/github-changelog/</guid>
      <description>It turns out the guys at GitHub publish the commit messages from their work on GitHub itself. If you really have to keep up you can even subscribe to an Atom feed.
OK, so this might not be hugely useful. But it is funny, and a just a nice sign of a small company being open in an interesting way. A few of my favourites:
 mmm pizza&amp;hellip; guard against bad SHAs in Walker#commit</description>
    </item>
    
    <item>
      <title>Epydoc Ant task</title>
      <link>/2009/02/23/epydoc-ant-task/</link>
      <pubDate>Mon, 23 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/23/epydoc-ant-task/</guid>
      <description>I quite like Epydoc for generating Python API documentation, even if the interface looks a little dated and could do with a lick of paint.
For most project I use an Ant build script to generate documentation when needed. You could wrap the basic commands in a make file or a bash script if you prefer that sort of thing though. The only trick is to make sure you have everything you need on your Python Path.</description>
    </item>
    
    <item>
      <title>Example of using XMPP on App Engine (via IMified)</title>
      <link>/2009/02/21/example-using-xmpp-app-engine-imified/</link>
      <pubDate>Sat, 21 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/21/example-using-xmpp-app-engine-imified/</guid>
      <description>As I mentioned before, App Engine is getting an XMPP API at some point soon. But if you just can&amp;rsquo;t wait to start adding IM interfaces to your applications then you can do it now, by using a nifty third party in IMified.
IMified provide an incredibly simple HTTP API for interacting with your own IM bot. If we want to be buzz word compliant we might even call it a webhook.</description>
    </item>
    
    <item>
      <title>Python REST Client</title>
      <link>/2009/02/18/python-rest-client/</link>
      <pubDate>Wed, 18 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/18/python-rest-client/</guid>
      <description>I&amp;rsquo;m working on a small project involving using RESTful APIs and wanted a simple HTTP client, something that sat a little higher in the stack than httplib2 or similar. I turned initially to the Django Test Client which now supports all the required methods but it turned out that I&amp;rsquo;d have to unpick it from django a little.
With a little bit of looking around I found the python-rest-client which certainly sounded like it would do what I wanted.</description>
    </item>
    
    <item>
      <title>Let you Sys Admin Override your Django Settings</title>
      <link>/2009/02/15/let-you-sys-admin-override-your-django-settings/</link>
      <pubDate>Sun, 15 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/15/let-you-sys-admin-override-your-django-settings/</guid>
      <description>The previous Django settings tip seemed to go down well so I thought I&amp;rsquo;d jot down a few more over the next few weeks. Most of these have come out of working with a decent sized Django team at Global so I can&amp;rsquo;t take credit for anything but writing them down for the most part. For this example I think Alex Knowles did the original version.
I was talking with out friendly sys admins on Friday about a new application and whether they were happy with some application specific logging (using the Python logging module) I&amp;rsquo;d build in.</description>
    </item>
    
    <item>
      <title>Looking for a New Job in June</title>
      <link>/2009/02/15/looking-new-job-june/</link>
      <pubDate>Sun, 15 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/15/looking-new-job-june/</guid>
      <description>As I think a few people are aware I&amp;rsquo;ll be leaving Global at the end of May.
It&amp;rsquo;s going to have been a pretty good year all told. I got to work with some great people and we built some pretty good stuff from the group up. The Capital Radio website was part of it but it&amp;rsquo;s the systems behind the scenes where all the interestingness lies. But as the team as a whole was just getting started the economy got bored of growing each year and went south.</description>
    </item>
    
    <item>
      <title>Django Settings Tip - Setting Relative Paths </title>
      <link>/2009/02/11/django-settings-tip-setting-relative-paths/</link>
      <pubDate>Wed, 11 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/11/django-settings-tip-setting-relative-paths/</guid>
      <description>Django settings files are pretty interesting. Rather than being written in some sort of purely declarative markup they just use Python. This brings both lots of power as well as the ability to do things in the settings file that you probably shouldn&amp;rsquo;t do.
One area where I find this capability particularly useful is when specifying file system paths. Lots of the settings concern where Django can find templates, images, or stylesheets for instance.</description>
    </item>
    
    <item>
      <title>Append slashes to URLs in Django</title>
      <link>/2009/02/10/append-slashes-urls-django/</link>
      <pubDate>Tue, 10 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/10/append-slashes-urls-django/</guid>
      <description>Quick Django pop quiz. Can anyone spot the deliberate mistake in the following url definition? We&amp;rsquo;re trying to define a view called log_viewer and instructing a specific url pattern to render it.
pre. urlpatterns = patterns(&amp;ldquo;, (r&amp;rsquo;^log/?$&amp;lsquo;, log_viewer), )
In this case our regex matches /log or /log/ using the /? optional pattern. This is because even if we only link to one format we know people will probably visit both, either by entering the URL manually or by linking from an external source.</description>
    </item>
    
    <item>
      <title>New Version of Radiant CMS Out Today</title>
      <link>/2009/02/07/new-version-radiant-cms-out-today/</link>
      <pubDate>Sat, 07 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/07/new-version-radiant-cms-out-today/</guid>
      <description>Via tagging a new release on GitHub I see a new version of Radiant (0.7) has been released. Radiant is a really nice CMS for smaller projects, it&amp;rsquo;s used on the official Ruby site and I used it here at one point.
Go check out the blog post for the full list of the changes.</description>
    </item>
    
    <item>
      <title>PDB and AppEngine</title>
      <link>/2009/02/07/pdb-and-appengine/</link>
      <pubDate>Sat, 07 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/07/pdb-and-appengine/</guid>
      <description>It turns out App Engine breaks the default behaviour of the Python debugger PDB by sending STDOUT to the browser. But with a little bit of python you can put it back in.
pre. import sys import pdb for attr in (&amp;lsquo;stdin&amp;rsquo;, &amp;lsquo;stdout&amp;rsquo;, &amp;lsquo;stderr&amp;rsquo;): setattr(sys, attr, getattr(sys, &amp;lsquo;s&amp;rsquo; attr)) pdb.set_trace()</description>
    </item>
    
    <item>
      <title>XMPP and offline processing coming to Google App Engine</title>
      <link>/2009/02/07/xmpp-and-offline-processing-coming-google-app-engi/</link>
      <pubDate>Sat, 07 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/07/xmpp-and-offline-processing-coming-google-app-engi/</guid>
      <description>Three weeks ago I pondered whether XMPP and offline processing were coming to Google App Engine?. It was a hunch based on the upcoming release of Jaiku on App Engine. I reasoned you couldn&amp;rsquo;t really do it without XMPP and offline processing APIs. Looks like I was right.
Today Joe Gregorio announced on the App Engine Blog an update to the roadmap for the next 6 months; including
 Support for running scheduled tasks Task queues for performing background processing Ability to receive and process incoming email Support for sending and receiving XMPP (Jabber) messages  Colour me excited.</description>
    </item>
    
    <item>
      <title>Hosting Images on App Engine</title>
      <link>/2009/02/05/hosting-images-app-engine/</link>
      <pubDate>Thu, 05 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/05/hosting-images-app-engine/</guid>
      <description>I like adding images to the occasional blog post but don&amp;rsquo;t do it as often as I want to. The reason being I can hardly ever be bothered to resize images. It means opening up a memory hogging application, fiddling around for a few minutes and then saving it out somewhere, then uploading said image to my server. All of those things bore me.
Appengine to the rescue. As an excuse to play around with the image API as well as add more pictures to this here blog I decided to build myself a small image hosting application.</description>
    </item>
    
    <item>
      <title>PEP 374</title>
      <link>/2009/02/02/pep-374/</link>
      <pubDate>Mon, 02 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/02/pep-374/</guid>
      <description>The Python core developers are currently discussing whether to move away from SVN to a distributed version control system. It&amp;rsquo;s a worthwhile read for anyone involved in this sort of decision in any capacity. It features hands on examples of each of the contenders (Bazaar, Git and Mercurial), some interesting observations about all of them as well as some benchmarks against a mature codebase. Lots of conversations keep cropping up on Twitter about why bother switching to Git or other distributed systems - this is a good place to start whether you use Python or not.</description>
    </item>
    
    <item>
      <title>Sinatra Simple Example</title>
      <link>/2009/02/01/sinatra-simple-example/</link>
      <pubDate>Sun, 01 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/02/01/sinatra-simple-example/</guid>
      <description>I&amp;rsquo;ve been playing around with the Sinarta Ruby web development framework recently and building a larger than usual Hello World Example. It&amp;rsquo;s describes itself as a DSL for quickly creating web-applications in Ruby with minimal effort (what is it about Ruby people and their obsession with calling everything a DSL?). In reality it&amp;rsquo;s a great little web framework. It deals with a minimal set of the things you really need to do as part of any application - URL handling and routing, HTTP request and response handling, etc.</description>
    </item>
    
    <item>
      <title>Jsonpickle</title>
      <link>/2009/01/29/jsonpickle/</link>
      <pubDate>Thu, 29 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/29/jsonpickle/</guid>
      <description>Jsonpickle is a Python library for serializing any arbitrary object graph into JSON. The advantage over something like simplejson is the arbitrary part, simplejson throws errors when you try and serialize some types of objects. I also prefer the jsonpickle API (encode, decode) over simplejson (dump, dumps, load, loads).</description>
    </item>
    
    <item>
      <title>Git Issue Tracking</title>
      <link>/2009/01/28/git-issue-tracking/</link>
      <pubDate>Wed, 28 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/28/git-issue-tracking/</guid>
      <description>TicGit looks great. I love command line apps and have been looking for something like this for a while. It&amp;rsquo;s described as a:
 Git based distributed ticketing system, including a command line client and web viewer
 pre. #&amp;gt;ti list
# TicId Title State Date Assgn Tags  1 9ebd07 add attachment to ticket open 03/22 schacon attach,feature 2 6ca8be download attached file open 03/22 schacon attach,feature 3 bec8e9 add a milestone resol 03/22 schacon feature,milestone,ne 4 9b83ea general tag management open 03/22 schacon feature,tags 5 94f24e show expanded comments open 03/22 schacon feature,ticket 6 f3dd9b remove a ticket open 03/22 schacon feature,ticket 7 e1629e improved cli support open 03/22 schacon cli,feature  Perfect for my pet projects or working with like minded folk.</description>
    </item>
    
    <item>
      <title>In Defence of Apache Ant</title>
      <link>/2009/01/24/defence-apache-ant/</link>
      <pubDate>Sat, 24 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/24/defence-apache-ant/</guid>
      <description>I&amp;rsquo;m a big fan of the Ant build tool. Their I said it. Nearly everyone else I end up talking to about build scripts (more people that you&amp;rsquo;d think, but OK, it&amp;rsquo;s hardly the most exciting topic of conversation) either hates it or treats it with disdain.
I&amp;rsquo;ve been using it for a few years on and off, in several jobs and for personal projects as well. I&amp;rsquo;ve used it while writing Python, .</description>
    </item>
    
    <item>
      <title>Django Testing Presentation at DJUGL</title>
      <link>/2009/01/20/django-testing-presentation-djugl/</link>
      <pubDate>Tue, 20 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/20/django-testing-presentation-djugl/</guid>
      <description>The second Django User Group (DJUGL) meeting was last night and was a great success as far as I could tell. Our boardroom at work was chock full of budding Django developers and interested parties - 70 people or so in all. Good work by Rob to get everything back on track at the start of the year and the next event is already planned for the back end of February so I hear.</description>
    </item>
    
    <item>
      <title>A Simple Python Jabber Bot</title>
      <link>/2009/01/18/simple-python-jabber-bot/</link>
      <pubDate>Sun, 18 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/18/simple-python-jabber-bot/</guid>
      <description>I&amp;rsquo;ve been knocking together various little instant messaging bots recently, partly as a way to play around with XMPP. As well as using the low level xmppy and XMPP4R-Simple libraries I&amp;rsquo;ve been having lots of fun with the JabberBot framework.
Jabberbot lets you write simple bots incredibly quickly, using simple conventions to determine what commands the bot exposes. It&amp;rsquo;s easier to explain with a simple example. The following bot lets you send the command time to it and returns the current time on the server on which the bot is running.</description>
    </item>
    
    <item>
      <title>Are XMPP and offline processing coming to Google App Engine?</title>
      <link>/2009/01/15/are-xmpp-and-offline-processing-coming-google-app-/</link>
      <pubDate>Thu, 15 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/15/are-xmpp-and-offline-processing-coming-google-app-/</guid>
      <description>Google just announced that, once the port of Jaiku to App Engine is complete they will be Open Sourcing the code and stopping official development. I only used Jaiku sporadically in the heady days when everyone had to sign up for a new web 2.0 service every week or be mocked by their colleagues. What really interests me about this move though is what it means for App Engine.
If memory serves Jaiku had an instant message interface.</description>
    </item>
    
    <item>
      <title>Localbuilder on GitHub</title>
      <link>/2009/01/14/localbuilder-github/</link>
      <pubDate>Wed, 14 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/14/localbuilder-github/</guid>
      <description>One of several little projects I have up and running on GitHub at present is LocalBuilder. It&amp;rsquo;s a pretty simple little script which watches for changes in a given directory and when they occur runs a given command. I knocked it together to use to trigger the running of a test suite each time I save files in a project. It&amp;rsquo;s written in Python but you could use it to run commands in any language you like.</description>
    </item>
    
    <item>
      <title>Speaking at Bamboo Juice</title>
      <link>/2009/01/11/speaking-bamboo-juice/</link>
      <pubDate>Sun, 11 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/11/speaking-bamboo-juice/</guid>
      <description>It&amp;rsquo;s the start of another year so that means it&amp;rsquo;s time to start thinking about conferences.
I just found out at the end of last week (via Twitter no less) that I&amp;rsquo;ve been confirmed as one of the speakers for Bamboo Juice. Thanks to Jon and Rich for having me. I&amp;rsquo;m really looking forward to that as it&amp;rsquo;s a new event outside London (at the rather fabulous looking Eden project in Cornwall), which should hopefully mean a chance for a new set of people to go along to what looks like a decent event.</description>
    </item>
    
    <item>
      <title>APIs in 2009 - XMPP and WebHooks</title>
      <link>/2009/01/02/apis-2009-xmpp-and-webhooks/</link>
      <pubDate>Fri, 02 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>/2009/01/02/apis-2009-xmpp-and-webhooks/</guid>
      <description>Everyone has to have a post with a year in the title at the start of the year so I thought I better write something. Rather than one of those personal retrospective emails I thought I&amp;rsquo;d go for something different - a look at what I&amp;rsquo;d like to see in APIs in the coming year.
Webhooks I&amp;rsquo;m pretty interested in the idea of applications exposing Webhooks at the moment. It&amp;rsquo;s a pretty simple idea.</description>
    </item>
    
    <item>
      <title>Local Continuous Integration with Integrity</title>
      <link>/2008/12/28/local-continuous-integration-integrity/</link>
      <pubDate>Sun, 28 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/12/28/local-continuous-integration-integrity/</guid>
      <description>Integrity is ace. I&amp;rsquo;m a huge fan of working under the ever watchful eye of a Continuous Integration server. I&amp;rsquo;m also becoming more and more of a fan of Git, and GitHub, for my personal projects. At work we run CruiseControl and it does it&amp;rsquo;s job well, but locally I only use it for larger projects. It comes with a little overhead and if I&amp;rsquo;m just hacking on the train I rarely check on it&amp;rsquo;s status.</description>
    </item>
    
    <item>
      <title>Web developers and Tools Programmers</title>
      <link>/2008/12/21/web-developers-and-tools-programmers/</link>
      <pubDate>Sun, 21 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/12/21/web-developers-and-tools-programmers/</guid>
      <description>I&amp;rsquo;m pretty interested in computer games. Building them represented a big technical challenge and with that comes interesting parallels with larger web projects. Andy Budd has talked about User Experience learnings from games previously, and I&amp;rsquo;ve heard Aleks Krotoski talk about similar themes, in particular the design of social systems and user generated content. What I&amp;rsquo;m interested in however is tools programmers.
Computer game development teams generally have a decent number of people solely dedicated to building and maintaining tools.</description>
    </item>
    
    <item>
      <title>Search for Genres on Spotify</title>
      <link>/2008/12/13/search-genres-spotify/</link>
      <pubDate>Sat, 13 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/12/13/search-genres-spotify/</guid>
      <description>Spotify is great. It seems stable, the desktop interface is simple and straight forward, and it has an entire album of emo bands doing covers of other emo bands. One thing that&amp;rsquo;s not quite clear just yet in the interface however is how to search for all the Rock tracks, or more specifically how to search for all the tracks in a given genre.
Turns out it&amp;rsquo;s quite simple. Just do a search for genre:Rock.</description>
    </item>
    
    <item>
      <title>Gmemsess</title>
      <link>/2008/12/06/gmemsess/</link>
      <pubDate>Sat, 06 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/12/06/gmemsess/</guid>
      <description>I&amp;rsquo;ve been looking at different ways of using simple sessions on App Engine, in particular for one shot flash messaging after redirects and the like. Their are some issues with Cookie support at the moment but Gmemsess solved my problem perfectly.
 gmemsess is a secure lightweight memcache-backed session class for Google appengine.
 </description>
    </item>
    
    <item>
      <title>Where will all the web developers go?</title>
      <link>/2008/11/30/where-will-all-web-developers-go/</link>
      <pubDate>Sun, 30 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/30/where-will-all-web-developers-go/</guid>
      <description>I&amp;rsquo;ve been thinking recently about what happens when we all get older. Now, I&amp;rsquo;m not actually referring to everyone here but more specifically what I&amp;rsquo;m going to call second generation web developers. I don&amp;rsquo;t mean Tim and friends here, or the early entrepreneurs of Yahoo! and Netscape. I mean the people who came along when the commercial web design and development industry had settled down a little bit, lets say 10 years ago.</description>
    </item>
    
    <item>
      <title>App Engine Samples</title>
      <link>/2008/11/29/app-engine-samples/</link>
      <pubDate>Sat, 29 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/29/app-engine-samples/</guid>
      <description>It&amp;rsquo;s probably old hat to those who have been using Google Appengine for a while but I just found some sample apps on Google Code. I prefer learning from actual code like this, at least until the App Engine books make it out next year.</description>
    </item>
    
    <item>
      <title>Spyder</title>
      <link>/2008/11/29/spyder/</link>
      <pubDate>Sat, 29 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/29/spyder/</guid>
      <description>Stuart at work has been playing with a nice Python web crawler recently. I&amp;rsquo;ve used Harvestman before but it&amp;rsquo;s not the most straightforward thing to work with. Spyder has a really nifty callback based approach and a couple of hooks which allows you to write code like:
pre. crawler = Spyder() crawler.register(my_custom_method, &amp;lsquo;post_fetch_html&amp;rsquo;) crawler.run(URL)
On a side note I wish Launchpad was as clean and tidy as GitHub though. I can see GitHub adding some of the features that Launchpad has eventually, but I hope they fit them in around the existing features.</description>
    </item>
    
    <item>
      <title>CSS Test on GitHub</title>
      <link>/2008/11/22/css-test-github/</link>
      <pubDate>Sat, 22 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/22/css-test-github/</guid>
      <description>I upload the work I&amp;rsquo;ve done so far on testing CSS. It&amp;rsquo;s still work in progress obviously but if you&amp;rsquo;re interested do let me know. I&amp;rsquo;ve stared with the image approach but will hopefully have something up demonstrating the selenium/rendered DOM position approach as well.</description>
    </item>
    
    <item>
      <title>I Love GitHub Two</title>
      <link>/2008/11/16/i-hearts-github-two/</link>
      <pubDate>Sun, 16 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/16/i-hearts-github-two/</guid>
      <description>I&amp;rsquo;d been meaning to write a quick article about GitHub, but then Mike and Neil beat me to it and stole most of the best bits. Read both of those articles then come back if you want. I agree whole heartedly.
Now I&amp;rsquo;ve used public hosted source control before. But Google Code, Sourceforge or Launchpad never felt like this. Their were always their for people to download your code if they wanted.</description>
    </item>
    
    <item>
      <title>CSSDoc</title>
      <link>/2008/11/11/cssdoc/</link>
      <pubDate>Tue, 11 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/11/cssdoc/</guid>
      <description>CSSDOC looks like a good idea. I&amp;rsquo;m sure a few people mentioned this last year at @media after the talk by the people from The Guardian but nothing came from it. Hopefully tools will start to come about soon.
 CSSDOC is a convention to comment Cascading Style Sheets (CSS) to help individuals and teams to improve writing/coding/styling/managing CSS files. It is an adoption of the well known JavaDoc / DocBlock based way of commenting source-code.</description>
    </item>
    
    <item>
      <title>Django Performance Tip - Profile Your Filters</title>
      <link>/2008/11/09/django-performance-tip-profile-your-filters/</link>
      <pubDate>Sun, 09 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/09/django-performance-tip-profile-your-filters/</guid>
      <description>I&amp;rsquo;ve been doing some performance profiling of this here blog. Not because I really need to due to huge amounts of traffic unfortunately, more because I&amp;rsquo;m planning on releasing the code and wanted to give it a good once over before I do.
pre. 69396 function calls (67324 primitive calls) in 0.479 CPU seconds Ordered by: internal time, call count ncalls tottime percall cumtime percall filename:lineno(function) 123 0.138 0.001 0.154 0.</description>
    </item>
    
    <item>
      <title>Simulating Rails like Environments in Django</title>
      <link>/2008/11/01/simulating-rails-environments-django/</link>
      <pubDate>Sat, 01 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/11/01/simulating-rails-environments-django/</guid>
      <description>I was always a fan of Rail environments and as part of some work upgrading this site to the latest version of Django I decided to clean up my whole deployment process. Part of that involved replacing everything in settings.py with the following snippet of code:
pre. ENV = &amp;ldquo;development&amp;rdquo; try: exec &amp;ldquo;from environments.&amp;rdquo; + ENV + &amp;ldquo; import *&amp;ldquo; except ImportError: print &amp;ldquo;You must specify a valid environment&amp;rdquo; exit()</description>
    </item>
    
    <item>
      <title>Unit Testing CSS - Looking for a Solution</title>
      <link>/2008/10/13/unit-testing-css-looking-solution/</link>
      <pubDate>Mon, 13 Oct 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/10/13/unit-testing-css-looking-solution/</guid>
      <description>I think it&amp;rsquo;s an epic failure of web standards that CSS is the only essentially untestable technology invented in last decade - Tomasz
 Talking today on Twitter with Tomasz got me thinking again about one of those problems that I come back to once in a while. Unit testing CSS. CSS development is a pain, even with some sort of system. Admit it. I actually like CSS most of the time but it&amp;rsquo;s still painful at times.</description>
    </item>
    
    <item>
      <title>Google App Engine PyUnit Test Runner</title>
      <link>/2008/10/11/google-app-engine-pyunit-test-runner/</link>
      <pubDate>Sat, 11 Oct 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/10/11/google-app-engine-pyunit-test-runner/</guid>
      <description>I&amp;rsquo;m starting to play around with using App Engine again for small projects. It&amp;rsquo;s great for simple, somewhat throwaway apps as long as you don&amp;rsquo;t need anything too fancy. Actually all I want really is long running processes but I digress.
I&amp;rsquo;m increasingly writing test suites as well for even small projects and was missing the convenience of the Django test runner for running them against App Engine code. So I&amp;rsquo;ve spent a little time writing a simple test running script to use for non-Django Python projects.</description>
    </item>
    
    <item>
      <title>Jabber, Erlang, Debugging. Things I&#39;m playing with at the moment</title>
      <link>/2008/10/05/jabber-erlang-debugging-things-im-playing-with-at-/</link>
      <pubDate>Sun, 05 Oct 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/10/05/jabber-erlang-debugging-things-im-playing-with-at-/</guid>
      <description>I&amp;rsquo;m busy experimenting with various blogging approaches at the moment, hence the short links I&amp;rsquo;ve been posting recently. Another type of post I thought I&amp;rsquo;d give a try to was the list of interesting things. I find this sort of thing strangely cathartic - if nothing else by writing down the things I&amp;rsquo;m thinking about I won&amp;rsquo;t forget to spend time playing with them.
 I still need to play around some more with Jabber/XMPP.</description>
    </item>
    
    <item>
      <title>Google on Testing </title>
      <link>/2008/09/30/google-testing/</link>
      <pubDate>Tue, 30 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/09/30/google-testing/</guid>
      <description>Interesting testing And coverage reporting write up by the Google Engineers behind Update Engine. This is the sort of thing we keep discussing in the office.</description>
    </item>
    
    <item>
      <title>Headless VMWare Fusion</title>
      <link>/2008/09/27/headless-vmware-fusion/</link>
      <pubDate>Sat, 27 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/09/27/headless-vmware-fusion/</guid>
      <description>The latest version of VMWare Fusion lets you run virtual machines in headless mode. Which is pretty handy if you&amp;rsquo;re using a Linux VM to mirror your live environment. The strange thing is that it&amp;rsquo;s not enabled by default. To enable it you need to run the following on your console: defaults write com.vmware.fusion fluxCapacitor -bool YES</description>
    </item>
    
    <item>
      <title>Django Admin Options </title>
      <link>/2008/09/20/django-admin-options/</link>
      <pubDate>Sat, 20 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/09/20/django-admin-options/</guid>
      <description>Working on a decent sized Django project at work means I&amp;rsquo;ve found myself delving into Django&amp;rsquo;s admin interface more than a few times. Although it&amp;rsquo;s always possible to just use a custom template and do everything yourself it&amp;rsquo;s nearly always easier and often quicker to use the generated admin views. One of the problems with that is, even with therecent 1.0 release, some of the options are not that well documented outside the source code or in posts buried on mailing lists.</description>
    </item>
    
    <item>
      <title>openmicroblogging</title>
      <link>/2008/09/16/openmicroblogging/</link>
      <pubDate>Tue, 16 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/09/16/openmicroblogging/</guid>
      <description>Open Microblogging looks pretty interesting. An open standard built upon other open standards for the purpose of passing information between micro blogging services like Twitter or Facebook.</description>
    </item>
    
    <item>
      <title>Imified</title>
      <link>/2008/09/14/imified/</link>
      <pubDate>Sun, 14 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/09/14/imified/</guid>
      <description>Imified looks like an interesting way of getting started with using instant messaging bots in your applications. (Via)</description>
    </item>
    
    <item>
      <title>Using Python and Stompserver to Get Started With Message Queues</title>
      <link>/2008/09/14/using-python-and-stompserver-get-started-message-q/</link>
      <pubDate>Sun, 14 Sep 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/09/14/using-python-and-stompserver-get-started-message-q/</guid>
      <description>Message Queues are cool. It&amp;rsquo;s official. Now, banks and financial institutions have been using big Enterprise Java message systems for years. But it&amp;rsquo;s only really over the last year or two that the web community at large have got interested. Wonder what all the interest is in Erlang, Scala or Haskell? Distributed systems and a lack of shared state - hopefully leading to some sort of scalability nirvana - that&amp;rsquo;s what.</description>
    </item>
    
    <item>
      <title>Django Powered</title>
      <link>/2008/08/31/django-powered/</link>
      <pubDate>Sun, 31 Aug 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/08/31/django-powered/</guid>
      <description>A short break from blogging ends with a new site design. As with all these things their will no doubt be a few kinks still to work out and I&amp;rsquo;ll be adding to the design a little over the coming months. The main reason for all this change? A move to a custom CMS build using Django. This was something of an excuse to play around with Django outside work and I&amp;rsquo;m pretty happy with the results.</description>
    </item>
    
    <item>
      <title>Of Hacking, Continuous Integration and Django</title>
      <link>/2008/06/21/of-hacking-continuous-integration-and-django/</link>
      <pubDate>Sat, 21 Jun 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/06/21/of-hacking-continuous-integration-and-django/</guid>
      <description>I&amp;rsquo;ve not written anything here for a good few weeks, my tweeting has slowed down some and I&amp;rsquo;m behind on my feed reading. I&amp;rsquo;m going to blame the new job and the daily commute from Cambridge to London I think. I&amp;rsquo;ve definitely not been any less busy that usual:
Hacking We had an internal hackday on Thursday and Friday last week where lots of us over at GCap/Global downed tools and build cools stuff for a couple of days.</description>
    </item>
    
    <item>
      <title>Where are the Rock Star Web Project Managers?</title>
      <link>/2008/06/02/where-are-the-rock-star-web-project-managers/</link>
      <pubDate>Mon, 02 Jun 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/06/02/where-are-the-rock-star-web-project-managers/</guid>
      <description>In maybe a more constructive manner than yesterday I started wondering where the rock star web project managers hang out? I think we&amp;rsquo;re all aware of something of a celebrity culture within web circles. Their are a hardcore of people who&amp;rsquo;s blogs, books and conference appearances we&amp;rsquo;ve all seen several times over. And in the main I think this has had a positive effect on everyone involved. People like Jeremy, Molly and Simon have at different times acted as pretty useful barometers and yard sticks for lots of people.</description>
    </item>
    
    <item>
      <title>@media: Designers Vs Developers</title>
      <link>/2008/06/01/media-designers-vs-developers/</link>
      <pubDate>Sun, 01 Jun 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/06/01/media-designers-vs-developers/</guid>
      <description>Another successful @media conference comes to a close and as usual interesting things were said and hopefully everyone learned something. As usual I have a few more things on my must find time to play with list. More on those if they happen.
But one part of the conference I felt needed addressing straight away was the first days panel. The Hot Topics panels bring together a few of the days speakers to answer questions posed by the audience.</description>
    </item>
    
    <item>
      <title>Newcastle Web Week</title>
      <link>/2008/05/20/newcastle-web-week/</link>
      <pubDate>Tue, 20 May 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/05/20/newcastle-web-week/</guid>
      <description>The North East is stealing a march on London this week with all sorts going on for those who like a real world get together. Although not quite as busy as London Web Week next week we have the Thinking Digital conference kicking off tomorrow, followed by a Geek Dinner on Friday night and then BarCampNorthEast over the weekend. I&amp;rsquo;m even planning on popping out tonight with a few people in town for the festivities.</description>
    </item>
    
    <item>
      <title>Design Strategies for a Distributed Web</title>
      <link>/2008/05/09/design-strategies-for-a-distributed-web/</link>
      <pubDate>Fri, 09 May 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/05/09/design-strategies-for-a-distributed-web/</guid>
      <description>I just finished my presentation on the last day of the Xtech conference in Dublin. I&amp;rsquo;d chosen to ramble on about the advantages, problems and a few solutions of building applications atop of lots of APIs. The presentation is now up on slideshare at slideshare.net/garethr/design-strategies-for-a-distributed-web/.

Lots of interesting conversations have been occurring all week and a few people have mentioned a near barcamp feel at times. It&amp;rsquo;s a pretty small, clued-up, technical audience and as always some of the best bits have been conversations in the corridors.</description>
    </item>
    
    <item>
      <title>Moving to London, Working For GCAP</title>
      <link>/2008/04/29/moving-to-london-working-for-gcap/</link>
      <pubDate>Tue, 29 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/04/29/moving-to-london-working-for-gcap/</guid>
      <description>On departing pubstandards in London a few weeks ago Dirk Ginader said something along the lines of:
 According to Dopplr you&amp;rsquo;ve spent 40 odd days in London in the last 8 months. Don&amp;rsquo;t you think you might as well just move here?
 I&amp;rsquo;m not saying that had anything to do with it, but I&amp;rsquo;m happy to announce I&amp;rsquo;m moving to London in a permanent manner very very soon. I&amp;rsquo;m taking up a job at GCAP, working with quite a few people I know from various web goings on; Hi to Simon, Ross, Brad, Ed and Stuart amongst others.</description>
    </item>
    
    <item>
      <title>A Really Simple Capistrano Recipe</title>
      <link>/2008/04/26/a-really-simple-capistrano-recipe/</link>
      <pubDate>Sat, 26 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/04/26/a-really-simple-capistrano-recipe/</guid>
      <description>Build scripts. I think I&amp;rsquo;ve probably mentioned before; everyone knows they should but not many actually do. I&amp;rsquo;m not talking about your large in-house development teams or your sexy web startups; both probably have a good-enough build process for different reasons. But smaller teams, web design agencies or freelancers often rely on FTP and a prayer. One of the problems is definitely finding suitable documentation. It&amp;rsquo;s not that their isn&amp;rsquo;t a lot of good quality documentation - it&amp;rsquo;s the suitability of it for those with only a passing interest and a limited systems administration experience.</description>
    </item>
    
    <item>
      <title>Resourceful Vs Hackable Search URLs</title>
      <link>/2008/04/18/resourceful-vs-hackable-search-urls/</link>
      <pubDate>Fri, 18 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/04/18/resourceful-vs-hackable-search-urls/</guid>
      <description>I often end up pondering URL design given a moment and something that keeps coming up is hackable search queries. But first a very quick primer on the idea of resourceful design.
REST is a series of architectural principals more than a defined architecture. The Resource Orientated Architecture builds on those ideas with a series of concrete guidelines put down by Sam Ruby for designing RESTful systems. The simple version is that you try to design your system around resources represented by URLs.</description>
    </item>
    
    <item>
      <title>DSLs for HTML and CSS - The Future, or Just Plain Wrong? </title>
      <link>/2008/04/11/dsls-for-html-and-css-the-future-or-just-plain-wro/</link>
      <pubDate>Fri, 11 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/04/11/dsls-for-html-and-css-the-future-or-just-plain-wro/</guid>
      <description>After my previous post about Django and the web standards community a number of the comments picked up on the fact I mentioned haml under the title Other Craziness. Ok, so I was being a little over-poetic but I decided this warranted a closer look.
Haml is a markup language that&amp;rsquo;s used to cleanly and simply describe the XHTML of any web document without the use of inline code. Haml functions as a replacement for inline page templating systems such as PHP, ASP, and ERB, the templating language used in most Ruby on Rails applications.</description>
    </item>
    
    <item>
      <title>Git, Ditz and Microformats</title>
      <link>/2008/04/06/git-ditz-and-microformats/</link>
      <pubDate>Sun, 06 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/04/06/git-ditz-and-microformats/</guid>
      <description>I finally got round to making use of Git, the distributed source code management tools much loved by Open Source projects like the Linux Kernel and now Ruby on Rails. It had been on the long list of things to have a look at for quite a while but for the majority of my personal projects SVN is just fine. The reason that led me to finally run sudo port install git-core was the new Ditz command line issue tracking software release on Gitorious by William Morgan.</description>
    </item>
    
    <item>
      <title>A First Class Web Citizen</title>
      <link>/2008/04/04/a-first-class-web-citizen/</link>
      <pubDate>Fri, 04 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/04/04/a-first-class-web-citizen/</guid>
      <description>I&amp;rsquo;m just back from another great few days in Scotland for The Highland Fling. The biggest difference for me this year was I was lucky enough to be one of the speakers. Amongst such internet luminaries as Simon Willison, Norm, Chris Mills, Christian Heilman, Aral Balkan and Paul Boag I presented on a few web building blogs (HTTP, URLs) and on some suggestions for API design. The presentation is available on slideshare for anyone who would like a peek.</description>
    </item>
    
    <item>
      <title>Barcamp NorthEast tickets available</title>
      <link>/2008/04/01/barcamp-northeast-tickets-available/</link>
      <pubDate>Tue, 01 Apr 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/04/01/barcamp-northeast-tickets-available/</guid>
      <description>Quick post to say BarCampNorthEast tickets are now available. We&amp;rsquo;re starting off releasing 50 tickets and we&amp;rsquo;ll see how that goes. We&amp;rsquo;re really not sure how quickly these will disappear so get them while they&amp;rsquo;re hot. More tickets will be available later as well.
barcampnortheast.eventwax.com/barcampnortheast/register
The event is looking like its going to be great. I&amp;rsquo;m really happy we managed to find a venue that would let us do the whole sleeping over thing.</description>
    </item>
    
    <item>
      <title>Why the webstandards world appears to be choosing Django</title>
      <link>/2008/03/29/why-the-webstandards-world-appears-to-be-choosing-/</link>
      <pubDate>Sat, 29 Mar 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/03/29/why-the-webstandards-world-appears-to-be-choosing-/</guid>
      <description>I&amp;rsquo;ve been noticing an interesting trend recently, not one I have any empirical evidence for mind, but one I though interesting non-the-less. Parts of the webstandards world appear to all be playing with Django. Part of this has been the odd mention down the pub, at barcamps or at SXSW this year. But the main source of information on the topic has been twitter. To name but a few I&amp;rsquo;ve seen tweets from Steve, Ross and Aral recently and Stuart and Cyril literally wont shut up about it.</description>
    </item>
    
    <item>
      <title>BarCamp NorthEast</title>
      <link>/2008/03/25/barcamp-northeast/</link>
      <pubDate>Tue, 25 Mar 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/03/25/barcamp-northeast/</guid>
      <description>BarCampNorthEast is go. A few people have finally got together and sorted out the long promised barcamp in Newcastle upon Tyne.
We&amp;rsquo;re going to be holding the event in the middle of Newcastle, at The Art Works on the weekend of the 24th/25th of May. That&amp;rsquo;s a whole two months away, ample time for everyone to make arrangements hopefully. From the early discussions we were always set upon going the whole hog and having a two day event.</description>
    </item>
    
    <item>
      <title>Testing Websites with Twill</title>
      <link>/2008/03/22/testing-websites-with-twill/</link>
      <pubDate>Sat, 22 Mar 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/03/22/testing-websites-with-twill/</guid>
      <description>I&amp;rsquo;ve been playing with Twill a little recently. It&amp;rsquo;s a Python based DSL used for functional testing of websites. From the official website:
 Twill is a simple language that allows users to browse the Web from a command-line interface. With twill, you can navigate through Web sites that use forms, cookies, and most standard Web features.
 A simple example might make things clearer. You&amp;rsquo;ll need to install twill first - the instructions are available on the site.</description>
    </item>
    
    <item>
      <title>Own your endpoints</title>
      <link>/2008/03/19/own-your-endpoints/</link>
      <pubDate>Wed, 19 Mar 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/03/19/own-your-endpoints/</guid>
      <description>If URLs are people too then you better make sure you control your URLs.
Although some people use blog hosting services like blogger the majority of serious bloggers, web designers or companies generally use their own domain name to host their site. Controlling your own domain name is increasingly important when that URL is a representation of you on the internet.
With all these social networks we&amp;rsquo;re starting to have pieces of us scattered all over the place.</description>
    </item>
    
    <item>
      <title>Accepted for Xtech</title>
      <link>/2008/03/14/accepted-for-xtech/</link>
      <pubDate>Fri, 14 Mar 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/03/14/accepted-for-xtech/</guid>
      <description>So, while sat with a few people at the WaSP panel at SXSW (of which more later when I&amp;rsquo;m fully caught up) I got a nice email from the folks at Xtech accepting my presentation idea. The abstract is below. If any of that sounds interesting or up your street I&amp;rsquo;d love to hear other peoples experiences or ideas on the subject.
Design Strategies for a Distributed Web From language frameworks to APIs Everyone is making use of mature and stable web application or javascript frameworks these days.</description>
    </item>
    
    <item>
      <title>Generating Charts using Google Charts API</title>
      <link>/2008/03/02/generating-charts-using-google-charts-api/</link>
      <pubDate>Sun, 02 Mar 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/03/02/generating-charts-using-google-charts-api/</guid>
      <description>I had need recently to produce some nice looking charts and immediately turned to the very nice Google Charts API. Just before Christmas Brian had written up a great introduction on 24ways and ever since I&amp;rsquo;d been looking for an excuse.
Chris wrote up a pretty nice approach to enhancing well marked up data tables using the Charts API with a dash of Javascript and I decided to start with that.</description>
    </item>
    
    <item>
      <title>Thinking Digital</title>
      <link>/2008/02/24/thinking-digital/</link>
      <pubDate>Sun, 24 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/02/24/thinking-digital/</guid>
      <description>I&amp;rsquo;m starting to get excited about Thinking Digital. But first a bit of back-story.
I started out making the trip to @media 2005 and since then have been a regular attendee of more conferences than I can shake a stick at. Lets say I caught the conference bug. But most of those have been within the web standards community niche and more recently I&amp;rsquo;ve been looking further afield for conference kicks, party due to the eclectic nature of BarCamp style events.</description>
    </item>
    
    <item>
      <title>Sorry, but the Flickr API isn&amp;#39;t REST</title>
      <link>/2008/02/21/sorry-but-the-flickr-api-isnt-rest/</link>
      <pubDate>Thu, 21 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/02/21/sorry-but-the-flickr-api-isnt-rest/</guid>
      <description>After SemanticCamp me and Rey popped in to see Paul and everyone at Osmosoft towers. A good few interesting conversations ensued, including one about the difference between mashups and integration. All good fun basically. Simon also had an interesting take on the topic as well.
What has all this to do with the topic of this post? Well, Simon says:
 When compared to small RESTful APIs like flickr and twitter&amp;hellip;</description>
    </item>
    
    <item>
      <title>Invited to Join WaSP</title>
      <link>/2008/02/19/invited-to-join-wasp/</link>
      <pubDate>Tue, 19 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/02/19/invited-to-join-wasp/</guid>
      <description>I had a great time at SemanticCamp over the weekend which was not too much of a surprise. What was a surprise was getting back home to find out that I&amp;rsquo;ve been invited to join the Web Standards Project (WaSP) on the Education Task Force. I even have my own page.
Thanks for inviting me guys. Anyone who has had the misfortune of having me present during a discussion of the current state of web education knows it&amp;rsquo;s one of my favourite subjects.</description>
    </item>
    
    <item>
      <title>Example of the Yahoo Live Api</title>
      <link>/2008/02/13/example-of-the-yahoo-live-api/</link>
      <pubDate>Wed, 13 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/02/13/example-of-the-yahoo-live-api/</guid>
      <description>Yahoo! Live launched recently along with a nice RESTful API. I&amp;rsquo;ve spoken before about the beauty of REST being in lowering the barrier to hacking and when I wanted a quick feature for Live it was simplicity itself to put together.
A few friends are using it far too much it seems, Ben has 7.6 hours and Si has already clocked up 15 hours. But for the most part I keep missing their no-doubt highly entertaining antics.</description>
    </item>
    
    <item>
      <title>Continuous Integration for Front End Developers</title>
      <link>/2008/02/04/continuous-integration-for-front-end-developers/</link>
      <pubDate>Mon, 04 Feb 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/02/04/continuous-integration-for-front-end-developers/</guid>
      <description>Most software developers, especially those with a grounding in Agile development methodologies, will probably be familiar with Continuous Integration
 Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.
 The emphasis above is mine, purely as it&amp;rsquo;s at the heart of what I&amp;rsquo;m going to ramble on about.</description>
    </item>
    
    <item>
      <title>Simple deployment with SVN and Phing</title>
      <link>/2008/01/30/simple-deployment-with-svn-and-phing/</link>
      <pubDate>Wed, 30 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/30/simple-deployment-with-svn-and-phing/</guid>
      <description>Another approach to deploying web apps is to use Phing. Phing is at heart a PHP clone of Ant, another common build and deployment tool. The main advantage of using Phing, at least if you&amp;rsquo;re already using PHP, is close integration with other PHP specific tools (PHPDocumentor, PHPLint and PHPUnit to name a few) and ease of install.
Speaking to installation Phing has it&amp;rsquo;s own PEAR channel. I still think PEAR is great in so many different ways - it always makes me frown when I see people cussing at PEAR (especiallly the installer).</description>
    </item>
    
    <item>
      <title>Questions, Pointers and Reality</title>
      <link>/2008/01/27/questions-pointers-and-reality/</link>
      <pubDate>Sun, 27 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/27/questions-pointers-and-reality/</guid>
      <description>Along with an awful lot of noise, the whole X-UA-COMPATIBLE IE8 issue is also bringing out some well rounded and thought through arguments from people I admire.
I still disagree with Jeremy Keith on the default issue but agree with everything else. Jeremy says:
 Let me make it perfectly clear: I understand the need for version targeting. But the onus must be on the publisher to enable it.
 At the moment it comes down to a sense of stubborn realism on my part.</description>
    </item>
    
    <item>
      <title>Who loses out to X-UA-Compatible?</title>
      <link>/2008/01/22/who-loses-out-to-x-ua-compatible/</link>
      <pubDate>Tue, 22 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/22/who-loses-out-to-x-ua-compatible/</guid>
      <description>If you work on the web you&amp;rsquo;ll probably have already seen or noted the existence of the latest issue of A List Apart:
 Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 From Switches to Targets: A Standardista&amp;rsquo;s Journey  My twitter feed positively exploded with negative feedback on this issue but I&amp;rsquo;ve only just got round to reading (and re-reading) the various interesting articles and (some half through through) comments.</description>
    </item>
    
    <item>
      <title>A few interesting upcoming events</title>
      <link>/2008/01/19/a-few-interesting-upcoming-events/</link>
      <pubDate>Sat, 19 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/19/a-few-interesting-upcoming-events/</guid>
      <description>After a break over Christmas the web world is back in full swing with a few upcoming events.
BarCamp Scotland - February 2nd.
I only just found out about this one but it looks like a few people from Refresh Newcastle and Refresh Edinburgh are going to make it along. The short notice does mean I have to think of something to talk about sharpish though.
Think and a Drink - February 7th</description>
    </item>
    
    <item>
      <title>On Process and Design</title>
      <link>/2008/01/13/on-process-and-design/</link>
      <pubDate>Sun, 13 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/13/on-process-and-design/</guid>
      <description>I consider myself something of a hybrid, flirting with both the design and development side of things. I also like to think of myself as something of a student of the discipline; reading and consuming as much knowledge as possible on the process as well as the practice. Something I took to pondering while reading My Job Went to India was why the majority of theory books tend to be from the software side?</description>
    </item>
    
    <item>
      <title>How to deploy PHP sites with the Pake build tool</title>
      <link>/2008/01/07/how-to-deploy-php-sites-with-the-pake-build-tool/</link>
      <pubDate>Mon, 07 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/07/how-to-deploy-php-sites-with-the-pake-build-tool/</guid>
      <description>So in case you hadn&amp;rsquo;t guessed project automation is the new black. I&amp;rsquo;ve been getting back into some development work recently with Is it Birthday? and getjobsin and trying to automate as much of the repetitive and boring work as possible.
I&amp;rsquo;m not absolutely sure that that many people outside large or particularly organised teams realise that large web sites are not generally deployed by someone with an FTP client and crossed fingers.</description>
    </item>
    
    <item>
      <title>Refresh Map</title>
      <link>/2008/01/05/refresh-map/</link>
      <pubDate>Sat, 05 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/05/refresh-map/</guid>
      <description>It turns out that their are now nearly 40 Refresh groups scattered around and about. Here&amp;rsquo;s a quick map of them all. It&amp;rsquo;s pretty interesting how all these groups have picked up on a simple word.
 For anyone in the Newcastle are we&amp;rsquo;re having a meetup next week, on Thursday evening, as it happens, the details are on Upcoming if you fancy coming along.</description>
    </item>
    
    <item>
      <title>Things to entertain us in 2008 </title>
      <link>/2008/01/04/things-to-entertain-us-in-2008/</link>
      <pubDate>Fri, 04 Jan 2008 00:00:00 +0000</pubDate>
      
      <guid>/2008/01/04/things-to-entertain-us-in-2008/</guid>
      <description>This being a blog and it being the start of a new year (2008 for those not following closely) I feel obliged to list of few predictions of sorts. Rather than concrete this will happen things here are a few bits and pieces I think will be interesting over the next year.
Site Specific Browsers A few people have already waxed lyrical about Site Specific Browsers and after trying out Prism for a few weeks I can say I really like the idea.</description>
    </item>
    
    <item>
      <title>Is it Birthday?</title>
      <link>/2007/12/28/is-it-birthday/</link>
      <pubDate>Fri, 28 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/28/is-it-birthday/</guid>
      <description>Did you love the simplicity of Is it Christmas? but feel left out, wondering why Christmas should be more important than, say, you? Well here&amp;rsquo;s your answer; Is it Birthday?
:http://isitbirthday.com</description>
    </item>
    
    <item>
      <title>Nice bits of symfony: Web Debug Toolbar</title>
      <link>/2007/12/26/nice-bits-of-symfony-web-debug-toolbar/</link>
      <pubDate>Wed, 26 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/26/nice-bits-of-symfony-web-debug-toolbar/</guid>
      <description>I mentioned previously that I&amp;rsquo;d been playing with the symfony framework on a couple of projects and I have to admit to being more and more impressed as I wade in looking for things. I&amp;rsquo;ve worked with enough MVC-like frameworks to know they are all quite similar in more ways than they are dramatically different. So it&amp;rsquo;s the little bits and pieces that win you over.
One of my favourite little bits in symfony has to be the Web Debug Toolbar.</description>
    </item>
    
    <item>
      <title>Happy with my eeepc</title>
      <link>/2007/12/23/happy-with-my-eeepc/</link>
      <pubDate>Sun, 23 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/23/happy-with-my-eeepc/</guid>
      <description>I like small. I have a macbook rather than a macbook pro because it&amp;rsquo;s smaller. Especially now I&amp;rsquo;m wandering about more often with work (and play) lugging a machine around is less and less appealing. So, armed with that excuse I felt justified in going out and buying a new Asus Eee PC. I managed to just walk in to Micro Anvika in Newcastle and buy one from a bemused staff member who was pretty shocked to find one in stock and not allocated (sorry Rey).</description>
    </item>
    
    <item>
      <title>CSS Uprising</title>
      <link>/2007/12/17/css-uprising/</link>
      <pubDate>Mon, 17 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/17/css-uprising/</guid>
      <description>For those not following along closely I thought it worth highlighting some interesting goings on around the web. Andy Clarke put the CSS cat amongst the W3C pigeons with a couple of posts; CSS Unworking Group and a following up CSSWG Proposals
How I&amp;rsquo;ve had a few ideas myself previously around what I&amp;rsquo;d like to see from the CSS3 working group. I&amp;rsquo;m now avidly following along with the comments and I&amp;rsquo;d urge anyone working even on an occasional basis with CSS to do the same.</description>
    </item>
    
    <item>
      <title>Using Curl to play with CouchDB</title>
      <link>/2007/12/11/using-curl-to-play-with-couchdb/</link>
      <pubDate>Tue, 11 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/11/using-curl-to-play-with-couchdb/</guid>
      <description>As a big big fan of all things HTTP, the new Erlang based database, CouchDB, piqued my interest. With the recent release of 0.7 it&amp;rsquo;s now intended for widespread use. Now I&amp;rsquo;m a fan of databases as long as I don&amp;rsquo;t have to go too near them. SQL, triggers and stored procedures are all a little too close to magic for me.
The reason CouchDB looks particularly good fun was it&amp;rsquo;s build around a REST API using JSON for data transport.</description>
    </item>
    
    <item>
      <title>Insert Dojo and YUI bookmarklets</title>
      <link>/2007/12/08/insert-dojo-and-yui-bookmarklets/</link>
      <pubDate>Sat, 08 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/08/insert-dojo-and-yui-bookmarklets/</guid>
      <description>I&amp;rsquo;ve talked about having fun with jQuery using Jash and Firebug before after seeing Simon throw the Google homepage around at barcamp. I&amp;rsquo;m no more a one javascript framework person than a one programming language person and recently I&amp;rsquo;ve seen cool things I want to play with in lots of the main contenders.
I&amp;rsquo;ve put together a couple of bookmarklets which load YUI or Dojo from their respective content delivery networks and insert them into your current browser context.</description>
    </item>
    
    <item>
      <title>Writing Elsewhere</title>
      <link>/2007/12/08/writing-elsewhere/</link>
      <pubDate>Sat, 08 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/08/writing-elsewhere/</guid>
      <description>As well as the eclectic ramblings on this blog I&amp;rsquo;ve taken to writing longer bits and pieces for some other nice folk, two of which went up over the last few days.
&amp;ldquo;Drew&amp;rdquo; and Brian are doing a great job of gathering together some really good articles in a silly time-scale over on 24ways.org at the moment. My little ditty on minification was day 6.
Chris Mills, in his new position as Opera mascot, has also rapidly started to build up a great collection of articles over on dev.</description>
    </item>
    
    <item>
      <title>Debug web pages with Jquery and Jash</title>
      <link>/2007/12/03/debug-web-pages-with-jquery-and-jash/</link>
      <pubDate>Mon, 03 Dec 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/12/03/debug-web-pages-with-jquery-and-jash/</guid>
      <description>I have a new toy I&amp;rsquo;m quite enamoured with. After a double helping of jQuery first from Jon Resig at @media Ajax and then from Simon Willison at barcamp I just had to take a look. My favourite part was probably Simon showing off his Insert jQuery bookmarklet - hacking around with the Google home page design on the firebug command line. The idea of having a command line to play around with any web page I come across appeals to my geekier side.</description>
    </item>
    
    <item>
      <title>10 Thinks you probably don&amp;#39;t do</title>
      <link>/2007/11/30/10-thinks-you-probably-dont-do/</link>
      <pubDate>Fri, 30 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/11/30/10-thinks-you-probably-dont-do/</guid>
      <description>The resent barcamplondon3 was huge fun and particularly interesting. I might even go as far as saying it was the best yet in terms of the sessions I attended.
Particular highlights for me included discussions of (Yahoo! flavoured) web development practices and processes from Norm and Mike, Matt Biddulph on messaging, erlang a event driven programming techniques and Dan Dixon&amp;rsquo;s panel on What should we be teaching the next gen of web designers/devs?</description>
    </item>
    
    <item>
      <title>Archiving Twitter data with Python</title>
      <link>/2007/11/23/archiving-twitter-data-with-python/</link>
      <pubDate>Fri, 23 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/11/23/archiving-twitter-data-with-python/</guid>
      <description>Alex from Twitter just got round to adding the ability to export your entire archive of tweets via the API. A few people on the mailing list had been asking for this for a while so good to see it get released.
I couldn&amp;rsquo;t resist knocking together a very quick and simple Python script to go off and get all your tweets, presented here for anyone else to play around with.</description>
    </item>
    
    <item>
      <title>Should we just learn Java?</title>
      <link>/2007/11/21/should-we-just-learn-java/</link>
      <pubDate>Wed, 21 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/11/21/should-we-just-learn-java/</guid>
      <description>As a wandering web designer cum developer and now occasional consultant I&amp;rsquo;m generally pretty technology agnostic. At some point or another I&amp;rsquo;ve written HTML, CSS, Javascript, PHP, C#, Python and Rails for a living - often on the same day. But something has me thinking and I thought I&amp;rsquo;d see what other people thought as well.
That thing is Java. I have books on Java. I&amp;rsquo;ve done the usual examples (hello world in 20 lines for instance).</description>
    </item>
    
    <item>
      <title>Joost Developer Day</title>
      <link>/2007/11/17/joost-developer-day/</link>
      <pubDate>Sat, 17 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/11/17/joost-developer-day/</guid>
      <description>I spent yesterday afternoon over with Joost in London as part of their UK developer day. The event was mainly for them to show off their new widget platform and to get some input from prospective developers about what they would like to see next. About 20 people or so came along from the BBC, Ebay and a couple of london agencies, with me and Tom loitering around the edges. The afternoon was split into a series of short talks from people on the team.</description>
    </item>
    
    <item>
      <title>Activity</title>
      <link>/2007/11/12/activity/</link>
      <pubDate>Mon, 12 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/11/12/activity/</guid>
      <description>Sorry, shameless what&amp;rsquo;s going on post for historical posterity.
Before that starts thought here are a couple of useful microformatted schedules for Future of Mobile and @media Ajax created by the really rather handy Conference Schedule Creator. Hat tip to Jeremy and Brian for the lovely styles.
 Future of Mobile Conference Schedule @media Ajax Conference Schedule  I&amp;rsquo;m spending the next few weeks circling London, first up attending Future of Mobile, on to Pubstandards and then popping in to see Joost.</description>
    </item>
    
    <item>
      <title>Some useful mobile web design links</title>
      <link>/2007/11/07/some-useful-mobile-web-design-links/</link>
      <pubDate>Wed, 07 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/11/07/some-useful-mobile-web-design-links/</guid>
      <description>Earlier in the year I set aside some time to get my head into the mobile web. Most of this was reading and tinkering. Since then I&amp;rsquo;ve pointed a number of people (including clients and people in the pub) towards some or all of the following links. A good starting point for anyone starting to get interested in the mobile web.
A good starting place is Mobile Web Design by Cameron Moll which is available as a PDF, and now as a hard copy from lulu.</description>
    </item>
    
    <item>
      <title>CSS Snapshots, CSS3 Modules and an Agile Way Forward</title>
      <link>/2007/11/04/css-snapshots-css3-modules-and-an-agile-way-forwar/</link>
      <pubDate>Sun, 04 Nov 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/11/04/css-snapshots-css3-modules-and-an-agile-way-forwar/</guid>
      <description>The state of CSS has been a common topic of conversation this year. Ever since Andy Budd stirred things up at The Highland Fling about The Future of CSS and followed up with a call for CSS 2.2 we&amp;rsquo;ve been wanting more.
Well, in response to all this the CSS3 working group have released CSS Snapshot 2007 as a working draft. CSS3, in theory, has a modular structure. The idea behind this was that individual pieces could be worked up, specified and released without having to work on the whole thing at once.</description>
    </item>
    
    <item>
      <title>BBC Innovation Labs 2008</title>
      <link>/2007/10/29/bbc-innovation-labs-2008/</link>
      <pubDate>Mon, 29 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/10/29/bbc-innovation-labs-2008/</guid>
      <description>Fab. It&amp;rsquo;s that time of year again. Time to start thinking &amp;ldquo;wouldn&amp;rsquo;t it be cool if&amp;rdquo; when it comes to the BBC (even if it&amp;rsquo;s not your day job).
I had the fortune of going along to this years BBC Innovation labs back in March and they&amp;rsquo;re back on the road again next year, with applications open from the 1st of December.
The basic concept is simple. Through a simple but competitive process of ideas submission the BBC find a handful of companies to dump in nice settings in the middle of nowhere for a week to work on their ideas.</description>
    </item>
    
    <item>
      <title>PHP Asset Packager</title>
      <link>/2007/10/28/php-asset-packager/</link>
      <pubDate>Sun, 28 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/10/28/php-asset-packager/</guid>
      <description>Performance used to be something other people thought about. If you were working on a high traffic site for a large company, chances are they would throw inordinate amounts of expensive hardware at the problem. If you had a personal site only if you got really popular would you need more than a shared host. But the number of web applications being launched by small companies or individuals from their bedrooms is raising the awareness of the importance of performant websites.</description>
    </item>
    
    <item>
      <title>My Trac Ticket setup</title>
      <link>/2007/10/23/my-trac-ticket-setup/</link>
      <pubDate>Tue, 23 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/10/23/my-trac-ticket-setup/</guid>
      <description>I&amp;rsquo;ve been busy really getting to grips with Trac recently and thought I&amp;rsquo;d post up a few details. Trac for those that haven&amp;rsquo;t come across it is a wiki, issue tracking systems and source code browser all rolled into one. It&amp;rsquo;s open source and written in Python.
I&amp;rsquo;ll start off describing my current ticket setup, along with the code I use for reports. In future posts I&amp;rsquo;ll hopefully describe thinks like setting up users and permissions in a flexible way.</description>
    </item>
    
    <item>
      <title>The Future of The Future of Web Apps</title>
      <link>/2007/10/21/the-future-of-the-future-of-web-apps/</link>
      <pubDate>Sun, 21 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/10/21/the-future-of-the-future-of-web-apps/</guid>
      <description>Continuing the catch up, as mentioned, here&amp;rsquo;s some thoughts on the recent Future of Web Apps Expo conference.
It&amp;rsquo;s fair to say the last Future of Web Apps (FOWA) event got a little stick due to what was seen as too many paid sponsors on stage lacking interesting things to say. Some designers and developers on the coal face also felt all the talk about startups just wasn&amp;rsquo;t relevant to their day jobs.</description>
    </item>
    
    <item>
      <title>Mashup Demo</title>
      <link>/2007/10/19/mashup-demo/</link>
      <pubDate>Fri, 19 Oct 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/10/19/mashup-demo/</guid>
      <description>Long time no post. Lots of excuses, time away (including a holiday) and work catching up with me. Hopefully expect a few quick fire posts to catch up and then back to normal.
I was in London a couple of weeks back, mainly to help out at FOWA (which can get it&amp;rsquo;s own post) but also to generally catch up with lots of people about interesting stuff. After using my Monopoly knowledge of London to find the apple store (something some Londers took issue with) I heard about an event round the corner thanks to the magic of the internets (in this case Twitter, Upcoming and Dave Stone).</description>
    </item>
    
    <item>
      <title>Getting going with Symfony</title>
      <link>/2007/09/16/getting-going-with-symfony/</link>
      <pubDate>Sun, 16 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/09/16/getting-going-with-symfony/</guid>
      <description>I&amp;rsquo;ve tinkered with a rather large number of these web application frameworks, in Ruby, Python, PHP and C#, at some point over the last few years. But I&amp;rsquo;ve never really settled on any of them - mainly because my day job didn&amp;rsquo;t need me to and also because I like playing with new toys. I even tinkered with my own homage to Web.py in PHP which a few people have picked and are running with.</description>
    </item>
    
    <item>
      <title>Brighton Rock(s)</title>
      <link>/2007/09/10/brighton-rocks/</link>
      <pubDate>Mon, 10 Sep 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/09/10/brighton-rocks/</guid>
      <description>Back from a madcap weekend in Brighton for the dconstruct BarCamp Brighton double header. If I was to write down everything I can remember we&amp;rsquo;d be here for a week. If I was to write down simply everything then we&amp;rsquo;d be here longer still. Information packed just doesn&amp;rsquo;t cover it.
I&amp;rsquo;ll likely sort some more detailed posts on some particular topics that piquet my interest in the coming weeks or months, for instance user centred design vs agile methodologies (thanks to Leisa Reichelt), some more rambling posts on web application frameworks, microformats for write APIs, OAuth and countless other things I&amp;rsquo;ve no doubt forgotten.</description>
    </item>
    
    <item>
      <title>Newcastle Geekvenues</title>
      <link>/2007/08/30/newcastle-geekvenues/</link>
      <pubDate>Thu, 30 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/08/30/newcastle-geekvenues/</guid>
      <description>More interesting Newcastle centric news, although this time partly releveant to everyone else - well, as long as you live in Oxford, Brighton, Leeds or Manchester that this.
Natalie Downe has spent some of her copious spare time (having left the agency way of life and gone all freelance too) cooking up Geekvenues. It&amp;rsquo;s an attempt to map (using Google Maps) any and all geek related venues around the UK. Local meetup places perhaps, regular venues, or just geek friendly pubs with wifi.</description>
    </item>
    
    <item>
      <title>OpenCoffee Newcastle</title>
      <link>/2007/08/28/opencoffee-newcastle/</link>
      <pubDate>Tue, 28 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/08/28/opencoffee-newcastle/</guid>
      <description>OpenCoffee Newcastle is a new, open, informal and regular meetup for technology entrepreneurs, designers, bloggers, developers, geeks, investors and anyone else whoâ€™s interested.
We are going to meet every Thursday morning, between 10am and 12pm, at The Side just off Newcaste Quayside.
The first event will be held on September 13th. So come and share ideas, demo, get to know each other or just have a coffee.
OpenCoffee Newcastle is part of the global community effort over at opencoffeeclub.</description>
    </item>
    
    <item>
      <title>HTML. An alternative to Word?</title>
      <link>/2007/08/19/html-an-alternative-to-word/</link>
      <pubDate>Sun, 19 Aug 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/08/19/html-an-alternative-to-word/</guid>
      <description>When I&amp;rsquo;m writing code, be it CSS, Javascript, Ruby, whatever, I don&amp;rsquo;t like big bulky IDE&amp;rsquo;s. Give me TextMate or Vim any day. Going all freelance I now have the occasional need to produce nice documents and being in charge means I get to decide what I use to produce them. I never really liked working in Microsoft Word so decided against it. But rather than sensibly going for an obviously alternative I decided to just use HTML, or rather more specifically, Textile.</description>
    </item>
    
    <item>
      <title>Some Thoughts on Good Conferences to Attend - UK</title>
      <link>/2007/07/31/some-thoughts-on-good-conferences-to-attend-uk/</link>
      <pubDate>Tue, 31 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/07/31/some-thoughts-on-good-conferences-to-attend-uk/</guid>
      <description>Ben Metcalfe just posted a run down of some thoughts on conferences to attend. With all my travels this year I thought I&amp;rsquo;d join in.
I&amp;rsquo;ve spend quite a bit of time this year travelling the UK for various get togethers, conferences, meetups and the like and had great fun doing so. I go mainly because nowhere else do I find quite such a critical mass of smart interesting people to have a pint with and discuss the intricacies of the web.</description>
    </item>
    
    <item>
      <title>Nabaztag REST API</title>
      <link>/2007/07/18/nabaztag-rest-api/</link>
      <pubDate>Wed, 18 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/07/18/nabaztag-rest-api/</guid>
      <description>I&amp;rsquo;m having quite a bit of fun with my rabbit, cambridge, at the moment. Their were a number of projects at Hackday involving the ever so cute Nabaztag and I had a feeling I&amp;rsquo;d probably go home and adopt one. The idea of a rabbit with APIs was simple too much fun.
The Nabaztag API docs can be found in two places (the rest of the site unfortunately has a number of issues when it comes to finding information easily); in the help section and on the API site.</description>
    </item>
    
    <item>
      <title>Ruby on Rails on Nokia N800</title>
      <link>/2007/07/15/ruby-on-rails-on-nokia-n800/</link>
      <pubDate>Sun, 15 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/07/15/ruby-on-rails-on-nokia-n800/</guid>
      <description>My latest job has allowed me to get back into playing with Rails, something I&amp;rsquo;ve been meaning to do for a year or so. Having got everything up to date and installed on my virtual server and on my laptop I couldn&amp;rsquo;t resist seeing if I could get it going on my N800.
The reasons for this are mainly that the idea of a wireless web server in my pocket is pretty intriguing.</description>
    </item>
    
    <item>
      <title>A round-up</title>
      <link>/2007/07/11/a-round-up/</link>
      <pubDate>Wed, 11 Jul 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/07/11/a-round-up/</guid>
      <description>Being busy is to be expected with this new start-up malarkey but whoa. The problem is I have even more ideas for real posts or articles (the type you research, play around with, then write properly) and, for the next few weeks, not the time to do them justice. I&amp;rsquo;ll be back with gusto when I find the time. In the interim here are a few things from the last month or so I consider cool.</description>
    </item>
    
    <item>
      <title>Target(ing) on CSS3</title>
      <link>/2007/06/24/targeting-on-css3/</link>
      <pubDate>Sun, 24 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/06/24/targeting-on-css3/</guid>
      <description>Apologies up front for the bad pun but I&amp;rsquo;ve been busy playing with another little feature found in CSS3, namely the :target pseudo-class.
It&amp;rsquo;s actually pretty well described in the CSS3 Selectors module, (although given that the specs make lots of use of partial URLs the spec style sheet is crying out for use of said selector to I digress).
Put simply it allows you to style elements of a page that are the target of in page anchors, ie.</description>
    </item>
    
    <item>
      <title>Encoded Characters in CSS3 Generated Content</title>
      <link>/2007/06/22/encoded-characters-in-css3-generated-content/</link>
      <pubDate>Fri, 22 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/06/22/encoded-characters-in-css3-generated-content/</guid>
      <description>A quick, but hopefully informative post on something that took me a little time to work out and I thought might trip a few others up too.
I&amp;rsquo;m playing with quite a bit of CSS3 at the moment for our new company site. It seemed like a good excuse to put into practice lots of progressive enhancement and the like and so far is going nicely if I do say so my self.</description>
    </item>
    
    <item>
      <title>Introducing hedgehog lab</title>
      <link>/2007/06/11/introducing-hedgehog-lab/</link>
      <pubDate>Mon, 11 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/06/11/introducing-hedgehog-lab/</guid>
      <description>For both of you who care what I get up to during my work hours this post is for you. I&amp;rsquo;ve finally gotten involved in a new startup with a couple of friends. Look out for hedgehog lab related goings on in a Newcastle near you. We&amp;rsquo;ve got plans being drawn up as I type (multi-tasking) but a smattering of training and consultancy on web standards design and development and a very health dose of some of those new fangled online products (all with as many microformats as I can sneak in) sounds like fun to me.</description>
    </item>
    
    <item>
      <title>JSON configuration example - Printing</title>
      <link>/2007/06/02/json-configuration-example-printing/</link>
      <pubDate>Sat, 02 Jun 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/06/02/json-configuration-example-printing/</guid>
      <description>As a quick follow up to my previous post on unobtrusive javascript I thought I&amp;rsquo;d expand it even more, but this time in an attempt to make it easier to use.
As we&amp;rsquo;ve already mentioned javascript should be treated like any other programming language - not necessarily left to the experts but their should ideally be an expert involved somewhere along the line. One way of doing this is to abstract out configuration from programmatic logic.</description>
    </item>
    
    <item>
      <title>Unobtrusive Javascript Example - Printing</title>
      <link>/2007/05/29/unobtrusive-javascript-example-printing/</link>
      <pubDate>Tue, 29 May 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/05/29/unobtrusive-javascript-example-printing/</guid>
      <description>In lieu of some real posts here&amp;rsquo;s a quick code sample to keep things ticking along.
I&amp;rsquo;m sure you&amp;rsquo;ve had the need to place a nice print button on a web page from time to time. If you haven&amp;rsquo;t you&amp;rsquo;re probably alone. A quick google will throw up lots of results for print javascript - the problem is that most of them are horribly obtrusive.
OK, so it&amp;rsquo;s easy to write something like:</description>
    </item>
    
    <item>
      <title>Some good news</title>
      <link>/2007/05/18/some-good-news/</link>
      <pubDate>Fri, 18 May 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/05/18/some-good-news/</guid>
      <description>Yeah, I just got my confirmation email for hackday in a months time.

So, who else is going along and does anyone have any ideas they want team mates for? I&amp;rsquo;m thinking something mobile or microformats related or alternatively something I know very little about. Any ideas?
Oh, and I know I&amp;rsquo;ve been quite around the place lately, more on that when I can talk about it.</description>
    </item>
    
    <item>
      <title>CSSx.x</title>
      <link>/2007/05/07/cssxx/</link>
      <pubDate>Mon, 07 May 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/05/07/cssxx/</guid>
      <description>Andy gave a great thought provoking presentation (exactly what conference presentations should be) at the recent Highland Fling shindig on the future of CSS which he&amp;rsquo;s written up into a good thought provoking blog post on CSS2.2
The Problem As web standards developers we want new toys! I took to CSS because it made sense set against the madness of table based layouts, not necessarily because it appeared easy or flexible.</description>
    </item>
    
    <item>
      <title>If computer scientists managed birth certificates</title>
      <link>/2007/04/28/if-computer-scientists-managed-birth-certificates/</link>
      <pubDate>Sat, 28 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/04/28/if-computer-scientists-managed-birth-certificates/</guid>
      <description>I&amp;rsquo;ve been pondering authority in microformats and as a result been taking a closer look at microID.
The situation I want to find a solution for is; If their are lots of published hcards for a given person they might be different, either out of date or more sinisterly fraudulent. If I do a search for contact details, lets say using the technorati hcard search engine, how do I know which one is to be trusted?</description>
    </item>
    
    <item>
      <title>Authoritative hCards - Authority in microformats</title>
      <link>/2007/04/16/authoritative-hcards-authority-in-microformats/</link>
      <pubDate>Mon, 16 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/04/16/authoritative-hcards-authority-in-microformats/</guid>
      <description>I&amp;rsquo;ve been pondering lots of potential uses for microformats of late and came up on one thing I thought worth asking what people thought; namely the issue of authority in microformatted data.
Technorati provide a very interesting Microformats search engine that allows you to search for a person and get back their contact details via hcards that it knows about. For instance try doing a search for me and you get seven results (ironic given the domain name), try with one of those famous people and you get lots more.</description>
    </item>
    
    <item>
      <title>Working example of Microformats as an API</title>
      <link>/2007/04/07/working-example-of-microformats-as-an-api/</link>
      <pubDate>Sat, 07 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/04/07/working-example-of-microformats-as-an-api/</guid>
      <description>Drew posted a while ago asking can-your-website-be-your-api. The simple idea is that you just might be able to live without a dedicated API in favour of good use of microformats.
It also turns out Tantek has also been on the case with his presentation Can your website be your API? - Using semantic XHTML to show what you mean and
Glenn has spoken on the subject too at WebDD and BarCamp.</description>
    </item>
    
    <item>
      <title>Software I Installed on my N800</title>
      <link>/2007/04/02/software-i-installed-on-my-n800/</link>
      <pubDate>Mon, 02 Apr 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/04/02/software-i-installed-on-my-n800/</guid>
      <description>Ok, so I&amp;rsquo;ve been shopping again but I&amp;rsquo;ll try and make this post a little more useful that oh, look at my shiny new toy.
I decided that what I was really missing to help with my twitter addiction and growing interest in the mobile web was a shiny new Nokia N800 Internet Tablet.
I cant really write a fair review at the moment as I&amp;rsquo;ve only just got my mits on it so that will have to save for later.</description>
    </item>
    
    <item>
      <title>Even More Events</title>
      <link>/2007/03/28/even-more-events/</link>
      <pubDate>Wed, 28 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/03/28/even-more-events/</guid>
      <description>I occasionally get some stick for wandering the country attending as many web related get togethers as I can manage but in fairness their are so many good events to get along to at the moment it would be rude not to. So here&amp;rsquo;s yet another run down of some upcoming events that people really should try and get along to:
The Highland Fling Yes! It&amp;rsquo;s The Highland Fling in only a couple of weeks and it&amp;rsquo;s still looking as great as when I bought my tickets.</description>
    </item>
    
    <item>
      <title>Semantic Web acronym links primer</title>
      <link>/2007/03/18/semantic-web-acronym-links-primer/</link>
      <pubDate>Sun, 18 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/03/18/semantic-web-acronym-links-primer/</guid>
      <description>One thing you hit pretty rapidly when you start having a look into all this Semantic Web malarkey is the number of rather silly acronyms and abbreviations. In fairness it&amp;rsquo;s true of pretty much every technical or academic discipline I&amp;rsquo;ve come across and you can ask the people I work with what I think about that - I wont ramble on here.
And dont think this is all because I&amp;rsquo;m not technical enough for ya, I have code on my blog and a faintly scary collection of technical tomes.</description>
    </item>
    
    <item>
      <title>I&amp;#39;m not a Werewolf!</title>
      <link>/2007/03/10/im-not-a-werewolf/</link>
      <pubDate>Sat, 10 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/03/10/im-not-a-werewolf/</guid>
      <description>After the numerous games of Werewolf at Barcamp London recently a few of us got chatting about the idea of custom Werewolf cards using Flickr. Well I&amp;rsquo;ve just finished a very simple example of this and thought I&amp;rsquo;d post it up.
Head over to morethanseven.net/presents/werewolf for a set of printable cards based on Flickr Machine Tags.
In the future I may enhance this with a nifty interface which lets visitors select the number of each card they want - and I spoke briefly with Stefan from Moo about if it&amp;rsquo;s possible to link into printing them on those lovely Moo cards.</description>
    </item>
    
    <item>
      <title>Parsing ERDF</title>
      <link>/2007/03/04/parsing-erdf/</link>
      <pubDate>Sun, 04 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/03/04/parsing-erdf/</guid>
      <description>Now we&amp;rsquo;ve got some eRDF in our pages we need to extract it out in preparation for doing someting with it.
With XSL First up we want to try and extract the eRDF in our page into an RDF document. Ian Davis has already created a nice XSL document to do just that. and I&amp;rsquo;ve implemented a nice service wrapper to extract the RDF from a given URL. Try pointing it at morethanseven.</description>
    </item>
    
    <item>
      <title>Microformats and eRDF sitting in a tree</title>
      <link>/2007/03/03/microformats-and-erdf-sitting-in-a-tree/</link>
      <pubDate>Sat, 03 Mar 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/03/03/microformats-and-erdf-sitting-in-a-tree/</guid>
      <description>Following on from my previous post on eRDF I&amp;rsquo;ve started to play around with it. For anyone bored enought to have read the source of this site today you&amp;rsquo;ll have seen a couple of behind the scenes changes - specifically I&amp;rsquo;ve added a dash of FOAF.
The FOAF, or Friend of a Friend, project is:
 creating a Web of machine-readable pages describing people, the links between them and the things they create and do.</description>
    </item>
    
    <item>
      <title>UK Web Design Meetups Map</title>
      <link>/2007/02/28/uk-web-design-meetups-map/</link>
      <pubDate>Wed, 28 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/28/uk-web-design-meetups-map/</guid>
      <description>I&amp;rsquo;ve posted a list before of events and meetups I know about around the UK but had got playing with the Google Maps API and decided to go one stage further and create a hopefully useful place to put all that info in the shape of a quick mashup.
Have a look over on morethanseven.net/presents/meetup for a hopefully useful tool. I&amp;rsquo;ll try and keep this up to date manually for the time being, so if you know of any other get togethers please leave a comment and I&amp;rsquo;ll add them to the list.</description>
    </item>
    
    <item>
      <title>What eRDF can learn from Microformats </title>
      <link>/2007/02/26/what-erdf-can-learn-from-microformats/</link>
      <pubDate>Mon, 26 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/26/what-erdf-can-learn-from-microformats/</guid>
      <description>Quite a bit of time at BarCamp was spent thinking, talking and in running skirmishes about the Semantic Web. Or the semantic web depending which side you&amp;rsquo;re on.
Now I&amp;rsquo;m a big fan and perpetual user of Microformats. They make sense, are simple to add everywhere (by stealth if needs be) and the potential is pretty interesting to boot. They are designed in the open, allowing everyone to participate and have a strong emphasis on solving every day problems in the real world.</description>
    </item>
    
    <item>
      <title>People I met in London</title>
      <link>/2007/02/25/people-i-met-in-london/</link>
      <pubDate>Sun, 25 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/25/people-i-met-in-london/</guid>
      <description>Meeting likeminded people is always good fun and the UK web conference scene provides lots of good opportunities for that. Sometimes it&amp;rsquo;s meeting up with past aquaintances or friends and other times mainly about making new contacts. Oh, and their are always a few co-worker&amp;rsquo;s in tow.
Mainly as a reminder but also as a &amp;ldquo;hello&amp;rdquo; to some of those I met down in London for BarCamp (BarcampLondon2) and Future of Web Apps (FOWALondon07) here goes with a list of some of the people, mainly colleague and a few neighbor I met on my travels:</description>
    </item>
    
    <item>
      <title>Content Management Systems a go-go</title>
      <link>/2007/02/24/content-management-systems-a-go-go/</link>
      <pubDate>Sat, 24 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/24/content-management-systems-a-go-go/</guid>
      <description>Well, I&amp;rsquo;m now running WordPress. I know I appear to be aimlessly flitting between content management systems on this site but it&amp;rsquo;s more of a little research project I swear. Hopefully it&amp;rsquo;s all happening pretty seemlessly for everyone reading my ramblings. This time RSS came to the fore, allowing me to simply export a feed of all my previous posts and import them straight into WordPress. This sort of portability is very very nice for the user.</description>
    </item>
    
    <item>
      <title>Useful API links</title>
      <link>/2007/02/15/useful-api-links/</link>
      <pubDate>Thu, 15 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/15/useful-api-links/</guid>
      <description>After a load of research for a couple of projects I thought I may as well add a large pile of links to a post for future reference. Feel free to wander through if your interests stretch to using scripting languages in mashups and the like.

 PHP
   http://uk.php.net/curl
  http://developer.yahoo.com/php/
  http://pear.php.net/package/HTTP_Request
  http://uk2.php.net/file_get_contents
  http://pear.php.net/pepr/pepr-proposal-show.php?id=198
  http://www.aurore.net/projects/php-json
  http://pear.</description>
    </item>
    
    <item>
      <title>Shiny Content Management</title>
      <link>/2007/02/11/shiny-content-management/</link>
      <pubDate>Sun, 11 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/11/shiny-content-management/</guid>
      <description>Well, my presentation over at the local Ruby on Rails Usergroup went down OK last Thursday. I could have done with some more time to prepare and do up some nicer slides but most of the presentation was quite hands on with me coding and talking, which was a first for me.  My presentation was basically a whistle stop tour of Radiant. I rambled on for about fifty minutes or so, quickly going through the basic concepts of Pages, Layouts and Snippets and then on to an example site which I built from scratch in front of everyone – with only a few obvious errors and obvious mistakes.</description>
    </item>
    
    <item>
      <title>WebDD</title>
      <link>/2007/02/04/webdd/</link>
      <pubDate>Sun, 04 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/04/webdd/</guid>
      <description>Just back from WebDD down in Reading at the Microsoft Campus and thought I’d post a few thoughts. I’ll get into a few of these topics in more detail down the line when time permits but for now…  I went to a few talks, one on Microformats by Glenn Jones and the other on web standards design by Patrick Lauke that I enjoyed but didn’t learn much. I wasn’t the intended audience really and I’d gone along because I didn’t fancy the alternatives.</description>
    </item>
    
    <item>
      <title>Experiment over</title>
      <link>/2007/02/01/experiment-over/</link>
      <pubDate>Thu, 01 Feb 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/02/01/experiment-over/</guid>
      <description> Ok, well, that was interesting I thought. For those that haven’t followed along on the site I thought I’d recap some of the weird and wonderful colour schemes that have been used on this site as part of my experiment with colorburn  Some were just about OK, some were quite nice really and a few were, er, pretty much unreadable (sorry). I’ll let you decide which where which:  </description>
    </item>
    
    <item>
      <title>Incoming!</title>
      <link>/2007/01/27/incoming/</link>
      <pubDate>Sat, 27 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/27/incoming/</guid>
      <description>Just a few things coming up in the next month that I’m attending that I thought warranted a post.    WebDD   3rd February   Heading down to Microsoft in Reading for Web Developer Day for a weekend of web design and development discussions and listening to Bruce and Patrick go on about something interesting.     Newcatle Rails Usergroup   8th February   I’m giving a talk on using Radiant to our local Ruby and Rails Usergroup so we’ll see how that goes.</description>
    </item>
    
    <item>
      <title>URI Templates in the Real World</title>
      <link>/2007/01/24/uri-templates-in-the-real-world/</link>
      <pubDate>Wed, 24 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/24/uri-templates-in-the-real-world/</guid>
      <description>I do quite a bit of big picture web site/application design at work (ok, that probably needs more of a description). I get involved in alot of the details that lie somewhere off to the side of the obvious bits that need to be done (mmm, not much better). All those technologies and tools and ideas only tell part of the story of building a successful site or online application.</description>
    </item>
    
    <item>
      <title>Posting to Twitter using PHP</title>
      <link>/2007/01/20/posting-to-twitter-using-php/</link>
      <pubDate>Sat, 20 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/20/posting-to-twitter-using-php/</guid>
      <description>Please note that Twitter no-longer support Basic Auth via the API so the following code no longer works. Please see the official docs for more info
 Like others I’ve found myself becoming something of a fan of Twitter, the impossible to explain social networking site. If you’re reading this, have a twitter account and not already my friend then add me if you like.  Apart from the interesting social aspects I’m also interested in Twitter as an API for all sorts of communications, remember Twitter already deals nicely with SMS messaging, Instant Messaging, subscription and the like and has a nice XML and JSON based API.</description>
    </item>
    
    <item>
      <title>Colorburnified</title>
      <link>/2007/01/17/colorburnified/</link>
      <pubDate>Wed, 17 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/17/colorburnified/</guid>
      <description>If you visited the site previously since the Radiant move you might notice a new colour scheme. Come to mention it if you visit tomorrow, or the day after you should get a different colour scheme too.  I mentioned that I planned on a few experiments around these parts and this is the first one. I’m a big fan of ColorBurn from Firewheel. For those that haven’t seen it it’s a desktop widget that displays a new four colour colour scheme every day that looks a little something like:   I often use it for inspiration for colour sets, or just to appreciate interesting colour combinations.</description>
    </item>
    
    <item>
      <title>OPML Feeds using Radiant</title>
      <link>/2007/01/16/opml-feeds-using-radiant/</link>
      <pubDate>Tue, 16 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/16/opml-feeds-using-radiant/</guid>
      <description>As mentioned when I moved the site over to Radiant I promised a few tutorials and behind the scenes footage of goings on. So here goes with a quick look at how I added a nice OPML feed to my site.  For those not familiar with OPML it’s an XML format for outlines, often used for storing blog rolls and the like.  What I wanted was a friends parent and the ability to add friends to it and for them to appear in a dynamic OPML feed.</description>
    </item>
    
    <item>
      <title>Some ponderings on CSS3</title>
      <link>/2007/01/10/some-ponderings-on-css3/</link>
      <pubDate>Wed, 10 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/10/some-ponderings-on-css3/</guid>
      <description>I’m starting to get properly interested in CSS3 for a few reasons. I’ve subscribed to the mailing list, read up on some of the working group goings on and done a bit of research ahead of really jumping in with some code play. Some of this could be of interest to others so here goes:  The best two resources I’ve found are the CSS Working group home page and the CSS3 Info  The CSS Working Group Under Construction site over at the W3C has a huge ammount of information.</description>
    </item>
    
    <item>
      <title>Fluidflash</title>
      <link>/2007/01/07/fluidflash/</link>
      <pubDate>Sun, 07 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/07/fluidflash/</guid>
      <description>Their is nothing wrong with a nice header graphic. Clients, designers and customers alike love them. But I often see them used as an excuse for fixed width designs. Well no more I say (unless, of course you have a perfectly good reason for a fixed width design in which case you dont really need this technique.)  The plan was simple. Find a way of incorporating flash headers into sites using liquid or elastic designs in much the same way you might use lots of sliding doors background-image goodness.</description>
    </item>
    
    <item>
      <title>New year New site</title>
      <link>/2007/01/07/new-year-new-site/</link>
      <pubDate>Sun, 07 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/07/new-year-new-site/</guid>
      <description>If you’re viewing this post in your feedreader then you might not notice anything different but it’s all change around these parts. I’ve gone all Radiant and with it a new slightly minimal design.  Radiant, for those that missed my earlier gushing post is a Rails based Content Management System that looks something like this:   I’m going to post a few follow ups about how I did certain things using Radiant and my particular setup.</description>
    </item>
    
    <item>
      <title>PyGunFog</title>
      <link>/2007/01/03/pygunfog/</link>
      <pubDate>Wed, 03 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/03/pygunfog/</guid>
      <description>My first real foray into writing some simple Python scripts was a few scripts to establish the Gunning-Fog index of some given text. I wont go into lots of details about the uses of such a script; if you’re interested read Gez Lemons writeup over on Juicy Studio.  I took quite a bit of inspiration, and some code, from a similar script, PyFlesch, for establising the Flesch reading score of text.</description>
    </item>
    
    <item>
      <title>TXP2Radiant</title>
      <link>/2007/01/03/txp2radiant/</link>
      <pubDate>Wed, 03 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/03/txp2radiant/</guid>
      <description>Having just moved from a couple of year old Textpattern site to Radiant I didn’t feel much like copy and pasting lots of articles. The script simply copies all your posts from textpattern into the relevant place in Radiant.  Download PHP  At the moment this is undocumented and pretty rough but it saved me time and works. I’ll try and work up and potentially rewrite in Ruby for possible inclusion in the Radiant core if time permits.</description>
    </item>
    
    <item>
      <title>Web.php</title>
      <link>/2007/01/03/webphp/</link>
      <pubDate>Wed, 03 Jan 2007 00:00:00 +0000</pubDate>
      
      <guid>/2007/01/03/webphp/</guid>
      <description>Web.py is a really nice lightweight web framework written in Python. It’s not trying to be Rails or Django, it’s trying to be as simple as possible. Web.php is my homage to Web.py. I’ve unashamedly copied the ideas and build a very simple web framework in PHP. It’s not a complete port, nor does it do everything in the same way.  The code example from the project home page was what originally piqued my interest: import web urls = ( &#39;/(.</description>
    </item>
    
    <item>
      <title>Backgarden</title>
      <link>/2006/12/25/backgarden/</link>
      <pubDate>Mon, 25 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/12/25/backgarden/</guid>
      <description>I’m a fan of Backpack from 37signals. Although you can make pages public their is currently no way to style those differently, or to add content from outside Backpack. That’s where Backgarden comes in. It’s a simple PHP (4 and 5, the XML/XSL implementations are slighly different) application that builds a page via the Backpack API and some XSL magic that you can put on your site. You just enter the page address and your API key.</description>
    </item>
    
    <item>
      <title>CMS on Rails</title>
      <link>/2006/12/23/cms-on-rails/</link>
      <pubDate>Sat, 23 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/12/23/cms-on-rails/</guid>
      <description>Content management is one of those subjects I often get involved in at work, and something I find pretty interesting as a whole – even if I keep having to reiterate most of the problems with content management are people problems rather than technological ones.  I’ve been using Textpattern for this site and a few others for a couple of years. I’ve spoken before about the recent move to more hand rolled solutions, and the flexibility that gives people to innovate.</description>
    </item>
    
    <item>
      <title>Food 2.0</title>
      <link>/2006/12/19/food-20/</link>
      <pubDate>Tue, 19 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/12/19/food-20/</guid>
      <description>I’m something of a want to be foodie. I’ve been a fan of food since working in a restaurant as a KP way back when I was at school. I like staying in and cooking, watching the odd food related progamme and going out to nice restaurants. However, I suddently realised it’s one of those things I dont yet do online. Most of the other things I do, or am interested in, I do at least in part online – except food.</description>
    </item>
    
    <item>
      <title>Background Images in Email</title>
      <link>/2006/12/06/background-images-in-email/</link>
      <pubDate>Wed, 06 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/12/06/background-images-in-email/</guid>
      <description>Whatever you might think about image rich emails you have to admit clients are a fan, and sometimes needs must.  The web, as always, comes to the rescue and their are a few good articles around – many of them over on campaignmonitor.com including a set of Email Design Guidelines for 2006, Optimizing CSS presentation in HTML emails and the excellent A Guide to CSS Support in Email  A List Apart also has an older article and their is some good infmation over on xavierfrenette.</description>
    </item>
    
    <item>
      <title>Well, how did I do</title>
      <link>/2006/12/03/well-how-did-i-do/</link>
      <pubDate>Sun, 03 Dec 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/12/03/well-how-did-i-do/</guid>
      <description>Well, the year is ever so nearly over. Again. I’m sure their will be a good few round ups, I’ll probably even partake again, but thought I’d start off with a quick look at how I got on with my list of stuff to do.  I did the conference thing again and I’m sure I will be back this coming year. `media, Future of Web Apps and dConstruct all look like going from strength to strength.</description>
    </item>
    
    <item>
      <title>Mac Virtualhost follow up</title>
      <link>/2006/11/15/mac-virtualhost-follow-up/</link>
      <pubDate>Wed, 15 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/11/15/mac-virtualhost-follow-up/</guid>
      <description>A couple of people asked for the details of the virtualhost script I modified for use with MAMP in a previous post. Apologies for taking a bit of time.  First I had to make these changes to the original virtualhost script:  DOC\_ROOT\_PREFIX=&#34;/Applications/MAMP/htdocs&#34;   APACHE_CONFIG=&#34;/Applications/MAMP/conf/apache&#34; APACHECTL=&#34;/Applications/MAMP/Library/bin/apachectl&#34;   I also made a few changes to httpd.conf in /Applications/MAMP/conf/apache. From memory first to allow local .htaccess files to override everything on a per directory basis.</description>
    </item>
    
    <item>
      <title>An Admission about Source Control</title>
      <link>/2006/11/12/an-admission-about-source-control/</link>
      <pubDate>Sun, 12 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/11/12/an-admission-about-source-control/</guid>
      <description>I have an admission to make; for personal projects, of which I have many, I haven’t been using source control until now. The reason? Probably laziness. I do lots of reading around the whole software development process but most of that gets used at work, at least until now.  One of my favourite articles is the old Joel Test. Some of this is less relevant to the home developer, but it does give you somewhere to start from.</description>
    </item>
    
    <item>
      <title>Teaching</title>
      <link>/2006/11/10/teaching/</link>
      <pubDate>Fri, 10 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/11/10/teaching/</guid>
      <description>Every now and again I go off on a tangent about the problems of learning, and teaching, web design. Recently I got an interesting email from a chap at Newcastle College and just a few weeks later I’ve now taken a couple of sessions with students studying web design.  I’m doing 4 hours a week, alongside the day job. 2 hours of theory and 2 hours of practice. Teaching everything from research techniques, wireframing and sitemaps to the first steps on the road to CSS and HTML mastery.</description>
    </item>
    
    <item>
      <title>JRuby Vs Python.NET</title>
      <link>/2006/11/01/jruby-vs-pythonnet/</link>
      <pubDate>Wed, 01 Nov 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/11/01/jruby-vs-pythonnet/</guid>
      <description>I got to thinking recently, after playing around with more IronPython and talking with a Ruby fan, about the future of computer languages. Is their a war brewing between Python and Ruby in unexpected quarters? That quarter being the .NET and Java croud.  Personally I’m too much of a fan of dynamic languages to be wholly impartial, but working in a mainly .NET shop I’m following IronPython when I get a chance, and a friendly Java officionando seemed pretty pleased with JRuby (although why not Jython I’m not sure?</description>
    </item>
    
    <item>
      <title>Busy. But at least something to show for it.</title>
      <link>/2006/10/25/busy-but-at-least-something-to-show-for-it/</link>
      <pubDate>Wed, 25 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/10/25/busy-but-at-least-something-to-show-for-it/</guid>
      <description>In between personal projects, sleep and work I dont think time exists at the moment, but a few of those efforts are starting to bear fruit.  I’ve just had my first book review published over on Vitamin, a review of Brian Suda’s Using Microformats. Hopefully this will be the first of many.  Let me know what you think.  This will probably have some sort of effect on the hibernating webdesignbookshelf.</description>
    </item>
    
    <item>
      <title>An apology to XSLT</title>
      <link>/2006/10/21/an-apology-to-xslt/</link>
      <pubDate>Sat, 21 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/10/21/an-apology-to-xslt/</guid>
      <description>I have to admit to thinking that XSL was something of a waste of time a while back. I’ve changed my mine and wanted to muse about why.  XML is simple enough to jump right in, and a few years back it had a big enough band wagon to mean jumping on was pretty much required. I think in hindsight, at least in my mind, alot of this was just a little gratuitous.</description>
    </item>
    
    <item>
      <title>Virtualhosts on Mac OS X</title>
      <link>/2006/10/14/virtualhosts-on-mac-os-x/</link>
      <pubDate>Sat, 14 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/10/14/virtualhosts-on-mac-os-x/</guid>
      <description>Matthew just posted a quick write up of setting up virtual hosts on windows and a little of the rationale behind why you would bother.  Being a Mac person when I’m not in the office I thought a quick follow up would be useful for those that way inclined.  On OS X their are a couple of things needed to setup a virtual host. As well as the apache virtualhost directives the host needs adding to NetInfoManager.</description>
    </item>
    
    <item>
      <title>The readability of our prose</title>
      <link>/2006/10/04/the-readability-of-our-prose/</link>
      <pubDate>Wed, 04 Oct 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/10/04/the-readability-of-our-prose/</guid>
      <description>I’ve been doing a little more light weight analytical research, this time on the readability of the content I read in my feed reader, which mainly consists of web design and development blogs and magazines.  A combination of things brough me to this point. An interest in accessibility and readability, being a maths and stats geek and my affair with Python. Yes, I know it’s just stats, and I did just parse the titles and descriptions from feeds once.</description>
    </item>
    
    <item>
      <title>Niche job boards and hot skills</title>
      <link>/2006/09/26/niche-job-boards-and-hot-skills/</link>
      <pubDate>Tue, 26 Sep 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/09/26/niche-job-boards-and-hot-skills/</guid>
      <description>The growth of niche job boards took another jump today with the launch of Authentic Jobs by Cameron Moll, following on from the job boards over on 37signals and Joel on Software.  I find all this pretty interesting, not because I’m looking for job (I’m not), but more from a social research point of view. It’s the whole long tail thing again, and it will be intersting to see if these things take off in other, shall we say, less geeky circumstances.</description>
    </item>
    
    <item>
      <title>More devices with browsers</title>
      <link>/2006/09/21/more-devices-with-browsers/</link>
      <pubDate>Thu, 21 Sep 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/09/21/more-devices-with-browsers/</guid>
      <description>I’m something of a gadget fan when I think about it, and the growing ubiquity of the internet makes my life easier, as well as posing interesting questions when it comes to design. It would be a win win situation if it didn’t keep costing m money. Well I think I’m going to be spending again soon (unfortunately?)  I only heard about the Nintendo DS Lite getting a browser add on last week, but it peaked my interest.</description>
    </item>
    
    <item>
      <title>6 hours on a train with Code Igniter</title>
      <link>/2006/09/18/6-hours-on-a-train-with-code-igniter/</link>
      <pubDate>Mon, 18 Sep 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/09/18/6-hours-on-a-train-with-code-igniter/</guid>
      <description>I’ve mentioned Code Igniter before but only now have I got round to really putting it through it’s paces by building something proper. I got the opportunity (if you could call it that) thanks to a six hour train journey from Oxford.  I’ve been thinking about sprucing up this site for a while, and have a few other personal projects that I really should get round to sorting out.</description>
    </item>
    
    <item>
      <title>dConstruct(or)</title>
      <link>/2006/09/12/dconstructor/</link>
      <pubDate>Tue, 12 Sep 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/09/12/dconstructor/</guid>
      <description>Well dConstruct has come and gone and people are probably just recovering in some parts. Travelling down wasn’t fun but that was quickly forgotten when we finally got to the pub. An evening of geekery ensued (usual fare, getting told to move inside before the police turn in, bit like @media 2005 really) and then onto the conference.  Thanks to the backnetwork its easy enough to catch up on all the goings on so I thought I’d mention only a couple of thinks that are still rattling around my head:  Simon and Paul talked about Hack Day.</description>
    </item>
    
    <item>
      <title>Install Fun</title>
      <link>/2006/09/02/install-fun/</link>
      <pubDate>Sat, 02 Sep 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/09/02/install-fun/</guid>
      <description>Update A few additions I thought I’d add here rather than keep for another post. Sarat just messaged me with a link to CrossOver Mac. I now have IE 6 running natively on my mac. Which is nice. I also installed Twisted but that’s probably for later too.  I finally got round to getting myself a new MacBook (only a week or so after Phil) and a nice piece of kit it is too.</description>
    </item>
    
    <item>
      <title>Learning Modern Web Design</title>
      <link>/2006/08/29/learning-modern-web-design/</link>
      <pubDate>Tue, 29 Aug 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/08/29/learning-modern-web-design/</guid>
      <description>How do you convince people you know what you’re talking about? I mean, if someone wants to double check that you have a clue about web design where can they go? I’m not talking about the little things – CSS hacks, binary things which are right or wrong based on something obvious – I’m mean the nearly imperceptible little bits that all come together to make the sum bigger than its parts.</description>
    </item>
    
    <item>
      <title>Localisation and Usability</title>
      <link>/2006/08/23/localisation-and-usability/</link>
      <pubDate>Wed, 23 Aug 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/08/23/localisation-and-usability/</guid>
      <description>Some interesting observations after a post and comments over at The Watchmaker Project  It turns out, after me jumping to conclusions, that the interface for Newsgator Online (my favourite newsreader for the last year or so since I went web native) varies depending on locale. From a brief look at the US, French and UK versions the US version has a newer (and from a quick look nicer) interface than the others.</description>
    </item>
    
    <item>
      <title>Geekout</title>
      <link>/2006/08/14/geekout/</link>
      <pubDate>Mon, 14 Aug 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/08/14/geekout/</guid>
      <description>On occasion I even surprise myself. Sometimes you just need to geek. Rob at work was discussing his ideal device, basically something that would read text based RSS feeds to him while in the bath in the morning. Lazy I know.  I thought to myself That cant be too difficult and I’ve never played with any text to speach stuff before and off I went. A few hours later and I just got my Windows machine to read out the top story from this site.</description>
    </item>
    
    <item>
      <title>Some start of the week fun with Yahoo!</title>
      <link>/2006/08/07/some-start-of-the-week-fun-with-yahoo/</link>
      <pubDate>Mon, 07 Aug 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/08/07/some-start-of-the-week-fun-with-yahoo/</guid>
      <description>Well, Christian’s book, Begining Javascript with DOM Scripting and Ajax is out and, as of writing this Amazon UK only have four copies left so hopefully that’s a good sign.  A quick competition on the site peaked my amusometer and I couldn’t resist.   Keep an eye on flickr for more hopefully.  Everyone who is everyone already resides at YAHOO!, with more recent movers that you can shake a stick at.</description>
    </item>
    
    <item>
      <title>YUI lovin</title>
      <link>/2006/07/25/yui-lovin/</link>
      <pubDate>Tue, 25 Jul 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/07/25/yui-lovin/</guid>
      <description>I’m working on some redesign work for one of my under maintained sites at the moment, with something of a redesign in the works. It seemed a good opportunity to play more with YUI, the Yahoo User Interface Library, which I’d had a peak at before and heard nice things about (sorry, I like the long namespaces).  I’ve nothing finished yet past a proof of concept, but I thought a couple of lines of javascript wouldn’t go a miss.</description>
    </item>
    
    <item>
      <title>More dConstruct craziness</title>
      <link>/2006/07/19/more-dconstruct-craziness/</link>
      <pubDate>Wed, 19 Jul 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/07/19/more-dconstruct-craziness/</guid>
      <description>Last year I missed out on dconstruct, this year I sat and watched the timer tick down. Which didn’t help hugely as a fair few other people were doing the same thing and the site went into what appeared to be a javascript induced page request meltdown. Oh well. Everything worked out in the end, I paid my money for myself and a colleague to attend and so did 348 or so other people and it’s now sold out.</description>
    </item>
    
    <item>
      <title>@media in pictures</title>
      <link>/2006/07/16/media-in-pictures/</link>
      <pubDate>Sun, 16 Jul 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/07/16/media-in-pictures/</guid>
      <description>I always take ages to get photos off my camera. It’s like the sort of delay you would get if you sent them off to be developed. Anyhow, I’ve finally sorted out my @media photos and uploaded a few to flickr. Have a look if you feel so inclined. I’ve included a few below, mainly because these ones made me chuckle:  A look of sheer horror if ever their was one from Patrick.</description>
    </item>
    
    <item>
      <title>Who is pushing the envelope anyhow?</title>
      <link>/2006/07/09/who-is-pushing-the-envelope-anyhow/</link>
      <pubDate>Sun, 09 Jul 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/07/09/who-is-pushing-the-envelope-anyhow/</guid>
      <description>Update UCAS to the rescue. Here are lists of graphic design courses and their ilk. Go get em.   Graphic design   Graphic information design   Graphics communication design    Jeremy posted a thought provoking read that tapped into somethings I’ve been thinking about of late, and others that have been somewhere in my head for a while. In a nut shell:   Most designers have simply swapped the old technology (tables and font tags) for the new technology, without fully exploring whatÃ¢â‚¬â„¢s so completely new.</description>
    </item>
    
    <item>
      <title>Making things better</title>
      <link>/2006/06/29/making-things-better/</link>
      <pubDate>Thu, 29 Jun 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/06/29/making-things-better/</guid>
      <description>I love this idea. It has a nice warm fuzzy feeling about it. Molly was musing about a code of ethics for professional web developers. Talk went on at @media about certification and education and the like, and the general concensus was pretty negative, for good reason in my opinion.  However, a code of ethics, more a stamement of intent from professional to professional, strikes me as a really good idea.</description>
    </item>
    
    <item>
      <title>IE 7 Readiness toolkit</title>
      <link>/2006/06/22/ie-7-readiness-toolkit/</link>
      <pubDate>Thu, 22 Jun 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/06/22/ie-7-readiness-toolkit/</guid>
      <description>Chris Wilson, during his @media presentation mentioned in passing the IE 7 Readiness Toolkit. This vaguely uninspiring title hides a very nice collection of essential tools for discerning web developers on Windows.  IE is painful we already know that. We have a large number of tools available in Firefox to help us out, but sometimes you need to go to the source. Along with a nice rip off implementation of a web developer toolbar, it also put me onto the Fiddler (what is it about these names) which is an HTTP Debugging proxy.</description>
    </item>
    
    <item>
      <title>And then it was all over</title>
      <link>/2006/06/19/and-then-it-was-all-over/</link>
      <pubDate>Mon, 19 Jun 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/06/19/and-then-it-was-all-over/</guid>
      <description>Yes folks. @media 2006 is all over. Except for the year thing, everything else really was doubled. Double the people. Double the speakers. Double the number of chairs (no sitting on the floor this time!)  I made a list of a couple of things to make sure I did. Well how did I do?   Take photos – Check. I’ll upload as I get a chance, but in the meantime their are already quite a few over on the atmedia flickr tag   More SubEthaEdit note taking – With the problems with the wi-fi this was held to a single session on WCAG 2.</description>
    </item>
    
    <item>
      <title>Internet? Check. @media. Check!</title>
      <link>/2006/06/14/internet-check-media-check/</link>
      <pubDate>Wed, 14 Jun 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/06/14/internet-check-media-check/</guid>
      <description>Right. It might have taken an overlong trip to London but I’ve finally got a spare moment and internet access. All back to normal hopefully soon. (mmmm)  Anyway… @media! It was ages ago, then some magical time warp type thing happened and it’s June all of a sudden. And I cant wait. Which is fairly handy as I’ll shortly be heading out to the pre show party to meet at least some people I know (or at least vaguely recognise from somewhere, once, maybe) and hopefully some new faces, always a solid part of the conferences I think.</description>
    </item>
    
    <item>
      <title>Moving and Friends</title>
      <link>/2006/06/02/moving-and-friends/</link>
      <pubDate>Fri, 02 Jun 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/06/02/moving-and-friends/</guid>
      <description>I’m afraid you’ll have to bare with me at the moment. I’m busy, moving house, have no internet outside work (except open wi-fi points) and oh, did I mention I’m busy?  I have the usual raft of ideas, inability to really finish things unless I try and a dangerous penchant for playing with ever more scripting languages (XOTcl anyone?).  Oh, the friends bit? Inspired by Molly and her incredible ability to be open about her life, I thought I’d say a huge Thank you to everyone who helped me move house this week.</description>
    </item>
    
    <item>
      <title>DabbleDB</title>
      <link>/2006/05/28/dabbledb/</link>
      <pubDate>Sun, 28 May 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/05/28/dabbledb/</guid>
      <description>I dont often just post links to things I find interesting. I try and warble on more about something or other that’s on my mind. However, being rather busy and coming across something that really stood out makes this here post different.  I stumbled upon DabbleDB the other day. Watched the video. Thought to my self “That’s pretty darn slick”.  DabbleDB is, pretty simply, an online database. For everyone.</description>
    </item>
    
    <item>
      <title>Anyone fancy a pint?</title>
      <link>/2006/05/18/anyone-fancy-a-pint/</link>
      <pubDate>Thu, 18 May 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/05/18/anyone-fancy-a-pint/</guid>
      <description>Tis about time for another meet up in sunny Newcastle. Pretty short notice but hey, the mailing list has called.  Thursday 25th of May it is  We are aiming for Tilly’s on Westgate road. More info over on Upcoming.org  Already a good few people coming along so, if your in the general area, why not join us? If last time is anything to go by expect lots of people who either dont know each other or only know people by domain name discussing anything vaguely (and I do mean vaguely) related to the web.</description>
    </item>
    
    <item>
      <title>Python at Microsoft</title>
      <link>/2006/05/13/python-at-microsoft/</link>
      <pubDate>Sat, 13 May 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/05/13/python-at-microsoft/</guid>
      <description>At work we mainly use Microsoft technologies, .NET and such like, for our development. As I mentioned previously I’m playing with Python at the moment, and getting on quite nicely. With .NET being a framework, aimed at allowing a variety of different languages to access the same class library, I though

  I wonder if you can use Python with the .NET framework?

  The rather large Programming Python tome alludes to it being on the cards after the implementation of Jython but no more details than that.</description>
    </item>
    
    <item>
      <title>Mission Impossible?</title>
      <link>/2006/05/08/mission-impossible/</link>
      <pubDate>Mon, 08 May 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/05/08/mission-impossible/</guid>
      <description>I’m quite a fan of mobile devices. I’ve got a Palm, I had a Pogo for jeepers. However, I dont really have a geek phone at the moment (long story) – I’m still using my K700i.  While watching the last day of premiership football in a suitable venue I thought I might see about going to the cinema. With my trusty phone I tried to find what was going on.</description>
    </item>
    
    <item>
      <title>Webdesign Bookshelf</title>
      <link>/2006/04/30/webdesign-bookshelf/</link>
      <pubDate>Sun, 30 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/30/webdesign-bookshelf/</guid>
      <description>It’s rebooting time people. First up a shameless plug for my entry this time around. In the spirit of screenspire here’s a full length picture for those that cant be bothered to visit the site proper.    Only a couple of reviews up at the moment but we will be adding them as fast as out busy fingers can write them. Big thanks to Mathew Patterson and Nicola Dobiecka for their assists here.</description>
    </item>
    
    <item>
      <title>Web Designer are like Footballers</title>
      <link>/2006/04/26/web-designer-are-like-footballers/</link>
      <pubDate>Wed, 26 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/26/web-designer-are-like-footballers/</guid>
      <description>I do quite a bit of musing on the subject of the community. Lots of other people do similar, just a few of the groups I know about:   Newcastle New Media (Ok, thats me again)   South West New Media   Brighton New Media   Skillswap   Think and a Drink   Refresh   Multipack (sorry!)   GeekUp (and one I missed)    Conferences are massive as well.</description>
    </item>
    
    <item>
      <title>A Proliferation of Feed Standards</title>
      <link>/2006/04/23/a-proliferation-of-feed-standards/</link>
      <pubDate>Sun, 23 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/23/a-proliferation-of-feed-standards/</guid>
      <description>Google just announced GData, which is apparently a:   ...simple standard protocol for reading and writing data on the web.   It is basically an amalgamation of Atom, RSS and bits and pieces of Goodle juice. It piqued my interest for a couple of reasons:   What was termed Optimistic Concurrency   A promise of Authentication   REST based    The former relates to a simple solution to the problem of concurrent updates.</description>
    </item>
    
    <item>
      <title>@media and Google Calendar</title>
      <link>/2006/04/20/media-and-google-calendar/</link>
      <pubDate>Thu, 20 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/20/media-and-google-calendar/</guid>
      <description>I’ve become something of a Gmail convert over the last good few months. Moving everything online has made my life oh so much easier. I’d done the same with my feed collection a good while back with Newsgator. Storing all my calendar related info was something that was on my perenial todo list. Well, Google finally got round to releasing their own calendar after months of “will they get on with it already”.</description>
    </item>
    
    <item>
      <title>Along comes a reboot</title>
      <link>/2006/04/16/along-comes-a-reboot/</link>
      <pubDate>Sun, 16 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/16/along-comes-a-reboot/</guid>
      <description>Well, it’s nearly 6 months since I launched the new design on here and entered into the 2005 Fall reboot with minimal acclaim but lots of nice comments and some traffic. That means it’s nearly time for the Spring event! I still like this design, which is something of a first for a pet project, so made a descision early to do something different.  I like the reboot. It’s a deadline for a start, with all the good and bad things that that entails.</description>
    </item>
    
    <item>
      <title>Where to put all that data? S3 resources</title>
      <link>/2006/04/14/where-to-put-all-that-data-s3-resources/</link>
      <pubDate>Fri, 14 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/14/where-to-put-all-that-data-s3-resources/</guid>
      <description>Lets face it, web apps are getting bigger. At least in terms of the amount of data they store. Take two big poster siblings, Flickr and del.icio.us. All those user accounts, all that interlinking between then, all that meta data. Technorati is another example – trying to keep up with all blogs everywhere in as near to real time as possible has got to be seriously data intensive. And at times this has shown through, all have had problems at some point in their short histories.</description>
    </item>
    
    <item>
      <title>Speak and a Drink</title>
      <link>/2006/04/07/speak-and-a-drink/</link>
      <pubDate>Fri, 07 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/07/speak-and-a-drink/</guid>
      <description>I’ve been going along to the local industry do Think and a Drink for a good long while now and they have talked me into speaking at the next do. So I wont be thinking for the first hour, rather rambling on about the chosen topic of Web 2.0. My loose plan is to mock the term and big up the technology involved. Someone else has the job of looking at the business implications, which should also be pretty interesting.</description>
    </item>
    
    <item>
      <title>Beware. Nudity Warning</title>
      <link>/2006/04/05/beware-nudity-warning/</link>
      <pubDate>Wed, 05 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/05/beware-nudity-warning/</guid>
      <description> Rejoice. It’s CSS Naked Day!  Come on everybody, get your markup out for the ladies. </description>
    </item>
    
    <item>
      <title>PAS 78</title>
      <link>/2006/04/02/pas-78/</link>
      <pubDate>Sun, 02 Apr 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/04/02/pas-78/</guid>
      <description>I dont often ramble about accessibility issues on here, something I’ve only just noticed. Quite suprising as it’s one of those things that I’m pretty interested in – and have been for a good long time.  Anyway, I’ve just finished reading through PAS 78 or Publicly Available Specification 78, Guide to Good Practice in Commissioning Accessible Websites. It’s a document aimed at those buying websites, especially in the public sector, who probably know accessibility is a good think but could get easily hoodwinked by anyone with even a modicum of knowledge and evil intentions.</description>
    </item>
    
    <item>
      <title>Playing with Python - first impressions</title>
      <link>/2006/03/25/playing-with-python-first-impressions/</link>
      <pubDate>Sat, 25 Mar 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/03/25/playing-with-python-first-impressions/</guid>
      <description>Ok, well not quite first impressions. I’ve dabbled before but not for a particular reason and never actually built anything – but I’ve spent most of today getting stuck into Python.  I have a couple of reasons for wanting to learn another language properly, and I’m more interested in Python as a general scripting language than as a replacement for PHP as my web language of choice (Rails hasn’t really caught me yet, sorry).</description>
    </item>
    
    <item>
      <title>The Wisdom of Clouds</title>
      <link>/2006/03/20/the-wisdom-of-clouds/</link>
      <pubDate>Mon, 20 Mar 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/03/20/the-wisdom-of-clouds/</guid>
      <description>I’m playing with a few thinks at the moment and one of those had me thinking of tag clouds. For those who dont spend time on flickr or similar you may not have seen then, or at least heard of the terminology. All we are really taking about here is a visually weighted list.  I dont agree with Jeffrey here unfortunately, who has issues. I can see the point, that sometimes information is better organised by one person than many (think your weekly food shopping list) but in some cases it can be nice – especially where it provides an alternative navigation method.</description>
    </item>
    
    <item>
      <title>Reading up on a speedy industry</title>
      <link>/2006/03/14/reading-up-on-a-speedy-industry/</link>
      <pubDate>Tue, 14 Mar 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/03/14/reading-up-on-a-speedy-industry/</guid>
      <description>I had cause today to stop and think about books relevant to learning the bigger picture side of building web sites and applications. Code, graphic design, whatever your bag in between, you are either aiming to become, will become or at least affected by people in management positions. Even small companies are not immune, though they can avoid some of the problems (but often by causing some other ones as well.</description>
    </item>
    
    <item>
      <title>Apples and PEARs</title>
      <link>/2006/03/08/apples-and-pears/</link>
      <pubDate>Wed, 08 Mar 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/03/08/apples-and-pears/</guid>
      <description>I’ve finally decided that PEAR is a good thing. For those unfamiliar with it it’s a little like CPAN for Perl. For those unfamiliar with that it’s a repository of high quality PHP code, covering everything from benchmarking and debugging to database abstraction.  I’m about to dive back into PHP after a minor break playing with mainly client side toys, and with my work now mainly on the markup/styles and planning side of things PHP is a nice break.</description>
    </item>
    
    <item>
      <title>keyboards and web applications</title>
      <link>/2006/02/23/keyboards-and-web-applications/</link>
      <pubDate>Thu, 23 Feb 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/02/23/keyboards-and-web-applications/</guid>
      <description>Web applications are still evolving. This we know. One thing any power user tends to pick up on pretty quickly in desktop applications is the keyboard shortcuts. We just cant get enought of them. Why dont we see them more in web applications? Well a couple of reasons as it happens:   Potential clashes with browser or OS shortcuts   Many web applications are still evolving from more promotional websites.</description>
    </item>
    
    <item>
      <title>Last Week with Ajax</title>
      <link>/2006/02/19/last-week-with-ajax/</link>
      <pubDate>Sun, 19 Feb 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/02/19/last-week-with-ajax/</guid>
      <description>Last friday I got the chance to stick around in London and attend the Clearleft Ajax workshop with Jeremy Keith. 30 people from different web disciplines and backgrounds trying to get as much out of a single day on the latest buzz word has to sound like fun?  I had heard Jeremy’s speak before at @media last year where he was one of the highlights and friday was much of the same.</description>
    </item>
    
    <item>
      <title>Easy for whom? - a minor rant about help from frameworks</title>
      <link>/2006/02/14/easy-for-whom-a-minor-rant-about-help-from-framewo/</link>
      <pubDate>Tue, 14 Feb 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/02/14/easy-for-whom-a-minor-rant-about-help-from-framewo/</guid>
      <description>Some people think that programming should be hard while others, like me, quite like the idea of anyone being able to build things, especially web sites. To me the fact that either of my housemates (non IT types) could probably build a website this evening if they so choose is great. And to be honest if they did I’d be unlikely to complain about the code or the programme they chose to build it with (Ok, I would, but that’s me and I’d like to pretend I wouldn’t.</description>
    </item>
    
    <item>
      <title>One Conference Down</title>
      <link>/2006/02/09/one-conference-down/</link>
      <pubDate>Thu, 09 Feb 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/02/09/one-conference-down/</guid>
      <description>Well, yesterday was the long awaited Carson Summit which seemed to go pretty well all in all. Lots of reviews and notes around at the moment but I’ll just throw a couple of my personal observations into the mix.  The presentation where all good, but nothing mindblowing. Most had something going for them; whether enthusiasm, numbers or a special announcement  I liked Tom Coates diatribe about clean URLs, it something I’m fairly keen on too, I’m uming and arring over whether I too am a URL Fetishist  The Google vs Yahoo show was entertaining and interesting.</description>
    </item>
    
    <item>
      <title>Molly in Newcastle</title>
      <link>/2006/02/06/molly-in-newcastle/</link>
      <pubDate>Mon, 06 Feb 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/02/06/molly-in-newcastle/</guid>
      <description>Not so subtle hint in the subject line, but without further ado, Molly (yes, that Molly) is coming to Newcastle for a talk.  All the details are still being confirmed but we are talking:  15th February Room 149 Northumberland Building, Northumbria University, City Campus, Newcastle, NE1 8ST 5-7pm  After talk drinks and food to be confirmed. Probably going to be along the lines of “Webstandards and Usability” with some time for a Q&amp;A session as well.</description>
    </item>
    
    <item>
      <title>Small Software</title>
      <link>/2006/02/01/small-software/</link>
      <pubDate>Wed, 01 Feb 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/02/01/small-software/</guid>
      <description>Of late I’ve found myself making quite a few smaller purchases of software. I’ve always been a fan of Open Source (and before that shareware – mainly on the ZX Spectrum) and still use lots of open source apps (anyone say Firefox) but for some really specific jobs it’s nice to have something you know is maybe a little more polished.  I dont know if it’s just me getting older and having more disposable income, or a greater appreciation of what it takes to make really good software (probably a bit of both) but it’s sort of snuck up on me?</description>
    </item>
    
    <item>
      <title>The Meaning of  Scale</title>
      <link>/2006/01/26/the-meaning-of-scale/</link>
      <pubDate>Thu, 26 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/26/the-meaning-of-scale/</guid>
      <description>I’m quite a numbers person and have something of a penchant for statistics As if you couldn’t guess from the site name. So it is with Google (who also have a mathematical inspired site name). But unlike me they have more people (it’s just me) and lets face it, more computing power (only so many computers I can get in my house without getting told off).  So they bring us something of a large, automated, study (including some decent analysis) of what markup is actually being used, interestingly also including common class names.</description>
    </item>
    
    <item>
      <title>Meme Warning! Enter at Own Risk</title>
      <link>/2006/01/23/meme-warning-enter-at-own-risk/</link>
      <pubDate>Mon, 23 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/23/meme-warning-enter-at-own-risk/</guid>
      <description>Help! I’m not sure what to do? I appear to have been set upon by nearly published author simon in an attempt to spread a deadly meme. Oh well.  Four jobs IÃ¢â‚¬â„¢ve had in my life   Paper Boy   Kitchen Porter   Packager of Shower Fittings   Front End Architect     Four movies I can watch over and over   Black Hawk Down   Serenity   28 Days Later   Impostor     Four places I have lived   Bradford   Durham   Belmont (not to be confused with Belmarch)   Newcastle     Four TV shows I love to watch   Alias   The Wire   The Shield   The West Wing     Four places I have been on vacation   Cornwall   Rome   France   Denmark (Lego Land)     Four of my favourite dishes   Sausage Casserole with Guinness Gravy   Seabass   Falafel, Spicy Chutney and Chilli Rice   Wild Mushroom and Real Ale Pie     Four websites I visit daily   Google   Newsgator   Del.</description>
    </item>
    
    <item>
      <title>A Foundation to Build Javascript On</title>
      <link>/2006/01/22/a-foundation-to-build-javascript-on/</link>
      <pubDate>Sun, 22 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/22/a-foundation-to-build-javascript-on/</guid>
      <description>Like probably quite a few others I’m doing more Javascript of late, both professionally and at play. It’s not just the whole buzz around it, all the way back to Jeremy using Javascript for Good not Evil but I moved away from doing backend development when I moved jobs, Javascript is most definately in my client side job remit.  As an avid reader I’ve got hold of a few good quality Javascript books that have come along and was on the lookout for more when I came upon Foundations of AJAX from Apress’s black and yellow experts voice series.</description>
    </item>
    
    <item>
      <title>books</title>
      <link>/2006/01/22/books/</link>
      <pubDate>Sun, 22 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/22/books/</guid>
      <description> I’m something of an avid reader and, making use of the nice Amazon API I’ll try to keep my reading list up to date on here. I’m just including books that are maybe a little relevant to the web – otherwise this will get out of hand. I’d like to include some brief reviews if the time ever comes along, though dont hold your breath. </description>
    </item>
    
    <item>
      <title>Music and Web Standards sitting in a tree</title>
      <link>/2006/01/17/music-and-web-standards-sitting-in-a-tree/</link>
      <pubDate>Tue, 17 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/17/music-and-web-standards-sitting-in-a-tree/</guid>
      <description>I’ve quite a music fan, I used to be more so but have been catching up recently with various bits and pieces. I tend to stick with more web centric posts on here but, while loading lots of music into iTunes I thought what the hell. I’ll touch on a few points of web goodness just in case.  I’ve noted quite a strong link between music and web standards style blogs for a while.</description>
    </item>
    
    <item>
      <title>More to come/statement of intent</title>
      <link>/2006/01/14/more-to-comestatement-of-intent/</link>
      <pubDate>Sat, 14 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/14/more-to-comestatement-of-intent/</guid>
      <description>More of a statement of intend, for posterity’s sake hopefully. Something I can look back on and think “Oh, yeah, I meant to do that” later in the year. Also so I dont forget, or just decide I couldn’t be bothered. Why this all of a sudden? Well, it’s the start of the new year anyway, but in particular the first meetup of people from the Newcastle New Media list got me thinking.</description>
    </item>
    
    <item>
      <title>Widgets</title>
      <link>/2006/01/08/widgets/</link>
      <pubDate>Sun, 08 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/08/widgets/</guid>
      <description>Of late I’ve got round to installing a few widgets on my computers – Dashboard on my Mac and Yahoo Widgets on Windows (no linux widgets as yet). I’m actually still running OS X 10.3.9 and using the very nice Amnesty to allow run to Mac Widgets.  I’ve been meaning to play with widgets for a while, mainly because I’ve been using HTML, CSS and Javascript for years and widgets simply reuse these technologies – making it easy to just jump in an make something handy.</description>
    </item>
    
    <item>
      <title>@media redux</title>
      <link>/2006/01/04/media-redux/</link>
      <pubDate>Wed, 04 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/04/media-redux/</guid>
      <description>Yes it’s back. @media returns as promised by Patrick last year and, well, it’s definately bigger. Two streams, more speakers and panels than you can shake a pink elephant at. I know for a fact that this was being planned even before Molly had left the bar last year and boy does it show.  The blogs are alight with the sound of people coming up with something, anything to tell their bosses in the morning.</description>
    </item>
    
    <item>
      <title>@Commented-on Follow up</title>
      <link>/2006/01/02/commented-on-follow-up/</link>
      <pubDate>Mon, 02 Jan 2006 00:00:00 +0000</pubDate>
      
      <guid>/2006/01/02/commented-on-follow-up/</guid>
      <description>Since the brief discussion based around ben’s original idea for using del.icio.us to track comments you have made on other blogs I’ve been having a play.  The main issue that people saw was simplicity, which I see falling under two headings:   Ideally it should just happen. If you comment somewhere (and opt in, obviously) you browser or online service should keep a track and give you access to this data.</description>
    </item>
    
    <item>
      <title>Obligatory next year post</title>
      <link>/2005/12/27/obligatory-next-year-post/</link>
      <pubDate>Tue, 27 Dec 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/12/27/obligatory-next-year-post/</guid>
      <description>Well, that’s nearly 2005 over and done with. Quite an eventful year all told and I couldn’t let it end without the obligatory next year post .  So without further ado, this year various things happened to me:   @media was great. Met lots of nice people and had a blast. Roll on next year.   I moved jobs   I actually started blogging. I redesigned the site around that goal and now I’m hooked.</description>
    </item>
    
    <item>
      <title>@commented-on</title>
      <link>/2005/12/18/commented-on/</link>
      <pubDate>Sun, 18 Dec 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/12/18/commented-on/</guid>
      <description>Update I’ve updated this site to include a list of recent comments I’ve made powered by del.icio.us and @commented-on. A quick hack of the txt.icio.us plugin and some thinking on at rules for del.icio.us later and their we go. Expect more details soon.  Update Ben has posted an update to his post with a quick hack of the del.icio.us bookmarklet.  Ah Ha. Nice when you have a vague need and think about spending some time coming up with a quick solution, only to forget about it until you come across a solution.</description>
    </item>
    
    <item>
      <title>A meetup and a quick review</title>
      <link>/2005/12/18/a-meetup-and-a-quick-review/</link>
      <pubDate>Sun, 18 Dec 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/12/18/a-meetup-and-a-quick-review/</guid>
      <description>Well last week or so the Newcastle New Media list kicked into life once again with a flurry of posts (some of a sickening nature regarding future rock star Nathan Hardwick). After a suggestion to have a look at meetwithapproval.com (more on in a moment) we finally got round to organising a proper meetup.  The date has been set as the 12th of January 2006. The location as The Bridge Hotel and the time around 17:45.</description>
    </item>
    
    <item>
      <title>Tis the season to...</title>
      <link>/2005/12/08/tis-the-season-to/</link>
      <pubDate>Thu, 08 Dec 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/12/08/tis-the-season-to/</guid>
      <description>It’s nearly that time of year again where all of us working types get more than a week off work (the students amongst you are probably already on holiday, or at least acting like you are).  As well as all the obvious things everyone will be up to I always try and have some sort of computer project on the go. Something I can have a proper run at over the festive period.</description>
    </item>
    
    <item>
      <title>Tips for fluid design II</title>
      <link>/2005/12/04/tips-for-fluid-design-ii/</link>
      <pubDate>Sun, 04 Dec 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/12/04/tips-for-fluid-design-ii/</guid>
      <description>A while back I decided to jot down a couple of practical, simple techniques that have served me well when actually building fluid designs.  One of the situations that often comes up is the need to make an elements width vary. This is no problem when that element is a block level element (say a div or a paragraph) as unless you tell them otherwise their width willl vary with the space available.</description>
    </item>
    
    <item>
      <title>AJAX and Privacy</title>
      <link>/2005/11/27/ajax-and-privacy/</link>
      <pubDate>Sun, 27 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/27/ajax-and-privacy/</guid>
      <description>Ok, so everyone by now has no doubt had a play with XML&#34;&amp;gt;AJAX in some shape or form, and their are lots of good tutorials and articles around. I’m not going to add to the pile, but on my travels I did do something that raised a couple of questions. Let me know if anyone has any answers.  The questions are more ethical than technological however and came about when considering online advertising and it’s never ending need for metrics – at the moment that generally means impressions and click throughs (maybe also including converting click throughs).</description>
    </item>
    
    <item>
      <title>Roll On February</title>
      <link>/2005/11/26/roll-on-february/</link>
      <pubDate>Sat, 26 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/26/roll-on-february/</guid>
      <description>Well – It looks like february has made a quick move to try and secure the prestigious month of the year award.  With two events happening in London, namely Clearleft’s Ajax Training Workshop on the 10th and Carson Workshops Future of Web Apps summit on the 8th it’s all go in the rapidly expanding world of web geek meetups.  After missing d.Construct I dont feel two bad about the outlay for going to both of these, especially with the assistance of my lovely employers.</description>
    </item>
    
    <item>
      <title>Accessify ROCKS Manchester</title>
      <link>/2005/11/20/accessify-rocks-manchester/</link>
      <pubDate>Sun, 20 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/20/accessify-rocks-manchester/</guid>
      <description>Back from Manchester after a pretty good weekend all in all.  It didn’t start particularly well. Very briefly I was late getting to the station. Missed train. Waited an hour and the next train was delayed half an hour. Missed meeting everyone at the station and had no clue where the place was. After a trip (in the opposite direction to the pub) to the tourist information centre I finally got there and things picked up markedly.</description>
    </item>
    
    <item>
      <title>&amp;#39;Creatives&amp;#39;</title>
      <link>/2005/11/15/creatives/</link>
      <pubDate>Tue, 15 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/15/creatives/</guid>
      <description>I’m not going to prattle on but something that’s bugged me for an age. The usage of the word “Creatives”. And lo and behold it bugs other people too.  I like knowing that it’s not just me!  Just to say as well that anyone reading this and going along to the Accessify Meetup in Manchester this weekend let me know. Leave a comment. Be good to put names and faces to email addresses and web sites!</description>
    </item>
    
    <item>
      <title>d.Construct?</title>
      <link>/2005/11/12/dconstruct/</link>
      <pubDate>Sat, 12 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/12/dconstruct/</guid>
      <description>Right. I wasn’t at d.Construct I’m still a bit gutted really as it sounded like a hoot and lots of it was up my street and would have been good to meet up with ‘people’. But hey, I can still watch the feeds pour in right?  With that in mind, to again make my life easier and hopefully be of some use I’ve set up another (the first one was for @media) feed syndicator.</description>
    </item>
    
    <item>
      <title>Tips for fluid design</title>
      <link>/2005/11/08/tips-for-fluid-design/</link>
      <pubDate>Tue, 08 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/08/tips-for-fluid-design/</guid>
      <description>After getting a few comments about the site design, and in particular a few of the fluid nature comments about it being tricky to get right. I’ve found myself tending to develop fluid designs more often that not over the last few years and thought I’d do a short series of posts about some of the techniques I use. I’ve generally found it pretty easier to find discussions about the pro’s and cons and the basic principles but less so on actual techniques.</description>
    </item>
    
    <item>
      <title>Mint goings on</title>
      <link>/2005/11/06/mint-goings-on/</link>
      <pubDate>Sun, 06 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/06/mint-goings-on/</guid>
      <description>Well. Lots of goings on since the reboot. Rather than fill up lots of posts I thought I’d summarise – If something is interesting enough I’ll probably come back to it.  Thanks everyone for positive comments about the redesign, lots of new visitors to the site from the reboot site itself and people who liked the design and said so on their sites:   pixelicious.co.uk   net-lounge.</description>
    </item>
    
    <item>
      <title>Reboot</title>
      <link>/2005/11/01/reboot/</link>
      <pubDate>Tue, 01 Nov 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/11/01/reboot/</guid>
      <description>The real CSS Reboot should be going off anytime now. But I’m in Rome (this message is coming at you through the magic of Textpatterns publish on date facility) so had to put things up a little prematurely. Oh well. In fairness I know which one I’d prefer to be doing.  I’ll miss the initial rush of running through lots of screen shots and sites, finding new things and generally wanting to redo the design at least for a week anyway.</description>
    </item>
    
    <item>
      <title>Tonight Tonight - Accessify Meetup</title>
      <link>/2005/10/28/tonight-tonight-accessify-meetup/</link>
      <pubDate>Fri, 28 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/28/tonight-tonight-accessify-meetup/</guid>
      <description>UPDATE Well. Five people seemed a good number on the notice and the size of the table we got at the Forth. The trick of leaving a copy of bulletproof web design casually on the side of the table worked a treat.  Lots of hello’s, some vague recognition and lots of shared experiences and good ideas floated around. All in all a positive thing I though and hopefully the first of similar meetups in Newcastle.</description>
    </item>
    
    <item>
      <title>All change (again)</title>
      <link>/2005/10/25/all-change-again/</link>
      <pubDate>Tue, 25 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/25/all-change-again/</guid>
      <description>I’m actually going on holiday soon and seem to be getting all sorts done before I go away. The obvious one is the change of scenery around these parts. Let me know what you think. It’s not complete as yet and I have a few more bits to add and check (yes I mean you IE) but I’m all for release early and often.  I’d been meaning to move on a little recently, and the move to textpattern cemented that.</description>
    </item>
    
    <item>
      <title>Contact</title>
      <link>/2005/10/25/contact/</link>
      <pubDate>Tue, 25 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/25/contact/</guid>
      <description>If you want to talk to me about, well anything really, let me know. Your best bet is probably emailing me on gareth@morethanseven.net and hopefully I should get back to you. Unless you’re a spam bot in which case expect to be automatically deleted or ignored.  On the other hand I can be found wandering the corridors over at designersinhouse.com or appearing in person at anything I can get along to that sounds interesting.</description>
    </item>
    
    <item>
      <title>about</title>
      <link>/2005/10/25/about/</link>
      <pubDate>Tue, 25 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/25/about/</guid>
      <description>morethanseven is the personal playground of Gareth Rushgrove, a 26 year old web designer and developer living and working in Newcastle, UK.  Before bored people ask, morethanseven is a reference to an interesting essay The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information, by George A. Miller, originally published in The Psychological Review, 1956, vol. 63, pp. 81-97. It’s about people’s ability to remember sets of data.</description>
    </item>
    
    <item>
      <title>The Real World</title>
      <link>/2005/10/16/the-real-world/</link>
      <pubDate>Sun, 16 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/16/the-real-world/</guid>
      <description>All of a sudden it’s all about the real world. In fact that’s my prediction for 2006 – geeks moving out into real social activities (often involving beer) around blogs and mailing lists what not. Anyway…  After the Northern Geekender yesterday, which was a really good do for all those that couldn’t make it, I found out about another meet up even closer to home – in Newcastle no less.</description>
    </item>
    
    <item>
      <title>Textpattern!</title>
      <link>/2005/10/11/textpattern/</link>
      <pubDate>Tue, 11 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/11/textpattern/</guid>
      <description>In something of a shock I’ve just ported the site (well some of it so far) to Textpattern. I’d alluded that I was looking to do something similar (I mentioned a crazy Ruby fueled idea, but strayed away after having a run in with fastcgi) a little time ago but have finally gotten around to it.  The reasons where many fold, but mainly came down to wanting to do other things that write content management applications.</description>
    </item>
    
    <item>
      <title>Northern Geekender</title>
      <link>/2005/10/06/northern-geekender/</link>
      <pubDate>Thu, 06 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/06/northern-geekender/</guid>
      <description>Peter J Lambert of Pixelicious fame has had a great idea. At least the best idea I heard today. Pretty short notice but if anyone fancies a trip down (or up?) to York for something of a geek get together let me know.  I can’t say I’m definately going as I just found out but decided to spread the word anyway – and with any luck will definately try and make the trip.</description>
    </item>
    
    <item>
      <title>Another great looking magazine</title>
      <link>/2005/10/04/another-great-looking-magazine/</link>
      <pubDate>Tue, 04 Oct 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/10/04/another-great-looking-magazine/</guid>
      <description>After complains of the lack of a decent magazine, and after the passing and resurection of Design in Flight another one raised it’s head. Yeh. Have a look at treehouse.  Another great, low cost ($15), well designed publication that you can print out and read in the moments away from the computer.  OK, so I haven’t read that much yet but what I have was both interesting, informative and hey, pretty well edited.</description>
    </item>
    
    <item>
      <title>Are kids being taught web standards? II</title>
      <link>/2005/09/27/are-kids-being-taught-web-standards-ii/</link>
      <pubDate>Tue, 27 Sep 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/09/27/are-kids-being-taught-web-standards-ii/</guid>
      <description>Disclaimer: I went to uni but not to study anything even remotely to do with the web. I basically make everything up as I go along. Bear that in mind when reading my commentry.  Phil (xlab.co.uk) just made an observation regarding webstandards and education that I thought particularly interesting. Are kids being taught web standards?  Based on my experience, limited as it may be, I’d have to vote no.</description>
    </item>
    
    <item>
      <title>Mailing lists and Me</title>
      <link>/2005/09/20/mailing-lists-and-me/</link>
      <pubDate>Tue, 20 Sep 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/09/20/mailing-lists-and-me/</guid>
      <description>Ok. I just came to a realisation. I think somewhere along the line I got addicted. First I tried one. It seemed pretty good. Not really having any effect on my and generally just being good to feel part of something.  But I couldn’t stop at one. I thought I could handle more and more. So I went in for some of the hard stuff. And lots of it.</description>
    </item>
    
    <item>
      <title>Photos and Flickr</title>
      <link>/2005/08/30/photos-and-flickr/</link>
      <pubDate>Tue, 30 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/30/photos-and-flickr/</guid>
      <description>I’ve been a (distant) admirer of flickr since I had a brief play a while back. Nice interface, good idea and all that. Well I finally got round to setting up a proper account.  I’d recently got myself a reasonable digital camera. Nothing expensive or fancy – in the past whenever I’ve thought about taking photo’s I’ve always got bored and given up. This time is going to be different.</description>
    </item>
    
    <item>
      <title>A Typo? On this site?</title>
      <link>/2005/08/29/a-typo-on-this-site/</link>
      <pubDate>Mon, 29 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/29/a-typo-on-this-site/</guid>
      <description>Well, their are no doubt lots of typo’s on this site but I’m referring to the Ruby on Rails blogging application Typo (currently version 2.5.5)  So far I have to say it’s quite nice. I’m only playing at the moment – the site you are currently reading (for those of you actually on the site, and not reading the feed) is a product of my PHP skills. Some of it I like (ie.</description>
    </item>
    
    <item>
      <title>Nice URLs and PHP</title>
      <link>/2005/08/29/nice-urls-and-php/</link>
      <pubDate>Mon, 29 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/29/nice-urls-and-php/</guid>
      <description>I all one for nice url’s, that is removing all the gumf involving question marks and ampersands and the like for something that is both shorter, more human readable and more search engine friendly.  Doing it in PHP is actually pretty straightforward once you get the hang of it and can be pretty powerful – so here goes with a short tutorial of sorts. It’s will probably be brief and make too many assumptions of the reader – any questions just let me know and I may even try and write it up properly.</description>
    </item>
    
    <item>
      <title>the greatness of online tutorials</title>
      <link>/2005/08/25/the-greatness-of-online-tutorials/</link>
      <pubDate>Thu, 25 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/25/the-greatness-of-online-tutorials/</guid>
      <description>A somewhat grandiouse title but hey, dont you just love it when things just work? A slow evening lead to following two tutorials at once, the outcome I now have andy budd’s fab iTunes playlists set up and I have rails running on my host. Woo Hoo.  I love working things out and generally dont mind things ending up not working even but sometimes it’s nice when everything takes only a small amount of time and effort and then works.</description>
    </item>
    
    <item>
      <title>The State of Newcastle</title>
      <link>/2005/08/21/the-state-of-newcastle/</link>
      <pubDate>Sun, 21 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/21/the-state-of-newcastle/</guid>
      <description>I’ve been a practicing web designer/developer/whatever in Newcastle for over three years now and about a year ago I set up a mailing list to try and act as a useful resource, shamelessly stealing from brightonnewmedia.org  So was born newcastlenewmedia.org.  The grand plan was to find other people like me with an interest. Anyone I could learn new bits from and hopefully the utopian dream of everyone getting something out of particupating in a community.</description>
    </item>
    
    <item>
      <title>unobtrusive javascript</title>
      <link>/2005/08/13/unobtrusive-javascript/</link>
      <pubDate>Sat, 13 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/13/unobtrusive-javascript/</guid>
      <description>Lots of talk around at the moment about unobtrusive javascript on the usual websites and discussion lists. However alot of people, maybe outside the inner circles, are still finding old school examples of inline code on out of date pages.  So here’s my tuppence. I guess the more websites that post new, up to date, examples and reasoning the better?  The premise is pretty simple. In the same way as controlling formating with tables and having everything being mixed up in one .</description>
    </item>
    
    <item>
      <title>How i came to love visio</title>
      <link>/2005/08/11/how-i-came-to-love-visio/</link>
      <pubDate>Thu, 11 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/11/how-i-came-to-love-visio/</guid>
      <description>I’m doing a lot more IA stuff of late and being in a Microsoft shop that meant getting to play with Visio. And I have to say it’s a great tool. It’s pretty simple to pick up, powerful, lots of options and customisations and even better – simple to get to grips with.  Quite a bit of work I’ve been doing has been around process and specification. I’d read The Elements of User Experience a while back but have been getting more into it recently, and the visual vocabulary stuff is excellent.</description>
    </item>
    
    <item>
      <title>fluid flash v0.1</title>
      <link>/2005/08/02/fluid-flash-v01/</link>
      <pubDate>Tue, 02 Aug 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/08/02/fluid-flash-v01/</guid>
      <description>Their is nothing wrong with a nice header graphic. Clients, designers and customers alike love them. But I often see them used as an excuse for fixed width designs. Well no more I say (unless, of course you have a perfectly good reason for a fixed width design in which case you dont really need this technique.)  The plan was simple. Find a way of incorporating flash headers into sites using liquid or elastic designs in much the same way you might use lots of sliding doors background-image goodness.</description>
    </item>
    
    <item>
      <title>new designs with added width</title>
      <link>/2005/07/31/new-designs-with-added-width/</link>
      <pubDate>Sun, 31 Jul 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/07/31/new-designs-with-added-width/</guid>
      <description>Any previous visitors will notice something of a redesign which is pretty much finished – although no doubt their will be a few tweaks over the coming weeks as time permits.  The main reason was to bring in a liquid design that will allow more space – something I’m quite fond of as an idea.  The default for web pages, before we add any styles, is a liquid layout – where the site content fills the window whatever the width.</description>
    </item>
    
    <item>
      <title>Mobile Edition (sort of)</title>
      <link>/2005/07/26/mobile-edition-sort-of/</link>
      <pubDate>Tue, 26 Jul 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/07/26/mobile-edition-sort-of/</guid>
      <description>I’m something of a fan of mobile devices and really should do more mobile web stuff but hey, the support for mobile CSS is shody at best. Enter this article.  The idea is really pretty simple. All you really want when your paying for bandwidth on your phone (or you PDA connected to your phone via bluetooth) is the content. So lets get rid of everything (and we mean everything) else.</description>
    </item>
    
    <item>
      <title>Musical Baton</title>
      <link>/2005/07/23/musical-baton/</link>
      <pubDate>Sat, 23 Jul 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/07/23/musical-baton/</guid>
      <description>For those like me behind the times, I was quite impressed to get passed the batton (thanks phil)  Total volume of music on my computer 19.51Gb Last CD I bought Foo Fighters – In Your Honor Song playing right now? Well the last song I listened to was The English Motorway System by Black Box Recorder  5 songs that I listen to a lot or mean something to me?</description>
    </item>
    
    <item>
      <title>Few bits of housekeeping</title>
      <link>/2005/07/17/few-bits-of-housekeeping/</link>
      <pubDate>Sun, 17 Jul 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/07/17/few-bits-of-housekeeping/</guid>
      <description>Been a little busy with the new job but had chance to do a few behind the scenes bits and pieces, including:   valid and formatted feed   blogroll from NewsGator   StripComments  project   autocomplete on search box (type c, x or p)   added Textile formatting for posts    Should be back with more soon. I need to reply to phil (xlab) about my musical preferences, jot down notes on using NewsGator as an online feed reader and a web standards redoing of the QWikiWiki output layer that I’m part way through.</description>
    </item>
    
    <item>
      <title>Design in Flight Magazine</title>
      <link>/2005/07/05/design-in-flight-magazine/</link>
      <pubDate>Tue, 05 Jul 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/07/05/design-in-flight-magazine/</guid>
      <description>\[UPDATE\] Visiting the website I now find out that after the next mini issue it’s all over for Design in Flight. I can see how it could take over someone’s life considering the quality but I for one would have paid more to keep it around.  I’ve just got round to buying all the back issues of Design in Flight (www.designinflight.com) magazine – which features articles on design, web development and similar fields.</description>
    </item>
    
    <item>
      <title>all the news from @media</title>
      <link>/2005/07/02/all-the-news-from-media/</link>
      <pubDate>Sat, 02 Jul 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/07/02/all-the-news-from-media/</guid>
      <description>After a little work I’ve put together an app to keep up to date with all the news around `media. Based on the collection of feeds from kurafire.net it collects and filters for posts for `media references and displays them.  I’m hoping it will proove useful to anyone else who wants to keep up to date. Especially when details start coming up about next year and in the lead up to that.</description>
    </item>
    
    <item>
      <title>asp.net here we come</title>
      <link>/2005/06/29/aspnet-here-we-come/</link>
      <pubDate>Wed, 29 Jun 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/06/29/aspnet-here-we-come/</guid>
      <description>I now have an ASP.NET environment setup and ready to go and the will to use it. Depending on how it goes I’ll try and post any thoughts as I go. In particularly related to how I get on with good standards markup.  I can knock together whatever I want in PHP reasonably well and with my new job focusing on CSS and XHTML amongst other related bits, and working at .</description>
    </item>
    
    <item>
      <title>more from @media</title>
      <link>/2005/06/26/more-from-media/</link>
      <pubDate>Sun, 26 Jun 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/06/26/more-from-media/</guid>
      <description>With all the goings on off the back of @media its pretty hard to keep up. Many of the ideas that where discussed seem to be taking hold and coming into the world and lots of sites have had some recdent TLC. Anyway, here goes with a few observations.  Simplified Standards Simplifiedstandards (simplifiedstandards.com) looks like a great idea. A few people where discussing a central repository for concensus on issues of web standards application in the real world and this aims to be just that.</description>
    </item>
    
    <item>
      <title>ShortStat</title>
      <link>/2005/06/25/shortstat/</link>
      <pubDate>Sat, 25 Jun 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/06/25/shortstat/</guid>
      <description>I’ve just install the ShortStat package from www.shauninman.com and the Mac OS X widget from www.keeganjones.com/widgets/shortstat/ to go along with it. My desktop now tells me how few people are visiting my site!  It’s the first really useful widget I can see myself using for more than pure eye candy.  And ShortStat itself seems to be a very nice addition. Simple to set up and the output is nice and clear.</description>
    </item>
    
    <item>
      <title>DOM Scripting. Its the future?</title>
      <link>/2005/06/21/dom-scripting-its-the-future/</link>
      <pubDate>Tue, 21 Jun 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/06/21/dom-scripting-its-the-future/</guid>
      <description>It’s official. It’s DOM Scripting.  I’m reading the DHTML Utopia book at the moment (excellent so far) and following on from @Media it does seem to be where it’s at, at least for a little while.  The discussion of naming raised it’s head and I kind of agree – AJAX has buzz word written all over it. Read the full article at quirksmode.org following on from the Javascript get together after @media (darn train tickets).</description>
    </item>
    
    <item>
      <title>Th_nking about a move</title>
      <link>/2005/06/16/th-nking-about-a-move/</link>
      <pubDate>Thu, 16 Jun 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/06/16/th-nking-about-a-move/</guid>
      <description> Sorry for the title. As a few people already know I’m moving jobs at the end of the month to Th\_nk. Basically to do more web design with the emphasis on XHTML, CSS and the like.  I’m not going to go on about it as I’m trying to stick to issues on here about web stuff rather than about me but thought it worth a post. </description>
    </item>
    
    <item>
      <title>@media 2005</title>
      <link>/2005/06/12/media-2005/</link>
      <pubDate>Sun, 12 Jun 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/06/12/media-2005/</guid>
      <description>Wow. I’m still pretty wired after two days of conference and several late nights but boy was it worth the effort and more.  First I just want to say a big thanks to Patrick (htmldog.com) for organising the event and to all the speakers and attendees I spoke to.  I must mention Molly Holzschlag (www.molly.com) individually for being amazing thought. Thanks for the beer.  I’ll hopefully get something more useful up here with more salient points over the next couple of weeks but for the moment I just want to say it was an inspirational couple of days, and make sure to watch the blogs of the speakers for real indepth stuff (rather than just awe).</description>
    </item>
    
    <item>
      <title>Bookmarks</title>
      <link>/2005/06/05/bookmarks/</link>
      <pubDate>Sun, 05 Jun 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/06/05/bookmarks/</guid>
      <description>I’ve of late been playing around with a number of different ways of storing bookmarks after realising I was just not bothering before. I added del.icio.us links to the site a bit ago and I’ve just come across Scuttle (scuttle.org) which is a GPL PHP del.icio.us clone which is really quite nice.  I’ve set it up at the moment on one of my machines and might look to add a styled and modified version to this site as time and inclination allow.</description>
    </item>
    
    <item>
      <title>Ruby on Rails</title>
      <link>/2005/05/24/ruby-on-rails/</link>
      <pubDate>Tue, 24 May 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/05/24/ruby-on-rails/</guid>
      <description>After much going backwards and forwards I finally sat down and had a protracted play with Ruby on Rails and so far I have to say I’m impressed.  Installation was simple enought and I got it running on both mac and linux hardware pretty easily, always a bonus, and I have vim set up to play with ERuby syntax.  I had dabbled previously with Ruby and coming from PHP the syntax is fairly self explanatory (remember end not }).</description>
    </item>
    
    <item>
      <title>palm posts</title>
      <link>/2005/05/18/palm-posts/</link>
      <pubDate>Wed, 18 May 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/05/18/palm-posts/</guid>
      <description> I’m in the process of setting up the site so I can post from my Palm Tungsten T5. The image appearing here, of the device in question, will appear now for any posts I make from it when I’m out and about. How often this will be is anyones guess but I’m heading to @media in London soon so maybe some updates from there? </description>
    </item>
    
    <item>
      <title>new site updates</title>
      <link>/2005/05/12/new-site-updates/</link>
      <pubDate>Thu, 12 May 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/05/12/new-site-updates/</guid>
      <description>Right. I’ve nearly finished adding all the bits to this site that I liked about previous things I had up and rebuilding around all the things I disliked. So here’s to some new projects on the horizon.  The plan is to document and upload thoughts and anything of interest on my programming things I’m up to. I’m at the moment pondering C\# and ASP.NET (Mono), Ruby on Rails and maybe something (Python?</description>
    </item>
    
    <item>
      <title>northeastrss.com</title>
      <link>/2005/04/17/northeastrsscom/</link>
      <pubDate>Sun, 17 Apr 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/04/17/northeastrsscom/</guid>
      <description> A new project that I have been working on looking to bring together anyone making use of rss feeds in the north east. A slightly odd idea perhaps, but one that has me playing with collecting and caching feeds from other sites and a bit of minimal design. Visit www.northeastrss.com for the work in progress </description>
    </item>
    
    <item>
      <title>email2rss</title>
      <link>/2005/04/04/email2rss/</link>
      <pubDate>Mon, 04 Apr 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/04/04/email2rss/</guid>
      <description>email2rss is one of my php projects. The aim is to allow simple access to rss feeds from any email client. Ideally suited to mobile devices without a reader or to less technical users.

It makes use of the lastRSS library to read external rss feeds and output the details, as well as a few tricks to read in an email (from stdin) sent to its own address and to email back the user with the news requested in the subject line.</description>
    </item>
    
    <item>
      <title>newcastlenewmedia.org</title>
      <link>/2005/04/04/newcastlenewmediaorg/</link>
      <pubDate>Mon, 04 Apr 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/04/04/newcastlenewmediaorg/</guid>
      <description>newcastlenewmedia.org is a current project I maintain for the local web design and development community, centered around an email mailing list.

 Although still a small community its proving a useful place to bounce ideas and get a feel for whats going on and hopefully will grow over time.
  Visit newcastlenewmedia.org and join in.</description>
    </item>
    
    <item>
      <title>php-eml</title>
      <link>/2005/04/04/php-eml/</link>
      <pubDate>Mon, 04 Apr 2005 00:00:00 +0000</pubDate>
      
      <guid>/2005/04/04/php-eml/</guid>
      <description>php-eml is a sourceforge open source project I started a while back to develop a php based email mailing list. At the moment this in at a stage where it works but is not really pretty or easy to install unless you enjoy a little sysadmin.

 Both these, and some new features should be added in the future, time permitting.
  See www.php-eml.com for more information or to download the source.</description>
    </item>
    
  </channel>
</rss>