Coding without comments

Via Robert the Grey and Jesse Liberty, I have been thinking about code comments and how necessary they are, and I have come to the conclusion that some people have just never really written assembler.

Jesse’s argument for his project is as follows:

  • Comments rust faster than code, even when you’re careful
  • Well written code can be read, and comments are annoying footnotes
  • Comments make for lazy coding

Comments rust faster than code not because you’re not careful, but because you’re lazy. And if you are lazy about commenting, how do I know you’re not lazy about coding?

I realise that sometimes the logic behind a piece of code can be less than clear; no matter how well you construct your variable and procedure names, that problem does not go away.

According to Robert:

  • Stating the bleedin’ obvious (I’m looking at you Method Arguments)
  • Put there because you’re too lazy to refactor the code as demonstrated in Jesse’s article and the comments
  • Enforced by stupid corporate coding standard mandates that are still stuck in the 90s
  • Stale (and sometimes actively harmful) by the next check-in or 6 months later

I think that this is a lazy approach. It says “I cannot be bothered to document things properly so it’s someone else’s fault if they do not/cannot read my wonderfully elegant code that is self-evident because I have designed it to be so”.

It’s also my experience that well written code tends to be accompanied by well-written comments, and that poorly commented code is rarely wonderful and easy to extract some meaning from.

If either Jesse  or Robert want to carry out thought experiments like this, it’s entirely up to them. But in the real world, code standards should include checks for adequate documentation so that people, other people, have a fighting chance of dealing with other people’s elegant code. Just because you think you’ve written good code and it is self-evident what it is doing does not mean you actually succeeded in doing so.

I’ve no objection against the new generation languages. Anything that makes programming more accessible to other people is a good thing. Anything, however, that allows you to break down some discipline, is not a good thing.

If you’re disciplined enough to write good code, I honestly don’t see an argument for not being disciplined enough to write good documentation for said code. If you can’t then, in my view, it is lazy.

Failed personal projects –

One of the hardest things you have to do sometimes is reflect on projects which fail for whatever reason. For me, the key one is just occasionally, an idea comes along and I cannot give it the time it requires to make it work. We have only got a limited amount of time, it seems.

For me, the one that I really regret was the idea. I’ve completely abandoned it for now because with the benefit of hindsight, the idea was nice, but making it happen turned out to be difficult in light of the amount of time I had to devote to it.

The idea was simple enough. was to be a directory of all the activities you could get up to no matter where in Ireland you lived. The key objective of it was to make it community content driven – that meant people could sign up and plot their town and their local clubs and activities on it – so that if A N Stranger arrived in the town, family in tow, for a new exciting job and start in their lives, they had somewhere to look other than the local newspaper to find out about things that they could get involved in.

I believed this mattered because on the surface, most of Ireland appears to have GAA and the odd football team. I am willing to bet, however, that the top rugby players in small towns in Cork are completely unaware that the North Cork Lacemaking Guild is one of the best in Europe if not the world, or where the local judo club meets.

Part of this is rooted in my own youth. When I was a teenager, the choice of activities seemed to be limited to some of the more obvious (GAA) sports. I was fortunate that my parents were good enough to get me to a swimming pool every Sunday morning during the winter because I had zero interest in the local camogie club. Part of this is also rooted in a conviction I have that very often, things are going on that we just don’t know about. Things like knitting clubs, volunteer organisations building things. The media would have you believe that all the weekend is about is partying and sleeping in on Sunday morning. But I pass through towns, small towns, and realise that they have karate clubs, yoga classes and I thought that a central site where you could just go “okay, I’m living in Portlaois for the next year or so, what’s going on there?” rather than spend weeks asking at libraries, looking at notices in supermarkets.

When I built it – and I built it twice –  I set it up on Mediawiki because it struck me as possibly the handiest CMS for a project like that. I had grand plans involving linking into Google maps as well. Typically, however, on both occasions, it got heavily attacked by spam and I didn’t have the time to do any of the wider customisation and development I had in mind for it. Sometimes, the tools we give something are just the wrong fit.

I’ve been thinking about the whole idea again lately and am still tempted to try and figure out a way of making it happen. I might not necessarily go with Mediawiki – having looked at that again lately for other reasons, I’ve concluded that it doesn’t fit the needs of that project any more; that in fact, building something straight onto a Google or Bing map might even be a better fit altogether rather than trying to build anything more elaborate.

I’m still interested in making it community driven; I look at how has developed into something highly useful (although occasionally monumentally diversionary) for a lot of people, particularly in specialist areas (I have an interest in the photography and commuting and transport fora there). It’s just, something like that can be hugely open to abuse, and the question is how you go about policing it. On the flipside, I really have no idea what people do in their spare time in the way of clubs and societies and classes in every town in Ireland. I need to crowdsource that information.

On balance, though, it matters that people who have ideas look at trying to implement them, and learning from the failure.

So our reg system is a problem, is it?

The Irish Times published this article about how we were selling more cars this year like it’s a good thing. I’ve mixed feelings about how good it is because frankly, a significant majority of the motor industry in Ireland is retail sales based on imports. I don’t think we have anything more than a few components factories in the country and certainly no major league auto assembly.

So there’s this. If we skip the nitpicking feeling I have that this is an extremely poorly written article from a stylistic point of view and move on to the actual content, I’m a bit worried about it. I have to wonder how much reality it actually reflects.

The scorn that some drivers received on the roads last year simply because of the number plates on their cars raises an issue that now needs further consideration.

I’m really confused by this. I know we didn’t sell a whole lot of cars last year nationwide, but still I find it difficult to believe that people were made to feel guilty about it. I don’t inhabit that kind of world, admittedly but was there really that much ill-feeling on the highways and byeways if you dared to display a 09 on your registration plate?

In simple terms, I really don’t believe it happened.

If we are to help the long-term survival of the motor industry and the thousand it employs we need to reassess our number plate system. There remains far too much focus on start of year sales, driven largely by a registration system that gives such prominence to the year of registration. It creates an unnecessary social status issue, that means dealerships are over-run at the start of the year and virtually idle from the autumn period.

Removing the year from the registration plate seems a sensible approach. The industry can do their bit as well: ensuring that trade-in prices take account of the months of ownership rather than simply valuing all cars for a single year under the same price bracket. There are many suggestions for an alternative to the current year system. It’s time to open the debate.

The current registration plate system was introduced in 1987 and is delightfully simple, consisting of the year, a region identifier and a rolling counter. It has little to do with with how healthy we want the auto industry to be.

Purely economically, new cars bought in Ireland are imported. They contribute to our balance of trade and not necessarily in a positive way. Certainly they contribute a certain amount of tax take via VRT; however, from an economic and environmental point of view, it is not really viable to continue buying and selling the volume of cars we were selling between 2000 and 2006, for example. If nothing else, that level of new car purchase causes major over supply and storage issues on the second hand front.

I can’t see, either, how changing the registration number system will change the actual number of cars bought or sold; and if you are in a cyclical business with specific seasons, surely this factors into how you manage your business. It may balance it across the year somewhat – although I doubt it based on experience in other countries where new year sales spurts were all too common also – but it will not increase your turnover too much. The market only buys what it can bear. And with the best will in the world, not too many people trust the second hand car market to be honest and up front. I wouldn’t be dependent on them playing their part as described in the quote above.

We need to face up to the fact that the glory days of the early 2000s are gone. The personal transportation market is going to change; will have changed forced on it by environmental factors. Messing around with the reg system will not address that reality; and to be honest, I see little or no evidence that the motor industry recognises that it’s not really all that important to Ireland anyway. We can probably survive on fewer dealers than we have now, that’s for sure.

In short, I think this thesis is superficial and ill thought out.

FaceBook and my privacy.

FaceBook has started to annoy me. I’ll be honest, it started to bug me big time when everyone started playing MafiaWars and Farmville – my response to that was basically, WTF? However, they’re not just annoying me because of stupid games because let’s face it I’ve spent a good deal of time playign Bejewelled Blitz and bought it for my phone because it is so addictive. But I don’t update my wall every time I win some new medal and anyway, that’s not why we are here.

Various authorities in the European Union are less than overjoyed with FaceBook at the moment because our concept (here in Europe) of privacy differs somewhat to the view of FaceBook. They are writing letters. And take a look at this. It’s an arresting visualisation of how much of your information about you FaceBook makes available and how that information has changed over time.Via the New York Times, there is a useful visual guide to how many privace related options there are on your FaceBook account.

Guides to decoupling your life from FaceBook are starting to proliferate and if they are to be believed, it is not easy to fully decouple your life from the site. Deleting is difficult; most people wind up de-activating and even that’s not quite as far as they wanted to go. So I have not yet decided myself what to do. I’m caught between the problem that I don’t particularly like FaceBook behaving as though they own any data I post there (which is pretty much why I stopped updating it all the much), but that it’s also, to some extent, a useful networking tool. I have three major networks; linkedin, FaceBook and twitter. I know, for example, that the vast majority of my friends on FaceBook tend to be kitesurfing related. I know that the vast majority of my friends on Twitter tend to be photography related with a few honourable exceptions. And I know that a subset of both of those wind up on linkedin (translation, less active on linkedin than on the other two).

But if I can live without looking at FaceBook for weeks and weeks (and yes I can), then I really question how much I need the site. If this is true for the vast majority of FaceBook’s users, then the site’s primary value is seriously in question.

The primary way of monetising FaceBook seems – from my point of view – to live in its utility as an advertising platform. In terms of utility to me, it’s not actually offering me very much at all. I don’t do any of my chatting via it (anyone that I do chat to online, I chat to via Skype or twitter). I don’t arrange parties over it (twitter, email or phone). I don’t really network much through it (twitter).

I don’t get served ads through my FaceBook application on my iPhone. It seems to me that FaceBook could have an awful lot of information about me (which they do) without me getting anything much that matters to me back. Maybe I’m an exceptional case but I think if most people are honest with themselves, this is true for everyone.

If I were a FaceBook subscriber – which I am not – I’d be raising blue murder about the fact that FaceBook is using my information to earn more money with little or no obvious increased benefit to me. But I don’t want to give up what little control I have about my profile on FaceBook completely on the grounds that this could be really stupid. It really is a bit of a dichotomy at the moment.

whither iPad

I’m getting a lot of conflicting views on whether the iPad would be worth it or not. The web is starting to swim in articles about why photographers need or don’t need an iPad, or why writers need or don’t need an iPad.

I like some of the idea of the iPad – and this is probably because I am influenced by owning an iPhone which is, in some respects, like an iPad mini, except you can make phone calls with it too.

The one comment that caught my attention and said “yeah, maybe you’ll get some use out of an iPad” as a comment from the editor of ImagineFX (I think) who stated that the online version of his magazine looked fantastic on it. I could be tempted by that because I love magazines but I don’t always have time to a) buy them b) read them or c) carry them around everywhere I might read them. For the most part, the magazines I tend to read include Imagine FX, Advanced Photoshop, Photoshop Creative, National Geographic, Kiteworld and occasional other forays into related disciplines. The trashy magazines like Hello and VIP I allow the hairdressers to pay for and the glossies like Marie Claire and Vogue have been demodé for years for me. But that’s by way of an aside. The iPad seems to be a tad expensive for being purely a magazine reader and let’s face it, the ebook readers are a good deal less expensive.

Apple have helpfully gotten themselves into a mild dust up with Adobe over Flash. They’re not going to allow Flash to run on the iPad – it already doesn’t run on the iPhone and this is one giant nuisance. Leaving aside the tech arguments over whether Flash is any good or not, the fact remains that a lot of sites run it. An awful lot of sites run it, still. And Apple have helpfully added developer restrictions that make it very difficult to work around their limitations. The net result is that although you may buy an iPad, you will do on it only what Apple allows you to do. Adobe have run into the limitations that Apple have applied to developers in terms of what libraries you can use to develop for their devices. Their argument is that it protects the device.

But it restricts the supply market for software for the device and could, if you were being pernickety about it, be described as a little anti-competitive.

There is an argument that realistically, HTML 5 when it comes along in general use, will preclude the need for Flash in the future and I’m fairly sure that Adobe will do a nice trick in making it possible to create great HTML 5 sites. However, that’s in the future and now is now. The world – and a lot of creative sites in particular – use Flash.

So I’m not hugely happy with Apple on that while recognising that there is a lot of really lousy Flash there and anyway, if you wanted to write Flash you needed some expensive Adobe tools. That’s not ace either – and I already use Adobe Photoshop and am looking at some of their other design tools now too.

If someone were to ask me “Should I get an iPad”, I’d have to say, I don’t really know. I know its shiny and new, and I think the people I know who have one actually really like it. But I’m still not sure that I’d really need it over what I have at the moment, and apparently it’s pretty useless unless you can connect it to some class of a network, be it via WIFI or 3G. To be fair though, for a lot of people, any non-networked computer is basically useless.

The other key issue I have with it is that its drive capacity borders on the too low for me. Not enough room for music, not enough room for lots of photographs and not enough room for a few movies.