36/Visiting the Bangalore Lit Fest

Monday, 2023-12-04 to Sunday, 2023-12-10

Created: by Pradeep Gowda Updated: Dec 10, 2023 Tagged: weekly · bengaluru · chatgpt · webp · obsidian


I visited Bangalore Lit Fest. Read my report!


Subscribed to the Cabinet magazine - has something of a philosophy and art focus, with one common theme - well researched, cited and in-depth; I was a subscriber (issue 53-57). From Issue 69 onwards they are becoming a digital only publication. $20/yr plus i get access to past issues. Interestingly, the PDFs are sold separately; which is fine – I actually enjoy the articles 😉.

Purchased annual subscription to IntelliJ IDEA Ultimate - $180 including taxes.


After being away from twitter since Nov 30, 2023, I finally feel like I have reached the end of internet, and opened the Things.App to look at what I can do 😆

I “donated” my voice to Mozilla Common Voice project. They do not have Kannada language, and I have requested them to add it.


Met Bharat Shetty for lunch at California Burrito, JPN and later had coffee at The Rameshwaram Cafe across the street.


Started reading Irving Stone’s novel about Michaelangelo “The Agony and the Ecstasy”; I had bought the hardbound book at a library sale, I think. I am 40 pages into the book, and so far, it has been an excellent read. While searching for the book, I found out there is even a movie by that name based on this book.

Why would they do this?

24 Mantra Organic Sunflower Oil bottle

The manufacturer is from Telangana, and they have rendered “oil” as “ఆయల్” in Telugu, but “ಓಇಲ್” (“ఓఇల్”) in Kannada. It should have been the exact same rendering in Kannada (“ಆಯಲ್ / ಆಯಿಲ್”) as it in Telugu. However, it is common for oil to be written as ಎಣ್ಣೆ in Kannada.

Telugu businesses not knowing how the words are written in a (mostly) shared script is a sad thing indeed.

See: image compression note on how I got the above image from the iPhone taken picture.


Interesting historical note about Intel Optane (2015-22) – Rest in Peace, Optane from - Speculative Branches blog (Nima Badizadegan).

Wright’s Law – Each doubling of production volume corresponds to a 20% decrease in cost.

 Optane offered persistence on the memory bus. It turns out that what developers mostly would have wanted from Optane they got from BSD and Linux in the form of mmap. mmap had one more secret weapon: the filesystem. If the media backing the filesystem wore out, the filesystem (and the layers underneath it) could detect and correct issues. Optane had no such protection.

Discovered Loco, a rust web framework inspired by Ruby on Rails. This might be an interesting framework to learn because rails patterns of developing web applications have proven to be very popular not only with Ruby programmers, but also other language framework designers, and many like frameworks have been inspired by Rails.

When choosing a programming environment for personal, long term usage, either as a individual or a indie developer, it is important to choose something that is:

  • takes away the burden of maintenance
  • doesn’t bit rot
  • works without constant upgrades and fixes
  • has a simple mental model, so that you can jump back in without loading a lot of context to be productive.

What likely won’t matter:

  • popularity
  • size of the “community”

Steve Losh’s A road to common lisp is a good read in this regard, especially what he calls “Escaping the Hamster Wheel of Backwards Incompatibility”. This article was written in 2018, and I still see Steve continuing to use Common Lisp for his projects as he starts his PhD program.

Got access to “Github Copilot for IntelliJ IDEA” after I purchased the IDEA license. There was a waiting list, but after less than 48 hours, I got a mail. The github copilot interface looks much more power than the ones i’m used to. There are two tabs:

  1. Github Copilot and,
  2. Github Copilot chat

It will be interesting to evaluate the Chat a bit more. Cursor also has similar interface, but somehow feels fragile.

Rediscovered xidel from my tools page. Xidel is a command line tool to download and extract data from HTML/XML pages using CSS selectors, XPath/XQuery 3.0, as well as querying JSON files or APIs (e.g. REST) using JSONiq.. This is a very handy tool.

Image compression script

After reading the note on webp, I thought of using webp to compress the HEIC images my iPhone takes into both a well compressed original size image as well as a thumbnail. I used ChatGPT to write a script to automate this process of converting an image in ~/Downloads folder to my web directory.


# ~/scripts/blogimg.sh

set -xeu

# Check if the second argument (FILENAME) is provided, or use the original filename.
if [ -z "$2" ]; then
  FILENAME="$(basename "$1")"

# Get the current year and month.
YYYY=$(date +'%Y')
MM=$(date +'%m')

# Define the output directory path.

# Create the output directory if it doesn't exist.
mkdir -p "${OUTPUT_DIR}"

# Convert the HEIC file to webp format
convert "$(pwd)/$1" -quality 1 "${OUTPUT_DIR}${FILENAME}.webp"

# Create a thumbnail (max 600px width while maintaining aspect ratio).
convert -resize 600x -quality 1 "$(pwd)/$1" "${OUTPUT_DIR}${FILENAME}_thumb.webp"

# Print the output paths.
echo "${OUTPUT_DIR}${FILENAME}.webp"
echo "${OUTPUT_DIR}${FILENAME}_thumb.webp"

# Print the web URLs.
echo "https://files.btbytes.com/pictures/${YYYY}/${MM}/${FILENAME}.webp"
echo "https://files.btbytes.com/pictures/${YYYY}/${MM}/${FILENAME}_thumb.webp"

# Print the HTML code for embedding the thumbnail.
echo "<a href=\"https://files.btbytes.com/pictures/${YYYY}/${MM}/${FILENAME}.webp\"><img src=\"https://files.btbytes.com/pictures/${YYYY}/${MM}/${FILENAME}_thumb.webp\" alt=\"thumbnail\" /></a>"

I copy the last line of output and paste into my blog post like above

The script compressed the original image (2145315 bytes) to just 14,800 bytes for the thumbnail and 183,056 bytes for the lossy full-size image (but I can’t tell the difference).

The thumbnail does have compression artifacts. so i’m going to play around with higher quality to get a better output.


A trip of nostalgia for me too after reading Three Decades of HTML – Eric’s Archived Thoughts from Eric Meyer. I used to read Eric Meyer quite regularly in the early 2000s, and definitely I learnt a lot about CSS from his blog posts and presentations, specifically his S5 presentation system sticks in mind.

The first time I wrote HTML was at Sanjay’s place in late ’96 or early ’97 when he got his PC after getting into the CSE program. I wrote it from memory AFAIK, on a windows notepad. Such exciting times.

I might start using the webp format instead of jpg (and png) after reading this – It’s the future — you can stop using JPEGs — Daniel Immke.

From around the web

Comment by user kochbeck on mainframes on HN/2023-12-04.

Now, contrast that with doing the same thing in, say, a Linux container on AWS. From the stock OS, can you request a write that guarantees lockstep execution across multiple cores and cross-checks the result? No. Can you request multisite replication of the action and verified synchronous on-processor execution (not just disk replication) at both sites such that your active-active multisite instance is always in sync? No. Can you assume that anything written will also stream to tape / cold storage for an indelible audit record? No. Can you request additional resources from the hypervisor that cost more money from the application layer and signal the operator for expense approval? No. (Did I intentionally choose features that DHT technology could replace one day? Yes, I did, and thanks for noticing.)

On the mainframe, these aren’t just OS built-ins. They’re hardware built-ins. Competent operators know how to both set them up and maintain them such that application developers and users never even have to ask for them (ideally). Good shops even have all the runtime instrumentation out there too—no need for things like New Relic or ServiceNow. Does it cost omg so much money? Absolutely. Omg you could hire an army for what it costs. But it’s there and has already been working for decades.

See Finxact

Bryan Caplan on why you should stop reading the news

That it’s highly addictive, for many people chewing up 10% or more of their waking hours. (ed: clearly I was spending more on twitter before i cut it off)

The Norway Model – understanding how the Scandinavian country became a literary powerhouse.

Norwegians want to see Norway as foreigners with an interest in Norway want to see it.

They said the key to why books from Norway do well is the seamless way in which all parts of the literary ecosystem work together: politicians and agents, lawmakers and publishing houses, readers and libraries.

pencil talk – a blog dedicated to pencils.

Small town nostalgia – My Favorite Restaurant Served Gas

Cari institute’s index of aesthetics – great collection of place to look up “what’s the name of that style?”. (eg: Corporate Memphis – “The Generic 10s ‘Friendly’ Corporate Aesthetic, neo-Memphis, pastel colors, Mondrian influence, corporate appropration of Vaporwave motifs, geometric sans typefaces, Monstera plants, exposed plywood, white walls, Matisse-influenced graphics.”)

CARI, or Consumer Aesthetics Research Institute, is an online community dedicated to developing a visual lexicon of consumer ephemera from the 1970s until now.

Pages Added

New: runreveal, seastar, magazines, podcasts, testing, llm-embedding

Updated: golang


Discovered Templater, a plugin for obsidian. I’m using it to generate unique id, and permalink to sections with the “¶ (pilcrow )” you see above. The code for that is

<a href="#<% tp.file.selection() %>" id="<% tp.file.selection() class="pilcrow" %>">¶</a>

I type a random id, like pl3 (which is to say this is the third section under the programming heading; the id doesn’t matter as long as it unique to this page), select that text and run the templater plugin on it and out pops the following text:

<a href="#pl3" id="pl3" class="pilcrow"></a>

Just like that

Heard the word “babe” pronounced as “ಬಬ್ಬೆ” in S1E1 of Kohrra, the Netflix series 😂.