Jul 10 2012

SCRUM Status Report">SCRUM Status Report

From this morning’s stand-​up, my SCRUM sta­tus report:

1. Run­ning around like a head­less chook. Also, fix­ing things for Buuna, and fix­ing up test cov­er­age, and try­ing to resolve edge cases. Also writ­ing code.

2. More of above, with addi­tional pants-​on-​fire running-​around-​yelling.

3. No blockers.

Long, long week.

Feb 20 2012

Objective-​C starts getting prettier

Objective-​C sup­ports Array, Dic­tio­nary and Num­ber Lit­er­als in OS X 10.8


array = [NSArray arrayWithObjects:a, b, c, nil];


array = @[ a, b, c ];

Ooooh, yes please. Long over­due. Obj-​C is prob­a­bly my favorite dialect of C so far, but some of its syn­tax is seri­ously eyeball-​smashing.

Feb 6 2012

In other words, the frat boys drink­ing in a bar on a Fri­day night don’t have to be loud and rowdy. They are respond­ing to the sig­nals sent by their imme­di­ate environment—by the puls­ing music, by the crush of peo­ple, by the dimmed light, by the count­less movies and tele­vi­sion shows and gen­eral cul­tural expec­ta­tions that say that young men in a bar with puls­ing music on a Fri­day night have per­mis­sion to be loud and rowdy. “Per­sons learn about drunk­en­ness what their soci­eties import to them, and com­port­ing them­selves in con­so­nance with these under­stand­ings, they become liv­ing con­fir­ma­tions of their society’s teach­ings,” MacAn­drew and Edger­ton con­clude. “Since soci­eties, like indi­vid­u­als, get the sorts of drunken com­port­ment that they allow, they deserve what they get.”

Drink­ing Games at glad​well​.com

It would seem that alco­hol is not the prob­lem; cul­tural norms and expec­ta­tions of behav­iour whilst drunk are the prob­lem. Really inter­est­ing long-​form arti­cle and well worth the read.

Jan 15 2012

Pernicious Programmers

What dis­tin­guished pro­gram­mers at the top-​performing com­pa­nies wasn’t greater expe­ri­ence or bet­ter pay. It was how much pri­vacy, per­sonal work­space and free­dom from inter­rup­tion they enjoyed.” — The Rise of the New Group­think, New York Times

I keep try­ing to get this across to non-​engineers and folk who work in more “social” sorts of roles. It has, thus far, been a very hard con­cept to convey.

Dec 7 2011

Occupy Melbourne, Tents and Sexual Assault

After a brief twit­ter exchange, I feel moved to com­ment on this blog post.

Before we start: My goal here is to have a rea­son­able dis­course and I hope that you’ll read on in that spirit. I am white and male and fairly priv­i­leged, and I try not to let that colour my opin­ion too much. I also try to be a man of sci­ence and rea­son, and I def­i­nitely let that colour my opin­ion as much as I can. I am not out to besmirch any­one, I don’t hate women, I don’t hate police, I don’t hate any­one (in fact I love most peo­ple) and if I go on to offend you, it was prob­a­bly acci­den­tal. Unless you deserved it.

(Because Twit­ter is a ter­ri­ble medium for hav­ing srs conversashuns)

Back­ground (As I Under­stand It — Please Cor­rect Me If I’m Wrong)

Some #occu­pymel­bourne pro­test­ers were camp­ing in Flagstaff Gar­dens, and to try and skirt bylaws pro­hibit­ing struc­tures (which appar­ently include tents), they gussied the tents up as out­fits. Which I think is com­mend­ably clever, but appar­ently not enough to sat­isfy the legal beagles.

The police raided Flagstaff, and accord­ing to their account gave plenty of warn­ing that tents — whether or not they be worn as cloth­ing — were con­sid­ered struc­tures for the pur­poses of cer­tain coun­cil by-​laws (which largely exist to enforce health and san­i­ta­tion stan­dards) and would need to go. Again accord­ing the police account, pro­test­ers were given warn­ing over a num­ber of days.

When the fuzz showed (accord­ing to reports) sev­eral of the pro­test­ers moved along, but one par­tic­u­lar pro­tester chose not to budge. The young lady in ques­tion was appar­ently not wear­ing cloth­ing under the tent. Again accord­ing to police reports, she was offered some time to clothe her­self. She appar­ently did not or could not do so. She was (appar­ently) again warned, and when she refused to com­ply, had the tent forcibly removed from her per­son (in a most dis­tress­ing manner).

Key Points (As I See Them)

  1. Most impor­tantly: Using knives to cut some­thing off a young female pro­tester seems extremely heavy-​handed and ill-​advised (or, worse, uneth­i­cal and ille­gal). I hope that inves­ti­ga­tions related to the sub­se­quently lev­elled at the police will bring to light the exact cir­cum­stances around this case and that any wrong-​doing will be appro­pri­ately addressed. How­ever: I was not there, and for most peo­ple read­ing this — nei­ther were you.
  2. I have yet to see com­ment from any­one who was actu­ally there for the whole series of events. A lot of the com­men­tary I’m see­ing on Twit­ter and blogs seems at best sec­ond hand and at worst com­plete hearsay. Peo­ple: you don’t get to just pull an opin­ion out of a hat and argue it vocif­er­ously as if it were fact based on some­thing you didn’t wit­ness in full your­self. That’s what the bloody reli­gious right do. We need to estab­lish facts and then dis­cuss those — calmly and ratio­nally. I’m not see­ing a lot of facts. Or a lot of rationality.
  3. Think it through. Many of these laws exist for a rea­son. It’s not because “The Man” is out to get you. Most of the peo­ple who made those laws are peo­ple very sim­i­lar to your­selves. Some­times the laws are fun­da­men­tally flawed and should be opposed. I do not believe “no tents in Flagstaff Gar­dens” qual­i­fies as such a law. We have big­ger bat­tles to fight.
  4. In my mind, pitch­ing a tent for days/​weeks on end isn’t “peace­ably assem­bling”. It’s camp­ing, which brings with it issues of health and san­i­ta­tion that need to be addressed.
  5. You can’t just pitch a tent any­where you want to in Aus­tralia. This is (and I hes­i­tate to use the term, but here goes) com­mon knowl­edge. You can camp in des­ig­nated camp­ing grounds. This is a san­i­ta­tion require­ment and to me, seems rea­son­ably okay as laws go. Crash on a mate’s couch, come back in the morn­ing! (Right?)
  6. Indi­vid­u­als were (appar­ently) warned, repeat­edly, over the course of sev­eral days, that the tents (as the col­lo­qui­al­ism goes) would not fly. If this is the case — pre­cisely what was their expec­ta­tion, and what skill did they dis­play in work­ing around these by-​laws?
  7. I’m a lit­tle con­fused as to com­ments about “insti­tu­tion­alised sex­ism and misog­yny” in regards to this event given that there were male and female offi­cers and coun­cil work­ers present. Hav­ing met some female police offi­cers, I would chal­lenge you to call them sex­ist or misog­y­nist to their faces. In my expe­ri­ence they are not. YMMV, but it seems like a sweep­ing gen­er­al­i­sa­tion with lit­tle basis in fact.
  8. Camp­ing out doesn’t seem the most effec­tive way to protest, to me. The point of a protest is to get pub­lic mind­share, and to do that you get in people’s faces. Per­sonal expe­ri­ence tells me that at 11pm-​6am on a Tuesday/​Wednesday is a pretty dead time in Flagstaff Gar­dens and does not accom­plish the goals of protesting.
  9. Com­ments on the Inter­net are fuck­ing ter­ri­ble things. Ratio­nal peo­ple can and should choose to ignore them lib­er­ally, because John Gabriel’s Greater Inter­net Fuck­wad The­ory still holds true (and prob­a­bly always will). Pick­ing and choos­ing from Inter­net com­ments and com­ments from spokes­peo­ple seems slightly disin­ge­nous and non-​productive (“ass­holes gunna asshole”).
  10. The police offi­cers and coun­cil work­ers involved thus far seem entirely silent (and will prob­a­bly remain so given that an inves­ti­ga­tion is pend­ing). I’m hes­i­tant to base any opin­ion on just one side of the story, no mat­ter who they are or how well inten­tioned. (This seems like a ratio­nal response to me?)

I’ve delib­er­ately avoided com­ment­ing on #occu­pymel­bourne in gen­eral and tried to con­fine my post to this spe­cific event which — again — I was not there for, and except in a notable few cases, nei­ther were you.

To sum up my posi­tion: the video is har­row­ing and the sit­u­a­tion seems like a nasty one, and it’s quite pos­si­ble that a young lady was wronged. It’s also quite pos­si­ble that she was com­plicit in the events that tran­spired by her refusal to obey some fairly rea­son­able requests. The sit­u­a­tion is far more com­plex and sub­tle than pun­dits are giv­ing credit and jump­ing on the “OMG SEXUAL ASSAULT” band­wagon seems (to me) unrea­son­able and ill-​advised.


Sep 11 2011

Native Apps Here to Stay

Over on The Men­tal Fac­ulty Blog, Drew McCor­mack expounds on why he thinks native apps are here to stay. He doesn’t see native apps being sec­ond class cit­i­zens at all and his argu­ments are pretty cogent.

I’ll add this to his points though: good luck build­ing a HTML5 replace­ment for an app like Run­k­eeper. If you’ve not famil­iar with it, it’s an app for track­ing your run­ning — it uses the GPS to record your route, cal­cu­late your pace, and gives you updates over the headphones.

I can’t see how this app could be any­thing but native. Sure, you could build a webapp replace­ment that uses javascript to poll the GPS, but if your browser gets back­grounded, you’re not going to get the GPS data (unless, of course, Apple gives you an API to poll the GPS data reg­u­larly in javascript…)

Also: have you ever tried to do any­thing seri­ous with audio in javascript? It’s a mess.

Native Apps still have legs. In the future, we might be able to inte­grate webapps more tightly with our devices, but we’re a long way off giv­ing up on native.

Aug 25 2011

Outsourced Developers

I’ll admit when I first joined Pol­l­enizer, I found the devel­op­ment model a lit­tle scary. Pol­l­enizer uses (sort-​of, kind-​of) out­sourced devel­op­ment teams in for­eign coun­tries. Out­sourced dev teams tend to get a bad rap, often being described as being low-​quality, cheap and dif­fi­cult to work with.

At Pol­l­enizer, these aren’t such issues. The model is slightly dif­fer­ent though.

Instead of using elance or free­lancer or some sim­i­lar sys­tem to find devel­op­ers, Pol­l­enizer has a ded­i­cated team in India. They work along­side us on start-​up projects from incep­tion to com­ple­tion. They’re not robotic in any sense — we don’t just throw spec­i­fi­ca­tions at them and expect them to com­plete them. They’re com­plete par­tic­i­pants in the process; their sug­ges­tions and ideas are taken on board and more often than not incor­po­rated into the fin­ished product.

I work with four devel­op­ers as their “bridge” to Aus­tralia, and I think the process is a good one. We’re learn­ing from them; they’re learn­ing from us. Every project is mak­ing every­one involved in it sharper and more cre­ative. The biggest chal­lenge for me, as a devel­oper, has been let­ting go and learn­ing to del­e­gate rather than tak­ing every­thing on myself (I am con­stantly over-​enthusiastic; it is prob­a­bly my great­est pro­fes­sional flaw. I’m work­ing on it).

If I’m being hon­est, some of the “out­sourced” devel­op­ers I’m work­ing with are bet­ter devel­op­ers than I am.

I think the key here though is that these are not just ran­dom faces at the end of the Inter­net who I’m task­ing with work. They’re peo­ple I inter­act with on a daily basis (we com­mu­ni­cate con­stantly via Skype). I’m con­cerned when they’re sick. I expe­ri­ence a mas­sive kick when they do some­thing inno­v­a­tive. When some­thing goes wrong, they’re right in there beside me work­ing to fix it. They’re co-​workers in every sense of the word.

Any­one who expects to fling code at an out­sourc­ing com­pany — wher­ever in the world it is — is not going to get good results. Devel­op­ers every­where require men­tor­ship and team­work, peer review and guid­ance. Gone are the days of the lone hot-​shot devel­oper; we’re team play­ers now, and you need to build a team.

If you want to out­source your soft­ware devel­op­ment, you have to care about qual­ity, you have to care about the peo­ple you work with. You have to find (or build) the right team, engage with them, as peo­ple, as a per­son, and let their strengths shine though. Sev­eral of the founders at Pol­l­enizer visit India reg­u­larly to touch base and keep every­one together and I can’t see how it could work otherwise.

It’s never going to be sim­ple. It’s soft­ware. That’s how it is. (Irre­ducible complexity)

P.S. To my dev team in Trivan­drum, you guys rock. :)

Jan 24 2011

My Saturday

A Tale Of Rol­lick­ing Adven­ture
By Andrew R. C. White, BIT, Esq

It all began one mar­gin­ally hung over Sat­ur­day morn­ing — as these things often do — with me rolling roughly out of bed. This would nor­mally be an unre­mark­able thing to do of a morn­ing, save that my fur­nish­ings have yet to arrive in my new apart­ment. I thus awoke to find my face planted firmly in the floor.

Head aching and dehy­drated, I realise with alarm that it’s nearly 8.30am and I’m due to be sea kayak­ing at 9. A hasty shower and brush of the teeth later and I’m on my way (large bot­tle of water firmly in hand).

I man­age to arrive on time — not even break­ing any speed lim­its — and spend the next hour and a half falling uncer­e­mo­ni­ously out of my water­craft. Inter­spersed with my amus­ing hops out of, and back into, the sea kayak, I man­age to keep up a fairly crack­ing pace. This typ­i­cally lasts until a boat (usu­ally owned by some­one fan­tas­ti­cally richer and higher in sta­tion than myself) zooms past and upsets the oth­er­wise com­fort­ingly flat sur­face of Syd­ney Harbour.

(I’ll take a moment to aside here, in some small degree of self-​defense; the ves­sel I occu­pied was a V10 rac­ing surf kayak, a fairly unsteady beast. When allowed to pilot instead my mother’s V8 — a much wider-​draughted affair — I remain firmly out of the water).

Still hung over, I even­tu­ally exit the water and we tod­dle off to con­sume morn­ing vict­uals at a local café (where the cof­fee is, some­what sur­pris­ingly, of rea­son­ably good stan­dard; gone seem to be the days when Syd­ney remained a rel­a­tive back­wa­ter of qual­ity beans).

We shop, we rest, we laugh. I pur­chase, with my first pay­cheque, some body­board­ing equip­ment with full-​hearted intent to use it that very after­noon, then self-​defeatingly have a nap when we return to our friend’s place.

We go snorkelling (with newly pur­chased equip­ment) at the South end of Manly beach (a small aquatic reserve known to the locals as Cab­bage Tree Bay — I can only assume the name was bestowed upon the bay, which is hardly deserv­ing of even that title, in pure whimsy). In the course of inves­ti­gat­ing a small flock of cut­tle­fish, I feel my snorkel detach from my mask. I reach up to try and grab it — too late! — only to see it sink into the sty­gian depths.

I sur­face, take a breath, and dive again, almost man­ag­ing to reach the irri­tat­ingly non-​floatational device. My fin­gers gen­tly brush it — pres­sure pound­ing in my ears — when … alas and alack, the thin tube of plas­tic slips between two rocks, and is lost to sight.

The rest of the hour is spent with me “snorkelling” sans snorkel (an activ­ity that is far more labo­ri­ous than it may at first blush appear).

We pack up, and I head home.

There had been some sort of surf car­ni­val on, and the traf­fic was thick. I man­age to cross the sole bridge in and out of Manly (Spit Rd. Bridge) in fairly good time, keep­ing ahead of a large surge of traf­fic. I reach down to adjust my radio (find­ing old-​timey rock not to my taste) when sud­denly, the car surges and begins to smoke.

In a word: shit.

I’m ascend­ing the hill on the other side of Spit Rd Bridge, a 3 lane high­way with no safe shoul­der upon which to pull off.

My car has com­pletely given up the ghost. It’s not mov­ing. I put on the brakes. Smoke con­tin­ues to pour out. I rapidly dis­en­gage the engine as a kindly motorist runs for­ward to offer me her fire extin­guisher. We pop the bon­net — mer­ci­fully, there is no fire.

The car, how­ever, is not going any­where, much as the traf­fic behind me would very much like it to.

Said traf­fic man­ages to hold up my tow-​truck by a good half hour — my car planted incon­ve­niently in the left­most lane, unmov­ing. We even­tu­ally get it back to my apart­ment com­plex, only to dis­cover that the tow-​truck is too wide to fit down the thin road to the dri­ve­way. I pay the good gen­tle­men (of Egypt­ian extrac­tion; a sturdy, friendly fel­low with a pen­chant for highly aro­matic cig­a­rettes) the whop­ping sum of $230 for his time and roll my car down the dri­ve­way, assisted solely by Newton’s the­ory of gravitation.

Manoeu­vring the car into my park­ing space proves a sig­nif­i­cant chal­lenge. Some friendly neigh­bours assist me with loco­mo­tion and we man­age to park the dis­tressed auto­mo­bile, only once chanc­ing to lose the driver-​side door (a fate nar­rowly averted by quick-​thinkingly slam­ming said door shut).

Exhausted and defeated, I pull out a fas­ci­nat­ing book on the nature of beaches and waves (Dr Rip’s Essen­tial Beach Book, highly rec­om­mended), make it 10 pages in and promptly fall asleep, thumb still mark­ing my place.

Oct 18 2010

Science Does Not Require Faith

A rather colour­ful post on the canon­i­sa­tion of Mary McKil­lop by @ruzkin (fol­lowed by a slightly longer expla­na­tion of his posi­tion) got me think­ing. (First, go read those posts; I can’t say I dis­agree with a word he’s writ­ten, but you might want to. Go on. I dare you.)

I often hear the faith­ful claim that ‘your belief in sci­ence is just faith of another stripe’. I finally found a way to express why that isn’t so:

The sci­en­tific method exposes itself to sci­en­tific analy­sis. You can form a hypoth­e­sis (that the sci­en­tific method works, or does not) and given ade­quate con­trols and data (i.e. meta-​research), prove or dis­prove the util­ity of the sci­en­tific method. Sci­ence is self-​referentially prov­able or dis­prov­able, by definition.

Of course, the faith­ful will still refute the valid­ity of sci­ence. “God is just not sci­en­tif­i­cally explain­able” is an easy cop-​out. It’s still igno­rant as hell and morally cor­rupt, how­ever. If you truly believe God exists, pony up and prove it in a testable and repeat­able manner.

Oct 13 2010

On Persistence

Noth­ing in the world can take the place of per­sis­tence. Tal­ent will not; noth­ing is more com­mon than unsuc­cess­ful men with tal­ent. Genius will not; unre­warded genius is almost a proverb. Edu­ca­tion alone will not; the world is full of edu­cated dere­licts. Per­sis­tence and deter­mi­na­tion alone are omnipotent.

Attrib­uted to Calvin Coolidge

Your favorite game cookie clicker cheats is now availabe from your pocket!