Run Your Business on ChatGPT

ChatGPT. It’s out there. If you haven’t heard about it, I can only assume you’ve had your head buried in the sand. If you haven’t taken the moment to play with it, please, do yourself a favor and play for a minute. It’s free. Sign in with google and just play. I’ll wait. There’s already been a lot written about what it means, how to hack it, how it’s not as good as it’s made...

Must have new car features

Our family has two cars that are both more than 10 years old. But we’ve had occasion to rent a newer car now and again and we’ve recently started shopping for a new electric vehicle. With 10 year old vehicles as my baseline, each time I step into a new vehicle there’s something surprises me. There are a lot of new exciting features making their way into standard equipment in some models. If you’re in...

Working notes on compelling EVs

Update(2023/01/18): Added section on Mach-E and Toyota bZ4x In another post, I laid out some specifications for what we’re looking for in a new electric vehicle. These are my in progress notes about vehicles we’ve been looking at and considering. All of these are cross-over body styles with a descent amount of cargo space and 5-seats. We’re aiming to primarily consider all-wheel drive models. I’ll continue to update these notes as we learn more and...

Kicking off an Electric Vehicle Search

Our family is in the market for a new car. We currently have two vehicles, which is two too many for some folks, especially given we live in Chicago, a city with good transit options. We’re able to walk most places but, like a lot of folks, we enjoy the convenience of a personal vehicle for some tasks. But, in particular, my wife runs a business that has her moving around the city quite a...

Reflections on a month of Mastodon

Mastodon like it has been The great Twitter migration feels like a call to rethink how we interact with the world. There are a lot of options out there with Mastodon, and the larger fediverse, taking center stage among my peers. Coming from Twitter, Mastodon is challenging to break into. Reminiscent of IRC, a users first interaction with Mastodon is to be confronted with picking an instance to call home. Unlike what users have become...

Multi-Factor Authentication

What is Multi-Factor Authentication Since the dawn of multiple user computer systems, we’ve used passwords to prove to computers that we are who we say we are. But, passwords are just one way we can assert our identity to a computer. Security experts generally recognize a few categories of identity assertion, something you know, something you have, something you are, even somehwere you are. Passwords fall into the something you know category, but this could...

Ratchets: Improving systems incrementally

A ratchet strap is a type of tie down strap used to hold large objects onto a vehicle for moving. No knots are required, unlike rope, and they have less give and room for error than bungee straps. The ratchet strap gets its name from the specially designed gear box that’s used to impart tension on the strap and hold down your stuff. During tensioning, the ratchet gear only moves in one direction, spooling slack...

The Coding Interview: Time Management

Time is your most valuable asset during a coding interview and it’s ticking away from go. Let’s talk about some tips for maximizing your time in a coding interview. I’ll preface this advice by saying that this is based soley on my experience being interviewed and giving interviews. It won’t necessarily be applicable to all interviews as some interviewers certainly look for different things. But, in my experience, these considerations have frequently helped me. Set...

Race Conditions Like I'm Five

A friend recently asked for an explanation of race conditions in computing. I came up with a quick definition and a short example that I really liked so thought I’d share: Explanation Say you have two (or more) threads of execution (threads, processes, background workers, async callbacks). If there’s a situation that could happen where a resource (file, object in memory, row in the database) could be modified by one in such a way that...

Inclusivity must be built in to the system

In software development, we have this idea of certain attributes that must be built in to systems at the start of design and development. That is, these are aspects of software systems that are far easier to build in at the beginning than to bolt on to an established system later on. Some common examples are security, performance, user experience, and accessibility. These are attributes that are intrinsic to software systems in ways that are...

On the Importance of Meaningful Success Metrics in Software and Business

Regardless of the type of application you’re building it’s valuable to define user goals and measure those goals. It’s even more valuable to define success metrics essential to the core principals your business is founded upon and create user goals that measure progress toward those metrics. For example, typical goals for an e-commerce site might be: If a user visits the site, how often do they end up on a product page? If a user...

Introducing Stopplicht

The feedback loop is an integral part of the process of Test Driven Development. Red, Green, Refactor… and hopefully still Green. The faster you can move between the states in the cycle, the better. To help visualize those states and continue tightening the feedback loop, I built Stopplicht. For web development, I generally like to have my editor, a terminal session, and a browser open at a minimum. This is all in an effort to...

Weeks 1 and 2 in Edinburgh

My wife, Stephanie, and I have spent the past few weeks in Edinburgh, Scotland. I’ve decided to write about our experiences (with pictures!) to document them for the eager masses back home in the States to consume, mostly so I don’t have to repeat myself a bunch of times. :D This is the first of who knows how many entries in our Edinburgh journal. But first, some background. If you don’t care about how we...