Photo by George Becker from Pexels

If you’re not using a password manager by now, you should be. Ever since reading the xkcd: Password Strength comic many years ago, I’ve become increasingly frustrated by how the software industry has continued to enforce bad password practices, and by how few services and applications apply best practices in securing our credentials.

The main reason for password reuse or using poor passwords in the first place is because it’s way too hard to remember lots of good ones.

By forcing us to remember more and more passwords with outdated rules such as demanding symbols, numbers and a mix of…

Natural Backgrounds With Flowers — George Hodan

Eight years ago, when I first learned that Québec suicide rates were known to rise in the spring, I was in a state of disbelief. I’d just moved to Montreal, and my very first Canadian winter was coming to an end. …

In sensitive circumstances, trusting a traditional file write can be a costly mistake — a simple power cut before the write is completed and synced may at best leave you with some corrupt data, but depending on what that file is used for you could be in for some serious trouble.

While there are plenty of interesting, weird, or over-engineered solutions available to ensure safe writing, I struggled to find a solution online that was simple, correct and easy-to-read and that could be run without installing additional modules, so my teammates and i came up with the following solution:

What continues to amaze me is that Americans are so gung-ho about their gun rights (gun-ho?) that they forget why they agreed to the second amendment in the first place. The second amendment is there to enable civilians to arm themselves in case they need to rise up against a tyrannical government.

1. Militias formed by US "freedom fighters" are going to find themselves hopelessly outnumbered and outgunned if they try to do physical battle with the US army.

2. The most important aspect of "the right to bear arms" does not specify the class of arms in question. …

This is a great article, and I've become increasingly frustrated with technical challenges over the years, but I only partially agree with your takeaway. There *should* be technical challenges, but *how* they're performed makes all the difference: if it's being used to evaluate how someone works through a problem collaboratively (with the interviewer) on a whiteboard, with the focus on talking through / thinking through and not on nitpicking code, then it can be a very powerful tool and a fun experience for both participants. …

Serverless is great, but it's unnecessarily complicated if you're not using AWS's CDK! I wrote an article about it but if you're interested in a quick-start guide to building out serverless architecture quickly, intuitively and programmatically please check out


A year or two ago I had an opportunity to sit down with AWS’s Marcin Kowalski in a cafeteria and discuss the problems of software development at almost-unimaginable scale. I walked away with a new (for me) conception of software engineering that is part engineering, part organic biology, and I’ve found this perspective has shifted my approach to software development in a powerful and immensely helpful way.

As Computer Scientists and Software Engineers, we’ve been trained to employ precision in algorithm design, architecture and implementation: Everything must be Perfect. Everything must be Done Right.

For smaller, isolated projects, this engineering…

Picture by Stuart Miles from

The impact of technical debt

Over the years the concept of “technical debt” has become a phrase that can generate anxiety and a lack of trust, as well as setting up developers and their managers for failure. The metaphor might not be perfect ( Ralf Westphal makes a strong case for treating it like an addiction), but I feel it’s pretty apt if you think of the story of The Pied Piper of Hamelin — if you don’t pay the piper promptly for keeping you alive, he’ll come back to steal your future away.

Maybe I’m being a bit dramatic, but I value my time…

Photo by Andri from Pexels

Your regular expressions need love. Reviewers and future maintainers of your regular expressions need even more.

No matter how well you’ve mastered regex, regex is regex and is not designed with human-readability in mind. No matter how clear and obvious you think your regex is, in most cases it will be maintained by a developer who a) is not you and b) lacks context. Many years ago I developed a simple method for sanity checking regex with comments, and I’m constantly finding myself demonstrating its utility to new people.

There are some great guides out there, like this one, but…

Adam Fisher (@therightstuff)

An experienced analyst, architect and polyglot developer who loves solving problems across paradigms. Also writes words, and sometimes even performs them.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store