Improve your LINQ with .Any()

LINQ’s .Any() method is under-utilized, given the benefits it brings in making your code briefer, clearer, and more efficient. LINQ in general improves the expressiveness of your collection-manipulating code by using declarative statements instead of imperative foreach loops; .Any() is … Continue reading 

Posted in refactoring | Tagged | 3 Comments

Continuous Integration: Early indicators mean inexpensive fixes

Earlier this year, I bought a car—my first new car. Although it fills me with sanctimonious hybrid glee (it really does), it’s making me neurotic with instrument panel indicator lights. The low-tire-pressure indicator after the weather turned cold. The insistent … Continue reading 

Posted in agile, unit testing | Tagged | Leave a comment

Best-Kept Secret: MS Word’s Selection Pane saves time, reduces frustration

It’s probably because I never learned to play first-person shooters, but I have a devil of a time in Word selecting the element I want out of a page full of drawing shapes. Trying to select a text box, I … Continue reading 

Posted in Uncategorized | Tagged , , , | Leave a comment

Running JavaScript… With Sneakers!

Code-review time. I haven’t written significant JavaScript in forevs, but I hit upon a use case well suited to it, had a blast coding it up, and am confident that I’ll be completely mystified by it three months from now. … Continue reading 

Posted in arduino, JavaScript, refactoring | 5 Comments

Come to my Arduino talk: Home-built video game console

This Thursday at CTXNA, I’ll give an intro to the Arduino microcontroller, including a walk-through of how I followed PragPub’s instructions to build a video game console. Please join us! No experience necessary. Interactive and fun. Bring your Arduino projects … Continue reading 

Posted in arduino, electronics | Leave a comment

Legacy Operating Systems and Legacy Languages: If it ain’t broke, it still needs fixing

In my travels I’ve encountered systems chugging happily along on outdated, discontinued, unsupported technology stacks. Apps written in VB6, FoxPro, Classic ASP, still running without a hitch because the kinks had been shaken out years ago… Software users delicately avoiding … Continue reading 

Posted in refactoring | Leave a comment

When to use a Mock and When Not To

When I sit down to write a unit test, my first step is to describe for myself, in English instead of code, what I intend to test. The words I choose give clues as to the structure of the test … Continue reading 

Posted in Rhino Mocks, unit testing | Leave a comment

An Object Lesson in Binary Compatibility

A riddle for you, friends: When is changing a method from return void to return Something a breaking change? If you already know the answer, then why hadn’t you told me? Could’ve saved me a fair bit of embarrassment. Ah … Continue reading 

Posted in Open-Source Software, refactoring | 4 Comments

True Confessions, Public Shaming, and Test-Driven Development

Okay, I admit it. Sometimes I write unit tests second instead of first. I also bite my nails and rest my elbows on the dinner table. But when I’ve got a bug to fix, and I’ve already found the offending … Continue reading 

Posted in unit testing | Leave a comment

Using Syntax to Model the Domain

I’m fascinated by the small syntactic decisions that bring code closer to representing the business domain. Never mind the class inheritance examples from text books (“Dog IS-A Pet,” which has nearly never been relevant), I mean using properties, methods, and … Continue reading 

Posted in DDD | 6 Comments