Pseudorandom

Stuff Nobody Tells You About Teaching Online

24 minute read Published:

Five months and 200 hours later, I’m standing tall, arms-folded, my first-ever training course live on the video wall behind me. How’d I get here?

I won’t kid you; the road to course creation is riddled with potholes, roadblocks, and sketchy checkpoints. It was hard. But the solution to each obstacle taught me new skills and valuable life lessons. I think it’s time to document those lessons.

An old code-poke dishes on wrist care

10 minute read Modified:

The intriguing true story of one programmer's battle with Carpal Tunnel Syndrome, and the multipronged attack strategy which led him to a victorious recovery.

Night is falling as the old cowboy coder pauses his story to stoke the flickering campfire. You lean in slightly, eager to hear more.

A deliberate man, he takes a draw from his tin mug and then exhales contentedly, gazing into the fire. Deliberate? — Maybe he just values a good dramatic pause, you decide.

“Trouble was,” he continues, “click-clacking the day away was hard on the old wrists. Before long, I found myself square on the littered trail to neuropathy. A wise old country doc told me I had…” He pauses briefly, then pronounces each word like a hiker carefully negotiating rocky terrain, “carpal tunnel syndrome.”

You can’t help but gasp.

Run for better code

23 minute read Modified:

You’re a programmer, software craftsman, full-stack developer, software engineer. But regardless of the titles dangling from your Twitter bio, if you want to greatly improve the quality of your code and indeed the quality of your life, there’s one more title you should consider tacking on there: “Runner”…

The QUPER model: Finding "good enough"

5 minute read Published:

"Minimum Viable Product, ship it, incrementally add value! Yes, we know we shouldn't shoot for perfection - The "perfect is the enemy of the good." That said, nobody wants junk either. How do you know when a feature is "good enough"? That's where the QUPER model comes in.

Spanish for the Inner Gringo: New learning channel!

4 minute read Published:

Spanish for the Inner Gringo helps intermediate to fluent Spanish speakers correct the mistakes they didn't know they were making.

I recently launched a new learning channel, Spanish for the Inner Gringo! It aims to help you polish up (squeak) your Spanish accent and grammar so that you sound more like a native, and less like a Hawaiian-shirt-wearing, camera-laden tourist.

The videos are short (only two-minutes!) and I will be releasing one video every few weeks. The AV is sub-par, so you’re bound to get some laughs too. Subscribe to the channel and sign up for updates so you won’t miss a single video.

How I learned to get a grip by embracing "opposable opinions"

13 minute read Published:

The software engineer bristles with annoyance, then cringes in fear. The cause? They came face to face with an opposable opinion. What are these opposable opinions and is it possible to refactor our brain to respond better the next time we’re confronted with one of them? Read on, fair coder! Let’s start with this illustration: Have you ever seen a basketball player “palm” a basketball? It’s a coveted feat which greatly enhances a player’s control of the ball.

Hotel Vim 🎝 (As sung by a million strong chorus of software developers)

3 minute read Published:

Venerable old Vim has been with us since its creation by Bram Moolenaar in 1991. It’s light, it’s terse, it has a learning curve like the “Cliffs of Insanity”, and yet it’s still one of the most popular text editors in the world. Here was my take on Vim, as compared to an adult beverage: Vim. It’s like being gifted a 50-year-old bottle of scotch. Now if you could just figure out how to open it…

Add cool build stats badges to your GitHub project

5 minute read Published:

Badges? Why don’t I have any stinking badges? With a flick or your wrist and a flourish of your cape, you unveil your latest open source beauty. It has more bells than a bell foundry, more whistles than a traffic cop convention. But there’s one problem: your OSS-contributing peers all have these cool badges decorating their projects. They’re so shiny and colorful! They imbue an air of legitimacy to their projects, like a detective flashing his badge at a crime scene.

How to find stuff in Git

5 minute read Published:

When you first started with git, you quickly got up to speed with committing, pushing, pulling, merging, and the like. But then you noticed a gaping hole in your knowledge - how do you find stuff in Git? Can you revert to a version of a file as it stood three weeks ago, or find out when a bug was introduced? Who was the last person to edit this file?

They always tell you that the great thing about Git is that you [almost] never lose any history. So how do you access and utilize that history?

Brute-force all the things?

6 minute read Published:

These days it’s hard to tell whether the computer saves us more time than it wastes. However recently I had an experience programming in Ruby that demonstrated to me that the computer can be our modern time-saving friend, especially when wielding a language like Ruby, delicately designed to just “get out of your way” and let you program. The story involves number crunching, eyebrow scrunching, and in the end, an unabashed brute-force beauty.

Breaking Build Postmortem: Biting the line that feeds you

4 minute read Published:

It was early one weekend morning and I was trying to integrate AppVeyor with my GitHub project. But there was one problem: my build was failing miserably on AppVeyor. Strangely, it built just fine on my machine; but on AppVeyor the test ToStringShouldReturnResourceKey was failing a string comparison.

Breaking Build: Analysis of a build failure
Breaking Build: Analysis of a build failure

Investigating the failure

Fortunately I was using Shouldly, which produces very readable test output when your tests fail. See what you notice in the snippet below.