Categories
Uncategorized

CUSEC 2010 Keynote: Pete Forde – “NSFW”

Pete Forde, standing at the lectern, giving his keynote at CUSEC 2010

Here’s the second in my series of notes taken from keynotes at CUSEC 2010, the 2010 edition of the Canadian University Software Engineering Conference. These are from NSFW, a keynote given by my friend Pete Forde, partner at Unspace and one of the bright lights of Toronto’s tech scene.

My notes appear below. Pete’s posted his slides, notes and URLs online; be sure to check them out.

Introduction

“This talk is going to be adult,” began Pete. “If you can’t handle it, you should probably leave. I’ll buy you a Dasani afterwards.”

  • I’m a partner at Unspace
  • I’m a software developer, have been for a long time
  • But deep down, I want to be a designer
    • I have no formal training — I can’t draw; I can’t paint
    • I see life as a series of carefully-executed series of five year plans
    • I dropped out of high school 20 minutes before the final exam; I told the principal that I didn’t want him to take credit for future success
      • I don’t recommend this; it’s probably not repeatable, not even by me
  • You – as engineering and computer science students –- are better educated than me
    • “You probably know math and stuff”
  • In the past, I was a punk, and many other things
    • I’ve been a musician
    • I’ve also been a zine publisher
    • I’ve tried on a lot of things to see if the shoe fits
    • I’ve had an interesting run
  • When I get to the end of 5 years of doing something, I review what I’ve done
    • I’ve had 5 years of doing software at Unspace – what now?

On Pete

 Pete Forde, standing at the lectern, giving his keynote at CUSEC 2010

  • My dad’s an engineer, and as such, is a perfectionist
    • Engineers are by and large pedantic control freaks — and that’s okay, we need you to be that way!
  • I’ve discovered that I’m a starter, not a finisher
  • This tendency has put me at odds with my family and I used to feel really guilty about it
  • Now I realize is that you need to play to your strengths — recognize that you have an instinct, and harness it!
  • Is what you’re doing against the grain?
    • "There’s no time like the present to get your life on track"
    • "I could have saved myself a lot of time if I could talk to my present-day self"
  • As a starter but not a finisher, I realized that I had to recruit doers, people who could take my ideas and run with them
  • I am an introvert
    • See the article in The Atlantic, Caring for Your Introvert
    • So what am I doing onstage?
    • People who appear practiced onstage look that way because they are practiced

On Success

  • Steve Jobs says: “Find what you love”
    • People confuse “successful” with “happy”
    • Are you putting your life on hold to go and make your paycheque?
    • I’m convinced that many financially successful people are unhappy and bitte
  • Malcom Gladwell’s The Sure Thing
    • It paints a different picture from the one we see in the media of the entrepreneur as daring, as a “cowboy”
    • Entrepreneurs who became empire builders turned out be highly risk-averse
    • Their success comes from seeing opportunities in arbitrage and taking advantage of them
    • Consider John Paulson:
    • These men are predatory entrepreneurs in my opinion
    • Do they really need billions?
    • Maybe they don’t do it for evil – perhaps it might be for the thrill
  • Don’t want to model himself after these people
    • There’s a line written by Seth Tobocman, who wrote the comic book World War 3: "You don’t have to fuck people over to survive."
    • My twist on that is "You don’t have to fuck yourself over to be successful."
  • Who would I rather model myself after? Steve Jobs
    • He said: “Good business makes for good art”
  • Another good bit of advice comes from Andy Warhol: “Think rich, look poor.”
  • On Being an Artist
    • There used to be a harsh disciplinary division between technology and art and it’s reflected in code and art
    • Different now in the era of Rails
    • I like holding parties and inviting all sorts of people: if you put interesting people together from all walks of life, you’ve got a catalyst for change in your living room
    • The lines are blurring: we’re all artists now
  • Consider these guys

On Starting Up

  • How Unspace came to be
    • It started 5 years ago with 2 friends in 170 square feet of space
    • “There wasn’t enough room to lie down and make a snow angel”
    • Everything that happened in those first years was "path of least resistance"
    • We had this weird notion that Unspace would be worth nothing and function as a quasi-legal organization whose reason for being was so that we could write off tech toy purchases
  • We got lucky: Two founding partners — moved on to other things
    • One of them has since moved on, regrettably, to Ashley Madison
    • Choosing partners was important decision
  • Optimism springs eternal among entrepreneurs: there’s always that feeling that nothing can go wrong
  • Daniel Tenier says: “Partnerships suck”
    • It’s important to make your agreements explicit
    • Don’t be afraid to discuss bad stuff
    • Write everything down
    • You can’t make it work at all costs – you need to know when to walk away
    • Try to get to the bottom of questions like "What’s your definition of success?" Of failure? What’s the sunset clause? What’s the shotgun clause?
    • If you absolutely don’t need a partner, go it yourself (I myself, since I’m not a finisher, need a partner)
    • Look up what Chris Dixon has written about founder vesting

On Products

  • Most consulting companies start as product companies that were broke
  • Consulting is “kind of like a drug” — it keeps the fix coming

On Customer Development

  • You need to read Steven Gary Blank’s The Four Steps to the Epiphany
  • The ideas in this book led to the feeling in venture circles that customer development is a good thing
  • If you’re starting a company that sells things to people, read it!

Leadership

Pete Forde, standing at the lectern, giving his keynote at CUSEC 2010

  • Seth Godin says this of leadership: It’s about painting a picture of the future for other people and then leading them to it
  • Back in 2004, things went terribly wrong
  • I partnered with my friend Ryan, and it lasted a month
  • I had “lots of partners” – it was hard to get things done
  • Having a captain is good
  • In addition to being a “time-and-materials” company, we also started holding events
    • We instituted Rails Pub Nite, a monthly event that created a sense on community and gets regular attendance
      • Opposite of a user group: no agenda
      • It’s the "smartest thing we’ve ever done as a company"
      • At the time, “people making a living off Ruby you could count on both hands”
      • One of the raisons d’etre of Rails Pub Nite was to create meaningful competition
      • We went so much farther ahead by giving it the generic name Rails Pub Nite as opposed to Unspace Pub Nite
      • What we wanted to do was not create a feeling of participating in a corporate social experience
      • It was successful: Rails Pub Nite’s mailing list has 450 people, and every Pub Nite gets 40 – 50 attendees, and not just Ruby programmers, but also Java, .NET and PHP

Building Your Team

  • Another benefit of Rails Pub Nite is that it lets us meet all the smart people first
  • We have a “non-traditional fit test”
  • I feel that 8 – 14 people is perfect size for company
  • I’m tired of working for small companies that grew to large companies that started to suck
  • I’d rather have 3 companies with 12 people than 1 with 40 people

On Guilt

  • I have no high school education — how am I building projects for the UN?
  • It’s why sometimes, I feel like a fraud
  • Many people have this feeling; it’s called “Impostor Syndrome”
  • I feel like living embodiment of "fake it until you make it"
  • Refactoring makes me feel like a fraud
  • It’s the "Embarrassing Pattern": after looking over my code, it seems that I could replace a lot of it with existing stuff and patterns
  • “Your entire codebase can be abstracted away”
  • "I just spent a month writing 40 lines of code"
  • You have to recognize that it happens

On Getting Ahead

  • Read Derek Sivers’ (he’s the guy who created CDBaby and later sold it) article, There’s No Speed Limit
  • He says that “the standard pace is for chumps”
  • To get ahead, you have to push yourself beyond what you think your limits are
  • We can do whatever we want, as fast as we want

Adventure

  • Learning Giles Bowkett’s story through his RubyFringe presentation completely changed my life
  • It was all about leading a life less ordinary
  • In our line of work, we create things that didn’t exist before
  • When someone who doesn’t know how to create things is put in charge of people who do, it’s bad
    • I believe that Giles called them "Weasel-brained muppetfuckers"
  • Giles quotes Steve Jobs: “Real artists ship”
  • My advice on dating websites: "Don’t make them"

On Marketing

  • I’ve mentioned Seth Godin many times already
  • Sometimes his books have 3 pages of insight buried in 100 pages – I supposed it’s a case of “The Devil’s in the details”
  • Read The Dip, skip Tribes
  • In Tribes, Godin says that people don’t believe what you tell them, sometimes believe what their friends tell them and always believe the stories they tell themselves.
  • So give people stories they can tell themselves

On Ideas

Grand Visions for the Future

  • Disney wanted EPCOT to be a utopian city, a city of the future, but bureaucracy got in the way
  • Jacque Fresco: 93-year-old chronic inventor — a radical revolutionary
    • He designs amazing future habitat buildings
    • He has a whole compound of bubble domes in Venus, Florida
    • See the movie Future by Design
    • He’s 93 — "You know what that implies"

On Being Happy

    This article also appears in Canadian Developer Connection.

    Categories
    Uncategorized

    The “employment.nil?” Ruby Job Fair

    employment_nil_floor

    One of the pillars of the Toronto developer scene is the Ruby/Rails community. They’re an active, engaged, hard-working bunch who work without the direct benefit of a large organization like The Empire or its resources (they do, through people like Yours Truly and Nik Garkusha, Microsoft Canada’s open source go-to guy, get some indirect support). They – through the efforts of people like Pete Forde and the Ruby local heroes at Unspace – know how to maximize grassroots organization and harness them into industry-leading events like last year’s RubyFringe and the upcoming FutureRuby conference.

    meghann_and_pete

    It should therefore not be a surprise that when Pete and company got the idea to help out their fellow Ruby developers during the econopocalypse with a job fair – employment.nil? — they’d take the standard techie job fair formula, turn it upside down and make it their very own. They chose the Gladstone Hotel in Toronto’s hip West Queen West neighbourhood, which is better known as a venue for karaoke, rock bands and burlesque (in fact, I’ve performed in all three kinds of shows there) than for computer and IT-related employment fairs.

     unspace

    This was not your typical job fair. It didn’t have any of the fancy display stands that you normally see on the exhibition floor at tech conferences. Instead, both job-seekers and small companies were told to build poster board displays, a la high school science fairs.

    shindig

    Another rule: no computers allowed! Even iPhone apps were considered “cheating”. The closest you were allowed to get was using whiteboards or pen and paper for “live coding”. This wasn’t about staring at computer screens, but people talking to other people – people who were passionate about the Ruby programming language and its associated frameworks, libraries and communities.

    postrank

    An excerpt from the sign-up page for employment.nil?:

    Let’s face it: it’s better to be a Ruby developer than a car manufacturer in 2009, but things have definitely slowed down — for everyone. And yet, there are solid reasons why this is an excellent time to start new projects, launch companies, and create new markets. By definition, Ruby has been adopted by creative individuals that grew frustrated with risk averse bureaucracies.

    We believe that there are huge number of opportunities to be found during this economic downturn, both for freelance developers and aspiring entrepreneurs alike. As with most tragic historical near-misses, there are just a huge number of connections that aren’t made even in our own collective back yard.

    terry_smith

    More from the job fair’s site:

    That said, we also believe that Ruby people are determined self-starters that aren’t afraid to self-promote. Anything worth doing in life requires hard work and sacrifice. Sadly, while many developers are patient and willing to think orthogonally, we rarely get an opportunity to practice the other more social skills which make us desirable as team members, project managers, and co-founders. Unless we overcome our shyness and learn to speak eloquently about our experience and skill sets, we have nobody to blame for our work prospects but ourselves.

    Our solution is to gather students, developers, development companies, and of course project leaders and company founders for a good old-fashioned career fair.

    As you can see from the photos, there were different kinds of booths set up. There were those for companies looking to hire some Ruby developers…

    mulder_consulting

    and those deidicated to showcasing some interesting application of Ruby, such as lojacking iPhones:

    tony_thompson

    …or HacklabTO’s own Jed Smith showing how we harness Ruby to drive our laser (yes, we’ve got a laser etcher/cutter!):

    ruby_laser_awesome 

    And some booths were set up by Ruby programmers showcasing their own work and who were looking for a job:

    talha_syed_1

     talha_syed_2

    dan_mcgrady

    The event wasn’t just noticed by the Ruby community, who filled the room throughout the 11 a.m. to 6 p.m. course of the event. Late in the afternoon, Ontario’s Minister of Small Business and Consumer Services, Harinder S. Takhar, paid a visit to the job fair.

    meghann_pete_minister

    Pete, ever the gracious event curator, took Mr. Takhar to several booths, introducing him to their owners, who were only too happy to show the Minister their Ruby-related work. Here’s Andrew Burke of Shindig, showing him the projects he’s taking on in his independent software consultancy:

    andrew_minister

    Here’s Kieran Huggins showing Mr. Takhar his work in MyTTC.ca:

    minister_kieran

    I’m sure that grassroots high-tech events with a strong “indie” aesthetic are outside the Minister’s everyday experience, but he seemed pretty impressed with the event: a dedicated group of nerds building software and careers using only laptops, stuff you can download for free and their brain cells.

    minister_presentation

    Here’s Pete explaining the local Ruby developer scene and the concept of open source software to Mr. Takhar:

    pete_minister

    And here’s Mr. Takhar presenting Pete with an award of recognition for Unspace for putting the event together. At that point, I broke out the accordion and played For He’s a Jolly Good Fellow, partly for the Minister for showing up on a Saturday afternoon, but partly for Pete for putting the event together.

     pete_minister_certificate

    Here’s a close-up of the award:

    award_of_recognition

    It reads:

    Award of Recognition

    On behalf of the Government of Ontario,
    I am delight to extend my congratulations on the
    Employment.nil?
    First Toronto Ruby Job Fair

    Unspace Interactive Inc.

    Our government recognizes the importance of new and creative opportunities for
    business. Building a business requires vision and dedication. I applaud your work and
    success in web consulting through your team of industry-leading developers and
    designers under one roof.

    Please accept my best wishes for continued success.

    Harinder S. Takhar
    Minister of Small Business and Consumer Services
    June 06, 2009

    Congratulations to Pete, Meghann Millard, all the folks from Unspace and the Toronto Ruby community on a job well done!

    The Photo Gallery

    I took a lot of photos at employment.nil? and shared them in a Flickr photoset, which you can also view in the slideshow below:


    Created with Admarket’s flickrSLiDR.

    Categories
    Uncategorized

    “employment.nil” – The Toronto Ruby Job Fair

    employment_nil

    If programming in Ruby is your thing and you’re looking for work or workers, you should mark Saturday, June 6th on your calendar. That’s when employment.nil, Toronto’s first Ruby job fair, takes place at the Gladstone Hotel.

    Organized by Pete Forde and the folks at Unspace – the local Ruby heroes behind things like the FutureRuby conference – employment.nil is an old-school job fair for Ruby programmers. In fact, it’s so old-school that no computers of any kind are allowed. If you’re looking for work, bring printouts of your code and be ready to write out ideas with pen and paper. If you’re looking for people to work for you, you can set up a booth, grade school science fair-style.

    Want to find out more? Check out the employment.nil article in Rethink, Unspace’s blog.

    Categories
    Uncategorized

    My Afternoon at MeshU

    This article also appears in Canadian Developer Connection.

    I caught the afternoon sessions of MeshU, the day of workshops that precedes the Mesh Conference. MeshU had three tracks – Design, Development and Management – and I chose to attend the sessions in the Development track.

    Leigh Honeywell at her presentation at MeshU

    Leigh Honeywell on Writing Secure Software

    First up was HackLabTO cofounder Leigh Honeywell, (pictured on the right) whose presentation was titled Break It to Make It: Writing (More) Secure Software. She works at the MessageLabs subsidiary of Symantec, which makes security products for email systems, and before that, she worked as an independent security consultant. Simply put, security is both her job and her hobby.

    Leigh provided an informative and entertaining summary of the most common security vulnerabilities in applications and the recommended best practices for writing secure apps. Here’s a photo of her slide showing OWASP’s ten principles that you should follow in order to write secure applications:

    "10 Principles" slide from Leigh Honeywell's security presentation at MeshU 2009

    The ten principles are:

      1. Minimize attack surface area
      2. Establish secure defaults
      3. Least privilege
      4. Defense in depth
      5. Fail securely
      6. Don’t trust services
      7. Separation of duties
      8. Avoid security through obscurity
      9. Keep security simple
      10. Fix security issues correctly

    She also covered what OWASP considers to be the current top ten vulnerabilities:

      1. Cross-site scripting
      2. Injection flaws
      3. Malicious file execution
      4. Insecure direct object references
      5. Cross-site request forgeries
      6. Information leakage / improper error handling
      7. Broken authentication and improper error handling
      8. Insecure cryptographic storage
      9. Insecure communciations
      10. Failure to restrict URL access

    writing_secure_code

    At the end of her presentation, Leigh listed a couple of books that she considered to be valuable security references. One of them was Writing Secure Code, Second Edition, written by Michael Howard and Steve Lipner and published by Microsoft Press.

    This was a surprise to many people in the audience, the majority of whom were not building apps on Microsoft technologies and generally (and often mistakenly) think of the term “Microsoft” being synonymous with “insecure”. A number of people chatted with me after the presentation and it seemed like this was one of many things from Microsoft that caught them by surprise, along with other unexpected things including the MS-PL license, CodePlex and the Open Source Lab, the new emphasis on standards and interoperability…and hey, even taking on “unlikely” evangelists such as David Crow and me.

    Here’s her slide deck:

    Pete Forde Does the iPhone Dance

    Next was Pete Forde, one of people behind the development shop Unspace and the RubyFringe and FutureRuby conferences. He started his presentation, Is That an iPhone in Your Pocket, or are You Just Happy to See Me?, with a Napoleon Dynamite-esque dance number set to the tune of Start the Riot by Atari Teenage Riot. Here’s the video of the dance that Leigh Honeywell shot:

    And here’s the video that I shot:

    Pete’s presentation covered the options that developers have when building iPhone apps. For the curious, here’s the deck he used:

    The one thing that he wanted you to take away from his presentation is, in his own words:

    Consider iPhone web applications and side-stepping the iTunes Application Store (and their 30% gross cut) completely.

    The one thing that I took away from the presentation (in addition to the one above) was that it’s not all smiles and sunshine in iPhone development land. Yes, the iPhone provides an excellent user experience and the App Store has been a hit with the customers and many developers. However, a good chunk of Pete’s presentation was about how some of the biggest obstacles for iPhone developers come from Apple itself; I’ve heard that there were similar grumblings at an iPhone developer meetup that took place later in the week. I think that there are some things that Windows Mobile developers (and the Windows Mobile team at Microsoft) can learn from these obstacles, and I’m going to write about them in a later article.

    Chris Wanstrath and the Story of GitHub

    Chris Wanstrath The final presentation of the afternoon, Building a Business with Open Source, was given by Chris Wanstrath of GitHub, a hosting service for software repositories created with the Git distributed version control system. There are a number of open source projects hosted on GitHub, including one you might not expect: Microsoft’s very own IronRuby.

    Chris explained that GitHub was an answer to a problem that he and his friends had: they were working on a number of open source projects, so many that managing them was “beginning to wear them down”. GitHub was created as a solution to that problem: it took care of the tedious parts of source code management so that they could focus on their code.

    Although GitHub hosts a number of open source projects and uses Git, which is open source, it is not open source. Chris explained that managing an open source project takes up more time that he or the others on the team have. “Ironically,” he said, “starting GitHub has given me less time to work on open source.” After hinting at his dissatisfaction with the GNU General Public License, an audience member asked "Does the GPL cause you nightmares?"

    “Yes,” he replied, after which he endorsed his preferred open source license. “MIT license all the way,” he said.

    Octocat, GitHub's mascot To promote GitHub, they took an approach that was closer in spirit to evangelism than standard marketing. “Companies still believe in old-school advertising, and they also think that what works offline works online,” he said. So they rely on the standard offline methods of promoting their wares: advertisements and marketing campaigns. In the online world, people trust their peers, so they opted for an approach that he called “guerilla marketing”: instead of spending money on ads, they spent money to hang out with developers, buy them beer and pizza and provide “a human face” to GitHub. He summed up the approach with a good one-liner: “Who knew that actually spending time with your customers would be good for business?" A great point, especially in today’s word-of-mouth-y, interconnected world.