Andrei doesn't write alot, but when he does it's a bunch of small
and interesting tidbits of problems he had to solve.

Deploying Phoenix apps on bare metal

I run a couple of internal and public applications written in Phoenix on our infrastructure. While services like exist and are amazing, sometimes it’s both cheaper (and more secure) to run small internal applications on your own hardware. It’s certainly more fun. Thru the years I’ve developed my own process of deploying the application and this post will document the current procedure.

Getting elixir-ls to work with Erlang OTP 25

Currently elixir-ls dialyzer does not work with OTP 25 and you can either downgrade to OTP 24 and wait for the fix, or build your own version of vscode-elixir-ls .

ULID + Ecto - a talk

Slides to the talk I gave at Elixir Zagreb user group are here in PDF format .

Running your own name server with NSD

I wanted to run my own Name server forever now. Since I’ve started self hosting this was on my todo list. This weekend I’ve decided to do just that and started with a VM on OpenBSD Amsterdam . Once you have a VM and you SSH into it you can start setting up everything.

Unbound on OpenBSD

This is a simple guide on how to get Unbound running as a forwarding and local DNS server on your network. Just install a base OpenBSD installation, and drop to shell after first boot. Be sure to setup so that the VM has a static IP on your network. For me that’s .

Did you ever lose this in JavaScript?

A few days ago I’ve asked my team a trick question — what will be logged in this code example:

Generating a self-trusted certificate

Enter the name of the domain here

My infrastructure

The time is finally here. The 2020. is over and my infrastructure is at it’s best. Currently we can’t imagine life without it as it’s slowly replacing all third party services. But before we get into the details here is the list of services we run.


start by brew install gpg2 and after that’s done install brew install --cask gpg-suite-pinentry pinentry-mac