logo

drewdevault.com

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

Status-update-October-2020.md (3367B)


  1. ---
  2. title: Status update, October 2020
  3. date: 2020-10-15
  4. outputs: [html, gemtext]
  5. ---
  6. I'm writing this month's status update from a brand-new desktop workstation
  7. (well, I re-used the GPU), my first new workstation in about 10 years. I hope
  8. this new one lasts for another decade! I aimed for something smaller and
  9. lightweight this time — it's a Mini-ITX build. I've only been running this
  10. for a few days, so let me tell you about the last few accomplishments which are
  11. accountable to my venerable workstation's final days of life.
  12. First, there's been a ton of important work completed for SourceHut's API 2.0
  13. plans. All of the main blockers for the first version of meta.sr.ht's writable
  14. GraphQL API are resolved, and after implementing a few more resolvers it should
  15. be in a shippable state. This included riggings for database transactions,
  16. simplification of the mini-"ORM" I built, and support for asyncronous work like
  17. delivering webhooks. The latter called for a new library, [dowork][dowork],
  18. which you're free to reuse to bring asyncronous work processing to your Go
  19. programs.
  20. [dowork]: https://sr.ht/~sircmpwn/dowork/
  21. I also built a new general-purpose daemon for SourceHut called
  22. [chartsrv][chartsrv], which can be used to generate graphs from
  23. [Prometheus][prometheus] data. The following is a real-time graph of the load
  24. average on the builds.sr.ht workers:
  25. [chartsrv]: https://sr.ht/~sircmpwn/chartsrv/
  26. [prometheus]: https://prometheus.io/
  27. ![A chart which hopefully shows a reasonable load average across all workers](https://metrics.sr.ht/chart.svg?title=Build%20worker%20load%20average&query=avg_over_time%28node_load15%7Binstance%3D~%22cirno%5B0-9%5D%2B.sr.ht%3A80%22%7D%5B1h%5D%29&max=64&since=336h&stacked&step=10000&height=3&width=10)
  28. I've been getting more into [Gemini][gemini] this month, and have completed
  29. three (or four?) whole projects for it:
  30. [gemini]: https://gemini.circumlunar.space/
  31. - [gmni][gmni] and gmnlm: a client implementation and line-mode browser
  32. - [gmnisrv][gmnisrv]: a server implementation
  33. - [kineto][kineto]: an HTTP->Gemini portal
  34. [gmni]: https://sr.ht/~sircmpwn/gmni/
  35. [gmnisrv]: https://sr.ht/~sircmpwn/gmnisrv/
  36. [kineto]: https://sr.ht/~sircmpwn/kineto/
  37. The (arguably) fourth project is the completion of a Gemini version of this
  38. blog, which is available at `gemini://drewdevault.com`, or via the kineto portal
  39. at [portal.drewdevault.com](https://portal.drewdevault.com). I'll be posting
  40. some content exclusively on Gemini (and I already have!), so get yourself a
  41. client if you want to tune in.
  42. I have also invested some effort into [himitsu][himitsu], a project I shelved
  43. for so long that you probably don't remember it. Worry not, I have rewritten the
  44. README.md to give you a better introduction to it. Here's a screenshot for your
  45. viewing pleasure:
  46. [himitsu]: https://git.sr.ht/~sircmpwn/himitsu
  47. ![A GUI dialog asking a user to consent to allow an application to access their IMAP credentials](https://l.sr.ht/hr4G.png)
  48. Bonus update: two new [BARE](https://baremessages.org) implementations have
  49. appeared: OCaml and Java.
  50. That's all for now! I'll see you for the next update soon. Thanks for your
  51. support!
  52. <details>
  53. <summary>...</summary>
  54. <img src="https://l.sr.ht/y15d.png" alt="A screenshot of a page of a programming language specification detailing the syntax of tagged unions" />
  55. </details>