Christoph Lupprich @christoph.luppri.ch · 08/06/2026Who would've thought I'd actually enjoy writing JavaScript - with Stimulus, mind you: 110
Christoph Lupprich @christoph.luppri.ch · 07/05/2026Freelancers - what's your time tracker? Harvest went crazy with pricing and I'm out. Just need a timer with multi-client/project support, custom rates, and invoice tracking. Nothing more. 410
Reposted by Christoph LupprichTyler A. Young ⚗️🧑🏻💻 @tylerayoung.com · 06/04/2026A former coworker with 8 years of #ElixirLang experience is looking for work. I can vouch for him being a careful, thorough engineer, and a real "manager of one." If he builds something, you can be confident it'll be solid and well thought out. Reach out here: www.linkedin.com/in/kylevsteg...linkedin.comKyle Steger - Felt | LinkedInExperience: Felt · Education: Eastern Connecticut State University · Location: Milford · 460 connections on LinkedIn. View Kyle Steger’s profile on LinkedIn, a professional community of 1 billion memb... 0810
Reposted by Christoph LupprichMike Perham :sidekiq: @getajobmike.ruby.social.ap.brid.gy · 01/04/2026Mysterious warning to Ruby app maintainers: “bundle update rack” asap. 3109
Reposted by Christoph LupprichBrad Gessler @bradgessler.com · 08/02/2026I got tired of seeing people complain “RSpec and factories takes 14 min to run, minitest and takes 5s” so I’m starting to chip away at it. First order of business: created FixtureBot after figuring out I use FactoryBot not because of factories, but because I like the syntax. Might try sus next.beautifulruby.comDon't throw the specs out with the factoriesFixtureBot gives you the speed of fixtures with the syntax of factories 2121
Christoph Lupprich @christoph.luppri.ch · 03/02/2026Been tinkering with a little app to get insights into the performance of your GitLab CI pipelines, mainly to spot degradations and verify that improvements are actually… improvements. Curious if anyone else would be interested in it? 020
Reposted by Christoph LupprichJulian Rubisch @julianrubisch.at · 03/02/2026So I built my own solution: Crow's Nest. It's a dead-simple dashboard that connects to your Harvest account and shows: - Your total weekly capacity. - Hours you've committed. - How many hours are actually left. No more guessing. 123
Christoph Lupprich @christoph.luppri.ch · 30/01/2026Took running a little easier over the last couple of months because it was quite cold, slippery, and honestly my mind just wasn‘t in it. Did hard runs on Wednesday and today, and while I‘m pretty exhausted now 😅, it feels great. 010
Christoph Lupprich @christoph.luppri.ch · 29/01/2026Ran into a race condition on @Railway.com when deploying Rails with web + Solid Queue worker. Unlike Heroku's single release phase, Railway runs pre-deploy commands per service. Solution: wrapped the migrate in a wrapper script to erialize migrations across services: gist.github.com/clupprich/a...gist.github.comPre-Deploy Command for Multi-Service Rails apps on RailwayPre-Deploy Command for Multi-Service Rails apps on Railway - bin_release.rb 000
Christoph Lupprich @christoph.luppri.ch · 23/01/2026What‘s everyone using to send transactional emails these days? Still Mailgun? I heard that Postmark is back, too? Please don‘t say AWS - I just hate their UI. 310
Christoph Lupprich @christoph.luppri.ch · 23/01/2026I moved a #Rails app from Heroku to @Railway.com yesterday and just created a new one there. Very solid experience, guess I found the new home for my projects. 050
Christoph Lupprich @christoph.luppri.ch · 11/01/2026First 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...christoph.luppri.chHow a Postgres Sequence Replaced Redis Locks at 90M+ Units/YearWhen 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. 020
Christoph Lupprich @christoph.luppri.ch · 02/01/2026TIL 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. 010
Christoph Lupprich @christoph.luppri.ch · 30/12/2025Two 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 000
Christoph Lupprich @christoph.luppri.ch · 18/12/2025Coming 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? 100
Reposted by Christoph LupprichJulian Rubisch @julianrubisch.at · 16/12/2025I'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. 031
Christoph Lupprich @christoph.luppri.ch · 23/10/2025Haven't been running for a week (wisdom teeth extraction + a cold with fever), and oh boy do I miss it. 020
Christoph Lupprich @christoph.luppri.ch · 10/10/2025Now 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.easyhard.carbonative.comEasy Hard | LoginTrack your running intensity and master the 80/20 rule. Train smarter with data-driven insights into your easy vs. hard efforts. 131
Christoph Lupprich @christoph.luppri.ch · 08/10/2025I declare today a national holiday in my household: Garmin finally gave me back that 1pt VO2max it stole during winter. #devswhorun 030
Reposted by Christoph LupprichJon Rowe @jonrowe.bsky.social · 12/08/2025Hey 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. 11114
Christoph Lupprich @christoph.luppri.ch · 06/10/2025Just discovered github.com/mixxorz/DSLR, which is a successor of stellar (which I previously used). Makes snapshotting your Postgres database ridiculously easy.github.comGitHub - mixxorz/DSLR: Take lightning fast snapshots of your local Postgres databases.Take lightning fast snapshots of your local Postgres databases. - mixxorz/DSLR 040
Christoph Lupprich @christoph.luppri.ch · 03/10/2025By 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? 010
Christoph Lupprich @christoph.luppri.ch · 03/10/2025Although 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? 020
Christoph Lupprich @christoph.luppri.ch · 26/09/2025My 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 231
Christoph Lupprich @christoph.luppri.ch · 12/09/2025Had 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! ❤️ 093
Christoph Lupprich @christoph.luppri.ch · 09/09/2025On my way to @friendlyrb.com - looking forward to see familiar faces and meet new ones! 030
Christoph Lupprich @christoph.luppri.ch · 06/09/2025When I first started with Rails, I was blown away: helpful error pages in development, effortless migrations, a schema.rb file, clean logging… it all felt like magic. Over time, that magic faded - not because Rails got worse, but because I got used to it. I started taking it for granted. 230
Christoph Lupprich @christoph.luppri.ch · 29/08/2025Today is my last day at the company I’ve contracted with for the past 11 years. I never thought I’d stay this long, and I’m amazed at how much we’ve accomplished together. The best part? It’s not bittersweet - I’m genuinely excited for what comes next. 030
Christoph Lupprich @christoph.luppri.ch · 28/08/2025LinkedIn can't do message drafts? My world is shattered. Where is all the money going? 010
Christoph Lupprich @christoph.luppri.ch · 27/08/2025In the past year, one of the more amusing debugging experiences I encountered involved what appeared to be a race condition. I'll save the specifics for a later blog entry, but TIL that until Rails version 4.2.x, the reload method in Active Record did not bypass the query cache. 😬 100
Christoph Lupprich @christoph.luppri.ch · 26/08/2025I have mixed feelings about Python, but I enjoyed using UV - an all-in-one solution in a fragmented ecosystem. Excited to see a similar tool starting for Ruby: github.com/spinel-coop/rvgithub.comGitHub - spinel-coop/rv: 💎💨 Next-gen very fast Ruby tooling💎💨 Next-gen very fast Ruby tooling. Contribute to spinel-coop/rv development by creating an account on GitHub. 010
Christoph Lupprich @christoph.luppri.ch · 25/08/2025TIL: git commit --fixup <SHA> (You don't wanna know about my previous workflow, haha) 000
Christoph Lupprich @christoph.luppri.ch · 24/08/2025Finally submitted my little running app to Strava for review 🤞 010
Christoph Lupprich @christoph.luppri.ch · 14/08/2025Good news: I’m available for contract work! 10+ yrs building full-stack web applications (Rails + Vue, exploring Elixir). Experienced in global remote teams. Love solving complex business problems, scaling systems & debugging tricky issues. DM me if you need a seasoned #RubyOnRails engineer! 031
Christoph Lupprich @christoph.luppri.ch · 05/08/2025Been diving into Python land a bit lately and I was wondering if anyone is seeing performance issues running FastAPI on Cloud Run? We’re literally serving a single endpoint with not much traffic (1rps), but our P99 is 30x the P50 (600ms vs 20ms). 100
Christoph Lupprich @christoph.luppri.ch · 04/08/2025Almost missed that my all-time favorite podcast is out with a new series about the history of the Space Shuttle: www.bbc.co.uk/programmes/p...bbc.co.ukBBC World Service - 13 Minutes Presents: The Space Shuttle, Season 3: The Space ShuttleThe space shuttle: A sci-fi dream that became reality and changed spaceflight forever 000
Christoph Lupprich @christoph.luppri.ch · 02/08/2025Wrapped up a perfect running week with a solid 16k long run. Time to earn that sleep-in tomorrow 😴 110
Christoph Lupprich @christoph.luppri.ch · 02/08/2025At this point I thought we‘ve seen it all, but he‘s still up for a surprise every now and then. This is ridiculous. www.nytimes.com/2025/08/01/b...nytimes.comTrump, Claiming Weak Jobs Numbers Were ‘Rigged,’ Fires Labor Official 000
Christoph Lupprich @christoph.luppri.ch · 26/07/2025Saw @nateberkopec.bsky.social mention it in his latest newsletter (highly recommend subscribing!): bin/setup - yet another tiny Rails feature that’s so useful. Sure, you can add a setup script to any project, regardless of framework or language. But having it there by default? That's the real win. 010
Christoph Lupprich @christoph.luppri.ch · 09/07/2025Skipping the draft about Python, Async IO, and library support - it’s… complicated. In every direction. Instead: Ruby and Rails ❤️ 010
Christoph Lupprich @christoph.luppri.ch · 07/07/2025The newest Authy update from Twilio either removed some logos or the title from my configured accounts (I don't remember what was there). That basically draws the overview page useless for me, all I see is the same email address. Any suggestions for a great 2FA app on iOS? 100
Christoph Lupprich @christoph.luppri.ch · 05/07/2025Migrated a Rails app running on DigitalOcean (with Kamal) to Heroku the other day. In the end it wasn't cheaper, because I never figured out how to prune the image registry. Had a little bit of issues getting SolidQueue up and running, but a couple of `db:*` tasks fixed that in the end… 010
Christoph Lupprich @christoph.luppri.ch · 03/07/2025If you're still on a Rails 3 app, be aware that `ActiveRecord::Base.reload` does not bypass or clear the query cache, see github.com/rails/rails/.... Ask me how I know 😅 000
Christoph Lupprich @christoph.luppri.ch · 27/06/2025Just got back from a month-long holiday in Sweden — the cultural and climate shock couldn’t be more extreme. Might need a holiday to recover from the holiday 😅 000
Christoph Lupprich @christoph.luppri.ch · 11/03/2025One of my lecturers at university always said that if you know the default timeouts of different components in a network stack, you basically know what's going wrong. Was reminded of that today when I hit an issue in my #ElixirLang #Nerves application where the Phoenix server wouldn't start: 120
Reposted by Christoph LupprichKen Schultz @kschultz.bsky.social · 08/03/2025Turns out that some people didn’t object to lists of banned words. They just wanted to make the list. 67598198
Christoph Lupprich @christoph.luppri.ch · 25/02/2025Working with most languages, it always surprises me how bad their standard library is. If I need more than two lines of code to recursively transform the keys of a hash/map, I'm kind of no longer interested? Libraries/packages don't count, cause that's just pushing the headeach down the road. 010
Christoph Lupprich @christoph.luppri.ch · 29/01/2025Woke up extra early this morning for… intervals! I’m just happy that nobody sees me at that hour; otherwise, I’d feel a little stupid running the same stretch of road 11 times. #devswhorun 020
Christoph Lupprich @christoph.luppri.ch · 28/01/2025It‘s a little stupid, but I feel kind of proud when it‘s 7am and I‘ve reached my step goal for the day. #devswhorun 000