Time-frames and Velocity

Next Monday I have a meeting with my team lead at 2:30pm. It’ll be the 3-month review mark in my new job, which still feels insane to me.

I blame the velocity of the release cycle at Campaign Monitor. I came from an organisation where releases are carefully planned and executed around a 6-month release cycle to coördinate deployments with numerous external parties each with their own IT department. I came from an organisation that rightfully was cautious about the idea of Agile and where it might apply. And I’ve jumped straight into the middle of an Agile maelström.

We have a release window every fortnight (or more… sometimes weekly). Sometimes that’s just an internal deployment. Sometimes that’s a production deployment with functionality still turned off by default. But it is a deployment. An opportunity for code to be exercised, reviewed in the wild, and feedback to come back. It leads to a much more experimental approach, and a preparedness to be wrong because at worst it will get fixed in another fortnight.

Which makes this morning all the more dazzling in its sudden slow-ness.

There is an issue in some of the development environments. And I’m sure it’ll be fixed by lunch, but in the face of the otherwise blistering speed, half a day without access suddenly feels like the Biggest Tragedy in the History of the Universe.

So in my helplessness I am studying on Pluralsight.

I should post about Pluralsight, because it is more awesome than I ever suspected. In the past month I have completed 30 courses on a variety of topics. It’s the quickest way to get into a new unfamiliar technology for me, and I feel so much smarter already. Just wait until I finish the full catalogue… only 3970 more to go!

Back to Angular.js for me now.

And then lunch with some ex-colleagues. Yes, I am abandoning the chefs. “Chicken and sweetcorn soup” the internal menu proclaims. I’ll be back in time for cookies though.

Checking confluence with pythons

Heaven and hell.

Being a new starter at my new job, eager to absorb as much information as I can in as short a time span as possible, my attention immediately gravitated towards the Confluence Wiki with its plethora of pages (1800+) as a starting point.

There is a lot of information there, but the organisation of it could be better, so in line with the take-the-ball-and-run-with-it culture, I did.

First concern: how to improve things without making them worse?
Broken links suck.
Broken links I created, suck even more.

Sadly, and inexplicably, Confluence to this day does not include any tools to check for broken links, beyond the basics of “Orphaned pages” and “Links to new pages that haven’t been created yet”.

A quick search on the internet found a tool by an Atlassian employee that seemed promising: BustedStuffReport. Point it at a Wiki and it will scan all the pages and do some regex-magic to heuristically determine if all is in order.

Sadly: it only works on public Wikis, it does not follow any links to check them, it seems to target a somewhat older version of Confluence, it uses Python 2.

Having most of a solution already there, I decided I could hackimprove it to make it useful enough. Just let me get the Python language reference out and see what happens!?

After a week of playing around after work and in between tasks, I have a mostly rewritten script that is converging on the target I want to hit. I’ll post on Sciurus with the full details once I get there.

In the mean time, the experience has taught me the following:

  • The XML-RPC API to Confluence is very rich and regular, and reaches into almost all the corners I need (Yay!)
  • This XML-RPC API was deprecated in favour of REST,… while the REST API has not yet reached functional parity (D’oh!)
  • Confluence very helpfully does *some* classification of links through CSS classes… no idea why this isn’t visually represented by default (Huh?)
  • Python makes it incredibly easy to access the XML-RPC (Yay!)
  • Python still makes my skin crawl with its lack of type-safety, and no, I don’t want to write unit tests for a small tool like this (Boo!)
  • List comprehensions are awesome (just like LINQ is (double-Yay!))
  • Why do I need to end my conditional statement lines with a colon? I guess I can live with this, but for a language that strives for visual sparsity it seems like an odd requirement (*shrug*)

I think I can see why people love Python for scripts. But I’m still not convinced the productivity gained by the flexible typing system isn’t overshadowed by the extra test-cases you’d need to code in a non-trivial application. So, that leaves trivial for now, for me.


Great corporate culture is easy to spot; just count the happy employees. I’m sure there are studies into the benefits of a positive culture, but I doubt you need studies to be convinced anyway.

Creating a great culture can be incredibly hard though. And regaining it after losing it is just as hard itself. It is like exercise; the amount of effort it takes to regain condition after sitting on your ass for a month disproportionately overshadows the effort it would have taken to maintain the routine for that same period. It’s rolling that boulder back up-hill.

So, I guess the first rule of Culture Club is: maintain culture for all it’s worth.

What makes culture hard is that you cannot afford words and actions to become misaligned. Intent alone is not enough, because perception beats intent every day; if employees don’t believe it, you’ve lost already.

Which means that the second rule of Culture Club is: make sure you pick a culture you are prepared to stand behind with every action, pick the culture you mean, be specific… platitudes do more harm than good. Everyone wants to be the “company full of smart empowered and pro-active individuals”, but just don’t say it unless you’re prepared to live by it.

I mean, look at McDonalds… there are manuals and procedures for everything. No need for anyone to be empowered or pro-active. But at least everyone is on the same page regarding what McDonalds culture is like. Which means that nobody ends up complaining about it. It Does What It Says On The Label.

And there are many stops along the spectrum from completely running on process* to completely running on people*, so pick the spot that is right for your organisation and live and breathe it.

And that would be the third rule of Culture Club: once you have a culture that is realistic for your organisation, everyone has to work at keeping it there. You have to look for things slipping and nudge them back where your culture says it belongs.

I suspect that may well be one of the biggest purposes that the playful decor at a place like Google has in maintaining their culture. It’s not a direct part of the culture, but it serves as an overt reminder not to take things too seriously. Breaking traditional corporatey-officey rules in the way you decorate immediately makes clear not to make assumptions about how things work around the place.

And I couldn’t be happier at Campaign Monitor; it comes with a great built-in culture close to the People-based end of the spectrum. And I’ll actively be doing my bit to help keep it there along with everyone else.

Just a little ongoing maintenance is all it takes.

* It is almost impossible to maintain a culture that is purely process-based or purely people-based. The more process-based a culture, the better it is to have a publicly acknowledged “why” for each rule and process; it helps the “people”-people. The more people-based a culture, the better it is to make clear that not being sure of how to handle something is okay, and a process to follow to find the right person to help; because you’re going to have “process”-people as well.

Tony for a Little While Longer

Full disclosure first; my personal leaning according to The Political Compass economically lands slightly Left of centre, and socially very Libertarian. This is by way of explaining that although I have explicitly and specifically never been a fan of Tony Abbott, most Australian politicians are far too authoritarian for my tastes.

Despite all this, I’m neither pleased nor displeased with the outcome of the spill motion this morning. It seems clear to me that it’s far past the point-of-no-return for Tony’s eventual implosion. Everything between now and then is just political manoeuvring at one scale or another.

Tony appears to have serious impulse-control problems, and that continues to be his greatest liability. No matter how chastised he feels, and how much he intends to do better so as not to lose the leadership, he’ll remain just one low-blood-sugar moment away from falling over his own tongue.

By contrast, Malcolm Turnbull is doing a great impression of a Zen master. Almost every move carefully weighed and considered; no more action or admission than strictly necessary. He is doing a great job of making his intent clear without explicitly cornering himself by overt admissions.

I know to many Australians, they are both Liberals and therefore equally bad, but there is a fundamental qualitative difference between a carefully rational politician with an ability to change his mind, and a one trick pony that has figured out which lever to pull for a pellet.

And let’s not forget that calling Labor “left” and Liberal “right” is a bit of a joke anyway. A quick look at the Political Compass for the 2013 elections (or really, the political spectrum for almost every western democracy) will show that the majority parties sit squeezed in a very tight corner to the Authoritarian Right of the compass. As much as we can tell ourselves that a lot hinges on whether Labor or Liberal wins, the reality is that the real-world outcomes are only marginally different between the two once they are in power.

Not that I have a stake in this anyway; I am merely a permanent resident, and as such I am not entitled to vote.

Which is just as well, because I wouldn’t know who to vote for anyway.

Thomas Covenant – Unbeliever

I finished.

Last week, after reading through my many Melbourne journeys for work and many weekends over coffee, I finally closed the tenth volume of the Thomas Covenant series. And to be frank; I am feeling a little relieved to be done.

This series of books revolves around Covenant; on paper the most unlikeable antihero imaginable. Filled with self-loathing, anger and numerous anti-social traits. An author, diagnosed with leprosy, wife lost, child taken, universally feared and despised.

The stuff great stories are made of, clearly.

I vaguely recalled reading some or all of the series when I was much younger, which prompted me to give them another comprehensive shot since the last book was only released in 2013.

The first three books in the series are a trilogy released from 1977 to 1979, and they are unambiguously great, albeit somewhat bleak and challenging in parts (note: trigger warning for rape if you decide to read it). But I would strongly recommend not to read beyond, because the second trilogy and the last four books are increasingly fainter copies of the original. Which is a shame, because after the first three books I really wanted the remaining seven to be of the same calibre.

The first trilogy has a very memorable list of characters; Lord Foul (the antagonist) has some wonderfully evocative and malevolent mono/dialogue, the Lords struggling to recover past knowledge without despair,  the Haruchai warrior race with a very demanding personal ethic. And Covenant throughout balancing his struggle with self-loathing, uncertainty whether his experience is even real, and transcending his own limitations for a growing investment in the people he wrongs along the way.

Even knowing about “clench racing” (look it up!) and noticing the tic more as a result didn’t diminish the strength of the storytelling.

The great thing about the second trilogy is that it cleverly uses the fact that time flows faster in his fantasy alternate reality than in our real world to have 10 years in Covenants life put him 3000 years into the future in this alternate reality. A chance to create a completely new setting for the world, a new challenge, a new iteration of the struggle with lord Foul. What diminishes it though is the fact it turns into ever more fantasy-travel-porn… gratuitously labouring from one side of the world to another to get object X to challenge foe Y in increasing order of challenge. Grinding is no more fun in books than it is in WoW.

Add to this the fact that he has a somewhat painfully whiny companion in Linden Avery along for the ride. I understand what she is for, and intellectually the exploration of her personality is interesting enough… it just doesn’t make for very entertaining or relaxing reading in any other way than as an intellectual exercise.

And this is where the last four books become ever more dreary. For starters Covenant doesn’t appear until the third book at all; it’s all Linden all the time, crumpling into herself in despair over the challenges in front of her, setting herself progressively less lofty goals until she basically dooms the world when she brings back Covenant. It feels like her role was more to drive the story to such a deep crises as to challenge Covenant sufficiently to fix it all again. Add to this a veritable constellation of bad guys all trying to do them in at the same time for differing agendas, and add more travel-porn into the mix, and it feels like the only person to whom the story must have been enjoyable was the author.

The only reason I didn’t give up before the end?

I was morbidly curious to see how the author was going to get himself out of the knots he was setting up. Yes. I meta-read, not so much the story as the author. Also… spoiler: Deus-Ex, a million times. Ugh.

In short: I heartily recommend the original trilogy… just pretend nothing else happens after it. Lord Foul is defeated. He never recovered from the damage done by Covenant. You’ll save yourself several months of increasing agony.

My Love/Hate for Bill Maher and his Show

I have a love/hate relationship with Real Time with Bill Maher.
(full episodes freely available on HBO and iTunes)

There is much to love; often he has a great combination of people on his panel from both sides of the political aisle, he doesn’t shy away from topics if they are difficult, and often the serious part (with jokes) at the end of his “New Rules” segment closing the show is incredibly well written and brings interesting or clear perspectives to hot-button topics.

For example, on over-arming the police:

Gun rights in America:

Religion and Atheism:

And terrorism/warfare:

And yet… he also annoys the hell out of me more than occasionally. When it comes to science and reason he is a big fan; as long as they unequivocally agree with his perspective. But sometimes when he talks about chemical additives, he gets a little trigger-happy when a guest is trying to make a nuanced argument. Science is sometimes nuanced; sometimes you might be right, but the evidence isn’t in yet… and until the evidence is in, it isn’t science… sorry. Sometimes the evidence might contradict you, and that is tough to swallow, but you cannot sit on a high horse on climate change the one moment, and then be a disbeliever when it turns out that not all chemistry is evil. In for a penny…

The other theme that makes me cringe is when he paints every Republican with the same broad brush. He likes to talk about how he respects serious Republicans, but for some mysterious reason the ones he gets on his show are never those. It reminds me of the West Wing episode where a moderate Republican makes a point (to Josh from memory): if you don’t work with moderates, only radicals will be electable.

I’m as left-leaning as they come… but if you cannot have a respectful disagreement with someone who holds a principled view not your own without yelling at them, I can with 99% accuracy tell you who the radical in the conversation is. Hint: it’s not the person you are yelling at.

That is not what bothered me most in the most recent episode of his show though.

He had a predominantly left-wing panel, with Carly Fiorina the only Republican. She clearly was too careful for this episode. Possibly presidential ambitions have something to do with that. And I know very little about her principled beliefs, so maybe she chose her silence wisely.

One thing I wish she had jumped on more forcefully though was the purposeless sexism at the table at one stage. When presidential candidates came up, Hillary Clinton and Elizabeth Warren were mentioned on the Democratic side, and it somehow segued into a tasteless joke about a double ticket and Bill asking Salman Rushdie “What Happens in your Fantasies?” to which he thankfully said nothing.

She somewhat timidly tried to make the point that she was the only woman around the table trying to point out the obvious, but it seemed that nobody got her hint. I have also noticed that women panelists on his show are much more prone to being talked over than their male counterparts. And political macho-culture is no excuse here, these are not weak or timid women that just allow it to happen. They just get ignored.

This is a popular show.
Predominantly about politics.
Women are in politics.
Sexism is a real problem.

And bad taste is just bad taste. It wasn’t even anywhere near a clever joke.

And then towards the end of the show when Jay Leno decided to hug him and tell Bill everyone loves him… clearly longer than Bill was comfortable with (Bad Jay! No Consent!)… he snapped back with a “Get Off me Homo”… which is not the first time he’s used a slur like that either.

I am conflicted.

I dislike the way he comports himself on a show that is otherwise an interesting exchange of frequently well-informed perspectives. I dislike that when there is so little good political debate available he makes it so hard for me to watch his show without feeling dirty afterwards. But as he says; it is his show, and he doesn’t have to listen if he doesn’t want to.

Most of the time it is no worse than other panel shows.
But when it goes wrong,…
…every once in a while…
…it makes me want to curl in on myself.

I’ll probably keep watching like an addict looking for his next hit… but I will keep a hot shower and a stiff drink on stand-by.

Loose Ends and Dedication

As the days rapidly count down to the end of my current job, I get a great deal of pleasure out of finishing the trailing end of tasks; some that are just timely, others that have floated around for far too long.

Today I did a bunch of updates to Staff Performance Review documents, as my last chance to leave some impressions about staff.

Some colleagues have expressed surprise over this.
It’s a dreary job, and they imagined it would be the first task I’d leave hanging.

When I resigned 5.65 weeks ago, apparently what some were expecting is that I’d immediately stop caring about doing my job. Maybe that’s a common experience under the circumstances, as my managers’ surprise would suggest when I failed to check out when I got back to work. But I just don’t understand why that would be so.

They are paying me.
To do a job.
Till the 19th of December.
So, till then, I do the job I get paid for(!?)

And it feels great as the list of things left to do dwindles. At this rate, Thursday and Friday may well prove a spare buffer against any not-quite-complete tasks. As I have joked with some; I have found the secret to shrinking a to-do list… resign!

Being the well-prepared little worker-bee that I am, I have already set up the now traditional “blamejerry@gmail.com” email address. When Jeff, who started with NEMMCO at about the same time I did, left earlier in the year he started a tradition: leaving the company behind with a “blame” address to send everything that goes wrong to till the next departure. I have no idea how much traffic an address like that might garner, but I’m about to find out.

Birthday and Future Plans

I have had an unusually quiet birthday weekend this year. A close gathering on the Wednesday before the weekend at my favourite restaurant with a ridiculous sense of portions was the main focus. And yesterday on the day itself most everyone was unavailable for a variety of reasons.

There’ll be a proper un-birthday party at some unspecified later time when the house is in better shape for hosting and the weather is more hospitable to such an event. I still have to properly celebrate making it through 365 days of blogging as well after all.

My Presents will universally be similarly late because I yet had to choose them.

My parents transferred money, which included a birthday gift as well as one Euro for every day I blogged. I feel like that money should go to support future creative endeavours. Which is where my first wish comes in.

A first wish… Adobe products.

I have spoken about Premiere Pro before I think when I was considering video production as a possibility for something else to do. As it turns out, Adobe have gone completely SAAS. That doesn’t literally mean “insane”, but close enough. To use Adobe products you now have to pay a monthly fee for their software-as-a-service offering tied to the cloud.

I had a look at the options, and $10 a month gets me just one of their products. I really want Lightroom for photography, and Premiere Pro for video as well as After Effects at least I think… and possibly Photoshop. This requirement pushes me straight into the top-tier of their service offerings at $50 a month. And I don’t get to own the software for that.

So, I’ve looked into Adobe CS6, which was the last version they sold outright. It might not have the very latest features, but I think that version would sufficiently future-proof me for all my imminent needs without recurring payments.

A second wish… coffee.

I have to do some research into coffee machines next, because our mocha pot is not… in good shape. And for all these creative endeavours that I am planning I am going to need coffee to keep going. Although possibly decaf? I’m not sure how that balances out.

I’m considering something with pods that are sold locally because although these are expensive, they are also the laziest option. I’m very lazy about my coffee.

A third wish… Kindle.

And this wish will have to wait longer than the others, because the Paperwhite 3 has not been released yet. Any month now apparently. Rumours range from thinner, through higher resolution up to actually waterproof.

I can imagine so many uses *coughWet’n’Wildcough* for a waterproof Kindle.

Or maybe I could spend the evening reading in the shower.
With the light off.
The possibilities are endless.

A fourth wish… more time.

Okay, traditionally the last wish is supposed to be a wish for more wishes, but mostly I want more time. I have so many ideas and so little time for their execution.

I have started some creative writing; no idea where that is going to land exactly.
I want to start designing the layout for the kitchen to have ready-made plans once the bathroom is done.
I want to get out for photography more as the weather gets better again.

I also have several work-related projects that need some attention.
Continuous Improvement is such a drain on my personal life…
It’s gotta start saving time soon, right?

I may need to plan a holiday longer than a long weekend. Two days here or there are just not giving me enough room to get ahead. I think October/November will be my next longer break.

Enough rambling.
Time to do some more.


Yesterday was officially the first day without a post in a year. I have spent the last two days figuring out what I want to do next. I want to keep blogging about creative pursuits as well as more academic ones, but putting all of that together on a single blog makes it harder for readers to relate.

There’s a new blog for the more academic posts at Cogito Ergo Sciurus!, there’s a post there hinting at the title. Which means that this blog is dedicated to the more creative parts of my life from now on.

At the same time I have rationalised the categories I use on both blogs so that if you want to follow an even narrower sub-section of my posts there should now be a feed to suit your needs.

Day 354 – #(Yes/Not) All (Women/Men)

12 – The Top 100 Things That Attract Women To Men

The link above is intentionally broken.
It’s not for following; it’s merely the last-100-days pretext for the following.

Also: trigger warning – violence against women is discussed.

I have been putting off this post for fear of writing it wrong. The #yesallwomen twitter-tag has a deep and traumatizing context, and I wasn’t sure I could make my thoughts make enough sense to write something worth saying.

I am gratified to see that #yesallwomen didn’t dissipate despite the trolls, the naysayers and the uninformed. I hope it somehow manages to morph into a periodical campaign to simply remind everyone (=men) of the daily injustices most women continuously experience; the plainly stated facts have had the strongest impact on me.
Continue reading Day 354 – #(Yes/Not) All (Women/Men)