Hi! I'm Rob Conery

I am the author of The Imposter's Handbook, founder of Big Machine, and a software developer living in Kauai, HI. I also host and produce the podcast This Developer's Life with my friend Scott Hanselman and work at Microsoft as a Cloud Developer Advocate.

All Stories

The Subtle Arts of Logging and Testing

I'm a big fan of testing, but I get lazy sometimes and it ends up costing me money, directly.

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...

Meet Playwright

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

🤖 Does Functional Programming Matter To You?

Learning Elixir changed me as a programmer, and learning functional concepts changed the way I think about writing software. How about you? Is functional proogramming a useful thing to learn?...

👻 Hacking Ghost for Fun and Profit

I've been using Ghost for many years and recently I decided to see just how far I could push it.

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!

Explain It Like I'm 5 - Why Are Hashes Irreversible?

How to explain hashing algorithms to 5-year olds? Well... I'll do my best in this post, which comes with a video too!

🤖 A Real World Approach to Playwright

Writing tests can be tricky, especially using a more complex tool like Playwright. I took some time and dug in over the last year and I'm happy I did.

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?

What Should Be a Plugin vs a Composable vs a Store in Vue?

Vue is a very powerful framework that I love a lot, but understanding some of the builtin machinery can be extremely confusing. Here's how I deal with that.

Trying Something Different: A Real World Tutorial for Frontend Programming

I'm creating an episodic walkthrough where I build a real application I need to ship, and you get to do it with me. It's up for presale at 50% off....

Incoming: Nuxt Walkthrough Preview

I'm popping a new course on Vue and Nuxt and here's what you need to know as a subscriber.

Everyone Has a Plan, Until They Get Hit in the Face

I spent almost 3 hours last weekend trying to figure out one of the most vexing problems I've ever faced, and I recorded all of it.

How Elixir's Concurrency Changed Me as a Programmer

This is an excerpt for a talk I gave in 2016 at NDC London, featuring Elixir and the concurrency features it has, built in. It's easily the most annoying demo...

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...

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...

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!

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.

The Importance of Knowing Your Numbers

As programmers we tend to think of reports after the fact, often when it's too late. I learned this the hard way over the last few days.

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....

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...

Striking Gold in My Archives

Digging through my archives of hundreds of videos, I found an oldy but goody - publishing it for you to enjoy!

Fun Geeky Things To Do For the Holidays

I love nerding out over the holidays and today was no exception. I added a feature to my blog that I've wanted to add forever!

The Easiest Postgres Experience You've Ever Seen

Web Assembly is enabling people to do some crazy stuff in the browser, including running a full PostgreSQL installation and Adobe Photoshop!

Five Things I Learned Building Bigmachine.io Using Nuxt and Firebase

I like to change my publishing site regularly - it's fun and it keeps me sharp. This iteration is with Nuxt and Firebase, and I learned a ton.

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....

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...

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...

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...

People Who Create Tutorials Need to Try Harder

There are too many crappy demos out there. It just takes a little extra time and some empathy to tie your tutorial to a real problem.

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...

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.

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...

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...

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...

What's the Difference Between Vue 2.0 and Vue 3.0?

The third version of a framework, library or tool generally sucks, at least in my experience. Will this be the case with Vue 3? Let’s find out!

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...

Importing a CSV Into PostgreSQL Like a Pro

Importing data into PostgreSQL can be time consuming and painful – unless you toss the GUI tools and use scripts.

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.

What’s the Best Hashing Algorithm for Storing Passwords?

Most people will default to bcrypt when choosing a hashing algorithm for storing sensitive information - but why? Are there other choices? Indeed! In this video we'll take a look...

Deploying Node and Mongo to Azure Using AZX

Over the holidays I decided I wanted to see if I could improve the Node/Cosmos DB provisioning and deploymment story with AZX. In short: yes, I can.

A Simpler Way to Azure

I have loved working with Heroku for years and have long wished Azure had a similar offering. Many people have tried this, here's my effort.

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...

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...

Postgres For Those Who Can't Even, Part 3 - In The Real World

This is part 3 of a series of posts I’m writing for Friendo, a web person who wants to get their hands a lot dirtier with Node and Postgres. You...

Postgres For Those Who Can’t Even, Part 2 - Working with Node and JSON

Getting up to speed with Postgres and Node can be daunting but in this post I'll dive into how you can easily work with both - including JSON document storage......

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...

Fine Tuning Full Text Search with PostgreSQL 12

Full Text Indexing in PostgreSQL is easy... and it's not. It's not difficult to do simple keyword searches, but fine-tuning your index with weighting and parsing rules takes some effort....

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...

Audiobook Review: Fall; Or, Dodge in Hell by Neal Stephenson

I love audiobooks and sometimes I listen to one that is so good, I have to share. This one took effort - like all of Stephenson's stuff - but it...

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.

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...

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.

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...

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...

Transactional Data Operations in PostgreSQL Using Common Table Expressions

Working with Common Table Expressions in PostgreSQL is easy and straightforward. You can insert, update and delete data easily, all in one operation, within a single transaction.

Simple Monthly Reports in PostgreSQL Using generate_series

Working with dates and series of dates is easy in PostgreSQL, especially using generate_series.

Setting Up a Fast, Comprehensive Search Routine With PostgreSQL

One of the joys of working with PostgreSQL is the ability to run full-text searches right out of the box. But how do you set this up? Better yet: when...

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...

A Pure PostgreSQL Document Database API

Another day, another database project in my repo! This time it's a pure PostgreSQL JSONB document storage API that you can drop in and get going with right away!

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,...

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...

Interview On .NET Rocks About A Curious Moon

I was interviewed on .NET Rocks! while at NDC London.

The Modern Dev Team

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

My New Book About PostgreSQL, Data and Saturn: A Curious Moon

I just released a new book about PostgreSQL, Saturn, and Cassini! Quite possibly the most fun I've had writing about data and databases.

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.

The Imposter's Handbook, Print Edition Now Available

The print edition of my book is now available through print-on-demand at Blurb.com. Quality paper and a perfect size, a great holiday gift.

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.

Hooking A Web Page To Firebase With VueJS

We can checkout and execute an order, but what does the client see? Firebase gives us a unique ability that way: a realtime update powered by VueJS.

Wiring Serverless Routines With Firebase

Do we use a lot of smaller routines with Firebase Functions? Or one big one? We'll explore the options in this post.

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?

Should I Trust Firebase? Of Course Not!

Let's address the elephant in the room: Should you trust a service like Firebase to handle your business? Not unless you want your pants on fire(base)!

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...

Writing A Book Is Frustratingly Addictive

I want to love this process... I ... want to ...

Writing A Book: The Imposter's Handbook

There is so much I don't know about Computer Science. I figured I'd share that with you

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.

Red4 Store Part 5: Fun With Phoenix, OTP, and Agents

I've taken a little time from blogging about Elixir and this little project, mainly because I wanted to dive into OTP a bit more, and I also needed to figure...

JSONB and PostgreSQL: Work Faster By Ditching Migrations

I am not a fan of migrations - never have been and probably never will be. They were interesting when Rails first came out, but now they're pure friction.

It's Time To Get Over That Stored Procedure Aversion You Have

There is a lot of opinion about stored procedures out there that are just...

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...

Pulling Documents From a Relational Query in Postgres

The fuller support for JSONB in Postgres 9.4 makes working with document structures incredibly compelling. Here's an interesting way to have your Relational Peanut Butter play nicely with Document... Chocolate...

Being a Nomad for a Year

I'm traveling for a year with my family without a plan. We started in Europe and are planning, at most, 3 weeks into the future. So far it's been pretty...

A Better ID Generator For PostgreSQL

For most tables in a database you can get away with an auto-incrementing integer primary key. This, however, is a scaling headache if you ever have to shard your database....

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...

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 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...

Repositories On Top UnitOfWork Are Not a Good Idea

There is a trend in the .NET space of trying to abstract EF behind a Repository. This is a fundamentally bad idea and hopefully I'll explain why.

Using Entity Framework 6 with PostgreSQL

Postgres is an amazing database and you can EF with it, sort of. If you want to explore something new and have some fun - read on.

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.

JavaScript Frameworks Are Amazing and Nobody Is Happy

When I read things like "Callbacks as our Generations Go To Statement" I’m like maybe we need that. Maybe we need some time where we’re walking around with a donkey...

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...

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...

Screencasting Like a Pro: The Demos

Once the script outline is set and you have a skeleton of the words and tone you want to use - it's time to bake the demos. Yes: Bake.

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...

Screencasting Like a Pro: The Script

You have a solid idea of what you want to say - now you just have to say it. The uphill climb begins. This is part 2 of how to...

Screencasting Like a Pro : Beginning, Middle, and End

I get asked a lot about my process, software, and microphone for the screencasts I do at Tekpub. I figured I'd blog about it because the world needs better screencasts....

Avoiding Messy Situations With KnockoutJS and JavaScript

Any tool can create a mess. Some seem more prone to messes then others - that's what I thought of KnockoutJS until recently when I had a chance to catch...

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...

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...

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...

Cleaning Up Deep Callback Nesting With Node's EventEmitter

One problem people face when starting out with Node (and JavaScript in general) is handling the asynchronous, deep callback nesting issue. EventEmitters help fix that.

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...

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...

NodeJS Callback Conventions and Your App

NodeJS has a pretty specific convention when implementing callbacks in modules - function(err,result). Does this always make sense?

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....

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...

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...

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...

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...

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...