melreams.com

Nerrrrd

Mel Reams

This author hasn't added his/her bio.

Strategy pattern

Let’s talk about the strategy design pattern today. According to good old wikipedia, the strategy pattern “defines a family of algorithms, encapsulates each algorithm, and makes the algorithms interchangeable within that family.” In other words, if you have an object most of its behaviour stays the same but there’s one piece that changes, you want to be able to change that one piece without messing with the rest of the object… Read More

Excel trick of the day

Did you know you can cobble together a chat program (both client and server) with Excel? I didn’t either until I stumbled across excel-messenger: A Terrible Experiment In VBA. It’s kind of evil, but I’m impressed by the creativity. Check it out :)

Simple stuff that will make your new team think you’re amazing

Even if you just graduated, there are some simple things you can do to make your new team think you’re amazing, and they don’t even involve any code. Ironically, a huge amount of the stuff that makes someone a really good programmer has nothing to do with sitting down with an editor and writing code. Being an exceptional programmer is as much about making your team more effective as it is.. Read More

Talk of the day

If you share my obsession with software design (and maybe even if you don’t) you’ll enjoy this talk by Katrina Owen called Overkill. The basic idea of the talk is the use of a simple toy problem as an excuse for focused practice. I really like the idea of going back to basics as a path to mastery, that’s actually why I’ve been on my own back to basics kick on.. Read More

Dev tool of the day

Considering how many javascript and other fiddles there are out there, it shouldn’t come as any sort of surprise that there’s a SQL Fiddle too. We use MongoDB at my work so I haven’t actually tried SQL Fiddle myself, but if you do write SQL and ever need help, it looks like an amazing tool for collaboration.

How does variable scope work?

Scope is where a variable exists can be accessed in your code, and it’s surprisingly complicated. The short version is that a variable that was declared inside a block only exists inside that block. Great, what’s a block? In Java, it’s anything between a set of curly brackets { }. Blocks can be nested, too. A method inside of a class can see the class’s variables, and a block inside.. Read More

Chrome extension of the day

You know what sucks? Desperately trying to figure out how you broke your html layout, only to discover hours later that you had an invisible element or padding or a margin that was quietly ruining everything. Pesticide to the rescue! Pesticide is a very simple Chrome extension that does just one thing – it outlines all of your elements. That’s it. I have a thing for simple tools that do.. Read More

Things they don’t tell you in school about production code

One of many things school can’t really prepare you for is what it’s actually like to write production code. That’s not a knock on my education or anyone else’s, it’s just not possible to get the experience of writing production code without, you know, writing production code. That said, I’m going to try to explain it anyway :) Like I said in When is it done?, when I was in college.. Read More

Git tip of the day

If you are at all confused about git rebasing (like basically everyone else ever), this guide is really helpful. It explains what rebasing actually does, why you would want to do it, how to do it, and most importantly, when not to do it.