Personalized Monitor Position

Are you running Vista? Do you have dual monitors? Last question: do you have them stacked vertically?

Template Method Pattern in Ruby

One of the most ubiquitous patterns in life is the template. It enables us to generalize behavior - thus ignoring or postponing complexity.

This ability to generalize behavior - deferring derivative details - turns out to be extremely useful in agile software development. It encourages mock-object practices. It encourages simplest possible solutions. It encourages test-driven development. And most importantly it embraces change.

Closures in Ruby, Part I

Closures are a powerful concept in some languages - a powerful tool in others. In my mind a tool is something I can ask for by name - as in, "I'd like a reciprocating saw, please." Languages where closures are truly a tool include Lisp, Python, Ruby, among others. For the time being I will use Ruby to discuss closures - although a switch over to Lisp may be necessary.

Visual Studio Wish List

Every day I work I wish for a single feature in Visual Studio: the ability to move a code file from Visual Studio to another monitor. I can't stand the fact that I can't do this! Even if I switch to MDI view Visual Studio only lets each window move around within Visual Studio and not to other monitors. I would love to have a few code files dispersed on various monitors so that I can see more of what I'm doing at any given time.

In this day and age is this too much to ask? Why the constraint?

ReferenceEquals and ReSharper Assertion Methods

For those of us that use System.Object.ReferenceEquals when checking for null it can be annoying that ReSharper indicates Possible 'System.NullReferenceException' even though that is precisely what we are doing! There is a solution: add an Assertion Method to ReSharper's Value Analysis Options.

Premature Technology Selection is the Root of Many Evils

I see a great many projects start off on the wrong foot by trying to decide all of their implementation technologies at the beginning of a project. Usually there’s a project kick-off meeting where everyone flies in from various locations to get introduced to all of the players and decide on things like what database engine are we going to use? What technology will we use to handle our data access? What user interface technologies should we use? Should we use web services?

.NET Delegate Recipes

Delegates are ubiquitous throughout .NET development though many developers are not aware of their full range. This stems from the fact that few books or articles do a good job tying together all ways in which delegates may be used. Additionally there are often misconceptions over delegate semantics - how to construct a delegate within a given context. This post seeks to clarify the muddy water around delegates by use of demonstrative tests. Each test is explicitly named for the semantic it demonstrates and internally each test asserts expected behavior. As the title implies, this post is not intended as an introduction to delegates. If you are looking for such material Juval Lowy does a decent job here.

Interviewing a Software Engineer

Imagine the following interview with two interviewees, “Player A” and “Player B”:

Interviewer: “Okay, sir. Let’s say a ball is hit a little bit to your left. How do you field it?”

Player A: “Well, I’d take a few steps to the left and try to get my body in front of the ball. I’d use my left-hand to field the ball, switch the ball over to my right hand, and throw it to first.”

Player B: “I’d take a few steps to the left, keeping my body bent at the knees and the back so I could respond to any strange hops the ball might take. If I can get completely in front of the ball, comfortably, I will, but I might have to field it with one hand to the left of my body, if I can’t get my body in front of it. Depending on the direction I’m moving, the time it took me to get to the ball, and whether I got completely in front of it or not, I might have to throw it on the run.”

Based upon the two player’s answers to this question, Player B gets hired.

This might seem like the right call. The problem is that Player B is a recent college grad that majored in English and played intramural ball. Player A is Derek Jeter (Yankees shortstop) before he was really known as the Derek Jeter.

What if you were the interviewer and you had made this decision? You would’ve just altered the entire course of your team. There’s a good chance that from this decision forward you’d be losing a lot of games to the team that hired the person you let pass by.

Successfully Running More than Two Monitors with a Dell Notebook

Good Lord. After much gnashing of teeth I finally got my notebook configured to use three external monitors. Why is this so hard in this day and age? Am I the first person in the world that wants to run more than two monitors from a notebook? Why aren't all notebook manufacturers providing the hardware to get this done easily? I could see if I owned a standard notebook that isn't built for a professional computer user, but I own a Dell M90 notebook that is built for a hardcore geek.

Anyway, enough venting. On to the details...

Windows Vista Limited User Account Operation

Windows Vista introduces several security improvements paving the way for limited user account operation versus the de facto practice of privileged user account operation. In this post we look at what the two modes of operation mean to a developer and how to do some common tasks under LUA operation.

Syndicate content