I was thinking the other day about how many version control systems I’ve made my way through over the years of being a professional developer, and I figured it would be fun to put it in graph form. Of course, this is entirely from memory and gives the illusion of being more empirical than it actually is, but hey, everyone loves graphs, right? Yes, I really didn’t use any source control back in 1994, barring backing up to 3.
I’m pleased to announce that I’m finally ready to make my first fully-fledged commercial Mac OS X application available to the world! SourceTree is a user-friendly Mac OS X front-end for Mercurial and Git, the two most popular distributed version control systems used today. The goal was to create a single tool which could deal with both systems efficiently, and to give a developer quick and intuitive access to the things (s)he needs to just get on with building software.
After hearing on Twitter how an acquaintance’s new hosting provider went ‘mammaries skyward’ this week, much to their understandable annoyance, it occurred to me that I have some recommendations I can make on this subject. While I don’t host that many sites, I’ve been doing it for long enough and had experience of both personal and medium-traffic sites that I’ve experienced the highs and lows quite a few times already.
Apple’s new flagship product, the iPad, was only just released in countries outside the USA last Friday, and I was fortunate to get my hands on one on launch day. Like many Apple products, this one has divided people, with a lot of people decrying it as a device looking for a purpose, a device that falls between two stools (not as portable as a phone, not as functional as a laptop), a device that is stifled within Apple’s walled garden.
Spring is usually a time of change, and I finally got a gap in my schedule where I could wipe my primary Windows machine and install Windows 7 (64-bit). It’s had XP on it for years - my experience with Vista on secondary test machines quashed any desire to ‘upgrade’ my primary work environment, and despite owning Windows 7 for some months a number of things have stopped me installing it, from lack of driver support for my office wifi-connected all-in-one printer / scanner, to work commitments where I couldn’t afford to take the time out to reinstall and set up several complex environments.
Our rampantly consumerist world has many facets, pros and cons to it, but one thing has so far been perceived as a universal constant - the quest for the ‘next big thing’. That one product, or class of product, that every man, woman and small furry creature from Alpha Centauri wants to get their hands on. In the technology world, analysts have long since been riding the gravy train of purporting to be able to peer sagely into this murky future in order to extract those world-changing gems that everyone would be invested in.
Trends - or as I would call them, rampant fads populated by people looking to leverage the best buzzwords to get VCs to throw money at them - come and go. The one constant is the claim that is so awesome that will universally and irreversibly replace , to the extent that if you’re using or producing , you are irretrievably lame, and complete strangers will point at you in the street and laugh at your horribly backward ways.
Writing good documentation is hard. While I happen to think that API references generated from source code can be extremely useful, they’re only part of the story, and eventually everyone needs to write something more substantial for their software. You can get away with writing HTML directly, and separately using a word processor to write PDFs for so long, but eventually you need a proper tool chain with the following characteristics:
- Lets the author concentrate on content rather than style
- Generates multiple formats from one source (HTML, PDF, man pages, HTML Help etc)
- Does all the tedious work for you such as TOCs, cross-references, source code highlighting, footnotes
- Is friendly to source control systems & diffs in general
- Standard enough that you could submit the content to a publisher if you wanted to
- Preferably cross-platform, standards-based and not oriented to any particular language or technology
When I came to write the OGRE manual many, many years ago, I went with Texinfo - it seemed a good idea at the time, and ticked most of the boxes above. The syntax is often a bit esoteric, and the tools used to generate output frequently a bit flaky (texi2html has caused me many headaches over the years thanks to poorly documented breaking changes), but it worked most of the time.
I’ve been meaning to replace this tool chain with something else for new projects for a while, and DocBook sprung to mind since it’s the ‘new standard’ for technical documentation. It’s quite popular with open source projects now and it’s the preferred format for many publishers such as O’Reilly. In the short term, I want to write some developer instructions for OGRE for our future Mercurial setup, but in the long term, I’d really like a good documentation tool chain for all sorts of other purposes, and Texinfo feels increasingly unsatisfactory these days.
Having spent some time this week establishing a new working tool chain, and encountering & resolving a number of issues along the way, I thought I’d share my setup with you.
Yesterday saw world-plus-dog in the technology sector glued to Apple’s announcement of their new tablet device, which has now been officially dubbed the iPad. Basically, when you boil it down it’s a super-sized iPod Touch with optional 3G support and a few more apps. Reaction has ranged, as usual, from the ecstatic “I’ve seen the face of God, and his name is Steve”, to “What a useless piece of junk”, stopping at most points in between.
Like most members of the male species, and particularly the geekier types, I love gadgets. Complex ones are great, but sometimes the greatest satisfaction can come from simple things that just work really well. Here’s a couple of recent buys for me that fall into this category that I thought I’d share. Joby Gorillapod When we’re on holiday I often spend time trying to find places to put the camera so we can do a timer shot with us both in the picture, and when you’re in forests and up mountains finding a level spot is tough.