Category: Updates


  • Post forwarding

    I am typing out this text on my weblog, and when I will hit publish, it will also become a post on my linkedin account. This has two benefits. 1) I get an easily searchable and shareable copy of my social posts on my weblog. 2) I can have linkedin blocked (on both my pc and mobile) and still be able to post stuff, and maybe I can unblock it once a week to check comments. And if someone wants to reach out to me, that too is pretty easy to figure out.

    n8n being open source is cool.


  • Sparrow

    Today, a sparrow died in front of my eyes partly due to my incompetency. I buried her in the small lawn outside.

    She was a brown small sparrow, I don’t know the exact name of that species. That species has a nest on the lemon plant planted in our neighbor’s courtyard, a part of which extends over the wall to our courtyard. But I don’t think they actually live in the nest during night because in morning, because there are dozens of them, and they can’t all fit inside that nest. They mostly play on that tree and the wall on top of which our neighbors place edible seeds for the birds. Our neighbors had gone out of city few days ago and had asked us to put the fill the clay plates resting on the wall with the seeds, after the dawn prayer. Like the previous days, I had filled them today as instructed. It was after the breakfast that I had went outside and noticed the sparrow strangled up very badly in the plant. Lemon plant has small twingled thorny twigs. She was caught a bit up higher part of the plant. I had laid the chaarpai there, but still I had to pull below the branch to bring it up close, and then attempted to cut the tiny branch along which it was strangled, but in this attempt, the whole plant had gotten many jerks and sudden movements, and she stopped flapping, which marked that she was no longer alive. I finally cut the twig and the sparrow fell on the chaarpai, but alas she no longer responded. I couldn’t verify if she was alive or not, so I took it inside in warm room and sprinkled it with water, etc. But after around fifteen minutes, it was clear she was dead. Looking at her tiny legs, it turned out that she was not just strangled in the twigs, but that there was a thread which had been gotten tightened around her leg. That thread also got cut when I cut the twig. Later, I found a long thread tangled very badly in the twigs. It was perhaps fastened on the plant way long ago to hold it to a certain position but later it might have no longer been necessary, but got strangled in the twigs. So, it seems the sparrow somehow got the thread fastened around her leg, but also got stuck in the twigs and a thorn pierced her resulting in the blood. I don’t know how long ago, she had gotten stuck there. But I don’t think so, it was there before the breakfast. So she could have gotten stuck there anywhere between 1 to 30 minutes before I saw her. The unintended jerks to the plant in my careless attempt to cut the twig probably resulted in her death. Upon inspection, however, the piercing didn’t look too deep and the blood was also very little. Her body will now decompose and become part of the trees around which I buried her. I came back to courtyard after burying her. The sparrows were back hopping around, eating and playing by the plant and the wall. I feel bad for the companion that is no longer with them due to my incompetency.


  • Change of environment (alt title: a cool graph)

    Change of environment sometimes does wonders.

    The last time I spent more than a week in Lahore was when I was working on my thesis. And those were very bad days. I was getting nothing done, and was enjoying myself neither. Getting back at home did improve things a lot.

    I knew I would have to come here again for a few days (i.e., in these days — the time of writing this), but when I changed my plan to stay here for a week and a few days, I was getting anxious that I might return to the same state as I was in those thesis days.

    I arrived Lahore yester-evening, and I turned out to write two essayish blog posts in two successive days (only a night’s sleep apart). A funnier way to frame this is this:

    Few days back I had shared this graph with a friend:

    I think my life is this graph on loop, super-imposed on a slightly positively sloped straight line.

    So, at the time I had shared it with my friend, I felt like I was at the purple point:

    Now, I think that, I was at orange point then1 and now am at the green point.

    So yeah, I feel like in the I’m so back phase and the peak has yet to come soon. Also, I realize this graph is a handy tool to share updates with friends. So, sharing this graph here, so that if you wanna share updates with me, you can do so by marking this graph. Thank me later 😂

    1. And tbh, it was literally so over (details are TMI and hence can’t be shared, but I am not referring to the thesis phase.) ↩︎

  • Logging Movies

    Yesterday evening I set out to log all the movies I had watched since 2022. Sometime earlier this year I had added all such movies on an online service for this purpose, but it didn’t had dates, so I set out to log the dates for them as well.

    Mainly, I was counting on my laptop activity data collected by ActivityWatch. I thought that maybe I had set it up a very long time ago. But it turned out, I had only set it up on 9 Oct 2024. So, for movies I had watched after that date, I was able to find out the watch dates from there (after a lot of trouble trying to get python running in wsl to connect with ActivityWatch running on main windows. What worked was to quit ActivityWatch and open it again at 0.0.0.0 so that WSL could also reach it). Then, for movies watched before that, my second source was my google browsing history exported from Google Takeout to an excel file. Now, I usually downloaded videos through Brave browser (meaning nothing in google history), but still it worked out for many movies, because in many cases, I used to google something about the video either before or after watching it, specially wikipedia page or related history if any (and sometime explainers) on my main chrome browser. Sadly, however, I had created that export in Apr 2025 and had found it having only data for past 12 months. So the last entry in my excel file is from 8 Apr, 2024. So, for movies watched before that, I had no data. But, I recalled another source. Now, I used to download movies and delete them after watching (because my laptop didn’t had much storage) but for movies that were good enough that I thought I would watch them again some time, I did not delete them. But in somewhere around june this year, I had bought an hdd with case to keep backup of my laptop data and also to offload unnecessary data from laptop. On that, I had also moved those movies. I was worried that when moving the files there, the file created date would have been changed to the date, I had moved it to the hdd because I had copied it through normal windows gui and not through commands that preserve original properties. But I thought to give it a chance, and I connected the hdd. Interestingly, the date created property had modified as I had thought, but the date modified property still showed the same date on which the file was created originally, or you can say the download date. I was able to verify it for the movies I had logged already. So, I got a bunch of more movies from there. I did that till yesternight.

    It’s morning now, and just gotten on my laptop, and 37 out of 106 are still remaining to be logged, that are mostly those that I watched before Apr 2024. Now, a few might be actually after Apr, so I might be able to find data for them. As for the rest, I’ll have to extrapolate the dates, by thinking of the conditions and the place where I watched them and the time in which I was in that place. For instance, I remember a movie someone had recommended me when a certain event was happening at out university department. And I can find out the dates for that event, and from there I can get a close estimate of the dates. The idea is you can always get hard bounds for possibility of a certain event to occur, and then you further narrow the bounds as much as you can to get closer to the actual date. Well, let’s see what happens. I’ll add progress here.


    So here’s the update. I was able to figure out a few more from the excel and then finally 30 were still remaining. So, I recalled that when I had created Google Takeout export, the history was not actually set to auto delete. So, I checked it again. And lo, the google search history before Apr 2024 still exists. Finding it out made me so happy. But irritating thing is I can’t export. Google Takeout only exports data of last 12 months, though technically it should export all data. So, after very tedious searching I was able to find dates for most of them. Around 10 were those for which I had to conjecture the date based on hard bounds and around which movies I had seen them. But I have a pretty close log now. Last year, I had done a similar dig to log dates of books read (though I had to use different methodology like linking books with reference and place bought and the place read and cues like that to find out the date I had read it).

    Well, the final takeaway is that this movie era needs to end soon.


  • I’ve been fooled

    My websites are being served from a server in Mumbai, India. But when a user in Pakistan requests a web-resource hosted in India, traffic is first routed to Singapore and then to India (and same path backwards) despite that there are submarine cables directly connecting Mumbai and Karachi. Apparently, there’s an undefined security policy restricting Pakistani ASNs to directly connect to Indian ASNs.

    So, had I deployed my server in Singapore instead of Mumbai, it would load (slightly) faster even though Mumbai is geographically closer because it wouldn’t have to cover the extra journey to Mumbai. But the actual fooling thing is that the server location with lowest latency from Pakistan is actually Dubai, and it probably would have been even if we had direct submarine connection with Mumbai (though things would be different if the terrestrial connection with India across Lahore is established).

    I guess I’ll have to set up a server in Dubai now1 😭

    Quoting this legendary reply:

    1. Also, I heard Caddy is even faster than NGINX. Maybe, I should experiment with that. ↩︎

  • Move

    I keep forgetting again and again, that when my mind is not working as well as it could, more often than not, it is not because my mind is lazy and not exercising well, it’s because my body is lazy and not exercising well.


  • Aaj Ke Hisaab Se v2.0

    I had had a period in which I got obsessed learning about financial infrastructure and different investment options in Pakistan and practicalities of it. One weird feature I observed was that literally no one talks or considers about real or inflation-adjusted return. In a country where year-on-year inflation goes swinging like this: 9%, 23%, 31%, 7%, 6% 1, the nominal returns showed by your brokerage firm or mutual fund app give you no idea about how your investments are performing.

    So, I brushed up my old PKR inflation adjustment calculator Aaj Ke Hisaab Se and just finished with its v2. The primary feature now is calculating real/ inflation-adjusted returns2. The historic currency conversion feature is also retained, but it is a secondary feature now. And the cool thing is I have automated the data fetching, so it will get updated with new CPI value released by PBS, by itself on 5th of every month.

    1. Sep values for last 5 years ↩︎
    2. In the very first version, it was using gold prices as deflator, but that was partly because I was unable to find older CPI data. Using gold for this purpose was not suitable as gold prices have been very volatile, and they haven’t been a good reflection of an average consumer’s purchasing power. But later I was able to hunt historic CPI data, but hadn’t actually updated the calculator. ↩︎

  • RIP SBP Data Authenticity ft. Aaj ke hisaab se

    Edit: I later found out the mistake was my own. Details in end.

    ————-

     Today was the first time, the intertemporal currency value converter I had made a while ago came to my use, when during a phone call with my father, I instantaneously converted a past amount he mentioned to its current value, and I told him about this, and he liked the idea. When I told him, that for present value it’s using 2024’s last quarter gold prices to compare against historic gold prices, he asked me to get present gold price updated and share it with him. This time, I figured out extracting data from Business Recorder is pretty straightforward using an AJAX call that the webpage was making under the hood.

    Last time, I wasn’t able to find out a good source for recent data. Since, BR had this data since 2011, I thought about comparing it with the data from SBP that I had used in conversion in my converter, and voila, the two data series are not validating each other.

    The price growth rates for the two sources are not even remotely close.

    And then they say, I am too paranoid about data sources.
    Now, what am I supposed to do plug in my converter? Does authentic data even exist?
    ——-
    Edit 14/07/25: So, I found out the data from both sources is actually consistent. The issue was how I was grouping it. The SBP Handbook explicitly mentioned the years were fiscal years. But when grouping BR data to get annual average, I had grouped by annual year instead of fiscal year. When I grouped BR data by fiscal year, it was pretty much the same.
    PS. None of this matters because I think my decision to use gold prices as deflator was pretty stupid one, because gold prices have increased much more sharply then overall prices, probably because demand for gold was not much high pre-2000 but it increased sharply in the next 2 decades; that’s my hypothesis. But anyways, I have found old CPI data for Pakistan, and will plug it when I find time.

  • Playing the Devil’s Advocate

     I noticed on Saturday while talking with a good teacher, that I play something like Devil’s Advocate pretty often. This happens specifically when discussing about things I have given a good enough thought but I have still been unable to form confident conclusion about any particular side.

    I think this practice is helpful in the sense that it allows one to explore various points in the explanation-space of a specific problem or phenomenon in order to ultimately find out which point in that complex space is closer to the truth.


  • Ideal Weblog Platform

     Blogger is not the right platform for a tech person to use for long-term. It is only good for non-tech people. If someone has the technical expertise the best way is to compose the blog posts as .md files on Obsidian or VS code and have a static site generator convert them into html files to host somewhere.

    But there is one major flaw I have seen in all SSGs is their closed look. By default all of these have an index of posts (maybe along with some excerpts) but not an open feed view of the weblog. This exactly is why Blogger felt compelling to me. This old-school bloggish feeling is not just about nostalgia, there’s an open feel to it, because you don’t get a list of posts that you can open if you wish to. Rather, you automatically get a feed of recent posts by which you get to know what the person has been recently upto. Interestingly, Substack also has this feature but this is specifically an issue with the idea of weblog and not essays, it isn’t much useful there.

    Consider the experience of reading a book. You randomly swift through pages, and if something catches your attention, you stop and read around. You do not first have to select a topic from the TOC to decide what to read. Weblog should be like this, where entries are open by default, and the homepage should be a feed of atleast around 20 recent entries from which the person can swift through by scrolling. And if someone wants a list of entries, there should be a table of content for that too (which is something blogger is missing).

    Also, I still need to think whether I would want /essays or /weblog in subdomain of the site or in the slug. This is difficult to decide.

    I am leaning towards latter because the written content is supposed to be the substantial thing on weblog.tamseel.pk/. What else am I thinking of having on my site? I can’t think of anything. So, why not have it under the main site. Because different subdomain is kind of a different site.

    Apparently, it seems no pre-cooked solution would satisfy my needs. I will have to tinker with these SSGs to specifically achieve what I want. I can’t tolerate Blogger’s stupidly long permalinks for long.