Leamington Spa Jelly

27 Nov 2012

, ,

Yesterday, I took part in my first Jelly session.

Jelly is free, informal co-working for freelancers and home workers. If you love working from home, but occasionally find yourself desperate for a change of scenery, or for just a little bit of social interaction, then you can take your laptop, meet some new people and work in a new space for a day. You have some of the benefits of working in an office (brainstorming, bonding over client horrors and someone else to make the tea) without actually having to go and work in an office.

Working at the Jelly
Jelly People

Read More

Future of Web Apps – London 2012

9 Nov 2012

A few weeks ago, I went to the Future of Web Apps 2012 in London. 2 days of talks, and general geekiness

Why Go?

Why should I go to conferences, especially when I have to pay for it myself?

I work for myself, and most days I work on my own. Events are a chance to meet other people in the same field, to talk, to get excited, to get enthused, and to learn how much I don’t know. I’ve come home and there are things I’m excited about, some contacts, lots of people to follow, things to read, learning to do … and yes, it is worth it.

Read More

PHP North West 2011 Conference

10 Oct 2011


I’ve just spent a weekend at the PHP North West 2011 Conference.  I went to the London PHP day in February and a couple of people in the bar were enthusing about the North West event, so I decided to give it a go.

Why did I go to the conference?

I usually work from home, and I work on my own and this (while still being wonderful and completely amazing and best way to work ever) does mean that I miss out on the company of other developers.  Working with, and talking to, other people is a great way to learn; people tell you about things, you try new things, you get enthused and excited and you remember why you love your work.   Weblogs and mailing lists and twitter and IRC, although good things in and of themselves, are not quite the same as people.  So I try and fill a hole with local events and the occasional conference.  Sometimes it’s hard work; like a lot of people in this field I’m not the most sociable and gregarious person.

What did I like?

There was a great selection of talks, and making a choice was often difficult.  Choice isn’t always good – I sometimes end up feeling that the talk on the other side of the fence was greener and wondering what I’m missing.   But I saw some wonderful presentations, and all the presentations in the main tracks were videoed so I can check out the talks I missed when the videos go online (in about a month).

Read More

What PHP Programmers do for fun

11 Jan 2011


I’m about to head off to the PHP West Midlands get-together for January.
The group meets the second Tuesday of every month, and it alternates between social and technical meets. This month – “What’s new in Zend Framework 2.0” by Rob Allen
Dave has arranged for a new venue and we’re now meeting in the Birmingham Science Park. I’m not exactly a regular, but will be going more frequently this year – my Tuesdays are a little more open for socialising and php-ing. Most of the group activity is on the mailing list and that’s always useful source of advice / suggestions.

And at the end of next month, we have the PHPUK11 – a one day event arranged by the London PHP group. The talks are good, but as always it’s the chat over coffee with other developers which really makes it worthwhile. I usually work as a solo developer, so bumping heads with other people in the same field matters. Too much possibility of stagnating otherwise.

Faster, Webpage, Faster

5 Oct 2007

, , ,

Steve Sounders gave one of the few developer “how-to” talks based on his book High Performance Web Sites

Basic premise: Performance-tune the front end, not the back end.

When users request a page, about 5-10% of the response time is spent building and delivering the html; the rest of the wait is for the associated content – images, css, javascript etc. So stop worrying about database optimization (just for a minute) and look at your front-end.

14 Rules for doing it better

  1. Fewer HTTP requests
    Combine disparate javascript files – guilty. Yes, I’ll do this
  2. Use a Content Delivery Network to store static files, so you can delivery content to users from the server which is closest to them
    Uh – pass. I’m sure it helps Yahoo and the BBC, but not me.
  3. Use the Expires header
    Okay, this needs to go in. Very helpful for people who’ve already got a primed cache.
  4. Gzip components such as css and javascript files.
    This goes along with number (10) – basically lets work on making those humongous javascript libraries download a little quicker.
  5. Put stylesheets on the top
    Slightly bemused – where else would I put them?
  6. And put javascript files at the bottom
    This is the one which staggered me – I’ve always always stuck all the javascript in the document header and now he’s telling me to move it.
    Two good reasons:

    • Downloading scripts blocks parallel downloading
      Everything else just sits there in the queue and waits patiently until our javascript files (our disperatejavascript files) have finally arrived.
    • Scripts block the page rendering
      The browser won’t render any content under the scripts until the scripts have finished downloading. So get the content down first – that way your users have something to look at while they wait. Um – with some sites this means we’ll get the flash effect – content shows and then it changes dramatically once the javascript kicks in.
  7. Avoid CSS expressions
    Steve, I won’t dream of using css expressions
  8. Javascript and css should be in external files
  9. Reduce DNS lookups
    Okay, so if I’m downloading components from more than one server then DNS lookup for each separate server = delay!
  10. Minify Javascript
    Make that (humongous) javascript file smaller by stripping out all comments, whitespace and newlines before uploading.I really like the Mootools downloader. You pick the components you need, select the compressor you want to use and then get ONE javascript file (fewer http requests!), compressed, minified, whateverified.
  11. Avoid redirects
    I tend to use redirects in code, can be very useful in avoiding that nice little message about “Do you want to resubmit your form” which tends to freak people out.
    But yes, I know that missing off the ‘/’ at the end of directory names means another round trip to the server. And many other lazinesses.
  12. Remove duplicate scripts
    DUH! But apparently this happens. And it’s not uncommon.
  13. Use ETags in your headers
    Entity tags are an http response header that browsers & servers use to determine whether the item in the cache is EXACTLY the same as the one on the server. Think I might pass on this one, but there’s a lot I want to learn about http response headers and apache config files
  14. Make sure the browser can cache Ajax – use the expires header

Things for me to do

  • Combine small javascript files
  • Minify/gzip the large javascript libraries
  • Make more use of the expires header
  • Put javascript at the bottom of the page, not the top
  • Play with yslow

All nicely explained in Best Practices for Speeding Up Your Web Site

And something I didn’t know – there’s a YSlow plugin for firefox which will analyse webpages and tell you where the bottlenecks are.

Getting ready for hackday

8 Jun 2007

Hack Day: London, June 16/17 2007

Got the invite and now wondering what on earth I’ve let myself in for. Panic time.

Friday afternoon update

It’s almost here. I’m not ready at all. I’ve booked an hotel (I’m too old to crash out on the floor in a sleeping bag), checked maps and train timetables, bought some little oranges to see me through the day and started panicking. I’m now having visions about 500 programmers, all of whom know each other, and all of whom know what they’re doing. And I’ve just realised that I do not have a digital photo of myself anywhere, so I’ve updated my backnetworkprofile with evil Alice.

My big problem is thinking of something to do – I can take other people’s ideas and run with them, and build an application which works, but I’m not great on inspiration from a standing start. I need an inspirer. Or (honest to God, I didn’t make this word up), some idearation