Posts

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

Read more →

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.

Read more →

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.

Read more →

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.

Read more →

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.

Read more →

chezmoi

Many of us use more than one computer for work. And we use, if not identical, then overlapping sets of applications and tools that need the same configuration on every machine:

  • git
  • vim/nvim
  • tmux
  • editorconfig
  • karabiner
  • zsh
  • and others.

These configuration files are usually called dotfiles — their names start with a dot (.), which in the world of Unix-like systems makes a file hidden.

Read more →

gitlab

One of my subscribers pointed out that the source code for the solutions we put together on stream wasn’t publicly available. To be honest, I didn’t think it would be useful to anyone outside the stream context — we show the process of solving a problem, shaping it into a workable result. Turns out I was wrong, and the source code is interesting on its own.

Read more →

youtube

I recently got over the awkwardness and finally followed through on a long-standing idea — I launched a YouTube channel. I’ve always wanted to show and talk about approaches to development without clickbait thumbnails and headlines, to stay on point and pass my experience along to other people.

Read more →

sdkman + kotlin

Soon I’ll need to add another language to my stack — Kotlin. The process of getting comfortable with the syntax doesn’t worry me; that’s the easy part. As always, what I care about most is making the setup simple, fast, and reproducible — especially the local developer environment. I won’t be the only person on the team, and it matters that my coworkers’ compiler versions line up with mine down to the patch.

Read more →