HNHacker News
TopNewBestAskShowJobs

rgrannell1

14 karma · joined April 27, 2013

submissionscomments
rgrannell1··on Touch Pianist – Tap in Rhythm and Perform Your Favourite Music
This is a really terrific app. In many ways is nicer than siting back and listening to music, as it makes you think more about the flow and melody of a piece. I enjoyed this very much.
rgrannell1··on Sixth DNA base discovered?
This is very interesting, given that ScienceDaily reported the discovery of the seventh and eighth bases in 2011! Did they forget how to count, or do they just republish press releases without any understanding of the subject matter or actual journalism?

Source: http://sandwalk.blogspot.ie/2011/07/stop-press-scientists-di...

rgrannell1··on Ask HN: What code do you frequently read?
I read lodash's source to get a feel for how to write fast, high-level, bug-avoiding js. There are a few good ideas in it, like aliasing base methods like 'Array.splice' to a function 'splice' to prevent someone breaking your code by cloberring/overriding these methods.
rgrannell1··on The infernal semicolon (2012)
I see the bug as JSLint's problem, not the code in question (though admittedly that was bad code). I agree that if your tooling requires semicolons you should be pragmatic and include them, but the reality is that parsers/minifiers are mostly built with the assumption that users won't always include semicolons, so that's a largely hypothetical situation.

I definitely agree that you should code defensively, but I'm just not seeing why adding semicolons where ASI kicks in is a practical thing to do. I don't agree semicolons make the code more readable, but if there was such a case you should definitely add them. And everyone - not just people who omit non-ASI'ed semicolons - will forget to include them where needed eventually, but that's not even an especially painful bug.

There are in my opinion more dangerous style choices that are ignored, like daisy-chained declarations. Writing

var x = 1,

y = 2,

z = 3

is a pretty lousy idea, as it unnecessarily couples the meaning of several lines of code together, and makes code harder to edit. If you unthinkingly truncate the first line you get

    y = 2,
    z = 3
a pair of global assignments! That could be a really pernicious bug if you have supposedly 'local' variables sharing the name with an existing global object. It's better to be defensive and write

var x = 1 var y = 2 var z = 3

if only for editability.

My point is that the strong feeling on 'Semicolons' vs 'No Semicolons' is largely a product of focusing bias (http://en.wikipedia.org/wiki/Anchoring); to the extent that it is a problem either way it is a minor one, evidenced by the fact that similar stylistic dangers (see above) are either unfairly ignored or rightly not fretted over.

tl;dr I don't see a practically valuable reason to use them where ASI does the work for you, semicolon vs semicolon is barely a practical issue either way.

rgrannell1··on The infernal semicolon (2012)
Not using semicolons has never be a problem for me.

Just like everyone else I put them where they are needed. I don't put them where they aren't needed, because they aren't needed and adding pointless syntax noise is dumb. If I forget to put them in somewhere they are needed, as anyone might do, I add them. No problems.

rgrannell1··on Preorder your very own cold fusion reactor
Hacker News + science is often a very bad mix. Any evidence this is actually a fusion device, not a chemical energy converter or a brick?
rgrannell1··on Anonymous Pro – a fixed-width font designed for coders
I like this font; it's pretty nice for small font sizes (a little like terminus).
rgrannell1··on Poll: What is your primary programming language?
R, since I'm developing libraries for that language.

- 80% R - 20% JS

rgrannell1··on The Onion releases fartscroll.js
this needs to be combined with raptorize.js...