Salmagundi for January 10, 2012

salmagundi nuts and bolts

(“Salmagundi” is just another way of saying “hodgepodge”, and it’s our title for articles made up of collections of interesting links.)

CUSEC 2012

cusec turing completeCUSEC is short for the Canadian University Software Engineering Conference, an annual gathering of undergrad and post-grad students where they get to learn about, discuss and share their passion for software. CUSEC is famous for “punching above their weight class” when it comes to gathering speakers; among the noteworthy ones are Kent Beck, Joel Spolsky, David Parnas, Greg Wilson, Chad Fowler, Kathy Sierra, Dave Thomas, Jeff Atwood, Tim Bray, Dan Ingalls, Richard Stallman, Reg Braithwaite, Doug Crockford and Mike Shaver.

CUSEC’s keynote speakers for 2012 are an impressive bunch:

  • Alexis Ohanian: co-founder of Reddit, founder of Breadpig, Y Combinator ambassador, launcher of Hipmunk and many, many more things.
  • Jeremy Ashkenas: creator of CoffeeScript, lead dev of DocumentCloud and contributor to Backbone.js, Underscore.js and many other open source projects.
  • Gayle McDowell: Founder and CEO of
  • Greg Kroah-Hartman: Linux kernel developer.
  • Bret Victor: UI and visualization guy who’s done work for Apple, Al Gore (his interactive data graphics) and Alesis.
  • Alex Himel: Engineering manager at Facebook.

Shopify will be at CUSEC! Not only are we a sponsor; we’re also helping run the DemoCamp taking place on Thursday night. I’ll be hosting, my coworker and teammate Edward Ocampo-Gooding with be one of the judges, and it should be an all-round good, geeky time.

Whether you’re a student or working in the “real world”, CUSEC is a conference worth attending. Check out their site at for details.

The Invention of Waterloo

waterloo map

Waterloo, Ontario is a town about an hour and a half drive southwest of Toronto. While you may not have ever heard of the town, you’ve definitely felt its effects, especially if you work in tech or studied computer science. It’s the home of the University of Waterloo, a science and technology-focused school that was the first university in North America to create a faculty of mathematics and has the largest co-op education program in North America. You’ll find Waterloo students doing well in programming and engineering competitions and its alumni doing well in tech companies large and small across the globe or even starting their own (there’ve been nearly 500, the most famous of which is RIM).

The Invention of Waterloo is an article in the Canadian arts-and-letters magazine The Walrus that explores how the Waterloo area evolved into what’s now known as “Canada’s Technology Triangle” and the critical role that the University of Waterloo played in that evolution.

Git: The Simple Guide

git - the simple guide

Guides to Git don’t get any simpler than this presentation (which lives in GitHub, of course).

This article also appears in the Shopify Technology Blog.


Which Conferences Should Shopify Attend?

calling all conferences

The public-facing members of Shopify’s Apps Team — that’s Yours Truly (Joey deVilla, Platform Evangelist), David Underwood (Developer Advocate) andEdward Ocampo-Gooding (Developer Advocate) — are trying to reach more developers in 2012. We want to do this by getting out to as many developer conferences, meetups, hackfests and other similar gatherings as our travel budget will allow.

We’re looking into a number of upcoming gatherings, but we’re sure that you, the developers out there, collectively know more about what’s happening than we could ever find out. That’s why we’re asking: which upcoming conference should we, as Shopify’s representatives, attend?

The kind of gathering we’re looking to attend is either primarily aimed at developers or at least has developers as a significant chunk of its intended audience. Depending on the circumstances, we may simply go as attendees, sponsor the event, speak at it or even hold some kind of hackfest (and we do give out nice prizes — we’ve recently given away an iPad 2 at a hackfest and a MacBook Air for a developer contest).

If you’ve got a suggestions for something we should attend or even participate in,drop me (Joey) a line or leave a suggestion in the comments!

This article also appears in the Shopify Technology Blog.


Featured Shopify App: Gainify

gainify iconGroup deal promotions are popular with bricks-and-mortar stores and can bring many new customers through the door. The Gainify app, which is available right now at the Shopify App Store, brings the power of group deals to your shop in an simple to use package, and gives you analytics so you can see how well your promotions are doing.

We talked with the people behind Gainify and asked them a few questions about their app, and we’ve shared their answers in this article.

What does Gainify do?

Gainify brings group deals to your shop, as well as a way to create, manage and distribute them. Unlike other group-type apps for deals and promotions, Gainify is made specifically for online shops and to ensure in-store purchases and boost your cross-selling opportunities. You create a deal in Gainify’s Deals Dashboard, and then Gainify automatically updates the product’s price and promotes that product as a deal to people visiting your shop.

What are Gainify’s key features?

Gainify lets you:

  • Create and manage group-based promotions using an easy to use and intuitive interface.
  • Import your entire inventory into Gainify in a single click so any of your products can be part of a deal.
  • Run store-wide or product page promotions in your Shopify shop.
  • Select from a variety of deal themes or make your own theme using our Gainify Plugin Designer.
  • Not worry about product prices: it automatically updates them based on the deal you created.
  • Market your deals to Facebook users with the Gainify Deals Facebook app.
  • Harness your customers’ use of social networks such as Facebook, Twitter for further deal distribution.
  • Track your deals’ performance through its comprehensive analytics dashboard and see impressions, clicks and purchases to help you make better decisions.

Why should shopowners use Gainify?

As a shopowner, you’ll want to use Gainify because it’ll help you in the following ways:

    • Unlike traditional group-based deal promotion tools, Gainify includes features specifically designed for online shops.
    • Traditional promotion tools are cumbersome to set up, often require tremendous offline and manual effort and and can get expensive because of the commissions thet charge. Gainify avoids these costs by introducing a cloud-based automated deal management portal.
    • You can expand your customer reach and acquiring new customers by leveraging Gainify’s growing marketing platform as well as popular social media channels such as Facebook and Twitter.
    • We’ll be adding a new feature soon: targeted deals based on the customer’s social graph (that is, their connections on social networks) and purchase behavior.

    Where did you get the idea for Gainify?

    The idea for Gainify came to us after we heard from a disgruntled customer of a popular daily deal application. There was a lot of pain involved: huge fees, manual effort and extremely low return on investment. We immediately thought of how we could potentially disrupt this space and create a better system for daily deal management and distribution.

    We continued to brainstorm the initial design and user experience and built a prototype at the TechCrunch Disrupt San Francisco ‘11 24-Hour Hackathon. After winning the Hackathon and hearing all the incredible encouragement from distinguished industry leaders at TechCrunch Disrupt, there was no looking back. After 3 weeks of further development and 5 weeks of intense QA, we launched Gainify in the Shopify App Store.

    Tell us a little about yourself.

    krishna and sathish from gainify

    Pictured above: Sathish and Krishna with the other winners of the TechCrunch Disrupt Hackathon.

    We’re a team of one computer scientist and one software engineer/product manager operating out of San Francisco and Houston.

    Krishna Bhat is a MBA student from Columbia Business School. He has 8 years of experience in the enterprise software industry in various product management and solution architecture roles. Just before business school, Krishna worked as a solution architect focused on customizing and delivering enterprise software for large enterprises such as Oracle, Fujitsu, ADT and McDonalds. Krishna also has a Bachelor of Engineering in Computer Science from University of Mumbai. You can follow him on twitter at @krishnabhat.

    Sathish Raju has a B.E. in Computer Science and Engineering. Before co-founding Gainify he had worked in many technical roles as a developer, technical architect and tech co-founder in various enterprise software projects in large enterprises such as Oracle, Cisco, ADT, AECOM and Oxy. Apart from his day job, Sathish has also contributed to many open source projects. You can follow him on twitter at @sathishkraju.

    Where can I find out more about Gainify?

    You can find out more about Gainify at its page in the Shopify App Store.

    gainify poster

    You can also find out more about Gainify through their various sites and social media accounts:

    This article also appears in the Shopify Blog.


    New Year’s Resolutions for Techies in 2012

    Woody Guthrie's New Year Resolutions 1942

    Click the image above to see it at full size.

    Pictured above are folk singer Woody Guthrie’s new year resolutions for 1942. They’ve been making the rounds on the internet lately and I thought they’d make a great intro for this article.

    Although written by a guy in a very different line of work for a bygone era, a lot of them are still applicable to today’s techie:

    • Work more and better
    • Work by a schedule
    • Wash teeth if any
    • Take bath
    • Eat good: fruit, vegetables, milk
    • Wear clean clothes – look good

    …and so on.

    Even “write a song a day” is applicable. Woody was a songwriter, and the best way to become good at it is experience. He certainly got his 10,000 hours in. If you write code, a good resolution to make would be write some code every day.

    Although you can resolve to improve yourself any old day, arbitrary milestones like New Year’s Day are perfect times to take stock of yourself and how you can do better. We’re only a few days into 2012, so you shouldn’t feel as if you’ve missed the opportunity to make resolutions and stick to them. Besides, if you need some kind of arbitrary “marker date”, Chinese New Year’s only a couple of weeks away.

    12 Resolutions for Programmers

    “It’s important for programmers to challenge themselves,” writes Matt Might. “Creative and technical stagnation is the only alternative.”

    With this in mind, he’s put together a list of 12 month-size resolution, each one an “annually renewable technical or personal challenge. I’ll list the resolutions below; check out his article to see the full details about each one.

    1. Go analog.
    2. Stay healthy.
    3. Embrace the uncomfortable.
    4. Learn a new programming language.
    5. Automate.
    6. Learn more mathematics.
    7. Focus on security.
    8. Back up your data.
    9. Learn more theory.
    10. Engage the arts and humanities.
    11. Learn new software.
    12. Complete a personal project.

    The No-Resolution Resolution: How to Really Be Happy in 2012

    This one isn’t necessarily for techies, but as with Woody Guthrie’s resolutions, it doesn’t take much imagination to see how a photographer/yoga teacher’s resolutions can apply to you. Her “no-resolution resolutions” try to cast resolutions in a different light: just work at being happier, try to see your resolutions as dreams rather than chores, do things incrementally (“If you don’t feel like going for a run, just put on your shoes and see what happens”), practice and take refuge in yourself. All good advice.

    12 Tech Leaders’ Resolutions for 2012

    GigaOm interviewed 12 tech leaders, asking each to state their big resolution for 2012. Among the resolutions are “Stay nervous” (Scott McNealy, formerly of Sun, now WayIn), “Open web FTW” (Matt Mullenweg, WordPress/Automattic), “Be a better manager” (Dennis Crowley, Foursquare) and “Be the consumer-focused innovator” (Dan Hesse, Sprint’s CEO – good luck with that one, guy).

    Of particular interest to me were Caterina Fake’s “Make technology more human” and Dave Morin’s “Whip myself – and Path – into fighting shape”.

    10 New Year’s Resolutions for Designers

    This is .net magazine’s list; check out the article for the details behind each one.

    1. Choose better problems to solve.
    2. Stop stealing crap.
    3. Stop trying to save bad work.
    4. Stop being your own obstacle.
    5. Blame yourself first.
    6. Stay curious.
    7. Learn to make mistakes faster.
    8. Stop using your mom as an example of a stupid person.
    9. Learn to write.
    10. Get comfortable arguing.

    I especially like the one about not using your mom as an example of the “dumb user”. I don’t know about your mom, but mine’s the chief of cardiology at a big hospital. As the article says: “Good design comes from empathy, not stereotyping”.

    The ONE Way to Achieve Your New Year’s Resolutions

    James Altucher is a constant source of good ideas and interesting ruminations. In this article, he talks about the one thing that will help you keep your resolutions: focus.

    New Habit for the New Year

    This idea is similar to the “small changes” idea put forth in an article I cited earlier (The No-Resolution Resolution): instead of trying to stick to a resolution, commit to starting a good habit at a time. This page features a little web app that emails you a daily or weekly remind of a habit you’re trying to build.

    New Year’s Resolution: Full Disk Encryption on Every Computer You Own

    And finally, one from the EFF: using full-disk encryption on every computer you own. Most OSs now comes with full-disk encryption capability out of the box, and now’s a good time to start using it.

    This article also appears in the Shopify Technology Blog.


    Coworking Spaces You Should Visit

    the setup

    The era of powerful portable computers, mobile phones, the internet and an increasingly globalized economy has made it possible for people to start businesses in their living rooms, kitchen tables, spare bedrooms and home offices, as well as “third places” such as cafes. I myself have done work at all these places; in fact, as I type this, I’m in a friend’s living room (see the photo above for my current setup).

    As nice, inexpensive and convenient as it is to work from home and as pleasant as it is to work at a café, there comes a time when you need to work at a place structured a little more like an office. Home comes with all sorts of distractions and can be isolating; cafes also have their downsides, from security (who’s going to watch my laptop while I’m in the bathroom?) to jockeying for the table close to the power outlet to wearing out your welcome from a staff who might see café work as freeloading. At the same time, leasing an office is too expensive for most of us. An increasingly popular solution to this problem is coworking.

    citizen space

    With coworking, you work in an environment that physically resembles an office, with desks and chairs, meeting rooms and some shared facilities. The difference is that the space is shared by people or groups who typically aren’t working for the same organization; they’re paying rent on one or more desks that they may or may not use full-time. It gives you considerably more security than a café (you can generally feel safe leaving your laptop on your desk to go to the bathroom or get a coffee), the social interactions you’d get in an office environment, opportunities to collaborate with other people in the coworking space and a more casual feel than a typical corporate workplace.

    Coworking has more of a community focus than superficially similar working approaches like business incubators and executive suites – there tend to be more nonprofit organizations, community-focused businesses and techies in coworking spaces. Just about every coworking space’s "About" page on their website talks about the benefits of community, social interactions and just being able to work alongside other human beings being better than working in solitary confinement.

    Many coworking spaces are open concept, which makes it possible to rent a single desk on a full- or part-time basis. Some larger coworking spaces offer small private offices for individuals or small groups who need a space of their own (the Shopify office in Toronto, which comprises four people including myself) rents such a private office at Camaraderie Coworking).

    The Wikipedia article on coworking states that coworking people tend to participate in events like BarCamp, and having visited eight BarCamps in 2011 as Shopify’s representative on the BarCamp Tour, I am inclined to agree. What appears below is a list of some of the notable coworking spaces in cities where the BarCamp Tour visited, and where we’d love to hold some kind of Shopify event in the future!

    Launch Pad (New Orleans, LA)

    launchpad 1

    Located in New Orleans’ arts district, Launch Pad is a coworking space for local entrepreneurs, freelancers and creative types. It offers desks on a part-time and permanent basis, as well as a small number of private office spaces. It plays host to a number of tech events, including monthly programmer meetups for various tools and technologies (Ruby, Python, PHP and .NET) and was one of the places that opened their doors to BarCamp NOLA in July 2011.

    launchpad 2

    The building in which Launch Pad is located – 643 Magazine Street – is home to a number of tech businesses and organizations, many of whom I met at BarCamp NOLA. In talking to them, I found that one thing that bound them together was a sense of a need to rebuild the city and its communities, a theme that pervades post-Katrina post-BP oil spill New Orleans. If you’re a techie, creative or entrepreneur looking for a coworking space in The Big Easy with a strong community focus, you won’t find one that’s friendlier or more community-oriented than Launch Pad.

    Here’s a video that explains Launch Pad, starring a few of the friends we met at BarCamp NOLA:

    Bucketworks (Milwaukee, WI)

    bucketworks 1

    Milwaukee’s Bucketworks was the home of BarCamp Milwaukee in early October 2011. It bills itself as “a health club for your brain” in which they’ve swapped “the weight machine for the computer, the exercise bike for the table saw, and the mirrored aerobics room for the collaborative meetup room.”

    bucketworks 2

    Of all the coworking spaces I’ve visited this year, this one was by far the largest. In its two storeys, it boasts over 20 rooms varying in size from cozy private offices to open areas large enough to handle BarCamp Milwaukee’s kick-off session, a rooftop deck and a garage large enough to do small aircraft repair in. It spans 3 buildings and over 25,000 square feet.

    The photo above shows the main downstairs room, which functioned as the room for BarCamp’s kick-off session as well as a general meeting area. The photo below shows another downstairs room, which proved to be suitable for sessions on robots and 3D printing:

    bucketworks 3

    Bucketworks was large enough to get lost in, but also large enough to host nearly a dozen break-out rooms for BarCamp Milwaukee. Here’s one of the upstairs rooms — it’s large enough to host a developer meetup or an aerobics class:

    bucketworks 4

    That room pales in comparison to the really big one in the back:

    bucketworks 5

    If you need a space that isn’t so wide-open, you can opt for one of the meeting rooms. This one easily handled a BarCamp session with two dozen attendees and their laptops:

    bucketworks 6

    And if your space needs are a little smaller, there are smaller meeting rooms like this one:

    bucketworks 7

    Here’s the central upstairs room, which offers access to just about all the other rooms upstairs:

    bucketworks 8

    And finally, if you need to get some fresh air, the rooftop deck is easily accessible from the kitchen area:

    bucketworks 9

    Bucketworks is an amazing space, and I’d love to lead some kind of Shopify or Ruby app development session there sometime this year. And, of course, catch the next BarCamp Milwaukee!

    Independents Hall (Philadelphia, PA)

    independents hall 1

    Mention “coworking” and “Philadelphia” in the same sentence, and someone will bring up Independents Hall, also know more coloquially as “Indy Hall”. A play on the better-known city landmark Independence Hall, it bills itself as a coworking space and community for “designers, developers, writers, artists, entrepreneurs, scientists, educators, small business owners, telecommuters, marketers, videographers, game developers, and more”. It unofficial mantra is “We all know that we’re happier and more productive together than alone.”

    independents hall 2

    Located in Old City Philadelphia and very close to the city’s most popular restaurants and bars, Indy Hall is a great place to mix your social and work lives. It’s an open concept workspace covering 4400 square feet and offering 35 desks, each with gigabit ethernet in addition to 802.11n wifi covering the office. They offer amenities such as a conference room, projectors and other A/V equipment you can sign out, a networked laser printer, a lot of whiteboard space and free coffee.

    independents hall 3

    CoCo Minneapolis and St. Paul (Twin Cities, MN)

    coco 1

    CoCo — short for collaborative and coworking space — runs coworking spaces in both Minneapolis and St. Paul. The Minneapolis coworking space used to be the trading floor of the Minneapolis Grain Exchange and provides 16,000 square feet of space.

    coco 2

    According to their site, they offer:

    • Casual and flexible workspaces for freelancers, entrepreneurs and mobile workers available on a membership basis
    • Permanent workspaces for individuals and groups, also available on a membership basis
    • Extraordinary meeting rooms and collaborative settings for rent by the public
    • Event space for conferences, meetups, fundraisers and receptions.
    • Facilitation for strategic planning, ideation and innovation sessions
    • Educational and social events

    Here’s CoCo’s promotional video:

    CAMP Coworking (Omaha, NE)

    camp 1

    When I went to BarCamp Omaha in early September, I got to meet Omaha’s thriving indie and startup community, and many of them sang the praises ofCamp Coworking. It’s located in Omaha’s North Downtown area in a building called The Mastercraft, which houses a number of startups and creative companies, which makes it an excellent location for the small indie or startup looking for a space with the right "vibe".

    camp 2

    Collective Agency (Portland, OR)

    collective 1

    Portland may not be as big a tech hub as other cities on the West Coast such as San Francisco, San Jose and Seattle, but that doesn’t mean there isn’t a lot of tech activity going on there. For starters, it plays host to a number of O’Reilly conferences, most notably OSCON, as well as a number of smaller gatherings, which included BarCamp Portland, which took place in mid-May 2011.

    collective 2

    One of the hubs of Portland’s lively tech/indie/creative community is Collective Agency, Located in downtown Portland and only a hop, skip and a jump away from the Ground Kontrol arcade (it’s my main Portland landmark), there’ve been a lot of good word-of-mouth and Yelp reviews about this place.

    collective 3

    In addition to providing collaborative coworking space, they also play host to a number of workgroups of all sorts, ranging from software, research and social entrepreneurship to visual arts, film and theatre.

    Bocoup Loft (Boston, MA)

    bocoup 1

    Bocoup is a company that develops web applications, and Bocoup Loft is what they call an "open source hacker space" within their offices. It’s close to South Station, which puts it within an easy walk from Boston’s Chinatown and therefore one of the hacker food groups.

    bocoup 2

    As a part of a web developer shop, Bocoup Loft is a coworking space specifically aimed at techies and developers, offering "plenty of bandwidth, server space and smart people". They also play host to a number of tech talks, including John Resig’s Things You Might Not Know About jQuery and Tim Branyen’s Advanced jQuery Templates. As an added bonus, working at Bocoup loft puts you within very close proximity of a number of open source projects and their contributors.

    This article also appears in the Shopify Technology Blog.