RSSAmplifier

Blog

CodeJam

Hey, I’m Val, welcome to my blog!

codejam.infoRSS feed ↗20 posts

Latest posts

Using Firestore JS client SDK as an admin client (bypass rules)

Just so we’re clear, this is not a security vulnerability. This blog post goes through an undocumented option in the firebase/firestore JS client SDK that allows to use it as an admin client (skipping firestore.rules ) just like firebase-admin/firestore would do. Spoiler on the next section: this is especially useful for using inside Cloudflare Workers and Tauri apps . In this post: Why not use…

Generate subtitles for audio/video on Mac

I started posting daily on X , including, sometimes, videos. And it turns out X isn’t able to automatically generate captions for the video like other platforms do. They do give the option to upload a SRT file though. Since I want to keep things minimal I’m gonna use that option, as I don’t want to get down the rabbit hole of burning stylized captions in the video itself like you see all over…

LG UltraFine 4K display randomly flickering

TLDR Plug an external power adapter instead of relying on the monitor to power the laptop (if using with a laptop). Play a LCD screen burn-in fix video full screen for a few hours. Context I have a LG UltraFine 4K monitor (24MD4KLB-B, the one made in partnership with Apple in 2019 for deep macOS integration). This year it randomly started flickering. Literally once second it was OK, and the next…

How much is Composer 2.5 subsidized in Cursor?

TLDR According to my own usage, 10x. If you need more than 10% extra usage from the Pro plan, don’t use on-demand pricing, get a second Pro plan. If you need more than 10% extra of that second one, get Pro+. In this post: What I think of Composer 2.5 Composer 2.5 vs. Composer 2.5 (Fast) vs. Auto What happens when you run out of “Auto + Composer” quota? How much inference do we get on the $20 Pro…

AWS S3 flaky 403 on HEAD after upload

TLDR HEAD flaky? Use GET with Range: bytes=0-0 instead. Context Had a wild bug with S3 recently. Let’s start with some context. I’m currently building Cloudmotion , a hosted Remotion Lambda. Remotion is the GOAT when it comes to making programmatic videos, and Remotion Lambda is the fastest way to render those videos in the cloud at scale. Cloudmotion is that but I deal with AWS so you don’t have…

xcrun stapler could not validate ticket, error 65

When publishing a macOS app, you need to go through code signing and “notarization” of the app and DMG file to avoid “unverified developer” warnings. This is well integrated in Xcode, and frameworks like Electron and Tauri also have direct support for this (see How to sign and notarize an Electron app and Tauri macOS code signing ). But the app I’m building, TZBar , is native (no Electron or…

Supabase with Colima: error from daemon docker.sock operation not supported

TLDR sudo ln -s ~/.colima/default/docker.sock /var/run/docker.sock export DOCKER_HOST= 'unix:///var/run/docker.sock' Context Working on a Supabase project, wanna run the whole stack locally using supabase start . Supabase local development environment is based on Docker containers, so we need a runtime for it. Docs mention Docker Desktop, Rancher Desktop, Podman and OrbStack. But I like…

Astro ESLint with pnpm 11: return outside of function

TLDR pnpm add -D @typescript-eslint/parser so eslint-plugin-astro picks it up instead of Espree. Mandatory for TypeScript, but also helps with things like early return in frontmatter even in plain JS. Context After upgrading to pnpm 11, ESLint started flagging every .astro page that returns early from the frontmatter: src/pages/login.astro 9:3 error Parsing error: 'return' outside of…

How to manually trigger Cloud Tasks in the Firebase emulator

How to manually publish messages to the Firebase Pub/Sub emulator

How to manually trigger Firebase Functions in the emulator

Comparing GPT-5.4, Opus 4.6, GLM-5.1, Kimi K2.5, MiMo V2 Pro and MiniMax M2.7

So listen, I was just trying to eject a drive and I ended up spending the day benchmarking LLMs. In a hurry? Jump to the results or the conclusion . Otherwise make some tea, relax and read on. It started with this error: Usually I just lsof /Volumes/Data and kill whatever is causing the issue (99% Spotlight or QuickLook). But you know what, I’m at the point where I need to renew my AI coding…

Cross-compiling a Tauri app for x86-64 Linux from an ARM Mac (no emulation ⚡️)

Context: I’m building an app called Flame with Tauri , and I work from a M-series Mac. We initially released it only on Mac as a MVP. Some folks on Reddit showed interest but were on Windows and Linux. I’m pretty eager to get more hands on the product in those early stages, to gather feedback and learn from users where to take it from there, so making it cross platform early on sounded like a…

Run Astro middleware in front of static pages (Cloudflare Workers)

Update: Astro v6, v7 and @astrojs/cloudflare v13 and v14 simplify a few things described below. See Astro v6 and Astro v7 ! Astro allows to prerender pages as static assets, so everything is compiled at build time and can be served super quick. But also, Astro has the concept of a middleware, that allows to run custom logic in front of every request, which can be handy for things like auth,…

Cloudflare Workers choke on asdf .tool-versions

So you have a project you want to deploy to Cloudflare Workers, and you happen to have a .tool-versions file to describe your dependencies, even just a simple one like: nodejs 24.13.1 Then your Cloudflare deploy fails with: Initializing build environment... Success: Finished initializing build environment Cloning repository... Found a .tool-versions file in repository root. Installing…

The next chapter

Just over two years since the last update . Time flies, heh? Squamish I’m well settled in Squamish now. Two years already! As an introvert and working remote, it was a bit of a slow start rebuilding social circles from scratch. It really takes being intentional about it. Facebook groups and the Oak app are pretty sweet, and believe it or not, talking to strangers IRL also works! The good thing is…

macOS app showing scrollbars to some users only

TLDR macOS has a setting where it shows fixed scrollbars to people using a mouse, while people using a trackpad have tiny “floating” scrollbars that are entirely hidden when not actively scrolling. You can find it in Appearance > Show scroll bars and either force it to always on or always off (or keep it auto). Story time While developing a macOS app (in my case with Electron, although this…

GitHub Action hanging on Electron macOS app code signing

There’s quite a bunch of resources about how to set up macOS app code signing on GitHub Actions: Signing Electron apps with GitHub Actions Installing an Apple certificate on macOS runners for Xcode development Setting up hosted macOS GitHub Actions workflows for Electron builds But what to do if your GitHub workflow just hangs forever at the Electron signing step? This appears to be a symptom of…

USB iPhone screen recording in Swift

When you plug in an iPhone to a Mac via USB, QuickTime allows you to select the iPhone screen as a video recording source. This is neat, but what if you want to do do the same thing from your own app? I’ve had to do this recently, so this blog post will compile everything I learnt about and especially the undocumented quirks I encountered and worked around.…

Turborepo: don’t buffer logs on GitHub Actions

When using turbo run inside a GitHub workflow, Turborepo buffers the logs by package so it’s all neatly sorted in the output. This is a nice feature when you’re looking at the logs after a run is completed. However when you’re trying to debug a timing-based issue live , this makes it really annoying because the logs are buffered the entire time the process runs and only spit out at the end! And…