Why not to leave the ego at the door

As a developer I constantly struggle to keep my ego in check, and I think many of us do. Ego can prevent us from forming good working relationships, can keep us from accepting good ideas and stop us from moving forward.

Learning to suppress your ego can be a difficult thing, and the more skilled a developer gets as they grow, the worse it gets. Some developers have developed a different problem however.

Recently when talking with a small group of developers about the merits of BDD I stopped to ask the most junior developer present what his thoughts were. When debating an issue that can get a little heated I like to take the freshest set of eyes available and get their input. This developer, we’ll call him Tom, responded that we were more experienced developers than he was, treating that as answer enough. Read more

Configuring Gedit for Rails

I haven’t kept my feelings about IDEs hidden, I’m a big believer in using text editors instead.

I know, I should earn my chops and become a Vim guy, and some day I hope to sit down and make that conversion, but for now it’s all about Gedit for me. With a few plugins and a little TLC gedit can be a lighter version of the more powerful, more intensive ide.

The first thing we’re going to install gMate, an addon designed to make Gedit run like TextMate

sudo add-apt-repository ppa:ubuntu-on-rails/ppa

sudo apt-get update

sudo apt-get install gedit-gmate

Read more

Dynamically Accessing Attributes

A little while ago an interesting technical challenge presented itself. While writing a little mapper that would parse a csv and set values(potentially nested) on a model I realized I didn’t know something seemingly simple, how to take a string and turn it into an attribute call, and potentially call a format against it.

This was actually relatively simple, once I found the answer.

First a test class to work with:

class MyClass

def test1

return “This is a test”

end

end

Then the code execution:

m = MyClass.new

m.send(“test1″).send(“upcase”)

Piece of cake.

Go-Stomp, the evolution of a Stomp protocol implementation: Part 1

Moving on to something a little more challenging is what growing in a language is all about. In my first look at Google’s Go I implemented some very basic content, and feeling comfortable with that, I knew it was time to move on.

Go proved to be a near perfect melding of scripting language style syntax with a comfortable C-inspired curly brackets feel and when I started looking around to see what would make a good next project, I stumbled on the perfect opportunity.

Professionally I’ve started looking at message queue implementations. After a bit of searching I settled on ActiveMQ and the Stomp protocol.  This particular technology combined with the the Go programming language allowed me the opportunity to be amongst the first to try utilizing a message queue in Go. Read more

Getting Going with Google’s Go

There are a lot of programming languages, old and new to choose from and in the name of expanding my horizons I decided to take up with Google’s Go.

I’m not going to sit around and proselytize  Go. If you want to read about it’s many advantages Google has a great write up on the subject. When I start with a new language what I want to do is jump in and get my hands dirty, and that’s what I’m going to do.

This will be a multi-part look at go, starting with this entry on installation and your first running code and hopefully moving through a full project completed in Go.

Google already has a fairly good resource for installation, but I’ll hit the highlights for installing go on Ubuntu Linux.

Read more

Giving back

This time of year, everyone is talking about giving back, about doing the right thing, about being charitable. Today I was faced with an interesting conflict.

I’m a developer, my livelihood is in the lines of code I produce and the applications I bring into existence. In that vein, I expect to get paid for it.

However, I have often found myself arguing on the side of the open source community. When asked to reconcile these two things, it got me to thinking.

Read more

To Be Or Not To Be: Language Agnostic

Programming Languages: If you’re a professional developer, you have a favorite, maybe several based on different environments that you’ve worked on in the past. They’re probably languages you know inside and out, maybe even languages you’ve submitted patches to or written libraries for.

The thing about picking favorites is it can cloud judgment and cause people to use a tool that just isn’t right for the job. While expertise provides the ability for a developer to perform their job more quickly while avoiding common pitfalls that a given language can present, it also means they learn to work around those flaws without looking at better ways. Read more

Which IDE

A little bit on the age-old debate of which IDE to use, and whether or not to use one. I want to preface this post with a disclaimer: I use Gedit as my ruby on rails programming environment.

To IDE or not to IDE

The old debate between IDEs and Text editors doesn’t really need much input from me.  IDEs give you full fledged debugging, auto-complete and nice extras like Go To Definition. A lot of developers feel more efficient using tools like RubyMine or NetBeans.  Some of us are just happier in a clean, simple, uncomplicated simple text editors like Gedit, notepad++ or nano. Read more

Biting the Bullet

Activerecord provides a lot of power and flexibility to web developers, with that power comes the responsibility of making sure that it is being used in the most efficient way possible. While creating a form it’s relatively simple to instantiate a user object then call related objects by doing something like @user.profile.nickname, an inefficient use of activerecord. A good practice is to use an include statement on the initial query that pulled the user object (eg. User.find(:first, :include=>:profile)).

It’s easy to say, and sometimes harder to do. Enter Bullet. Read more

Five Must-Have Chrome Extensions

In September of 2008 Google launched the Chrome Web Browser. Since that time not only has Google Chrome become more extensible, but it has overtaken Apple’s Safari Web Browser to become the #3 browser on the market. Given the sudden rise in Chrome’s popularity, and its recent release onto the Apple and Linux platforms, any responsible web developer should be taking Chrome  compatibility  seriously. In that vein, I present the five must-have Chrome extensions for web developers. Read more

Return top

About

That is not dead which can eternal lie. And with strange aeons even death may die.
- H.P. Lovecraft

Social Widgets powered by AB-WebLog.com.