Page 1 of 3: First Prev Next Last

Web Log - Geekdom

Dear Laptop Vendors...

By Andrew Price, 2009-07-11 01:43:33 in Geekdom. (Permalink)

... my parents have set me the task of selecting a laptop for them to buy, to replace their ageing desktop machine. The time frame is fairly generous: early 2010. (At this point it may be useful to note that we live in the UK). Now, listen closely because here comes the tricky part. The desktop machine has been running Ubuntu for a few years, which means they want the new laptop to run Ubuntu. No ifs, no buts. That's what they want. They're happy with Ubuntu.

Reading about David Woodhouse's painful adventures in laptop purchasing (and others') left a sour taste in my mouth. I don't want to subject my parents to a similar experience. That is, I have no interest in advising them to buy a laptop with Windows installed on it, only to tell them they'll have to contact one or more companies to request a refund, forensically and photographically document the removal of Windows from the hard disk, threaten legal action when said refund doesn't materialise and jump through the other flaming hoops involved in buying a laptop without paying for an unused copy of Windows.

The fact that my parents want Ubuntu does not necessarily mean that they want it preinstalled; it simply means that they do not want to have to pay for Windows in the first instance. Focus on that small-but-important detail.

So, laptop vendors of the UK, you have until next year to offer my parents a good customer experience.

Restoring Removed Files With Git

By Andrew Price, 2009-01-11 04:01:49 in Geekdom. (Permalink)

So you've accidentally rm'd a file in a git tree and you want it back. What to do?

$ git checkout HEAD -- path/to/removed/file

This tip was brought to you by Andy's determination to remember how to do it next time, in cooperation with wasted moments spent reading the wrong man page (git reset). Sigh.

Adobe In The 21st Century

By Andrew Price, 2008-11-17 17:56:29 in Geekdom. (Permalink)

andy@diogenes:~/.mozilla/plugins$ file ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

Goodbye, nspluginwrapper. Thanks for being there when I needed you.

Synchronicity and Sharing

By Andrew Price, 2008-05-18 17:46:54 in Geekdom. (Permalink)

Dag Wieers' comments that "Mark Shuttleworth's recent pledge to join a synchronised release plan for Enterprise Linux distributions is no more than a wish to benefit from a lot of work that Novell and Red Hat are already doing in the Enterprise space" are strange.

There is one main reason why I think this is a strange way to argue against Mark's idea and it's this: Red Hat is a very successful company based upon the idea that there is value to be found in and around software which is freely available to modify and redistribute. This is a cornerstone of Red Hat's business model and thus any calls of "It's not fair to use the [freely available, modifiable and redistributable] products of Red Hat's efforts for your own profit." (my words, not Dag's) seem quite out-of-place.

Sure, Canonical is a tiny company by comparison, so it doesn't have a large workforce to make a huge number of upstream contributions, and it's not yet profitable so it needs to be clever in order to propel itself towards sustainability. But if anybody thinks that synchronizing release cycles to stabilize versions and focus efforts across distributions would not benefit Red Hat more than the added competition might damage their business, they might need to rethink the situation. But I guess this is the main question that Red Hat needs to ask itself before signing up to Mark's idea.

One thing Red Hat and Shuttleworth have in common is that they're good business players. They seem to get the idea that, whatever boosts the success of Linux-and-friends as a whole is good for expanding the Linux-and-friends market and other companies' opinions of it. Currently one of the factors holding back adoption of Linux-based solutions, from the point of view of potential customers, is that there's so much to choose from; so many distributions, packages and support possibilities. Judging from one of Red Hat's recent successes the deal clincher is the quality of technical support which is on offer. Technical support in this context presumably means killing bugs and making sure that hardware support for the deployments is top-notch. So having some kind of consistency between versions might make open source a larger target for enterprise customers and hardware manufacturers (two groups which are not distinct) and focus development and testing efforts onto those versions.

So it's really a level playing field. Whatever Canonical contributes to free/open source is available for Red Hat to benefit from and vice versa. The bad vibes I've been sensing lately (particularly surrounding the kernel) seem to be rooted in how Canonical isn't big or successful enough to contribute on the same scale as Red Hat yet. That's to be expected, for now. In reality, any business which enters the Linux distribution market really should know that the competition ultimately is not about having better software than the other guy, because the software belongs to all of us and none of us. The winner will be the company with the best people and the best business ideas and strategies. To me, Mark's idea is not one which is meant to give Canonical an advantage over other companies (especially an unfair advantage), it's an idea meant to map the century-tested assembly line approach which made Ford so successful onto the main components of several Linux-based distributions to push them all forwards. Whether it's a good, workable idea or not has yet to be tested, but I think it would be an interesting experiment.

Generating Patch Emails With Git

By Andrew Price, 2008-04-07 19:20:58 in Geekdom. (Permalink)

Today was the first time I've used git to produce an email containing a patch that I'd written and I was impressed at how simple it is. I thought I'd share how it was done to help other git learners, and to help me remember it for next time. For this to make sense, assume that I had just cloned the git tree so that I'm working with a new, clean tree.

First I created a new branch to keep my work separate, using:

git checkout -b mybranch

Then I edited some code, tested that my fix worked, and committed my changes using:

git commit -a

When you commit, git opens an editor (in my case, vim) in which to enter your commit message. It's worth noting here that the first line of the commit message is used as the short log (the 'title' of the commit), and the rest is used as the body of the log message. The short log will become the 'subject' header of your email later.

Once my changes were committed, I used format-patch to produce the email with my patch in it, like so:

git format-patch -1 -s --subject-prefix='PATCH][BUILD'

This produced a nicely formatted email-able text file containing my patch. The file includes the 'From' email header which it generates using the email address and name stored in your git config. You can find information about all the possible format-patch options from the man page but the ones I used were:

I then used mutt to send the patch by using its -H option which loads a template email:

mutt -H 0001-Example-patch-name.patch

Then all I needed to do was tell mutt which address to send the email to, and hit y to send. Simple as that.

Google And Ye Shall Find

By Andrew Price, 2008-01-30 23:51:59 in Geekdom. (Permalink)

I've just had an odd Google experience while scouring the web for relevant papers for my computer science project. It all started at the Google Scholar site which I was using to search for papers relating to Linux file systems and storage, particularly performance analysis, block I/O and anything to do with blktrace or GFS2.

After a while I stumbled across a highly relevant looking abstract of a paper entitled Evaluating Block-level Optimization through the IO Path [Riska, Larkby-Lahet & Riedel] so I clicked on the link. A username/password dialog appeared. It turned out I needed a USENIX account to get at this potentially juicy morsel of knowledge. So I clicked on the Web Search link that Google Scholar places next to search results, hoping to find the paper offered freely elsewhere. Expectedly, the first page of results showed links to pages on the USENIX site including a link to the actual PDF which again popped up a username/password dialog (Google's crawler must have a USENIX account...?).

Then I noticed something else - a View as HTML link. Surely it couldn't work. It shouldn't. Could Google search really be that nifty (or subversive)? I clicked on the link. Before my eyes the once-imprisoned-as-a-password-protected-PDF paper loaded in all its oddly formatted glory. A brief skim through reveals that some figures have missing information but I think I can live with that. I'll put it with the others and read it in the morning. Thanks, Google.

[Edit: Good news - since I wrote this entry USENIX has announced that it is making all the proceedings of its conferences available to everyone.]

Beer, Speech and Linux File Systems

By Andrew Price, 2008-01-12 11:58:36 in Geekdom. (Permalink)

Wakey, wakey. Rise and shine. -- My mother, somewhen between 1982 and 2008

It's been a while since I last wrote a blog entry that wasn't a software release announcement so I think it's time to remedy that. Since attending LinuxConf Europe (I enjoyed it thoroughly) which I mentioned in my last non-announcement blog entry life has been mostly revolving around university and the final year of my computer science degree, which has been a bit of a rollercoaster. But life is fun, in a fantastically geeky way.

The most interesting aspect has been my 3rd year project. The end product of which will be a file system performance analysis utility. Most pleasingly it will be an open source project, although I'm probably limited to accepting patches only once my dissertation is submitted. I won't bore you with the details but the project specification is similar to Chris Mason's Seekwatcher, which is the must-have accessory for the discerning Linux file system developer (darling).

The project is fairly challenging since it requires some specialist knowledge (I've probably spent 80% of my project time reading, 15% experimenting/exploring and 5% coding so far) and I've already learned a lot about file system implementations, aspects of the kernel and other interesting subjects that raise my state of mind closer to supreme enlightenment. The open source aspect of the project really does boost my enthusiasm for it and adds to my determination to roll out a good piece of software. That's the plan anyway.

The opportunity to do this project was presented to me by Steve Whitehouse of Red Hat GFS2 fame and I'm working under his guidance as a sort of "industry partnership" as the computer science department refers to it. Apparently Red Hat doesn't have an official student project scheme of this nature so I consider myself lucky that Steve has taken the initiative to offer the project and dedicate some of his time to answering my dumb questions. He's quite an inspirational character. I'd like to see these kinds of opportunities being offered to students by open source companies more often.

Here's to a fun 2008. May it be filled with inspiration, aspiration and perspiration.

LinuxConf Europe 2007

By Andrew Price, 2007-08-31 23:49:41 in Geekdom. (Permalink)

Tomorrow I'll be heading to Cambridge for LinuxConf Europe 2007 which starts on Sunday. It'll be my first open source related conference so I'm moderately excited and apprehensive.

It'll also be my first time in Cambridge which looks like a great old place with plenty of culture to soak up. I haven't signed up for the tutorials on Wednesday so I might play the tourist game before I return.

I'll have more to say once I get back. Perhaps a few photos too. See you there, if you're going.

To Sponsor The Package Or The Person?

By Andrew Price, 2007-06-02 02:59:05 in Geekdom. (Permalink)

As you may know, pybackpack originally started off as a Google Summer of Code 2005 project for Fedora. Since I took over maintaining it, I've been keeping the Fedora review request alive in the hope that pybackpack would eventually get to where it was first intended. Of course, my distribution of choice is Ubuntu and most of my open source work that isn't pybackpack is Ubuntu-orientated so getting pybackpack into Fedora hasn't been high on my list of priorities, but I would like it to happen.

The first Fedora review request bug for pybackpack was opened in September 2005 and the latest bug (it had to be redone when extras was merged with core) has been open since January this year. Since then I've managed to get pybackpack sponsored into Debian (and consequently, Ubuntu). The Debian sponsorship process took hardly any time at all - just a day from ITP (intent to package) to upload, if I recall correctly. I thought it might be interesting to compare Debian and Fedora's new package processes point-for-point to see where the big difference lies:



Looking at this comparison, I can't help but feel that Fedora has made it too difficult and daunting for new contributors to get new packages into their archive. Especially busy ones who are the upstream maintainer and have other projects to concentrate on as well. It's true that you get upload permission at the end of the process but not everybody wants to, or has the ability to, get that deeply involved. If Fedora wants to attract more packages they should probably decouple the process of becoming a Fedora contributor with upload rights, which is a lengthy process, from the process of getting a package approved for quality, which is a short and focussed process.

So, I guess I'll have to do some reviewing of other new packages and cut through more red tape before I get pybackpack into Fedora. I'm not totally against that, but my heart isn't really in it and I'd rather spend my time working towards becoming an Ubuntu MOTU and improving pybackpack. If anyone would like to take over maintaining the Fedora package of pybackpack from me, please do get in touch.

Celebrating Rebirth

By Andrew Price, 2007-04-08 18:37:37 in Geekdom. (Permalink)

Happy Etch Day!

...or possibly, happy Easter, for the less religious of you :)

DRM In Windows Vista

By Andrew Price, 2007-02-13 02:16:19 in Geekdom. (Permalink)

I haven't blogged yet about Windows Vista and its crazy you-don't-own-me,-I-own-you philosophy. Actually I've only used it on a friend's computer for about 10 minutes, and even then I wasn't impressed, usability-wise. But here is the man, the legend, Bruce Schneier, giving his take on Vista's DRM:

Microsoft put all those functionality-crippling features into Vista because it wants to own the entertainment industry. This isn't how Microsoft spins it, of course. It maintains that it has no choice, that it's Hollywood that is demanding DRM in Windows in order to allow "premium content"--meaning, new movies that are still earning revenue--onto your computer. If Microsoft didn't play along, it'd be relegated to second-class status as Hollywood pulled its support for the platform.

To me it's as clear as day - if you have Windows <= XP, only care about usability and "shininess" and you want to spend some money on an upgrade, get a Mac. If you really care about your freedom, have a tight budget, have hardware that no other OS supports, want to be part of an amazing development community, or want to influence the software that runs on your computer, install a Linux distribution.

I really don't see what Microsoft's Vista has to offer the current market that you can't get somewhere else, apart from the gaming lock-in:

  1. "Games companies only make games for Windows because it's popular"
  2. "I must buy Windows because games companies only make decent games for Windows"
  3. "Games companies only make games for Windows because it's popular"
  4. (ad infinitum)

And even still, the gaming argument is dubious under Vista, which supports few games that can't be run under XP at the moment.

The gaming argument of course is hindered by the graphics hardware manufacturers being secretive about their hardware specifications, so open operating systems such as Linux have inconsistent graphics hardware support and subsequently, little interest from gaming manufacturers. I see this state of affairs changing significantly in the near future.

So, take a moment to think about your role as a consumer. Are you a passive consumer or a powerful one?


By Andrew Price, 2006-12-22 10:41:26 in Geekdom. (Permalink)

I just read an article about a new open source library system called Evergreen being developed at the Georgia Public Library Service. I'm impressed. It's great to see these kind of open source alternatives to large scale systems such as integrated library systems being developed. I know how hard a library information system can be to develop after looking into it for my A-Level computing project back in 6th form. Evergreen was released in November and from reading the Open-ILS blog, it seems other organisations are already getting on board with the development. It's hardly surprising - a free system such as this could save them a lot of money in license fees in the long run, and it being GPL'd, they'd get to enhance it with their own features if they want to.

After trying out the online demo of the public web front end it struck me as a substantial improvement over the Voyager system, which my university's library uses. It offers a better presentation of information, provides a nice (although slightly too web 2.0) smooth interface and looks like they've thought of accessibility features too.

It's not perfect though - two aspects I would criticise are the reliance on javascript for the web front end to work and the fact that the generated HTML doesn't validate at the moment. I haven't tested out the staff client or looked at the code so I can't comment on them. But still, it looks like a promising young system and I'm sure with enough interest it will grow into an awesome suite of software.

Marketing Open Source To Universities - A Brain Dump

By Andrew Price, 2006-09-08 11:27:08 in Geekdom. (Permalink)

Having been on the exec committee of SUCS for two years I've come to realise how much potential there is for organisations to utilise student computer societies to advocate and spread awareness of free/open source software at a local level and to a demographic which would find some of the principles surrounding open source attractive. Students, that is. Google has already exploited this font of publicity with their pizza ambassador program.

For example, student computer societies annually attend some kind of "freshers fayre" at which all of the societies in the university try to attract and sign up new members or just increase awareness of what their society is capable of. To attract new members, societies give out enticing freebees to any passing students, sometimes society-branded to market the society or sponsor-branded because the freebees were funded by outside organisations.

If student societies were offered the opportunity to get sent some freebees, like OS installation CDs, branded pens, small notepads, wall planners, etc. I'm sure they would take it up without hesitating. In return, the organisation that helped the society out would get some free targeted publicity and the pleasant side effect would be happy students who don't have to eat into their student budgets to buy commercial software.

Unfortunately the life of a computer society is an unstable one. From year to year the executive committee changes, and with that so does the society's priorities. Personalities and levels of motivation also fluctuate annually. So I think that some proactivity (</buzzword>) from the open source organisation could help it a great deal should they think it would be a worthwhile strategy.

Unfortunately, in the UK at least, there doesn't seem to be a single point of contact for all university computer societies. was set up to gather all UK computer societies together but it has been dormant for quite a while, not all UK computer societies have participated in it and there doesn't seem to be as much interest in getting it on its feet as there probably should beĀ¹.

I guess I could be accused of being lazy and told that I should contact a possible sponsor for these things under my own steam instead of just hinting about it in my blog, but this entry isn't for the sake of my computer society, I thought i'd just get my insight out in the open so that organisations such as Canonical and computer societies in general might benefit from it.

1. I hear someone is creating a new CMS-based website for them, but it'll need to be publicised sufficiently for it to work.

Rocking And Rolling

By Andrew Price, 2006-08-23 02:32:31 in Geekdom. (Permalink)

It's been a fun couple of days. I spent a lot of Monday and Tuesday doing some geeky Ubuntu-related things. Inspired by a couple of challenges from Barry deFreese on #ubuntu-motu I've been learning how to write man pages and roll packages for Ubuntu. So far I've written a man page for a wireless packet sniffer called prismstumbler (which I've never even used before). I also rolled a Ubuntu deb package of the latest version of GNU Smalltalk because the package in Debian unstable was getting a bit old and consequently, so was the one in Ubuntu.

Packaging GNU Smalltalk took me a while to get my head around because GNU Smalltalk uses its own package installer called gst-package and it uses autotools so it was hard to see where the install scripts wanted to copy files to without running a test build of the original package but it built properly in the end, with some help from the older package's deb scripts. Not too bad for my second ever attempt at rolling a deb package (He says...). My package is now in REVU, waiting for some kind MOTUs to help me fix the inevitable packaging bugs before passing it for inclusion into the universe Ubuntu repository. It feels good to be giving something back to the open source community and learning some new useful skills.

Update: My gnu-smalltalk package made it into the Ubuntu universe repository. Rock.

Google And Open Source Software

By Andrew Price, 2006-05-27 21:59:34 in Geekdom. (Permalink)

I've just been reading hub's slightly bitter entry about how Google's new Linux version of Picasa isn't really a Linux version at all but a WINE version. That maybe be so, but it's really just a question of semantics and I think hub is missing the point completely with regard to how Google is approaching (or seemingly failing to approach) open source software. Google's apathy towards directly producing open source software is probably for the best in the long run.

From Google's point of view, the main competitors are Microsoft, Yahoo, and other similar companies offering similar services to them. Google's main focus is to make money, competing with these companies as best they can (and they seem to be doing that well so far). Despite their use of open source software on their computers, and their indirect contributions to open source, actually engaging in and devoting man hours to producing open source software is not going to be advantageous.

Instead Google contributes to the open source community in more subtle ways which help the open source community to grow as a whole. One example that comes to mind is the Summer of Code, which some of my friends are participating/have participated in. Another example is the $10,000 donation that Google made to the OpenBSD project to help with its financial problems. These are among the contributions to open source that Google sees as being worthwhile since they are going to help Google in the long run. By donating to projects like OpenBSD, Google helps to keep the open source community afloat and help the people who develop important software packages such as OpenSSH. By running the Summer of Code scheme, Google gets to bring students with programming skills into the open source world and - more importantly for Google - not into Microsoft development, where young developers can get trapped and become blinkered from the alternatives. It can also lead to Google finding some great programming talent before they leave university. It's the old "Catch 'em while they're young" strategy. It takes time to bear fruit, but it works. Google has also hired open source developers such as Sean Egan, the lead developer of Gaim, who was employed to work on the interoperability of Google Talk and has not been prohibited from working on Gaim by his contract (as you'd expect from some other software companies).

The effects that these contributions have on the open source community are more stability through financial backing and more talented young hackers fresh out of university getting involved. The effects on Google are that it can recognise possible new employees early, the quality of open source software that Google runs on its computers increases (long term), the computer science students who might have been scooped up by Microsoft are attracted by and inducted into the open source community instead (e.g. educated to think that python hacking is more fun than .NET hacking) and its overall reputation is boosted by the publicity generated (this is also a lesser advantage gained by open source). By employing people like Sean Egan, Google is both gaining ready expertise and paying a person to do what he likes doing, meaning that he will most probably become very good at what he does. This in turn obviously has a great effect on Gaim and how Gaim and Google Talk interoperate with each other and other Instant Messaging clients. It seems that despite Google's understandably self-centred motivations (it is a commercial business after all) both Google and open source win.

So given that Google is actually making some pretty decent contributions to open source whilst also staying out of its way and letting it get on with things as opposed to aggressively fighting it and spreading FUD about it, I think I'm willing to overlook the fact that Google didn't write a proper Linux port of Picasa. Instead of grumbling about why they haven't done so, I'd look to see what the open source community can come up with to answer the challenge that Picasa brings. F-spot, gPhoto - they're all out there. But if they're not as good as a WINE version of Google's Picasa then they should be inspired and challenged to improve. Chastising Google and telling them to listen to the open source community isn't going to help at all because Google are listening to the open source community already and providing us with inspiration and open APIs to use. They just aren't going to rush to develop open source software because it's a low business priority. I don't see a problem with that.

- Thanks to Will for casting his his eye over this entry for typos.
- Thanks also to Graham for pointing out that Gaim development isn't that wonderful with Google behind it after all.

Page 1 of 3: First Prev Next Last