Follow the reluctant adventures in the life of a Welsh astrophysicist sent around the world for some reason, wherein I photograph potatoes and destroy galaxies in the name of science. And don't forget about my website,

Thursday, 28 March 2013

Binge Drinking vs Binge Coding

Binge drinking is a bit like wrestling a shark, it might be fun, but it's not necessarily a good idea to video your activities and post them on YouTube. Seriously, read the links.

Binge coding - that is, doing nothing but writing computer code day in, day out - can also have deleterious effects. Currently, moments after waking (usually around 6:30, which doesn't help) and overcoming the customary momentary existential crisis - a sort of mental flailing of the arms - the first thing I find myself thinking is something like, "Hmm, I wonder how I can translate the bounding box values in a postscript file into the world coordinate system of an HI data cube ?"

And yes, you're right, that is a little worrying.

I continue to be unwaveringly preoccupied with such esotericisms (no, spellchecker, I did not mean eroticisms) until very late at night. At which point, while shaking slightly and murmuring things like, "renzograms...  matplotlib...  mesh geometry all wrong..." I reluctantly surrender consciousness. And that's on a Saturday.

Alright, I'll confess. My ulterior motive for this post is that I'm really hoping to generate a Googlewhack*. It turns out that there are currently zero results returned in Google for "renzogram matplotlib." Matplotlib is a popular graph-plotting package for Python. Renzograms are a curiously unpopular (though hardly unknown) type of plot, of which more in a subsequent post, perhaps (they can be really quite pretty, especially in 3D).

* With luck, this will be the least viewed post ever !

They also look quite a lot like the time vortex in Dr Who. This may well be the first ever renzogram generated by matplotlib posted on the internet. GO ME !

Anyway, the effects of binge drinking and binge coding can be very similar. For one thing, both cause anti-social behaviour, though of radically different natures. An angry drunk may tend to hit people. A happy drunk may tend to hit on people, or possibly just sing loud obnoxious songs. Whereas the binge coder will simply refuse natural light, shun all human contact and occasionally wonder why no-one's calling any more.

The effects are also similarly dissimilar on health. In the short term, neither does very much harm except to cause an unpleasant sense of confusion and a headache. In the longer term, full-blown alcoholism leads to all kinds of problems, like death. I can't imagine that it's physically possible to code oneself to death -

if self.alive == true:

- probably doesn't work, for instance, but it's certainly not going to convey much in the way of health benefits to be shut away in a darkened room gorging on all manner of snack food with nothing to drink except tea and root beer. Well.... not if this continues for a whole year, at any rate.

However, binge drinking can be (except in extreme cases) self-limiting. Eventually, you run out of money, or throw up, or pass out, or possibly all three (but not necessarily in that order). Unfortunately, there's no such in-built safety net with binge coding, In fact, binge coding will more often than not leave you with more money that when you started.

Case in point.

Granted (to pick an example ENTIRELY AT RANDOM) generating, oh, I don't know, renzograms with matplotlib is unlikely to lead to the next Angry Birds, but it's still earning a salary rather than burning one. While I suppose sheer exhaustion might cause you to pass out eventually, it's probably not possible to code oneself into puking :

if self.coding >= excessive:
   for x in self.stomach:

No, the only way to beat binge coding is to see it through to the bitter end. To fix ALL of the bugs so that generating renzograms with matplotlib becomes foolproof. And then eventually you find that all is done and you can resume science and write more coherent blog posts.

No comments:

Post a Comment