Profile cover photo
Profile photo
Robert Hencke
84 followers
84 followers
About
Robert's posts

Post has attachment
Quarter for size comparison.

That's one big pot scrubber.
Photo

This is a rant about programming. Well, more the culture of programming, but either way, feel free to tune out if you are not the target audience.

This is also based on personal observation. As such, you may have had vastly different (and hopefully more positive) experiences.

I figure I'm entitled to at least one rant.

Many times, I have been asked things like: "What is the best way to do X?" or been told "We need to follow best practies on Y". This makes me cringe. I'll explain why later.

At one time, XML was the de-facto way to store hierarchical data in a human- and machine-readable way. Now JSON seems to be taking that place. But both get used in places where a much simpler file format would have done fine. (Ever see an Excel-style table-like structure get written into XML? Not pretty.)

XML is one example. Another is when I saw someone use, in this case, a List<T> in .NET for data storage (an array data type). Usually, a fine choice. But, he wanted to insert a few new items at the beginning of a list that already contained millions of items. It was horrendously slow, and he was genuinely confused. Lists were just the right data type to use, right?

I am trying not to get too technical, because I don't want this rant to be about why it was technically slow. Just imagine that you have a row of people seated in a movie theater. All the chairs are filled, except the last one. But you want the FIRST one. So you make every person already seated move down a chair, one at a time, so you can have the first seat you wanted. (You can nitpick at ways he could have done this efficiently with lists, but that's not the real point)

Anyway, the real point I wanted to make is this. I think when we adopt the mindset of 'which API/class/technology/program/OS/etc is "the" best', or 'I'm going to stick with what I'm comfortable with', we do our own selves a great disservice.

As software engineers, we possess many tools in our toolbox (such as programming languages, knowledge of APIs, tricks we've learned, etc.). As software professionals, we must evaluate the tools in our toolbox to choose the best one(s) FOR A SITUATION, based on the very best knowledge we have about everything from business requirements to budgeting. That also requires knowledge of the tools in your toolbox, what they're for, how they work, when to apply them, and when not to. If you've been sticking to only using the 'best' technologies, or have just stuck to one technology because you know it, you're going to need to get busy looking for other tools for your toolbox, too.

This is one of the reasons I think programmers are blessed with the problem-solving brains they have - to EVALUATE these things and make these decisions. You combine the best you know about the problem you're trying to solve, with what you know about your toolset, and the team you're working with, and work to combine it the best you can.

I guess I just get sad when I see it become a rote exercise in people sticking to the 'right' technology or 'only' technology they know, and watch them completely missing out on incredibly beautiful, exciting ways to solve problems.

I'll be hosting the first "Sunday Night Drunken Coding" hangout in an hour or so. The basic idea is I pick a topic and program and drink lots of beer, then broadcast it on YouTube on Air and Hangouts to permanently capture my shame.

This time we have some cool programmable colored wireless lights so we will see what happens.

Please feel free to drop by and watch. We should be around a few hours.

Post has attachment
More puppies.
Photo

Post has attachment
Puppies.
Photo

Post has attachment
Robert Hencke hung out. <a class='ot-hashtag' href='https://plus.google.com/s/%23hangoutsonair'>#hangoutsonair</a>

Post has attachment
Cats make programming difficult.
Photo

Post has attachment

Post has attachment
If you like chiptunes, get this.

http://www.souleye.se/pppppp

If you've ever had to maintain code that scared the daylights out of you, this book is good stuff.

http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052

Favorite chapters include "I Don't Have Much Time and I Have To Change It", "My Application Has No Structure", and "We Feel Overwhelmed. It Isn't Going to Get Any Better"
Wait while more posts are being loaded