Kiesel Devlog #11: Community Edition
Published on 2024-09-01.Since the last devlog I've barely done any work on Kiesel myself due to being on vacation, so this one is entirely dedicated to things other people contributed!
On that note: I created a Matrix space for the project where you can ask questions or just hang out and chat. I'll also try to post about in-progress things once in a while. Feel free to join!
NaN-Boxing
It was clear we'd need NaN-boxing in Kiesel eventually so I started investigating and doing some refactoring until Carter offered to implement it and came back with a PR two days later (kiesel-js/kiesel#37)!
It provided the performance gains we hoped for and I'm really happy with how it turned out :^)
There are good explanations about NaN-boxing here and here, I recommend you read those if you want to learn more.
kiesel(1)
To my pleasant surprise Clara wrote a traditional manual page for Kiesel: kiesel(1)! We'll extend it over time and I can't wait to run man kiesel
once someone starts packaging it :^)
Weak References
Also implemented by Carter were the types for working with weak references:
WeakRef
(kiesel-js/kiesel#42)WeakSet
(kiesel-js/kiesel#44)WeakMap
(kiesel-js/kiesel#45)
As well as some foundational work:
FinalizationRegistry
(kiesel-js/kiesel#40)
We attempted this twice before and it's great to see how everything fell into place after he figured out the initial GC integration!
UEFI Interactive REPL
Yes, you read that right. I take great pride in Kiesel being a portable piece of software, and the main limitation of its UEFI port was having to hardcode the JS being evaluated.
Luckily I managed to bait CxByte into resolving this critical issue (kiesel-js/kiesel#50). All of the heavy lifting is done in zigline
itself so you can use this in your own projects!
Wikidata
Thanks to sofia Kiesel recently got a Wikidata entry! It's probably not quite relevant enough for a Wikipedia article but maybe we'll get there too some day :^)
You're welcome to add more data points if that's your thing, and while I'll not edit this myself I'm always happy to fact-check or provide good sources!
It's Always DNS
Thanks to my friends at project SERVFAIL kiesel.dev
now uses globally distributed highly available home grown name servers:
$ dig +noall +answer NS kiesel.dev
kiesel.dev. 4406 IN NS ns1.famfo.xyz.
kiesel.dev. 4406 IN NS ns2.famfo.xyz.
kiesel.dev. 4406 IN NS ns1.homecloud.lol.
kiesel.dev. 4406 IN NS miyuki.sakamoto.pl.
Unfortunately they don't use any JS so I put some in a TXT
record.
Marketing Go Brrr
Speaking of SERVFAIL, I also managed to recruit their marketing manager!
Shebang has been hard at work producing misinformation about the project at an alarming rate. We gotta have some fun, too :^)
Expand to read the bangers (there's a lot of them)
As the new Kiesel marketing lead, I would like to announce some new Kiesel features coming your way (thread)
- Kiesel will now be built on other Ecma technical committies, other than TC39. Meaning that yes, Kiesel will support being used as a CD, as per TC31: https://ecma-international.org/technical-committees/tc31/
- A new subscription tier will arrive to Kiesel soon. (Linus needs to eat somehow!) Kiesel Pro will allow you to access features such as Promises, Array prototype methods and booleans!
here’s a sneak peek:
> a = []; [] > a.push("meow"); PaywallError: This feature requires a Kiesel™️ Pro subscription.
- Kiesel will now be ported to those little phones that go "ayayaya im a little butterfly!"
- Kiesel will support being PID 1, so you can go into userspace with Kiesel!
I'm sorry if you followed this account in hopes that I'd be serious about announcing things about #SERVFAIL and/or Kiesel.
Because I definitely am. Anyways who wants a free Kiesel Pro product key??
wow congratulations to this completely uninvolved party that definitely would not lie about winning a giveaway!!!! @iro_miya you just won the Kiesel Pro key tell us all about how you are using it right now and that I definitely DMed it to you
hiiii, thank you so much for the Kiesel Pro key! I am using the Kiesel Pro key to open the Kiesel Pro door. I am currently chilling in the Kiesel Pro room. :ablobcatbongo:
test262.fyi now has #Kiesel Pro added. would you look at that! 173.9%!
if you can't find it on test262.fyi, it's because only Kiesel Pro users can see the value
Reminder to Kiesel Pro customers that Kiesel Pro continues to pass 180% of the test262 suite
oh they're just throwing new ideas in there. IntermediateMap. Array.reverseReverse. Number.nullify. you name it, it's in Kiesel Pro
did you know? @linus is the creator of Kiesel, Linux and runs a very successful Youtube channel called "Linus Tech Tips". This is a true fact!
i can say this per my kiesel contract, which stipulates i can say anything about kiesel
That's all for now! It's really nice to see Kiesel slowly moving away from being just me (it was like that on purpose, read some of the earlier devlogs for the history). Both code and non-code contributions are much appreciated, if you want to get involved please reach out!
Thanks to Domi for proof-reading this post <3