Senior software engineer with 9+ years of experience. Eschew hype; focus on delivery and performance.

Living in Switzerland 🇨🇭 since 2017.

    2024
  1. Clean Code(tm), SOLID, OOP, and Gangs of Four are not simple, by definition
  2. Essential and Accidental complexity, and performance
  3. Learnings from Gadget Software
  4. Drawing text on a window with Odin - Part 1: GLFW
  5. The pleasure of writing Clean OOP code /s
  6. I've removed AI from my workflow
  7. My largest regret
  8. The only way forward for developers
  9. 2023
  10. Python project setup
  11. Using pyenv on DigitalOcean Ubuntu 22.04
  12. Basic security in Python Litestar projects (bonus HTMX CSRF config)
  13. Shallow thoughts are cheaper for experts
  14. Throw early for programmer errors
  15. Svelte v4 in Django using Webpack
  16. Twitter 3-legged OAuth with Django using Tweepy, for Twitter bots
  17. HTMX kills most single page applications
  18. Book Summary: Don't Make Me Think Revisited A Common Sense Approach to Web and Mobile Usability by Steve Krug
  19. 2022
  20. Adding TailwindCSS to Svelte components in a Django app
  21. Using Svelte components in a Django app
  22. Managing sync state
  23. Tailwind, using grid-cols-12 instead of mx-auto
  24. Generating a Swagger file with ASP.Net Core and generating API code for Angular
  25. Kubernetes RabbitMQ Certificate Revocation List
  26. 2021
  27. Devilboxを使ってローカルのWordPressサイトの最初のセットアップしよ
  28. 2018
  29. Exiting early, cognitive load
  30. Assigning variables, cognitive load
  31. Git config
  32. On Adblockers
  33. New website
  34. 2016
  35. How to run a Promises array in a series
  36. File navigation in Vim (my way)
  37. 2015
  38. Two months of OpenBSD
  39. Experience upgrading OpenBSD to 5.7
  40. Indentation and hooks in Emacs
  41. My switch to OpenBSD, first impressions
  42. December 2014 to April 2015
  43. 2014
  44. Respect, for respect is acknowledgement, and acknowledgement is a right
  45. Figuring out when you installed Arch Linux
  46. Minimal amount of fonts in Arch Linux
  47. Get it together Linux users/devs!
  48. The bleeding terminal background inside Vim + Tmux problem
  49. Getting used to software updates
  50. Barebones file navigation in Vim
  51. Navigating in the dark
  52. Knowing something but not registering it
  53. A week with Emacs
  54. A small project is not the same as a big project
  55. A projects page!
  56. Several VLC interfaces
  57. Enable `pass` auto-completion in Zsh
  58. Acknowledgements in communication
  59. Arch Linux font tip(s)
  60. My slow switch to Emacs
  61. New blog!
  62. My take on Vim vs. Emacs
  63. You need to understand JavaScript callbacks
  64. Neat trick for Vim keybindings
  65. Just switch to UTC
  66. My experience with the BSPWM and Sxhkd
  67. Write down the day ahead of you
  68. What the gut feeling is for me
  69. A technique to remember small stuff
  70. Out of sight is not out of mind
  71. Installing Arch Linux on a Dell Vostro 1500
  72. Text editor categories
  73. My experience with SolydXK (X)
  74. Disconnecting from the DocPad community
  75. Read stuff you have read before
  76. Real science, not bullshit
  77. My explanation of The Zone
  78. The world of Window Managers
  79. My trip to Switzerland, part 1, getting there
  80. 2013
  81. A love letter to Arch Linux
  82. Switching from Zsh to fish
  83. Light Table, the new Emacs
  84. Open source games without going poor