Working Notes: a commonplace notebook for recording & exploring ideas.
Home. Site Map. Subscribe. More at expLog.

2023-11-12

A busy week spent mostly traveling, and occasionally reading code and how certain systems work.

Bash signals

I've been spending a remarkable amount of time trying to reason about and understand how signals interact with bash scripts this week.

There's one very important rule that may not be obvious: if a shell script is running a command, bash will block all signals it can. The only way to get signals unblocked is to run a backgrounded process (using &) and using trap.

The other generally simpler alternative is to simply exec into the script you want to forward signals to.

Automatic profiling

After spending a lot of time seeing people profile and improve distributed systems, I started to wonder whether it would be worth investigating simulating a system (hardware, network, performance characteristics, even software, etc.) and using that to optimize the system.

ChatGPT has pointed me to a significant number of resources, and clearly this is something that has been deeply researched; I have a lot of reading and exploration ahead to understand this.

User Interfaces

A recurring belief I have that slowly keeps strengthening is that the amount of effort that goes into building working user interfaces is completely disproportionate to the value created by them. As someone who strongly prefers minimalistic designs and genearlly appreciates form over function I'm even more biased against spending a lot of time polishing UIs.

In past lives I've spent weeks to months aligning pixels, and even rewriting a website from scratch for being off by 1 pixel. In certain contexts, that makes a lot of sense; but for a lot of other jobs to be done the UI is just not important. And spending engineering years implementing drop shadows, animations (which also consume a surprising amount of compute & battery) has come to feel like a bit of a waste.

I do live this as well: wherever I have the opportunity (ie a linux install) I'll end up installing i3 or sway and then working through them instead of dealing with other window managers. Text gets me most of the way; simple drop-downs and affordances do the rest.

Part of this feels like the eco-system developed around UIs, particularly cross platform UIs. HTML, CSS and Javascript get us some part of the way -- but the last mile seems to be so much more costly than I would have expected.

Reflecting on these letters

The point of this newsletter was to reflect on the past week and write down things I found interesting; now that I have almost a month of letters to look back it there are some clear patterns:

Kunal