RSSAmplifier

Blog

Ayaan's Blog

Tinkering with scalable systems, high performance APIs and bots. Mildly obsessed with aircrafts.

obviy.usRSS feed ↗40 posts

Latest posts

The Wrong Layer

A leak doesn't come from the app where you finally see it. India blacked out Telegram to chase one anyway.

Optimizing Anthropic's VLIW SIMD Assignment

I started this on a quiet evening, thinking 'I'll just poke at it for an hour.'

The Vigilance Tax

On the accumulated cost of living somewhere that demands constant suspicion.

The 2025 Retrospective

La rétrospective annuelle.

161 km/h on India's First Regional Rapid Transit

Taking the Delhi-Meerut RRTS and feeling like I'm in a different country.

My Claude Code YOLO Setup

Dockerizing --dangerously-skip-permissions so you can let Claude LLM cook.

Fastest multi-arch Docker builds on Github Actions

Using Github's new hosted arm64 runners to make multi-arch Docker builds actually fast.

Debugging a Cloudflare Routing Blackhole

When hop 5 is full of asterisks: tracing a hung Cloudflare-proxied host to an ISP peering blackhole, and giving up on the orange cloud.

Migrating GOTM from MySQL to Turso

Notes from moving GOTM's voting database from MySQL to Turso after PlanetScale killed its hobby tier: ENUMs, timestamps, and one .env incident.

Ranked Choice Voting for Game of the Month

Building the voting site for the patient gamers Discord server

DIY plane spotting at home with a Raspberry Pi

Building a plane spotting system with a Raspberry Pi and an old Android phone

The 2024 Retrospective

La rétrospective annuelle.

Running Remix with Bun

Swapping Remix's Node server for Bun.serve: a small server.ts, static file handling, and no benchmarks. bun install is just fast.

iOS 18's vehicle motion cues really work

How the new Vehicle Motion Cues feature helps me with motion sickness

Using a Pico W for wake-on-LAN... Remotely

Wake-on-LAN needs layer 2 and Tailscale stops at layer 3, so a ₹539 Pico W and an MQTT broker now wake my gaming PC from anywhere.

To sshfs or to rclone mount?

A totally non-scientific comparison of sshfs and rclone-mount for mounting remote filesystems

The 2024 edition of How I deploy my Telegram bot

Using semantic release, Docker and k3s to deploy my Python Telegram bot.

The 2023 Retrospective

La rétrospective annuelle.

What does HN love about HN?

Running sentiment analysis over HN's 250 most-upvoted comments about HN, to see how often the middlebrow dismissal applies to itself.

Plotting taxi fares for fun and profit (?)

Running some scripts to plot the fares of taxi rides in Hyderabad and Bangalore.

The 2022 Retrospective

La rétrospective annuelle.

10x faster arm64 builds on Github Actions

A simple one-liner mix of Github's managed runners for x86 and a self-hosted runner for arm64.

Making Cloudfront Signed URLs work with response-content-disposition

A workaround for the Node.js AWS SDK to make Cloudfront Signed URLs work with response-content-disposition.

Are MySQL UUID inserts really that slow?

Exploring insert performance of UUIDs in MySQL in a worst-case scenario.

How I deploy my ~4,000 MAU Python Telegram bot

Using semantic release, Docker and watchtower to deploy my Python Telegram bot.

Cross-compiling Rust on GitHub Actions

Cross-compiling HamVerBot for Oracle's Ampere machines: cross freezing at 400% CPU, an OpenSSL pkg-config failure, and the vendored fix.

Learning French (efficiently) 🇫🇷

My progress, methods and timelines of learn French efficiently.

Working with HEIC/F images with Node.js' sharp on AWS Lambda

Compiling libjpeg, libde265, libheif, libvips and sharp to process HEIC/F images in AWS Lambda using layers.

Bucket List

This is a living, ambitious (perhaps too much), and certainly incomplete list.

The 2021 retrospective

The annual retrospective of 2021

The Piquarium Project

Building a fish tank monitoring system using serverless databases and a Raspberry Pi B+ 🍇

How to automate GitHub releases using GitHub Actions

Using GitHub Actions to push new releases without manually tagging commits.

Experiments with Time Tracking - 2020 Edition

Continuing my experiments with time tracking, this time the year 2020.

GSoC 2020 @ CERN - Part I

Community bonding and the first evaluation of GSoC 2020 at CERN: onboarding into ALICE's O2 tooling and building walnut, a workflow linting utility.

GSoC 2020 @ CERN - Part II

Wrapping up GSoC 2020 at CERN: a DPL-dump-to-template converter, YAML marshaling pain, and 19 pull requests over 90 days.

GSoC 2020 @ CERN - Part 0

Parts of the process before applying including shortlisting projects, reading and choosing what to work on.

My Experience with GSoC 2020

A 3 part series on my experience with Google Summer of Code 2020 CERN

Interpreting Computer Programs

Working my way through and solving exercises from Structure and Interpretation of Computer Programs

Experiments with Time Tracking

Rudimentary time tracking with a Google Sheets template and a Sankey diagram: thirty seconds a day of guesstimating where the year went.

Astrophotography at the Edge of Tibet

Doing some (amateur) astrophotography in Sangla at the edge of Tibet.