Two.js Updated +Created
Examples at: two-js/.
JavaScript library, works both on browser and headless with Node.js to SVG.
Feels good. Maybe not ultra featured, and could have more simple examples in docs, but still good.
One of the main features of Two.js appears to be the fact that it can natively render to either SVG and canvas, rather than creating SVG through DOM hacks as done by other projects.
Pre-shared key Updated +Created
An overview of what you can do with a pre-shared key with tradeoffs can be found at: quantumcomputing.stackexchange.com/questions/142/advantage-of-quantum-key-distribution-over-post-quantum-cryptography/25727#25727 The options are:
Resource Description Framework Updated +Created
This is one of those idealistic W3C specifications with super messy implementations all over.
1000 Monero donation Updated +Created
On 2024-03-18, Ciro Santilli received an anonymous 1000 Monero donation (worth ~126k USD at the time) to his self-custody wallet, which pushed him over his public plea for 100k USD goal to quit his job for one year.
The transaction ID was 5c6af4df39021f3a4a053ef169c9b397e6d6bf6c7e557d3f08e4e1675d7d3eed to self hist custody wallet with address 47kzoCeRMTohJhADejtsGmGimvQKzNsuST7u2aVhAD1VX5WDbh3v1FPUoJoTK3NTJVUgAM3dWCqC4Tmp9KSQaJi6GGYWgYn. This is a roof generated by his Monero wallet: InProofV2AVFBmFhofH4GoG5NsaDutkdNWRTaEhuFgHpHTkpprRmuZ54B8FdUwFp71gqfp2jJpDUrhB3GCzZ2p8CNbh2TW1Z88ShmYWEwtkZFLccEMw9PhH3vWcMVo9mKaRsH3WgJXqq9.
Since this donation is so huge, it deserves some comments and a bit of a retrospective. The path to this donation has been an interactive one, and it is described below.
After starting the OurBigBook Project, Ciro started the sponsor Ciro Santilli's work on OurBigBook.com page on cirosantilli.com and setup some donation methods to help support the project, and possibly try to capitalize a bit on Ciro Santilli's Stack Overflow contributions.
His sponsors are absolutely crazy amazing people, but Ciro simply could attract a large enough amount of small sponsors to reach life changing amounts under those circumstances. This is partly due to Video "And I am not and never have been 'familiar' scene from The Big Short (2015)".
As such, Ciro came to realize more and more that the best approach would be to reach out to a smaller number of rich people, given that the things he works on niche, but may appeal to a particularly wealthy tranche of the population: STEM people. Other experiences and ideas that contribute to this realization are:
  • the creation of the OurBigBook Fellowship, which as of writing consisted of a single donation. During this exercise, Ciro Santilli gave about 2k USD to help a promising Brazilian student. In doing so, he understood a lot about what goes on inside a "rich person's" head when considering a donation
    • it is hard to decide who to donate to and find those people. In part because as soon as you create a public donation system with an application process, people will game the fuck out of it. Perhaps the Lost Horse LLC approach of "they find you" is the best?
    • it is basically impossible to donate more than 1% of your net worth if you have a family. Even 1% you may be discouraged about. Perhaps with reason due to previous bad donations they have made.
  • the increasing wealth inequality of this world, perhaps one of the greatest problems we now face
Then, whenever a larger donation would come through and surprise Ciro, he would improve his sponsor page statements. First a private 150 USD by an awesome sponsor. Then the 2023-09 ~810$ Bitcoin one. Finally came the 2023-11-20 100 Monero one. And it was that one that pushed Ciro to start his "100k USD = 1 year campaign".
Finally on 2024-03-13, Ciro received an anonymous 10 Monero donation to self-custody wallet. He had clearly stated that one should make a test donation to that wallet before the big one, so 10 Monero felt like it could be the test one. Ciro communicated the reception at: mastodon.social/@cirosantilli/112112988286298258 and twitter.com/cirosantilli/status/1769464788009066710:
I cashed out 10 XMR on @AgoraDesk for ~1,375 USD, and kept some change in the wallet for fun. This donation confirms that my self-hosted wallet and cash-out work just fine, so feel free to drop those millions whenever you want Mr. Anon :-)
Over the next few days, Ciro checked his wallet more often than his previously self imposed once a weekend max, and as expected, he found the big one on a slightly despaired around midnight sleepless night (partly due to parenthood). He was feeling particularly bored and a bit sad with his work life that night. And there it was. 1000 Monero on the wallet. Needless to say, not much sleep was done on that evening!!!
Video 1.
1000 Monero donation (~126,000 USD) reaction video by Ciro Santilli
. Source.
Figure 1.
Still of the reaction video after finding out about the big donation around about midnight
. Source.
Figure 2.
Screenshot of Ciro Santilli's Monero wallet with 1000 Monero in it just after the donation
.
The following days were also tense, with Ciro having a trial by fire on selling large amounts of Monero on the UK, which is not trivial as it had been banned from all major exchanges. But he managed. Further notes on that at: www.reddit.com/r/Monero/comments/17arz9f/converting_xmr_to_gbp_in_the_uk/. Ciro also decided to keep about 200 Monero around just for fun as a crazy moonshot.
Another major factor likely Ciro having published his article: Section "Cool data embedded in the Bitcoin blockchain" in 2019. This is something he wrote entirely for fun during an intense 3 week side-time binge in 2019, though some large updates were made later on. It was this article that likely some crypto-dude attention to Ciro Santilli's profile. As of 2024, there is said to be about 20 crypto billionaires, so perhaps there are about 2000 crypto 10 millionaires[ref], which is the minimum net worth for a donation of 100k USD to be feasible (1% mark). And perhaps a reasonable number of them are just nerds who got rich, and want to improve the world. There are two lessons from this:
  • follow your instincts, always. If something seems mega fun and quick, do it!
  • making money from a few rich people (or entities like organizations) is easier than working for a bunch of poor people, because you have to convince less people. If you reach many poor people however, things are much more stable as you can lose a few customers and still be fine
Another factor in the donation, Ciro Santilli believes, is that many rich people thing that education is bullshit. Many successful people are neurodiverse and as such, it is only natural that a large number of rich people want to improve our educational system, which tends to be the very epitome of "boring and average normality" which Ciro Santilli so much detests. This can also be seen in people such as:
Amazing reactions from the Monero Reddit community: www.reddit.com/r/Monero/comments/1brryao/ciro_santilli_received_a_1000_xmr_donation_to/
  • geonic_ comments:
    Reaction video is fake. Very bad acting.
  • Inaeipathy comments:
    Well, anyways, I would be very unsurprised if this 1000 XMR was sent to him by himself for... reasons.
  • -TrustyDwarf- comments:
    Anyone mind to explain wtf this ugly piece of webpage reminding me of geocities from the 90s is about? I'd read it myself but I can't because it already gave me eye cancer.
  • rbrunner7 comments:
    It's all quite strange. Never mind the 90s design, people built good websites already back then with the tools at hand, but even their "About" isn't very clear. If you need 5 minutes to be reasonably sure what it is all about they are still doing it wrong.
These people have some serious trust issues!!! Perhaps not surprising from a privacy coin community. Ciro's Twitter post: twitter.com/cirosantilli/status/1775961945193017790
Figure 3.
It's a role given to me by the Internet people
. Source.
Type-I superconductor Updated +Created
NP-hard cryptosystems Updated +Created
This is natural question because both integer factorization and discrete logarithm are the basis for the most popular public-key cryptography systems as of 2020 (RSA and Diffie-Hellman key exchange respectively), and both are NP-intermediate. Why not use something more provenly hard?
ICMP runs on top of IP Updated +Created
This can be seen with Wireshark very clearly for example, just make a ping and disssemble it.
Solution of the Ising model Updated +Created
TODO what it means to solve an Ising model in general?
stanford.edu/~jeffjar/statmech/lec4.html gives some good notions:
  • is the expectation value of the value. It is therefore a number between -1.0 an and 1.0, -1.0 means everything is always down, 0.0 means half up half down, and 1.0 means all up
  • : correlation between neighboring states. TODO.
3D Ising model Updated +Created
Node.js Updated +Created
WellSync, if you are gonna useSync this wonky language thing inSync one place, you might as well useSync it everywhereSync and make it more decent. See also: how to convert async to sync in JavaScript.
TypeScript Updated +Created
TypeScript is good. It does find errors in your JavaScript. But it is a form of "turd polishing". But Ciro Santilli would rather have a polished turd than a non-polished one.
Part of the reason TypeScript became popular is due to the universality of asset bundlers. Once you are already using an asset bundler, changing the .js extension into .ts to get a less shitty experience is an easy choice.
The other big reason is that JavaScript is so lose with type conversions, notably undefined happily converting to strings without problems, and any missing properties of Object happily being undefined. We should actually use ES6 Map everywhere instead of using Objects as maps.
Since TypeScript is not the default form of the language however, it inevitably happens that you need to add external types for a gazillion projects that are using raw JavaScript, and sometimes fight a lot to get things to work. And so we have: github.com/DefinitelyTyped/DefinitelyTyped. Not sure if this is beautiful, or frightening.
But in the end, as with other type of static linters, TypeScript generally transforms a few hard to debug runtime issues, into a bunch of stupid to solve compile time issues, which is generally a good thing.
The fact that this it parses comments JSDoc comments in JavaScript files is quite amazing.
Examples under typescript. Run each one of them with:
npx tsc example.ts
node example.js
Helper:
tsr() (
  # ts Run
  f="$1"
  npx tsc "$f"
  node "${f%.*}.js"
)
tsr example.ts
Some major annoyances of TypeScript:
IBM Spectrum LSF Updated +Created
DC Josephson effect Updated +Created
JAR (file format) Updated +Created
Monaco (editor) Updated +Created
However also at the same time very limited integration with vscode, that makes using it for VScode compatibility almost useless, e.g.:
Len Sassaman Updated +Created
Google LLC v. Oracle America, Inc. Updated +Created

Unlisted articles are being shown, click here to show only listed articles.