Monday, April 3, 2023

Show HN: Goru, an experimental, Go-inspired concurrency library for Ruby https://ift.tt/uCXrgHh

Show HN: Goru, an experimental, Go-inspired concurrency library for Ruby Hey folks, wanted to show this off and get feedback. Still early/experimental but there are quite a few concepts I'm excited about here. This project came about while writing a program in Go and loving its approach to concurrency. Being a long-time Rubyist I immediately started to think about what similar concepts might look like in Ruby. I set out with two main design constraints: 1. Lightweight: I didn't want routines to be backed by fibers or threads. Having been involved some in the async project ( https://ift.tt/BXTC58i ), I had some experience using fibers for concurrency but was curious if they could be avoided. 2. Explicitness: Routine behavior must be written to describe exactly how it is to behave. I always felt like concurrent code was hard to fully understand because of the indirection involved. On the spectrum between tedium and magical I wanted to err more on the side of tedium with Goru. Goru routines are just blocks that are called once for every tick of the reactor. It is up to the developer to implement behavior in terms of a state machine, where on each tick the routine takes some action and then updates the state of the routine for the next tick. This fulfills both design constraints: 1. Because routines are just blocks, they weigh in at about ~345 bytes of memory overhead. 2. Routine behavior is explicit because it is written as a state machine inside the block. Couple more features worth noting: * Goru includes channels for buffered reading/writing (similar to channels in Go). * Goru ships with primitives for non-blocking IO to easily build things like http servers. Curious your thoughts! https://ift.tt/Bqm2Zay April 3, 2023 at 07:17PM

Show HN: Practice React's UseState Hook with 8 Interactive Exercises https://ift.tt/VHUPcni

Show HN: Practice React's UseState Hook with 8 Interactive Exercises https://ift.tt/A2kRwIB April 3, 2023 at 09:17AM

Show HN: Resource Forks https://ift.tt/JnwTGyz

Show HN: Resource Forks https://ift.tt/Y7sGMPE April 3, 2023 at 09:03AM

Show HN: Cloud.museum the first SSG coded by ChatGPT https://ift.tt/XTHdgK4

Show HN: Cloud.museum the first SSG coded by ChatGPT ChatGPT can code pretty well but not without some help. After 100+ interactions here is the first ever static site generator coded entirely by ChatGPT. There is a NodeJS and even a Swift version. What do you think ? https://cloud.museum April 3, 2023 at 05:44AM

Show HN: I Got ChatGPT to Write Complete Programs https://ift.tt/adqTs9M

Show HN: I Got ChatGPT to Write Complete Programs https://ift.tt/X0IGOAf April 3, 2023 at 03:42AM

Show HN: Shhhbb, an SSH BBS https://ift.tt/CdRyNqo

Show HN: Shhhbb, an SSH BBS Hello all :) I made this BBS for fun and thought you all would enjoy it. It's not perfect, but it's been a fun exercise! see it: https://ift.tt/t4xLWpM try it: ssh -p 2223 shhhbb.com host it: https://ift.tt/P2mL0fz why? Every year I challenge myself in some new way, this year it is to push one project per week. You might recognize my static site generator [0] or my releaser for go [1] from previous posts as one of these weekly projects. If you want to join me in doing this, it's been a blast and I highly recommend it! Maybe we can chat on the bbs about it :) [0] - bearclaw tiny static generator - https://ift.tt/mr5MeQ8 [1] - release.sh release builder for go - https://ift.tt/mr5MeQ8 need: I'd love a few co-conspirators, or even some new friends for the bbs software or the bbs itself. A lofty nice-to-have goal is meeting a few other similarly motivated people to conspire with on a weekly basis. If that's you, drop me a line! goals: I have about half of an admin interface endpoint pushed up, which I'd like to finish. I realized mid-commit that I'd lacked some other material in a previous commit, and in pushing it up, I ended up pushing half the admin feature. Stay tuned for that. I'd also like to implement a feature where I surrender the socket to a new process so I can upgrade the binary without dropping all of the connected users. I'm not sure on the feasibility of this, but all the words fit together, so it'll be tried. https://donuts-are-good.github.io/shhhbb/` April 2, 2023 at 10:10PM

Sunday, April 2, 2023

Show HN: Do You Know RGB? https://ift.tt/t8kUpbO

Show HN: Do You Know RGB? https://ift.tt/OWhvmMT June 24, 2025 at 01:49PM