Overcoming challenges, the virtual way

Currently, my World of Warcraft raid team is taking on Yor’sahj the Unsleeping on heroic (read: insanely difficult) difficulty.  Now, I understand that many of you don’t play World of Warcraft, so I’ll explain the boss encounter briefly: every now and then, he summons four differently coloured slimes on the edge of the room that slowly creep towards him, and that give him some rather potent abilities when they reach him.  Only one can be killed (the rest become immune), which means that, as raid leader, the encounter is a test of my leadership abilities — I need to see which slimes have spawned, direct the rest of the raid to kill the one which I believe will result in certain death, and then give the raid the correct strategy for surviving the effects of the other three.

In my case, I have a unique problem: the fact that I’m pretty much totally colourblind.  I’ve found my own unique ways of dealing with this over the years, the main example being traffic lights.  I determine what to do based on position: top light tells me to stop, bottom light tells me to go, middle light tells me I’d better stop sometime soon (although any self-respecting South African driver will tell you that it really means “go faster”, particularly the ones on the other side of the Vaal River).  Of course, this is a lot harder at night; however, I’ve worked out that the “green” light is considerably brighter than the other two (I’m also extremely light sensitive, which in this specific case is actually a Good Thing).

However, the Yor’sahj fight, when we first attempted it (on normal mode) presented a unique challenge for me — the game tells me which combination of slimes has spawned, but then I need to run over to it and start whacking it hard, which is a bit difficult when you’re uncertain if you’ve run over to the right one.  An example would be when Yor’sahj spawns the purple and blue slimes, with purple being the kill target.  Those two slimes spawn next to each other, and I’ve often called out “kill purple” and then run over to blue instead.  And don’t get me started on the case when Yor’sahj sadistically decides to spawn red, green and yellow (it’s the traffic light thing again).

My solution: the other nine pairs of eyes.  The rest of the team knows full well that I really struggle with this, and so help me find my way to the correct slime that I had just called out.  I may be the one directing the strategy, but at the end of the day, we’re a team working together towards our end goal (that next boss kill on heroic difficulty).  My condition provides a unique challenge for this encounter, but working together, we’re able to compensate for that.

This actually touches on another interesting point.  People say that computer gaming is childish, breeds violence, and so forth; that World of Warcraft is an addiction as bad as illegal drugs… at least, those are the opinions that mass media would like us to have.  And yet, while I jump into the game to escape from reality for a while, there are plenty of real-world skills if one only takes the time to dig a little deeper.  Leading the raid allows me to refine my organisational, leadership and diplomatic skills, while raiding itself is a great way to learn how to work as a team (which is pretty much essential in the workplace in this day and age).  It’s through this teamwork that I’m able to overcome elements that impede me as an individual.

Indeed, this has been touched on by people far more qualified than I am.  Mark Chen, a self-professed gaming researcher who holds a doctorate in educational technology and learning sciences recently published his dissertation-turned-book Leet Noobs: The Life and Death of an Expert Player Group in World of Warcraft.  (The book is available on Amazon if you’re interested, but unless you’re familiar with psychology, it’s rather heavy reading.)  His experiences were from the Molten Core raid in the game’s earliest days (when the raid size was 40 players: definitely far more challenging from several points of view).  The following quote sums up my thoughts perfectly:

I would hesitate to call it “addiction” from the media effects standpoint: It is not a sinister, time-sinking, life-destroying activity. Instead, the knowledge is so much a part of me now… I long for it; it sustains me. It has become a part of who I am. My identity depends on this cultural knowing of what it feels like to be raiding in Molten Core. But rather than taking away from my life, it enriches my life…. Through gaming, I know nostalgia and melancholy, joy and triumph, success and failure, sadness and anger…. Gravitating towards these activities is only addiction in the sense that people are compelled to engage in the activities that define who they are…

We’re only getting Yor’sahj down to ~50% right now before someone makes a small mistake that wipes the raid (heroic difficulty is extremely unforgiving).  But that kill is coming, and it will be an especially sweet victory for me when we get him down.

Vivid imaginings

It goes without saying that most of us geeks tend to have rather vivid imaginations.  I fell into that category — would spend my youth reading various fantasy novels (in my Grade 7 year, we had The Hobbit as a set work: I finished the book in one evening of solid reading, and then kept on re-reading it through the rest of the year).  These days, I still read books of that genre (I recently discovered around R600 of old Exclusive Books gift vouchers lying around, and promptly went out and got as many of George R.R. Martin’s A Song of Ice and Fire books as the vouchers would let me), as well as having a sort of addiction to role playing games (explaining the occasional board game evening of Arkham Horror, as well as the fact that I’m an avid World of Warcraft gamer — and more recently, Diablo III).

That said  I’ve always been a Calvin & Hobbes fan as well.  It’s something that I’ve always been able to relate to, for two main reasons: one is that I shared his vivid imagination growing up, the other being that I was just as naughty as he was.  (None of those have changed, by the way!).

Anyway, last night, I stumbled across the following image.  The artist depicts an adult Calvin, understanding the importance and value of having an imagination growing up.  If in the future I have kids, I can imagine myself in the image as well.

Calvin as a dad...

I don’t know who the artist is, by the way.  If you know, or if the artist is you, please get in touch!

(Footnote: George R.R. Martin’s A Song of Ice and Fire books forms the basis from where the current Game of Thrones TV series was derived.  If you enjoy the show, but haven’t read the books, you’re doing yourself a great disservice.)

The most influential programming books

Since I write code for a living, I get all interested about any topics related to coding, and today I uncovered an interesting one.  During my daily Slashdot perusal, I discovered a post over there referencing a blog post on the Internet Security blog, which in turn references what is apparently the second most popular question ever posted on StackOverflow – which was, “what is the single most influential book every programmer should read?”.

As voted for by those who participated in the StackOverflow discussion, here’s the top ten.  For ease of use, I’ve included links to the respective pages on Amazon.

  1. McConnel S. 2004, Code Complete, 2nd edn, Microsoft Press
  2. Hunt A. & Thomas D. 1999, The Pragmatic Programmer: From Journeyman to Master, Addison-Wesley Professional
  3. Abelson H., Sussman G.J. & Sussman J. 1996, Structure and Interpretation of Computer Programs, 2nd edn, McGraw-Hill Science/Engineering/Math
  4. Kernighan B.W. & Ritchie D.M. 1988, The C Programming Language, 2nd edn, Prentice Hall
  5. Cormen T.H., Leiserson C.E., Rivest R.L. & Stein C. 2009, Introduction to Algorithms, MIT Press
  6. Fowler M., Beck K., Brant J. & Opdyke W. 1999, Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional
  7. Gamma E., Helm R., Johnson R. & Vlissides J. 1994, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional
  8. Brooks F.P. 1995, The Mythical Man-Month: Essays on Software Engineering, Addison-Wesley Professional
  9. Knuth D.E. 1997, Art of Computer Programming, Volume 1: Fundamental Algorithms, 3rd edn, Addison-Wesley Professional
  10. Aho A.V., Lam M.S., Sethi R. & Ullman J.D. 2006, Compilers: Principles, Techniques, and Tools, 2nd edn, Prentice Hall

I’m a bit ashamed to admit that I haven’t read any of the books in the list – guess I need to pay the UCT library a visit this weekend.