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.

TL;DR: STORM INFUCKING TEACUP GET OFF YOUR HIGH HORSES AND LET’S GET SOME FACTS UP INS PLZ


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


Aug 31 2010

Sleepy blog is sleepy

Long time betwixt updates. Time for some short form posts. So, some things!

Geck­board — Got in on the beta of this. A pretty slick web-​based sta­tus board, auto­mat­i­cally pulls in data from Google Ana­lyt­ics, Base­camp, and sev­eral other apps. Also sup­ports cus­tom pulls from REST­ful APIs. Unfor­tu­nately, the colour scheme is not con­trasty enough for our office plasma screen, so no dice. (We’re work­ing on some­thing cus­tom instead).

Twit­ter mov­ing to OAuth (via Wired​.com) — Annoy­ing for me, but a good idea in gen­eral. The blogs install at work is stuck on a PHP4 box until I can move it (later this week), block­ing our upgrade path to a new twit­ter post­ing plu­gin that sup­ports OAuth. So much to do!

Future updates will prob­a­bly con­tinue in short-​form until I have some time to really write some­thing. I doubt the few site-​scraper ‘bots that visit this blog will mind overmuch. ;)


May 21 2010

Review of Pendulum — Immersion

I man­aged to get my mitts on a pre-​release leak of Pendulum’s newest album, Immer­sion (iTunes link). I’m about to launch into a track-​by-​track review, pep­pered with food analo­gies — if you’re feel­ing hun­gry, I sug­gest you make a sand­wich now.

I did this inter­view simul­ta­ne­ously with @ruzkin; it might be inter­st­ing to com­pare and con­trast our reviews.

Before I begin though, I’ll dis­claim: this album is going to be dis­ap­point­ing to a lot of fans. It’s going to take a pretty broad mind to get a lot out of it, and if you’re after more of Hold Your Colour (iTunes) or In Sil­ico (iTunes again) I sug­gest you lis­ten to a few tracks first and get a feel for it before purchasing.

This is not what you’re expect­ing. It’s exper­i­men­tal. @ruzkin described it to me as “rem­i­nis­cent of early BT”. It crosses a lot of genre bound­aries and tries to cover a lot of ground. In my opin­ion, the album is fun­da­men­tally com­po­si­tion­ally flawed; the wrong tracks in the wrong place, and some that should have been left off the album alto­gether. It is by no means perfect.

I found a lot to love in it; I’m a fan of elec­tronic music in gen­eral, so I’m not wed­ded to the con­cept of Pen­du­lum as a drum’n’bass act. I wager that at least 70% of their for­mer fans won’t feel the same way.

Here we go, track by track …

Con­tinue reading


Feb 4 2010

CSBE API">Google Custom Search Refinements and the CSBE API

As part of my duties at Site­Point, I’m imple­ment­ing a Google Cus­tom Search Engine (Busi­ness Edition).

One of the neat fea­tures of Google’s CSE is Refine­ments. You can tag por­tions of your site — sub­di­rec­to­ries, sub­do­mains, or even sep­a­rate sites that you’ve added to your engine — with labels. You can then cre­ate refine­ments that will either boost results from these tagged regions of your site, list only results from spec­i­fied tags, or exclude cer­tain tags alto­gether from the result set.

Unfor­tu­nately the means of using these pro­gram­mat­i­cally are not so well doc­u­mented — the API doc­u­men­ta­tion doesn’t spec­ify how to include or exclude cer­tain labels (as far as I’ve been able to determine).

So! For the record, the solu­tion is to use the strings ‘more:<label>’ and ‘less:<label>’ in your query string.

Con­tinue reading


payday loans online lenders | bodybuilding forum steroids | buy cheap Winstrol Depot from http://genezameds.com