Eduardo Lavaque [email protected], GitHub, Linkedin I've been writing software for 10+ years. Eschew hype; focus on performance. Living in Switzerland 🇨🇭 since 2017.
2025 — Mar 07 I reviewed my code from my first job in 2015 2024 — Oct 23 Soft-wrapping a Piece Table to draw with Raylib, in Odin — Jul 29 Straightforward Programming (by Hasen Judi) — Jul 29 The Retrieval Augmented Generation (RAG) pattern for LLMs — Jul 27 A workable definition of simple — Jul 25 Clean Code(tm), SOLID, OOP, and Gangs of Four are not simple, by definition — Jul 25 Essential and Accidental complexity, and performance — Jul 18 Learnings from Gadget Software — Jul 06 Drawing text on a window with Odin - Part 1: GLFW — Jun 30 The pleasure of writing Clean OOP code /s — Jun 30 I've removed AI from my workflow — Jun 20 My largest regret — May 02 The only way forward for developers 2023 — Dec 03 Python project setup — Dec 02 Using pyenv on DigitalOcean Ubuntu 22.04 — Dec 01 Basic security in Python Litestar projects (bonus HTMX CSRF config) — Nov 27 Shallow thoughts are cheaper for experts — Aug 27 Throw early for programmer errors — Aug 07 Svelte v4 in Django using Webpack — Aug 02 Twitter 3-legged OAuth with Django using Tweepy, for Twitter bots — Jun 17 HTMX kills most single page applications — Jun 16 Book Summary: Don't Make Me Think Revisited A Common Sense Approach to Web and Mobile Usability by Steve Krug 2022 — Dec 26 Adding TailwindCSS to Svelte components in a Django app — Dec 22 Using Svelte components in a Django app — Jun 29 Managing sync state — Jun 27 Tailwind, using grid-cols-12 instead of mx-auto — Mar 20 Generating a Swagger file with ASP.Net Core and generating API code for Angular — Feb 02 Kubernetes RabbitMQ Certificate Revocation List 2021 — Apr 06 Devilboxを使ってローカルのWordPressサイトの最初のセットアップしよ 2018 — Sep 10 Exiting early, cognitive load — Sep 01 Assigning variables, cognitive load — Aug 27 Git config — Mar 03 On Adblockers — Feb 19 New website 2016 — Jun 17 How to run a Promises array in a series — Apr 09 File navigation in Vim (my way) 2015 — Jun 18 Two months of OpenBSD — Apr 30 Experience upgrading OpenBSD to 5.7 — Apr 29 Indentation and hooks in Emacs — Apr 19 My switch to OpenBSD, first impressions — Apr 18 December 2014 to April 2015 2014 — Dec 08 Respect, for respect is acknowledgement, and acknowledgement is a right — Dec 07 Figuring out when you installed Arch Linux — Nov 21 Minimal amount of fonts in Arch Linux — Oct 05 Get it together Linux users/devs! — Sep 10 The bleeding terminal background inside Vim + Tmux problem — Sep 10 Getting used to software updates — Aug 24 Barebones file navigation in Vim — Aug 21 Navigating in the dark — Aug 09 Knowing something but not registering it — Aug 08 A week with Emacs — Jul 20 A small project is not the same as a big project — Jul 14 A projects page! — Jun 19 Several VLC interfaces — Jun 18 Enable `pass` auto-completion in Zsh — Jun 14 Acknowledgements in communication — Jun 09 Arch Linux font tip(s) — Jun 08 My slow switch to Emacs — Jun 07 New blog! — May 31 My take on Vim vs. Emacs — May 29 You need to understand JavaScript callbacks — May 23 Neat trick for Vim keybindings — May 21 Just switch to UTC — May 14 My experience with the BSPWM and Sxhkd — May 08 Write down the day ahead of you — Apr 30 What the gut feeling is for me — Apr 30 A technique to remember small stuff — Apr 27 Out of sight is not out of mind — Apr 17 Installing Arch Linux on a Dell Vostro 1500 — Apr 12 Text editor categories — Apr 12 My experience with SolydXK (X) — Apr 06 Disconnecting from the DocPad community — Apr 05 Read stuff you have read before — Feb 22 Real science, not bullshit — Feb 19 My explanation of The Zone — Feb 04 The world of Window Managers — Jan 15 My trip to Switzerland, part 1, getting there 2013 — Dec 13 A love letter to Arch Linux — Nov 13 Switching from Zsh to fish — Nov 07 Light Table, the new Emacs — Oct 23 Open source games without going poor