Columbus: Can we become a tech center?

I read an awesome post yesterday from a startup founder from Atlanta who's moving his operation's headquarters to California.  As I read about the challenges Atlanta poses to tech startups, I couldn't help but reflect on my own similar experiences.

City of Columbus
Image via Wikipedia

A few years ago, I had a chance to ride along with a software startup company here in Columbus, OH. I wrote our product's first lines of code and grew an incredible team of developers who helped grow the product. Life was challenging, and the path was steep, but we had nowhere to go but up.

Then, funding happened. Our CEO spent tireless days pounding the pavement in central Ohio looking first for Angel funding, then for VC funding. We spoke with a number of firms in ever-widening concentric circles around Columbus, but we never found anyone in this area who was looking to take on an early-stage tech startup, and we ended up being funded by a couple VC firms from Texas. I'm not sure that the distance is what led to our demise, but I can guarantee that it didn't help.  If nothing else, the amount of money we blew on airfare and hotel rooms would have kept our lights on for another couple months.

Continue reading "Columbus: Can we become a tech center?"

Spike Code vs. Reference Architecture

architecture illustration
Image via Wikipedia

I just read a post over on Codebetter.com where Jeremy Miller advises us all to not check in a code spike.  When I initially read this, I got a creepy, crawly feeling because the thought of doing any work at all without checking in makes me a little nervous.

As I read Jeremy's post, though, I became more comfortable with Jeremy's reasoning, and I also came to understand what was driving me nuts when I saw the post in the first place.  Not only did Jeremy not really mean "don't check in your code", but I was reading "spike", and thinking "reference architecture."  Let me explain.

The spikes that Jeremy is talking about are explicitly defined as throw-away code in every sense of the word.  There's no expectation that any of this code finds its way into your main source trunk.  You'll also notice that Jeremy ends up suggesting that you actually *do* want to check these spikes in -- just not into your main trunk.

Continue reading "Spike Code vs. Reference Architecture"

BizSpark and Empower for Microsoft Startups

You may be familiar with Microsoft's Empower program for ISV's.  Empower has been around for a few years as a way to help budding ISV startups ship their new Microsoft-based software products, and is widely-regarded as a no-brainer in its target audience.  Until today, if you were contemplating a new software product built with Microsoft development tools, you just couldn't beat Empower.  For an incredibly low price, you get the full MSDN suite of development tools, plus production licenses for OS and back-office products.

Continue reading "BizSpark and Empower for Microsoft Startups"

Could Azure be self-hosted?

LOS ANGELES - OCTOBER 27:  In this photograph ...
Image by Getty Images via Daylife

In response to my Azure reaction, James Bender pointed out that Azure, in its current form, really wouldn't make sense as a self-hosted platform.  Rather than burying this point in a comment, I'm going to talk about it here, because this positioning (by Microsoft) is pivotal, and it's crucial for Microsoft's future.

First, I think James is certainly right about Azure in the form you see today.  Step back from the forest a little, though, and imagine an Azure that's designed specifically for enterprises to deploy into their own data centers.  Certainly, you wouldn't have the (nearly) unlimited scaling that Azure promises, and certainly, you would have a much higher start up cost, which mitigates Azure's appeal for startups, but there's no question at all that Microsoft could have made a self-hosted platform that would create a compute fabric in your own data center.

Continue reading "Could Azure be self-hosted?"

PDC Reactions: Stuff nobody else noticed

LOS ANGELES - OCTOBER 27:  In this photograph ...
Image by Getty Images via Daylife

This was PDC week for Microsoft - this is their annual software development conference, and single best place to glimpse the future of software development according to Microsoft.  This year's big splashes came from Azure (Microsot's cloud computing platform), C# 4.0, and Windows 7 (I still can't believe they're really calling it "7").

In all cases, we got to see a little more detail about these platforms, but there weren't too many real surprises.  Azure seems to have been met with guarded enthusiasm, tempered by the fact that Microsoft didn't realease *any* pricing information *at all*, so we've got an offering that could be really, really powerful, but nobody knows how to make a business case for it.  Sigh.

Continue reading "PDC Reactions: Stuff nobody else noticed"

C# 4.0 more like VB: Sign of the Apocalypse?

Visual Studio

Gasp!  Can it be true?  Did Anders Hejlsberg really say that the next release of C# was going to be more like VB, and if he did, is this the beginning of the end for all of those holier-than-thou VB-bashers?

I hope so.

I've worked with both, and I'm really tired of the argument that one is inherently better than the other (hint: in my experience, that's a one-sided argument).  In fact, there's a lot to like about both languages.  I love, love, love the tool support that you see in C#, and I believe that at least some of this comes from C#'s type safety.  Still, I miss the easy of dynamic coding in VB (prior to VB.Net).  Event though dynamic typing was widely derided as just plan sloppy programming (and often, it was), you could do some really elegant work in VB without explicitly pulling out the big reflection guns.

Continue reading "C# 4.0 more like VB: Sign of the Apocalypse?"

Astoria team shares future direction

Following the release of Visual Studio 2008, a handful of significant enhancements began to take shape, targeted for the SP1 timeframe.  I'm sure most of you heard about the MVC Framework for ASP.Net, and you may have heard about the Dynamic Data Website, too.  But I'm still surprised how many people haven't heard of Astoria (now called ADO.Net Data Services).

Built on top of the Entity Data Model, Astoria is intended to expose your entities as REST or JSON objects with very little extra work from you.  Best of all, the Astoria controller understands the verbs needed to interact with this model in a standard way.  Much like the Dynamic Data Website, once you set up the data model, you can have your web service front-end working remarkably quickly.

Continue reading "Astoria team shares future direction"

Zemanta is a blogger’s best friend

Image representing Zemanta as depicted in Crun...
Image by Zemanta via CrunchBase

Shortly before I switched this blog to WordPress, I learned about a new tool called Zemanta.  It was supposed to provide context-sensitive links and images, chosen dynamically to be relevant to the work in progress.  It sounded pretty cool, and I tried to set it up under Drupal, but couldn't quite get it done.  After switching to WordPress, I was happy to see that Zemanta setup was a breeze.

I've been using Zemanta for a few weeks now, and I'm really, really happy with it.  My initial impressions were a bit iffy - images were inserted in a way that made it difficult to move the image without leaving the citation caption behind, for instance.  Zemanta keeps improving the plugin and the service, though, and my early problems have lessened considerably.

Continue reading "Zemanta is a blogger’s best friend"

Microsoft Pex: Unit Testing++

Almost a year and a half ago, I read something somewhere about a Microsoft Research project called Pex.  They were working on ways to supercharge unit testing within Visual Studio, but very little information was available at the time.  They had a site with an RSS feed, though, so I added them to my reader, and went away.

Since then, they've dropped exactly 22 updates on their web site, and most of them were pretty dry reading.  They announced a 0.6 release back in August, though it was pretty meager.  In the last month or so, though, things are really picking up speed, racing towards a public debut at PDC next week.  Today, they announced their 0.8 release, and it's finally starting to demonstrate some of the coolness they promised early on.

Continue reading "Microsoft Pex: Unit Testing++"

Overload ToString() to make debugging easier

Debugging
Image by TaranRampersad via Flickr

When you're debugging code in Visual Studio, you're going to end up setting breakpoints, watching variables, and maybe dumping information to a log file or the immediate window.  Wouldn't it be nice if you could read some of it?

Too often, we wait until we're writing a log entry or trying to peer into the contents of a watched variable to worry about formatting objects.  If you find yourself looking at a particular object or structure more than a couple times, though, consider overloading the ToString() method on that object.  After all, nothing should be better suited to present a default format for an object than the object itself.  Instantly, you'll find that logging and debugging become easier, because when you hover over an instance of that object, you're going to see a meaningful representation of the object.

Continue reading "Overload ToString() to make debugging easier"