Hi there 馃憢

I am Josef and these are my personal notes disguised as blog posts. Here and there you might find an actual blog post. I like to create things.

OCaml and Reason on Emacs using lsp-mode

This year I started consolidating all the major modes by using lsp-mode and apheleia for all the programming language I use. The switch from OCaml鈥檚 merlin-mode was surprisingly painless. ...

May 26, 2022 路 2 min 路 Josef Erben

How to auto-reload the Django shell

The Django shell python manage.py shell is a very powerful tool that increases developer productivity if used correctly. With a few lines of configuration, you don鈥檛 have to leave the shell anymore to apply code changes. ...

April 22, 2022 路 1 min 路 Josef Erben

Deploy a Django app automatically to Dokku

This is the script I am using to deploy a dokkuzied app to Dokku. ...

March 28, 2022 路 2 min 路 Josef Erben

How Google Search is making me a better programmer

It hit me that the recent decline of the Google Search result quality is making me a better programmer. Year old habits are changing. The title should be read as 鈥淗ow lack of Google Search is making me a better programmer鈥. ...

March 23, 2022 路 5 min 路 Josef Erben

Update NixOS packages individually

This is how you can selectively install packages from a specific commit or branch. ...

March 18, 2022 路 1 min 路 Josef Erben

Fix Autostart On XFCE

It took me three months and five attempts to fix this issues. Upon reboot two terminal panes and one Emacs instance auto started and I didn鈥檛 know why. ...

January 23, 2022 路 2 min 路 Josef Erben

Reloading Flycheck After Loading Virtualenv

When I open Emacs to edit a Python project, the first command I run is pyvenv-activate to activate the virtualenv. If I have a Python file open of that project before running pyvenv-activate, flycheck won鈥檛 work because I install my development dependencies (which are needed by the checkers) in the local virtualenv. Luckily pyvenv provides a hook that runs whenever a virtualenv was activated. (defun clear-flycheck-auto-disabled-checkers () "Clears any automatically disabled flycheck checkers....

January 11, 2022 路 1 min 路 Josef Erben

How To Bypass Cloudflare Access For WebPageTest

Improving the performance of a website can be hard. Using solid performance analysis tools is a must. ...

January 1, 2022 路 1 min 路 Josef Erben

Associated Press Stylebook Title Capitalization

I am a native German speaker who reads English articles on a daily basis. Whenever I write an English title myself, I struggle with the correct capitalization. ...

December 25, 2021 路 1 min 路 Josef Erben

Schablone - A Lightweight Alternative to cookiecutter-django

I am happy to announce Schablone. Schablone is a minimal boilerplate project for Django with strong opinions and little options for customization. ...

December 14, 2021 路 1 min 路 Josef Erben

Switching from elpy to anaconda-mode

I am using Emacs with elpy as my Python IDE. Minor issues that appeared lately made me explore other options for developing Python in Emacs. I ended up switching to a custom configuration based on anaconda-mode. ...

December 8, 2021 路 3 min 路 Josef Erben

Replacing Dropbox With Syncthing

Dropbox has some well known issues on Linux which made me look at alternatives. I found an alternative that I am very happy with. ...

November 27, 2021 路 3 min 路 Josef Erben

Recovering Dokku Postgres Backups

Dokku with its Postgres plugin can be used to manage Postgres databases, this includes automated backups. ...

November 25, 2021 路 1 min 路 Josef Erben

Upgrading NixOS Channels

Upgrading NixOS so that it uses a different channel is simple. When you run following command as root: nix-channel --list You should see a list of channels. If you did not touch channels so far, you should see this: nixos https://nixos.org/channels/nixos-21.05 By running the following command (as root): nix-channel --add https://nixos.org/channels/<channel version> nixos you will remove the 21.05 channel and replace it with <channel version>. To apply the change, you need to run following command:...

November 24, 2021 路 1 min 路 Josef Erben

Installing Only Certain Packages from Unstable on NixOS

Following the NixOS installation guide I ended up with a setup using a stable NixOS channel that just keeps giving. Sometimes however, it can be necessary to include packages from an unstable channel. ...

November 23, 2021 路 1 min 路 Josef Erben

Ignoring Files with Dropbox on Linux

On Linux you can set attributes to ignore files for syncing. ...

November 22, 2021 路 1 min 路 Josef Erben

Fixing Bash Autocompletion on Elastic Beanstalk When Using SSH

If you use urxvt to connect to your EC2 instance through Elastic Beanstalk, running eb ssh will give you a shell where autocomplete does not work. Fix that by running TERM='xterm-256color' eb ssh

November 21, 2021 路 1 min 路 Josef Erben

Thinkpad T14 with NixOS and I3WM

3 months ago I installed NixOS, i3wm and XFCE on my new Thinkpad T14 (1st Gen). It is my main machine that I use every day. In this blog post I summarize my experience with this setup. ...

November 20, 2021 路 4 min 路 Josef Erben

aronwith1a.com - Functional Programming, Math and Riddles

I would like to give a quick shout out to Aaron Aron and his blog aronwith1a.com. This has nothing to do with the fact that I get to use the tags haskell, maths and agda. ...

November 19, 2021 路 1 min 路 Josef Erben

Captive Portals in Coffee Shops and Hotels using Linux

You sit in a cozy coffee place and you just finished your coffee. You are still not connected to the WiFi while the MacBooks and Surface devices around you have sent and received Gigabytes of data since you sat down. You are a Linux user. ...

November 18, 2021 路 1 min 路 Josef Erben