From 597a57fb415868a49344f30e8a64070ae881c886 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 11 Mar 2026 19:20:01 +0200 Subject: Update content for html --- about/resources.html | 202 ++--- about/showcase.html | 1401 +++++++++++++++++++---------------- about/showcase/debroid/image-1.png | 174 ++--- about/showcase/ior/image-2.png | Bin 0 -> 84146 bytes about/showcase/loadbars/image-1.gif | Bin 0 -> 93467 bytes 5 files changed, 934 insertions(+), 843 deletions(-) create mode 100644 about/showcase/ior/image-2.png create mode 100644 about/showcase/loadbars/image-1.gif diff --git a/about/resources.html b/about/resources.html index 6e6a088a..b354b1f0 100644 --- a/about/resources.html +++ b/about/resources.html @@ -51,112 +51,112 @@ In random order:


Technical references



I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order:


Self-development and soft-skills books



In random order:


Here are notes of mine for some of the books

@@ -165,22 +165,22 @@ Some of these were in-person with exams; others were online learning lectures only. In random order:


Technical guides



@@ -198,31 +198,31 @@ In random order:


Podcasts I liked



I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests.


@@ -231,27 +231,27 @@ This is a mix of tech and non-tech newsletters I am subscribed to. In random order:


Magazines I like(d)



This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order:


YouTube channels


diff --git a/about/showcase.html b/about/showcase.html index ac803651..98dfde3c 100644 --- a/about/showcase.html +++ b/about/showcase.html @@ -13,7 +13,7 @@

Project Showcase



-Generated on: 2026-03-02
+Generated on: 2026-03-11

This page showcases my side projects, providing an overview of what each project does, its technical implementation, and key metrics. Each project summary includes information about the programming languages used, development activity, and licensing. The projects are ranked by score, which combines project size and recent activity.

@@ -23,185 +23,235 @@
  • Project Showcase
  • Overall Statistics
  • Projects
  • -
  • ⇢ ⇢ 1. ior [#1(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 2. hexai [#2(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 3. dotfiles [#3(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 4. epimetheus [#4(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 5. conf [#5(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 6. foo.zone [#6(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 7. foostore [#7(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • foostore
  • -
  • ⇢ ⇢ 8. scifi [#8(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 9. log4jbench [#9(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 10. rcm [#10(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 11. gogios [#11(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 12. yoga [#12(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 13. perc [#13(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 14. totalrecall [#14(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 15. gitsyncer [#15(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 16. tasksamurai [#16(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 17. foostats [#17(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 18. gos [#18(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 19. timr [#19(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 20. dtail [#20(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 21. ds-sim [#21(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 22. gemtexter [#22(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 23. wireguardmeshgenerator [#23(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 24. goprecords [#24(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 25. quicklogger [#25(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 26. terraform [#26(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 27. sillybench [#27(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 28. gorum [#28(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 29. guprecords [#29(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 30. geheim [#30(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 31. docker-radicale-server [#31(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 32. algorithms [#32(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 33. randomjournalpage [#33(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 34. photoalbum [#34(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 35. ioriot [#35(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 36. ipv6test [#36(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 37. fype [#37(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 38. sway-autorotate [#38(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 39. mon [#39(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 40. staticfarm-apache-handlers [#40(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 41. pingdomfetch [#41(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 42. xerl [#42(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 43. ychat [#43(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 44. fapi [#44(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 45. perl-c-fibonacci [#45(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 46. netcalendar [#46(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 47. loadbars [#47(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 48. gotop [#48(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 49. rubyfy [#49(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 50. pwgrep [#50(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 51. perldaemon [#51(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 52. jsmstrade [#52(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 53. japi [#53(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 54. perl-poetry [#54(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 55. muttdelay [#55(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 56. netdiff [#56(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 57. debroid [#57(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 58. hsbot [#58(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 59. cpuinfo [#59(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 60. template [#60(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 61. awksite [#61(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 62. dyndns [#62(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • -
  • ⇢ ⇢ 63. vs-sim [#63(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 1. ior [#1(now) →#1(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 2. timesamurai [#2(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 3. dotfiles [#3(now) →#3(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • dotfiles
  • +
  • ⇢ ⇢ 4. loadbars [#4(now) ↑#47(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • loadbars - A small and humble tool to observe server loads
  • +
  • ⇢ ⇢ 5. epimetheus [#5(now) ↓#4(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 6. conf [#6(now) ↓#5(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 7. foostore [#7(now) →#7(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 8. scifi [#8(now) →#8(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Sci-Fi Books Showcase
  • +
  • ⇢ ⇢ 9. log4jbench [#9(now) →#9(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Log4j2 Benchmark Tool
  • +
  • ⇢ ⇢ 10. rcm [#10(now) →#10(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • RCM - Ruby Configuration Management
  • +
  • ⇢ ⇢ 11. yoga [#11(now) ↑#12(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Yoga
  • +
  • ⇢ ⇢ 12. totalrecall [#12(now) ↑#14(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • totalrecall - Bulgarian Anki Flashcard Generator
  • +
  • ⇢ ⇢ 13. gogios [#13(now) ↓#11(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Gogios
  • +
  • ⇢ ⇢ 14. hexai [#14(now) ↓#2(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Hexai
  • +
  • ⇢ ⇢ 15. perc [#15(now) ↓#13(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • perc
  • +
  • ⇢ ⇢ 16. tasksamurai [#16(now) →#16(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Task Samurai
  • +
  • ⇢ ⇢ 17. gitsyncer [#17(now) ↓#15(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • GitSyncer
  • +
  • ⇢ ⇢ 18. foostats [#18(now) ↓#17(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • foostats
  • +
  • ⇢ ⇢ 19. gos [#19(now) ↓#18(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Gos (Go Social Media)
  • +
  • ⇢ ⇢ 20. timr [#20(now) ↓#19(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • timr
  • +
  • ⇢ ⇢ 21. dtail [#21(now) ↓#20(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 22. ds-sim [#22(now) ↓#21(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • DS-Sim
  • +
  • ⇢ ⇢ 23. gemtexter [#23(now) ↓#22(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 24. wireguardmeshgenerator [#24(now) ↓#23(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • WireGuard Mesh Generator
  • +
  • ⇢ ⇢ 25. goprecords [#25(now) ↓#24(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • goprecords - Global uptime records
  • +
  • ⇢ ⇢ 26. quicklogger [#26(now) ↓#25(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Quick logger
  • +
  • ⇢ ⇢ 27. terraform [#27(now) ↓#26(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Terraform
  • +
  • ⇢ ⇢ 28. sillybench [#28(now) ↓#27(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Silly Benchmark
  • +
  • ⇢ ⇢ 29. gorum [#29(now) ↓#28(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Gorum
  • +
  • ⇢ ⇢ 30. geheim [#30(now) →#30(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • geheim.rb
  • +
  • ⇢ ⇢ 31. docker-radicale-server [#31(now) →#31(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Radicale Docker image
  • +
  • ⇢ ⇢ 32. algorithms [#32(now) →#32(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 33. randomjournalpage [#33(now) →#33(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Read a random journal
  • +
  • ⇢ ⇢ 34. photoalbum [#34(now) →#34(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • photoalbum
  • +
  • ⇢ ⇢ 35. ioriot [#35(now) →#35(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • I/O Riot
  • +
  • Overview
  • +
  • Benefits
  • +
  • Send in patches
  • +
  • How to install I/O Riot
  • +
  • How to use I/O Riot
  • +
  • Appendix
  • +
  • Supported file systems
  • +
  • Supported syscalls
  • +
  • Source code documentation
  • +
  • ⇢ ⇢ 36. ipv6test [#36(now) →#36(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • IPv6 Test Website
  • +
  • ⇢ ⇢ 37. fype [#37(now) →#37(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • Fype
  • +
  • ⇢ ⇢ 38. xerl [#38(now) ↑#42(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 39. sway-autorotate [#39(now) ↓#38(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • sway-autorotate
  • +
  • ⇢ ⇢ 40. staticfarm-apache-handlers [#40(now) →#40(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 41. mon [#41(now) ↓#39(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 42. guprecords [#42(now) ↓#29(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 43. pingdomfetch [#43(now) ↓#41(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 44. fapi [#44(now) →#44(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 45. perl-c-fibonacci [#45(now) →#45(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 46. netcalendar [#46(now) →#46(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 47. gotop [#47(now) ↑#48(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 48. rubyfy [#48(now) ↑#49(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 49. pwgrep [#49(now) ↑#50(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 50. awksite [#50(now) ↑#61(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 51. jsmstrade [#51(now) ↑#52(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 52. perldaemon [#52(now) ↓#51(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 53. japi [#53(now) →#53(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 54. debroid [#54(now) ↑#57(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 55. perl-poetry [#55(now) ↓#54(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 56. muttdelay [#56(now) ↓#55(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 57. netdiff [#57(now) ↓#56(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 58. hsbot [#58(now) →#58(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 59. dyndns [#59(now) ↑#62(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 60. cpuinfo [#60(now) ↓#59(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 61. template [#61(now) ↓#60(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 62. vs-sim [#62(now) ↑#63(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 63. ychat [#63(now) ↓#43(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]
  • +
  • ⇢ ⇢ 64. foo.zone [#64(now) ↓#6(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]

  • Overall Statistics




    Projects



    -

    1. ior [#1(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    1. ior [#1(now) →#1(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    ior screenshot

    -I/O Riot NG is a Linux-only performance analysis tool that uses BPF (Berkeley Packet Filter) to trace synchronous I/O syscalls and measure their execution time. It captures stack traces during I/O operations and generates compressed output in a format compatible with Inferno FlameGraphs, allowing developers to visually identify performance bottlenecks caused by blocking I/O calls. This makes it particularly useful for diagnosing latency issues in applications where I/O operations are suspected of causing performance degradation.
    -
    -ior screenshot
    -
    -The tool is implemented in Go and C, leveraging libbpfgo for BPF interaction. It automatically generates BPF tracepoint handlers and Go type definitions from Linux kernel tracepoint data, attaches to syscall entry/exit points, and collects timing data with minimal overhead. The project is a modern successor to the original I/O Riot (which used SystemTap), offering better performance and easier deployment through BPF's built-in kernel support.
    +**🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.

    View on Codeberg
    View on GitHub

    ---

    -

    2. hexai [#2(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    2. timesamurai [#2(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    -hexai screenshot
    -
    -Hexai is a Go-based AI integration tool designed primarily for the Helix editor that provides LSP (Language Server Protocol) powered AI features. It offers code auto-completion, AI-driven code actions, in-editor chat with LLMs, and a standalone CLI tool for direct LLM interaction. A standout feature is its ability to query multiple AI providers (OpenAI, OpenRouter, GitHub Copilot, Ollama) in parallel, allowing developers to compare responses side-by-side. It has enhanced capabilities for Go code understanding, such as generating unit tests from functions, while supporting other programming languages as well.
    -
    -The project is implemented as an LSP server written in Go, with a TUI component built using Bubble Tea for the tmux-based code action runner (hexai-tmux-action). This architecture allows it to integrate seamlessly into LSP-compatible editors, with special focus on Helix + tmux workflows. The custom prompt feature lets developers use their preferred editor to craft prompts, making it flexible for various development workflows.
    +**🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.

    -View on Codeberg
    -View on GitHub
    +View on Codeberg
    +View on GitHub

    ---

    -

    3. dotfiles [#3(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    3. dotfiles [#3(now) →#3(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    -This is a personal dotfiles management project that uses [Rex](https://www.rexify.org/) (a Perl-based infrastructure automation framework) to declaratively install and synchronize configuration files across local machines and remote servers. The Rexfile defines individual tasks for each config area — shell (bash, zsh, fish), editor (Helix), terminal (Ghostty, tmux), window manager (Sway/Waybar), SSH, scripts, Pipewire audio, AI prompt links, and more — plus OS-specific package installation tasks for Fedora, FreeBSD, and Termux. A top-level home task runs all home_* tasks at once for a full install.
    -
    -The architecture is straightforward: config files live in subdirectories mirroring their purpose, and helper functions (ensure_file, ensure_dir) copy or symlink them into the appropriate $HOME locations with correct permissions. It supports both a public repo (this one) and a private companion repo for sensitive configs like calendar data, keeping secrets separate while sharing the same deployment mechanism.
    +

    dotfiles



    View on Codeberg
    View on GitHub

    ---

    -

    4. epimetheus [#4(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    4. loadbars [#4(now) ↑#47(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +
    +
    +
    +loadbars screenshot
    +
    +

    loadbars - A small and humble tool to observe server loads


    +
    +View on Codeberg
    +View on GitHub
    +
    +---
    +
    +

    5. epimetheus [#5(now) ↓#4(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    epimetheus screenshot

    -**Epimetheus** is a Go tool for pushing metrics to Prometheus that uniquely supports both realtime and historic data ingestion. Named after Prometheus's brother (meaning "afterthought"), it solves the common problem of getting metrics into Prometheus *after* they were collected—whether from hours, days, or weeks ago. It offers four operating modes: realtime (via Pushgateway), historic (single past datapoint via Remote Write API), backfill (range of historic data), and auto (intelligent routing based on timestamp age).
    -
    -The architecture routes current data (<5 min old) through Pushgateway where Prometheus scrapes it, while historic data goes directly to Prometheus via the Remote Write API to preserve original timestamps. It supports CSV and JSON input formats, generates realistic test metrics (counters, gauges, histograms), and includes a Grafana dashboard. The tool is built with a clean internal structure separating config, metrics generation, parsing, and ingestion concerns—making it useful for backfilling gaps, data migration, testing monitoring setups, and ad-hoc troubleshooting scenarios.
    +**🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.

    View on Codeberg
    View on GitHub

    ---

    -

    5. conf [#5(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    6. conf [#6(now) ↓#5(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    -This is a personal configuration management repository that centralizes infrastructure and application configurations across multiple environments. It serves as a single source of truth for system administration tasks, dotfiles, Docker deployments, and Kubernetes/Helm manifests, making it easier to maintain consistency across machines and deploy self-hosted services.
    -
    -The project is organized into distinct subdirectories: dotfiles/ contains shell configurations (bash, fish), editor settings (helix, nvim), and window manager configs (sway, waybar); f3s/ houses Kubernetes/Helm manifests for various self-hosted applications like Miniflux, FreshRSS, and Syncthing; babylon5/ includes Docker startup scripts for services like Nextcloud, Vaultwarden, and Audiobookshelf; and frontends/ and playground/ for additional configurations. The repository uses Rex (a Perl-based deployment tool) as its automation framework, with a top-level Rexfile that includes subdirectory Rexfiles for modular task execution.
    +conf
    +====

    View on Codeberg
    View on GitHub

    ---

    -

    6. foo.zone [#6(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    -
    -
    -
    -foo.zone: source code repository.
    -
    -View on Codeberg
    -View on GitHub
    -
    ----
    -
    -

    7. foostore [#7(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    7. foostore [#7(now) →#7(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    -

    foostore


    +**🚧 PRE-ALPHA SOFTWARE:** This project is in active early development, unstable, and intended for personal use. Expect bugs, breaking changes, missing safeguards, and possible data loss. Backward compatibility and upgrade paths are not guaranteed. Use at your own risk.

    View on Codeberg
    View on GitHub

    ---

    -

    8. scifi [#8(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    8. scifi [#8(now) →#8(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    -This is a static HTML showcase for a personal sci-fi book collection (54 books). It displays books in a responsive grid with cover images, lets users filter by author, format, or free-text search, and shows plot summaries in a modal on click. The entire site works offline with no external dependencies — all covers, metadata, and summaries are bundled locally.
    -
    -The architecture keeps content separate from presentation: book metadata lives in data/books.json, summaries are individual markdown files in summaries/, and covers are stored as local JPGs. A build step (node build.js) embeds the markdown summaries into the JSON file, producing a self-contained site that can be served as plain static files. The frontend (js/app.js) handles filtering and modal display client-side, while css/styles.css provides the grid layout and styling.
    +

    Sci-Fi Books Showcase



    View on Codeberg
    View on GitHub

    ---

    -

    9. log4jbench [#9(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    9. log4jbench [#9(now) →#9(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    -This is a Java-based benchmarking tool for measuring Log4j2 logging throughput under different configurations. It allows developers to compare synchronous vs. asynchronous logging strategies by testing five built-in configurations: immediate-flush sync, buffered sync, and async loggers with varying LMAX Disruptor ring buffer sizes (1K/4K/10K). The tool supports configurable thread counts, duration or event-count based testing, custom message sizes, and CSV export for analysis.
    -
    -The implementation uses a fat JAR built with Maven, requiring Java 17+. It's designed for realistic benchmarking—including warmup periods and optional Linux filesystem cache dropping between tests. This helps developers make informed decisions about Log4j2 configuration tradeoffs between latency (immediate flush), throughput (buffered/async), and memory usage (ring buffer sizing) for their specific workloads.
    +

    Log4j2 Benchmark Tool



    View on Codeberg
    View on GitHub

    ---

    -

    10. rcm [#10(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    10. rcm [#10(now) →#10(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]





    rcm screenshot

    -**rcm** is a lightweight Ruby-based configuration management system designed for personal infrastructure automation following the KISS (Keep It Simple, Stupid) principle. It provides a declarative DSL for managing system configuration tasks like file creation, templating, and conditional execution based on hostname or other criteria. The system is useful for automating repetitive configuration tasks across multiple machines, similar to tools like Puppet or Chef but with a minimalist approach tailored for personal use cases.
    -
    -The implementation centers around a DSL module that provides keywords like file, given, and notify for defining configuration resources. It supports features like ERB templating, conditional execution, resource dependencies (via requires), and directory management. Configuration data can be loaded from TOML files, and tasks are defined as Rake tasks that invoke the configuration DSL. The architecture uses a resource scheduling system that tracks declared objects, prevents duplicates, and evaluates them in order while respecting dependencies and conditions.
    +

    RCM - Ruby Configuration Management



    View on Codeberg
    View on GitHub

    ---

    -

    11. gogios [#11(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +

    11. yoga [#11(now) ↑#12(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)]


    +
    +