Sep 28

Ever since David Laribee put forth the ALT.NET Manifesto, the blogosphere has been buzzing about the topic. The buzz has intensified even more since the ALT.NET Conference registration opened up and several of the CodeBetter bloggers (Jeffrey Palermo, Raymond Lewallen, Jeremy D. Miller) posted their thoughts on the subject. I even read that Philadelphia is even starting up their own ALT.NET User Group.

At the same time, the ALT.NET name has come under scrutiny. Some comments have suggested that the name is divisive. Scott Bellware is one of the more vocal proponents of the ALT.NET mindset and he chimed in about his thoughts on the name. I think that any discussion about the name is a waste of bits. The movement is the message, not the name. Even Martin Fowler asked the question, “Why is this stuff alternative?”

By attending the ALT.NET conference, I’m digging for real answers to real challenges.

  • How do we leverage the advantages of agile development in a large organization with a large existing code base for an established application platform?
  • How do you evolve established (read: waterfall) development practices to quickly respond to product change requests?
  • How do plug an agile methodology into a system that is deployed and in-use by over 1,000 customers?

I’m not looking for packaged answers. I’m expecting enlightenment that will inspire me to work hard to change our software development practices, enabling our team to become more effective and more responsive to change. Requirements constantly change through the software development process, and as often as “changing requirements” and “unclear requirements” are mentioned as “problems” in post-mortem analysis, anything that will reduce the gag reflex I feel when somebody says “but that’s a change to the requirements” would be great.

I encourage any software developers reading this to keep an eye on the blogs linked above as the events of next weekend unfold. The roster for next weekend is packed with some great minds and the results should be very interesting.

Sep 14

Wow, today is going to be a long one. Last night, I went to see EOTO play. EOTO is a spin-off of the now defunct String Cheese Incident. It was a solid 2-hour techno show, but not the hard house or trance that I’ve heard so much about. It was more trip-hop or something like that, very cool stuff. The drummer played for two hours straight without a break — pretty wild.

The MacBook Pro continues to evolve. Post Fusion install I’ve gotten all my development tools installed, including Resharper, TestDriven.NET, TortoiseSVN, and NAnt. So far everything seems to be working great. I’ve yet to install PowerShell (so I can have my NIX command-line goodness for the Windows box). I pulled down the trunk of Castle and got it to build as well. I had to create the Test & Test2 databases on my local instance of SQL Server 2005 in order for all the tests to complete.

It looks like I’ll be giving a presentation on MonoRail at the TulsaTechFest 2007. It will be an introduction to building a web site using MonoRail and Brail. MonoRail is part of the Castle Project and provides a MVC (model-view-controller) framework within ASP.NET. MVC is a solid pattern for building web applications that is a significant improvement over the page-based WebForms model. MonoRail embraces web standards allows applications to be built based on controller logic and helps facilitate the separation of concerns. It’s good stuff, I can’t wait ot talk about it.

Did I mention that I’m old and staying out until 2 AM at a live show is painful the next day? Where is the Tylenol again? Strange that I can stay up until 3 AM playing with a new computer and not feel fried the next day but this was… different.

Oh yeah, Peggle Extreme is part of the pre-order package for TeamFortress2 on Steam. I highly recommend it as a fun diversion! Speaking of TF2, I’m all set for the beta that starts on Monday. I can’t wait to play the game, I hope for some cool in-game video recording (with FRAPS or otherwise) next week. I wonder if voice-chat is built into the game? Things I don’t know — they are plentiful today it seems.

I got my iPhone store credit, $100, fast and easy from Apple. I guess this means a trip to the Apple store is coming soon.

Oh, and today’s post is an experiment in link diarrhea to see how long it takes this post to go up!

Aug 25

Registration is now open for the alt.net conference. Scott Bellware announced this conference a month ago and I heard about it at the Oklahoma City Code Camp. I’m registered and very excited to attend what I expect to be one of the most talked/blogged about events of 2007. Some well respected names in .NET software development will be there and the mindshare of alternative .net technologies is going to be off the chart.

The hopes for the event (posted by one of the organizers David Laribee) include:

  1. We favor respectful debate over back-patting and head-nodding.
  2. We keep things as visible as possible for those unable to attend.
  3. We ideate more about the tools we need than tools we have.
  4. We spend a significant time discussing what to do over how to do.
  5. We capture lightening in a bottle (as they say) for future events.

The alt.net mindset, for those that are new to the term, are best summarized in this post on Roy Osherove’s Blog. Castle, NHibernate, NUnit, CruiseControl.NET, MonoRail, MVC, and other open source tools are being used instead of the out-of-the-box ASP.NET experience. Throw in a healthy dose of domain-driven design, object oriented design patterns (Gang of Four and beyond), inversion of control, dependency injection and agile development and you have a pretty solid departure from the Microsoft company line (which is likely the source of the whole ALT- slant on .NET, these tools are alternatives to those provided by Microsoft).

The Open Space format is new to me, but I’ve read many articles about it and find the format quite refreshing. Having been to plenty of trough-feeds put on my Microsoft (PDC, TechEd) I’ve found those events to be more about marketing tools to developers than actually learning and understanding what’s been demonstrated. Combining the knowledge pool of the attendees using a self-organizing format is likely to yield some enlightening discussions, some passionate conflicts, and hopefully some revolutionary thinking in the minds of software developers, particularly those that are just learning that WebForms are not the only way to build web site with Microsoft tools.

I’m not trying to sell the event, I think the organizers, the attendee list, the content and the format sufficiently sell the event. I’m just glad I’m going to be a part of it. Photostream and frequent blog updates should be expected that weekend!

Aug 01

http://agilemanifesto.org/

Jul 29

On Saturday, I went to the Oklahoma City Code Camp. This was the first event in OKC and despite some speakers that canceled at the last minute I found the content to be very compelling. The logistics were flawless, right down to the breaks between each session. I tip my hat to Ray and his crew — they did a top notch job making the event fun and informative.

The first presentation was by Jason Zander on the .NET Framework and Silverlight. This was a standard demo package from Microsoft and included a lot of things I had seen in previous meetings.

The second session was on Behavior Driven Design by Scott Bellware. Kudos to Scott for pimping a sweet MacBook Pro (2.4 Ghz, 4 GB, VMware Fusion) with a Speck hard case. Favorite quote, “How do I right-click on this thing?” The content was great, and I felt the importance of TDD in the design process.

Lunch was pizza, always a staple!

After lunch, the format was mixed up a bit. The presentation was to be on Ping Pong Pair Programming, but one of the presenters canceled. So Dave Laribee loosened up the style a bit and gave a demonstration of how user stories we handled in a ping-pong style between a pair of developers. This by far was a great demonstration. It was almost all code and really showed how TDD plays out. They took turns writing a test, and then having the other write the code. It was slick. They even had I think four programmers at the end, each taking turns at the keyboard. It was very exciting — the cooperation and conflict was intense. It was like a productive design session because code was being written!

The next session was on Domain Driven Design using NHibernate. Having recently become familiar with NHibernate, I was anxious to see this topic covered. I found the information both in-depth and easy to follow. A lot of the methods described in this session I already use in my own space.

The final session was a roundtable discussion on Agile development. It was meant to be an open discussion about any topic, but the Agile guys totally dominated the content. Some heated debates took place, and at one point it almost came down to blows — these are some passionate folks! A lot of useful information was given, I just hope I can remember it all.

In the end, I felt the trip was far more worthwhile than I had anticipated. I spent the rest of the evening with some of the speakers to just get a glimpse at what gets them excited. Their dedication to Agile software development is deep in their veins, and it was very interesting to hear their views. The thing I learned the most from Saturday is that I’m a complete neophyte when it comes to Agile development. Using the tools alone does not make you Agile, it takes a major shift in processes as well.

Jun 25

Tonight Microsoft Developer Evangelist Chris Koenig is going to demonstrate Silverlight. I’m looking forward to it since without multiplatform support, WPF is pretty much limited to thick-client applications. You can find out about the event here.

Jun 07

This week has been seriously fueled by technology. Things that have seriously elevated my excitement level this week include:

Windows Presentation Foundation (WPF)
This thing is set to be seriously cool with the introduction of Silverlight. The ability to build applications that run in the sandbox and have the rich WPF UI is enticing, particularly for applications that are very UI intensive. With a solid web service back end and rich communication support in Silverlight, this could seriously rock. Using Expression Blend is a treat as well.

New MacBook Pro
The new release of the MacBook Pro, with Santa Rosa and LED backlighting is a sweet deal. While only the 15.4″ got the best upgrade (LED), the rest of the line got a minor refresh. Of course, no case redesign yet, but maybe that will come with Leopard, along with a 17-inch LED upgrade. The high resolution (1920×1200) 17″ display is a nice add-on for the biggest model.

Parallels 3.0 DirectX Support
While not anyone’s favorite desktop VM company, they have a solid support base in the Mac and continue to add new features. Their support for DirectX is a nice plus, but they say it doesn’t run Aero yet so Vista users have something to wait for for now. Depending up on the UI updates in Leopard, this could see another refresh soon.

VMWare Fusion Unity
Not to be left behind (well, at least in the desktop coherence area), VMware showed a video of Unity. This is some seriously cool tech, including Expose and Dock support. Very cool, VirtualSMP support for those dual-core systems, and basic DirectX 8.1 support (likely 9.0c or 10 by October’s Leopard release). I’m most excited about this due to the history of VMware and how well they work for us at work.

BlackBerry Curve
While not as big as I would have liked, the Curve is a nice upgrade. The camera and video support is slick, but the lack of WiFi (on Cingular) and GPS makes it sort of meh. However, being so close to the iPhone release, this consumer unit is going to get a lackluster reception at best.

iPhone
Okay, this thing is coming and the coolness factor is off the charts. Every day the hype gets higher and higher. And with the widespread availability of WiFi connections, everyone is going to want it. Cingular/AT&T is going to make a killing with this phone, and customers are going to buy them like crazy. I only hope I can resist the urge.

WWDC 07
The Apple Worldwide Developers Conference is always a fun place to get excited. With the expected release of a feature-complete build of Leopard, this should be a big week (or a dud, if your feature didn’t make the list). Expect to see a new UI for the Mac, some great file system improvements (ZFS), and likely a ton of slick overhauls that haven’t gotten any ink yet.

Put all these together and you have one hell of a month of June.

Mar 22

I’ve lately been digging into the classes for Managed DirectX programming in C#. I’m early in, but it seems pretty slick so far. I’m a bit concerned about writing signal processing tools in C#, so either MSIL or Managed C++ may have to come to the rescue if performance tanks.

I’ll post again when I get a usable starter project.