Posts
oasdiff
Given:
- Two versions of the same application: A and B.
- Both versions expose a contract described in
OpenAPI. - The application has consumers that rely on the current contract.
The task:
- Determine whether the new version’s contract introduces any backwards-incompatible changes.
- Determine what additional changes the contract has undergone.
Golang Test Summary
The standard Go tooling doesn’t print a summary of your tests. But on a large project, when you need to see the overall picture, that kind of summary is useful. Say you’re bringing your own fork up to date with upstream and you
need to gauge the size of the problems caused by merging the changes.
APFS Case Sensitive
By default, the filesystem on macOS is case-insensitive. That means file.txt and FILE.txt are the same to it. In some — admittedly rare — situations, developing or supporting certain projects requires case sensitivity. Reformatting
the disk and reinstalling the OS is a long, thankless undertaking. Here’s how I solved this problem.
Postgres Table Naming
Why do I prefer naming tables in postgres in the singular?
/usr/bin/arch
A lot of us have ended up on Macs with M1 chips lately. Rosetta exists to support apps built for Intel processors. In this post I want to highlight the extended arch utility — which on Macs goes a bit beyond uname -m — and the situations where it can come in handy.
Leetcode 2
Leetcode offers three difficulty levels: Easy, Medium, and Hard. Solving harder problems obviously gives you more rating points. But right now we don’t care about the rating — we care about how the company you’re interviewing with views your profile.
Leetcode 1
Let’s talk about the goals developers set for themselves when solving problems on leetcode. Based on those, we’ll settle on the programming language we’ll use to solve them. In my view, there are at least three options:
- Improve your own level of algorithmic preparation — the most obvious one;
- Try out data-handling approaches in a specific programming language;
- Take pride in the number next to your profile photo — “grind” your rating and brag to coworkers.
Leetcode 0
Many developers have a very mixed attitude toward algorithm interviews. Some consider the algorithms section mandatory, others don’t. A lot of companies — even though for the actual day-to-day work and their real tasks, knowledge and understanding of clean architecture, design patterns, and deep familiarity with one framework or another matter much more — still include an algorithms section, often with non-trivial problems that are quite hard to solve under stress and on the clock.
pre-commit
My team and I ran into a problem where Code Style violations were being caught too late: in CI or at Code Review. A shared .editorconfig clearly wasn’t enough on its own, since editorconfig can’t fully describe every nuance of formatting.