Just Say No: Archives

Five reasons why you should use SVN for one-man projects

Sam Phillips, December 30th, 2007 8:36 pm

Often, when people are talking about version control systems, such as Subversion, an oft-quoted reason for its usage is the advantages it brings to collaborative working. This is with good reason - the system was written with the “many developers working on the same project” situation in mind, and this is why locking and merging et al is so important.

But version control is just as useful for smaller and/or personal projects - and as I’ve come to realise over the past week while getting to write more code than usual, using it can bring some major advantages to developing the “other” projects.

  1. Firstly, the no-brainer. Using version control means that you can roll files back. Large projects are planned and ideas are specified, and version control is often used for bug squashing and correcting mistakes. I find that it is less frequently used to “turn back the clock” on major portions of code (because they were just going in the wrong direction) because this situation is largely eliminated by planning. When I’m working on smaller projects at home, I’m often making it up as I go. It’s a good and productive way to code when you just feel like writing something, and are on your own time. Being able to roll back whole portions of the project (especially in Rails, using migrations) is a great way to allow yourself to experiment, knowing that even if you make some dodgy code decisions, they can always be rolled back.
  2. No need to trust yourself. I have always had a pretty good memory, not only for trivia, music/lyrics and names/faces, but also for code-related events - I can often recall when changes were made, at whose request and by whose hands. I’m a pretty good resource in the office in that way - but I am also very wary of reliance on memory. My mantra is to never trust yourself, and to use external systems to remember things wherever possible - à la GTD. Committing changes to projects via version control and always making sure I leave a long and descriptive comment means that I don’t have to rely on my memory when I come back to the project - perhaps days or weeks later. This means that coding at home can be what it should be - relaxing.
  3. Practice makes perfect. Using version control comes naturally after a while, especially in languages that are well-suited to it, but it’s still a skill that you need to work at. I like learning how to use some of the more advanced features at home so that, again, I’m on my own time, breaking my own projects. Using version control at home means that I’m continually getting better at it, rather than considering it a burden to be left at the office.
  4. Anyone who says version control doesn’t make life easier isn’t doing it right. Once you’ve moved into version control for some projects, everything else you work on feels rustic and lame. Developing under version control creates what appears to be overhead in the form of commits and maintaining working copies, but this is easily offset by the security it provides. Often I code late into the night (when it’s not a school night!) and by three or four o’clock, I can never be sure that the code that’s coming out is good. Under version control, this doesn’t matter. Wake up in the morning and revert the crap files, and keep the good stuff that only twilight hour inspiration can bring.
  5. Optimism. Under version control, you are taking every project seriously - this is a good thing, and it’s optimistic because you are telling yourself this is an important undertaking that may yet be something big, or at least something that helps some people out in some small way. And let’s not forget that version control works best when a project is born into the environment, rather than transplanted in later. Believe your work will be great, get it into version control from the beginning and let that experimentation that’s only possible with personal projects run free!

For big projects, I consider not using version control to be nothing short of negligent, because mistakes cost jobs and mortgages. For small projects, it is a great bonus feature, and allows experimentation and messing around to be easily coerced into something usable and maintainable.

The only limit to identity theft is the thieves themselves

Sam Phillips, December 19th, 2007 1:32 am

A couple of weeks ago, as I sat waiting for a work-funded eye test, I witnessed a serious violation of personal privacy. I barely know anything about diabetes, but I understand that it has a fairly serious bearing on eyes and the condition thereof, so it makes sense that the reception staff of this facility would need to transfer data regarding their diabetic patients over to some sort of centralised body.

Apparently, this transfer occurs over the telephone. The process involved the receptionist ringing said centralised body and reading every patient’s full name, full address, doctor’s details, date of birth and various relevant parts of their medical history. This happened for something like ten patients. That’s ten identities that could have been stolen by anybody who, like I, was just sitting there being forced to listen to people’s personal details.

Like most people, I bear witness to violations such as these the whole time, and I was barely surprised. The only reason those people still have their identities to themselves is cos I’m not a fraudster, and I didn’t take them down. Forget encryption, PINs, data protection law and general common sense - these people still enjoy fraud-free lives only because I chose not to steal from them. Comforting!

Co-incidentally, this occurred in the same week as the revelations started to fly in about the data protection issues that now seem to dominate the news. Of course, a lot of this is about selling newspapers - now the idea that the government’s data protection is distinctly colander-esque has taken hold, it’s gripping the media. But the real issue is that which we’ve known all along but tried to hide: data protection is currently flimsy, and identity theft is very, very easy.

It is so easy that the only explanation for any of us having not had our identity stolen is that the would-be thieves are busy stealing other identities. In other words: the only safety net we have at the moment is the limit in capacity in fraudsters. That’s it. Screw your ‘Internet security’ software, forget your stupid software firewall and ditch the shredder. If we all published our full names, security passwords, mother’s maiden names, places of birth, bank account numbers and date of births on our front doors identity theft would barely increase.

This may sound ridiculous, but in fact almost all other crimes are similarly without limit - there’s nothing to stop physical crimes from occurring, nothing to stop me hitting somebody in the street - apart from the fear of punishment or reprisal. The problem with technology is that people expect more of it - mostly because of promises made by people who work with it - and so the idea that we could prevent fraud with technology is rampant and erroneous.

In fact, technology makes all manner of fraud a lot easier. Think of the multitude of people who use plain-text storage for their passwords on their PC; and think of the long limit cookies that many websites set on login - only the other day I visited digg for the first time in months, to find myself instantly logged in. Crazy cookie durations. Gtalk means that I am pretty much permanently logged in to all of my Google applications, and Firefox’s immortal sessions mean that chances are I’ll be logged into a whole manner of sites most of the time as well. Security is compromised in the name of convenience.

So the plugged-in age in which we live makes fraud easy and puts the ball in the fraudsters’ court; we give them as much opportunity to defraud us as they can cope with. Is this, simply put, the price we have to pay for convenience, easy access and progress?

I’d say no, and I’d say that biometrics would win the day. But that’s hardly the lesson that we have learnt from history.

BBC iPlayer: the return of ‘beta’

Sam Phillips, December 1st, 2007 7:21 pm

Google and the like have lulled us into a false sense of security about the word ‘Beta’. It’s hardly worth listing examples so I’ll just remind you of one: Gmail is still in beta, three and a half years later. Everyone I know uses gmail. It’s like saying that television is still in beta.

But of course, ‘beta’ is very much part of Web 2.0 marketing and, on the other hand, pragmatism. Release early, learn quickly, and realise that users are - generally - the best judge of products. They’re certainly the best barometer of their success.

Unfortunately, when it comes to BBC iPlayer, beta means what it meant 10 years ago - ‘not finished. At all’. And to call it a public beta is ludicrous. You need support for an operating system other than XP? Go fish. How about you prefer not to use IE to access stuff? Go fish. How about you don’t really feel the love for Windows Media Player? Go fish. Or maybe you think that the days of broadcasting rights, where the money is in the advertising/product placement etc, rather than the content of the show, are over and that DRM is little more than a throwback to the now-antiquated idea that the money is in the copyright?

Yeh. Fishing time for you. ‘Public beta’ my foot.

I presume, although I cannot say as I have no information either way, that my biggest annoyance with iPlayer also stems from this ridiculous corporate obsession with DRM. This is when programmes, some weeks, are not available for no apparent reason. Pretty much all I want to watch is Later with Jools, Have I Got News For you, and Never Mind The Buzzcocks. Everything else is on at a convenient time so I watch them live. These three programmes, however, I had got into the habit of missing (even if I was around and near to a TV) on the basis that I could download them on iPlayer, as I had been doing for several weeks.

Therein lies the rub. These programmes and - judging from the message boards, others - are not always available. With no explanation, stuff just isn’t there. First I thought that maybe the search facility was broken, so I trawled through the annoying navigation to confirm that these shows were, indeed, not there.

No wonder iPlayer doesn’t allow you (as far as I can tell) to subscribe to a programme and have it download automatically every week. This would instantly break when, with no explanation, programmes disappeared.

Terrible iPlayer context menuSo please, dear BBC, ditch your obsession with DRM and please tell us why stuff is disappearing. This will mean that you can keep people happy and move onto non-Microsoft products. Oh and dear reader, take a look at a different view of this subject. Tell me that programmes dissapearing isn’t a consequence of DRM and its underlying reasoning, and I’ll blame something else - next in line on the blame train is the stupid iPlayer interface, and in particular the context menu. Seriously guys, that menu belongs on a serial generator. I half expect to have homemade metal thrashing out of my speakers every time I open it.

Subscribe to this blog's RSS feed

On Twitter:

  1. Loading...

Follow me >

Previously Rejected:

  1. Ten products that Apple just rendered obsolete with iPhone 3G/2.0
  2. Professional Accreditation for Web Professionals (Or, a rant on the British Computer Society)
  3. If it’s that important… pick up the phone!
  4. Moving Google Mail, Calendar, Reader and Talk into Google Apps
  5. I’m sure the makers of BBC iPlayer have been waiting for me to say this…
  6. MacBook Pro vs MacBook Air
  7. The BBC’s rote teaching techniques
  8. Five reasons why you should use SVN for one-man projects
  9. The only limit to identity theft is the thieves themselves
  10. BBC iPlayer: the return of ‘beta’
  11. I eat Wheetos for breakfast. Firefox prefers to gorge on RAM, all day.
  12. Images and subjective influence in online news
  13. Ten Comments on the A List Apart 2007 Web Design Survey
  14. Television is not real; keep it that way.
  15. Radiohead and In Rainbows: Not free, not new.
  1. Bookmarks:

Valid XHTML 1.0 Transitional Valid CSS!