···44subtitle: A brief on what happened last week
55date: 2019-09-17
66slug: 2019-09-17
77+atroot: true
78---
89910This is something new I'm trying out, in an effort to write more frequently
+1
pages/blog/2019-09-27.md
···44subtitle: Alpine Linux shenaningans and more
55date: 2019-09-27
66slug: 2019-09-27
77+atroot: true
78---
89910It's a lazy Friday afternoon here; yet another off day this week thanks to my
+1
pages/blog/2019-10-17.md
···11---
22template:
33+atroot: true
34title: Status update
45subtitle: Not weekly anymore, but was it ever?
56date: 2019-10-17
+1
pages/blog/2019-11-16.md
···11---
22template:
33+atroot: true
34title: Status update
45subtitle: Exams, stuff, etc.
56date: 2019-11-16
+1
pages/blog/2019-in-review.md
···11---
22template:
33+atroot: true
34title: 2019 in review
45subtitle: A look back at last year
56date: 2020-01-02
+1
pages/blog/2020-01-18.md
···11---
22template:
33+atroot: true
34title: Status update
45subtitle: New year…new stuff?
56date: 2020-01-18
+1
pages/blog/2020-07-20.md
···11---
22template:
33+atroot: true
34slug: 2020-07-20
45title: Status update
56subtitle: Things I've been up to, for the past month-ish
+1
pages/blog/2020-in-review.md
···11---
22template:
33+atroot: true
34slug: 2020-in-review
45title: 2020 in review
56subtitle: Oh boy, here we go
+1
pages/blog/2021-05-10.md
···11---
22template:
33+atroot: true
34slug: 2021-05-10
45title: Status update
56subtitle: A review of Q1 2021
+1
pages/blog/2021-in-review.md
···11---
22template:
33+atroot: true
34slug: 2021-in-review
45title: 2021 in review
56subtitle: The post-year ramble is here, slightly late this time
+1
pages/blog/2022-in-review.md
···11---
22template:
33+atroot: true
34slug: 2022-in-review
45title: 2022 in review
56subtitle: Late again because I was busy packing
+1
pages/blog/better.md
···11---
22template:
33+atroot: true
34slug: better
45title: Being better
56subtitle: My epistemic breakthrough to better living
+1
pages/blog/building-forlater.md
···11---
22template:
33+atroot: true
34slug: building-forlater
45title: How I built forlater.email
56subtitle: A technical breakdown of my first big side-project
+1
pages/blog/bujo.md
···11---
22template:
33+atroot: true
34slug: bujo
45title: The quest to optimize productivity
56subtitle: This blog is devolving into a techbro cliché
+1
pages/blog/cloud-foss.md
···11---
22template:
33+atroot: true
34slug: cloud-foss
45title: Cloud (F)OSS is a good model
56subtitle: On building (mostly) open source startups
+1
pages/blog/covid19-disinfo.md
···11---
22template:
33+atroot: true
34slug: covid19-disinfo
45title: COVID-19 disinformation
56subtitle: A lot of actors cashing in on the epidemic
+1
pages/blog/digital-minimalism.md
···11---
22template:
33+atroot: true
34title: Thoughts on digital minimalism
45subtitle: Put that screen down!
56date: 2019-10-05
···11---
22template:
33+atroot: true
34slug: dont-news
45title: You don't need news
56subtitle: My hot 'n' spicy take on "news" today
+1
pages/blog/ducky-one-2.md
···11---
22template:
33+atroot: true
34slug: ducky-one-2
45title: The Ducky One 2 SF
56subtitle: I fell for the mechanical keyboard meme
+1
pages/blog/efficacy-deepfakes.md
···11---
22template:
33+atroot: true
34slug: efficacy-deepfakes
45title: The efficacy of deepfakes
56subtitle: Can we really write it off as "not a threat"?
+1
pages/blog/fb50.md
···11---
22template: text.html
33+atroot: true
34title: Picking the FB50 smart lock (CVE-2019-13143)
45subtitle: … and lessons learnt in IoT security
56date: 2019-08-05
+1
pages/blog/finland.md
···11---
22template:
33+atroot: true
34slug: finland
45title: I am moving to Finland
56subtitle: This is what I was packing for
+1
pages/blog/five-days-tty.md
···11---
22template:
33+atroot: true
34title: Five days in a TTY
45slug: five-days-tty
56subtitle: I installed KISS Linux
+1
pages/blog/flask-jwt-login.md
···11---
22template:
33+atroot: true
34slug: flask-jwt-login
45title: Flask-JWT-Extended × Flask-Login
56subtitle: Apparently I do webshit now
+1
pages/blog/flow-x13.md
···11---
22template:
33+atroot: true
34slug: flow-x13
45title: The Asus ROG Flow X13
56subtitle: My hunt for a new laptop has finally concluded
+1
pages/blog/forlater.md
···11---
22template:
33+atroot: true
34slug: forlater
45title: Launching forlater.email
56subtitle: An email-based bookmarking service
+1
pages/blog/formula-e.md
···11---
22template:
33+atroot: true
34slug: formula-e
45title: I can't take Formula E seriously
56subtitle: Toy cars racing in parking lots
+1
pages/blog/free-sw-censor.md
···11---
22template:
33+atroot: true
34slug: free-sw-censor
45title: Free software should not censor
56subtitle: If you write free software, don't deny freedom zero
+1
pages/blog/go-get-cgit.md
···11---
22template:
33+atroot: true
34slug: go-get-cgit
45title: Make cgit go gettable
56subtitle: go get git.icyphox.sh/* works!
+1
pages/blog/go-shell-prompt.md
···11---
22template:
33+atroot: true
34slug: go-shell-prompt
45title: Writing a shell prompt in Go
56subtitle: Kinda faster than bash
+1
pages/blog/hacky-scripts.md
···11---
22template:
33+atroot: true
34title: Hacky scripts
45subtitle: The most fun way to learn to code
56date: 2019-10-24
+1
pages/blog/honk-fly.md
···11---
22template:
33+atroot: true
34slug: honk-fly
45title: Honkin' on the Fly
56subtitle: Running honk on fly.io
+1
pages/blog/identity.md
···44title: atproto and ownership of identity
55subtitle: The new age of social-enabled apps
66date: 2025-01-18
77+atroot: true
78---
89910[atproto](https://atproto.com) is very exciting to me as it's the
+1
pages/blog/ig-opsec.md
···11---
22template:
33+atroot: true
34title: Instagram OPSEC
45subtitle: Operational security for the average zoomer
56date: 2019-12-02
+1
pages/blog/intel-conundrum.md
···11---
22template:
33+atroot: true
34title: The intelligence conundrum
45subtitle: To protect an asset, or to protect the people?
56date: 2019-10-28
+1
pages/blog/irc-for-dms.md
···11---
22template:
33+atroot: true
34title: IRC for DMs
45subtitle: Honestly, it's pretty great
56date: 2019-11-03
+1
pages/blog/k8s-at-home.md
···11---
22template:
33+atroot: true
34slug: k8s-at-home
45title: Setting up a multi-arch Kubernetes cluster at home
56subtitle: My self-hosted infra, given the cloud native™ treatment
+1
pages/blog/kiss-zen.md
···11---
22template:
33+atroot: true
34slug: kiss-zen
45title: The Zen of KISS Linux
56subtitle: My thoughts on the distro, the philosophy and my experience in general
+1
pages/blog/m575.md
···11---
22template:
33+atroot: true
34slug: m575
45title: The Logitech Ergo M575 trackball
56subtitle: A short review of my first ever trackball
+1
pages/blog/mael.md
···11---
22template:
33+atroot: true
34slug: mael
45title: Introducing mael
56subtitle: An experimental mail client
+1
pages/blog/mailserver.md
···11---
22template: text.html
33+atroot: true
34title: Setting up my personal mailserver
45subtitle: This is probably a terrible idea…
56date: 2019-08-15
+1
pages/blog/mastodon-social.md
···11---
22template:
33+atroot: true
34slug: mastodon-social
45title: Stop joining mastodon.social
56subtitle: Do you even understand federation?
+1
pages/blog/mastodon-to-pleroma.md
···11---
22template:
33+atroot: true
34slug: mastodon-to-pleroma
45title: Migrating from Mastodon to Pleroma
56subtitle: Mastodon bad. Pleroma good.
+1
pages/blog/mnml-browsing.md
···11---
22template:
33+atroot: true
34title: Vimb: my Firefox replacement
45subtitle: Web browsing, suckless style
56date: 2020-01-16
+1
pages/blog/music-streaming.md
···11---
22template:
33+atroot: true
34slug: music-streaming
45title: My music streaming setup
56subtitle: Think Spotify, but self-hosted and not as good
+1
pages/blog/my-setup.md
···11---
22template: text.html
33+atroot: true
34title: My setup
45subtitle: My daily drivers—hardware, software and workflow
56date: 2019-05-13
+1
pages/blog/nullcon-2020.md
···11---
22template:
33+atroot: true
34slug: nullcon-2020
45title: Nullcon 2020
56subtitle: An opinion-filled review of Nullcon Goa, 2020
+1
pages/blog/nvim-lua.md
···11---
22template:
33+atroot: true
34slug: nvim-lua
45title: Configuring Neovim using Lua
56subtitle: And switching from init.vim to init.lua
+1
pages/blog/openbsd-hp-envy.md
···11---
22template:
33+atroot: true
34slug: openbsd-hp-envy
45title: OpenBSD on the HP Envy 13
56subtitle: I put a blowfish in my laptop this week
+1
pages/blog/openbsd-oci.md
···11---
22template:
33+atroot: true
34slug: openbsd-oci
45title: Installing OpenBSD on Oracle Cloud
56subtitle: It finally works in 7.2!
+1
pages/blog/pi.md
···11---
22template:
33+atroot: true
34slug: pi
45title: Migrating to the RPi
56subtitle: Raspberry Pi shenanigans, and other things
+1
pages/blog/prosody.md
···11---
22template:
33+atroot: true
34slug: prosody
45title: Setting up Prosody for XMPP
56subtitle: I setup Prosody yesterday—here's how I did it
+1
pages/blog/push.md
···11---
22template:
33+atroot: true
34slug: push
45title: Push-based productivity
56subtitle: Getting told when to get things done
+1
pages/blog/pycon-wrap-up.md
···11---
22template:
33+atroot: true
34title: PyCon India 2019 wrap-up
45subtitle: Pretty fun weekend, I'd say
56date: 2019-10-15
+1
pages/blog/python-for-re-1.md
···11---
22template: text.html
33+atroot: true
34title: Python for Reverse Engineering #1: ELF Binaries
45subtitle: Building your own disassembly tooling for — that’s right — fun and profit
56date: 2019-02-08
+1
pages/blog/r2wars-2020.md
···11---
22template:
33+atroot: true
34slug: r2wars-2020
45title: My submissions for r2wars 2020
56subtitle: If I learnt one thing, it's that ARM is the future
+1
pages/blog/rop-on-arm.md
···11---
22template: text.html
33+atroot: true
34title: Return Oriented Programming on ARM (32-bit)
45subtitle: Making stack-based exploitation great again!
56date: 2019-06-06
+1
pages/blog/ru-vs-gb.md
···11---
22template:
33+atroot: true
34title: Disinfo war: RU vs GB
45subtitle: A look at Russian info ops against Britain
56date: 2019-12-12
+1
pages/blog/s-nail.md
···11---
22template:
33+atroot: true
34slug: s-nail
45title: The S-nail mail client
56subtitle: And how to achieve a usable configuration for IMAP/SMTP
+1
pages/blog/save-org.md
···11---
22template:
33+atroot: true
34title: Save .ORG!
45subtitle: PIR is getting sold to a private firm, and here's why it's bad
56date: 2019-11-23
+1
pages/blog/signal-vmm.md
···11---
22template:
33+atroot: true
34slug: signal-vmm
45title: Signal Desktop on OpenBSD via vmm(4)
56subtitle: X11 forwarding to the rescue
+1
pages/blog/signal.md
···11---
22template:
33+atroot: true
34slug: signal
45title: We can do better than Signal
56subtitle: Centralized silos are never the solution
+1
pages/blog/simplicity-security.md
···11---
22template:
33+atroot: true
34slug: simplicity-security
45title: Simplicity (mostly) guarantees security
56subtitle: This is why I meme mnmlsm so much
+1
pages/blog/site-changes.md
···11---
22template:
33+atroot: true
34slug: site-changes
45title: Site changes
56subtitle: New stuff at the {back,front}end
+1
pages/blog/twitter.md
···11---
22template:
33+atroot: true
34slug: twitter
45title: Some thoughts on Twitter
56subtitle: I've begun avoiding Twitter, here's why
+1
pages/blog/whatsapp.md
···11---
22template:
33+atroot: true
34slug: whatsapp
45title: What's next after WhatsApp?
56subtitle: Let's not act surprised here, this was bound to happen
+1
pages/blog/workman.md
···11---
22template:
33+atroot: true
34slug: workman
45title: The Workman keyboard layout
56subtitle: I have a lot of free time on my hands (heh)
+1
pages/blog/zmk-unicode.md
···11---
22template:
33+atroot: true
34slug: zmk-unicode
45title: Unicode text input in ZMK
56subtitle: A hacky interim solution using macros