1. APIs in 2009 - XMPP and WebHooks

    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’d go for something different – a look at what I’d like to see in APIs in the coming year.

    Webhooks

    I’m pretty interested in the idea of applications exposing Webhooks at the moment. It’s a pretty simple idea. As a user of a service you can register your own HTTP end points to receive information whenever events occur in the service ...

    # - 2nd January 2009 - 0 comments

  2. Local Continuous Integration with Integrity

    Integrity is ace. I’m a huge fan of working under the ever watchful eye of a Continuous Integration server. I’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’s job well, but locally I only use it for larger projects. It comes with a little overhead and if I’m just hacking on the train I rarely check on it’s status.

    Integrity is an unashamedly lightweight and straightforward continuous integration server written in Ruby. It comes with Git integration as ...

    # - 28th December 2008 - 5 comments

  3. Web developers and Tools Programmers

    I’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’ve heard Aleks Krotoski talk about similar themes, in particular the design of social systems and user generated content. What I’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. They aren’t working on a specific title, or just on maintaining existing systems, but on programming ...

    # - 21st December 2008 - 2 comments

  4. Search for Genres on Spotify

    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’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’s quite simple. Just do a search for genre:Rock. My guess is there are various other textual shortcuts hidden in that search box. If anyone knows of any others post a ...

    # - 13th December 2008 - 2 comments

  5. I’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.

    # - 6th December 2008

  6. Where will all the web developers go?

    I’ve been thinking recently about what happens when we all get older. Now, I’m not actually referring to everyone here but more specifically what I’m going to call second generation web developers. I don’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. People like me.

    Work seems to exist in lots of places; big in-house teams, small in-house teams, agencies, startups and freelancers. Where the ...

    # - 30th November 2008 - 4 comments

  7. Stuart at work has been playing with a nice Python web crawler recently. I’ve used Harvestman before but it’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:

    crawler = Spyder()
    crawler.register(my_custom_method, 'post_fetch_html')
    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.

    # - 29th November 2008

  8. It’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.

    # - 29th November 2008

  9. I upload the work I’ve done so far on testing CSS. It’s still work in progress obviously but if you’re interested do let me know. I’ve stared with the image approach but will hopefully have something up demonstrating the selenium/rendered DOM position approach as well.

    # - 22nd November 2008

  10. I Love GitHub Two

    I’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’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. Maybe you collaborated with a few people on a specific project. But GitHub, through a combination of neat visualisations and social features, is encouraging people to ...

    # - 16th November 2008 - 1 comment

  11. CSSDOC looks like a good idea. I’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. That’s putting style, docblocks and tags together.

    # - 11th November 2008

  12. Django Performance Tip - Profile Your Filters

    I’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’m planning on releasing the code and wanted to give it a good once over before I do.

    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.001 build/bdist.macosx-10.5-i386/egg/textile.py:2478(qtags)
         6300    0.058    0.000    0.079    0.000 build/bdist.macosx-10 ...

    # - 9th November 2008 - 0 comments

  13. Simulating Rails like Environments in Django

    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:

    ENV = "development"
    try:
        exec "from environments." + ENV + " import *"
    except ImportError:
        print "You must specify a valid environment"
        exit()
    

    I now have two settings files stored in an environments module containing all the usual django settings; one for my development environment and one suitable for live. The settings.py above is for my local ...

    # - 1st November 2008 - 2 comments

  14. Unit Testing CSS - Looking for a Solution

    I think it’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’s still painful at times. Hopefully with that out of the way you feel better.

    unit testing is a method of testing that verifies the individual units ...

    # - 13th October 2008 - 9 comments

  15. Google App Engine PyUnit Test Runner

    I’m starting to play around with using App Engine again for small projects. It’s great for simple, somewhat throwaway apps as long as you don’t need anything too fancy. Actually all I want really is long running processes but I digress.

    I’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’ve spent a little time writing a simple test running script to use for non-Django Python projects. I’ve posted it over on the App ...

    # - 11th October 2008 - 0 comments

  1. Previous
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13. 12
  14. 13
  15. 14
  16. 15
  17. 16
  18. Next