Wednesday, August 01, 2007

Robert Martin at AgileHouston Last Night

I just got home after attending a talk by Robert Martin on Code Quality.  It was really great to meet him after reading his book, to which I gave an excellent review.

Bob (that’s what people call him when you know him, kind of like Bob De Niro, though I don’t know him at all — what was I saying?) is very animated and pretty weird.  He pulled out his geek card a few times which was funny.  He even acted out a scene from Star Trek 2 where he was Ricardo Monteban.  Yeah.

Anyway, the talk was very much like his book and enjoyed it thoroughly.  It was also good to see other folks in the room interested in agility from around Houston.  Most of them were .NET developers.

Robert Martin will be in town again next month giving a similar (but different) talk about clean code, possibly with Ruby.  Hopefully I will be able to attend that as well.

I’ll leave you with some R.M. quotes…

“Not cleaning up your code is like not doing the dishes after dinner.  The longer you wait, the more the mess piles up.  Eventually it impedes you so much that you can’t even work”

Having management dictate a specific code coverage percentage is madness.  Code Coverage is a great tool for developer feedback, but mandating it will not provide value.”

The great redesign in the sky fails — always.”

So you want to clean up some code but it is just a mess?  Uh [snickering] do you have tests?  No?  Your pretty much screwed.. [smiles]” — after which the book Working Effectivly with Legacy Code was recommended.

“Professionals write tests — first”

Sunday, July 29, 2007

My Presentation at OKCodeCamp - DDD with NHibernate

I presented a talk on Domain Driven Design with NHibernate at the OKC code camp yesterday.

It started out a bit rough because I had some missing references and some confusing exceptions, however once I got the ball rolling I think it went pretty well.

I ran way short on time, however, and I promised the crowd that I would post the completed files on my blog tonight .

So, here is the powerpoint, demo applications, and all of the referenced dlls from my presentation.  Let me hear your feedback in the comments!

File Attachment: ddd with nhibernate.zip (7694 KB)

(the file is large because I have the complete references to specific versions of NHibernate and NUnit, so you shouldn’t have to worry about references at all.)

To get the sample running, change the app.config to point to an actual database.  The database should be empty.

OKC Code Camp - After Thoughts

I’m in the airport now awaiting my flight home.  The code camp was a blast!  I was very glad to meet a bunch of very smart folks and pick their brains.  I also miss my family, so I’m glad to be going home.

Being surrounded by like-minded people really validates that the things that we are doing are of value, and I really think that the industry is poised for a change as a whole.  At the code camp there was an Agile Experts Panel (which I was a part of somehow  )  — anyway, there was only one guy up there that was questioning the things that we were talking about.  In my experience the agile ones are the outnumbered ones.  There were a number of .NET newcomers who were just getting into development, and it was really good to recommend some solid books and blogs to get them started.

It was fun to listen to Scott Bellware not pull any punches and be incredibly blunt about what he believes about agile. 

A couple of my favorite quotes of the day:

  • “God forbid we ask our developers to LEARN…” – Scott Bellware
  • “When you fire up the debugger to verify something and then click stop, the ‘test’ that you just performed goes into the ether.  Every time someone does that, God kills a kitten…” – Dave Laribee

I can’t wait to get together with these guys again at the ALT.NET open spaces conference in October.

(oh — I’m working on finishing the example from my presentation, so I’ll post the files for that as soon as I finish)

Wednesday, July 25, 2007

The Results are In!

Our little dasBlog theme contest has ended.

Here are the votes:

drum roll please…

Dandelion: 6 votes
Expression: 2 votes
Funky: 1 vote
Lizard Lounge: 2 votes (even though I told them not to vote for it :P )

So, Tim Sherrill, your $100 Amazon Gift Card is forthcoming, and thank you!

Thanks also to the others who submitted their themes.  Maybe we can do a larger contest in the future.

Dandelion DasBlog Theme

Monday, July 23, 2007

dasBlog Theme Contest - The Contenders

Here are the contenders for the dasBlog theme contest (in no particular order)…

Entry #1:  Dandelion, by Tim Sherrill

CropperCapture[5]

Entry #2:  Tractor Pull, by Tim Sherrill

CropperCapture[6]

Entry #3: Expression, by Janakiram MSV

CropperCapture[7]

Entry #4:  Funky, by Tony Bouch

CropperCapture[8]

Entry #5: JDasBlog, by Justin-Josef Angel

CropperCapture[10]

Entry #6: VitaminCSS, by James Green

CropperCapture[9]

Entry #7:  Lizard Lounge, by yours truly (this one can’t receive any votes, since I am a sponsor of the contest)

CropperCapture[11]

All of these themes are available online at the dasblog sample blog (http://www.dasblog.info/dasblog).

Thanks to all who submitted entries!

The dasBlog team will vote on the winner and I will post the results here.

 

Thursday, July 19, 2007

Speaking on NHibernate in OKC

I turns out that Jeremy Miller can’t make it to the code camp.  I will be taking his slot and giving a talk on NHibernate.  Specifically I will be talking about how to apply Domain Driven Design principles and address persistence with NHibernate.

I am bummed I don’t get to meet Jeremy, however I am glad to have the opportunity to speak.

Friday, July 13, 2007

Realtek Sound Manager - WTF?

My current work computer has one of those crappy OEM Realtek Sound Manager craplet pieces of software.

I really hate it when hardware companies (especially sound card manufacturers) think that they should abandon the well-known and incredibly standard windows framed interface and invent their own scary window interface.

Anyway, I normally would never open this app, but it forces itself in focus when I plug in my headphones.  (Yes, you read that correctly)

Realtek

Umm, WTF?  It obviously knows what I plugged in because it is highlighted and checked.  The headphones don’t work until I click OK on this box.

The worst part?  Uninstalling the application renders the sound card useless.  Pfft.

Enamoured with Console

Face it.  The windows command line interface has always sucked.  Maybe that’s why most Windows users don’t use it…

Lately I’ve become enamoured with Console, the open-source replacement for the basic Windows command prompt.

The reasons I like it?

  • Tabbed interface
  • Alpha Transparency
  • Support for lots of colors and fonts (Consolas kicks ass)
  • Integration with cygwin

Seriously, now…  which looks better?

This….

Console

or this….

Cmd

 

Thursday, July 12, 2007

Why are Ruby Applications So Elegant?

I’ve had a bad case of Mac/Ruby envy lately.  I’ll post more on the Mac thoughts later, this post is about Ruby on Rails.

If you don’t know what RoR is, then maybe you should go to the website and take a look.

Tadalist1

I keep seeing these Ruby applications that are so simple, elegant, and useful.  Take tadalist for example.  This is a painfully simple application but it works the way I want it to and it’s always available.

I use tadalist more than I use Outlook’s todo list interface.

It’s just so much cleaner, it’s always available, and it doesn’t get in your way.

Maybe this is due to the “ruby way” of thinking.  I have seen countless applications written in JSP or ASP.NET that just look like someone vomited html all over the page.  Where are all of the interaction designers in the .NET space?

Another Ruby application that I have seen that I think is incredibly useful and elegant is Basecamp.  This is a project management utility that is basically the Anti-Microsoft Project.  They took all of the things that they didn’t like about Project and built Basecamp, stripping down tons of features to boil down into the a simple, useful project collaboration application.  Check out the screenshot to see what I mean.  The interface is slick, and it has everything you need to know, right there.

Basecamp1I used this to collaborate on a small project and found it to be incredibly intuitive.

It isn’t intuitive because it was written in Rails.  It is intuitive because the people behind it are brilliant.  And these particular brilliant people swear by Rails.

Every time I try to use Project to get a hold of the overall picture of my current project I get lost, and I don’t see much value in that beast of an application.

Thoughtworks is jumping in as well into the ruby space.  In a recent interview with Martin Fowler, he claimed that somewhere around 60% of their consulting work is in Ruby now.  60%!  I find that very hard to ignore.  Check out their newest online application for managing agile projects:  it’s called Mingle, and it looks awesome.

Mingle

I’ve found 2 more ruby examples that I am really keen on:  Warehouse and Lighthouse.

Warehouse1Warehouse2

Warehouse is a subversion repository browser with a slick interface.  It’s only 30 bucks, too!

 

 

Lighthouse looks even cooler.  It’s a bug tracking application that integrates with subversion and email.  I’d really like to take this application for a spin.

Lighthouse
 
These applications do share a common interface style, but that doesn’t exactly mean it’s a bad thing.  The design of these applications is simple, polished, and actually pleasing to look at.  Try to think about those things with Team Foundation Server and see if you get the same feeling.
 
This raises the question, Why are Ruby Applications so Elegant?  Well, not all are… but the majority are.  
 
I’d say, some major factors are:
  • The typical ruby developer is also a Mac user.
    • the typical Mac user appreciates design.
  • The mantra of “less is more” radiates from the language (Ruby), the web framework (Rails), and the interface.

I’m really jealous of the work that some of these folks are doing.  This is contributing to my Mac Envy, which I will post on later.

Am I just becoming a fan-boy?  What do you think? 

Tags: , ,
Credit Card Consolidation - Wills - Loan - Debt