Enshittification - when an online platform becomes more monetized and less user-oriented the longer it lasts.
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.
Read part 1 of this series here.
This is part 1, read part 2 of this series here.
A story about my quest to avoid paying Google in perpetuity.
Shark Tank India is airing its second season, and it’s the only TV show I am actively watching these days.
This is a story of how Apple’s wireless airpods have made my life worse even though I am not even a customer.
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.
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.
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.
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
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.
pylint, I came across a couple of python gotchas that weren’t obvious to me at first glance.
Something I have been working on for the last few weekends is this IPsec overhead calculator.
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 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.
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.
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.
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.
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
gothis time instead of
python, for performance.
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.
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++ 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.
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’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 ₹.
In C++, there are generally two kinds of memory that you use.
After a few hours of thinking and asking a couple of people I know, I came up with the name of this blog.
Reporting another ARP quirk with the Linux kernel.
Linux maintains a list of known IP neighbors. You can look at the list using the
iproute2family of commands.
I’ll try to describe the incident that inspired me to start this blog.
subscribe via RSS