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…
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…
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…
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…
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…
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…
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…
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…
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…
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…
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,…
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…
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…
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…
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…
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.…
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…