I've switched my Windows machine on today, as my sister sent me a CD which won't open on my Linux machine, but inexplicably will on Windows. I'm currently copying a load of music tracks from it to my laptop. However, every 5 minutes or so, Windows pops up a dialogue box which says it has updated itself and needs to restart, with two buttons: Restart now and Restart later. It also has a countdown progress bar, which gives me 5 minutes to decide which I want to do: presumably if I left it, it would restart once the progress bar reached zero. Despite me pressing Restart later, the Window has popped up 3 times already. When I click Restart Later, I mean "later, when I've decided I want to restart"?! Not "I can't decide, ask me again in 5 minutes"!
Do you people out there using Windows find this enjoyable? How on earth do you stop yourself putting your fist through the monitor with the constant nagging?
By the way sis, if you're reading this, thanks for the MP3s.
I'm a judge on the panel of the Packt Open Source CMS Awards, in the category of Best Overall CMS.
Nominations open on 16th July 2007, so remember to twitch your voting fingers. There's a $5000 prize to the winner in the category I'm judging, plus prizes of $3000 for second place and $2000 for third. Other categories include Most Promising, Best PHP, Best Other, and Best Social Networking; but I'm not a judge for any of those.
(By the way, despite using Drupal myself, I will be scrupulously objective as always.)
Pro Drupal Development (by John K. VanDyk and Matt Westgate, published by Apress; get it here) is a great little book. I know a bit about Drupal, and have written a couple of modules, but always felt like I was skirting the edge of some dark lake I dared not step into; when I did get in, I was quickly overwhelmed by the currents, got wet, and struggled out as soon as I had what I needed. (OK, a bit melodramatic, but you get the picture.) My knowledge was mostly gleaned from the handbooks on the Drupal site, which vary widely in quality, some being excellent and complete, others patchy and inaccurate, or for obsolete Drupal versions. I've also dug around in Drupal code a lot, but a clear understanding of the architecture continued to elude me.
This book, however, shines a clear strong light into Drupal's innards. I feel like it's written for someone like me: pretty technical, fairly able to make sensible inferences if given decent examples, and with some experience of Drupal of a user and dabbler. The chapters are pretty terse, but pack in some excellent code examples and fragments to help with common tasks. For example, I've been working a bit on my Last.fm module this week, and this book helped me to:
And probably other stuff I've forgotten. Things I had been working out from the handbooks, by making inferences from other people's code, reading forum posts etc., were covered briefly, pleasantly and clearly. They've probably saved me a good few weeks of scrabbling around. The book covers most Drupal concepts with enough depth for you to get a good overview of the whole architecture, as well as giving you practical snippets (table of contents here).
Highly recommended, and a snip at $22.50 for the ebook. No Drupal developer should be without it! Especially useful if you're not a complete Drupal nut but want to be able to write modules properly.
A while ago I posted about Ruby HTTP clients, and how I'd been messing around with writing my own. As is so often the case with open source, I waited around long enough, and now the good solutions are floating to the surface. When writing some simple HTTP client stuff recently (to do spidering of a Rails application), I found that the following combination worked really well and meant I could dispense with my hoary old scripts:
Installing them was as easy as:
gem install rfuzz gem install hpricot
Though you're likely to need a lot of build tools installed, as they build native extensions.
Once they were in place, I could do stuff like this (to parse all the URLs out of an HTML page):
require 'rubygems'
require 'hpricot'
require 'rfuzz/client'
client = RFuzz::HttpClient.new('localhost', 4000)
# to fetch http://localhost:4000/people and get the response body
body = client.get('/people').http_body
# to parse the links out of the response body using XPath
doc = Hpricot(body)
links = doc.search('//a')
# to get the URLs out of the links
urls = links.map { |l| l.attributes['href'] }
etc.. Pretty good. I think my quest is over.
Here's something I hadn't seen given a name before: the practice of putting captions with poor grammar and IM-style spelling onto pictures of cats to humorous effect. The resulting pictures are referred to as lolcats. Apparently, it is quite profound and clever.
The site I Can Has Cheezburger has many examples of the form. There's even a programming language, which uses lolcat style idioms, e.g. (explanation of keywords etc.):
HAI
CAN HAS STDIO?
I HAS A VAR
GIMMEH VAR
IZ VAR BIGGER THAN 10?
YARLY
BTW this is true
VISIBLE "BIG NUMBER!"
NOWAI
BTW this is false
VISIBLE "LITTLE NUMBER!"
KTHX
KTHXBYE
Well I never.
Last night saw me taking a long-ish trek out to the West (near Telford) to present at a WMITA event. The event was held in a debating-style format, with me supporting the motion "This house believes that open source is winning". After I thought about it for a while, I realised I didn't really understand the motion, and spent my speech moulding it into what I would have preferred as a motion:
This house believes that those companies which make the most effective use of open source will be the ones which win.
Which I do believe. It was a fun debate with a nice bunch of people (mainly .NET programmers, which in itself was interesting), and I kind of "won": we had a vote for/against the motion before we started the debate, at which 31% were for, 31% against, and 38% didn't know; after the debate, for was up to 50%, against 31% and don't know down to 19%. If I convinced one person, I consider it a victory.
There is a report about the event online now.
The notes I used as the outline for my talk are attached below.
The BBC ran an edition of its Click on open source on Saturday. The RealPlayer feed is available from the BBC website. It's fairly interesting, low-level stuff: you know, here's a load of free software ("free" as in beer) you can use instead of that expensive proprietary stuff. There's an interview with Mark Shuttleworth of Canonical (those folk behind Ubuntu) where he talks about space more than software, but reasonably interesting. (I find this programme quite quaint, as they still have a "best websites of the week" section, and it is very English and slightly patronising in places (if you're a techie).)
At OpenAdvantage we are starting to see more and more enquiries about support for Drupal. Often this will be from companies who've started using Drupal but need some work done on customisation; or a company that's seen Drupal in action elsewhere but lacks the technical skill for implementation. They are often looking for a local company to support their work, and ask for suggestions. I end up scouring the Drupal services page for UK companies, but it's not very often I see any West Midlands companies.
If you are a Drupal company based in the West Midlands region and are looking for consultancy work, please let me know in the comments so I can pass your details on. I've had enquiries from three different organisations in the past month, to give you an idea of the levels of interest. For the record, here's a list of compiled; note that these are not recommendations, just companies I know of who work with Drupal in the UK:
I've been putting together an event bringing together companies and enthusiasts in the West Midlands, where they will be doing short talks about how they're using open source. The full flyer is available at:
http://www.openadvantage.org/events/20070620_open_source_showcase
The event's at the NTi in Birmingham on the 20th June: please sign up through the link above. It's FREE.
I've now got a preliminary speaker list for this event, too (each talk will be a zippy 10 minutes):
If you're interested in speaking, there are still a couple of spaces available. Drop me an email at my name (elliot) at my organisation (openadvantage.org) if you'd like to participate as a presenter. The aim is to hear about how companies and organisations are using open source, rather than sales pitches, but it puts your company in front of a crowd of interested listeners.
It's been great for me already, hearing about projects I wasn't aware of. It will be a good event. Unlike events like LUGRadio Live (which is great, by the way), this one will be focusing on West Midlands open source people and will include quite a few SMEs who make money using and producing open source.
I use eMusic to satisfy my insatiable desire for music. It's great. However, you have to download each track individually: there's no way to get a whole album at once (at the moment). In Firefox, I found I could only download two tracks at a time; this meant it took quite a long time to download 10 tracks, say, as I could only have two downloads going at once.
I always thought this was down to eMusic, but it occurred to me today that it's probably a Firefox setting. Lo and behold, it is a Firefox setting. If you want to fix your browser to allow more than two simultaneous downloads over HTTP, do the following:
I can now have 10 or so downloads running concurrently (the first typically finishes before I've got round to starting number 11!). Much better. This might even speed up standard web browsing, as you can download far more files from a single server at the same time. (Though I don't know whether setting it too high might make it look like you're trying to launch a denial-of-service attack or something.)
To further improve your download experience, I recommend the Download Statusbar for Firefox. Peachy.