The World's Oldest Intern

The story of a serial change artist

Month: September, 2012

Lovely pics from my day


My new read – Seven Languages in Seven Weeks

Intro to Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby in 7 weeks

Definitely a day of hacking stuff and SEO tricks

DUMBO – Hacker School – Manhattan Bridge – Postcard

48 hours in NYC

Here is where I’m staying


Walking to Ruby Rails NYC Tutor Meetup


Learning the subway system


Breakfast Meetup in NOHO Manhattan


Coding between Meetups


Github Meetup

DevOps job posting – 2015 is the year for DevOps

<From Job Board>

Are you both a bit-twiddling techie and people/process geek? Have you lived both as a developer and a system administrator? Do the ideas of the DevOps movement resonate with you? We are currently looking for DevOps Principals, people who know both development and operations and can lead engagements to bring these groups together into a smooth running machine. We want people who see technology, process and organizational problems, are driven to fix them and along the way influence the industry to move in a better direction.
It’s about big brains not big egos
When some people think of leaders they see them working in corner offices at the top of the building. That’s not how it works here. Yes, you’ll be one of our most experienced senior people and with that will come significant responsibility for how we manage and deliver business-critical software solutions. But we don’t do heavy management or big company politics.
We are collaborators,which means you’ll be sat around the same table as project managers, developers, architects, testers and analysts, coming up with creative ways to translate concepts and ideas into practical and tactical solutions, foster innovation and maximize customer’s ROI.


  • Understand the needs and challenges of a client that span development and operations, and partner to formulate solutions that support their business and technical strategies and goals.
  • Develop solutions encompassing technology, process, people, and practice for:
    •  Build and release management
    •  Infrastructure strategy & operations
    •  Operations service delivery and support
    •  IT organizational structure and responsibilities
    •  Business continuity
    •  Security
  • Implement solutions, not just recommend them.  We fundamentally believe in advice based on hands-on delivery experience
  • Mentor and coach teams in the approach and execution of projects.
  • Provide technical leadership across all areas of the build, release and operations, to ensure delivery of exceptional technical solutions

</From Job Board>

These pictures make me happy

Do you think other people are smarter than you?

Until today, I would have argued yes. I would like to think that others are smarter than me because it makes me feel like I’m humble. The problem with thinking this way is that it is rooted in our thinking.  It is rooted in our educational system. It is rooted in issues where we believe we are superior to some people and inferior to others. That’s plain wrong. I’m wrong. I need to change my thinking, because I’m not better than anyone else.

So I need to ask myself, are the people around me smarter than me because they have a degree? 

[Do I think that] intelligence is a fixed, innate trait, apportioned unequally among individuals and groups? Watch this and you decide.

Learning the stuff that scares me the most

I have had difficulty picking up the concept of classes in Python. I’m not sure why, but it’s been a problem. I learned classes in Java easily. When I learned classes in Ruby, it clicked instantly. But every time I tried learning it in Python, I would come up short.

I have been avoiding Python classes for some time now.

So, the other morning, I decided that I would tackle it.  Intent to consume all of the online exercises and readings, I found a quiet spot in my favourite café, grabbed my favourite drink, and made up my mind to spend the time to understand the lesson. I created the standard demo classes, like shapes and animal classes. I kept creating classes until I didn’t have to reference any material.  I created objects and had the objects interact with each other. Then something clicked and I had that “aha moment”. Liberating.

Now my new objective is to grok classes and tackle the hard stuff that scares me most.  That’s why I applied to Hacker School in NYC. That’s why I’m going to Hacker School this fall in NYC. I’ve finally decided to be a better programmer and tackle the stuff that scares me the most.

Learning to read the Metasploit Framework source code

On Saturday I spent the day with the Ladies Learning Code’s “Intro to Ruby” workshop in Vancouver.  We learned the syntax of Ruby.  We built a small program that mimicked Twitter.  We would post a comment and our little program would determine if the Tweet was suitable to post. If it was within the 140 character limit, it printed out to our screen.  Simple. It taught us about variable assignment, lists, arrays, conditionals and loops.

I was amazed by all the ladies and the dedication in the room. Before we knew it, everyone was clicking away at their keyboards, and you could see the smiles on each of the participants faces as they realized how much fun programming was. I was having fun! You could feel the energy. I’m lucky to have witnessed the emergence of a bunch of new Rubyists. The experience was awesome!

Today, I thought it was important to spend some time reviewing the material and building on the yesterday’s lesson. I’m going to review classes in Ruby.  Here’s an example I made up that I feel builds on objects IRL.

class Newspaper
 attr_accessor :price, :size, :publisher, :political, :independant
GlobeAndMail =
VancouverSun =
TheProvince =
TheGeorgiaStrait =
The24 =
Courier =

GlobeAndMail.price = 1.00
VancouverSun.price = 0.75
TheProvince.price = 0.75
TheGeorgiaStrait.price = 0
The24.price = 0
Courier.price = 0

papers = [GlobeAndMail, VancouverSun, TheProvince, TheGeorgiaStrait, The24, Courier,]

And here is a mockup of a Ticket Machine class that takes the price of a ticket when initialized. The object has a few methods to add money to your balance and determine if you have enough money to pay for the ticket.  Here’s the code. In the last screenshot, I’m now having success reading Metasploit code.  Awesome day filled with aha moments!

class TicketMachine
 attr_accessor :balance, :price

 def initialize(priceOfTicket)
   @price = priceOfTicket
   @balance = 0

 def print
   if @balance >= @price
     puts "Here is your ticket"
     @balance = 0
     return @price
   elsif @balance < @price
     puts "put more money. balance =", @balance

 def add(value)
   @balance = @balance + value