@ayende You ought to try Mercurial. in reply to ayende 1 week ago

August 2006

15
Aug

Windows Live Writer

I’ve just downloaded the latest freebie from Microsoft — Windows Live Writer — and I’m trying it out on this post. It looks very slick — a simple Windows front end to your blog. It works perfectly with my WordPress blog, picking up the settings with a minimum of effort, and making posting a breeze. You can preview your posts (in the style of your blog itself), save them as drafts, and much more. It works with a whole raft of blogging software and services, including Windows Live Spaces (formerly MSN Spaces), LiveJournal, Movable Type, Blogger and so on.

It doesn’t seem to work with MySpace though, but then again MySpace pages aren’t real blogs. I am yet to come across a MySpace blog which has anything of relevance to say to anyone other than the author’s close circle of friends. But I’ll save that rant for another time.

[Update 5 June 2007: If you are looking for help getting Windows Live Writer beta 2 to work with Bad Behavior, check out this blog post.]

11
Aug

Online documentation pains

When I’m learning new programming languages, concepts and things, I like to have the documentation available for download as a self-contained unit that I can refer to on my computer, rather than having to connect to the Internet to browse through it all online.

There are various reasons for this. The first is speed: since many APIs are overwhelmingly humungous these days, a quick, easy to use search facility and straightforward overviews and walkthroughs are a must. A .chm file is the best option — you can search it quickly and easily, and it usually doesn’t take more than a few seconds to find what you’re looking for. Individual HTML pages are not quite so good though, since searching is less straightforward. And accessing something on your hard disk is much faster than surfing the web, due to network latency and other similar factors.

Secondly, I prefer to spend the bulk of my time offline to help eliminate distractions. I’m not saying you should work offline exclusively: I have found a lot of help from online resources such as the ASP.NET forums, experts’ blogs, tutorials and the like. However, I do like to be disconnected from the Internet when I’m trying to work my way through some tricky problems. It helps to reduce distractions such as those Wikipedia loops that it’s so easy to get into — you know the kind of thing I mean, where you end up clicking on one interesting looking link after another for a while and suddenly realise that you’ve spent two hours reading a whole lot of total drivel and completely forgotten what you went online for in the first place.

Furthermore, at present at least, we still only have dial-up connectivity to the Internet at home rather than broadband, so going online is slow and cumbersome, though hopefully this will all change after we move house at the end of this month.

A lot of programming languages and platforms do quite well in this respect. The .net framework is a good example: the SDK documentation comes with examples, quickstarts, howtos and API specifications that you can install on your computer to refer to as and when you need it. PHP and Python are also pretty good, with comprehensive, searchable, easy to follow documentation available for download in CHM format.

Java is a bit more awkward. You can download the J2SE and the J2EE documentation, but they are a bit more fragmented, and contain a lot of links back to the web — in particular, from J2EE stuff to J2SE stuff, which is a little bit annoying. I’ve also found Ruby on Rails pretty frustrating. It would be great to have one download that covers both Rails and the Ruby core API, rather than having to go online all over the place, but there isn’t one. You can get a number of CHM files, but they seem to be strewn all over the place and don’t cover everything. This is a real shame, because I would love to be able to get my teeth into Rails in my spare time, and it seems that you can’t do that quite so effectively offline.

Still, at least the documentation is comprehensible and reasonably structured, which is a lot more than can be said for Perl. I really, really hate the Perl documentation. Look at the index, for starters — a list of cryptic, obfuscated and sometimes downright misleading names such as perlboot, perltoot, perllol, perlre, perlrun, perlpod. I can just about make sense of it, but it takes twice as long to find what you’re looking for as anywhere else. To a beginner, it is probably the most confusing, incomprehensible and intimidating mess you are ever likely to encounter.

08
Aug

Frame Buster update

I’ve posted a new version of my WordPress Frame Buster plugin. It fixes a minor bug that stopped it working properly if your blog’s URL includes an HTTP port number, e.g. http://www.jamesmckay.net:8080/.

05
Aug

Dvorak update

I recently got a comment wishing me luck with my switch to Dvorak, so I thought I’d better post an update.

Unfortunately, it never got off the ground. The problem with the Dvorak layout is that it is so totally different to qwerty that it takes several weeks to get used to — time during which your productivity takes a pretty big hit. If you don’t want to annoy your boss, don’t do it.

Dvorak is not the only alternative: there are other layouts that are closer to qwerty, such as the Colemak layout. Colemak is based on qwerty — only about half the keys have been shuffled around — and claims to be more tightly optimised than even Dvorak in terms of things like the distance that your fingers move, alternation between your hands, and so on.

However, I don’t think you need to do all that much in terms of optimisation to notice a big difference. Remember the Pareto Principle — that 80% of the wealth is in the hands of 20% of the people? The same thing probably happens with tweaks to your keyboard layout. The figures may not be exact, but most of the improvement will come from a relatively small number of changes. These layouts may be able to outdo each other in terms of the exact figures, but there comes a point beyond which it gets a bit pedantic.

One simple tweak that I’ve experimented with a little has been to swap the E, R, T, U, I, O and P keys with the ones directly beneath them. I haven’t spent a great deal of time with this, but it seems apparent to me that it gives a fairly impressive improvement over qwerty while being very easy to get used to. It moves all the vowels and the most frequently used consonants onto the home keys, and since no keys change fingers, you can adapt quite quickly. Once you’re used to that, you could possibly go on to swap some of the other keys around a bit, and adopt an “evolutionary” rather than “revolutionary” approach.

If you can’t afford to shell out for a programmable keyboard such as the Kinesis, Microsoft has a nifty little program available as a free download that lets you create and edit your own keyboard layouts for Windows.

03
Aug

Roughing it – or not

This is the twenty-fourth Faith Camp and my twenty-second.

Normally I stay in a tent on the showground, but this year I’m in the hotel — the Sleep Inn at the Peterborough service station on the A1.

It does have some advantages. I get a good night’s sleep, I don’t have to share the showers with five thousand other people, and there’s a wi-fi access point, so I can blog. It also means that I don’t have to put up with being out in a tent if there’s a thunderstorm at night, which usually happens at least once during the week nearly every year.

However, when all’s said and done, I think I prefer my tent.

The big problem is that the hotel is pretty isolated from the camp life on the showground. The thing that I love about Faith Camp is that it’s a time when we meet up with old friends, make new friends, and generally have a good time all together. A mile from the showground on the other side of the motorway, it’s a bit awkward. Besides, sleeping on hard ground (or an inflatable camp bed), fitting your shower time round everybody else, night-time thunderstorms, and being well and truly off-line is half the fun of it.