41554 blogs · [ { "id": "01a0b68b-4ccc-726b-b009-482806ed5702", "title": "Anirudh Oppiliappan", "url": "https://anirudh.fi", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad65489117", "title": "The strain in your brain", "url": "https://anirudh.fi/blog/strain", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad65fcff80", "title": "The founder box", "url": "https://anirudh.fi/blog/founderbox", "published_at": "2026-04-16T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad669e222e", "title": "Building for the future", "url": "https://anirudh.fi/blog/future", "published_at": "2025-10-27T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad67000028", "title": "atproto and ownership of identity", "url": "https://anirudh.fi/blog/identity", "published_at": "2025-01-18T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad677eb703", "title": "Push-based productivity", "url": "https://anirudh.fi/blog/push", "published_at": "2025-01-03T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6856b6f4", "title": "Being better", "url": "https://anirudh.fi/blog/better", "published_at": "2024-12-19T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad692a767f", "title": "I am moving to Finland", "url": "https://anirudh.fi/blog/finland", "published_at": "2023-01-18T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad696f0e6a", "title": "2022 in review", "url": "https://anirudh.fi/blog/2022-in-review", "published_at": "2023-01-14T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6973c230", "title": "Installing OpenBSD on Oracle Cloud", "url": "https://anirudh.fi/blog/openbsd-oci", "published_at": "2022-11-24T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad69d24f21", "title": "Unicode text input in ZMK", "url": "https://anirudh.fi/blog/zmk-unicode", "published_at": "2022-10-18T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6aba2ef0", "title": "The Logitech Ergo M575 trackball", "url": "https://anirudh.fi/blog/m575", "published_at": "2022-07-01T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6b5429c6", "title": "Honkin' on the Fly", "url": "https://anirudh.fi/blog/honk-fly", "published_at": "2022-05-25T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6b96a82e", "title": "The Asus ROG Flow X13", "url": "https://anirudh.fi/blog/flow-x13", "published_at": "2022-05-02T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6c854bc3", "title": "Cloud (F)OSS is a good model", "url": "https://anirudh.fi/blog/cloud-foss", "published_at": "2022-02-07T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6d2c125a", "title": "2021 in review", "url": "https://anirudh.fi/blog/2021-in-review", "published_at": "2022-01-10T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6d66ab57", "title": "Signal Desktop on OpenBSD via vmm(4)", "url": "https://anirudh.fi/blog/signal-vmm", "published_at": "2021-12-26T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6d678f1c", "title": "The quest to optimize productivity", "url": "https://anirudh.fi/blog/bujo", "published_at": "2021-11-04T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6dbd0e32", "title": "How I built forlater.email", "url": "https://anirudh.fi/blog/building-forlater", "published_at": "2021-09-25T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6de35645", "title": "Launching forlater.email", "url": "https://anirudh.fi/blog/forlater", "published_at": "2021-09-17T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6ecf6222", "title": "I can't take Formula E seriously", "url": "https://anirudh.fi/blog/formula-e", "published_at": "2021-08-16T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6fc2b981", "title": "Writing a shell prompt in Go", "url": "https://anirudh.fi/blog/go-shell-prompt", "published_at": "2021-08-12T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad6fd9ee23", "title": "Make cgit go gettable", "url": "https://anirudh.fi/blog/go-get-cgit", "published_at": "2021-07-14T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad70721c6e", "title": "Setting up a multi-arch Kubernetes cluster at home", "url": "https://anirudh.fi/blog/k8s-at-home", "published_at": "2021-06-19T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7169535b", "title": "Status update", "url": "https://anirudh.fi/blog/2021-05-10", "published_at": "2021-05-10T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad71e518de", "title": "Free software should not censor", "url": "https://anirudh.fi/blog/free-sw-censor", "published_at": "2021-04-07T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad724954fd", "title": "Configuring Neovim using Lua", "url": "https://anirudh.fi/blog/nvim-lua", "published_at": "2021-02-07T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7323a52b", "title": "We can do better than Signal", "url": "https://anirudh.fi/blog/signal", "published_at": "2021-01-17T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7357888d", "title": "What's next after WhatsApp?", "url": "https://anirudh.fi/blog/whatsapp", "published_at": "2021-01-08T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad73b445ef", "title": "2020 in review", "url": "https://anirudh.fi/blog/2020-in-review", "published_at": "2020-12-24T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad747349de", "title": "My music streaming setup", "url": "https://anirudh.fi/blog/music-streaming", "published_at": "2020-12-13T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad74789969", "title": "The Workman keyboard layout", "url": "https://anirudh.fi/blog/workman", "published_at": "2020-10-24T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad75490110", "title": "My submissions for r2wars 2020", "url": "https://anirudh.fi/blog/r2wars-2020", "published_at": "2020-09-13T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7632cd7d", "title": "Migrating from Mastodon to Pleroma", "url": "https://anirudh.fi/blog/mastodon-to-pleroma", "published_at": "2020-09-04T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad76fb7ac8", "title": "The Ducky One 2 SF", "url": "https://anirudh.fi/blog/ducky-one-2", "published_at": "2020-08-22T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad77730816", "title": "Some thoughts on Twitter", "url": "https://anirudh.fi/blog/twitter", "published_at": "2020-08-03T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad77c3fa9c", "title": "Status update", "url": "https://anirudh.fi/blog/2020-07-20", "published_at": "2020-07-20T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad77d9a8f9", "title": "Flask-JWT-Extended × Flask-Login", "url": "https://anirudh.fi/blog/flask-jwt-login", "published_at": "2020-06-24T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad78d12449", "title": "You don't need news", "url": "https://anirudh.fi/blog/dont-news", "published_at": "2020-06-21T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad78f7c935", "title": "Migrating to the RPi", "url": "https://anirudh.fi/blog/pi", "published_at": "2020-06-04T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad79f5d875", "title": "Site changes", "url": "https://anirudh.fi/blog/site-changes", "published_at": "2020-05-27T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7a5cb74b", "title": "The efficacy of deepfakes", "url": "https://anirudh.fi/blog/efficacy-deepfakes", "published_at": "2020-05-11T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7ad98edd", "title": "Simplicity (mostly) guarantees security", "url": "https://anirudh.fi/blog/simplicity-security", "published_at": "2020-05-07T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7b2bb5a7", "title": "The S-nail mail client", "url": "https://anirudh.fi/blog/s-nail", "published_at": "2020-05-06T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7b340c96", "title": "Stop joining mastodon.social", "url": "https://anirudh.fi/blog/mastodon-social", "published_at": "2020-05-05T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7b54dfcc", "title": "OpenBSD on the HP Envy 13", "url": "https://anirudh.fi/blog/openbsd-hp-envy", "published_at": "2020-04-17T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7c032fd6", "title": "The Zen of KISS Linux", "url": "https://anirudh.fi/blog/kiss-zen", "published_at": "2020-04-03T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7c43a2ca", "title": "Introducing mael", "url": "https://anirudh.fi/blog/mael", "published_at": "2020-03-29T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7c882d11", "title": "COVID-19 disinformation", "url": "https://anirudh.fi/blog/covid19-disinfo", "published_at": "2020-03-15T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7d385e91", "title": "Nullcon 2020", "url": "https://anirudh.fi/blog/nullcon-2020", "published_at": "2020-03-09T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7daa14fd", "title": "Setting up Prosody for XMPP", "url": "https://anirudh.fi/blog/prosody", "published_at": "2020-02-18T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7e8b58f8", "title": "Status update", "url": "https://anirudh.fi/blog/2020-01-18", "published_at": "2020-01-18T00:00:00+00:00" }, { "id": "01a0872a-c102-73f6-a397-76ad7f1d4aa5", "title": "Vimb: my Firefox replacement", "url": "https://anirudh.fi/blog/mnml-browsing", "published_at": "2020-01-16T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00dcda1bab", "title": "Five days in a TTY", "url": "https://anirudh.fi/blog/five-days-tty", "published_at": "2020-01-13T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00dd6522f0", "title": "2019 in review", "url": "https://anirudh.fi/blog/2019-in-review", "published_at": "2020-01-02T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00de5a45d8", "title": "Disinfo war: RU vs GB", "url": "https://anirudh.fi/blog/ru-vs-gb", "published_at": "2019-12-12T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00deb24e58", "title": "Instagram OPSEC", "url": "https://anirudh.fi/blog/ig-opsec", "published_at": "2019-12-02T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00df1fce82", "title": "Save .ORG!", "url": "https://anirudh.fi/blog/save-org", "published_at": "2019-11-23T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00df3c04b1", "title": "Status update", "url": "https://anirudh.fi/blog/2019-11-16", "published_at": "2019-11-16T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00df5dd404", "title": "IRC for DMs", "url": "https://anirudh.fi/blog/irc-for-dms", "published_at": "2019-11-03T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e0085ad7", "title": "The intelligence conundrum", "url": "https://anirudh.fi/blog/intel-conundrum", "published_at": "2019-10-28T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e0abce28", "title": "Hacky scripts", "url": "https://anirudh.fi/blog/hacky-scripts", "published_at": "2019-10-24T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e1448e53", "title": "Status update", "url": "https://anirudh.fi/blog/2019-10-17", "published_at": "2019-10-17T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e1c0bfa7", "title": "PyCon India 2019 wrap-up", "url": "https://anirudh.fi/blog/pycon-wrap-up", "published_at": "2019-10-15T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e272b9e5", "title": "Thoughts on digital minimalism", "url": "https://anirudh.fi/blog/digital-minimalism", "published_at": "2019-10-05T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e310a0c2", "title": "Status update", "url": "https://anirudh.fi/blog/2019-09-27", "published_at": "2019-09-27T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e37f009f", "title": "Status update", "url": "https://anirudh.fi/blog/2019-09-17", "published_at": "2019-09-17T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e44e301e", "title": "Disinformation demystified", "url": "https://anirudh.fi/blog/disinfo", "published_at": "2019-09-10T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e45a4fd7", "title": "Setting up my personal mailserver", "url": "https://anirudh.fi/blog/mailserver", "published_at": "2019-08-15T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e50b4db3", "title": "Picking the FB50 smart lock (CVE-2019-13143)", "url": "https://anirudh.fi/blog/fb50", "published_at": "2019-08-05T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e5db1e55", "title": "Return Oriented Programming on ARM (32-bit)", "url": "https://anirudh.fi/blog/rop-on-arm", "published_at": "2019-06-06T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e5efa8f8", "title": "My setup", "url": "https://anirudh.fi/blog/my-setup", "published_at": "2019-05-13T00:00:00+00:00" }, { "id": "01a0872a-c103-73ab-b46e-ef00e6d9d7d4", "title": "Python for Reverse Engineering", "url": "https://anirudh.fi/blog/python-for-re-1", "published_at": "2019-02-08T00:00:00+00:00" } ] posts Claim your blog
Back to Anirudh Oppiliappan
Blog · corpus.blog/blogs/anirudh.fi/posts

Anirudh Oppiliappan

anirudh.fi

2026

2025

2024

2023

2022

2021

2020

2019