Christoph Lupprich
banner
christoph.luppri.ch
Christoph Lupprich
@christoph.luppri.ch
Father of two. Freelance software engineer. Avid runner.

Leave this world a little better than you found it.

#Ruby #RubyOnRails #ElixirLang #Running
First blog post in… a while (201?).

Replaced Redis locks with a Postgres sequence at 90M+ units/year. Sub-millisecond performance, zero deadlocks, simpler architecture.

Sometimes the best solution is using what you already have.

christoph.luppri.ch/posts/postg...
How a Postgres Sequence Replaced Redis Locks at 90M+ Units/Year
When Redis locks started deadlocking at scale, I found a simpler solution: let Postgres handle it. Here's how a database sequence eliminated our distributed locking issues and delivered sub-millisecond performance.
christoph.luppri.ch
January 11, 2026 at 9:47 PM
I‘m using inwx.com, believe they are German.
INWX - Large domain selection at favorable prices
Register your domain with INWX – trusted registrar with 21 years in the industry. Choose from 2,200+ extensions worldwide!
inwx.com
January 11, 2026 at 3:29 PM
TIL SolidQueue lets you schedule a single line of Ruby inline in the config file - no separate job class needed. 15 years in and Rails keeps finding ways to delight.
January 2, 2026 at 8:40 AM
Two small improvements that would make my GitLab workflow smoother:

- Preserve form state when changing the base branch while creating an MR
- Check if an MR is still mergeable when the base branch changes - not only when someone views it
December 30, 2025 at 8:27 AM
Coming from Rails, the lack of a proper console is my #1 Python pain point. Django’s manage.py shell gets you halfway there, but what are FastAPI/Flask folks doing? One-off scripts? Custom REPLs? Suffering?
December 18, 2025 at 9:22 AM
omg, the memories!
December 18, 2025 at 9:15 AM
Reposted by Christoph Lupprich
I've got a surprise for hotwire.club members coming up 🥁

... an MCP server containing the entire knowledge base of challenges and solution up to date!

There will be a free version, don't worry.

The full version will be limited to DC members OR available for purchase from the shop.
December 16, 2025 at 12:20 PM
Haven't been running for a week (wisdom teeth extraction + a cold with fever), and oh boy do I miss it.
October 23, 2025 at 1:31 PM
Continuous deployment becomes unremarkable once it becomes routine, which is exactly the point. Happy you're living the dream! 😅
October 17, 2025 at 7:45 AM
I’m with you, hope our car still lasts for a very long time. Every time I’m in a new one, I’m like: what are all those screens for? Can‘t remember anyone that was excited to get a new car recently either.
October 14, 2025 at 4:21 AM
It pulls your activity data from Strava and analyzes it, showing you the progress you made in the current week and how you performed in previous weeks.
October 10, 2025 at 6:36 AM
Now that Strava has launched a similar feature, I'm ready to show you the project I've been working on this year:

easyhard.carbonative.com

It will help you to obey the 80/20 rule in running: 80% of your runs should be easy, 20% hard.
Easy Hard | Login
Track your running intensity and master the 80/20 rule. Train smarter with data-driven insights into your easy vs. hard efforts.
easyhard.carbonative.com
October 10, 2025 at 6:36 AM
I declare today a national holiday in my household: Garmin finally gave me back that 1pt VO2max it stole during winter.

#devswhorun
October 8, 2025 at 4:11 AM
Reposted by Christoph Lupprich
Hey bksy, I’m on the look out for my next project, I’m an experienced Elixir dev (> 8 years commercially, and > 10 years of Ruby before that + I'm still the maintainer of RSpec), very familiar with Phoenix and LiveView, and have enough CSS / JS knowledge to approach projects from a full stack angle.
August 12, 2025 at 2:32 PM
Just discovered github.com/mixxorz/DSLR, which is a successor of stellar (which I previously used). Makes snapshotting your Postgres database ridiculously easy.
GitHub - mixxorz/DSLR: Take lightning fast snapshots of your local Postgres databases.
Take lightning fast snapshots of your local Postgres databases. - mixxorz/DSLR
github.com
October 6, 2025 at 8:39 AM
I‘m also somewhat unsatisfied by that situation. Wondering if a data hub for activity data would be a cool side project?
October 5, 2025 at 9:36 AM
Haha, I feel you. It worked better in Chrome for me.

However, working with AWS for the last couple of weeks, I miss GCP. And especially Logs Explorer. CloudWatch‘s log viewer is… underwhelming at best?
October 4, 2025 at 4:06 PM
By now I lost count of how many times I've re-implemented Rails' create_or_find_by in other frameworks.

Once got told not to use it because it "clutters the Postgres logs". Apparently Postgres is logging constraint violations per default, and it's not easy to turn that off?
October 3, 2025 at 7:16 PM
Although I really like it over here, I still have to say that there's more buzz over at X. That's not necessarily a good thing (as a full metro isn't necessarily a good thing), but I kind of feel I'm missing out?
October 3, 2025 at 7:09 PM
First impressions after two runs: very solid shoes. Feel (and sound) a bit foamy, which is different to the On experience, but that's alright.
October 2, 2025 at 7:34 AM
Love this idea!
October 2, 2025 at 4:45 AM
My On running shoes gave out after just 400km, so I decided to try Nike for the first time. Ordered the Pegasus Plus - excited to see how they perform!

#devswhorun #running
September 26, 2025 at 5:20 PM
What @jamie.schembri.me said - your talk was great and very aspiring!
September 15, 2025 at 11:57 AM
Had a wonderful time at @friendlyrb.com. Met so many nice and interesting people, my mind and heart are full.

Thanks to @lucianghinda.com, @adrianthedev.com, @jakob.codefrwd.com, @stefancosma.xyz, @alexmarinescu.com, and everyone else for making this happen! ❤️
September 12, 2025 at 9:14 AM
On my way to @friendlyrb.com - looking forward to see familiar faces and meet new ones!
September 9, 2025 at 7:09 AM