logo

drewdevault.com

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

Status-update-March-2021.gmi (2504B)


  1. After the brief illusion of spring, this morning meets us with a cold apartment indoors and fierce winds outdoors. Today concludes a productive month, mainly for the secret project and for sourcehut, but also marked by progress in some smaller projects as well. I’ll start with those smaller projects.
  2. I have written a feed reader for Gemini, which is [1] free software, and [2] available as a free hosted service. Big thanks to adnano, the author of the go-gemini library, which has been very helpful for many of my Gemini-related exploits, and who has been a great collaborator. I also used it to provide Gemini support for the new pages.sr.ht, which offers static web and gemini hosting for sr.ht users. I also updated gmni to use BearSSL instead of OpenSSL this month.
  3. => https://sr.ht/~sircmpwn/gemreader [1]
  4. => gemini://feeds.drewdevault.com [2]
  5. godocs.io has been enjoying continued improvements, mainly thanks again to adnano. Heaps of obsolete interfaces and cruft have been excised, not only making it lighter for godocs.io, but also making our gddo fork much easier for you to run yourself. Adnan hopes to have first-class support for Go modules working soon, which will bring us up to feature parity with pkg.go.dev.
  6. There’s some sourcehut news as well, but I’ll leave that for the “What’s cooking” later today. Until next time!
  7. Progress on the secret project has been phenomenal. In the last month, the standard library has doubled in size, and this weekend, we finished the self-hosted build driver. We are about 1,000 lines of code shy of having more code written in xxxx than in C. Here’s the build driver compiling and running itself several times:
  8. ```
  9. $ •••• run ./cmd/•••• run ./cmd/•••• run -h
  10. run: compiles and runs •••• programs
  11. Usage: run [-v]
  12. [-D <ident:type=value>]
  13. [-j <jobs>]
  14. [-l <name>]
  15. [-T <tags...>]
  16. [-X <tags...>]
  17. path args...
  18. -v: print executed commands
  19. -D <ident:type=value>: define a constant
  20. -j <jobs>: set parallelism for build
  21. -l <name>: link with a system library
  22. -T <tags...>: set build tags
  23. -X <tags...>: unset build tags
  24. ```
  25. The call for help last month was swiftly answered, and we have 7 or 8 new people working on the project now. We’ve completed enough work to unblock many workstreams, which will allow these new contributors to work in parallel on different areas of interest, which should substantially speed up progress.