logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

Status-update-January-2022.md (3141B)


  1. ---
  2. title: Status update, January 2022
  3. date: 2022-01-17
  4. ---
  5. Happy New Year! I had a lovely time in Amsterdam. No one had prepared me for the
  6. (apparently infamous) fireworks culture of the Netherlands. I thought it was
  7. really cool.
  8. Our programming language continues to improve apace. Our cryptography suite now
  9. includes Argon2, Salsa20/XSalsa20, ChaCha20/XChaCha20, and Poly1305, and based
  10. on these functions we have added libsodium-style high-level cryptographic
  11. utilities for AEAD and key derivation, with stream encryption, message signing
  12. and verification, and key exchange coming soon. We have also laid out the
  13. priorities for future crypto work towards supporting TLS, and on the way we
  14. expect to have ed25519/x25519 and Diffie-Hellman added soon. Perhaps enough to
  15. implement an SSH client?
  16. I also implemented an efficient path manipulation module for the standard
  17. library (something I would really have liked to have in C!), and progress
  18. continues on date/time support. We also have a new MIME module (just for Media
  19. Types, not all of MIME) and I expect a patch implementing net::uri to arrive in
  20. my inbox soon. I also finished up cmsg support (for sendmsg and recvmsg), which
  21. is necessary for the Wayland implementation I'm working on (and was a major pain
  22. in the ass). I spent some time working with another collaborator, who is
  23. developing a RISC-V kernel in our language, implementing a serial driver for the
  24. SiFive UART, plus improving the device tree loader and UEFI support.
  25. One of the standard library contributors also wrote a side-project to implement
  26. [Ray Tracing in One Weekend] in our language:
  27. [Ray Tracing in One Weekend]: https://raytracing.github.io/
  28. ![A ray-traced image of many small, colorful balls with three large spheres, two
  29. of which have a mirrored surface that reflects the other
  30. balls.](https://git.sr.ht/~turminal/raytracing/blob/master/example.png)
  31. In other words, language development has been very busy in the past few weeks.
  32. Another note: I have prepared [a lightning talk] for FOSDEM which talks about
  33. the backend that we're using: [qbe]. Check it out!
  34. [a lightning talk]: https://fosdem.org/2022/schedule/event/lg_qbe/
  35. [qbe]: https://c9x.me/compile
  36. In SourceHut news, we have brought on a new full-time contributor, Adnan
  37. Maolood, thanks to [a generous grant from NLNet][nlnet]. We also have another
  38. full-time software engineer starting on February 1st (on our own dime), so I'm
  39. very much looking forward to that. Adnan will be helping us with the GraphQL
  40. work, and the new engineer will be working similarly to Simon and I on FOSS
  41. projects generally (and, hopefully, with GraphQL et al as well). Speaking of
  42. GraphQL, I'm putting the finishing touches on the todo.sr.ht writable API this
  43. week: legacy webhooks. These are nearly done, and following this we need to do
  44. the security review and acceptance testing, then we can ship. Adnan has been
  45. hard at work on adding GraphQL-native webhooks to git.sr.ht, which should also
  46. ship pretty soon.
  47. [nlnet]: https://sourcehut.org/blog/2022-01-10-nlnet-graphql-funding/
  48. That's all for today. Thanks for reading! I'll see you again in another month.