Archive for October, 2007

Thus the backlash begins. Colin Ramsay writes:

…the ALT.NET mob organise an enormous desert circle-jerk, and I call bullshit. If they really wanted to change things then they should be writing about their techniques in detail, coming up with introductory guides to DDD, TDD, mocking, creating screencasts, or giving talks at mainstream conferences, or producing tools to make the level of entry to these technologies lower than it is.

Ayende has a response, which is so concise I can’t add anything more.

Reading Colin’s post makes me think there’s two problems at work here.

First, I think way too much time, effort and discussion has been wasted on a simple moniker. It’s not the name that matters, it’s what’s behind it that counts. One of the topics that received a lot of attention this past weekend at ALT.NET was, “What is ALT.NET?” and how to define what it is. Various people (Dave Laribee, Raymond Lewallen ) have blogged about what ALT.NET means. And yet still some folks keep attempting to redefine it as some elitist movement, or anti-Microsoft sentiment.

It is none of those things, and if you can’t see past that then you’ve turned off your ability to use logic and reason.

The truth about ALT.NET is actually a lot more simple than anyone has said. You want a concise definition? Here’s mine:

ALT.NET is a group of developers trying to find the best tools and practices available to help them build software in the Microsoft/.NET domain and bring business value to their customers.

That’s it. That’s all there is to it. It’s not any more complicated than that. It’s not about Morts and Einsteins, it’s not about tools and paradigms. It’s simply about developers trying to discover the best ways to get the job done. If you are a developer who has a pain point and says, “I think there’s a better way to do this and I’m going to figure out what that is, whether it’s a tool or technique,” then you’re ALT.NET.

During the conference a whiteboard was devoted to renaming ALT.NET so that the name reflects the ideals more accurately. Someone suggested Pragmatic.NET, and I hope that’s the one that sticks, because it’s the best single word summary of what this was all about.

The second problem at work in Colin’s post is that for whatever reason he (and others) thinks this is an elitist thing. He writes:

…I find it pointless that you’d go to a conference to discuss the stuff that everyone there already knows. DDD, BDD, MVC – these aren’t things that will be unknown to people attending the ALT.NET conference.

During the closing comments of the conference everyone (and I mean everyone) got a chance to talk for a moment about anything that they liked/disliked about the conference. Many people voiced the same concern Colin had and were wary when they arrived that this would be nothing more than a bunch of people agreeing with each other. Those same people then went on to say how pleased they were that it did not happen that way.

ALT.NET saw a wide variety of developers with a wide variety of skill sets. It was not developers preaching to the choir. It was a very healthy exchange of ideas, and a lot of very spirited debate. Part of the reason for that is because ALT.NET is not about one “class” of developers getting together – it was about a group of developers with the same “mindset” getting together (namely the desire to use the best tools and practices to deliver business value). Because it is the mindset that is important, class becomes irrelevant.

What was interesting to experience at the conference – what was interesting to learn – was that it’s not the techniques and tools that everyone was in agreement on. It was something else: it was the pain points. One of the most amazing things that we all discovered at the conference was that we’re all experiencing the same problems in the domain of .NET development. But the solutions are not universal – not everyone is in agreement about the best tools and techniques, in large part because everyone’s needs and situations are different.

I wish Colin, and other developers like him, could have been there. And hopefully next time we can have the conference in a bigger space that will accommodate more people.

Because ALT.NET was not divisive. What it was is limited by physical space. That’s unfortunate, but a reality.

Can the community of ALT.NET do more to spread the word on the tools, techniques and ideas? You bet! And I think everyone wants to do more. One of the themes of the conference was the idea that we have to take these things out to other conferences and user groups and spread this stuff around. We have to get the rest of the .NET community involved. We have to find the developers who want to do things better for their customers and get them involved.

Colin asks:

But wouldn’t that conversation have been a whole lot more interesting if the second developer hadn’t heard of those ideas?

You bet! But this all has to start somewhere, doesn’t it? That’s what this conference was – it was the starting point. But what we can’t do now is get mired in a bloodbath of words. That won’t help these ideas grow.

For several years now I’ve been reading Ain’t It Cool News. Harry Knowles is the guy responsible for the website, which is the best source on the internet for early news on films and television. They have tons of “sources” providing all sorts of inside dirt on scripts, casts, directors, and anything else that has to do with making movies. The people who are primarily responsible for the web site refer to themselves as film “geeks”. They are people who love film.

I consider myself one of those people. One of my dream jobs is to make a great video game as a software developer. But if I had my true wish I’d direct movies. I simply love the medium of film.

It is through the AICN website that I learned of Butt-Numb-A-Thon. It is a 24-hour film marathon, something I hope to attend someday, if the planets align correctly.

The host theater for BNAT is the Alamo Drafthouse. In August of 2005 Entertainment Weekly did a feature on the ten best movie theaters in America. The Alamo Drafthouse was listed #1. Ever since I read that issue I’ve wanted to visit this theater and soak in the atmosphere as well as the great food.

Yes, you read that right: food. The Alamo Drafthouse is not your typical theater. It is a theater experience. It is what attending a movie theater should be like. Everything else you’ve ever been to is a disappointment compared to this.

For starters, the theaters are designed much differently than a standard theater. Every other row of seats has been removed and replaced with cabaret style tables, with narrow rows for waiters and waitresses to slide through. Viewers are encouraged to arrive 30-45 minutes before the show starts so they can order food in normal fashion (meaning, using your voice and actually talking to the waiter/waitress). Once the lights go down, if you want to order something to eat you simply write what you want on a piece of notebook paper that they provide for you on the table, and then fold your paper and affix it to a small metal rail along the table so that it sits up like a flag. Your server will come by if they spot your flag and snatch it away in the dark and then bring you your meal when it is ready. It’s all very simple, easy, and causes minimal interference with viewing the film.

Thirty minutes before the movie is over your hostess will make a last call, and then hand you your check. You can leave your credit card or cash and they will swing by and pick it up. When the house lights come up, you can sign your receipt and be off.

In addition to the cool food service, the Alamo Drafthouse doesn’t show commercials. Instead, they show clips of movies and trailers for films, most of them older. For instance, I watched about 10 minutes of a car chase scene from some movie in the 1970′s. I have no idea what film it was from, but it was great to see something that wasn’t a commercial.

And the people who attend the Alamo are, by and large, film buffs. They are people who want to have a great theater experience, so there’s no talking, cell phones, or any of that other bullshit. It was unfortunate for me, however, that the couple sitting to my left were from out of town (hey, I’m from Idaho, but at least I knew all about the Drafthouse before I showed up), so the guy talked for a few portions of the movie. Not a lot, but enough that I wanted to elbow him and tell him to shut up. They were the exception though – everyone else in the theater was stone silent, and that was totally awesome. It was definitely different from what I’m used to experiencing.

I can’t say enough good things about the Alamo Drafthouse. It was clear from talking to the waitresses and waiters that they don’t consider this exceptional; they work there everyday so this is normal for them. But for a guy like me, who loves films as much as I do, who wants to get completely lost in the theater experience, the Alamo was extraordinary. It was the best theater experience of my entire life, and I only wish I had an Alamo where I lived so I could attend movies this way all the time.

People of Austin, TX hear me: do not take the Drafthouse for granted. You have something really special there.

Oh, and what did I see? Eastern Promises, but you’ll have to wait for my review to see what I thought of the actual film :)

Some quick background: The Boo Build Server (Boobs) has really picked up steam at this conference in terms of joke productivity.

While chatting with Jay Flowers tonight at the sports bar, a young, blonde hottie waitress walked by. Jay turns to me and asks, “Did you get a look at that build server?”

Scott Guthrie gave a presentation today about Microsoft’s new MVC framework for ASP.NET. Jefferey Palermo has the technical lowdown here, and Roy Osherove gives his reaction, mostly from the standpoint of TDD. It’s a great reaction, though, and I think he speaks for a lot of people here at the conference when he says, “finally they get it.”

The “it” he’s referring to is a lot of things: the community around .NET, specifically the open source community, the tools, and the idea that there are a lot of developers who are building pieces of functionality that fit into the .NET puzzle. But Microsoft has had an an unfortunate history of not working in concert with this community, and choosing to do their own thing instead.

Scott’s presentation today was awesome, not just from a technical standpoint (the MVC framework is very cool, however), but also from a philosophical standpoint. While Scott was explaining the features of the framework (which got a lot of people excited all by itself) the really exciting bits were the things that pointed to a mind shift within Microsoft: the fact that all methods were virtual, for instance, thus easing testability. Or the fact that it was pluggable, so you could use whatever dependency injection choice you wanted.

These features and design choices represent a huge paradigm shift for Microsoft. They say to the open source .NET community: “We recognize your contributions, and we’re not going to try and reinvent what you’ve done. Instead, we’re going to make it pluggable, so you can use whatever technology you favor.”

The importance of that philosophy and that mindset change cannot be understated. As Jay Flowers said tonight when I was chatting with him, it sends a message to open source developers that “there is a space for you.” It plays directly into the ALT.NET philosophy, which is: “We’re going to use whatever tools we think are best to get the job done.” Scott’s presentation couldn’t have been more appropriate or well received at any other conference.

The exciting part of all of this, at least to me, is the idea that this could be just the tip of the iceberg. There’s hope now for the future. Scott Guthrie can’t be the only developer at Microsoft who thinks this way and has the influence to navigate Microsoft into this Brave New World.

As I told Jay tonight: This is an exciting time to be a .NET developer.

A year ago I attended the Patterns & Practices Summit in Redmond, WA. It was a pretty typical conference: keynote speakers, 450+ attendees, bad lunches. But one of the really cool things that happened during the conference was getting to chat with Brad Wilson in the hallway along with about ten other folks on subjects like CAB, MVP/MVC, unit testing and how to map data for display purposes.

The hallway conversations were great; the best part of the conference. And now I’m at ALT.NET, where the entire conference is one big hallway conversation. It is a really cool way to hold a conference.

The Open Spaces format is quite different from a typical conference. Instead of planned speakers, the attendees get together and determine the content and then they gather together in various conference rooms and have those “hallway conversations”. It’s incredibly cool – very organic and free flowing – the conversations can cover a lot of ground in a short amount of time and tend to bleed over into other areas. For instance, I ended up in a really cool impromptu session with Scott Guthrie discussing language features of .NET 3.0 (and some stuff that is somewhat unknown in .NET 2.0). It was a great session.

The great part about this format is that novices in an area can ask questions and experts can answer. There’s not one authority on anything trying to preach a single viewpoint, but instead a collection of people with varying degrees of expertise sharing ideas. Everyone learns, everyone benefits. It’s one of the best environments I’ve ever been in.

Starstuck

I’ve been starstruck with the sheer amount of talent and knowledge that is here. As I overheard at one table, if a bomb went off in Austin, a whole lot of great .NET minds would be lost. Some of the people in attendance: Scott Hansleman, Jeremy Miller, Scott Bellware, Scott Guthrie, Peter Provost, Brad Wilson, Jean-Paul Boodhoo and Martin Fowler. Yes, even Martin Freaking Fowler showed up! It has been great to meet many of the people whose blogs I read. What’s really cool: everyone here has passion for development, and no one is afraid to speak their mind. It’s infectious being around this many people who have a real desire to find the best tools and practices for .NET development, and then to bring those discoveries to the rest of the .NET development world.

It’s just the beginning… More to come.