I was diagnosed with #HIV in 1998, when I was 30.
At the time, I did not expect to live to 50.
I’m 55 now.
HIV treatment works and it means I can’t pass it on - we call this #UequalsU.
HIV changed. Tell everyone.
#WorldAIDSDay #WorldAIDSDay2022 #AIDShistory #CantPassItOn #FightStigma
So uhh...
Today's #projects is the first known to me #webassembly runtime in #lean4 complete for a tiny subset of #wasm.
I'm going to keep going deep before refactoring and supporting the entire bredth of the standard.
When people tell you that #wasm is a simple VM they don't lie. The problem is that it's still a pretty big VM with a lot of features. Implementing it is approximately as easy or as hard as implementing a C99 compiler.
I mean, it's sort of easier, but maybe twice as easy. Not by an order of magnitude.
That's why I strongly suggest the following path for implementers:
1. Read the whole spec and try to understand it. Read some blog posts, play with wasmer like it's shown in some example repositories[1].
2. Implement a #wast parser into Exprs. Ignore #wat.
3. Implement a thing that instantiates and runs Exprs.
After you experimented with your runtime enough, you'll be able to easily extend it with binary capabilities. I made a mistake of supporting emitting binary format before writing the runtime and while it was a nice, fun and necessary experience that allowed me to learn way more about wasm binary encoding, it didn't inform the architecture for the runtime and by the time I started runtime, deadlines were tighter than I'd like them to be, so my architecture is garbage.
But runtime architecture is the most important architectural decision you'll be making while implementing #wasm runtime, so don't repeat my mistakes and work on it first.
After you're happy with all the important bits, write binary serealisation / desearialisation with an assistance of hexdumps of the files you made in (1).
If you keep these 5 things in mind, you'll paint faster and your paintings will be nicer to look at.
More on my blog:
https://gurneyjourney.blogspot.com/2017/06/what-is-blast-rule.html
@alesgenova I can already see that the car is very fragile. You don't want to kock it even slightly against anything. I'm trying to drive #i20 btw.
The stages for #RallyIslasCanarias are up! Starting to make notes.
https://rallysimfans.hu/rbr/rally_online.php?centerbox=rally_list_details.php&rally_id=49592
Time to drive some fast cars in #VR.
It's this time of the year where many people are looking to learn new things and broaden their horizons.
If you are interested in #Haskell, last year I wrote a free book for beginners. It uses a project-oriented approach where you learn Haskell by building a static blog generator.
If this sounds interesting, consider checking it out :)
When shown the huge list of operating systems curl runs on, people often ask me which is the strangest, or hardest, operating system to keep curl support for. The answer is always, and will probably always remain: Windows.
No other operating system has so many custom, special, weird and quirky ways that require special-case solutions in the code.
End-to-End Encryption for Mastodon
https://github.com/soatok/mastodon-e2ee-specification
If you are a #GM, check this free #zine out (this one is a #netbook, not a zine, but same in spirit). Even though the authors are basing their works on #ComicBooks it's generic and can be used with any #TabletopRPG and even help with writing #fiction.
That https://doma.dev guy
#lean #elixir #typescript #react #nix
In my non-existent free time I design and run #TTRPG
If you use tools made by genocide-apologists, you are a genocide-apologist.
#lemmy users aren't welcome here.