Blog Archive

A collection of my thoughts, tutorials, and insights about web development, programming, and technology. For more recent content, check out my newsletter.

15
Years
122
Articles

2023


16 articles

Test-driven Development In Action

TDD is one of those things that people talk about, argue about, and think is interesting. I'm one of those people, so I asked Brad Wilson to clear it all up for me.

Dec 29, 20235 min read

Meet Playwright

Curious about Playwright, the frontend testing framework? Well hang out for the next hour and I'll show it to you!

Dec 15, 20235 min read

Surviving the Structured Interview

The tech industry is slowly changing over to structured interviews, but most people don't know what they are and that they have a formula!

Oct 24, 20235 min read

What Is Your Yeet Threshold?

Solving problems is what we do, but sometimes the solution is to burn it all down and start again, learning from your mistakes. How do you make this choice?

Jul 10, 20235 min read

Seven Simple Steps to Overcoming Imposter Syndrome

Getting over imposter syndrome is no easy task, but it starts by recognizing a cold, hard truth: you're being toxic to yourself and those around you. I'll share with you some steps I took to get over it.

Feb 6, 20235 min read

Using Constraints to Protect Calendar Data in PostgreSQL

Think about the lines of code you would have to write in order to manage a scheduling system. Duration checks, start and end time requirements as well as checking for overlap! You could spend a few days writing all that code or you could let PostgreSQL do it better with 5 lines of SQL.

Jan 23, 20235 min read

2022


24 articles

Weird Brazil Date Bug with Jon Skeet

Digging through my archives once again and found this wonderful video with Jon Skeet doing what he loves to do: sleuthing date bugs and answering questions on StackOverflow!

Dec 31, 20225 min read

The First Draft of Anything Is Shit

I'm allergic to crappy, non-sensical, faked up demos that try to convey highly technical concepts. Yet I find myself falling into that lazy trap constantly. This requires intervention.

Dec 25, 20225 min read

Data Structures and Algorithms

Many people are interviewing these days and you really, really should know the basics if you expect to do well. You'll find that here with common data structures and algorithms.

Dec 15, 20225 min read

Handling Dates and Times Properly in Postgres

Handling dates properly is delicate business and, thankfully, Postgres gives you many tools to help make sure you store date information correctly. But that only works if you know what's going on!

Dec 6, 20225 min read

Developing A Potent Voice

Writers often talk about "finding their voice", but what does that even mean? There are ways to loosen the control your internal filters have on your ability to express yourself.

Nov 3, 20225 min read

Fast and Simple Web Apps with Nitro

Nitro is an exciting web server created by the unjs team, who are also the people behind Nuxt. Nitro is a study in simplicity and a wonderful tool for your JS belt.

Oct 31, 20225 min read

Hello PostgreSQL

In this production, a SQL Server DBA (Rob Sullivan) and a developer (Rob Conery) take a deep dive into PostGreSQL (v9.1) and are surprised by just how capable, intelligent and *fast* PostGreSQL is.

Oct 27, 20225 min read

Get Involved!

In this feature-length production, Scott Hanselman and Rob Conery offer suggestions and advice on how you can get out there, and get involved. Blogging, Twitter, Github, StackOverflow, User Groups and Conferences: get out there!

Oct 25, 20225 min read

Why Blogs Make Outstanding Books

Can a blog be turned into a book? Yes! But it can't be just any old blog - the writer has to have something to say and no fear of saying it... like Troy Hunt. Here's the story of how I turned his blog into a book.

Sep 8, 20225 min read

Losing Yourself

The hardest thing anyone can do is break down their own mental constructs, realizing they're toxic and destroy relationships. It's part of the journey.

Aug 22, 20225 min read

Just Paddle

I really think too much. I have a lot of fear in me that keeps me from doing things I love to do. It's unhealthy and also self-obsessive (there are 3 "I's" and 2 "me's" above). I really need to stop thinking and just... do...

Aug 21, 20225 min read

Creating a Full Text Search Engine in PostgreSQL, 2022

Writing a full text index in PostgreSQL is an art form. You need to know what your users are looking so you can build the right index AND you need to understand how they write their search terms. Thankfully, Postgres is here to help.

Jul 17, 20225 min read

The Fabulous Linked List

It’s always fun to study the basics, and in this video we dive into the linked list and how to create one from scratch. Sounds ridiculous, but it can rescue an interview!

Jun 24, 20225 min read

What's Your Exit Plan?

Retirement is one thing, being where you want to be and doing what you want to do when your current job is finished in another thing entirely. What’s your exit strategy?

Apr 1, 20225 min read

Big O Notation

Understanding Big O has many real world benefits, aside from passing a technical interview. In this post I'll provide a cheat sheet and some real world examples.

Feb 10, 20225 min read

2021


3 articles

Writing, Editing and Formatting a Technical Ebook in 2021

I love writing. I also love editing my writing because it starts to take shape. The formatting process, however, gets me every time. Over the years, however, things have become easier so for 2021 here's my list of tools you can use.

Apr 11, 20215 min read

Turning a Blog Into a Book

I'm fascinated by people's stories and the decisions they made to move their career forward or, in some cases, backwards. I decided to take that to a whole new level with my friend Troy Hunt. We're turning his blog into a book...

Apr 6, 20215 min read

2020


3 articles

PostgreSQL For Those Who Can’t Even, Part 1

Just yesterday I was talking to a friend about Postgres (not uncommon) and he said something that I found shocking: I can’t even with Postgres, I know JACK SQUAT This person calls themself my...

Jan 24, 20205 min read

2019


7 articles

Virtual, Computed Columns in PostgreSQL 12

PostgreSQL 12 introduced a feature I've long wished for: computed columns that are indexable and stored on disk! They're amazing and in this post I'll show you how they work and how things kind of go...

Oct 24, 20195 min read

WTF is Big O Notation?

Understanding Big O has many real world benefits, aside from passing a technical interview. In this post I'll provide a cheat sheet and some real world examples.

Mar 25, 20195 min read

PostgreSQL Tools for the Visually Inclined

I started my career on the Microsoft stack building forms and websites using drag and drop tools. Over time that became a punchline, which is unfortunate because honestly, the productivity was insane...

Mar 4, 20195 min read

Random Travel Hacks

I love traveling but hate overpacking! In this post I'll offer a few of the tricks I've learned from traveling extensively over the years.

Feb 2, 20195 min read

Imposter's Handbook, Season 2 is Released

Over the winter holiday break (on Christmas Eve, to be precise), Scott Hanselman and I released the next volume in the Imposter's Handbook series. It took us just over 18 months to put this thing...

Jan 3, 20195 min read

2018


12 articles

Mod and Remainder are not the Same

A remainder and a modulus look so very similar, but they are not the same thing and worse, are treated differently by different programming languages. Do you know how your language handles mod?

Aug 21, 20185 min read

Working Smarter, Not Harder, Part 1

This last month has been intense. I'm writing the second volume of The Imposter's Handbook with Scott Hanselman, I moved back to Hawaii, and I'm trying to finish up a sprint for a contract I've been...

Jul 18, 20185 min read

The Logical Disaster of Null

I'm in the middle of writing the next volume of The Imposter's Handbook and I found myself down a Rabbit Hole from the very outset: how can we, as programmers, justify the existence of null in our...

May 1, 20185 min read

Calling Your Own Shots

Going out on your own as a solo developer can be terrifying! That's why I made this 1-hour video: to share with you the things I did to scale myself from a solo developer to a successful online...

Mar 29, 20185 min read

The Modern Dev Team

The smallest comment from a good friend can lead to introspecting your life choices. This just happened to me!

Jan 22, 20185 min read

My Writing Process (This Week)

Writing a book is fun and can easily consume you. Just like writing software, however, if the tools get in your way, writing becomes a chore.

Jan 12, 20185 min read

2017


8 articles

Dumb CS Problems And Your Next Job

Going through a coding interview is not fun. The questions you're asked can come off as pointless - there's a reason you're asked these things, however.

Sep 26, 20175 min read

Thinking In Events With Firebase

There are no 'best practices' or established architectural patterns with Firebase Functions. So what do we do when we receive payment from the customer?

Jun 22, 20175 min read

Kicking The Tires On This Serverless Thing

Yes, I know, you're sick of the term. The idea is interesting... but is it realistic? In this blog series we'll find out. This is Part 1: where I investigate various serverless services...

Jun 6, 20175 min read

2016


4 articles

Yet Another Fork In The Road

I both love and hate when things go upside down in my career. A little panic mixed with the intoxicating effect of opportunity.

May 11, 20165 min read

2014


7 articles

Using Custom Types in Postgres

I'm building out a pretty detailed application using Postgres and Node - mostly Postgres - trying to flex as much of its power as I can. For me, this means kicking ORMs to the curb and relying on Postgres' amazing function features

Nov 3, 20145 min read

Your Own Private Heroku with DigitalOcean and Dokku

I've been playing around with DigitalOcean lately, specifically the pre-rolled Applications they have setup. I'm just blown away at how simple things have become: including setting up your own private Heroku

May 23, 20145 min read

Writing a Better Abstract

I get asked rather often by friends if I wouldn't mind reviewing abstracts they've put together for submission to various conferences. This usually happens after they've been rejected. I'm not a Master Speaker by any stretch - but one thing I know how to do is to craft a compelling abstract. I offered to review an abstract for a friend today - as long as he let me blog it... so here goes..

May 13, 20145 min read

A Simple Approach to BDD

I just released my latest screencast for Tekpub Pluralsight and I rather like it. It's live coding and I'm building something I need; I did my best to keep it real, and bring in what I've learned from other frameworks like Ruby on Rails and Node.

Mar 6, 20145 min read

2013


4 articles

Are You Really Doing BDD?

I'm a fan of BDD, but I find that many examples (and codebases and default settings) fall short of the original philosophy. Here's Why.

Aug 28, 20135 min read

Knowing More Programming Languages Will Make You Smarter

There's a thought in neuroscience/psychological circles that words are much more than sounds that represent things: they are the abstraction of our higher brain function. Words are language, code is language. Restricting yourself to one or two languages is limiting your cognitive abilities

May 13, 20135 min read

EmberJS Confuses Me

I've been teeth-deep in Client-side JavaScript frameworks over the last 4 months for Tekpub. This month is Angular, last month was Ember's turn and I gave up. It's the first time I've given up - here's why.

Mar 6, 20135 min read

2012


12 articles

Lost at Sea

It was exactly 1:32pm, HST, when the motor died. I stared at the throttle... hoping it was a joke. Land was 50 miles away, and the sea was building, and we were drifting. I thought: "This time dude... this time you really fucked up".

Aug 27, 20125 min read

PostgreSQL Rising

Postgres is gaining more and more attention - deservedly so. Open database systems like Postgres are standing up squarely against the massive, sprawling (and expensive) "Enterprise" systems like SQL Server and Oracle - usually with feature parity that works better. Of all these systems, Postgres is the smartest, fastest, and most capable.

Jul 19, 20125 min read

Try It Quiet

At NDC 2012, I was set to give a talk on NodeJS, and what it's like to work with it. I dislike the quick "hey neat wow" demos - but how do you show what it's like on a daily basis to a room full of people who have likely never tried it?

Jul 4, 20125 min read

Leaving Your Mark

Don Syme makes a very interesting postulation over on his blog: "Is JavaScript code always so full of bugs?" His post goes on to show what happens when you turn on script errors in IE - which is striking. But is it really that easy?

Apr 17, 20125 min read

Something Borrowed, Something New

Tekpub just pushed its latest production: Hello PostgreSQL - and I invite you to take a look at some of the very compelling and interesting features this Open Source system has. No seriously - it's worth a look.

Mar 8, 20125 min read

Someone Save Us From REST

I made the mistake of publicly commenting on someone's idea of a RESTful API. And already - I've probably lost you. I don't know any single term more explosive and zeal-inducing than REST and "what it means to be RESTful". Oh - you say "it's quite simple?" You say "what's so hard?" Pedanticize away my pedantic pedant...

Feb 28, 20125 min read

2011


4 articles

How To Backup Your Postgres DB To Amazon Nightly

We just recently pushed Tekpub over to Posgres and all in all, it was very simple. I won't talk about the reasons we moved from MySQL - that's another post. This one is all about making sure your backups go off nightly.

Nov 1, 20115 min read

Massive: 400 Lines of Data Access Happiness

In a previous post I showed some fun stuff with System.Dynamic and Data Access. I'm happy to say that I tweaked it, loved it, and pushed it to Github if you want to diddle with it. This post is a tad long and dives into Dynamics at the end - read it if you want a fun mental exercise. Otherwise the code is upfront.

Feb 16, 20115 min read

A Dynamic Data Utility for WebMatrix

I promised myself I'd never do this again: create an ORM-y/Data Tool for .NET. But I needed some utilities for some work I'm doing, and I extracted the databits because I can't help myself. I like to share - mom taught me right.

Feb 7, 20115 min read

Marla Singer Didn't Exist

Fight Club is one of those movies that you can take at face value and have a great time, or dig a bit deeper into David Fincher's directorial excellence and unravel some crazy stuff. The shifting reality of the film leaves a lot to be discovered.

Jan 3, 20115 min read

2010


1 article

Open ID Is A Nightmare

I've always been a major proponent of Open ID. I love the idea and the intention - it's a great solution to a long-standing problem and solves a lot of issues for developers. Unfortunately it creates a ton more for business owners.

Nov 17, 20105 min read

2008


1 article

Creating IN Queries With Linq To Sql

Props on this one go to Scott Hanselman who pulled me back from the edge of the cliff last night. I was particularly distraught in getting a MIX demo together where I had to do some queries using LINQ, and I couldn't for the life of me figure out how to fashion an IN query!

Feb 27, 20085 min read