„It depends“ as a service • 🚀 Engineering Manager @deskbirdapp • 👧🏼 Full stack dad • 🕹 Gamer • 📢 Meetup organizer

Joined November 2010
664 Photos and videos
Wrote up how I got 95 percent faster Prisma Postgres integration tests using a pattern common in other ecosystems but rare in JS. Each test runs in its own DB transaction. Full explanation: codepunkt.de/writing/blazing…
1
1
79
I sped up our Prisma Postgres integration tests by more than 95 percent using transaction-based isolation. Sped up 1400 tests from ~3 hours to ~160 seconds. Open source library: github.com/codepunkt/vitest-…
1
86
Christoph Werner retweeted
12 Nov 2024
🎉 After six incredible years at Framer, it’s time for my next step. Today, we’re spinning Framer Motion out into its own independent open-source project, to better serve the whole community. Introducing Motion. For React, and now, for everyone.
178
372
4,643
397,157
I've published a new blog post on how to successfully (and pragmatically) navigate Open Source License Compliance in the JavaScript Ecosystem! codepunkt.de/writing/open-so… Let me know if you have any questions or feedback. I’m always happy to chat!
208
Replying to @Netlify
@Netlify If edge functions are being used - can I set a hard monthly limit on payments? e.g. maximum 10 million edge functions on starter plan (max 18 USD), after limit is reached edge functions no longer get executed?
1
1
260
I've migrated my personal site to Astro and published a new blog post. It explains why I almost finished creating my own static site generator, Wilson, then abandoned it, and later decided to migrate codepunkt.de to Astro. codepunkt.de/writing/abandon…
1
213
@askryanair We have the CERES Fly Safe to secure our daughter (just turned 3) on flights, which is explicitly allowed on other airlines - but I haven't found anything about it on your website. I'd like an official answer in case of any problems with cabin crew.
2
1
566
Can we secure her with it to protect her from internal injuries in the unlikely event of severe turbulences?
2
409
Christoph Werner retweeted
7 Dec 2023
This gives me anxiety
7 Dec 2023
Piece of art
33
25
683
56,427
Christoph Werner retweeted
I thought when I worked at bigger tech companies it would be different. You are legit top 1% if you RTFM
This is my semi-regular encouragement to read the docs straight through. No one does it and it'll give you a massive advantage. You don't even have to remember everything! Having a broad understanding will help you dive deep on specifics as needed.
36
62
1,039
347,283
Christoph Werner retweeted
Sad to see Hacktoberfest move away from t-shirts. Just last week I had a conversation with someone about OSS based on my wearing the shirt from ~2017. I understand it, but still a bummer, especially on the 10th anniversary.
1
4
565
Christoph Werner retweeted
Kinda sad Hacktoberfest is no longer giving out t shirts :( I missed last year's T shirt and was dead set on getting one this year
1
2
386
Christoph Werner retweeted
Having a robust set of analytical and log management tools is a no-brainer to keep an eye on your apps. Here are 7 of the best in my toolkit that has saved me 100s of hours:
1
5
24
4,478
TLDR: Vite gud
As a fan of @storybookjs it is very tedious to wait for it to start. This is how I went from over 1 minute to less than 3 seconds to preview my @storybookjs in development. With the new performance wave coming from @bunjavascript I decided to upgrade my tooling, but I was unsuccessful in adopting Bun for a myriad of incompatibility. Asked around, everybody recommended giving @vite_js a try as a more mature alternative to Bun but still miles ahead of Webpack. This is where I started, 1.05 minutes, sometimes it was almost 2 minutes, this is my baseline to improve. I'm not very versed in Webpack, so there are probably many things to do, but my Webpack and Storybook Config were BLOATED and had a lot of repetition as I had to override many plugins. Not even gonna bother showing the config it was insane and huge. After learning the basics of @vite_js, and getting it running, I ended up with this config: It is tiny! The essentials sass modules plugin, that's already a win. ---- Storybook 7.4.2 for react-vite started 983 ms for manager and 25 s for preview --- It felt faster, 1/4th of the time it took Webpack but it was not enough. I still thought there was more to do; "vite serve" was instant; why wouldn't @storybookjs if I just have a few stories? Launching the app is monumentally more complex. After a while of reading performance issues in @storybookjs GitHub, I ended up tweaking the typescript config: It worked like magic! I ended up with 2.4-3.5s time-to-preview!!1! It makes total sense, @vite_js doesn't check TypeScript either, as it would hit performance. Honestly, it feels right, @code tsc on git hooks is enough to prevent pushing a type error or maybe running another process watching for tsc. I realised I do not want to pay the price of checking ts when launching anything. It is there to help me ship fewer bugs but should not prevent rendering or running anything, that should always be a different step otherwise it removes the magic of interpreted languages. That said, time-to-interaction is still greater than 3s (same with Webpack); When I navigate to Storybook, it takes a while until I see anything, a step to take another day; Ultimately I'm glad I understand a bit better @vitejs and @storybookjs to go from 1min to 3s time-to-previw, I went and applied the typescript config improvements to the Webpack config and just gained 5s, compared to 12s using Vite, whatever is happening under the hood, runs smoother with @vite_js. Thank you so much for reading my story ✨ hope it helps you in some way 🤝
1
291
Replying to @alexdotjs
@alexdotjs Couldn't find an example of how to set up @trpc/react-query using subscriptions. Did I miss it or is there no official example/docs on this?
1
332
Turns out it's quite effective to use websockets as refetch triggers in a dedicated websocket connection not managed via react-query as that doesn't have subscription support 😁
300
Christoph Werner retweeted
16 Jun 2023
React 19 using Typescript 6
77
569
5,708
649,871
Replying to @aslushnikov
@aslushnikov Hey Andrey! I'm trying to generate a very large page (~25 megs of raw HTML) as .pdf in @playwrightweb, but both waiting for load state 'networkidle' after setContent and creating the pdf itself take a _really_ long time
2
1
265
I'm also slightly confused as to why waiting for load state 'networkidle' would take that long as there's no external data, images or anything else being requested by the HTML set with setContent.
1
217
Replying to @zkochan
@zkochan Hey Zoltan! What's the easiest way of not installing a specific optional dependency of a dependency in latest PNPM?
4
498
peerDependenciesMeta obviously doesn't help either
323