Archive for the 'Announcements' Category

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.

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…

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.

Dear GeeksWithBlogs, Let’s Just Be Friends…

Yes, it’s true. I’ve packed my bags and am moving to a new location.

For those of you with RSS Readers, please change your feed subscriptions to use my new feedburner location. I do not plan to do any new posts on GeeksWithBlogs with the possible exception of a few redirection reminders.

For the rest of you, you can see my shiny new blog on caffeinatedCoder.com. It may not look like it, but I’ve spent quite a few late nights over the past few weeks dusting off my PHP and CSS skills so that I could get my new WordPress blog up and running. With thousands of plugins and themes to choose from, my blog tinkering days have just begun but you can see the”good enough” version here.

I want to thank Jeff Julian and John Alexander for letting me try my hand at blogging on GeeksWithBlogs over the last six months. I’ve had a great time and have appreciated feeling part of a large, healthy blogging community.

I also want to give a special thanks to Max Pool at codesqueeze for all the help and advice he has given me over the last several weeks. I met Max at the Alt.NET conference in Austin this past year and was impressed with his passion for blogging and his deep knowledge of the black arts of SEO (Search Engine Optimization) and internet marketing.

He’s given me dozens of resource links and plugin suggestions and I’ve used his site as an inspiration while I was setting up my new blog. For a good demonstration of his expertise and some practical tips on how to increase traffic to your blog, check out his Blog Setup: 40 Practical Tips.

In conclusion, GeeksWithBlogs…it’s not you..it’s me. I just think we should start seeing other people…

So long and hope to see everyone at the new location,

Guest Blog Post History

My official “homage to Justice Gray” guest blog post has just been published. Besides providing me with some of the most fun I’ve had in blogging yet, this post also inspired me to finally learn some basic photo editing skills (beyond just cropping and resizing) so that I could provide some appropriate visual aids to go with the post.

Many thanks to my lovely wife for sharing some of her image manipulation prowess with me and to the creator of paint.net for providing such an awesome free tool. I apologize in advance to all future victims of my new multi-media skills. Your safest bet is to quickly do a google image search and promptly remove any photos of yourself that you find floating around on the internet. Consider yourself forewarned.

I also wanted to thank Justice for encouraging me to write the guest post and for producing such entertaining content on his blog. To get inspiration for this post, I went back and read many of his older posts that I had never seen before because I only started subscribing to it this year. I found a plethora of truly excellent content that I linked to in my guest post.

By the way, if you’ve never tried historical blog spelunking before (reading all or many of the posts from a single blogger in one sitting), I highly recommend it. It gives you a unique appreciation of the writer and person that you just don’t get when you are bouncing back and forth between a hundred different writers every day.

With any luck I will totally dominate on his contest and perhaps even earn one of his coveted “Potential Friend of Justice Gray” certificates that he offered Martin Fowler.

Calling All Future Guest Bloggers

Do you think you have a good blog post in your, but aren’t ready for the commitment of maintaining a blog yourself?  I’d like to open up my blog for a couple of guest posts each month. Send your masterpiece prose to rt_ball@yahoo.com along with a few sentences about yourself and possibly even a picture, then I’ll display it for my vast readership to admire. Ok…so at least I’ll read it.

I am still relatively new to the world of blogging, but for what it is worth, here are a few questions that I have been trying to ask myself whenever I sit down to write a post these days. Keep in mind that this advice is fresh in my mind because I have failed miserably to follow them at some point along the way. Several of these ideas also come more from my experience as a reader of other blogs than as a writer, so you should be able to relate even if you have never written a technical sentence in your life.

  • Picking a topic:

    • What perspectives or experiences do I have that are relatively unique?
    • What do I feel passionate about?
    • What is most relevant in my life at the moment? (it is easier to write about thoughts and feelings that are still fresh on my mind.)
    • Is there a fresh spin that I can put on my otherwise boring topic to rescue it from the realm of cliche and white noise?
  • Category specific questions:
    • Link Love/Blog Reviews: How can I add value to the link and persuade a reader with no attention span to click on it. I would be afraid if someone trusted me enough to blindly click on anything I suggest without me first providing some context or reasons as to why I enjoyed the post or resource.
    • How-To Content: How can I make the information more concise and grokable than everything else I see out there? Blogs aren’t the right medium to bring somebody from beginner to expert in one post, so I try to hook interest with my post and then provide resources that the reader can explore in more depth if they are so inspired.
    • Rant: How can I communicate my angst in a way that would make me feel comfortable even if the people who were the source of my frustrations were in the same room with me reading the post over my shoulder? If that thought makes me feel uncomfortable, then I take a step back and figure out another way to communicate my point.
    • Humor: Is my humor appropriate and does it add or detract from my message? Humor can either save or kill a message. It can be endlessly entertaining if done in moderation or incredibly tedious if overdone.
  • General good practices:
    • Separation of Concerns - What is my most important message? If there are multiple competing messages, I try to consider breaking them into multiple posts.
    • Research - Am I comfortable with the assumptions I made and the level of detail I provided? If I can imagine a reader legitimately calling bullsh*t on one of my claims, then I try to spend some quality time with Google.
    • Format - Is my post a reasonable length and are my paragraphs as short as possible (see Ayende’s post on readability)? I think it is safer to assume that someone is more likely to stop reading my post halfway through because I am being a wordy bastard than it is that they get to the end and are left wanting more. Readers can always extend the conversation through the comment section if they want more detail.

Not to put anyone on the spot, but I do have a list of people in mind that I know and would love to hear from. In no particular order, my vicitims include: JR Growney, Marshal Simmons, Jacob Shafton, Raoul Ellias, Ionuts Ciordas, Dewayne Christensen, Troy Tuttle, Jim Sowers, Jim Wilson, Grif Sims, and Adam Miller.

Of course, you are still welcome to send me a guest post even it you don’t know me or if you know me but were lucky enough to not be included on my list.

Happy writing.

About Me

I finally got around to creating an About Me page for my blog, which I’ve been meaning to do every since I read Jeff Atwood’s commentary on it in his Thirteen Blog Cliches post.

My name is Russell Ball and I am 35 years old. I currently live in Kansas City, Kansas with my wife and six year old step-daughter. I’ve been a developer for almost eight years. I spent 2 years with the job title of architect, but recently switched jobs so I could be a developer again because I missed coding. I’ve mostly worked in Microsoft-dominant development environments, but I have become very interested lately in expanding my horizon to other tools, platforms, and languages. My blog subtitle comes from my Starbuck’s caffeinated beverage of choice.

A Few Random Things You May Not Know About Me

  1. I lived in the Dominican Republic for a year when I was 17 and still speak passable Spanish
  2. I taught first grade for three years in an inner city school in Washington, DC. where 95% of student population qualified for a free lunch and 100% were minorities.
  3. I own about 20 books on chess and used to play speed chess in the park in Dupont Circle almost every day when I lived in Washington, DC, but I haven’t played in several years.
  4. Besides trying to qualify for the 50 state club by running a marathon in each state, I have also run in a few ultra-marathons. I finished a fifty miler last year in just over nine hours and have been toying with the idea of running a hundred mile ultra-marathon some time in the next few years.
  5. I’ve been sky-diving three times and would love to go again if I could somehow convince my wife to let me do it.
  6. I have been in an earth quake, blizzard, hurricane, drive by shooting, and a coup d’etat.
  7. I am a bit of a beer and coffee snob (the darker and stronger the better). I’ve even made a few batches of homebrew before with the help of my running/drinking buddy.

Favorite Books

  1. Cider House Rules - John Irving
  2. Skinny Dip - Carl Hiaasen
  3. Anansi Boys - Neil Gaiman
  4. Lonesome Dove - Larry McMurtry
  5. Wizard of EarthSea - Ursula Le Guin
  6. Angels and Demons - Dan Brown
  7. Shantarum - Gregory David Roberts
  8. The Curious Incident of the Dog in the Night-Time - Mark Haddon
  9. One Hundred Years of Solitude - Gabriel Garcia Marquez
  10. To Kill A Mockingbird - Harper Lee
Favorite Musical Groups

  1. RadioHead
  2. Green Day
  3. Nirvana
  4. Cold Play
  5. Death Cab For Cuties
  6. Weezer
  7. Rachmoninov
  8. Beck
  9. Dashboard Confessional
  10. Nine Inch Nails

Software Psychic Extraordinaire…Not So Much

It appears as though we will have a new version of SQL Server 2008 next February 27th. This is well ahead of what my sarcastically titled post on SQL Server 2008 predicted. So much for my career as a technical psychic… It will also be the launch for Visual Studio 2008 and Windows Server 2008. That should be one heck of a party. Hopefully I can find some launch event that will be serving free beer (preferably a nice stout or porter).