Skip to content

Back to the catalog

abhinavsarkar.net
atomEnglish

All Posts & Notes on abhinavsarkar.net

abhinavsarkar.net · abhinavsarkar.net · English

Personal website and blog of Abhinav Sarkar.

atomfediverseindieweb

Open the feed

https://abhinavsarkar.net/all.atom

Last post
Nov 11, 2026
Posts in 24 h · 7 days · 30 days
0 · 1 · 6
Our last check
Answering
Served from
United States
Site title
Home
Text score
14,668
Format
atom
Community
fediverse, indieweb

Posts

What our queue read from this feed. Open one to read it here, or go to the site that published it.

  1. A Sticky Table of Contents Sidebar for Articles
    Nov 11, 2026 · original
    I have a table of contents ( ToC ) at the beginning of each of my long blogposts , but till now, the ToC has shown up inline in the posts, and scrolled away as you read it. For better navigation, I recently added a sidebar ToC . It shows up only on large screens; small screens still display the inline ToC . See it in action in one of my posts . I’ve extracted the code as standalone snippets and I present the same in this note. This post was originally published on abhinavsarkar.net . The HTML # The first step is to add the ToC as HTML in the web page. We use a simple ol wrapped in nav for this purpose. The body of the post resides in the section class = "body" element. In the example below, notice that there are two identical copies of the ToC nav : one outside and just before the post body inside an aside element, and one inside and at the beginning of the post body. The aside element m
  2. Apps I Use (2026)
    Nov 8, 2026 · original
    Last year I posted the list of my default apps . It’s time to update it for 2026! New apps are bolded and app I don’t use anymore are struck out. This post was originally published on abhinavsarkar.net . This post is a part of the series: Apps I Use . Apps I Use (2023) Apps I Use (2024) Apps I Use (2025) Apps I Use (2026) 👈 Email: GMail Notes: Apple Notes, Bear Weather: Apple weather, Pixel weather Map: Google Maps To-do: Google Tasks Activity tracker: Garmin Connect, Strava Photo shooting: Stock Android camera Photo management: Google Photos Photo editing: Snapseed, macOS Preview Calendar: Google Calendar Cloud storage: Google Drive, Dropbox, and NextCloud Contact management: Google Contacts Browser: Librewolf and Vivaldi Search engine: DuckDuckGo, Google Chat: Telegram, WhatsApp, Signal Video calls: Google Meet, WhatsApp Bookmarks: Wallabag RSS: Miniflux (web/macOS) + Unread (iOS) + F
  3. Bengaluru Book Giveaway
    Nov 1, 2026 · original
    I’m giving away these (physical) books in readable conditions in Bengaluru, India. Please contact me if you want any of them, and can meet me or get them picked up. Struck out ones are already given away. Fiction # Less — Andrew Sean Greer Half of a Yellow Sun — Chimamanda Ngozi Adichie Dance Dance Dance — Haruki Murakami There’s Gunpowder in the Air — Manoranjan Byapari Fragile Things — Neil Gaiman Trigger Warning — Neil Gaiman The Guide — R. K. Narayan Black Man — Richard Morgan Market Forces — Richard Morgan The Invisible Life of Addie LaRue — V. E. Schwab नमक का दरोगा — मुंशी प्रेमचंद सर्वश्रेष्ठ कहानिया — मुंशी प्रेमचंद River of Smoke — Amitav Ghosh Sea of Poppies — Amitav Ghosh The Calcutta Chromosome — Amitav Ghosh Contact — Carl Sagan Black Hills — Dan Simmons Olympos — Dan Simmons Eleanor & Park — Rainbow Rowell Nonfiction # Twitterature — Alexander Aciman and Emmett Rensin The
  4. An LC-3 Disassembler in Haskell
    Oct 31, 2026 · original
    LC-3 assembly is an educational programming language. It is simple enough that complex programs can be written directly in it without needing a compiler, and thus it is often used in teaching assembly. An LC-3 textual assembly program is compiled to a binary object file by an assembler, and then executed by a virtual machine . Writing a virtual machine for LC-3 is a fun little exercise. However, in this post, we implement a disassembler for compiled LC-3 binaries back to textual assembly programs. This post was originally published on abhinavsarkar.net . Contents Introduction to LC-3 Problem in Disassembling LC-3 Setting Up Decoding Instructions Basic Disassembly Fixed-Point Cleanup Postprocessing Pretty-Printing Reading the Binary Finishing Up Conclusion Introduction to LC-3 # LC-3 has a simple instruction set with only 18 instructions. It works with eight 16-bit registers (numbered fro
  5. Extending BlogShake with Per-Tag Atom Feeds
    Oct 25, 2026 · original
    This is an external post of mine, originally published at Extending BlogShake with Per-Tag Atom Feeds .
  6. On Giving Up
    Oct 17, 2026 · original
    Today in the drum class, I gave up playing the song I was practicing. I had already spent three days learning it, and still couldn’t play it properly. In particular, I couldn’t keep the right tempo. I realized that I shouldn’t try anymore, and decided to give up on it. Work Hard, Dream Big, Never Give Up 1 I am largely an autodidact in many interests of my life. I taught myself programming, reading music, running etc by reading books, watching videos, listening to people. A big part of learning by oneself is knowing when to give up. There are many things in my life that I’ve walked way from. Let me list a few 2 : Playing video games As I child I loved playing video games, but upon growing up I decided to stop. I realized that they were too addictive for me, and for the kind of person I am—even though they were a lot of fun—they were turning out to be a net-negative. Higher mathematics I
  7. Signs of the Times
    Oct 14, 2026 · original
    Over years, I’ve been taking photos of random signs that I find interesting. I’m throwing some of them together in this note to create some sort of photo-note. This post was originally published on abhinavsarkar.net . First my favourite kind, the cautioning ones: Asphyxiation is a nightmare thought to me. I’m not sure why they have spaces with hazardous atmosphere in a workplace, but I’m glad they put a big sign. Rest of these photos are also taken in my office, except the radiation warning one that I took in a hospital. Skull and bones signs are my all-time favourites. I like that someone decided they should err on the side of safety and put a “DO NOT DRINK” sign on a garden tap. Next up, some vaguely threatening signs: I like how they put GOD in quotes, and scatter shouty capital words in the top-left/first sign. When I took this photo, there was no car parked in front of their gate, s
  8. A Day in My Life
    Oct 6, 2026 · original
    Author’s note: I wrote this note through the day, as it happened. I wake up earlier than usual, at 6:15 AM. My body feels rested enough so I get out of the bed. Not sure if I am going to regret not sleeping enough later in the day. My smartwatch tells me to rest today and that’s my plan. But today is a work from office day. I hope it is not too hectic. I get ready, eat some carb, and jump in the cab to suffer through the commute. Eggs and coffee later at work. In the cab, I read a bunch of blog posts by the Indieweb Club Bengaluru (IWCB) folks. Browsing through Tanvi ’s notes makes me want to write this note. I start typing it in Google Keep . The cab ride is unremarkable. I get sleepy towards the end, but I can’t take a nap because there isn’t enough time. Today’s weather reminds me of good old Bengaluru days from a decade ago. It rained overnight and the day has been switching between
  9. My Impossible Bucket List
    Oct 3, 2026 · original
    I wrote this post for a prompt given during our local Indieweb club meeting. See more such posts . My impossible bucket list, things I would want to do/be if the realities of the world and my life did not constrain me. Here it goes: Watch the Sun die. Write a bestseller book about physics. Make them do a good remake of that one anime from the 90s I liked a lot. Finish reading all the books in my to-read list. Get rid of ALL the mosquitoes. Swim across a river. Complete this list. Cycle across a Himalayan pass. Learn how to fly an airplane. Read and understand The Art of Computer Programming . Read a QR code with my eyes. Go back to the house I grew up in. Like C++. Write a journal entry every day. Solve a Millennium Prize Problem . Build a computer from scratch. Get over the Auditory Masking effect. Learn how to make a geographical map from scratch. Take a transcontinental train. Fix my
  10. Customizing Miniflux: Sorting by Signal
    Sep 30, 2026 · original
    I have been using Miniflux as my feed reader for a couple of years now. As mentioned in a previous note , I have customized it to add custom sorting for articles. In the last note I added sorting by similarity. In this note, I add another method to it: sorting by signal. This post was originally published on abhinavsarkar.net . This post is a part of the series: Customizing Miniflux . Making a Two-Pane Reader Addding Custom Sorting Sorting by Similarity Sorting by Signal 👈 As scores of new articles keep coming into my feed reader every day, I found myself looking for a new way to find the actually interesting ones. So, I invented it! This quality of interest, which I have dubbed Signal , is decided by two factors: Age of the article: I often find myself skip reading articles that seem interesting at a glance, but are too long to read immediately. Such articles keep getting older and get
  11. Non-negotiables in My Digital Personal Space
    Sep 19, 2026 · original
    I wrote this post for a prompt given during our local Indieweb club meeting: “Write about non-negotiables in your personal space.” See more such posts . My MacBook Pro is my digital personal space on which I spend hours every day. Absence of some particular tools and capabilities is a deal breaker for me now, even if I switch to a different laptop or OS. First, I require a tiling window manager to use anything at all on my laptop. I don’t want to bother with moving windows around, fixing overlaps, changing their sizes etc. The window manager should do these for me and should be drivable by keyboard shortcuts. Currently I use Amethyst on macOS. Next, I want to configure my machine programmatically instead of going around tweaking hundreds of knobs. Not only is it cumbersome, but fairly non-reproducible too. Another reason I want this is to be able to easily move my configurations over tim
  12. Things You Might Not Know About This Website
    Sep 14, 2026 · original
    Over the years, this website has accumulated many interesting and atypical features and pages. Most visitors either browse the homepage or land on individual posts from syndications and social media, and never click around enough to notice and experience all the intriguing things scattered around the website. So I decided to jot some of them down in this note 1 . This post was originally published on abhinavsarkar.net . Similar/Different Posts Each post links to other posts that are most similar, as well as, most different to it, as a way to let the visitors explore the website. For example, see the similar and different posts for this very post. You may also notice the green bars behind the post dates that show the measure of similarity 2 . Post Comment Feeds Visitors can comment on the posts using the built-in comment form . Each post has a dedicated feed of its comments to which the v
  13. Introducing Ahm
    Aug 31, 2026 · original
    This is an external post of mine, originally published at Introducing Ahm .
  14. Analyzing My Lobsters Submissions
    Aug 12, 2026 · original
    I have been a Lobsters member since June 2018. In the eight years since, I have submitted 220 stories to the site. I downloaded my entire submission history via the Lobsters API, and here’s what I found when I analyzed it. Contents Growth over Years Yearly Overview Most Upvoted Stories Most Discussed Stories Score Distribution Comment Distribution Score vs Comment Count Story Tags Authored vs Shared Stories Flagged Stories Submission Times Growth over Years # My first submission was on June 29, 2018. For the first six years, I submitted very few stories. Then around mid-2025, I got much more active. The cumulative count makes it obvious. Cumulative number of stories submitted over time See as table Year Cumulative stories 2018 4 2019 12 2020 23 2021 34 2022 46 2023 51 2024 63 2025 151 2026 220 Same data month-by-month now. My busiest month was December 2025 with 19 submissions. Stories s
  15. Fast Haskell Scripts on GitHub Actions
    Aug 10, 2026 · original
    Magix is a neat tool that lets us run Haskell programs as scripts 1 . We put a shebang on top mentioning Magix, list the Haskell packages we need, and ./script.hs just works. This post is about running such a script fast(er) on GitHub Actions . This post was originally published on abhinavsarkar.net . Contents The Setup The Problem The Idea The Bundle The GitHub Actions Workflow The Payoff The Conclusion The Setup # As our example, we’ll take the static site generator (SSG) I wrote some time ago: BlogShake . It is written as a single Haskell file. It uses Shake to build the website, Pandoc to render posts, and Mustache for templates. The script starts with these Magix directives 2 : #!/usr/bin/env magix #!magix haskell #!haskellPackages mustache pandoc shake feed yaml #!ghcFlags -threaded -O2 Running the script is as simple as: ./blog.hs Magix compiles the script into an executable and r
  16. Notes for the Week #30 (2026)
    Jul 27, 2026 · original
    This week note covers the week of 21st–26th July. Last week was quite busy with a lot of running around. In the week prior, we celebrated our now 4yo A ’s birthday. Since we were never able to have a big party for A for any of her important occasions in the last four years, we decided to throw one this time. We booked a party hall and invited all her school and home friends and their parents. The party hall had a children’s play arena attached to it and all the children had great fun. The parents were probably bored making small talk to each other, but the children were running around having the time of their life. We had A cut a giant purple cake and lunch was served. There were small hitches here and there, like forgetting to turn on the music in the party hall, and misplacing the knife just before cutting the cake. Nevertheless, overall it went great and everyone was happy and well fe
  17. 100 Questions for Webmasters
    Jul 22, 2026 · original
    Another round of answering questionnaires found on internet! This time is it 100 Questions for Webmasters . Here we go! This post was originally published on abhinavsarkar.net . Please introduce yourself. I’m Abhinav Sarkar , a person who happens to be a software engineer at work and a webmaster for fun. How long have you been making websites? Over 26 years! And what got you into the hobby? When I was first introduced to computers in the nineteen hundreds, I found web pages to be the easiest way of making interactive programs. I started with writing small games in JavaScript. What kind of website are you most interested in? I’m mostly into blogs and personal websites. I like websites with good and readable typography and well organized content. What’s your workflow? Do you plan your websites out thoroughly or do you come up with the design as you go along? Since I have no formal backgrou
  18. Notes for the Week #29 (2026)
    Jul 20, 2026 · original
    This week note covers the week of 13th–20th July. Aliens vs. The Fish Since I’m writing this week note so late, I’ll throw in an extra day for free. Last week was the week of birthdays. Both my wife and our now 4yo A had their birthdays, and the whole week was spent in celebrations. For A ’s birthday, we went to the Aquarium Paradise , probably the largest aquarium in Bengaluru. A had a lot of fun looking at all the fish and other sea creatures. The photo above is from the aquarium, which had a weird theme of Egypt × Aliens × Pirates × Mermaids. ¯\_(ツ)_/¯ Afterward, we decided to take a metro train back to home. It was A ’s first time riding a metro and she was excited as anything. She kept peering out of the window at the scenery. It took roughly the same time as taking a cab, but the journey was much more pleasant away from the pollution of roads. We got cakes, three cakes in fact, for
  19. Getting Started with BlogShake
    Jul 19, 2026 · original
    This is an external post of mine, originally published at Getting Started with BlogShake .
  20. Notes for the Week #28 (2026)
    Jul 12, 2026 · original
    This week note covers the week of 6th–12th July. Last Day of Summer Yes, I was there at the foot of the Eiffel Tower 9 years ago, and yes, I took this photo. I visited Paris on my way to Berlin for EuroClojure 2017 , where I talked about Moving People with Clojure . It feels like a lifetime ago, maybe it was. Today is a lazy day in sort of a contemplative way. I really did not feel like writing this week note, but this week is going to be busy so it’s now or never. Last week went too quickly I think. I was busy with work, with three hours spent in commute every day, with my drum classes, and with tinkering on this website. Everyone in my family is doing well now health-wise, and I hope it stays this way. This week has many birthdays to celebrate, which means running around as well. The house is full of balloons and toys scattered everywhere. A keeps breaking out into “Happy Birthday to Y

Found by rss-feed-index, which checks each feed once a month at most.

Same record as JSON: https://api.agentalog.com/api/feeds/fd_abhinavsarkar_net_57b9ed8da8058fd5. More from this site: abhinavsarkar.net in the Feeds tab.

Looking for something else?QuestionsContact