frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Rethinking Modularity in Ruby Applications

https://noteflakes.com/articles/2026-06-18-syntropy-modules
11•ciconia•4d ago

Comments

chao-•46m ago
Always cool to see a fresh approach to organizing Ruby projects!

Like the author, I have experimented with app structures that better suit my project needs than Rails' conventions (having spent more than half my career partially-or-mostly using Ruby, and most of that using Rails). Sometimes that meant building within Rails and bending it to my desires. Sometimes that meant a blank-slate project layout of my own with some glue bits to talk to Rack. Most of the time the juice was not worth the squeeze, but hope springs eternal.

The one-to-one URL-path-to-folder idea feels neat. I think it would be neat for smaller and/or strictly-API-based projects, but I'm not sure I would prefer it as a strict requirement for large projects. It definitely got my noggin joggin'!

Eschewing one-psuedo-namespace-constant-per-file as a unit of encapsulation and orchestrating your own import and export also got me thinking, but more skeptically. Working in languages that embrace a free-form import/export, I have found that I prefer the one-encapsulated-unit-per-file style. I am going to dig into the Syntropy implementation and see if it inspires me to feel differently about this.

Additionally:

>A further disadvantage is that since everything is global, you might risk touching or referencing classes you shouldn’t, and since dependencies are implicit, those “references by error” may go unnoticed and cause some unexpected (read: undefined) behaviour.

I suspect the author knows this, but it is not the full story to say that "everything is global". Constants are global in that the Ruby VM's has only one hierarchy that for constant lookup. And because Ruby doesn't have namespaces (yet; we'll see what comes of Box), people reuse the constant hierarchy to approximate a namespace.

Local variables and instance variables in your "main" object scope are not global, either. Not only are the isolated from other object instances, the variables of the "main" object are not accessible from the class/singleton scope when declaring a class or module!

And none of these were decisions made by Rails.

>This approach automates the loading of dependencies, using the directory structure as a representation of the app’s namespace (i.e. classes and modules).

If only this were true! The file at app/models/user.rb is not required to declare the constant App::Models::User or even Models::User. One of Rails' three original sins is the layout conventions of the app/ folder, and the conventions built on that.

Yes, technically almost all of it can be configured with some difficulty. My experiments with alternative project layouts using Rails have had mixed success. When you place models and associated core behavior `domain/core/` instead of `app/models`, it's a coin-flip as to whether another developer sees that and says "Oh neat!" or is annoyed. Or when you place pairs of Ruby "view models" and ERB "view templates" in the same directory (e.g. `views/posts/show.rb` alongside `views/posts/show.html.erb`) it throws some people off, even though to me it feels obviously and unquestionably more organized.

Jerry's Map

http://www.jerrysmap.com/the-map
32•turtleyacht•31m ago•2 comments

Swift Package Index joins Apple

https://swiftpackageindex.com/blog/swift-package-index-joins-apple
51•JDevlieghere•1h ago•9 comments

F3

https://github.com/future-file-format/f3
406•tosh•2h ago•109 comments

Show HN: TikZ Editor – WYSIWYG editor for figures in LaTeX

https://tikz.dev/editor/
249•DominikPeters•4h ago•50 comments

Unlimited OCR: One-shot long-horizon parsing

https://github.com/baidu/Unlimited-OCR
359•ingve•7h ago•88 comments

San Diego photologs from the 1970s

https://www.beautifulpublicdata.com/san-diego-photologs-from-the-1970s/
90•jonathanmkeegan•2h ago•17 comments

The truth about being a manager

https://sofiakodar.github.io/posts/becomingmanager/
80•adunk•1h ago•40 comments

Five monitors on a Commodore 128 [video]

https://www.youtube.com/watch?v=ul5hC3PY1Yg
57•EvanAnderson•1d ago•11 comments

Lift4D: Harmonizing Single-View 3D Estimation for 4D Reconstruction In-the-Wild

https://lift4d.github.io/
78•ilreb•4h ago•7 comments

The Coming Loop

https://lucumr.pocoo.org/2026/6/23/the-coming-loop/
206•ingve•8h ago•160 comments

Samsung Demonstrates 3D Stacked FETs with Triple Nanosheet Channels at 42nm

https://semiconductor.samsung.com/news-events/tech-blog/from-gaa-to-3d-stacked-fet-expanding-the-...
45•its_ajseven•4d ago•15 comments

Claude Tag

https://www.anthropic.com/news/introducing-claude-tag
116•adocomplete•2h ago•55 comments

The deadly rise of giant trucks and SUVs

https://www.nytimes.com/interactive/2026/06/21/us/trucks-suv-pedestrian-crashes.html
106•xnx•1d ago•258 comments

Mistral OCR 4

https://mistral.ai/news/ocr-4/
329•meetpateltech•5h ago•86 comments

The worthlessness of Vitamin D is mildly exaggerated

https://dynomight.net/vitamin-d/
12•surprisetalk•2h ago•0 comments

Modal Auto Endpoints: Optimized inference you own

https://modal.com/blog/introducing-auto-endpoints
7•handfuloflight•35m ago•0 comments

Plotnine

https://plotnine.org/
222•tosh•4d ago•66 comments

Solving Wordle using information theory

https://www.binghamton.edu/news/story/6327/s-m-a-r-t-these-researchers-used-math-to-crack-wordle
31•hhs•2d ago•44 comments

Fired by Google for Creating the Google Workspace CLI

https://twitter.com/JPoehnelt/status/2069482265953087602
44•justinwp•57m ago•15 comments

Performance Improvements in Libffi

https://atgreen.github.io/repl-yell/posts/libffi-plan-cache/
16•atgreen•2d ago•6 comments

Elevated error rate across multiple models

https://status.claude.com/incidents/jbhf20wjmzrf
180•rob•4h ago•226 comments

MSG Made Dossier on Activists Who Opposed Facial Recognition

https://www.404media.co/madison-square-garden-made-dossier-on-activists-who-opposed-facial-recogn...
240•cdrnsf•5h ago•66 comments

Show HN: Bun-sqlgen – Type-safe raw SQL for Bun, no ORM

https://github.com/ilbertt/bun-sqlgen
46•ilbert•4h ago•22 comments

The Low-Tech AI of Elden Ring

https://nega.tv/posts/low-tech-ai-of-elden-ring.html
56•g0xA52A2A•7h ago•32 comments

Will It Mythos?

https://swelljoe.com/post/will-it-mythos/
281•mindingnever•14h ago•203 comments

Finding the best dog treat with statistics

https://www.wespiser.com/posts/2026-06-19-best-dog-treat.html
111•wespiser_2018•1d ago•49 comments

What we call "age verification" is actually mass surveillance

https://pluralistic.net/2026/06/23/destroy-the-village/
560•hn_acker•5h ago•310 comments

Lossless GIF recompression via exhaustive search

https://blog.arusekk.pl/posts/lossless-gif-recompression/
46•ZacnyLos•6h ago•12 comments

Open Source for IBM Z and LinuxONE

https://community.ibm.com/community/user/blogs/elizabeth-k-joseph1/2026/06/18/linuxone-open-sourc...
42•ncruces•3d ago•7 comments

VibeThinker: 3B param model that beats Opus 4.5 on reasoning with novel SFT+GRPO

https://arxiv.org/abs/2606.16140
347•timhigins•17h ago•177 comments