March 23, 2009
@ 12:10 PM

Inspired by Bullshit Bingo I've created ALT.NET Bingo for you next ALT.NET conference, Twitter conversation, or blog reading session.  It's simple:

  1. Get your card! http://is.gd/oA0A
  2. Every time you hear a word, you mark it off.  If you get bingo you stand up and shout, "WATERFALL!!"

Happy playing!


 
Categories: ALT.NET | Humor

November 1, 2008
@ 12:15 AM

I'm in Austin, Texas for the Kaizen Continuous Improvement Conference this weekend.  One of the very cool things the organizers did for this event was offer two days of workshops before the conference.  While I'm excited for the conference itself, much of my excitement for the conference stemmed from these pre-conference workshops.  Yesterday I went to two workshops, both of which should be online at some point.

Advanced NHibernate - with Ayende Rahien

I was a little leery of this one given our seemingly trivial usage of NHibernate.  I was pleasantly surprised to see how much of this was perfectly timed for where we are at.  Oren went into great detail on various parts of the NHibernate and it's contributing projects.  He spoke a bit on caching and performance optimizations/pitfalls that you generally have to watch out for.  Quite possibly the coolest feature was getting to see NHibernate profiling application that Oren is working on.  This won't be a free tool but the price from what I've heard from Oren will be very reasonable (I am not saying the price since it may change).  With NHProfiler you can see all the queries that get executed from you application.  It even has alerts built in, such that if it detects a problem (ie. Select N+1) it will let you know.  Without hesitation, if you're using NHibernate, buy NHProfiler when it comes out, it is easily worth it.

The most important concept that I got from this session is how powerful NHibernate is.  People can fight ORM, roll their own solution, or write their own T-SQL but when you see what NHibernate has to offer it seems ridiculous to choose any of those options.  Two little known NHibernate features you may not have known about that I've found very cool:

  • NHibernate Search : Leverages the open source Lucene.NET implementation and keeps allows you to do search which have performed poorly in the database against a very fast Lucene index.
  • NHibernate Shards : Written by Google this allows you to scale across a number of databases. I won't delve into sharding here but you can read up on it on wikipedia.

DDD Chalk Talk - David Laribee

I was very interested in this chalk talk since the name seemed to indicate we'd get a chance to have an open discussion about DDD and how one would approach DDD in their domain.  This talk seemed to have peaks and valleys.  It was no fault of anyone in the talk, but DDD seems to be one of those topics where it becomes extremely tough to follow once you get outside of what you know.  The topic of aggregate roots and contexts were quite helpful.  I found it encouraging that ideas that I have interpreted from the book seem in line with what David Laribee demonstrated on the white board.  I'm only a few chapters into the book and am absorbing as much of the DDD concepts from those who are ahead of me on this path.  I'm encouraged to see where others have taken it, the value they have found in it, and what it could mean for our application(s) in the future.  Just have to keep reading and learning.

Quite a lot for only the first day of a multi-day conference.  For those of you who aren't here in Austin but wish you were, keep an eye out for videos of the many presentations that my pop up.  I will update this blog if/when I see them appear online.  There was a lot of good content coming out of these workshops and it'd be a shame to have the content limited only to those in attendance.


 
Categories: ALT.NET | DDD | NHibernate

"But you have the source!"

I heard that statement a little over a month ago at the Alt.Net Open Spaces event in Seattle.  It's no secret to those who know the community, that open source technologies are at the very least promoted and in many cases you'll find many open source project committers within the Alt.Net community.  Heck, David Laribee, a founding member if there is such a thing, in a post defined Alt.Net as (emphasis mine):

  1. You’re the type of developer who uses what works while keeping an eye out for a better way.
  2. You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.
  3. You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.
  4. You know tools are great, but they only take you so far. It’s the principles and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principles (e.g. Resharper.)

The quote, and many like it, came in a session titled "Mature Open Source projects versus first generation Microsoft projects".  The discussion centered around why some (many) developers, managers, and executives feel comfortable choosing a brand-new Microsoft product when a far more mature open source alternative exists.  One the fears surrounding the adoption of open source is the lack of surety that open source project will exist in perpetuity.  One needs to look no further than two projects, NVelocity and NDoc, to find historical evidence of an open source project vanishing.  The main counter-point to that argument, and many others, was the quote above, that with open source, you were never truly left high-and-dry, since you had the source.

It's a noble thought, but really, who wants to manage another codebase in addition to their own?  In fact I turn to open source project many times so I don't have to write my own code.  Why re-invent what someone else has already done and guided to maturity?  The idea that I can compile and manage another, possibly large, and probably complex codebase is hardly a comfort to me.  It wasn't until a few weeks ago that I realize that the open source pundits were correct.

I have been working on a project for the last year that has, as of two versions ago, started using Watin to automate the downloading of a file from the internet.  Watin is a testing framework but is used by many to automate business processes, which is what I use it for.  If you haven't checked it out yet, it's beautifully simple.

Watin provides handlers to download a file, however, the code was hanging at the point where it should've cleared the download.  I looked at every documentation page, blog post, and blog comment I could to see if I was missing something.  My usage was correct.  So I dug in a bit further using WinDowse to find the handle of the button that should be clicked.  As it turns out the handle of the Save button in a FileDownload Dialog changed from 4424 to 4427 in IE7, who would've guessed it right?  Well, since I had the source I went in and made the change, and voila, I'm back in business.

It gave me some confidence that if an open source project does cease, I can pick it up and patch it up.  I still don't want to manage multiple codebases from many different source, but in the end the pro open-source guys were right, "You have the source!"


 
Categories: .NET | ALT.NET | Musings | Open Source Software | Software

April 27, 2008
@ 06:26 PM

I've just come off a whirlwind few weeks.  The largest change is my departure from Geonetric, a health-care content management system (CMS) software maker, and moving to J & P Cycles, a after-market motorcycle parts dealer.  A week an a half ago I also attended a Get Motivated event here in Cedar Rapids.  I was particularly interested in hearing/seeing Zig Ziglar speak, as I'm a big fan of his books/audio.  Then last weekend I attended the Alt.NET conference in Seattle.  Then this weekend I went to a workshop on investing.

Being around the type of company at these types of events (whether technical, motivational or other) really inspires one to be better.  At the Alt.NET conference I had a chance to sit with a small handful of developers at the TypeMock sponsored dinner.  Sitting among the likes of Roy Osherove, Jeremy Miller, Dru Sellers, Oren Eini, and Steven "Doc" List and realizing that these guys are masters of their areas is really quite inspiring.  Just listening to the talk of IoC containers and mocking frameworks (with two mock framework authors) is something one cannot put a price tag on.

On the plane ride back, it was evident in fellow attendee Chris Sutton that he was inspired the way I was.  I've since spent the evenings cracking open books that have been collecting dust for some time and rereading them (Chris is doing the same since watching his Twitter account).  At the same time I've been working to shut the TV off, not entirely but the mindless time I spend in front of the tube has got to go if I aspire to be on the level with these programmers.

I've spent the better part of this post talking specifically about Alt.NET but Alt.NET really was just one of the events in which I interacted/saw inspiring people.  These past two weeks have been quite a kick in the pants.  I would encourage readers of this post to question themselves about what you're improving yourself on whether it's your coding, your golf game, investing foundations, or some other hobby.  My eyes have really been opened lately to the vast number of winners out there and the vast number of mediocre people.

Don't be mediocre, better yourself, starting today.


 
Categories: ALT.NET | Musings | OT

April 19, 2008
@ 11:04 AM

From the moment we got here it's been so absolutely incredible.  We (Chris Sutton and I) arrived in Seattle about 11:00 and met up in our hotel lobby with a few guys and went off to lunch.  The subject of mocking came up and got into an interesting debate with the guys about mocking, among which was Roy Osherove.

I'm generally a nobody, but that's not how it feels here, everyone comes here to learn from others, so it actually tends to be a great group of developers.  Yesterday afternoon I was chatting with Udi Dahan, Greg Young, Drew Sellers, and Evan Hoff about event driven design.  I'm amazed that when surrounded by many celebreties in our community that they are really just like us (Roy O is the most down to earth guy).

The open spaces format is interesting, people get up and say what they want to talk about and then we figure out what will be talked about.  Some topics from Friday evening were mocking, agile scaling with teams, distributed design, and javascript testing, just to name a few.

A highlight was talking in a small group with Martin Fowler and Scott Hanselman about languages and the importance of finding good code to learn from.

All in all, I'm so far impressed and the conference really hasn't begun.  From the time people showed the conference began, despite it not officially beginning until 6:00 last night.  After the conference everyone went out to eat and this morning people are gathering for breakfast.

Ultimately one cool group of people that I'm proud to be a part of.

 


 
Categories: .NET | ALT.NET