I'm Not Slacking Off... My Code is Compiling.

I’m a guy that shuttles between his interests.  I always have been.  This is how I end up with a personal ‘business’ card that says that I dabble in photography, dance, music, philosophy and photography.

This blog has been silent for a number of days because I’ve been coding at nearly all hours of the day.  While focused on code, I tend to write less.  And that’s fine.  But you guys miss me though, right?  

So here I am to say that I am alive.  I haven’t forgotten you.  And that if you ever have to code in Ruby, using a good debugger goes a long way.  I’ve been using the one built into the RubyMine IDE by Jetbrains.  I have been using Rubymine since August when I started at Salesforce.com.  I can’t recommend this software enough. It makes the code easier to navigate and debugging much simpler.

Buy their software.  It’s good stuff.

The headline of this blog comes from xkcd 303:

…not that Ruby needs compiling but unit tests do need to be run and when you get a lot of them that takes a few minutes.  The library I am working on takes about 5 minutes to run tests that execute about ~5000 assertions.  

Ruby constructs: class, module and mixin - Matt Aimonetti

An interesting resource on object oriented design. The author, Aimonetti, opines that people abuse classes, using them when there are no instances defined. #likebutton

He also describes the use case for Module mixins as perfect for shared behaviors between a number of classes. This is exactly along the lines of what I was thinking to create an Expect mixin for connection accessor classes for Telnet, SSH, and Serial.

Much as I prefer structured interaction with Network devices, it seems like we are just not there yet for the devices I have to deal with. This leaves CLI interaction as a necessary method to support.

Using Neo Ruby Koans to Reinforce Ruby Knowledge

I’ve just finished doing the Neo Ruby Koans. Mountains are again merely mountains. It’s an interesting way to get a sense of how the language works by looking at edge cases. If I have a knock on it, it’s that you spend more time reading and filling in the blanks than coding.

Unfortunately, it also only speaks to Ruby 1.8 and 1.9. Anything peculiar to the newer versions of Ruby will not be present. All in all, I recommend going through it. The more you know, the better you are. And I think Neo/Edgecase did a great service by making it free to the world.

With love and gratitude,

Franco