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.

Migrating from Next.js to Remix

I recently migrated a Next.js project to Remix in order to improve performance and maintainability. These are 8 reasons why you should and should not use Remix. ...

July 21, 2022 路 6 min 路 Josef Erben

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

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