RSSAmplifier

Blog

Jayesh Bhoot's Ghost Town – All Posts

bhoot.orgRSS feed ↗54 posts

Latest posts

My understanding of SBI Max Gain loan account

When the overdraft balance and the principal amount balance of my Max Gain account no longer matched the expected numbers, I decided to dig into the nature of the SBI Max Gain account.

A primer on car insurance (in India)

With a car comes great expenses. One of those is car insurance. I am a novice car driver and owner. So when time came to renew my car insurance, I found myself drowning in insurancespeak. This post is an attempt to distill my understanding of car insurance for my future self.

Improved font rendering in Guix

There is a neat trick to make fonts on Linux look thicker and smoother and sharper. Set the following variable in /etc/environment :

<code>git stage</code> over <code>git add</code>

I've come to prefer git stage to git add . The former is a synonym of latter, but makes the intent clearer.

On Stephen Baxter&#39;s Manifold books

So I finished Stephen Baxter's World Engines duology yesterday. I have some thoughts.

Tip for my future self: If Emacs throws an arcane error — <code>project--read-file-name: Wrong type argument: stringp, nil</code> — while trying to find a file in a git project (<code>C-x p f</code>), then one likely reason is that the git project is empty.

Tip for my future self: If Emacs throws an arcane error — project--read-file-name: Wrong type argument: stringp, nil — while trying to find a file in a git project ( C-x p f ), then one likely reason is that the git project is empty.

How I configured OS-specific fonts in Emacs

Here is the Elisp snippet:

A case of unsoundness in TypeScript

Defining a function declaration with properties requires more than one statement. This provides a way to break the type system of TypeScript.

Understanding various syntaxes to annotate a function&#39;s type in TypeScript

I often found myself second guessing while writing type annotations for TypeScript functions. To make it intuitive in future, I try to make sense of various syntaxes TypeScript provides in order to annotate functions.

JavaScript function declaration v/s arrow function in a browser console

Apart from the usual conciseness and this arguments, JavaScript's function declaration and arrow functions differ in another practical way.

Someone&#39;s high hopes- to dash or not to dash

That is the question.

Copying <em>all</em> files of a directory, including hidden ones, with <code>cp</code>

I outline my exploration of why cp -R src/. dest copies contents of src – that too all its files, including hidden ones – and not src itself, as src/. had initially led me to believe. This is because of how the algorithm of cp is defined.

Proximity of an error in static and dynamic languages

This is a purely conjectural, anecdotal, probably biased post on how statically-typed languages do better than dynamically-typed languages in keeping an error as close to the source issue as possible.

Design Rework #1 - reworking my university hoarding

This series is an attempt to learn and practise principles of design by reworking adverts that I find in the real world.

Making tanstack docs more accessible with Stylus

Stylus is a browser extension with which you can modify styles on a webpage. I use it to fix accessibility and usability niggles faced on my regularly visited webpages.

Use cases for <code>&lt;form method="dialog"&gt;</code>

I've started using a relatively less known value of the <form> element's method attribute, called dialog , for the following scenarios:

Name your SQL constraints

I learnt the hard way, while trying to amend the structure of a database instantiated at more than one place, that its best to explicitly name the SQL constraints like a foreign key.

Connecting to MySQL running on NixOS on local network

I have a Linux workstation, and a Macbook. While I prefer to work on Linux, I also like the mobility around my house. Once, I needed to access a database instance running on the Linux workstation from my MacBook. My first instinct was to sell it all and buy a Linux-operated ThinkPad! After I placated myself, I came up with the following setup..

Flossing - do orthodon&#39;t. There is no try.

Flossing - do orthodon't. There is no try.

Being chill

Being a chill dude is the exact opposite of being The Dude .

A mental model for Linux file, hard and soft links

I always felt bothered about my superficial understanding of inode, hard and soft links in Linux. Here I attempt to structure my learnings into a simplified mental model. Corrections are welcome.

The Trumping Joke

I was always skeptical about how the Joker takes over the Mob in The Dark Knight .

Different kinds of simple

This post is syndicated from my response to a Lobste.rs story titled How 1 Software Engineer Outperforms 138 - Lichess Case Study .

Ki modal editor - first impressions

I tried out a new modal editor called Ki , and inevitably measured my first impressions with Vim and Helix.

How I use <code>:has()</code> selector to add table of contents

I show off a static site gen soupault, and my solution to add table of contents using CSS selectors

Forgotten lesson remembered after staring 5 minutes at the screen: <code>innerHTML</code> cannot contain a <code>&lt;script&gt;</code> tag.

Forgotten lesson remembered after staring 5 minutes at the screen: innerHTML cannot contain a <script> tag.

Cool ways to generate a UUID

OK, may be not cool enough for Linux veterans, but cool enough for me!

Choosing curious over judgmental

I don't know about the cat, but curiosity certainly killed the judgmental!

Scripting with Scala

Scala 3.5's CLI now makes scripting with scala seamless! Just a single-file script setup!

Task failed successfully - Linux edition

Written by Jayesh Bhoot

British v/s American comedy dramas

They always felt different from each other, but I could never quite put a finger on the difference.

Stubborn pop-up on <i>Mutual Fund Utilities (MFU)</i> website

Tip for Mutual Fund Utilities (MFU) users:

Effective Scala, part 8 - OO concepts

Flip the perspective on tools like interfaces and traits. Don't see them as a way for objects to share an interface, but as an abstraction over implementations.

Series - Effective Programming in Scala

This is a series of articles I wrote while going through the Coursera Course Effective Programming in Scala .

Effective Scala, part 7 - entry point of a project

While a scala worksheet are evaluated from top to bottom, a scala project needs an entry point.

Effective Scala, part 6 - Scala Build Tool (SBT)

src/project dir contains configuration about SBT - build.properties to specify sbt version, plugins.sbt to specify sbt plugins, and so on.

Effective Scala, part 5 - collections

Operations on collections can be classified into:

Effective Scala, part 4 - function v/s method

A function is a value in Scala, while a method is not. So the former can be passed as a parameter of a function or a method, and can be returned as a value. Method cannot do any of those.

Effective Scala, part 3 - compatibility roulette

I am going through the course Effective Programming in Scala on Coursera, and ran into build import errors in the very first assignment (fireworks).

Effective Scala, part 2 - domain modelling

Finding the right level of abstraction is more important than the best level of abstraction.

Effective Scala, part 1 - elements of a program

A value is the representation of some entity that can be manipulated by a program.

An overview of OCaml editor tooling

For a small community, OCaml ecosystem is quite rich, maybe too rich, in editor tooling. I have gone through some options over time. Here is an overview for my future self.

Memorising branch order in git rebase

In a git rebase x command, is x being rebased on the current branch, or vice versa?

<del>I switched to fish shell</del> Nope. Back to bash.

I have come crawling back to bash. Why?

Make an opam local switch and <code>dune init project</code> work together

In the OCaml ecosystem, opam is the most popular package management tool, while dune is the foremost build tool.

Spoonfeeding machine architecture to OCaml toolchain on Apple Silicon

OCaml compiler failed to build on my M1 Macbook with Apple's Silicon architecture.

List of movies better than their book counterparts

This list will likely (hopefully) remain short.

An elegant triplet of fonts

I use the following set of fonts.

How to mark up a code snippet in HTML

Suppose, we want to mark up the following multi-line snippet of JavaScript code:

Location of emacs config

After a fresh emacs installation, I always spent a few minutes why emacs wouldn't pick up my config from ~/.config/emacs/init.el .