Sun Aug 15 20:47:42 BST 2010
In doing some research into file locking in Linux I recently stumbled upon Jeremy Allison's interesting essay A Tale of Two Standards. In it he explores the history of the POSIX and Win32 standards and examines the successes and failures in both.
To my chagrin, reading Jeremy's essay made me realise that I wasn't going to be able to make use of any POSIX file locking in my code. Even as I mourned this loss, however, his descriptions of the vagueness of some of the Win32 specification made me feel grateful I am no longer compelled to program for Windows platforms.
Wed Mar 10 08:13:13 GMT 2010
I recently read a most interesting article in ACM Communications by the authors of the Coverity static analysis tool, describing the development of the tool from an academic research vehicle to a marketable product.
One thing that really shone out from the article is the gulf that exists between what researchers and engineers imagine a potential customer might want, and what that customer actually wants. Numerous examples in the article illustrate this disparity, from the general failure of some of the more exotic and subtle bug-finding methodologies due to the customer's difficulty in understanding the bug report, to the huge amount of sanitising code Coverity have to maintain to patch up the difference between language standards and the syntax accepted by commercial compilers.
It's obvious from the article that the path from research lab to commercial product has been a painful and frustrating one: the process of modifying a tool to suit the real world seems to inevitably involve inelegant hackery which would make any self-respecting engineer wince. Yet Coverity's lesson is a useful one for those who seek to make a product: the real world is a rough and potholed road, and the sooner you break out your metaphorical chunky offroad tires to deal with the terrain, the happier you and your customers will be.
Thu Jan 14 18:55:23 GMT 2010
I've been interested in the concept of the micro-start-up for some time, ever since I first came across Patrick McKenzie's blog.
Now, it goes without saying that every start-up is by its nature micro - with no money and no employees everything has to be small scale. However, the people like Patrick go a step further, deliberately making their ventures as small and simple as possible. And this makes good sense: with limited costs you have limited exposure, your money lasts longer, and the rewards should you suddenly make it big will go much further as you won't have a hoard of venture capitalists to pay off.
However, the concept of the micro-start-up, in my view, goes beyond merely keeping the costs down: in the best examples the product that the start-up markets is small and simple.
As an example, I recently came across a company called Balsamiq, who make a small, simple application which produces GUI mockups to go into design documentation and bug reports. The images it produces look hand-drawn, so that no-one mistakenly imagines they're screen-shots of working code, and the user creates the mockup by dragging and dropping elements. Simple, but done well.
The thing that is truly striking about Balsamiq, though, is that in two years they've gone from more or less nothing to being the class leader for GUI-mockup applications. This hasn't been done with a lot of investment: their initial startup costs were a few thousand dollars, nor a lot of people: they took on two of their three staff this year. That's impressive.
More impressive, however, is just how much money they've made in doing this. I know, I know -- when you read the last paragraph about becoming the leader in the pack for GUI-mockup applications you laughed up your sleeve a little, didn't you ? You thought that such an accolade, whilst perhaps mildly impressive, wasn't going to let anyone at Balsamiq retire any time soon. Well, you may be correct about retirement, but your giggling should probably cease: this year, 2009, they made around 1.6 million dollars. And their margin on that is 70%, so that's around a million dollars of profit. From selling a simple little application that lets you draw pictures of GUI windows.
That's pretty inspiring stuff, I'm sure you'll agree.
Tue Dec 22 22:00:47 GMT 2009
I'm always on the lookout for good conga music on the Internet -- there's a lot of great stuff out there.
Recently I came across these two videos made by Isla Percussion to promote their (lovely-sounding!) drums. They're a bit unusual in that they're well produced, so the drum sounds can be easily distinguished and picked out; and in that they're not massively busy, so the apprentice conguero has a better chance of making sense of the grooves !
Firstly, here's a bembe, which features a rendition of a song I know from Honeydrum:
Secondly, here's a rumba guaguanco, which includes some cascara and cahon as well as the congas and singers:
Mon Dec 14 22:51:14 GMT 2009
Via the medium of the BBC's Listen Again malarkey I made the welcome discovery of the rather wonderful The Felice Brothers today. In my mind, the band I always wanted to play in was the one playing the acoustic guitars and basses doing ragged songs with lovely vocal harmonies reminiscent of The Band and Basement Tapes era Bob Dylan. To the extent that The Felice Brothers are filling this role so well one of my dreams has died, or at least been seriously wounded, today. However, I take some solace in the fact that The Felice Brothers are likely doing the job much better than I ever would.
For your listening pleasure I recommend:
Frankie's Gun! (not the greatest sound quality, but a great live feel, you can check grooveshark or similar for the studio version).
Tue Oct 13 21:24:46 BST 2009
Following a link from a colleague on passionate programming the other day I came across this set of so-called code kata from Dave Thomas, one of the authors of the famous book The Pragmatic Programmer.
The idea of Dave's set of katas is simple -- much as with a karate kata they're designed as short exercises for the assiduous pupil to explore the form and substance of their respective field as part of a process of self-improvement. In many ways the idea seems similar to e.g. Jon Bentley's Programming Pearls, but it's always nice to have another set of exercises to pit ones wits against.
Tue Oct 6 21:54:52 BST 2009
We have a Canon Pixma MP210 printer, which was dirt cheap and does pretty much all we need.
Sadly, though, it isn't great in terms of connectivity -- it is USB-only, no network interface. As such, I've been keeping an eye out for a suitable box that would incorporate both Ethernet and USB ports, and would be reasonably hackable to allow installation of e.g. CUPS on a Linux-based firmware such as DD-WRT or Tomato.
Imagine my pleasure, then, in discovering the Asus WL-520GU; a router based on a Linux friendly Broadcom SOC and sporting a USB socket.
Even more exciting, however, is this excellent wireless Internet radio project that MightyOhm hacked up using the WL-520GU as a base. This is truly impressive stuff, and just goes to show what can be done with a bit of imagination and a fine-tipped soldering iron.
Tue Oct 6 21:55:07 BST 2009
Firefox is a widely known browser these days, and I use it on pretty much all the machines I have. One thing that has always annoyed me about it, though, is the amount of screen real-estate it dedicates to browser buttons and menus at the expense of the content of the web page one is viewing. On a big screen such use of space isn't a concern, but on e.g. my 1024x768 laptop it is rather intrusive.
Thank goodness, then, for vimperator, a Firefox add-on which gives FF a modal interface with keybindings in keeping with the (marvellous) vim text editor, and has the fringe benefits of getting rid of the vast majority of the browser chrome into the bargain.
Indeed, the only fly in the ointment would seem to be vimperator's inability to manage keyboard-driven scrolling for Microsoft's msdn site -- apparently this is due to MS's use of scrollable divs on that site
Tue Sep 29 22:57:39 BST 2009
Poor old Ingo Molnar.
First he was getting (a bit) flamed for his reaction to Con Kolivas' new scheduler for Linux, now he's getting flamed for allegedly burying Linux security holes. Life's not easy as a kernel developer.
Sat Sep 26 12:42:38 BST 2009
You want to know the problem with Mac users ?
Slashdot article comments are usually as much fun as the article itself, to the extent that not actually reading the article before weighing in on the discussion has become something of a meme on the site.
However, even in a domain of hyperbole and acerbic wit, one occasionally comes across a comment which stands out as a paragon of the the geeky genius which Slashdot has come to represent. Here's a case in point.