115 karma · joined September 8, 2023
I see what you mean by length. I just skimmed over the text originally as I don't have time for rather lame problems like this. I'd just add 3 bits of length to be part of the index, job done. 12KB lookup table instead of 4KB, assuming 0 is not a valid value (negate to avoid needing 0b11).
The lookup table can detect some, but not all errors, so yeah, it relies on valid input.
> 3.2% is absolutely peanuts to what it was some 3-4 decades ago.
But 3-4 decades ago governments, all institutions and economy as as whole were not so much in debt. https://fred.stlouisfed.org/series/GFDEGDQ188S . And this chart doesn't include all the "unfunded liabilities".
You can hike rates to curb the inflation only if it doesn't bankrupt everything and everyone.
And 3-4 decades ago boomers globally were ahead of most productive years of their lives, without the "baggage" of tons of kids and globalization had plenty of room ahead to increase productivity.
I don't want to waste time talking about nonsense like AI and "space exploration". The financial system is screwed. That's all I'm saying.
How is it not obvious to everyone that this is the end game? Increasing rates will rapidly increase debt, which increases inflation, which pushes increasing rates ...
a = v ^ 0x30303030lu // normalize to digits 0xXX0a0b0c
b = (a << 12) | a // combine into XXXXXbacb0c
idx = (b >> 12) & 0xfff // get bac
res = lookup[idx]
They're in this sweet spot where they're neither held accountable by the voter, nor by the consumer.
The can be wrong over and over and over again and nothing is going to happen. A private company has to at least not loose more money then they can bribe politicians to give them.
:D
After enough people retire that remember how big of a mess this was, we can probably re-use "Service Oriented".
Helix uses tree-sitter for rich language support. Tree-sitter's grammars are binary dynamic libraries compiled from some source code. Depending on how they are written and how complex they are, they can be anywhere from few KB to many MB. There's like 150 of them ATM. It's not exactly Helix's fault that some are unreasonably large.
Tree-sitter is a large part of what makes Helix editing experience so good. Unlike regex-based parsing that (Neo)Vim uses (or at least it used to, last time I looked) which often break in weird ways and make the editor very sluggish sometimes.
Helix official releases ship with all the supported grammars pre-compiled to give a convenient fully-featured user experience. It's entirely possible to package Helix without grammars, then compile selected few and so on. Some distros and individual users do so. Grammars compiled by distros / package managers can be re-used between other programs using Tree-Sitter, so could be packages as additional (possibly optional) dependencies.
Honestly 140MB for such a good editor is totally fine with me, but people who can't live with it have plenty of routes to take, like improving Helix integration in their package manager of choice.
You could say it's a pattern.
For a lean and pragmatic text editor look at Helix, Kakoune, even NeoVim or Emacs.
Code is too multidimensional to be approximated with 2d drawings. It just doesn't work.
What could work are more conventional architectural code patterns. Things like structured concurrency, but also for higher level. Maybe.
Maybe i could even alternate every year so they are "well rounded".