Happy #2202

People who know me know that as much as I appreciate celebrations and ceremonies as an important aspect of healthy human society, I’m a poor participant and the last person you’d want of to instigate such an event.

Which is why, over the years, days like today have turned out to be a bit of an anti-event for me. I’d try to avoid these sorts of things, and make comments like “I wish I could go to sleep the day before, and wake up the day after” (the wifey says: true story).

After 28 though years, I’m slowly realizing that it isn’t the actual day that I fear, but the anti-climaticism* of the day after, which scales according to how much fun the actual day was. This sentiment was far more pronounced in my primary school years, when #2202 would land smack in the middle of my mid-terms, and usually on a school night. Imagine that, Chinese-Malaysian student going out to Pizza Hut for dinner with family on a school night, during exam period.

Oh boy.

All I can say is, gosh I’ve come a long way, and how blessed I am to have the people that I have around me. At the rate that I’m going, I’m destined to be one of those stuffy old farts who tells you “Making friends is for youngsters. You stop making friends after <insert figure inversely proportionate to cynicism>“. Indeed I have, but somehow, it hasn’t stopped a handful of outrageous beings from reaching out to me and wiggling their way into my life.

The gifts, card, messages, gestures, tweets have made my day, and the impending school-night dinner will top it off beautifully.

While there are still traces of dread of the dip that tomorrow may bring, I’m going to be present, and grateful.

Happy #2202 to me, come what may.

* Speaking of anti-climaticism, I once thought, how cool it would be to celebrate 22-02-2222, until I realized I’ll have to wait over 200 years.

Consuming vs Producing

Two recent events have brought me to the apex of this thought.

First, those of you who have been curiously clicking through my “New blog post:…” tweets would have noticed that I’ve made a real big effort string together at very least a post a day (You’re reading my eleventh consecutive post, thank you for asking). Blogging daily has been my little way of intentionally producing something with latent time that I have, as opposed to mindlessly consuming.

Second, my dear wife (upon my request) bought me a Kindle DX for my impending birthday. If you’re not already aware, the Kindle is representational of a whole new class of, what I’d like to coin, hyper-consumption computing (HCC) devices. In my own opinionated, un-peer reviewed definition, these devices are design with only to serve a single purpose – making the consumption of information as frictionless and pleasurable as possible.

Why it is in every device makers’ interests to excel at such a goal is a topic for another day, but the bottom-line is, such devices, if not engaged with active intention, can very easily and quickly dull the producer in each of us.

Yes, it dulls the producer in you.

Allow me to expand on the concept of producing something. Going out on a photo shoot is producing, browsing through endless Flickr streams is consuming. Baking a cake is producing. Reading food blogs is consuming. Going out on a bike ride is producing, watching Le Tour on television is consuming. Learning a new chord progression is producing, watching YouTube videos of Super Mario covers is consuming. Pulling out a few tools and tightening up your creaky chair is producing, wandering around Ikea is consuming. Assembling Ikea furniture is gray, but you get the idea.

I think sharpening and polishing that producer edge is really important for the following reasons.

1. Producing completes a learning process. One reaps the full benefits of learning when one is forced to reproduce that body of knowledge. For example, when I had to write up a half-semester syllabus for the Interactive Media subject for the Bachelor of Multimedia program at RMIT, it was the hardest thing, but it was also the best educational experience I ever had on the subject.

2. Production is a sign of life (in the broadest, most generalised sense of the word). Live trees produce fruit; wooden shelves don’t. Polar bears produce young; not so, fur rugs. Players on the court tear muscles, grow stronger, nimbler, livelier; spectators, not so much, Et cetera.

3. The act of producing brings with itself the very therapeutic effect of a flow. Where stuffy corners of one’s life is pushed out, the vacuum inevitably draws freshness in – basic laws of thermodynamics. Or for the more poetic, Jordan River vs Dead Sea.

So the next time, right before you engage in an activity, make a mental note:

producing or consuming?

Hopefully, you’ll be all the richer for it, and the people around you should be so lucky to share in goodness of your produce.

Cross-training the mind

Back in my high school years, I was an avid mountain biker. Sure, two cycling buddies and I would go riding after school, during weekends, etc, but “avid” more in the sense that we’d thoroughly consume every cycling magazine that would grace the shelves of the school library.

One of the articles I remember very clearly till this day had to do with the way professional cyclist train. One of the vital muscle groups that they aim to strengthen is the abdominal muscles. Apparently (and sensibly), it’s one of those muscle groups that greatly affects the performance of a cyclist, but isn’t actively strengthened in the act cycling. Therefore they would put themselves through a range of off-bike regimes in order to develop those muscles. Cross training, basically.

I can’t help but extrapolate that to the way I engage my programming craft. Given the abundance of introductory tutorials to various programming languages on the Internet, I’d spent many a weekend picking a new language or framework, working through a tutorial, and expose myself to the thinking behind it.

These days, while I code primarily in PHP against an enterprise-y object-oriented MVC framework, I find myself slipping in the occasional functional declaration, or borrowing an enumerator idiom from a different language. Things that I would’ve never done if I simply remained in PHP land.

So onward with my quest for more diverse cross-training, I had a go at Gödel, Escher, Bach: an Eternal Golden Braid. Today, after failing miserably at explaining it to a fellow nerdhead (she’s an econometricist), I figured I’d give it a rest and pick something a little easier – A Beginners Guide to Graph Theory 2e.

Armed with my new Kindle DX (be-earlied birthday present from the wifey), and a stack of PDF’s I’ve acquired over the years, I’m now 10 pages into an introduction about sets and digraphs.

Wish me luck.

Freelance or Permanent

This question popped up at least 3 times in the past 6 weeks. Conjuring up an answer for it forced me to think it through very carefully.

My last permanent position was with a non-profit company. When I left for freelancing and running my own business, it was somewhat around the same time the GFC hit most of the developing/developed world. Everyday there was news of jobs being cut, organisations “restructured”, etc.

Because of the calamity all around me, it made being a business owner (or more bluntly put, unemployed) less unpalatable. The argument was, “being permanent isn’t all the secure either”. The months that followed saw me build up a convincing case for being a freelancer over being an employee.

Over the years, things changed, the work that I busied myself with evolved from juggling multiple clients and projects, to more recently, devoting most of my week to one project, for one client – not unlike what a full-time employee might be accustomed to.

When I was most recently asked why I’d remain as a contractor as opposed to committing as a permanent, the best I could come up with was:

“It’s more a frame of mind”

I has been my way of keeping on my toes, affirming and preserving my identity as an independent professional, and not overexposing myself to the whims and fancies of a composite construct.

Work matters have been rolling along very swimmingly, I hope I don’t get swept up and disoriented, because it looks like it’s going to be one hell of a ride.

You owe me an icecream

We’ve been running TDD at work over the last 5 weeks or so since we started on this new e-commerce platform that we’re building for the business.

Five weeks in, our unit and functional tests have started to take more than 5 minutes to run, and this is after tweaks by yours truly, such as running the MySQL MEMORY tables instead of INNODB tables. 405 tests, just over 1800 assertions and consuming upward of 1.2GB of memory (bad PHP… bad bad PHP…).

Because there’s a team of 5 of us actively working on the same codebase, performing a complete git pull potentially breaks our local build/test cycles for various reasons. Given 5 people in the team (including oneself), one has high 4 in 5 probability of nailing the wrong person. If it turns out that the accuser was at fault, what ensues is a 100% chance of public humiliation.

So to soften the blow, I came up with a concept of owing an icecream. For example, when a colleague wrongly accuses you of breaking the build only to find that cause was him leaving something out, you’d say “now you owe me an icecream”.

So far it’s worked very well to express a combination of  “it’s not that big a deal, we all make mistakes” and “hey, you dumba**, don’t blame me for your incompetence” in a ratio that the receiver can tweak to taste.

“Icecream” invokes fun, carefree and light-heartedness. “Owe” bears the seriousness of the matter, and reeks of mortgage and interest rates. So the phrase becomes conversational equivalent of gunning down someone with a NERF gun or pillow-whacking someone over the head.