Posts
Degradation of YouTube's Watch Later feature
Enshittification - when an online platform becomes more monetized and less user-oriented the longer it lasts.
Nested code considered harmful
I recently watched a YouTube video that presented the benefits of never nesting your code more than a few levels. I’ve felt that it expressed in words what I’d always known within. So let me explain.
How to store ranges in Elasticsearch Part 2
Read part 1 of this series here.
How to store ranges in Elasticsearch
This is part 1, read part 2 of this series here.
Self-hosting a Google Photos alternative
A story about my quest to avoid paying Google in perpetuity.
What's wrong with Shark Tank India
Shark Tank India is airing its second season, and it’s the only TV show I am actively watching these days.
Airpods considered harmful
This is a story of how Apple’s wireless airpods have made my life worse even though I am not even a customer.
Cookiecutter: making repetition easy
Developing a web app is an exercise in balance. One critical aspect is to decide between the opposing tendencies of monolithisation and micro-services. Like most decisions, this is always a matter of degree. You can absolutely go too far in one direction and suffer for it.
PDF deduplication
Suppose you have a large number of PDF documents stored in your computer, and every so often keep adding new ones to your collection. A problem that rears its head soon is that you end up with a lot of duplicate documents on your disk. They eat up your storage and are annoying when you want to search for a particular document.
MacOS problems with monitor refresh rate
I have been using a Macbook 13 inch for work for a bit more than two years now. I like to use my nice gaming monitor when I work from home, which I have been doing for more than 3 years now.
New domain for the blog!
I’ve been experimenting with setting up a self-hosted Google Photos alternative (since they ended the free upload offer), and came across CloudFlare’s domain service. Their prices are really low compared to others, especially for
.com
.TIL: Django QuerySets are lazy
I remember reading somewhere that Django QuerySets are lazy, they fetch only what is required, when it is required. I remember thinking to myself “Neat! Sounds like a great feature that lets me code without worry!”. While that is mostly true, there are times when you can gain a lot of performance if you keep this fact in mind when writing your code.
TIL: python gotchas
Thanks to
pylint
, I came across a couple of python gotchas that weren’t obvious to me at first glance.IPsec overhead calculator
Something I have been working on for the last few weekends is this IPsec overhead calculator.
Strange MacOS feature that clobbers 'find' textboxes
Ever since I started using a Macbook as my work laptop, I’ve been getting irritated by this feature. It blurs the line between feature and bug, to be honest.
Whatsapp call interface doesn't make sense
Whatsapp changed the screen that appears when you place a call. I do not remember what the old interface looked like, but the new one is bad enough to make me notice it.
Apple Magic Mouse 2
Continuing with the Apple theme from the last post, I will try to explain why Apple’s Magic Mouse 2 is the worst mouse I have ever used.
The uselessness of touchbar on Macbook
My new workplace gives out MacBook Pro laptops to developers. There is an option of Thinkpad (with Linux) too, but most systems and processes are well aligned with MacOS. This is the first time I have used an Apple laptop as my full-time work machine.
Thoughts on System Software
I have worked as a software engineer for 6 years now. At my first workplace, I worked on the system software that runs on enterprise network switches.
Tracking ping RTT to websites - part 1
In my quest to employ my Raspberry Pi to some use, I thought why not track ping round trip times to various popular websites. This would be less likely to run into the resource constraints that ruined my speed test project, since the Pi’s network link wouldn’t be saturated. Also I decided to use
go
this time instead ofpython
, for performance.Simulating the Monty Hall problem
The Monty Hall problem is a well known probability puzzle which many people find counterintuitive. Personally, even though I now understand the basic maths involved, it still seems absurd. So I decided to simulate the situation.
Monitoring internet speed with a Raspberry Pi
While cleaning out some old cartons last weekend, I found my old Raspberry Pi Model B+. It is the first iteration of the Pi. It has a 700MHz ARM CPU and 512MB of RAM. It uses a micro-SD card for non-volatile storage. So as you can see, it is quite a capable little computer, and you can power it off a standard 5V USB charger, which means you can run it all the time without worrying about power consumption.
Struct padding in C and C++
Struct padding in C and C++ is a feature that has huge potential in tripping up any kind of program that communicates with another machine. Let’s look at what it means.
Projects page
Over the years I have tried to learn new things by doing. I have added links to these projects in the Projects page. You can visit it by clicking the button in the top navigation bar.
I made an inflation calculator for ₹ (Indian Rupees)
I’ve always wanted to know the answer to the kind of question: How much would ₹X be worth n years later, if you account only for inflation. While there are many good calculators that do this for $, I could not find a good one for ₹.
Some odd GCC behavior
In C++, there are generally two kinds of memory that you use.
Naming the blog
After a few hours of thinking and asking a couple of people I know, I came up with the name of this blog.
You cannot mark a neighbor STALE in old Linux
Reporting another ARP quirk with the Linux kernel.
You cannot delete neighbors in Linux
Linux maintains a list of known IP neighbors. You can look at the list using the
iproute2
family of commands.C macro gotcha
I’ll try to describe the incident that inspired me to start this blog.
subscribe via RSS