logo

drewdevault.com

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

Status-update-June-2022.md (3776B)


  1. ---
  2. title: Status update, June 2022
  3. date: 2022-06-15
  4. ---
  5. Hello again! I would like to open this post by acknowledging the response to my
  6. earlier post, "bleh". Since it was published, I have received several hundred
  7. emails expressing support and kindness. I initially tried to provide these with
  8. thoughtful replies, then shorter replies, then I had to stop replying at all,
  9. but I did read every one. Thank you, everyone, for sending these. I appreciate
  10. it very much, and it means a lot to me.
  11. I have actually had a lot more fun programming this month than usual, since I
  12. decided to spend more time on experimental and interesting projects and less
  13. time on routine maintenance or long-term developments. So, the feature you've
  14. been waiting for in SourceHut might be delayed, but in return, there's cool
  15. progress on the projects that you didn't even know you were waiting for. Of
  16. course, the SourceHut workload never dips below a dull roar, as I have to attend
  17. to business matters and customer support promptly, and keep a handle on the
  18. patch queue, and the other SourceHut staff and contributors are always hard at
  19. work — so there'll be plenty to discuss in the "what's cooking" later.
  20. The bulk of my focus has been on the Helios kernel this month, a project [I
  21. introduced][helios] a couple of days ago. I spent a lot of time furiously
  22. refactoring, reworking the existing kernel code for evalutaing features like
  23. page allocation and virtual address space management into capability-oriented
  24. kernel services that can be provided to userspace, then overhauling our startup
  25. code to provision a useful set of capabilities for the init process to take
  26. advantage of. I also implemented x86\_64 I/O port services, which allowed for
  27. the first few drivers to be written in userspace — serial ports and simple
  28. VBE graphics. We also got interrupts working properly and brought up the PIT,
  29. which is another major step towards multi-tasking. I also implemented a new
  30. syscall ABI with error handling, and refactored a lot of the arch-specific code
  31. to make new ports easier. The kernel is in a much better state now than it was a
  32. month ago (and to think it's only three months old!).
  33. [helios]: https://drewdevault.com/2022/06/13/helios.html
  34. ![A picture of Helios drawing to a framebuffer](https://l.sr.ht/KeMW.jpg)
  35. There was also a lot of progress on [Himitsu], which I plan on presenting in a
  36. video and blog post in a few days time. The Firefox add-on actually works now
  37. (though some features remain to be done), and Alexey Yerin fixed several
  38. important bugs and contributed several new features. The user is now prompted to
  39. consent before deleting keys, and we have a new GTK+ prompter written in Python,
  40. which is much more reliable and feature-full thanks to Martijn Braam's help
  41. (rewriting it in C again is a long-term TODO item for any interested
  42. contributor). I also made some progress towards what will ultimately become
  43. full-disk encryption support.
  44. [Himitsu]: https://sr.ht/~sircmpwn/himitsu
  45. ![himitsu-keyring, a new GTK+ keyring manager from Martijn Braam](https://brixitcdn.net/metainfo/keyring.png)
  46. Hare also enjoyed many improvements this month. We have some new improvements to
  47. date/time support, including fixes for Martian time ;) I also mostly implemented
  48. cross-compiling, which you can try out with `hare build -t riscv64` or something
  49. similar. The major outstanding pain point here is that the Hare cache is not
  50. arch-aware, so you need to `rm -rf ~/.cache/hare` each time you switch
  51. architectures for now. We now have complex number support, as well as
  52. improvements to encoding::json and net::uri.
  53. ![A screenshot of a fractal rendered with the aid of Hare's new complex number
  54. support](https://l.sr.ht/Do-Q.png)
  55. That's all for today. Until next time!