Search

Archive for January, 2009

CodeMash is over.

On day 3, I spent some time in a LINQ session, a TDD session, and even a Cloud Computing session (which I found really boring–not the session, just the topic).

I went to an IronRuby session. The presenter asked who was a web developer, and then told us that this was not a session that will have anything to do with the web. It was for those people “in the trenches” with desktop applications. It just seemed like a hostile-to-webdev session, so I left. That’s what CodeMash is about, baby!

That turned out great though: I joined Joe in a session called “Test Infecting the Legacy Organization”, which may have been the best session all CodeMash. It really changed my perspective on how to introduce better practices to your shop: ninja-style. “It’s easier to ask forgiveness than it is to get permission.”

Speaking of ninjas, Amazon’s recruiters were at CodeMash, and they posted some “coding brainteasers” in the hallways. If you solve one, you get a ninja-coder sticker. I got two right! Here’s the first one, see if you can figure it out:

What’s a better name for this function?

 unsigned int greaterNinja(unsigned int a, unsigned int b)
 {
     if(b == 0) return(a);
     return(greaterNinja(b,a%b));
 }
 

And here’s the second one:

For what two values v does this function return “true”?

 bool ninjaPair(int v)
 {
      return(v+1 < v-1);
 }
 

I got the first one in about 20 minutes, the second one in about 5.

In the wrap-up raffle session, I won a book (More Effective C# - the writer of which gave two sessions that I sat in on). Everyone (literally) at my table won a prize.

Ali & I are hanging out at Kalahari for a couple extra days. Matthew has started saying "da da" like crazy. I've learned a couple harmonica songs. The Candy Hut has an amazing treat called a "butterscotch porcupine" (chow mein noodles covered with butterscotch). Am I having a good week? No. I'm having a great week.

Day 2 of CodeMash is over. I can’t imagine a better conference for computer nerds, except maybe a hypothetical CodeMash which was a few days longer.

Today was the first “official” day, and so there were more sessions (which are shorter). I sat in on a Prototype/Scriptaculous session, which was odd because I’m a jQuery guy, and Leon spent a good amount of time praising jQuery. He also stuck it to ASP.NET AJAX, which I found interesting; he also said that it’s “going away” now that MS has officially adopted jQuery. MS says that both will coexist, but I think jQuery will cause it to become stale, if not completely go away.

I went to a PM-oriented “Three Ways to Improve Your Dev” process, which had some interesting ideas.

Venkat Subra..Subra…not-gonna-work-here-anymore delivered what can only be described as coding stand-up comedy, as he listed a half-dozen programming fallacies during the morning keynote. Mads Torgersen delivered a keynote on the future of .NET.

I spent the next two sessions in functional programming: 1) Erlang, and 2) a more general session covering Erlang, Scala, and a couple others (to go along with the F# I did lab yesterday). It was interesting to dig back into functional programming, but I don’t think it’s my bag of potato chips just yet.

Finally, I sat in on an Extension Methods for C# session, which I found worrisome: extension methods seem really dangerous to me, and I’m having a hard time seeing then being used well (outside the .NET framework itself). They are cool, and they can be useful, but they seem to fall into my “on error resume next” bucket for now.

I had dinner with Ali, and then I went to the cocktail party. I played a ton of Rock Band, and then I watched some real musicians pull some fantastic improv songs right out of thin air: lyrics, guitar, drums, everything.

I think CodeMash 2010 needs to be at least 1 day longer–I’m having a ton of fun and learning a lot.

I just finished up the CodeMash “precompiler” (aka the first optional day).

I went to a TDD session and I spent some time in the Microsoft kitchen, where I also did some TDD work. I am more convinced than ever that TDD is the way to go. I’m not even that good at it yet, and yet it feels so natural, so minimalistic, and so correct.

I also spent some time in a Kanban session, which seems like a useful little tool. I bet every shop has some sort of Kanban already, but they don’t call it that, and they certainly don’t formalize it or recognize the potential.

I also watched a live recording of .NET Rocks podcast, and I think Leon Gersing has officially ushered himself into my personal pantheon of developer demigods. He may come off like a “stick it to the man, maaaan!” type of guy, but if you pay attention, he makes so much sense that it makes me want to grow a beard and wear silly hats. Oh wait…I already do that.

Check out the Twitter hashgroup for CodeMash if you are interested in the goings-on.