Skip to main content

Blog

  1. How to run a python script with uv in a cron job
  2. Renting vs Owning in the digital era
  3. Privacy-focused companies still have to follow the law
  4. Validating data with pointblank in python
  5. Self-host an ebook library with kobo and library integration
  6. Tech can be enjoyable again
  7. Opening excel and csv files from the terminal
  8. Deploying a static site in Canada with Worktree and Codeberg
  9. AI treats us all as public figures
  10. Completing software: Material for mkdocs goes maintenance mode
  11. Encryption in everyday life
  12. A self-hosted music setup that rivals spotify
  13. There's just something about grey
  14. Silverbullet is the easiest pkm program to self-host
  15. An age of companies too good to be true
  16. Don't forget how far you've come
  17. Setting up markdown-oxide to better integrate Neovim with Obsidian
  18. Content for content's sake
  19. My neovim setup two years later
  20. Thoughts on the Setember 2025 Apple Event
  21. Debian Trixie on an M1 Mac
  22. There is a difference between good and bad software
  23. Building a notetaking and todo system from the ground up
  24. Age verification creates a bifurcated internet
  25. An e-mail interview with Alex Blackie from Worktree
  26. Netstuck
  27. One year in, Debian feels like home
  28. Setting up the Yazi file manager
  29. Copilot has entered the workplace. What's changed?
  30. How to backup your password vault with KeePassXC
  31. Email from the terminal with aerc
  32. What is the purpose of a phone?
  33. Canadians are finally getting cheaper phone plans
  34. Understanding what you build
  35. You can use anything so long as it's markdown
  36. Comparing four privacy-focused google analytics alternatives
  37. I'm just some guy on the internet
  38. Nordhold is a fresh take on tower defense
  39. Running a blog without American tech
  40. The joys of buying music
  41. Setting up a great python experience
  42. Does anyone still care about privacy?
  43. Simple server monitoring with Beszel
  44. Keeping everything in sync
  45. README's aren't just for repos
  46. Busywork
  47. Saving RSS entries from Miniflux to Readeck
  48. Verification across the expansive web
  49. Eleventy version 3: Just how fast can a website be?
  50. The vibes are off with social media
  51. Blog question challenge 2025
  52. Planet Scale
  53. Default apps 2024
  54. Making notes accessible from the command line
  55. Two years of blogging
  56. Blog proofreading: links, spelling, and grammar
  57. The journal of great expectations
  58. Notification of account removal
  59. Full-text RSS is the best thing since sliced bread
  60. The Ladder of Workplace Software Complexity
  61. A catppuccin neovim + tmux starter guide
  62. Measuring life in lifespans
  63. Building my first rust crate
  64. I read it in a book somewhere
  65. Five game-changing terminal tools
  66. Yubikeys are for everyone
  67. Twenty... something
  68. High-quality free news is going extinct
  69. What exactly is a permalink?
  70. How much software do we actually need?
  71. Why we should stop using URL shorteners
  72. Learning by building
  73. When ads takeover
  74. Memory caching. The human edition
  75. Linux Mint to Debian
  76. Why nevermonetize?
  77. Readeck: The lightweight read-it-later app
  78. Simple setup of transactional emails for self-hosting with mailgun
  79. Building a note taking system that actually works
  80. What backpacking taught me about software
  81. Manage your tasks with a complete Vikunja setup
  82. The Casio AE-1500WH-1AVDF is everything a watch should be
  83. Exercism vs Datacamp: Small things make a big difference
  84. Perfect recall
  85. Deploying to vercel from codeberg
  86. Lessons from Neovim configurations and 11ty website templates
  87. Should you use a custom domain for email aliases?
  88. Creating a pleasant blog reading experience
  89. Using taskwarrior to manage my todos
  90. Airplane Mode
  91. The paradox of choice
  92. Deploying mdbook to codeberg pages using woodpecker CI
  93. E-books should have been the future
  94. Goodbye Logseq, Obsidian, and Vimwiki. Hello, mdBook!
  95. Saying goodbye to site analytics
  96. Thoughts on AI in code and writing
  97. Save to Omnivore from the command line with a simple zsh custom function
  98. Nobody can code alone, we rely on each other
  99. Should you optimize your personal blog for SEO in 2024?
  100. Habitica will change your life. Really
  101. Security has become too complex
  102. 2024: Keeping what works and shedding what doesn't
  103. Easy light and dark mode with Catppuccin and TailwindCSS
  104. Setting up command line access to mastodon
  105. Spotify may be the reason we all start to buy music again
  106. Private and Public Aspects of Life Can Coexist
  107. Book Review: Extremely Online
  108. This Article is About Rabbits
  109. FreshRSS and Omnivore: A perfect match
  110. Doing hard things: learning vim
  111. The Power of Small Communities
  112. Nothing is Truly Free
  113. Book Review: The Good Life
  114. Search is Beginning to Show Its Age
  115. The Internet is About to Get a Whole Lot Noisier
  116. Data in Public Health: Why we Need a Change in Thinking
  117. Flipped Productivity - How Doing Less Can Help You Achieve More