Categories
Uncategorized

Random Hacks of Kindness in Toronto This Weekend

Rhok

Random Hacks of Kindness (RHoK) is a worldwide weekend-long marathon where computer programmers, humanitarian aid experts and general do-gooders get together to build prototypes of software to provide aid to people in need. This weekend, there are 18 such marathons taking place across the globe, and Toronto is holding one of them, thanks to my friend Heather Leson, the prime mover being RHoK Toronto.

This is the third RHoK to be held in Toronto, and here are the project that the teams are working on:

I attended RHoK 2 in December as an interested party as well as a Microsoft representative, and I wrote up the event in an article titled Hacking for Good Causes.

I’d like to send my regards to everyone at RHoK Toronto as well as all the RHoKs around the world. Keep on hacking the good hack!

I’ve included RHoK Toronto’s press release below.

The Press Release

Teams at Random Hacks of Kindness Toronto “hackathon” create new mobile and online tools

WHAT: Hackathon to solve humanitarian problems & pitch competition
WHEN: Pitch competition & judging: Sun., June 5 from 3 to 5 p.m.
Hackathon: Ends Sun., June 5 at 3 p.m.
WHERE: Ontario Institute for Studies in Education (OISE), 5th floor, 252 Bloor St. W., Toronto
WHO: Experts in climate, disaster, crisis; software, design, Internet, media, more (see below).

TORONTOJune 5, 2011 /CNW/ – Disaster professionals working with volunteer software makers in Toronto yesterday began building a set of mobile and online emergency aid tools whose prototypes they  aim to complete today. This evening, competing teams will vie for prizes in a pitch competition judged by a panel of experts.

The teams at Random Hacks of Kindness Toronto (RHoK Toronto) are among some 1,000 people in 18 cities across 6 continents participating in a global weekend-long hacking marathon, or “hackathon,” that unites technologists and humanitarian experts in an effort to solve pressing problems.

“It’s unbelievable that the teams are able to create these mobile apps and online tools in less than 48 hours,” said Heather Leson, lead organizer of RHoK Toronto. “By dinner time last night, one team here had already programmed a working prototype!”

Projects

Competitors at the Ontario Institute for Studies in Education in downtown Toronto are working on six projects:

  • A mobile app that can use Twitter, Facebook, e-mail and other notification services to deliver emergency messages even when cellular phone networks have stopped working, and can alert rescue workers when someone is alive under a collapsed building
  • A telemedicine tool that would help people in remote or disaster-stricken areas to visually diagnose life-threatening wounds and help them seek treatment
  • An alerts tool that harnesses the emergency response capabilities of the worldwide ham radio community to bridge the digital divide with Internet-based first-responders
  • An app that helps people find and identify food growing in their immediate vicinity
  • A tool that helps relief workers track and manage emergency medical kit inventory in the field
  • A tool that enables people to avoid adverse drug reactions and helps them create a personal digital medical history.

The Random Hacks of Kindness volunteer community — founded in 2009 by Google, Microsoft,  NASA, Yahoo and the World Bank — has produced mobile and online software tools that were deployed after disasters in ChileHaiti and Japan.

Pitch competition Sunday afternoon

“This afternoon’s pitch competition will let the teams in Toronto show off their work — and give the most innovative ones bragging rights,” said RHoK Toronto manager Melanie Gorka. “The best pitches will also win prizes that include a private lunch with leaders at Mozilla, which makes the Firefox Web browser; high speed computer networking equipment from Linksys by Cisco, security software from Symantec, and more.”

The Toronto teams will also be able to receive coaching to develop and enhance their pitch and presentation skills, and consult with special guests who are experts in crisis and emergency aid, before they showcase their projects in front of the pitch competition judges:

  • Jesse Brown, host of TVO.org Search Engine podcast; writer for Macleans.ca, Toronto Life.
  • Paul Osman, Mozilla Foundation. Open Web team manager.
  • Karen Snider, Canadian Red Cross national media manager and social media strategist.
  • Julia Stowell, Microsoft Canada open source community and marketing manager.

Special guests:

  • Sara Farmer, United Nations Global Pulse chief platform architect.
  • Kate Chapman, Humanitarian OpenStreetMap Team. Open global map for aid efforts.
  • Aaron Huslage, SafeCast. Crowdsourced open tracking of reactor-leak radiation in Japan.

“The best part of Random Hacks of Kindness is that no matter which teams win Toronto’s pitch competition, all the participants learn, mentor and share in their world. Plus, some projects will continue and maybe become fully built,” Heather Leson said.

ABOUT RANDOM HACKS OF KINDNESS TORONTO:

RHoK Toronto is an ad hoc committee of civic-minded citizens with professional expertise across a broad range of industry sectors. The first Random Hacks of Kindness hackathon in Toronto was held inDecember 2010.

Community partners new and old have donated space, food, funds, prizes, services and tools to help make the event a success. Donations may be made through the RHoK.org Toronto site or by contacting the organizers. Current sponsors include: Camaraderie, Centre for Social Innovation, CIRA, Cisco, GlobalNews.ca,  Jonah Group, Lady Atelier, Marketcrashers, MaRS Discovery District, Aaron McGowan, Microsoft Canada, Net Change Week, Nitido Inc., Rightsleeve, Symantec, Syncapse, Tropo, University of Toronto and Yahoo Canada.

RHoK Toronto is online at: www.rhok.org/event/toronto

RHoK Toronto on Twitter: www.twitter.com/RHoKTO

RHoK Toronto hashtag: #RHoKTO

ABOUT RANDOM HACKS OF KINDNESS:

Random Hacks of Kindness was founded in 2009 by Google, Microsoft,  NASA, Yahoo and the World Bank. The worldwide innovation community has seen thousands of volunteers  work on 120 open source software projects, including tools used in the Haiti and Chile earthquakes in 2010, the recent Japan quake and tsunami, and landslide-prone parts of the Caribbean. “Open source” means the computer code is available for anyone to use and build upon.

Global Random Hacks of Kindness community: www.rhok.org

On Twitter: www.twitter.com/randomhacks

Twitter hashtag: #RHoK

This article also appears in The Adventures of Accordion Guy in the 21st Century.

Categories
Uncategorized

The Apple Store’s 10th Anniversary Poster: The Full Text, and in Nice Readable Paragraphs Too!

apple store poster

The “In the last 10 years, we’ve learned a lot” poster. The full text is in this article.

Here we are, ten years after the opening of the first Apple Store. The dire predictions of a lot of naysayers, especially that most infamous one by Cliff Edwards at Bloomerg Businessweek, never came true. In fact, the opposite happened: the Apple Store is usually the busiest place aside from the food court at many malls, and the more iconic stand-alone Apple Stores have become tourist attractions on par with the landmarks in their respective cities. The Apple Store experience is the exact opposite of your typical PC store experience — with the notable exception of the Microsoft Store, and that’s because they not only repurposed the Apple Store design, they even repurposed an Apple Store manager.

microsoft store

A Microsoft Store. To borrow a line from one of their better ads: “Really?”

The Store has even had a subliminal influence on Shopify, from the more obvious $50 Apple Gift Card that new employees get to the less-obvious design cues that you can see in the design of our office workspaces (the fact that we all have Apple gear everywhere makes it look even more like a Store).

Over at MacRumors, Arnold Kim writes about the 10th anniversary poster that’s tucked in the back-of-house of Apple Stores. It’s meant to inspire the rank-and-file employees at the Stores, but that doesn’t meant that you can’t take its message of sweating the details of design, talking to and caring about your customers, being part of the community, hiring excellent people and “bringing the awesome” whenever you can.

Unfortunately, the poster’s not in plain sight at the Stores, and whoever designed it focused more on being arty than being readable. No worries: I got my paws on the text, formatted and annotated it a little, and present it to you below – enjoy!

The Full Text of the Poster

In the last 10 years, we’ve learned a lot.

We’ve learned to treat every day with the same enthusiasm we had on the first day. We’ve learned the importance of giving our customers just as much attention as they give us. And we’ve learned the art of hiring the right people for the right positions. We’ve learned it’s better to adapt to the neighborhood rather than expecting the neighborhood to adapt to us. Which is why we spend so much time and energy building stores the way we do.

Our first store, in Tysons Corner, taught us our first lesson within the first 30 minutes. We had just opened the doors when we noticed the steel already needed polishing. With a special polishing solution. And a special polishing tool. That’s when we learned that blasting steel with virgin sand makes it less prone to scuff marks.

apple store 1

The Midtown Manhattan Store. Creative Commons photo by Brad Greenlee.

We’ve also learned that glass can be much more than glass. We’ve learned that a 32’6" transparent glass box can stand tall even among the giants of the Manhattan skyline. That when glass becomes as iconic as the Fifth Avenue Cube, it can also become the fifth most photographed landmark in New York City. And we’ve learned that if you have to, you can close an entire street in Sydney to bring in three-story panes of glass. And when you create three-story glass, you also have to create a rig that can install three-story glass. We’ve even figured out how to make the world’s largest pieces of curved glass for one of our stores in Shanghai.

We’ve also learned more than a few things about stone. Like how to reveal granite’s true color with a blowtorch. And that sometimes granite has veins of color that have to be matched.

We’ve also learned that getting these details perfect can feel like trying to move a mountain. Sometimes two. But in the end, the effort is worth it. Because steel, glass, and stone can combine to create truly unique and inspiring spaces.

apple store 2

The Paris Opera Store.

We also understand that finding the right design for our stores is critical. We even built a full-scale facade of the Regent Street store in a Cupertino parking lot to be sure the design was right. Which taught us the value of seeing things full size. We once had a notion that ministores would offer the ultimate in convenience. Then we built one. Which showed us that bigger can actually be better. And we’ve learned that even when our stores are big, no detail is too small. This is something we learned all over again when we restored the Paris Opera store down to the last of its more than 500,000 tiles.

We’ve also learned that our customers like open spaces, glass staircases, and handcrafted oak tables. And that those spaces don’t need to smell like pine trees or tomatoes to make them inviting. We’re constantly working to make our stores more artful, more iconic, and more innovative. And we’re awfully proud of every single one. We’re proud of our stores not just because they’re successful, but because of everything they’ve taught us. All the ways Apple Stores have made Apple stronger as a company.

Over the past 10 years, we’ve learned that our stores are the embodiment of the Apple brand for our customers. Now, our customers just happen to be the entire reason we’re here, so let’s dedicate a few words to them. Around the time we opened the store in Tysons Corner, in 2001, everyone else was trying to talk to their customers less. Which made us think that maybe we should talk to them more. Face-to-face if possible. So we’ve found ways to strike up a conversation at every possible opportunity. We talk while they play with the products on the tables. And when they join us for a workshop. These conversations have taught us that customers love our products, but what they really want is to make a scrapbook out of family photos. They want to make a movie about their kid. Or a website about traveling across the country.

Nicholi White, the “Apple Store Kid”.

Which has taught us that Apple Stores can and should be centers for creativity. And we’ve figured out through programs like Apple Camp and Youth Workshops that creativity doesn’t care about age. The movies and slideshows we’ve seen kids make are proof that all you need are the right tools and an idea. And we must be doing something right, because the kids’ smiles are just as big as ours. We’ve also learned that musicians can record an album in our stores that goes to the top of the charts. And that award-winning film directors are interested no just in our computers but in our workshops.

We’ve learned a lot about having fun. And we’ve learned our customers like to use our products for business too. Experience has taught us that having one Pro Day per week dedicated to business customers isn’t enough. That we need to be open for business very day. And have space devoted to business training sessions, workshops, and events. We’ve learned that every staff member should be just as fluent in the needs of a business customer as the needs of any other customer.

Our millions of conversations with customers of every stripe have taught us it’s not about making people feel like a computer or phone loves them. That’s impossible. Instead, it’s about giving people the tools to do what they love. And we’ve learned how to create amazing programs like One to One and Personal Setup to give people those tools. We created programs like these to replace fear with confidence. Because our customers have shown us that the ownership experience is even more important than the sale. We learned all this by asking questions. And genuinely listening to the answers. And to be sure we’re hearing everything, we’ve learned to converse in 36 languages, and a few of the local dialects as well. We’ve even learned a few cultural things. The proper use of the word y’all, for example. And our Japanese customers one taught us that their superheroes don’t wear capes. Which also taught us to see feedback as a gift.

genius bar

Creative Commons photo by Randy Lemoine.

We’ve learned that a visit to the Genius Bar can fix more than just computers. It can also restore a customer’s relationship with Apple. And that we don’t need a minifridge stocked with free water to get people to talk to a Genius. Knowing they can get exactly the right answer when something isn’t working is enough. We even figured out how to shorten the time an in-store repair takes from seven days to one day.

Our customers hold us to exceptionally high standards. So we’ve learned how to raise ours even higher. 325 store openings have taught us that a grand opening creates blocks and blocks of excitement. That people will stand in line for hours, even days, just to be among the first to walk through the front door. And to get a free T-shirt. Speaking of T-shirts, we’ve learned more than you can imagine about our own. We’ve found that when we wear black T-shirts, we blend in. And when we wear too many colors it’s confusing. But blue shirts are just right. We’ve also learned that it takes precisely 4,253 stitches to embroider the Apple logo on those blue shirts. And we even figured out which direction the stitches should go in.

When it comes to product launches, we’ve learned we have to work hard to ensure supply meets demand. If not on the first day, then soon thereafter. And we’ve learned how to put our own products to use in innovative ways in our stores. We’ve created entirely new systems like EasyPay to help our customers as efficiently as possible. We’ve replaced the red phone behind the Genius Bar with more expertise right in our stores.

All of these experiences have made us smarter. And at the very center of all we’ve accomplished, all we’ve learned over the past 10 years, are our people. People who understand how important art is to technology. People who match, and often exceed, the excitement of our customers on days we release new products. The more than 30,000 smart, dedicated employees who work so hard to create lasting relationships with the millions who walk through our doors. Whether the task at hand is fixing computers, teaching workshops, organizing inventory, designing iconic structures, inventing proprietary technology, negotiating deals, sweating the details of signage, or doing countless other things, we’ve learned to hire the best in every discipline.

We now see that it’s our job to train our people and then learn from them. And we recruit employees with such different backgrounds–teachers, musicians, artists, engineers–that there’s a lot they can teach us. We’ve learned how to value a magnetic personality just as much as proficiency. How to look for intelligence but give just as much weight to kindness. How to find people who want a career, not a job. And we’ve found that when we hire the right people, we can lead rather than manage. We can give each person their own piece of the garden to transform. We’ve learned our best people often provide the best training for the next generation. And that it’s important for every member of our staff to not only feel a connection to their store, but to the teams in Cupertino and to the stores around the world. Because the best ways of doing things usually translate, regardless of language or country.

We’ve also learned that due to the exceptional quality of our applicants, it can be harder to be hired at the Apple Store than in Cupertino. It can sometimes take two to three years to bring someone in. Not because they aren’t right for Apple. But because we want to be sure the opportunity we have to offer is right for them. Why have we learned to be so selective? So careful? Because our people are the soul of the Apple Stores. And together, our team is the strongest ever seen in retail. As beautiful and iconic as our stores may be, the people who create and staff those stores are what matters most.

apple store 3

So on this 3,652nd day, we say thank you to every single one of you. We say thank you to those who were there on the first day, and to those whose first day is today. The past 10 years of the Apple Store have changed Apple as a company. Our experiences, our successes, even our occasional missteps, have made us better. They’ve made Apple better. And it’s because of those experiences, and the ways they’ve changed us, that we can’t wait to see what we’ll learn next. It’s been 10 years. What an amazing first step.

This article also appears in the Shopify Technology Blog.

Categories
Uncategorized

Good JavaScript Reading, Part 1: Eloquent JavaScript

eloquent javascript

If you decide to purchase only one JavaScript book, that book should be Marijn Haverbeke’s Eloquent JavaScript. There’s no greater recommendation than JavaScript creator Brendan Eich’s unsolicited review on Amazon:

A concise and balanced mix of principles and pragmatics. I loved the tutorial-style game-like program development. This book rekindled my earliest joys of programming. Plus, JavaScript!

An equally important recommendation comes from Shopify’s JavaScript guru, Nick Small, who points anyone who wants to get good at JavaScript to Eloquent JavaScript. Nick’s working on a very interesting JavaScript project (which I’ll write about in a future article) and he’s forgotten more about JavaScript than I’m likely to learn, so I give his JavaScript-related suggestions a lot of credence.

We’ve got a number of dead-tree copies of Eloquent JavaScript floating around Shopify, so I thumbed through one a couple of evenings ago and bought my own shortly afterwards. It’s that well written; my reading that night sold me on the book. I was initially rolling my eyes when I saw the title of the first chapter – Values, Variables and Control Flow – but Haverbeke’s got a gift for presenting things that you’ve seen before, shining a new light on them from an odd angle and giving you a new way of looking at stuff that is so familiar that you hadn’t given it much thought until now. And he does so in an informative, entertaining way, as evidenced by this passage on how to think of variables:

You should imagine variables as tentacles, rather than boxes. They do not contain values; they grasp them – two variables can refer to the same value. Only the values that the program still has a hold on can be accessed by it. When you need to remember something, you grow a tentacle to hold on to it, or you reattach one of your existing tentacles to a new value.

Haverbeke introduces the right stuff at the right time. After the basics, he presents functions, data structures and then error handling, providing a solid base of knowledge for the reader. With those out of the way, he goes on to cover functional programming, then object-oriented programming (most people would do it the other way around, but if you’re not getting into functional programming with JavaScript as soon as possible, you’re missing out on a lot of the power), then modules. After that, there’s a solid chapter on regular expressions and the book closes with four chapters on the most likely application of JavaScript: web development, from the DOM to browser events to what we once used to refer to as “Ajax”. At a svelte 200-ish pages, Eloquent JavaScript covers a lot of ground in less space than many other, lesser books you’ll find cluttering the shelves at your local store.

The only way to truly learn a programming language is to take it for a spin and as Seth Godin likes to put it, “poke the box”. Haverbeke made learning JavaScript from Eloquent JavaScript easier by providing an interactive JavaScript environment. There, you can run any of the examples from the book, make changes to them and see what the results are, and you can even experiment with your own original code.

Eloquent JavaScript is that rare sort of book that works for the person who’s just started programming, the experienced programmer who’s getting started with JavaScript and even the experienced JavaScript programmer who wants to get it right. If you code in JavaScript, this should be on your bookshelf (or in your e-reader).

How to Get Eloquent JavaScript

From the publisher, No Starch Press: It’s available in a couple of forms…

  • “Dead-tree” (a.k.a. paper) plus free ebook version: US$29.95
  • Ebook version (includes PDF, mobi, and ePub): US$23.95

From Amazon: Available in these forms…

The old version (free!): The version of Eloquent JavaScript that I’m talking about in this article is the 2011 edition, which is published in paper book and ebook formats. The previous version of the book is available online in the following forms:

This article also appears in the Shopify Technology Blog.

Categories
Uncategorized

Salmagundi for May 31, 2011

salmagundi

A salmagundi (sometimes shortened to salmi) is a 17th-century English dish made of a mashup of ingredients. Every salmagundi I’ve ever seen has always included slices of hard-boiled egg, but beyond that, I’ve seen all manner of ingredients thrown in: roasted and smoked meat, fish and seafood, fruits and vegetables, nuts and flowers, and wildly different kinds of dressings and sauces. Nobody’s sure of the origin of the word, but it’s gotten around, from the French salmigondis, meaning “hodgepodge” and the Jamaican “Solomon Gundy”, a savoury spread made of herring.

little brother

In Cory Doctorow’s young adult novel Little Brother, the protagonist Marcus has a computer made up of a mishmash of parts that he calls “The Salmagundi”. I liked the name so much that I’ve decided to use it for posts that are a mishmash of stories, like this one.

Maple Butter / 5 Unconventional Ways to Entrepreneurship

Maple Butter is a new blog for entrepreneurs, and it’s worth checking out. Created by Dan Martell (creator of Flowtown), it describes itself as “a gut-spilling, F-bomb dropping, Woody-Allen-on-a-therapist’s-couch experience” where entrepreneurs and “wantrepreneurs” can get “useful advice that helps you turn traction into triumph”. I can get into that.

The latest article in Maple Butter is 5 Unconventional Ways to Entrepreneurship, a summary of Dan’s recent presentation at Big Omaha. He talks about about his presentation in the video above (taken from Beyond the Pedway), and those 5 unconventional ways are summarized below:

  1. Don’t listen to your parents (at least when it comes to entrepreneurship). Unless your parents are successful entrepreneurs, their advice is more than likely to be biased against entrepreneurship and favour erring on the side of risk avoidance.
  2. Embrace your (enlightened) laziness. Once again, this comes with a qualification: this means using your laziness to come up with an idea that saves people effort or makes their lives easier. It’s laziness as a virtue in the Larry Wall sense.
  3. Choose your friends carefully. Strangely enough, this sounds like advice from your parents, and in this case, you should listen to them. As the saying goes, you’re the average of the 5 people you spend the most time with, and if they’re not pushing, inspiring and challenging you, you’re not going to go far. (This is an observation I’ve made when looking at some over-educated, under-employed, ambition-lacking acquaintances. They are good music recommenders, though.)
  4. Hustle to help. You’ve probably heard this advice, whether you’ve heard the Beatles lyrics “The love you take is equal to the love you make” or read the book How to Make Luck (an underappreciated gem, in my opinion). I have personally experienced this: if you are known for helping others, others will come to your aid.
  5. Failure is part of the process. You learn best from mistakes, so make excellent ones! Make mistakes borne of effort and ambition, not laziness and fear.

Dan explains more in his article, so be sure to read it. And keep an eye on Maple Butter; it’s got a lot of promise.

Smashing Magazine’s Ten Oddities and Secrets About JavaScript

javascript

Ten Oddities and Secrets About JavaScript is a list of curiosities contained within the world’s most simultaneously misunderstood and useful programming languages. Read it and find out how null is an object but not an instance of one, the usefulness of the === operator, the power of regular expressions in JavaScript, fooling your functions into thinking that they’re running in a different scope and how undefined can be defined.

Jacques Matthiej’s Productivity Tips for the Easily Distracted

productivity tip 1

Jacques Matthiej is easily distracted, so he went all-out in his quest to become less so. He rearranged his work desk, created a new home office out of a trailer and got a new clock. What he did may be more extreme than what you want to do, but it works.

TechCrunch: Users Say They’re More Likely to Buy if a Business Answers Their Questions on Twitter

more likely to buy

The Twitter Q&A search engine service InboxQ conducted a survey of over 2000 young Twitter users and discovered that just shy of two-thirds of the respondents were more likely to buy from a business that answered their questions using Twitter. They’re also almost as likely to follow a business that answers their questions.

The moral of the story? If you’re serious about using social media to promote your company or be in better touch with your customers, make sure you answer your users’ questions!

The Matt Cutts Debunking Flowchart

matt cutts debunking flowchart

If you run a public-facing online business – say, a Shopify store – sooner or later, you’re going to have to deal with people saying crazy things about you. Matt Cutts, head of Google’s web spam team as well as its unofficial spokesmodel, does a lot of debunking of the many crazy things and accusations aimed at Google. The graph above, courtesy of Search Engine Land, shows how Matt handles them.

This flowchart is similar to the US Air Force’s rules of engagement flowchart, which I wrote about in Global Nerdy a couple of years back:

usaf blog rules of engagement

This article also appears in the Shopify Technology Blog.

Categories
Uncategorized

Ruby Foo

ruby foo

After three years away from all but the most trivial of noodling with the Ruby programming language, I have become a Ruby Foo (as in Mr. T’s catchphrase, “I pity the foo’!”). I am severely out of practice with Ruby, and with two versions having appeared since I last made a living with Rails, even the act of creating a new project is completely different. Since Ruby is the preferred back-end programming language at Shopify and I am the Platform Evangelist, it’s time for me to “sharpen the saw”.

obie

Luckily for me, I ran into Obie Fernandez at the South by Southwest Interactive conference back in March. We sat down for a coffee and he told me about what was happening with Hashrocket and I told him that I was a hair’s breadth away from joining Shopify.

“I’ve been away from Ruby long enough that I’m probably back at newbie level again,” I told Obie between sips of latte made with overcooked beans. “I did it for a bit at the beginning using IronRuby, but between doing all the C# and PHP and the open source ‘Iron’ languages dying of neglect at Microsoft, I’m severely out of practice. I thinking of joining Shopify, and let’s face it: I don’t want to look like an ignoramus in the presence of rock stars like Tobi, Cody and Edward.”

“Give me your email,” said Obie, “and I can do something to help.” Of course he could – he’s the series editor of Addison-Wesley’s Professional Ruby series of books.

Shortly after South by Southwest, a couple of links to PDF editions appeared in my inbox. Thanks, Obie!

eloquent ruby

The first link was to Eloquent Ruby, Russ Olsen’s guide to speaking idiomatic Ruby and getting the most out of the Ruby programming language. It’s a breezy read, written in the same conversational tone that Olsen used in Design Patterns in Ruby, and the book is broken down into 31 bite-size chapters about a dozen pages in length. Each chapter’s title is some principle for programming eloquent Ruby – the first few are “Write Code That Looks Like Ruby”, “Choose the Right Control Structure” and “Take Advantage of Ruby’s Smart Collections” – and each explains that principle, provides code, shows you where you can find the principles used in actual, working projects. The book straddles the line between tutorial and reference; it’s written in tutorial style, but it’s organized so well that it might as well be a reference for those parts of Ruby that you might not use often (but should) as well as for those parts you keep forgetting (in my case, I always end up having to look up metaprogramming). I’ve been going through it at about a chapter an evening, and I’ve been getting smarter each time. Whether you’re coming back to Ruby after a hiatus like I am or if you just simply want to get better at Ruby, you should have this book in your library.

If you’d like to know more about Eloquent Ruby and its author, Russ Olsen, check out this interview with him at InfoQ.

ruby on rails 3 tutorial

I have yet to properly sink my teeth into Ruby on Rails 3 Tutorial but a quick scan of the book has shown that it’s quite promising, and the Amazon reviews are bolstering my belief.

I’ll be writing from time to time about my return to Ruby and Rails in this “Ruby Foo” series of posts, and I hope that whether you’re new to the language, returning after a break like me or aiming for “guru” status, that you’ll check out this blog regularly for notes on my explorations and what I’ve learned.

This article also appears in the Shopify Technology blog.

Categories
Uncategorized

R2-Tea-2

R2 tea 2

As geeks, we never miss an opportunity to Star Wars-ify stuff at Shopify. Meet our kettle, R2-Tea-2.

This article also appears in the Shopify Technology blog.

Categories
Uncategorized

Notes from "How to Run a Startup Like Genghis Khan"

Genghis khan statue

Among the sessions that took place during the first time slot of BarCamp Portland was Kevin Hale’s How to Run a Startup Like Genghis Khan. As one of the guys behind the online form startup Wufoo (who were recently acquired by the online survey startup SurveyMonkey), Kevin’s been applying the principles inspired by one of history’s greatest — and feared — military commanders to great effect.

As is my habit, I took copious notes, after which I expanded and annotated them and which I now present below. Enjoy!

How To Run a Startup Like Genghis Khan

  • Genghis Khan made arrangements so that his death would be a mystery
  • He was buried in an unmarked grave
  • In order to preserve the mystery of his death, he had a squad kill the people who buried him when they had completed their task
  • And in order to be very thorough, he had another squad kill that first squad

  • Most of you are aware of Khan’s reputation: a ruthless killer and sire of many children across Asia
  • His story is a little more complex than that. What many people don’t know is that he was captured and made a slave when he was young, broke free and rose to unite the various confederations of mainland Asia and is considered to be one of history’s most charismatic and dynamic leaders
  • He is responsible for many developments in his part of the world, including opening trade routes, developing a system of writing and promoting religious tolerance across his empire
  • In the span of 25 years, his Mongol Empire conquered more land than the Roman Empire did in 400. He conquered more territory than anyone in history
  • With his forces comprising only 70,000 warriors, he took on and defeated armies that outnumbered him 3 to 1

  • Strangely enough, the things Khan did in order to achieve success are quite applicable to the startup world:
    • He did big things with small teams
    • He used combinations of technologies from different places
    • He was an excellent word-of-mouth marketer

  • Khan was a Mongol
  • "Mongol" was often used as a catch-all term for eastern people such as the Huns, Scythians and so on
  • These people were nomadic badasses
  • Their home was the Asian steppe: an unforgiving land with few trees and sparse resources
  • The Gobi Desert is immediately south, and huge mountainous regions to the north and west
  • The capital city, Ulan Bator, has the lowest average temperatures of any world capital
  • Being nomadic was a survival tactic in such climes

  • Consider the way they lived versus people who lived in cities, towns or villages:
Mongols "Townies"
Lifestyle Mobile Settled
Structures Tents Buildings
Tactics Offensive Defensive
Resource Management Resourceful Wasteful
Who Provided Food? Hunters Gatherers
What They Ate Protein Carbs

 

nomad vs sedentary

  • If you’re in a startup, you’re in a situation similar to the Mongols
  • You should borrow from their bag of tricks
  • It’s all about less, namely:
    • Less money
    • Fewer employees
    • A small office (or sometimes, no office at all)
    • Less hardware
    • Fewer features
    • Less code
  • Y Combinator-funded startups use a "less" philosophy: they fund small teams, give them just enough money to operate, and encourage them to be "ramen profitable".
  • Like Khan, startups should try to take advantage of efficiencies

Mongolian army

  • Khan had a relatively small force and did not like to sacrifice the lives of his men needlessly
  • He tried to beat his enemies before battle even begun — he gave top priority to defeating the will of the enemy
  • The goal was to get villages to surrender before his army set foot in them
  • Khan’s forces:
    • Devoted a lot of time to building word-of-mouth and spreading rumours of Khan’s impending attacks
    • Sent scouts to reconnoiter cities in order to find potential targets and make maps
    • Captured local scribes and put them to work writing propaganda: "Genghis Khan is coming!"
    • Would build a pile of skulls outside a city they were planning to attack
    • Would never attack a main stronghold first; instead he would first destroy their outposts
    • Captured the bright people from the outposts and let the others go free; those set free would run to another town or outpost, spreading word of Khan’ attacks and taxing their resources
    • Built fortifications around cities they were going to attack, followed by siege machines
    • Even participated in biowarfare, catapulting human heads and plague victims over city walls
  • On the day of battle, Khan’s forces would put on a big production prior to their attack:
    • They would gather outside the place they were attacking
    • Soldiers would carry multiple torches, making their numbers appear far greater
    • They would be accompanied by chanting priests, war drummers and Tuvan throat singers, who would create a lot of noise outside the target city for a long time to scare the citizens
    • After a long while, the priests, drummers and singers would stop suddenly and simultaneously
    • Shortly after the period of silence, which would be terrifying to the enemy, they would attack
  • Khan’s armies would use tactics suited to their numbers:
    • They would engage in heavy combat, and then retreat
    • The opposing army would follow them, not realizing them that he was luring them into being boxed in by the retreating force and another force lying in wait in a "kill zone"

mongolian army 2

  • Lessons to learn from Khan:
    • Build your audience and make them part of the extravaganza
    • 37signals built their audience with the Signal vs. Noise blog, which was founded in 2001
    • It wouldn’t be until 2004 that they released their product, BaseCamp
    • Gmail built their audience and demand by making the initial version a limited-invitation beta
    • Thanks to the scarcity, early GMail users became mini-celebrities
    • Wufoo did this by going with an unusual contest: "Win a friggin’ battle axe!"

Win a battle axe

  • In medieval warfare, armies were arranges like so:
    • Infantry in the front
    • Mounted calvalry in the middle
    • Archers in the back

    Voltron

  • This approach is an example of what I call the "Voltron Inefficiency", where every Voltron episode seems to follow the same pattern:
    • First, the five members of the Voltron team would try to take on the enemy in their individual lion ships, and lose
    • Then, they’d merge the lions ships together to form Voltron and still lose
    • Finally, they’d use the winning tactic: with Voltron formed, they’d pull out  the best weapon, the blazing sword and defeat the enemy
    • The inefficiency: why not just use the best of everything –  Voltron and the blazing sword — at the very beginning?
  • Khan’s forces didn’t fall victim to the Voltron inefficiency: they put the archers on horses, combining mounted cavalry and bowmen
  • Their horses were smaller and faster, and they wore lighter leather armor (less weight) and only on the front (less weight, and discourages retreat)
  • Compared to the English longbow, a large, cumbersome and simple bow, the Mongolian composite bow could be folded for travel, was light enough for even the smallest of women to use and had greater range

mongolian composite bow

  • The startup equivalent of this is to have everyone, regardless of title or position, take on customer-facing roles such as customer support, marketing and sales
  • They do this at Kayak.com, which brings up the question: "Why pay an engineer $150K to answer phones?"
  • The answer: if you do this, engineers will fix their code so that they don’t have to answer phones
    • If they hear the same complaint from many customers, they’ll fix that problem rather than have to hear that complaint again
  • This approach makes for developers and designers who become more responsible for the product
  • At Kayak, the average response time on business days is about 7 – 12 minutes
  • By putting developers on support, they end up building tools to help the support team scale

Genghis khan museum poster

  • Khan had his generals or sons marry people from the places he conquered
  • He did this to forge alliances and maintain long-term relationships with the nations under his rule
  • At Wufoo, we’re fanatical about creating and maintaining long-term relationships with our customers
  • Consider the work of John Gottman, who could look at couples fighting and predict with uncanny accuracy who would stick together and who would break up
  • Our relationship approach depends on the type of user:
    • With new users, it’s like dating
    • With longer-time users, it’s like marriage
  • There are fights in every relationship, whether within a couple or a relationship with a customer; the types of fights have analogues in both types of relationships:
Reason for fight
in a marriage
Customer analogue
Money Cost and billing
Kids Customer’s customers
Sex Performance
Time Performance

 

  • Customer relationships are important at Wufoo
  • We make every one of our employees say "Thank you" to our customers, with hand-written cards
  • Our users stay loyal, with a deep emotional connection to us

Mongolian bridge

  • The Mongols, being nomads, didn’t leave behind literature, art, buildings or cities
  • What they did leave behind were bridges, which were useful to them as a travelling people
  • These bridges benefited everyone else too: they even made the Silk Road possible
  • Wufoo also builds bridges by participating with the community around it

This article also appears in the Shopify Blog.