MyOwnPirateRadio

Spread the Word: City of Toronto Launches Urban Fellows Program

April 29, 2009 · 1 Comment

City of Toronto 175 Years

One of the reasons I love living in Toronto at this particular time is the growing energy going into making the city a truly great place to live. There’s an increasing interest amongst everyday citizens in civic issues: topics like housing, transit, streetscapes, art, outdoor life, pollution, and economic vitality are fast becoming part of everyone’s sphere of interest.[1] And just as importantly, there’s an increasing willingness and capacity to change things. Unlike many other cities I’ve visited, Toronto is a place where you can actually change the way the city works, and accomplish it in your lifetime. It’s a huge reason to live here.

If this line of thinking resonates with you, and you’ve been seeking ways to get more engaged within the city, there is a program you need to know about: The City of Toronto is launching the “Urban Fellows Program“, an initiative aimed at attracting new high caliber professionals to the Toronto Public Service.

As I understand it, it’s one half boot-camp, one half incubator for smart people who want to make the city better. Participants get “an intensive introduction to the governance, operations and administration of Canada’s largest city through a combination of full-time work experience and participation in a series of seminars, tours and workshops.”

The program is one year long, with two six-month rotations in city positions. They’re seeking Masters – and Ph.D.-level experience, although that doesn’t seem to be an absolute requirement… I read it as, “we want whip-smart, well-educated people who are fired up about making the city better”. There are a limited number of positions. And it’s paid: the salary is almost $62K, some serious cash.

I love this concept, and I hope they net some really great thinkers. Applications are due may 30, and the first cohort starts this September. Please help spread the word.

[1] I readily admit to being biased by the people I surround myself with.

→ 1 CommentCategories: Uncategorized
Tagged: , ,

April 16, 2009 · Leave a Comment

David Crow posted thoughts on StartupNorth about startup incubators and why we don’t have one in Toronto. As he points out, funding an incubator program is a big challenge. There aren’t enough Angels and VCs around willing to risk money on very early stage ventures here, and the ever-decreasing amounts of capital needed by tech startups look less and less attractive to investors with big chunks of money to manage. So if we’re to have a farm team, in Rick Segal’s words, how do we fund it?

I believe Toronto has both the financial and intellectual capital needed to do this.  Given that we’re having trouble getting bigger investors to fund this sort of effort, I wondered in reply whether micro-financing might be a viable alternative:

What if we tried micro-funding instead of the current approach? That might net enough investors to make it viable. We create a fund that pays for operating one session (or one year) of the program from start to finish. Price shares at, say, $5,000 apiece. Standardize the share terms so there’s no negotiation involved. Entrepreneurs offer up a fixed amount of equity in exchange for program participation. Investors share in the entrepreneurs’ risk and reward.

Who would buy? Well, at that price, I’d buy a share. I bet at least a few hundred other people would too. Wealthy investors (incl. some Angels) might purchase tens or hundreds of shares. Forward-thinking corps and a VC or two looking for higher-risk investments would buy in, and get good PR as a result. Maybe even the government buys some shares, or provides a tax incentive to others for buying. If the terms are suitable, even investors in other countries could participate.

Could we sell 2000 shares at that price? $5,000 x 2000 shares = $10M.

$10M could buy you an awfully big farm team, or even better, many cohorts of a small farm team.

Would you buy a share?

→ Leave a CommentCategories: Uncategorized
Tagged: , , ,

Rails 2.2.2: Noisy Translation Errors

January 26, 2009 · Comments Off

[This is one of several posts on upgrading a Ruby on Rails app from Rails 1.x to 2.2.2.]

Rails 2.x added some nice support for internationalization. I’m using this to “Canadianize” the UI of my app by translating a few words from the EN-US locale to EN-CA. “Favorite” becomes “favourite”, “huh?” becomes “eh?”, “Coors Light” becomes “water”, and so on.

One gotcha I ran into is that translation errors don’t manifest themselves as exceptions. The default I18n implementation rescues translation errors and returns the failed translation keys as a string. This behavior is nice in the development environment, because you can see the strings showing up in your application’s UI. On the other hand it makes testing dangerous, because translation errors can easily go unnoticed, especially when running automated tests.

I prefer my tests to fail noisily. (Hmm… perhaps this should be the default behavior?) To that end, here’s a patch, also available on Pastie.

# The code below patches I18n to raise exceptions for all errors, including translation errors.
# The default (unpatched) behavior in Rails 2.2.2 rescues translation errors and returns the failed
# translation keys as a string. This behavior is undesirable in test, because it makes it too
# easy for translation errors to go unnoticed when running automated tests. Instead, we want to fail noisily.
#
# == Usage
# (within test_helper)
# require File.dirname(__FILE__) + '/i18n_patch'      

# Patch translation within views

module ActionView
  module Helpers
    module TranslationHelper
      def translate(key, options = {})
        options[:raise] = true
        I18n.translate(key, options)
      rescue I18n::MissingTranslationData => e
        raise e if RAILS_ENV == 'test'  # <<< this line is the patch. everything else in this method is original.
        keys = I18n.send(:normalize_translation_keys, e.locale, e.key, e.options[:scope])
        content_tag('span', keys.join(', '), :class => 'translation_missing')
      end
      alias :t :translate

      def localize(*args)
        I18n.localize *args
      end
      alias :l :localize
    end
  end
end

# Patch translation in models and controllers
module I18n
  class << self
    def raise_all_exceptions(*args)
      raise args.first
    end
  end
end

I18n.exception_handler = :raise_all_exceptions

Comments OffCategories: Uncategorized
Tagged: , ,

A Recipe for Protecting Your Rails App Secret

January 23, 2009 · Comments Off

I’ve spent some time over the last few weeks upgrading 5 Blocks Out to Rails 2.2.2. One of the things I’ve been pondering how to integrate is the new protect_from_forgery feature which aims to deter cross-site request forgery attacks.

By default, Rails 2.x creates a random forgery protection secret string when generating a new app, and hard-codes the secret into  environment.rb. As with database passwords, this isn’t the sort of thing you want in your source code repository, especially if your code will be open source, or exposed in some other way to a lot of people over time. So, what to do?

I found two useful ideas on how to deal with this. Both rely on storying the secret in a file distinct from environment.rb. You store this file on your web server, and not in your source repository. This way, your secret key is as secure as your app server.

Here’s a scrap of code I cooked up to do this: http://pastie.org/369075.  It looks for a file named config/session_secret.txt and tries to load the key directly from the text in the file. When running in environments such as production or staging it raises an error if it can’t find the file. When running in dev or test environments it silently falls back to using a hard-coded key. Since I use Capistrano to deploy, I’ve added an after-deploy task that links config/session_secret.txt to a central copy of the file.

This is simple and I think it should work pretty well for me. I hope someone else finds it helpful.

Comments OffCategories: Uncategorized
Tagged: , , ,

StartupEmpire: Time Well Spent

November 14, 2008 · 1 Comment

I attended the StartupEmpire conference yesterday, and had an absolute blast. Thanks to the organizers for putting this on.

Here are some of my notes. Sorry I don’t have time to make this more concise.

Conference format:

  • Timing: the original 2-day schedule was just too much time away from product development for me. They scaled it down to 1 day, which was perfect: everyone stayed focused and we got a lot done. Given that the audience is entrepreneurs or would-be entrepreneurs, time is a key constraint.
  • Networking: there was lots of opportunity to socialize inbetween and after the talks. I found the crowd very friendly, and I think keeping the numbers low was vital to this. I didn’t get much out of EventVue, as a pre-conference tool, but I probably didn’t put enough into it. Perhaps more useful after the fact.
  • Content: good mix of practical advice with inspiration.  There wasn’t a speaker I didn’t like. I found Austin Hill particularly inspiring and worthwhile. As a bright entrepreneur and angel investor with great willingness to share his learnings, he was a real pleasure to listen to. I also enjoyed listening to Craig Hayashi of Maple Leaf Angels. He is doing a blog post series on angel financing, over on Startup North.
  • Students: I loved seeing local students helping out as volunteers in exchange for tickets. Yes, yes, yes! We need to graduate more students who are fired up about creating original works and starting their own ventures, not just students who are trained to plug into existing businesses.
  • Cost: at $65, this was a steal.  For me, the value provided was easily $100+.
  • Venue: This is London was pretty much perfect. I’d guess the crowd was around 150 people.

We need more startup community leadership: I would love to see more local people step up to help nurture the startup culture and community in Toronto. It seems we have a very small handful — David Crow and Jevon MacDonald chief most notable among them — who do the heavy lifting at the events I’m aware of. Yes, there are smaller events that cater to niche interest groups (mmm, like, Ruby on Rails nights — love ‘em), and those are absolutely necessary, but not sufficient. In particular I would love to see some local Angels, VCs, and prominent entrepreneurs step to the fore. The municipal government, Ontario Centres for Excellence and perhaps MaRS should take a sponsorship role. I personally want to devote time to doing this next year. David Cohen spoke about what he and his colleagues have done with TechStars in Boulder, and I think it’s a fabulous example of what a few people can do with some spare cycles. More on this another day… it’s a big topic.

Inspiration = oxygen for entrepreneurs: one of the most difficult things I’ve found about starting a new venture is the sheer negativity you often encounter. Lots of people — the majority, I’ve found — are biased to believe that all startup ideas fail. It is certainly true that most startup ventures don’t make it past the first year, but not all. If would-be entrepreneurs took all that the doom and gloom to heart, there would be no startup innovation. So I found it very encouraging to hear several of the speakers advise founders to stay focused and ignore the noise. Hugh MacLeod, in the second-to-last talk, said it even more firmly: “Ignore everybody. Good ideas have lonely childhoods.”

Milestones should include risk reduction: I find this concept particularly useful. When you’re planning product milestones (or sprints, or whatever jargon you want to use), a key part of the planning is what risks you’re going to reduce or eliminate. For instance, if a big risk is “Will customers think our product design smells like doggie doo?”, then you’d better have a milestone that includes testing your product and acting on customer feedback. Or if you’re worried about your server falling over, you should deal with that. While a risk reduction plan is essential if you’re going to pitch professional investors for funding, it’s just as valid if you’re going it alone. You owe it to yourself, your customers, and your investors to identify risks and make concrete plans to address them.

“Lifestyle Businesses”: Several of the speakers in the professional investment arena mentioned how important it is to distinguish clearly between “lifestyle businesses” and businesses that a VC or angel would invest in. A lifestyle business is one that makes enough money for you to live comfortably, but is highly unlikely to bring in the high returns a pro investor is looking for. (Hmm… I wonder how Craig Newmark would have described Craigslist ten years ago?) As an entrepreneur it’s essential you get honest and clear with yourself about this, for otherwise you are wasting your time and the time of those you’re pitching to.

Austin Hill highlights:

  • Austin used the analogy of a road trip to help convey some of the key things startups need to know. So, …
  • “Keep your eye on the fuel gauge [money and other key resources], but also on the road ahead [competition, industry trends, etc]“
  • Cash and runway is a critical asset. “You must have enough gas to reach the next service station. Don’t plan a lot of sightseeing trips.”
  • Fit your product to the market’s needs. “Nobody wants to invest in a rickshaw, a hummer, or a submersible RV. Build a Prius.”
  • (with investors): “You must present a clear, believable picture of how you will build a defensible market segment in 3-5 years”.
  • “What to pack”: customer acquisition plan; analytics, in particular pirate metrics; waterfall and cash model;’ risk reduction model
  • Look at Product Planner for user flows (boy how much did that domain name cost?) and Balsamiq for software wireframes and mockups
  • “Build meaning”
  • Advice for tough economic times
    • potential customers = who is losing the most money, or most desperate to offset the downturn’s effects
    • go talent shopping: “topgrade”
    • watch layoff rolls
    • get good at outsourcing (TopCoder, eLance)
    • think diversely on fundraising strategies: friends, family, angels, VCs, strategic investors
  • on pitching:
    • the job of a pitch is to grab someone’s attention and convince them to ask for more.
    • “talk to people’s hearts, minds, and wallets”. In that order.
    • you must be able to speak fluently about competitors and industry trends
    • offer customer references
    • don’t talk about features
    • referencing well-known real world parallels can be powerful
    • “where are we” helps, e.g. “60 days out of a beta”
    • “here is what we know and here is what we don’t know”
  • on red flags when hiring people:
    • lack of passion
    • people who can’t pass “practical exams”, i.e. work tasks that test basic competence
    • culture fit
    • inability to discuss results — “every hire should have a mental scorecard of what they’ve accomplished in the last 30, 60 and 90 days”.
  • on SRED credits: “There are way too many Canadian businesses eating zombie food. Walking wounded, should have died years ago.”

Typical Valuation Range for early stage startups

I believe this was a comment from Scott Pelton from GrowthWorks… he said he’s seeing valuations typically in the $1M to $3M range for initial funding. Higher end = great management team, product is real, and perhaps IP is particularly well protected.

“What should a startup CEO get paid?”

This was a great audience question asked of the professional investors who were presenting. A good deal of squirming ensued.

  • Rick Segal: “JLA has funded a large range of companies, and the CEO salaries range from $0 (all equity) to $110K”.
  • Craig Hayashi from Maple Leaf Angels: [long hesitation]… “it depends”… but eventually he held out $75K as reasonable.
  • Austin Hill: “enough so that the CEO doesn’t need to take a 2nd job [keep them focused] or have troubles in family life. For a professional in their 30’s, maybe 90K to a max of 140K, depending on experience. For someone younger, a lot less may be approriate.”

On advertising-based business models for web startups

The speakers were uniformly negative about business models based solely on ad revenue. I’m sure a lot of that has to do with the current economic climate — everyone’s spending less, and ads are easy to cut — but there seems also to be a backing away from the hype about ads being a magical biz model for web ventures. A few people voiced a preference for transactional biz models, and for focusing more on enterprise-centric products rather than consumer plays.

Microsoft BizSpark = free stuff for startups

Microsoft sponsored the event and it showed… job well done. They also talked about BizSpark, which is worth any startup looking at. Check it.

 

Technorati Tags:

→ 1 CommentCategories: Uncategorized

It Takes 3 Customers To Make a Product Real

November 6, 2008 · Comments Off

I can’t remember where I heard this, but it’s been on my mind a lot lately so I wanted to mention it.

When you’re designing something that’s going to be used by a lot of people, it’s vital you talk with some of your customers and get them to test your prototype to be sure you’re building something they actually like and find usable.  

Sounds like a no-brainer, right? Well, it ought to be accepted wisdom in any design-related job, but it isn’t universally so. I’ve worked a few places where talking to actual customers was considered a complete waste of time because customers “don’t know what they want”. (Not Microsoft, so much… most groups I worked in were very conscientious about trying to build products customers liked.)

In software, there is a useful accompanying rule of thumb: if you’re designing reusable code such as a library or an application programming interface, you need at least three different customers using your software successfully before you can be sure you’re anywhere near the right ballpark. If you don’t have at least three, you are just guessing at what a reasonable customer interface and user experience should be. And you will be wrong… you’ll miss something important, or design something the wrong way, or (my most common weakness) overbuild the product because you think they actually want all the bells and whistles that you do. In fact, you should save your energy, stop coding, and wait until you have three customers before moving ahead.

Of course, this isn’t to say that three is a sufficient number for getting a design right. For some products you need millions! But three is certainly necessary.

Comments OffCategories: Uncategorized

Toronto Startup Events

November 5, 2008 · Comments Off

Here are two November events that might be interesting to folks in the Toronto-area startup space.

1) StartupEmpire. This is a 1-day conference on Nov 13th specifically for startups/entrepreneurs, put on by Jevon MacDonald and David Crow. Tickets are only $65. They have some great speakers and sponsors/partners lined up, including the  BlackBerry Partners Fund for people doing work in the mobile space. Jevon and David have put on some great events locally for tech entrepreneurs, so on reputation alone this is worth checking out. See blog coverage here.

2) GeoSocial is an informal social meetup inspired by Where 2.0, hosted by by Juan Gonzalez of PlanetEye and Mark Evans. This one is tomorrow Thursday Nov 6th, 6:30pm+. Juan describes it as “…a group for people interested in exploring the uses of geodata to enhance the relevancy of information on the web and create new means of social interaction.” Thanks Sandy for the heads up on this.

I will be at both of these.

Comments OffCategories: Uncategorized

MyOwnPirateRadio has a new home

October 28, 2008 · 3 Comments

I’ve just switched MyOwnPirateRadio from hosting on iPower.com to WordPress.com

If you subscribe to the email version of this blog you probably noticed a few duplicate posts mailed out last night. My apologies, and fear not, for I haven’t yet stooped to duplicating my own blog posts. It was a glitch in the import process.

Why leave iPower?

  • Poor availability. 5 hours of downtime in September, a whopping 49 hours in July. Not that this blog is mission-critical, but still, doesn’t 2 days seem a little excessive? Maybe they forgot to plug the server in.
  • iPower recently started charging for domain privacy, with no warning. Deceptive.
  • Their hosting prices have stayed the same while everyone else’s have dropped. $100+ a year is too much for a simple blog.
  • Their web host management UI is geared at selling services, not helping customers get stuff done.
  • Switching a domain to iPower is easy, switching away to another registrar is a devilish process. Again, bad business practice.
  • Support: not so much.

So, after many years as a customer, I’m moving all my business away from iPower. This blog is going to WordPress.com, my domain registrations are going to namecheap, and 5 Blocks Out is now ticking along happily over on slicehost.

Why rehost on WordPress.com? There are other places I could have hosted, but for running a simple blog with minimal customization requirements it’s a great value. I can just "set and forget"… I don’t worry about security updates, spam, bandwidth, etc. The only downsides I’ve experienced are (1) advertising is present unless I pay to remove it, and (2) there seems to be no way to import images. If anyone knows an easy way to fix #2 (read: takes less than 20 minutes!) I’d love to know.

→ 3 CommentsCategories: Uncategorized

Zillow Lays off 25% of its Workforce

October 18, 2008 · Comments Off

Zillow CEO Rich Barton announced yesterday in a blog post that they are laying off 25% of their work force. I guess they are taking to heart the advice in the Sequoia Capital "R.I.P. Good Times" presentation: cut the burn rate so you can survive the recession. Or maybe, as Michael Arrington speculates on TechCrunch, they are also joining the trend of using layoffs as a way to get rid of deadwood employees.

Zillow still hasn’t reached profitability. They are cutting back on marketing and engineering, and investing further in sales. I wonder what their workforce composition will look like in a few years. My guess is they will continue to shift from engineering-heavy to sales-heavy.

Inman News says:

The 5.4 million unique visitors to the site in September represented a 42 percent increase over the same time last year, and revenue is growing "at a rapid pace."  … Launched in February, 2006, the company has raised $87 million in venture capital from employees, individuals and several leading investment firms including Benchmark Capital, Technology Crossover Ventures, PAR Capital and Legg Mason Capital Management.".

Zillow isn’t alone… TechCrunch has a web page tracking other tech industry layoffs.

Comments OffCategories: Uncategorized

Useful Financial Links Roundup – 2008/10/10

October 10, 2008 · 2 Comments

Here are links to some pieces on the economy I’ve found most useful over the past few weeks. I’ve posted many of these on my Twitter feed but thought it might also be useful to bundle them into a blog post.

For everyone:

For startups:

  • Sequoia Capital did a secret presentation called "R.I.P. Good Times" to their portfolio companies this week. They gave their analysis of the current financial turmoil and advised the companies on what to do in order to survive. Someone has helpfully leaked the presentation, which you can find on VentureBeat. In short, they are telling companies to move to a strong cash position (e.g. by making cuts to reduce burn rates), consider M&A, and lower expectations of additional funding. Their punchline: "Get real or go home".
  • Angel investor Ron Conway gave similar advice to companies he has invested in. 

→ 2 CommentsCategories: Uncategorized