Writing on things I've built, broken, and learned from
- PostMy contributions to the 'chai article'
How I make nun chai at home
- PostNixOS and Ente on Hetzner
My experience installing NixOS on a cheap Hetzner VPS and hosting Ente on it using Docker Compose
- PostMy attempts to use a CMS in 2026
CMS' are difficult to get right and all my clients want a WYSIWYG
- PostAuthorization is still quite broken
Modelling permissions in OpenFGA and why check() isn't enough
- PostHot takes from IndieWebClub in the absence of Tanvi
Fifteen contrarian opinions about writing
- PostMarkdown is actually not _that_ extensible
Where Markdown's HTML/directive hybrids fall apart
- PostGenerating my resume programmatically
Moving from LaTeX to typst for my resume
- PostMusic at hack4play with strudel.cc
Workshop notes from Kochi Bienalle's Forplay Society programme
- PostA weeknote because Tanvi is scary - II
Workshops, an SMTP client in a Cloudflare Worker, and being tired
- PostBacking up my Obsidian store and open-sourcing my website
Restic on local and Cloudflare R2
- PostA conversation about Chancenkarte
Notes from a colleague who moved to Germany on a Chancenkarte
- PostA nice thing a stranger has done for me
A song lyric that gave me a reason to keep going
- PostA weeknote because Tanvi is scary
Finishing a course, switching to swaywm, and losing a friend
- PostAll my download metrics in one place
Trying to find a single view of package download stats across registries
- PostPROGA and how to "protect" consumers
Prohibition over regulation in India's online gaming ban
- PostA case for regulator-backed open-source tools
India's DPDPA needs open-source compliance tooling, not just rules
- PostThe trash that is NextJS
On why the App Router makes Next.js unusable for a real SPA
- PostMusic at IndiaFOSS with strudel.cc
My notes about an impromptu live coding music performance at IndiaFOSS 2025
- PostA new set of ambigrams
I made these for friends and stamps
- PostMigrating from Notion to Obsidian
My journey migrating my knowledge base from Notion to Obsidian
- PostCubic bezier curves, SVGs, and tone.js
Sound generation that could very well have been a random number generator
- PostNotion as a bookmarks app
Using Notion as a powerful bookmarks manager and CMS
- PostI got PSM-I Certified
On getting Scrum certified and what it actually took
- PostOpenAPI documentation and string templating
One of the ways not to write a documentation builder
- PostAn ambrigram of my name
The process of creating a symbol for my name
- PostOrdering food in flights
Navigating UX design for an airline meal service
- PostAll the ambigrams in my notebooks
A collection of hand-drawn ambigrams from personal notebooks
A digital library of media I've consumed and recommend
- RepostA static site generator for audio producers.faircamp.org
- RepostMIDI, RTP-MIDI, and OSC Explained for Web Developersasepbagja.substack.com
- RepostYuck Leopardwww.fromjason.xyz
- RepostHow Software Bugs led to ‘One of the Greatest Miscarriages of Justice’ in British Historycacm.acm.org
- Reposthotscriptgithub.com
- RepostThere Are No Instances in atprotooverreacted.io
- RepostGenerative UI - LLMs are Effective UI Generatorsarxiv.org
- RepostFree Is a Debt, Deferredmasoomiyat.substack.com
- Repostrepowisegithub.com
- RepostHyperblamhyperblam.how
- RepostNo Effort is Wastedwww.youtube.com
- RepostMitos ASCIImitos.shared.oxide.computer
- RepostPacapaca-ai.org
- RepostHarness engineering for coding agent usersmartinfowler.com
- Repostcerseigithub.com
- Repostikiwikiikiwiki.info
- RepostHow Diamonds are Madediamond.jaydip.me
- RepostMechanical Pencilmechanical-pencil.com
- RepostOn Google declaring war on the Webtante.cc
- RepostNot all TLDs are Created Equalwww.hezmatt.org
- RepostP4LETTEp4lette.app
- RepostProject Cambriawww.inkandswitch.com
- Repostboneyard - skeleton screens for your UIboneyard.vercel.app
- Repostheerich.jsmeodai.github.io
- RepostDo I belong in tech anymoreky.fyi
- RepostCSS or BSwww.keithcirkel.co.uk
- RepostMaking content-aware components using CSS has(), grid, and quantity queriespiccalil.li
- RepostGraphite.artgraphite.art
- RepostMorale — LessWrongwww.lesswrong.com
- Repostopenscreengithub.com
- RepostThe Persistence of Decaywww.youtube.com
- Repostdns - Can top level domains disappear if countries cease to existsuperuser.com
- RepostWhat are OKLCH colorsjakub.kr
- RepostThe Startup Graveyardloot-drop.vercel.app
- RepostColor for the Color-challengedferdychristant.com
- RepostDithering - Part 1visualrambling.space
- RepostSandDancemicrosoft.github.io
- RepostHomemade bioplastic eggshell bowlwww.youtube.com
- RepostTufte CSSedwardtufte.github.io
- RepostDark Mode by Local Sunlightwww.ctnicholas.dev
- RepostYour URL Is Your Statealfy.blog
- RepostNaN, the not-a-number number that isn’t NaNpiccalil.li
- RepostYạḍ Dōdwww.hammockmag.com
- RepostVisualizing algorithms for rate limitingnews.ycombinator.com
- RepostSunk costs business failures from the Titanic to Evergrandewww.economist.com
- Repostlast seen online by qwook, sochinstudioqwook.itch.io
- RepostNo, you don't want to hire the best engineerswww.otherbranch.com
- RepostGraphvizgraphviz.org
- RepostHosting a WebSite on a Disposable Vape BogdanTheGeek's Blogewaste.fka.wtf
- Repostpuckeditorpuck The visual editor for Reactgithub.com
- Repostkibogithub.com
- RepostDesigning accessible color systemsstripe.com
- RepostInside the shop of a flute maker.www.youtube.com
- RepostEvery Mother Visits But Minegreaterkashmir.com
- Repost2-Way and K-Way Mergingwww.baeldung.com
- RepostAs sweet as razor blade honeysashachapin.substack.com
There’s an oppositional quality to this relationship with discomfort. You are looking for the appropriate exchange rate, implicitly demanding that every setback or humiliation should teach you enough to be worth it. There can be a feeling of coldly dutiful tourism to this way of approaching discomfort, like you’re taking a stinky tour bus in a humid foreign nation, and hating every moment of it, but telling yourself it’s okay because you will be wiser after taking in the ruin.
- Reposteasingseasings.co
- RepostGreat Animationsemilkowal.ski
- RepostHow to Write Compelling Software Release Announcementsrefactoringenglish.com
- RepostSidebar animation performancewww.joshuawootonn.com
- RepostThe short seller who bet on a Minecraft financial crisis – DC Shortyoutube.com
- RepostSeriously, stop using RSAblog.trailofbits.com
- RepostAmbient Co-presencemaggieappleton.com
- RepostWhat football will look like in the futurewww.sbnation.com
- RepostCreationwww.byran.ee
- RepostFor Algorithms, a Little Memory Outweighs a Lot of Timewww.quantamagazine.org
- RepostThe EngineerManager Pendulumcharity.wtf
- RepostRampen Saumeodai.github.io
- RepostScaling One Million Checkboxes to 650,000,000 checkseieio.games
- Repost4-20 Time Signaturesyoutube.com
- RepostDeploy code faster- with CI-CD and Kubernetescloud.google.com
- RepostForward Mode Automatic Differentiationyoutube.com
- RepostHow to professionally sayhowtoprofessionallysay.akashrajpurohit.com
- RepostCheckpoint — Áron Filkey & Joss Fongyoutube.com
- Repostdiyr speakerdiyr.dev
- RepostHow To Remember Everything You Codeyoutube.com
- RepostAttacking UNIX Systems via CUPS, Part Iwww.evilsocket.net
- RepostMicroservices Gone Wrong at DoorDashyoutube.com
- RepostBuilding multi-tenant authorization system for B2B SaaS in Go using Permifyone2n.io
- RepostSmall Datayoutube.com
- RepostThe Fundamentals Of Soundyoutube.com
- RepostUnderstanding the 6-8 Time Signature with Interactive Examplesmuted.io
- RepostTiktok's enshittificationpluralistic.net
- Repostenterprise-addgithub.com
- RepostSchedule Sortgithub.com
- RepostYou Must Read At Least One Book To Rideludic.mataroa.blog
- RepostThe Pentium FDIV bug, reverse-engineered Hacker Newsnews.ycombinator.com
- RepostAI Copyright Claimed My Last Videoyoutube.com
- RepostBypassing regulatory locks, Faraday cages and upgrading your hearinglagrangepoint.substack.com
- RepostI Don't Want to be a Founder and I Don't Think You Do Eitherkipp.ly
- RepostThe Disappearance of an Internet Domainevery.to
- RepostHyrum's Law in Golang - Abenezer Belachewabenezer.org
- RepostCommitting War-Crimes with the Spotify APIyoutube.com
- RepostCreating a type scale in Tailwind CSSwww.subframe.com
- RepostMeth and Factorioyoutube.com
- Reposttaking my keyboard to workyoutube.com
- RepostOn These Questions, Smarter People Do Worseyoutube.com
- RepostLinux Removes Russian Maintainersyoutube.com
- RepostThe WordPress ecosystem has lost its mind…youtube.com
- RepostGoogle LLC v. Oracle America, Incen.wikipedia.org
- RepostThen Next Comesyoutube.com
- RepostWhy does man print gimme gimme gimme at 00-30unix.stackexchange.com
- RepostZero Credibility Slava Akhmechetweb.archive.org
- RepostI used to hate QR codes. But they're actually geniusyoutube.com
- RepostDebunking Davosyoutube.com
- RepostI spent six months rewriting everything in Rustyoutube.com
- RepostHardware- TPM modulepaolozaino.wordpress.com
- RepostWhat's inside the QR code menu at this cafe - by peabeeweb.archive.org
- RepostExposing The Flaw In Our Phone Systemyoutube.com
- RepostWhy Democracy Is Mathematically Impossibleyoutube.com
- RepostInfrared Laser Can Spy on Your Laptop’s Keystrokeswww.wired.com
- RepostThe case of the 500-mile emailwww.ibiblio.org
- RepostDon’t ask to ask, just askdontasktoask.com
- RepostXY problemxyproblem.info
- RepostTrust as a bottleneck to growing teams quicklywww.benkuhn.net
- RepostThe Case for Intellectual Lonelinessemilykuret.medium.com
- RepostDev Deletes Entire Production Database, Chaos Ensuesyoutube.com
- RepostHow GitHub's Database Self-Destructed in 43 Secondsyoutube.com
- Repostcrowdstrike accidentally destroys 8,000,000 computers (banks, hospitals, airports)youtube.com
- RepostBug compatibilityen.wikipedia.org
- RepostI Will Fucking Piledrive You If You Mention AI Againludic.mataroa.blog
- RepostThe Twelve-Factor App12factor.net
- RepostA beginner’s guide to Read and Write Skew phenomenavladmihalcea.com
- RepostLearning OpenTelemetrylearningopentelemetry.com
- Repostoom_pardon, aka don't kill my xlocklwn.net
- RepostThe problem with lying is keeping track of all the liesnews.ycombinator.com
- RepostWhy, after 6 years, I’m over GraphQLbessey.dev
- RepostHow a single ChatGPT mistake cost us $10,000+web.archive.org
- RepostThe Two of Three Rule - Stonecharioteerstonecharioteer.com
- RepostReact Compiler- In-Depth Beyond React Conf 2024youtube.com
- RepostMerging Remix and React Routerremix.run
- RepostTmux has forever changed the way I write codeyoutube.com
- RepostThe best (and worst) types for storing money in PostgreSQLyoutube.com
- RepostDifference between Apache parquet and arrowstackoverflow.com
- RepostNode.js- The Documentaryyoutube.com
- Repost3 Chars - 20x Perf Improvementyoutube.com
- RepostHow a Leap Day Took Down Microsoftyoutube.com
- RepostKind of annoyed at Reactblog.cassidoo.co
- RepostMigrating from Zod to Valibot- A Comparative Experiencemwskwong.com
- RepostImproving API error responses with the Result patternraygun.com
C# can be quite inflexible when trying to reuse code, primarily running into limitations with the type system which, disappointingly, are circumvented by the community using reflection.
- RepostWhy you should stop doing code reviews!vgallet.github.io
- RepostIn Defense of Not-Invented-Here Syndromewww.joelonsoftware.com
- RepostReadme driven developmenttom.preston-werner.com
- RepostEverything I know about the XZ backdoorboehs.org
- RepostTiny Content Frameworkgist.github.com
- RepostAn Illustrated Proof of the CAP Theoremmwhittaker.github.io
- RepostReviewing EVERY Samsung Galaxy S Ever!youtube.com
This reminded me of the time I wiped the /efs partition on a Galaxy S i9000 while messing around with ClockworkMod.
- RepostSmall Phones are Dead and We Killed Themyoutube.com
- RepostReality of Frontend Developersyoutube.com
- RepostSentinel valueen.wikipedia.org
We see these all over the place, I’ve even seen them being implemented incorrectly. Thankfully, knowing more about what these flags are called will help me implement them better in the future.
- RepostDiffie Hellman - the Mathematics bityoutube.com
- RepostHow to be differentyoutube.com
deviation from the norm will be punished unless exploitable
- RepostA Personal Interfaceboz.com
- RepostTraits I Valueboz.com
- RepostHow to design your company for speednewsletter.posthog.com
- RepostEveryone has JavaScript, rightwww.kryogenix.org
- RepostThe fastest-growing countries for software development, according to GitHubrestofworld.org
Is more public developer activity a leading or trailing indicator for other kinds of development?” he said, reframing the question. “It might be leading for some and trailing for others.
- RepostGive Up Soonerblog.boot.dev
- RepostThe Toxic Business of 2023youtube.com
- RepostSoftware Engineering- The Soft Parts – Addy Osmaniaddyosmani.com
- RepostDear Functional Brosyoutube.com
The GATE CSE exam often asks you to select an equivalent recursive function to a procedural one. This video taught me why these conversions are significant.
- RepostProgress Barsyoutube.com
- RepostWe fired our top talent. Best decision we ever madefreecodecamp.org
- Repostepoll- The API that powers the modern internetdarkcoding.net
- RepostInside .gitjvns.ca
- RepostThe Outsider – Albert Camusen.wikipedia.org
The foreword.
- Repost4 billion if statementsandreasjhkarlsson.github.io
computers are magical so who knows what is going on
- Repostconst fn- Pure Functions in Rustyoutube.com
- RepostDear neighbourfiftytwo.in
- RepostIs Laufey jazzyoutube.com
- RepostHTML & CSS for a One-Time Password Inputchriscoyier.net
The one-time password input has always bugged me. I’ve seen too many websites get it wrong due to custom logic they have written around 4 or 6 separate inputs.
- RepostHTML- The Bad Partswww.htmhell.dev
If you’ve ever tried to build Web Components or write semantic HTML, you will find something to relate to in this article.
- RepostSeriously, Don’t Use Icon Fontscloudfour.com
I really like how the Material Symbols variable fonts work with transitions but the author has a point, icon fonts are just bad.
- RepostWhat you can learn from how GitHub and GitLab use feature flagsposthog.com
- RepostWork is workcodahale.com
Companies are groups of people being compensated for having to spend some of their finite lifetimes not being with their partners, children, pets, or super weird hobbies. They deserve to be members of organizations which honor that time by ensuring that their work has value and meaning. There is no mathematical model to guide us to that goal.
- RepostDexIdPdexidp.io
- RepostDrawing gardendrawing.garden
- Reposthalfmoonwww.gethalfmoon.com
- Repostvisxairbnb.io
- RepostRefactoring UIwww.refactoringui.com
- RepostZero-config type safetysvelte.dev
- RepostTransport Layer Securityyoutube.com
- RepostWhy I Use Astroflaviocopes.com
touché
- RepostHow to embrace asynchronous communication for remote workhandbook.gitlab.com
My team and I have been feeling synchronous communication eating into our time and the GitLab playbook serves as a comprehensive guide on how to do async.
- RepostThe anatomy of shadcn-uimanupa.dev
- RepostWhat’s with all of the references to “dude” in the accessibility header filesdevblogs.microsoft.com
- RepostWhat’s The Best Way To Heat A Tent With A Laptophackaday.com