The context package is such a big mistake. But at this point we just have to live with it and accept our fate because it’s used everywhere
It adds boilerplate everywhere, is easily misused, can cause resource leaks, has highly ambiguous conotations for methods that take a ctx: Does the function do IO? Is it cancellable? What transactional semantics are there if you cancel the context during method execution.
Almost all devs just blindly throw it around without thinking about these things
And dont get me startet on all the ctx.Value() calls that traverse a linked list
Depending on your needs you can also break it into a columnar format with some standard compression on top. This allows you to search individual fields without looking at the rest.
It also compress exceptionally well, and “rare” fields will be null in most records, so run length encoding will compress them to near zero
See fx parquet
There is a dangerously large population of devs and managers that look at themselves, unironically, as the gigachads pumping out ui “upgrades”
Many of these fail to realize how disruptive it is. UI change is like API breakage for the brain.
I have lost track of how many times I’ve tried to help an elderly family member with an app after some pointless, trivial, ui change. Only ending with them entirely giving up on using the app after the “upgrade” because the cognitive overhead of the change is beyond the skill that can fairly be expected for them 💔