A good keyboard is important

    For most people, the keyboard may be the cheapest part of a computer that they buy (with the possible exception of the mouse). However, the keyboard is for most people the most important interface that the have with the computer. Depending on how you use your computer, you might be spending many hours a day typing away. And whenever you spend so much time doing one particular task, it is important that you do it in a way that doesn’t place undue stress on your body (and mind).

For a good few months I have been using my laptop keyboard almost exclusively. I really like my laptop keyboard, the keys are of a good size, close together and they are absolutely flat.  The space around the trackpad provides a convenient location for me to rest my wrists. As a result, I’ve developed a way of typing which involves very little actual hand movement. I just rest my wrists and then sweep my fingers across the trackpad, rarely lifting them high, I don’t actually strike the keys anymore, I just press down on them until they give away (which happens with quite little force). I’m still not quite sure if all this is all well and good from a medical point of view, I have a feeling that resting my wrists all the time may not be so good. But I’m quite certain that it is more efficient. I’m typing faster and more accurately, I think the fact that I don’t have to hit the keys hard makes it somewhat easier.

At the moment though, I am typing at an old Mac keyboard, the white chunky ones. Although I know a good few people who swear by it, I find it intolerable. The height and thickness of the keyboard makes my hands rest at what feels like an awkward angle. The keys themselves are quite high and curved and the keys require more force than my laptop keyboard. All of these make it impossible for my fingers to glide across the keyboard like I do with my laptop. I’ve become so used to that feeling that doing anything else for a long time feels very uncomfortable. I haven’t managed to try out the new keyboards, but I feel that I may be more comfortable with them.

I have an old G4 mac which right now has a older keyboard. I find the Mac interface very soothing for (non-coding) writing projects but the keyboard puts me off. I have been looking for a good keyboard for it, and if I like the new ones, I might even get one. I also looked at the DiNovo Edge keyboard, but at a price tag of over $160 at Amazon, it is just a bit too much. And when it comes to something as important to me as a keyboard, I would like to try before I buy, which would not be an option in this case. I’ll post a follow-up as soon as I get my hands on a slim Mac keyboard.

Put your documents under version control

Being a college student means that I have to write papers every now and then. And writing papers means multiples drafts and lots of changes. Normally this would mean having lots of documents having each with a different version of the paper. While this lets you look up all the different versions quickly, it also means that you’ll quickly have a folder filled with lots of files with different and often conflicting names, making it rather hard to find the one you want.

Enter version control. Programmers (especially open source ones) have been using version control for years to manage the various revisions that they make to their source code. If you’re willing to get your hands a bit dirty, then you can easily leverage any of these robust and powerful systems to manage your everyday documents.  There are a large number of version control systems to choose from. The old favorite was Concurrent Versions System CVS, but it has been largely superceded by Subversion. Subversion is extremely popular in the open source world, and it is the system that drives Sourceforge. Both CVS and Subversion are centralized systems, i.e. there is a central copy of the files (called the repository) and everyone who wants to make changes has to check out a working copy and then sync changes back to the central repo. There are also a number of decentralized or distributed version control systems including git (used by the Linux kernel) and lightweight alternatives like Mercurial.These do not require a central repo relying instead on a peer-to-peer approach to keep differing copies in sync.

So which one is right for you? If you use one computer and are not particularly interested in keeping things synchronized between multiple machines, one of the centralized systems would be sufficient. But if you need multiple machines (and use them all frequently) you should look into the distributed systems. I have a PowerMac desktop and a Linux, however I tend to use the laptop more. I went with Subversion, turning my Mac into a lightweight Subversion server, housing the central repo and working copies on both machines.

Though the systems will have different ways of setup and management, they are still quite similar in the way they require you to add, change and sync files, so you should not have much trouble moving and adapting once you get used to one of them. Tomorrow I look into setting up a simple subversion server and using it get files out to another machines (and then synced back).