Wednesday, November 11, 2009

Lean startup tools for Rails apps

A few months ago I was invited to dinner with the Geeks on a Plane crew when they stopped in Washington, and had the opportunity to meet one of my heroes, Eric Ries, author of the Startup Lessons Learned blog. His descriptions of lean startup techniques and philosophies have had a big influence on the way I design and build software.

Eric asked me what specific tools Rails developers could use when building a lean startup. Here's a revised version of what I emailed in response, garnered while building OtherInbox and other Rails apps:
  • First and foremost, I find Rails itself to be very useful for building a product for a lean startup; the expressiveness of Ruby and the conventions of Rails help developers more quickly build a minimum viable product. I'm still able to surprise people who have worked with me for awhile with how quickly I can turn their feature ideas into
    something they can play with and show customers.

  • For continuous integration, like many Rails shops, we use CruiseControl.rb - it's easy to install and customize, but I don't think people are especially enamored of it. But it works. Two very promising alternatives to rolling your own CI server are Devver and RunCodeRun. I've tried both but our app has grown too complex for either of them (we use a lot of gems and have a pretty customized test environment). For Github users, RunCodeRun exposes a post-commit hook so the tests run automatically after every commit which is pretty useful.

  • Speaking of Github, I'd love for them to implement pre-commit hooks, because then you could prevent developers from making commits any time the build is broken, which prevents people from ignoring problems in a large code base and just tunneling on building their one little feature. Right now if you want to implement this, you need to setup your own source control repository that can talk to the continuous integration system.

  • To monitor exceptions, we use the excellent Hoptoad app. This tool adds a lot of context to bug discussions, because nonprogrammers can reference the exact Hoptoad URL containing all of the information a programmer needs to fix a bug (including backtraces). Because it has an RSS feed, one could also use "Unresolved Hoptoad Errors" as a metric influencing the continuous deployment system. If a release goes out and suddenly there are new errors, that's a sign that the batch was bad and needs to be reverted. There's a drop-in Rails plugin but this service could be used with any language.

  • There are two A/B testing plugins for Rails: 7 Minute ABs and A/Bingo. I haven't used either and am not sure there are any better than rolling your own. Update: Charlie Park in the comments mentions the new plugin Vanity which came out just after I wrote this.

  • There are several good unit testing frameworks for Rails, each with their own devotees. What comes with Ruby and Rails is plenty good enough but some people like the greater expressiveness afforded by things like Rspec and Shoulda. For my next product I'd like to try Shoulda because it uses Ruby's built-in test facilities (making for one less dependency to worry about, as is the case with Rspec) and because I really like the examples I've seen on the Thoughtbot blog.

  • We love Cucumber for higher level testing. When coupled with Webrat, which simulates a real browser, you get a pretty nice mechanism for exercising the entire app in a test environment before deployment. Webrat even has a Selenium adapter, so you actually can run your tests inside of a browser to make sure all is well before deploying a change.

  • This isn't Rails-specific, but we use SimpleDB for dumping a lot of important metrics data, like performance measurements, which we then turn into metrics. This keeps us from having to hit our database too much. The RightAWS gem makes interacting with SimpleDB pretty easy.

  • For our metrics we mainly use Graphite, the graphing and analysis system open-sourced last year by Orbitz. Our whole team is falling more in love with it every day.

  • New Relic has a nice plugin for Rails that reports all kinds of useful data to their service, which could become part of a cluster immune system for Rails apps. They measure average responsiveness and compute an aggregate statistic called Apdex which can be a good indicator of site health (at minimum, any significant changes to Apdex should be investigated, and they will email you alerts about such changes).

  • Capistrano is still the standard way most developers are deploying Rails apps (but also check out Vlad the Deployer), but I think there's an opportunity for someone to build a Ruby library to facilitate continuous deployment that would work better than Capistrano. It would definitely be built using Rake like Vlad does.

  • Update: I haven't used Heroku, but as Ryan points out in the comments it definitely belongs on this list as a compelling, get-up-and-running fast deployment platform.

Wednesday, September 30, 2009

Steal my ideas for Baltimore's tech culture!

Gus Sentementes was nice enough to go on vacation and let a group of guest authors contribute to his excellent blog, BaltTech. My first post just went up, a list of ideas that I think would be cool to implement in Baltimore to further advance our tech culture.

My favorite idea from the list, mostly because I think it's one of the easiest and one of the highest yield, sprung from an earlier post of mine surveying technologists in Baltimore:
Breakfast events: there's a lot going on at night in our tech culture; how about doing things in the morning? I'd love to get a "software breakfast" going where developers could get together and show off their work, exchange war stories, etc.

Friday, August 28, 2009

Ruby for Startups Talk at Lone Star Ruby Conference

Today I gave a talk about my experiences writing the code for OtherInbox, called Ruby for Startups. The slides are below. Hope you find them interesting!

The design principals from the first slide come from Russ Olsen's book, Design Patterns in Ruby (and originally from Design Patterns: Elements of Reusable Object-Oriented Software).

Saturday, August 22, 2009

Vote up JavaScript talks for SXSW 2010

Attending JSConf 2009 was a real eye-opener for me: there are a lot of people using JavaScript in really interesting ways to do phenomenal things inside and outside of the browser. Projects like Phonegap, Titanium, CouchDB, SproutCore, and Cappuccino have the potential to transform many aspects of computing or at least point the way to some new paradigms.

To keep the conversation going, this led me to propose one talk and one panel for SXSW 2010:

Building Rich Web Apps with SproutCore
The JavaScript Applications Renaissance

If those sound intriguing, please consider voting at the above links, or better yet leave a comment expressing your support.

There are several other JavaScript related talks that I hope you will check out as well:

http://panelpicker.sxsw.com/ideas/index/4/q:javascript

Sunday, July 26, 2009

What's an Ignite event like?

One of my favorite parts of Ignite Baltimore is getting to work with talented local companies and showcasing their great work. If you're wondering what Ignite events are like, a video production company in town called HYPE Online made a really great short hype video explaining what it's about, embedded below.



Thanks HYPE!

Friday, July 24, 2009

Conditionally using memcached in Rails development mode

Problem: sometimes you want Rails to use the MemCacheStore in development mode, but only when memcached is running. Otherwise you want to fall back to the regular memory store.

Solution: Drop this gist into your development.rb file. It checks to see if memcached is running on the default port on localhost and sets config.cache_store appropriately.

With this code in place, not everyone on your team has to be running memcached, and you only have to run it when you're testing something that involves memcached.

This saved me some aggravation and I hope it helps you too.

Saturday, July 18, 2009

Startup opportunities for programmers in Baltimore

An open letter to Baltimore hackers:

Because I put myself out there as a Baltimore-based startup person, I am regularly approached by entrepreneurs in this region who have ideas for software projects, mostly web apps, that they need someone to build. Most of these ideas sound awesome to me, and the people seem very compelling leaders (they all create what Eric Ries calls the "reality distortion forcefield "). I'd love to work on all of the ideas, but I'm busy with my own startup. Just in the past four weeks, I've talked to people who want to build:
  • a niche massive, multiplayer game
  • a workflow management system for the entertainment industry
  • a web news site CMS
  • iPhone games
I don't always know to whom I should refer these entrepreneurs. If the person has a budget and they are looking for a Rails shop, I send them to my friends (and long-time Ignite supporters) Smart Logic Solutions.

But some of these inquiries are from people who can't afford or aren't ready for the full-court press that SLS can provide. The projects are more prototypal and better-suited to a freelancer or moonlighter. That brings me to a dilemma.

I know many good programmers in different disciplines, especially through the Beehive. But I don't always know their tolerance for risk, willingness to work for equity, etc. I wonder if that's a consequence of being in a tech economy dominated by service providers and government contractors -- do talented creators get used to high hourly rates, and thus become unavailable to people who need their help to build disruptive, exciting products with a lean startup mentality?

If you are interested in this kind of work -- and I really encourage you to give it a try -- please leave a comment on this page or email me at mike@subelsky.com, because I'd like to have better answers the next time someone asks me to help them build an idea. I just need to know your specialties and what contact information I should use.

Side note to entrepreneurs: you should make an effort to get out there and meet the developers now, before that brilliant idea strikes you. Cowork with us at the Beehive, go to Bmore on Rails meetings, attend Outlet Baltimore and Refresh Baltimore, come to SocialDevCamp and Ignite, etc.

Friday, May 15, 2009

Undoing Your Social Training and Creative Inhibitions in Five Minutes

Last night, I was honored to be the first speaker at the first Ignite DC. My talk was called "Undoing Your Social Training and Creative Inhibitions in Five Minutes".  The gist of my talk is:
"Our culture inculcates several behaviors that harm creative, entrepreneurial people: we're taught to avoid conflict and real, open honesty with one another, and we're taught to fear failure. This may work for creating a polite, civil society, but it doesn't serve the individual who is trying to make a difference. But there's hope! Improv theater actors have devised many techniques for overcoming these tendencies which enables them to create inventive stories extemporaneously. Mike will share ways to combat creative inhibitions gleaned from six years of teaching and performing improv theater."
The slides are below.

Monday, May 11, 2009

It's Not Always Sunny in the Clouds

At RailsConf last week I gave a talk called "It's Not Always Sunny in the Clouds" where I shared all of our lessons learned with OtherInbox and cloud computing.  I tried my best to go beyond the hype and talk about our real world experiences.  The slides are below, but here's the raw list of lessons:
  • “Everything needs to be automated”

  • Autoscaling is the easiest part

  • Think carefully about credential management

  • You really could use internal DNS

  • It's maybe not that cheap

  • Launching servers is not that fast

  • You will become dependent on “glue” services

  • You will depend on a distant faceless provider

  • Use DVCS

  • You will spend a lot of time on monitoring

  • Your logs will runneth over

  • Write lots of “in-process tests”

  • Snapshots are slow

  • Rails will be the least of your worries

  • Cloud services involve subtle-yet-massive tradeoffs

  • SQS guarantees delivery at least once

  • Queue lengths inaccurate for <>
  • SQS not necessarily FIFO

  • So you may not want a cloud queue

  • SimpleDB optimized for writes, not reads

  • You must code defensively

  • There are no good "cloud sandboxes"

  • Pay attention to MySQL timeouts

  • "User account management is -not- ideal."

  • You are locked-in to your provider

  • Relational DB may not be the best choice

  • Is there a benefit?

    • Changes the way you write code

    • You can start right away

    • Pretty awesome redundancy



Monday, April 27, 2009

On Saturday I gave an "Introduction to SproutCore" talk at JSConf, the world's first all-JavaScript conference.  It was a great conference and highly recommended.  Videos will be posted over the next several weeks.  For now, for those interested, my slides are below. 

Friday, April 17, 2009

My tutorial at RailsConf 2009

I'm teaching a three-hour tutorial at RailsConf 2009 on SproutCore and Rails, called "Building Next Generation Web Apps with Rails and SproutCore".  Since three hours isn't a whole lot of time, I wanted to post some things that students can do to prepare to get the most out of the training.

See you in Las Vegas!

Prerequisites

We'll use the stable release of SproutCore (0.9.23) although I plan to address what's different about the 1.0 API which is currently in alpha testing.  So to be able to work in the tutorial, you'll need recent versions of Ruby and RubyGems.  Follow these directions to install SproutCore.

Note that the SproutCore gem depends on merb-core (>= 0.9.9), erubis, rubigen, and mongrel.

Before the tutorial starts, you must be able to view localhost:4020.  If that works, you know everything installed correctly.

This may go without saying, but you also need to have Rails 2.3.x installed.  Specifically you should be able to load the Rails startup page on your development machine at http://localhost:3000/.

Recommended Reading

I strongly recommend you complete the "Hello World" tutorial on the SproutCore home page. You may also want to browse the project wiki to get more of a sense of the framework.

The most helpful wiki articles to read include:

Wednesday, March 25, 2009

Scaling Rails in the Cloud With Audio and Video

At SXSW Interactive I gave a talk called "Scaling Rails in the Cloud", about our experiences building OtherInbox using Amazon Web Services. The organizers have just posted an MP3 file of the audio of my talk, so now you can view the slides with accompanying audio.

Sunday, March 15, 2009

Scaling Rails in the Cloud

Yesterday at SXSW Interactive I gave a talk called "Scaling Rails in the Cloud", about our experiences building OtherInbox using Amazon Web Services. My slides are below. When I wrote this presentation, I really came to the realization that Rails has hardly ever been the problem for us, scaling-wise. The framework has served us very well; all of our problems have stemmed from we the developers not understanding our tools as well as we could have, or not thinking things through. So the actual Rails content is light, but that's because Rails fits right into a cloud environment and we didn't have to do anything special to make it work.

Monday, February 23, 2009

Maryland Software Entrepreneur Survey Results

Last week I asked all of the software entrepreneurs I know in Maryland to fill out a quick survey about what they kinds of help they'd like to receive in building their companies. I asked this because I want propose a project to help my fellow entrepreneurs in Maryland, but I felt I should do more listening before I do any more talking.

I promised I would anonymously summarize the results of the survey, so here's what people had to say. Ten people of very different backgrounds responded. It's totally unscientific but I think it was a fairly diverse sample.

What type of assistance would be most useful to you in starting or growing a software business in the greater Baltimore area?

  • "...an organization, funded by the state or outside investments that acts as a seed funder for startups...an Angel-like organization that invests time/resources rather than capital. Local people with ideas for new software would submit proposals and the team would decide on the top 1-3 and develop a beta. So rather than having a group of investors involved, it would be a group of developers that invest their time in exchange for equity."

  • "A mentor match-up service of some sort might be good. With our startup, we have basically had to teach ourselves everything because we didn't really have anyone to talk to who's already been through it."

  • "I think the most needed type of assistance, in my opinion, is business/legal administration. Such things as incorporating a business, accounting, taxes, payroll, accepting credit cards for products/services, etc. I might have a great idea and working app, but then need to put in almost as much work to setup and manage the business side."""

  • "A real calendar of tech events, with .ICS (so I can import into Google Calendar or Outlook or whatever I use), embeddable (just via GCal), RSS feed, twitter feed. Something where I can actually go and see a list of events hosted by Refresh, Bmore on Rails, etc...You'd think this problem was solved already, but apparently not."

  • "...some forum / roundtable type of thing where people can just talk ideas would be neat too. Perhaps OpenCoffee, with some more structure, up in Baltimore somewhere. It would be nice if something like this varied in location, so that for example, it's not always down at the hive. Then again, there is arguably some benefit in having it at a standardized location."

  • "Funding...Baltimore Angels is good, but they only meet every other month."

  • "Exposure. Needs to be more talk about what local entrepreneurs are building...have to raise the profile of Baltimore for outside money. People have to hear about what is going on in Baltimore and see it as a hub of growth and activity, and look at startups in the area as worth investing in."

  • "Support - I love the local Open Coffee...it's less than 5 people, and everyone is doing their own thing, so no one is afraid to be open and talk. It's been very helpful for me and I've found the atmosphere great."

  • "Peer groups/advisors/coaching, all of which I have found in the area."

  • "1) access to capital
    2) talented technologists
    3) universities that are engaged in the entrepreneurial world
    4) service providers (lawyers, accountants, insurance agents, PR firms, recruiters, etc) who understand start-ups, and have appropriate business models
    5) mechanisms which support the free flow of talent
    6) a cheerleading environment where mentors are easily found and entrepreneurs benefit from the region's self-promotion
    7) a culture which recognizes those who try -- even when they fail."

  • "...my greatest challenge was in recruiting talent. Finding people who have actually marketed software, or developed commercial C++ applications was an enormous challenge!"

  • "We are terribly underserved by the absence of an entrepreneurial culture at JHU. Perhaps, that's beginning to change, but it will take time to play out. I recently attended a discussion on the macroeconomic impact of entrepreneurialism at MIT; it's simply staggering!...Without the active engagement of our local universities, we'll never build a sufficient flow of new companies into our region."

What are your biggest challenges?

  • "The biggest problem is tapping into true seed money. It seems that seed money for early stage startups is virtually non-existent. There are various Angel groups in the area and there is money to be invested, but rarely are the investors ever interested in being the first dollars spent by the company.

    "Given this, it seems that a development based Angel group could help mitigate the high risk of true early stage companies such that more good ideas would get off the ground"

  • "Again, never having done this before, our biggest challenge is knowing what it is we're supposed to even do or not do as a 'real' business."

  • "One big problem with not knowing what to do, is not immediately knowing who can help you sort those things out. With regards to legal issues, we've already been through two big-name law firms that charged big $, but they had almost no experience with startups and were not able to guide us well at all."

  • "I think my biggest challenge is once I have established business and working app (which is a challenge in itself), is marketing and getting the word out as well as creating a sustainable revenue model."

  • "Knowing who to trust....and whose referrals to trust."

  • "Finding talent. Dealing with taxes."

  • "...finding leads is of course a big thing."

  • "As for products, hashing through marketing and sales plans...Putting processes in place to fill a pipeline, getting the word out, building sales efforts, etc. And 'getting the word out' - and marketing and sales in general - is different for products for a niche vs. products for the online masses. Looking for money too is a challenge...but it seems like Baltimore Angels is trying to address that."

  • "Money. Finding good people. Money"

Is there anything else you'd like to say?

  • "Go Baltimore. All of this stuff is wicked exciting. I moved here because it was the closest city to home. I'm staying because Baltimore is poised to claim a huge stake in the future of big tech happenings."

  • "I think some kind of Y Combinator in Baltimore would be great. The combination of funding, help creating a company, and ongoing support is what I would really need to create a successful software company. I also like the idea of having a group or association of small, local software companies that have weekly/monthly meetings to discuss and brainstorm and help each other out with their ideas and possibly code."

  • "I think there is still a gap between the money and then entrepreneurs. It's a hard gap to bridge."

  • "I've heard many times that there just aren't enough companies in Baltimore to justify more private equity. That's just not true! Moreover, there are micro communities emerging - such as with gaming or social media...Growing these communities brings more talent to the region, which leads to more successes."

  • "...individuals are vitally important to an entrepreneurial success. When they come together, they create new companies. When they network, they're looking to challenge themselves, often by changing jobs. Changing jobs in Baltimore's tech world is difficult due to its relatively small size and lack of a networking forum. Making it easy for individuals to meet and network not only eases the free flow of talent (one of the things that makes Silicon Valley so successful), but causes people to want to continue their association with the networking forum that's proven helpful."

  • (Several respondents graciously offered to help out or be included in any discussions, so I'll be sending some emails and things -- add a comment below if you are interested)

Sunday, January 25, 2009

Baltimore's Internet Economy as I See It

There are a lot of creative people in Baltimore working with Internet technology. At events like SocialDevCampEast, Beehive, Refresh, Bmore on Rails, Twin Tech, Outlet, or Ignite, you'll meet a ton of them. Many technical people in and around Baltimore have a national following, and I've run into them at far-flung events like Techcrunch50 and Lone Star Ruby Conference. We have several successful entrepreneurs in our midst who have built great Internet businesses. A recent accounting of greater Baltimore's IT industry gives us top rankings for many tech indicators. Baltimore's economy definitely has the human capital to succeed in the Internet industry.

Yet few of these talented people are starting or working for product companies. I rarely meet someone who's involved in making something that he or she owns. Baltimore's Internet economy, as far as I can tell, mostly comprises consulting work, services, and government contracting. Those sectors are very strong, and bring a lot of wealth to our region, but product companies have much more potential to improve the long-term prospects of our economy. Because they involve greater risk, product companies create a lot of wealth for investors and early employees, who then go on to invest in the next round of startups. Service businesses have less growth potential since they are ultimately constrained by the hourly labor of their employees. When they don't work, income doesn't come in.

Why should it be this way? How do we encourage more product-based technology companies to form here? Starting a risky venture requires a leap of faith and a maverick move against the grain of what society expects you to do, so how can society foster these choices? In an email, Dave Troy gave me a great metaphor:
"...you can't make a wild mushroom grow. The only thing you can do is be sure the conditions are right. That means there needs to be enough biomass in the underlying organism, there has to be sufficient food, moisture, and the temperature has to be right. The mushroom has to want to grow on its own."
I don't presume to be any kind of a "startup mushroom farmer", as I am still working on my first startup. But I do think we have the potential makings of a startup ecosystem in place:
  • Exemplars of success: Advertising.com, BillMeLater, Image Cafe, and other companies were started here, and there's a strong software game industry in Hunt Valley.
  • Integrated economy: Baltimore and DC are closely connected, being less than an hour away by train or car. We are part an Amtrak corridor connecting us to Philadelphia, New York, and Boston.
  • Low cost of living: you can buy a lot of house in Baltimore in a nice neighborhood (including one of the best-planned great places in America) and lead the kind of urban, connected lifestyle much prized by creative people.
  • Tolerance and diversity: Although our neighborhoods are largely segregated, it's still the kind of town where noncomformists can feel at home. We've got John Waters, the High Zero festival, Theater Project, Creative Alliance, and the Visionary Arts Museum, just to name a few examples.
  • Community spirit: In my experience, people in Baltimore really want you to succeed at whatever you're starting or trying. If you want to make a movie or start a business or become an activist, few in this community will tell you that you can't; most will say "that's cool, how can I help?" I experienced this vividly when I helped found the Baltimore Improv Group and Ignite Baltimore. People in this city could not have been more supportive.
  • Culture and recreation: The greater Baltimore area encompasses many amenities that entrepreneurial people enjoy. Museums, symphonies, parks, book stores, art house movie theaters, coffee shops, major league sports franchises, etc.
  • Excellent university: There are many good schools in Baltimore, but Johns Hopkins in particular has a global reputation, and is a fertile recruiting ground for local technology companies.
  • Talent pool: there are over 100,000 IT workers in Maryland according to the Economic Alliance of Greater Baltimore [link requires registration]. The Washington-Baltimore region is first in the US in the number of residents holding Bachelor's and graduate degrees.
With a little more investment of energy, time, and resources, I believe we could capitalize on these assets by priming the conditions for startup growth. Here are some ideas for what else we could do:
  • More visible angel investment: If I have the skills and ambition to start a technology company, how do I meet someone who has the capital and appetite for risk to invest in one, or tell me my idea needs more thinking through? As Dave Troy puts it:
"One of the valuable functions of an angel community is that it creates a mechanism for telling silly entrepreneurs to go pound sand; or to come back with a better idea or team. We don't have a very functional mechanism for handling any of that here right now. What we have is some risk-averse investors telling potentially good entrepreneurs to pound sand, and we have a lot of silly entrepreneurs pursuing ideas that they probably shouldn't. So, towards the notion of 'supporting' local startups, in my opinion the best way to 'support' them is not to encourage them or patronize them, necessarily, but rather to find ways for them to fail more quickly.

"...We need faster failures and quicker morphing of bad teams into good ones, and the pursuit of good ideas instead of bad ones...we need to provide real, objective guidance mechanisms to help entrepreneurs navigate the money and power networks they will need to master in order to succeed..."

Awesomely enough, Dave recently announced the formation of Baltimore Angels, and at last count 14 angels have signed on.
  • Develop a bootstrap network: Baltimore does not lack for ambition or ideas. I know of at least nine companies in various stages of growth (600block, Localist, Ipiqi, MPTrax, Ubernote, SpotCrime, AwayFind, DiscoverED, Sleep.FM -- these are software companies, because that's the field I follow). We should build up a bootstrap network to support and mentor such entrepreneurs and connect them to potential investors.
  • Reach out to students: Jared Goralnick pointed out to me that technical people graduating from college today assume they have only one choice - to get a high-paying, stable job (i.e., at a big consulting or contracting firm). It's an admittedly attractive choice - who would turn down the chance to make $80,000 or more right out of college? But students need to know there are other options that could prove more lucrative: starting their own company or joining a startup, options which may payoff financially but will no doubt payoff in terms of the business and technical education they offer. Recent college graduates can take bigger risks as they have less to lose and more to gain, but few students get that message. Jared is organizing an event scheduled for 4/11, watch his blog for more details.
  • Encourage self-organization: No formal entity could have started SocialDevCampEast, Coworking, Refresh, Outlet, or Ignite, but entities like GBTC, the University of Baltimore, and many local businesses have shown tremendous support for them. These groups are all run at low-cost with little or no budget, and they still need help. Our business and government leaders could do wonders by helping with facility rental, marketing, or publicity, or by attending the events, speaking at them, and mixing with the technical community.
  • Improved communications: I'd love for someone to start a blog chronicling the local startup scene and self-organizing tech events.
  • GBTC Round Table: I hear really good things about the GBTC's round table groups. If there was a group that focused on startup technology companies, I bet people would flock to it, as there aren't many opportunities for local Internet entrepreneurs to mingle exclusively with their peers. It would also demonstrate GBTC's commitment to helping product companies.
I've made some generalizations here, and what I've written is pretty specific to my experiences, but it's from the heart. My own startup, OtherInbox, is based in Austin, Texas, because that's where the principal founder is located, but also because it's a really ideal place to start a technology company. It's got all of the support mechanisms I mentioned above, and has had a few rounds of successful startups, so now the startup community is self-sustaining. Technical people in Austin can't help but encounter many examples of success, and there are a lot of investors willing to mentor them and invest in their dreams. Truly, Austin is ripe for wild mushroom growth -- yet Austin is more culturally and economically isolated than Baltimore. If they can do it, why can't we?

I'm a entrepeneur and technologist, a hacker and improvisor, and I want to spend my life starting and running technology companies. I'm also a transplanted son of Baltimore, with many friends and connections and roots here, and I really love this city. I want to make my dreams come true here, and I'm committed to doing whatever I can to make this the kind of place where every entrepeneur has that chance. So let's get going!

Thanks to Dave Troy, Stephen Muirhead, Bill Mill, Prescott Gaylord, and Jared Goralnick, who read drafts of this post and gave me great feedback.

Friday, January 16, 2009

Baltimore's Tech Calendar is PACKED

I'm looking forward to all of these awesome upcoming tech events in and around Baltimore:
February should also see another Refresh Bmore event, and before you know it, it'll be time for another SocialDevCampEast! If things keep going, we're gonna need to build a DC Tech Events style calendar!