SSH with 1Password

SSH with 1Password

A few weeks ago I shelved my “homemade Bitwarden” and moved to 1Password on the family plan. Yes, you have to pay, but sharing with the family and the ease of use make up for it. Shortly after migrating the passwords I ran into the Developer tab and its SSH agent: private keys live in the vault, they sync themselves across my machines, and every use is authorized with a fingerprint or with Windows Hello. By the way, I later found out that Bitwarden has had an SSH agent too since early 2025. You learn something new every day. It sounded too good to be true, so I set out to check whether it fit my case: several workstations (macOS, Windows, Linux), lots of servers, network gear with SSH from another era, and more and more scripts and AI agents running ssh without me being at the keyboard. In this post I go through what I learned, how I set it up, and where I do NOT use it. …

September 4, 2026 · 27 min
Gitbox, multiple Git accounts without conflicts

Gitbox, multiple Git accounts without conflicts

If you use AI agents or do vibe coding, you know how quickly repositories pile up across different accounts and providers. Personal GitHub, work GitHub, or even a self-hosted server like Forgejo… and suddenly you have dozens of repos cloned with the wrong identity, crossed credentials, and a monumental mess. This happened to someone very close to me — a non-technical person who is creating many “projects” with agentic AI and, like anyone starting with Git for versioning and backups, was going crazy. I created Gitbox to help “non-developers” manage multiple accounts and clones more easily, without them stepping on each other. If you’re a developer, think of it as another alternative — and if you like it, go ahead. I use it on all my desktops and headless machines. …

April 3, 2026 · 6 min
CRLF vs LF

CRLF vs LF

When working in software development, one of the most subtle yet crucial aspects you need to be aware of is the difference between line endings in text files between Windows (CRLF \r\n) and Linux/MacOS (LF \n). This small detail can cause big problems if not handled correctly, especially when working in mixed environments – version control conflicts, script incompatibilities, compilation or execution issues. I wrote this post to have a handy reference for dealing with this topic, including a few tricks. …

September 28, 2024 · 3 min
Git Multi-Account

Git Multi-Account

This post will walk you through the process of setting up and using multiple accounts with one or more Git providers (GitHub, GitLab, Gitea). I describe the two options I recommend: HTTPS + Git Credential Manager and SSH multi-account. The first, HTTPS + Git Credential Manager, is the one I use most, because it’s compatible with CLI and/or GUI tools like Visual Studio, VSCode, Git Desktop, Gitkraken, etc. The second option, SSH multi-account, I delegate to “headless” machines, servers I connect to remotely via CLI or VSCode remote that need to clone repositories and work on them. …

September 21, 2024 · 12 min
Windows for development

Windows for development

I set up Windows 11 as a cross-platform development machine (Linux, macOS, and Windows), not Microsoft-only. Starting from a clean English install, tuned lightly (optionally after a dualboot). The post starts with the CLI and WSL2 and ends with the tools and programming languages. …

August 25, 2024 · 36 min
Linux for Development

Linux for Development

In this post I describe my configuration log for setting up a Linux (Ubuntu) machine as a development workstation. I install several graphical and command-line applications that are essential for my workflow. Starting from a fresh Ubuntu installation, the installation order can be varied, but I recommend (if your Ubuntu is freshly installed) that you follow the same order to see the same results. …

July 25, 2024 · 7 min