Running multiple services on Dokku

Dokku makes it very easy to deploy and run simpler web apps. Recently, I had to deploy a slightly more complex web app with multiple non-web worker services talking to each other. It’s surprisingly simple to get make this work. ...

October 1, 2022 · 2 min · Josef Erben

Django 4 form rendering using Tailwind without Node or crispy

Since Django 4, form rendering with Tailwind can be used to render beautiful forms without using Node or any other packages like django-crispy-forms. All you need is the Tailwind CLI binary and django-widget-tweaks. ...

September 30, 2022 · 3 min · Josef Erben

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’s 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’t 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 “How 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’t 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’t 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