The Slightly Disgruntled Scientist

...now 7% more viral!


If Programming Languages Were Harry Potter Characters

| Comments

C

Let’s start off easy shall we?

Everyone’s been saying that C has been dead for… well, more than a decade. Some laugh at it. Others mutter darkly about living in fear of the infamous forbidden curses undefined behaviour. Sure, there remain loyal followers, and scattered cults here and there. But almost everyone who still sees the Sun will happily claim that it’s a dead language, gone forever, and there’s no reason to use it any more.

But.

Scattered around the world there are… things. Little, unregarded things… that keep C from dying out altogether. Embedded devices, household appliances, single purpose systems and various other unseen, disregarded objects carry C’s compiled code within them. And while they exist, and require maintenance and upgrades, C cannot be killed.

C is… Voldemort, the dark lord of languages.

Fortran

Older even than C, Fortran has lived long enough to see the rise and fall of some of the greatest careers in science and computing. A great many extraordinary feats owe their success to Fortran.

But Fortran is… uh… getting on in years, I suppose is the polite way to put it. I mean, there are plenty who will tell you it’s still capable of some amazing stuff… but then, what language isn’t?

Like C, there are bits of Fortran scattered here and there around the world. But unlike C, these are more memorials than horcruxes. Shining testaments to great acts of insightful mathematics and elegant algorithms remain standing, so that those who wish to build upon great works may one day do so with new and shinier code.

Fortran is Albus Dumbledore (who, incidentally, also frowned upon aliasing pointers when operating on arrays — there’s a little known HP fact for you).

Java

This is a language that found its way into the halls of ingenuity by appealing to all the right people at the top. The whole language, its uptake and its culture seems to be based on managerial interference and fear.

It seems decent enough though. Certainly better than… well, You Know What… that’s for sure! No more buffer overflows, no more uninitialised memory, no casting void pointers… and look at the things it’s accomplished!

But after only a few short months, you look up to realise that blatant, horrific evil has been replaced by a kind of dreary, soul sapping awfulness. Actual achievements have been replaced by studying for useless certifications. Design patterns and frameworks are codified as law and hammered into the whiteboards. Gaslighting abounds. Morale plummets.

There’s nothing in here about using defensive bounds checking.
Using bounds checks? Ha ha! Well I can’t imagine why you would need to use pointers in my classroom.
We’re not gonna use pointers?
You will be learning about coding in a secure, risk-free way.
Well, what use is that? If we’re going to deploy code, it won’t be risk-free!
Programmers will raise their hands when they speak in my class.

Java is Dolores Umbridge, and you know, deep down… you deserve this implementation of generics.

This Is Why You Shouldn’t Interrupt a Programmer

| Comments

Programmer, Interrupted

Since @kevin_rudds_cat suggested it, I also made a two-column A4 sized PDF version.

Update: So after being retweeted several hundred times and being posted to Reddit, HN, the DailyWTF and so on, my poor website melted down a little. So I apologise to anyone whose carefully crafted comment was eaten by a 503 error page. If you want to share the image some more and this site’s still being flaky, feel free to link directly to this tweet or any other mirrored copy of it (same goes for the two-column PDF).

Lazy, Arrogant and Full of Stick Figures

| Comments

Every week, somewhere in the world, a writer wakes up and notices a different pattern of economic behaviour amongst people born around the mid-1980s. These writers are faced with several options.

They could roll up their sleeves and analyse the vastly different economic, social and technological factors that influence decision making at the personal and political level.

They could do some number crunching on the prolific amount of data on employment levels, job security, housing affordability, and personal debt.

They could investigate the effects of the last 30 years of reforms to tax and financial law, and whether they encourage wise investment or protect a generation of people deeply in debt.

Oh but that’s kinda hard, says such a writer. Too hard for me. So instead, they write a fluff piece devoid of verifiable facts; an article full, instead, of insipid generalisations, non-sequiturs, pseudo-scientific surveys posited as “studies” and half-arsed reverse rationalisations.

They write a what’s wrong with Gen Y article.

* Draw bullshit stick figures

Week after week, a parade of hacks publish the same article over and over again. Articles explaining how the generation of people born between then 1980s and mid 90s are entitled, over-educated, and have ludicrous expectations. These articles are insulting to me. But they’re not insulting because I’m a member of this demographic; they’re insulting because they’re so lazy and idiotic.

A Slightly Less Disgruntled Science Vote

| Comments

The Australian 2013 federal election is almost upon us, and once again science policy won’t really factor into my vote. I’d like it to, I really would, but most of what there is of it is just as weak, vague or impossible to parody as it has been in every other election. But that doesn’t mean nothing has changed.

The two parties competing to form government certainly differ in their policies and credibility on science. But it’s still only a contest between the Coalition’s active — and oddly specific — malice, and Labor’s sulking apathy.

It’s okay Labor. I’d be sulking too if I knew I’d have to spend the weekend moving all my stuff.

The Liberal/National Coalition

There’s not a lot to say about the Coalition’s policy. Haha, just kidding, yes there is! It’s awful! Their responses to Science and Technology Australia’s survey was something you’d fail a year seven student for, and went so far as to feature the phrase further details […] will be announced closer to the election. This is Politics Speak for no-one interested in this is going to vote for us anyway, egghead. Oh, but they did release policy details closer to the election. They include such gems as enforcing political control of Australian research. When Brendan Nelson pulled this crap back in 2005, it was pretty obvious it was about allowing the government to directly influence cultural and social criticism — not just through the handful of grants rejected, but more importantly through the wider effect of discouragement and self-censorship. Given that the party is led by someone who courts the creationist vote and thinks that carbon dioxide doesn’t weigh anything, it’s not really wild speculation to say there’s a fair chance that the physical sciences will be targeted this time around.

So, the score for the Liberal/National Coalition is policy: F, track record: NO STARS EVER.

Labor

Labor have thrown down the gauntlet with a science policy that I find insipid, inoffensive and barely adequate. I think that’s what they were aiming for though, and it’s worked for them in the past I guess. It includes industry partnership initiatives and public funds for medical research, and those are the kind of policy breakthroughs that should, hopefully, see us still retain one or two scientists by 2016 (if they can’t get working holiday visas somewhere in Europe). I don’t know how much I trust them on this though. They have the unfortunate tendency to suddenly try to cut funding to research when they’re spooked by the word deficitOH CRAP I SAID IT NO NO

Score for Labor is policy: 6/10, track record: 40%.

Misc and Other

Having dealt with the Big Two, I turn now to the party who are unarguably the next greatest force in Australian politics; the party whose popularity and engagement are inexorably bringing it them up to the same level of political clout as Labor and the Coalition. As much as I’ve derided them in the past, it would be remiss of me to ignore the Coke in the Bubblers party, who have clearly invested a lot of eff—

Fine, Fine, the Greens

The Greens have read and built upon the policy work of others to come up with a good, sound science policy that addresses many of the concerns raised by scientific researchers, support staff, administrators and educators. Their answers to the STA’s survey were comprehensive and detailed. They have tailored policy elements to Australia’s needs, they have candidates like Adam Bandt and Richard Di Natale who have personally made science a focus of their campaign, and they are making a concerted effort to put the future of Australia’s research back on the political radar.

This is an extraordinary effort from a party that I, and many other scientists, had previously written off.

On the other hand I still find it very, very hard to dismiss their anti-scientific dogwhistling and derailing. I find their their tacit approval of Greenpeace physically destroying research to be a frightening thing, and in the same ideological realm as the Liberals trying to shut down research they find politically unpalatable. They still have a policy about supplying Australia’s entire radiopharmaceutical and industrial isotope needs with a particle accelerator — as long as we don’t need more than a few atoms a day, sure. And if I criticise Coalition leader Tony Abbott for his unscientific claims and voting records, should I let Christine Milne off the hook for voting against stem cell research too?

I recently tried to see whether they were coming around on these issues and asked Richard Di Natale about some of this. He stated that he and most of his colleagues support stem cell research. Great! But on ANSTO and OPAL, he gave me the usual shrug off of not knowing enough to comment. On GMO crops, he gave the usual legal issues derail and dodge (gee, if only we had some group of people responsible for taking the initiative in reforming legislative frameworks and oh wait).

But… Am I making perfect the enemy of good? Politicians must feel like taking on science policy is futile, as minor imperfections in the policy itself or the broader party platform will alienate many scientists very, very quickly. I don’t want to contribute to that culture, I want to combat it.

Of course, the Greens will not need to form government and they know it. Any minor party has the (qualified) luxury of promising the moon but delivering the actual moon which is actually really big and you didn’t actually think about that when you voted and now your house is crushed you idiot. However… this is shifting the goalposts, and it’s a bit unfair. Labor and the Coalition promise the moon all the time too, and deliver nothing, and then blame the moon when houses get crushed anyway, and then spend all your money on a prison for the moon.

Like any minor party, or even a major party in opposition, the Greens’ policies really only mean that you know roughly what they’ll negotiate for, and why, when they are presented with a bill in the Senate. That’s pretty much it. The important thing about the Greens’ science policy is that it demonstrates (to me, anyway) that they have gone to the trouble of consulting the scientific community in Australia, they’ve asked what the issues are, and they’ve asked what can be done to help.

This is, for me, a very positive move in Australian politics. It’s encouraging. I’ll even go so far as to say that the Greens make me substantially (but not completely) less disgruntled about science policy in Australia.

Score for the Greens is policy: silver, track record: five of clubs.

Leaving the Democrats

| Comments

A couple of months ago (December 2012), I resigned from the Australian Democrats.

People who met me and found out I was actively involved in the party, would always — and I mean always — open with the same question: why the Democrats? And the answer is not so much to do with the party as it is to do with me.

I don’t like being a whinger when it comes to politics. Okay, correction: I don’t like being just a whinger. I want to be doing something to fix the things I rant about. I don’t think that anyone, any voter, is simply entitled to have their political representation magically appear out of the ether, with all of the policies and platforms that they want to see enacted. If you want those policies to be enacted, or those politicians to exist, you have to work for it. You have to support them, and compromise for them, and carry heavy shit around for them. Not everyone has the privilege of being able to do that, but I certainly do, and I wouldn’t feel good about wasting the opportunities I have.

I thought the Democrats would be the ideal way for me to participate in Australian politics because I broadly agreed with their policies and principles, and I saw how I could contribute to the party. But I was wrong.

If you’re expecting to read some sordid, tell-all, self-serving tale of what happened over the last few months, you won’t find it here. There are still some viable, promising candidates in the party, and I don’t want to undermine either of them.

I will, however, continue to extend the offer I made to members before I resigned: you may ask me in good faith about anything I’ve said or done, or about anything said about me; I will answer, and I will provide evidence for everything I say. (Here’s a rough guide to what I mean by good faith: framing a question around a clearly absurd or defamatory claim that you’ve taken at face value does not qualify.)

The best thing about my time in the party was working with some of the most amazing, enthusiastic, productive and effective activists I have ever met. These people would come up with idea after idea, they would follow through on the best ones, and they would move on to the next plan before the echoes died away. I sincerely hope that I will get to work with those people again.