Nate Hopkins's Avatar

Nate Hopkins

@hopsoft.bsky.social

Software writer, maker. Creator of several Ruby and JavaScript libraries.

933 Followers  |  451 Following  |  59 Posts  |  Joined: 26.10.2024
Posts Following

Posts by Nate Hopkins (@hopsoft.bsky.social)

Yeah. I should have used these definitions for clarity:

empty? β†’ truthy/falsey check
sort! β†’ danger ahead (mutates, raises, etc.)

28.01.2025 14:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I guess truthy works given the intent is a boolean-like conditional check. I prefer coercing to boolean for predicate methods, but it's not a hill I'd die on.

24.01.2025 20:31 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Ruby's predicate (?) and bang (!) methods make code speak for itself:

empty? β†’ returns boolean
sort! β†’ mutates, danger ahead

vs:

isEmpty() β†’ less expressive
sortInPlace() β†’ verbose

Language design choices like this make Ruby a joy to write.

24.01.2025 19:26 β€” πŸ‘ 24    πŸ” 4    πŸ’¬ 4    πŸ“Œ 0

Cloudflare's AI offerings for the Worker suite are top notch.

18.01.2025 17:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Then you need to keep following up to ensure that the analysis is correct. I use follow up prompts like, "Are you sure? Perform more research and verify that your last response was accurate and comprehensive." It takes a few iterations to dial it in.

18.01.2025 03:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yeah. I've had to fork the conversations several times due to weird AI behavior like that. It's also good to check against multiple LLMs and with different web search tools.

18.01.2025 03:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It takes iteration. Start with a product idea & have AI perform competitor analysis to establish an initial pricing model. Then pick ad platforms that you intend to use, enter budgets, & calculate metrics like CPM, CPC, CR, CAC, LTV, etc. You'll learn quick whether or not it's feasible.

17.01.2025 23:13 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm blown away by how AI has revolutionized market research - what used to take weeks can now be done in minutes with incredible accuracy.

17.01.2025 21:34 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Protip: If you have a robot vacuum that won't charge, take a fine grit sand paper and sand/polish the connection points on both the vacuum and charger. You'll be back in business.

31.12.2024 04:48 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

If anyone would like to try the "Screenshot to Code" app which converts screenshots to HTML styled with TailwindCSS, I have a branch with everything Dockerized. All you need is your OpenAI API key. github.com/hopsoft/tail...

31.12.2024 02:48 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Asciidoc is such a great document format. Wish the software community had standardized on it instead of Markdown.

30.12.2024 03:31 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

How about defining and removing constants and changing behavior of other classes/modules via patching? Still technically message passing but the side effects are bigger. Another possibility is throw/catch.

22.12.2024 15:45 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The Ruby/Rails ecosystem is unmatched for full stack development. So many great and mature tools.

17.12.2024 20:51 β€” πŸ‘ 26    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0
Tebako Official website for Tebako, the executable packager.

Have you looked into Tebako? www.tebako.org

17.12.2024 18:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm curious. Did you get packaging with traveling ruby working? @bradgessler.com

17.12.2024 17:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Terminalwire looks really slick. Looking forward to giving it a spin.

17.12.2024 17:01 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Current Status: Yak shaving a migration from Docker to Podman.

12.12.2024 20:52 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Hoping to fold that agent stuff into a gem. Only need more time in the day. 😜

12.12.2024 20:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - hopsoft/local_bus: A lightweight pub/sub system for decoupled intra-process communication in Ruby applications A lightweight pub/sub system for decoupled intra-process communication in Ruby applications - hopsoft/local_bus

New version of LocalBus (v0.3.1) - minor updates and cleanup. github.com/hopsoft/loca...

11.12.2024 14:16 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Who's working on RBS type support for editors like VSCode, Cursor, Neovim, etc? Looking for non-AI code hints based on RBS type signatures.

10.12.2024 15:59 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Still kind of sad that ActiveResource didn’t see wider adoption.

06.12.2024 23:48 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
Preview
GitHub - hopsoft/local_bus: A lightweight pub/sub system for decoupled intra-process communication in Ruby applications A lightweight pub/sub system for decoupled intra-process communication in Ruby applications - hopsoft/local_bus

github.com/hopsoft/loca...

03.12.2024 22:27 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

Just shipped LocalBus v0.3.0 πŸš€
- Message priority
- Several other small enhancements

03.12.2024 22:27 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Add priority for Station#publish by hopsoft Β· Pull Request #5 Β· hopsoft/local_bus Leans more heavily into Socketry and removes the dependency on concurrent-ruby.

New version of LocalBus shipping soon. Message priority and several other enhancements. github.com/hopsoft/loca...

02.12.2024 16:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Are you leveraging AI effectively? Using it to crank out more code misses the point; instead, focus on AI-driven features.

Less code == fewer bugs & better security.

Use AI for smarter solutions, not just to pad your codebase.

01.12.2024 17:42 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 1
Preview
Add priority for Station#publish by hopsoft Β· Pull Request #5 Β· hopsoft/local_bus Leans more heavily into Socketry and removes the dependency on concurrent-ruby.

Started efforts to add message priority to LocalBus. I'm also working to simplify the implementation by leaning more heavily into Socketry. github.com/hopsoft/loca...

30.11.2024 18:52 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The more I dig into the Socketry suite of Ruby gems, the more impressed I am. Some really great work in these libs.

30.11.2024 16:17 β€” πŸ‘ 12    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

With open data, anyone can subscribe to the firehose, detect toxicity metrics, and publish those account names or phrases-words to mute etc. I’m certain we’ll see such things soon if they don’t already exist.

28.11.2024 15:36 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Strapi CMS sandbox demo
YouTube video by Hopsoft Strapi CMS sandbox demo

Here's a little demo of a sandbox environment for Strapi the headless CMS. It provides a safe place to experiment with Strapi features and its CLI. youtu.be/x4IiO7I8pLQ?...

repo: github.com/hopsoft/stra...

28.11.2024 03:36 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I wonder about this too. I get sad if I think too much on it mostly because art lasts much longer than software. You can flex those creative instincts with software, but most of your work will fade or be replaced within 5 years. Reminds me of one of my art professors that said, β€œArt is destruction.”

25.11.2024 23:33 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0