1,070 karma · joined July 2, 2009
The Best of Greg Egan is a perfectly respectable place to start.
I didn't totally follow the issues with keeping the data in memory, and it sounds like it is solved now - but you could probably use a cardinality estimation algorithm to estimate the number of unique beacon IDs while only using constant space. https://en.wikipedia.org/wiki/Count-distinct_problem
I don't know any of them personally but "This was a group of scam artists in pursuit of a bigger payout." seems closer to the mark.
Not making excuses for DC, btw.
Crypto is closer to autogyro than automobile in adoption, and there is no guarantee that will ever change.
Honestly, I don't think the "public market square" has ever worked all that well, not even in a physical market square. You get 2 groups with sufficiently different views and before long it's devolved into shouting, if not a brawl.
This makes me wonder whether there is some other psychological process which makes those particular decisions hard.
And I haven't mentioned the lack of a strong universal string type, the way many libraries typedef their own family of different kinds of integer, the way one library will require you to free() a returned structure and another will require you to call my_library_free()...
It all adds up to additional friction.
You don't have to agree! Maybe I am out of date, I haven't really dealt with this since the mid 2000's. I'd be thrilled to hear this isn't an issue any more.
A lot of languages now have common tooling (cargo for rust, pip for python, etc) which makes it easier to find and incorporate the libraries you want. Apparently there are tools like https://conan.io/ but they're not as widely-adopted.
C's build system is similarly non-uniform. Many packages use Makefiles, others use different build mechanisms.
C has no universally-agreed error handling mechanism or convention. Whether exceptions or golang's error interface, you can generally assume that a random package in most languages will handle errors the way you expect. In C it's a lot more varied.
Similarly memory allocation - sometimes in a larger application you want to customize how malloc and friends work. How and whether you can do that for a C package is non-uniform.
Mind you the C standard library has a sort() function which will have sensible big-O behavior on pretty much any platform. I suspect this specific problem is more to do with this being kernel-mode code which has a lot of special conditions.
You said "countries that depeg". Pegging, in the context of cryptocurrencies and regular ones, means something specific: ensuring that the exchange rate between the 2 is fixed within a certain band. I don't believe that the US is threatened by whether other countries peg their currency to the dollar or not.
The dollar's use as reserve currency is a separate matter.
Try one of the many online 'balance the budget" games like https://us.abalancingact.com/2022-federal-budget .
Total federal outlays in 1989 were $1,143,744M in today's dollars. That's less than is currently spent on Medicare and Medicaid, ignoring everything else in the budget.
So you'll have to make some pretty substantial alterations.
Also this incident occurred next to a 4-lane public street, not exactly a workplace environment - Microsoft's campus is not a secluded enclave.