Archive for the 'Announcements' Category

My Legacy to the ALT.NET Movement

I was just debating whether I should try to sweet talk my wife and bribe my boss into letting me go to the upcoming ALT.NET conference in Houston.

I went to the first one in Austin a couple of years ago and just came across this satirical post that I wrote shortly afterwards. It is based on some creative interpretations of pictures that were taken at the event.

Besides being the most fun I ever had blogging, it also represents the closest thing I have to a legacy in this once vibrant movement.

Check out the post if you missed it the first time around and make sure to reserve the weekend of April 30th – May 2nd if you like or are up for experimenting with the open spaces format.

Popularity: 1% [?]

KC Day of Dot Net ReSharper Presentation and Resources

I presented a session on ReSharper at the Kansas City Day of Dot Net conference this last Saturday. Kudos to Lee Brandt for organizing the event, which seemed to be a big success based on the attendance and the number of interesting topics being presented.

A few attendees requested that I post the slide deck, so here it is. It’s in 7-zip format, which only takes a minute to install and beats winzip if you’re not already using it. Most of the session involved me demonstrating the various features of ReSharper through a Test-Driven Development style coding session, so the slide deck won’t be very helpful if you weren’t there or are looking for anything other than a laundry list of features.

If you’ve never seen ReSharper before, you might want to take a few minutes and watch one of these short videos to see the tool in action:

For those of you looking for a way to get started or learn a few new features, I recommend first checking out the features page on JetBrains. It does a pretty good job of providing high level descriptions of all the features along with helpful screenshots that will help you grok the basics.

After that you might want to check out Joe White’s 31 Days of ReSharper. He wrote it back during version 2.5, so some of the features have been enhanced since then but I really like how he dug into the nuances of the various features.

I also wrote a few posts on the topic, including my favorites from about a year ago and my recent efforts to break out of my R# rut. I learned a ton of new things as I was preparing for the presentation, so look forward to a few posts in the near future on this tool as well.

Popularity: 7% [?]

I Won!

…and I’m not just talking about my recent eBay exploits or that million dollar lottery in Ghana that I keep getting notified about via email.

Jurgen Apello, Dutch blogger extraordinaire, just notified me that I won his $100 Book Contest for my Driving Forces Behind My Coding Compulsion post, which I submitted a couple of weeks ago as an answer to his contest question about what motivates developers to do their job really well.

Somehow his alleged jury members chose me as the winner. I suspect that either I was the only non-fictitious person to enter the contest or else the winner was totally chose by random, but either way I made off with $100 Amazon gift certificate to spend on any of the books featured in his Top 100 Software Engineering Book List that he recently posted.

I decided it was best to indulge in my guilt-free tech book buying frenzy as soon as possible in case he changed his mind.

Here’s what I came up with:

My Choices

$100 isn’t very much money when it comes to tech books, but I stretched it out by shopping in the used book section.

Return to product information6 Robert C. Martin
Agile Software Development: Principles, Patterns and Practices

This Uncle Bob book has been recommended to me so many times that it was the first one I thought to look for on the list. I didn’t know there was an updated C# version until I poked around some more on Amazon.

 

Return to product information19 Andrew Hunt, David Thomas
The Pragmatic Programmer: From Journeyman to Master

This is one of those books that I read several chapters over several lunch hours at the bookstore, but never got around to buying. I figured it was only fair that I finally throw some royalty love their way.

 

 

Return to product information42 Mary Poppendieck, Tom Poppendieck
Lean Software Development: An Agile Toolkit

I’ve been hearing about this from Alt.NET bloggers like David Laribee for quite a while so I figured I should find out what all the fuss is about.

 

 

If Only I Had More Money to Spend…

These books were close runner-ups.

2 Elisabeth Freeman, etc.
Head First Design Patterns – I’ve heard high praise for this book, but it’s hard to get too excited about design patterns after all the blogosphere backlash related to their overuse and misapplication.

16 Donald E. Knuth
The Art of Computer Programming, The, Volumes 1-3 Boxed Set (2nd Edition) – I figured I would do my part to jump on the Back-To-Basics bandwagon.

18 Jeffrey Friedl
Mastering Regular Expressions – I desperately need to improve my RegEx-fu, but I ultimately decided that I could limp by with the help of the most amazing Expresso tool for now.

74 Michael Nygard
Release It!: Design and Deploy Production-Ready Software – Ayende has talked this book up quite a few times, so it remains on my ‘Books I should eventually buy and possibly even read’ list.

 

Current Bookshelf Favorites

I already had several of the books on his list, but these three are my favorites and the ones I would most recommend. They’ve easily had the biggest positive influence on my career as a developer.

1 Steve McConnell
Code Complete: A Practical Handbook of Software Construction

10 Martin Fowler
Refactoring: Improving the Design of Existing Code 

58 Michael Feathers
Working Effectively with Legacy Code

 

The one book I really wished was on the list was Domain Driven Design by Eric Evans, but beggars can’t be choosers.

** UPDATE: I just got the full list from Jurgen, which contained the last 25 books on his list. It turns out that Eric Evan’s book was number 89. That’s what I get for being impatient and picking my books too soon.

Thanks again to Jurgen for his most excellent prize.

Popularity: 9% [?]

When Del.icio.us Attacks!

My deepest apologies.

I just noticed that I inadvertently spammed everyone subscribed via feedburner with a half dozen del.icio.us feed entries.

The rogue link barrage began when I activated the Feedburner LinkSplicer feature under the false assumption that I would be able to filter saved links based on tags as well as control the start date. Instead Feedburner set forth on an apparently irreversible course of spitting out crap from the last several weeks that I tagged because I eventually might want to read them, not because I thought they were particularly good.

Feedburner has some amazing traffic analysis features, but this particular feature is a usability nightmare. Not only were there no configuration options available, but there was no posted information about how it would work and no way to reverse it after it happened.

For this I am awarding Feedburner an honorary Caffeinated Codey Shoddy-As-Hell Feature Award. For shame…

What makes this even more frustrating to me is that I have serious reservations about publishing delicious links to my feed in the first place.

When it comes to link recommendations, most people clearly prefer the more democratic approach offered by sites like Reddit or Dzone. Those that don’t are probably just too busy drowning in a sea of unread RSS feeds to care and will probably hate me for making them feel even more guilty over shit that they don’t have time to read. If nothing else, I didn’t want to risk burying my legitimate content under a mess of entries that most people will probably just view as spam.

So why did I do it?

I blame it on Reg Braithwaite. His delicious posts have been my single best source for ‘off-the-beaten path’, top-notch posts over the last couple of years and therefore has given me the unrealistic expectation that I can do it in a way that people will like rather than in a way that more closely resembles an ‘Enlarge-Your-Penis’ spammer (not that some of you don’t like those as well).

How am I going to do this?

I make the following three promises.

  1. I won’t ever publish more than three links on any given day or three days in a given week. Most of the time I will probably publish far fewer. I see anything more than that as a blogger simply leaving a breadcrumb trail of their internet surfing habits, which is not what I want to do. I’ve actually set up a second delicious account for my blog so I can still use my primary one for my ancillary TO DO reading list along with a holding bin for potential candidates to publish. I promise I’ll only publish ones that I think are must-reads.
  2. I won’t ever publish a link without commentary. I doubt I’ll be able to resist the urge to be a sarcastic rat bastard at times, but otherwise I’ll just try to explain in a few quick sentences why I liked the post so much.
  3. I’ll eventually use these delicious posts for future Caffeinated Codey posts, a series which I am considering resurrecting from the dead if only so I won’t have to take out a restraining order on Justice or D’Arcy, who are obviously still lusting after the chance to receive more of these coveted awards.

Hopefully, you’ll like this added addition to my blog. If not, please let me know. I’ll probably tell you to go screw yourself, but at least we’ll all feel better afterwards…

Popularity: 7% [?]

The Blogging Hiatus: Next Stop Shark Jump?

It’s been over 2 months since my last post. I haven’t been blogging very long compared to blogging veterans like Scott Hanselman, Phil Hack, or Jeff Atwood, but I’ve managed to establish just enough of a pattern in the last year (about 150 posts) to be plagued by blogger’s guilt and get peppered with the dreaded “so I noticed you haven’t been blogging lately’ comments from friends.

So for my return post, I decided to reflect on the merits of taking a blogging hiatus.

Is an extended absence a sure sign that a blog is about ready to ‘jump the shark’? Or is an occasional blogging hiatus the only prudent counter-measure to avoiding the precipitous ’shark jumping’ decline in quality that eventually happens to most popular sitcoms and blogs?

Chasing Blog Quality

Certainly anyone with an internet marketing background would advise against ever taking a break from blogging due to the negative affects it would have on SEO rankings, page hit averages, readership trends, or whatever other psychological voodoo is currently used in predicting and influencing online readership patterns.

Since I don’t actually make any money at blogging, I am personally more convinced by the argument recently articulated by Jeff Atwood in Quantity trumps Quality. In this post, he describes an experiment done in a ceramics class where one group was graded based on quantity (pots weighed) while the other group was graded based on quality (only one pot required at the end). Surprisingly, the highest quality work overwhelmingly came from the group that was graded based on quantity.

By this reasoning a blog with more frequent posts will eventually produce more quality, which means that a blogging hiatus should have a negative impact on the quality of a blog. Oops.

Although the implied lesson in Jeff’s post makes perfect sense to me, I am still left with a nagging doubt when I think of the large number of once-quality blogs that I’ve seen “jump the shark” even when the author was consistently churning out a large volume of posts.

Does this mean that there is some additional hidden ingredient that is even more important than consistency and quantity when it comes to producing a quality blog?

Chasing Blog Quality

Have you ever wondered why blogs appear to be edging out more traditional publishing mediums even though traditional mediums tend to produce much more polished pieces of writing due to editors, formal peer review processes, the time advantage, and educational training?

I think that the reason has to due with the essential amateur\hobbyist nature of blogs. The fact that most posts are a labor of love rather than an obligation the author is paid to do imbues them with an authenticity and freshness that makes them appealing despite the abundance of run-on sentences, typos, and the occasional erroneous facts.

If a blogger’s enthusiasm is what makes their writing so compelling, then it follows that the most corroding force in the blogosphere would also be motivational in nature. If writing a post for whatever reason suddenly becomes drudgery for the author rather than an absorbing, joyful activity, then quality will surely decline no matter how good someone has become at the mechanics of a writing a blog post.

Thus, it seems to me that the best way to protect the quality of a blog is to respect the natural ebb and flow of internal motivations and exterior events.

In other words, if you are a blogger and are forcing yourself to work on a post, then do yourself and your readers a favor and stop writing until the source of your inspiration replenishes.

Of course, the risk is that your motivation never comes back.

If that happens to me, I’m going to take the philosophical approach and assume that perhaps I am just meant to be doing another activity instead.

What I Did on My Blogging Vacation

Time will tell whether this break has sufficiently replenished my motivation, but even if it doesn’t at least I enjoyed the the following activities with my extra free time over the last few months.

  1. Smiles, Coos, and Tiny Toes -I’ve been graced with the frenetic energy of my (nearly) 7 year old step-daughter for several years now, but have only recently been initiated into the wonderful world of infants by my rapidly growing 5 month old, Sofia. Seeing her smile at me while I echo back her enthusiastic coos and play with her tiny baby toes is one of my favorite past times these days. It doesn’t matter that I walk around smelling like baby spit-up most of the time and or spend way too much time focused on what comes out (or must go in) a baby’s butt, I’m just happy and grateful to be spending most of my free time with my family these days.
  2. Late-Night Escapism in EarthSea – I used to read quite a lot for pleasure, but I don’t think that I’ve completed one book since I started my own blog. Over the last few months, I’ve enjoyed a new night-time ritual of stretching out on the couch with a good fantasy book after everyone else is in bed. I’ve managed to reread three of the four books in the Earthsea trilogy by Ursula Le Guin during my blogging hiatus. I had completely forgotten how delightful and rejuvenating it can be to completely escape every day life by immersing myself in a good book.
  3. Taking Control of Neglected Areas of my Life – It seems like the better I got at focusing on the latest technology, software development trends, and best practices, the worse I was at taking care of all of the other responsibilities in my life. Throughout my blogging hiatus, I have been religiously following the Getting Things Done approach to personal organization and task management and as a result I have eliminated several metric tons of psychic weight that had accumulated as a result of chronic procrastination. For the first time in my life, I feel comfortably in control of my home, finances, and various other non-work related realms of my life and am now finding myself with excess energy that I am starting to reinvest back into my various software-related addictions.

Wells that’s all for now. Thanks to those of you who stuck around and waited out my absence. Until next time (whenever that may be…).

Yours truly,

A Much Rejuvenated Caffeinated Coder

Popularity: 8% [?]

LISP Emerges Victorious

Congratulations to Peter Christensen for winning my first-ever Battle of the Technorati-Challenged contest with his excellent post Lisp: The Golden Age Isn’t Coming Back, Let’s Welcome a Bright Future.

Without the support of Rory’s minions, the voting turnout was about what you would expect for Municipal elections for the Assistant Sanitation Engineer (a.k.a Janitor in Training), but nevertheless I am glad to be able to pass along an excellent prize for a fine blogging effort.

I’ll be contacting Peter later today to hook him up with his prize.

Popularity: 9% [?]

Battle of the Technorati Challenged

I mentioned at the end of my last post that I decided to take a slightly different approach for my contest that JetBrains was gracious enough to sponsor. I had originally planned on having readers vote for their favorite Caffeinated Codey award and then giving the prize license to the author of the post with the most votes.

Although I will continue to churn out the monthly Caffeinated Codey series and present my favorite posts each month with the usual healthy dose of sarcasm and humor, I wanted to take a slightly more serious approach when it came to doling out prizes for this contest. So, I decided to focus on recognizing solid technical writing from lesser known bloggers (as opposed to just the ones that are easy to make fun of from the more popular bloggers).

In order to accomplish this goal, I set an upper limit for myself with regards to a blog’s technorati score (less than 40) and chose 4 posts from January based on the merits of the technical writing. The post with the most votes by Friday (see poll at the bottom) will be awarded the free license from Jetbrains, the makers of ReSharper, IntelliJ, TeamCity, and DotTrace Profiler.

Here are the four that I’ve chosen for the month of January.

  1. Lisp: The Golden Age Isn’t Coming Back, Let’s Welcome a Bright Future by Peter Christensen – With all the hype of a new language but 50 years history behind it, LISP presents unique challenges to a language newbie. Peter provides great details on the history of the language and the current landscape of the community as well as some interesting insights into what you can expect if you decide to jump in and learn it.
  2. Programming languages in CS education by Chuck Hoffman – The direction and value of computer science degrees was a popular meme this month. Chuck disagrees with the popular stance that Java doesn’t have value as a starter language and offers some valid counter points regarding the value of library reuse and scripting languages.
  3. On Blub by Horatio Alger. Horatio discusses blub theory, the driving force behind any good language debate. He offers a dizzying critical tour of languages along with sound criteria for how to evaluate the strengths and weaknesses of a language for a particular task.
  4. Software Development in the Mines of Moria by Marc from Kickin’ in the Darkness – Marc attempts to counter-balance the “shiny new toy” syndrome in technology by reminding us that all the current legacy projects that make us cringe started out by using the latest and greatest technology. He points out that it logically follows that our our current favorite, life-changing framework will also eventually run out of steam and be looked upon with the similar disdain.

Vote here on the post you think is the best (NOTE: if you don’t see the embedded poll below, then your RSS Reader is blocking it and you’ll have to go to the website to vote).

Voting will close on Thursday night at midnight. I’ll announce the winner on Friday.

Happy reading.

Popularity: 10% [?]

Two Days Left to Snag a Free R# 4.0 License

Just a reminder, I’ll be accepting guest Caffeinated Codey submissions until midnight on Wednesday. Just email it to me at rt_ball@yahoo.com. If I pick it for Friday’s Caffeinated Codey post, then you’ll win a free ReSharper 4.0 license. See here for full details.

I’m feeling generous, so I’ll even offer up a few inspirational freebies for those of you who can’t immediately think of any award-worthy material to recognize.

Here’s a screenshot from the header of Obie Fernandez’s new blog. It’s got that I’m-too-sexy-for-this-blog look about it that reeks of a professional photographer following him around for an hour shouting “Now… give me your best Antonio Banderas look…Jes…Perfecto!…”. It’s not technically a post, but surely this is deserving of some brutally creative award (sorry Obie, it’s just too easy…).

If you prefer focusing on something that was intentionally funny, you can always look to D’Arcy Lussier’s epic “What Justice Gray Means to me” guest post for inspiration. Any post that includes such paint.net atrocities as this one certainly deserves an award of some sort.

Of course, you can also pick a post from January with actual technical merit and slap on an award name and description as an afterthought. That’s usually my preferred method and probably the most deserving of your attention given this month’s prize.

Whichever way you choose, happy judging!

Popularity: 9% [?]

Comment Section Working Now

I just got an email from a reader letting me know that the comment page was throwing an error. After delivering a brutal caning to everyone on the QA staff, I fixed it. Sorry about that…

Many thanks to Christopher Boyle for bringing this to my attention.

Popularity: 9% [?]

Want a Free R# 4.0 License?

So there I was, wondering how I was going to reward the winners of the January 2008 Caffeinated Codeys. I was just about to give up hope and begin sobbing like a little girl when I suddenly remembered the obscure “contest sponsorship refactoring” (Alt + c + s + desperate email plea) in ReSharper.

Like every other function in R#, this refactoring magically made things better by offering me a couple of free licenses to give away. It even spit out the following FAQ section to answer all of your pressing questions.

FAQ

  1. Why would the good people of JetBrains possibly trust you with something as valuable as the coveted 4.0 licenses? - I told them my name was Jeff Atwood.
  2. What if I already have v3.0? - Continue to curse VS2008 for a few more months until R# 4.0 comes out and then brag to your friends about getting a free upgrade.
  3. What if I don’t currently have a copy of R#? – Download version 3.1 and get a free upgrade when 4.0 comes out (last I heard at the end of 1Q).
  4. What if I already have my R# needs satisfied? – Then you can get a free copy of DotTraceProfiler ($500 value). I haven’t tried this one yet, but it looks incredibly cool and useful and it was made by Jetbrains so I’m excited.
  5. What if I have a technical sugar daddy who buys all my licenses for me, no questions asked? – First give me your email so I can send you my resume. Next, go for the “swag” option. There has been a hint of potential R# swag, which means that you might be able to make your friends jealous with an R# Jedi coffee mug or some other such marketing treasure.
  6. Which body parts/organs do I need to sell in order to win? – Absolutely none. All you have to do is put on your Caffeinated Codey judge hat and pick a post in January that you liked. Then think of a creative award name, write 2-3 sentences of witty commentary about it, and send it to me (rt_ball@yahoo.com) by EOD on January 28th. If I choose to publish it as one of the 10 awards, then you will win.
  7. What if there are so many good submissions that you publish more than one guest submission? - In that case, the submission which gets the most votes in the 5 day polldady vote that follows will win.
  8. What can I do to make my submission more likely to be chosen? – Review prior award posts to get a feel for the general tone of my commentary. Make your commentary humorous (although this is not strictly required). It would also help to send a funny, semi-relevant photo to go with it. Of course you can also start sucking up to me as much as possible.
  9. Is there any other way to win this great prize? – I will be including a poll at the end of the January 2008 Caffeinated Codey post and the author of the post with the most votes after 5 days will also win a free license.

What are you waiting for? Load those RSS readers and let the sarcastic commentary flow…

By the way, much thanks to Illya and Eugenia from Jetbrains for their help and sponsorship.

Popularity: 10% [?]

Next Page »