frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Valdi – A cross-platform UI framework

https://github.com/Snapchat/Valdi
296•yehiaabdelm•11h ago•102 comments

Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

https://arxiv.org/abs/2511.02743
43•otrack•3h ago•1 comments

Why is Zig so cool?

https://nilostolte.github.io/tech/articles/ZigCool.html
350•vitalnodo•12h ago•248 comments

Becoming a Compiler Engineer

https://rona.substack.com/p/becoming-a-compiler-engineer
234•lalitkale•13h ago•103 comments

Friendly Attributes Pattern in Ruby

https://brunosutic.com/blog/ruby-friendly-attributes-pattern
27•brunosutic•5d ago•12 comments

Myna: Monospace typeface designed for symbol-heavy programming languages

https://github.com/sayyadirfanali/Myna
280•birdculture•17h ago•134 comments

Immutable Software Deploys Using ZFS Jails on FreeBSD

https://conradresearch.com/articles/immutable-software-deploy-zfs-jails
85•vermaden•11h ago•31 comments

How to find your ideal customer, right away

https://www.reifyworks.com/writing/2023-01-30-iicp
48•mrbbk•4d ago•4 comments

How did I get here?

https://how-did-i-get-here.net/
225•zachlatta•15h ago•43 comments

Why I love OCaml (2023)

https://mccd.space/posts/ocaml-the-worlds-best/
334•art-w•21h ago•243 comments

Ruby Solved My Problem

https://newsletter.masilotti.com/p/ruby-already-solved-my-problem
230•joemasilotti•16h ago•91 comments

Local First Htmx

https://elijahm.com/posts/local_first_htmx/
48•srid•9h ago•25 comments

Running a 68060 CPU in Quadra 650

https://github.com/ZigZagJoe/Macintosh-Q650-68060
48•zdw•10h ago•18 comments

YouTube Removes Windows 11 Bypass Tutorials, Claims 'Risk of Physical Harm'

https://news.itsfoss.com/youtube-removes-windows-11-bypass-tutorials/
648•WaitWaitWha•14h ago•239 comments

A rats to riches story: Larry the Downing Street cat finds place in TV spotlight

https://www.theguardian.com/politics/2025/nov/08/a-rats-to-riches-story-larry-the-downing-street-...
10•zeristor•1h ago•1 comments

Apple's "notarisation" – blocking software freedom of developers and users

https://fsfe.org/news/2025/news-20251105-01.en.html
111•DavideNL•5h ago•57 comments

Venn Diagram for 7 Sets

https://moebio.com/research/sevensets/
133•bramadityaw•4d ago•33 comments

Reverse Engineering a Neural Network's Clever Solution to Binary Addition (2023)

https://cprimozic.net/blog/reverse-engineering-a-small-neural-network/
3•Ameo•4d ago•0 comments

Angel Investors, a Field Guide

https://www.jeanyang.com/posts/angel-investors-a-field-guide/
143•azhenley•18h ago•31 comments

How a devboard works (and how to make your own)

https://kaipereira.com/journal/build-a-devboard
71•kaipereira•12h ago•28 comments

Transducer: Composition, abstraction, performance (2018)

https://funktionale-programmierung.de/en/2018/03/22/transducer.html
97•defmarco•4d ago•5 comments

Ribir: Non-intrusive GUI framework for Rust/WASM

https://github.com/RibirX/Ribir
67•adamnemecek•15h ago•11 comments

FSF40 Hackathon

https://www.fsf.org/events/fsf40-hackathon
88•salutis•5d ago•2 comments

VLC's Jean-Baptiste Kempf Receives the European SFS Award 2025

https://fsfe.org/news/2025/news-20251107-01.en.html
364•kirschner•14h ago•66 comments

Show HN: Find matching acrylic paints for any HEX color

https://acrylicmatch.com/
24•dotspencer•4d ago•11 comments

GPT-OSS 120B Runs at 3000 tokens/sec on Cerebras

https://www.cerebras.ai/blog/openai-gpt-oss-120b-runs-fastest-on-cerebras
12•samspenc•8h ago•3 comments

James Watson has died

https://www.nytimes.com/2025/11/07/science/james-watson-dead.html
316•granzymes•15h ago•188 comments

Can you save on LLM tokens using images instead of text?

https://pagewatch.ai/blog/post/llm-text-as-image-tokens/
22•lpellis•6d ago•8 comments

Helion: A high-level DSL for performant and portable ML kernels

https://pytorch.org/blog/helion/
140•jarbus•6d ago•47 comments

Shell Grotto: England's mysterious underground seashell chamber

https://boingboing.net/2025/09/05/shell-grotto-englands-mysterious-underground-seashell-chamber.html
26•the-mitr•4d ago•14 comments
Open in hackernews

Friendly Attributes Pattern in Ruby

https://brunosutic.com/blog/ruby-friendly-attributes-pattern
27•brunosutic•5d ago

Comments

dudeinjapan•1h ago
Yikes. This means that you’ll have 1000 micro-DSLs sprinkled all over your codebase, which will become unreadable and lead to confusion/accidents. Better to stick with good ol’ key-value labelling.
rubyn00bie•1h ago
Yeah, this is honestly the sort of thing I grew to hate in Ruby. It looks cute, but all it does is create more cruft. Good ol’ boring keys are just fine, expressive enough, and are very unlikely to cause problems. This feels like it’s attempting to solve a problem that does not exist.
onli•42m ago
The advantage is the amount of code minimizer and not using a generic factory pattern. But that probably can be achieved with a bit less magic...
shevy-java•41m ago
> this is honestly the sort of thing I grew to hate in Ruby

But nobody forces you to use a DSL such as rails, so I am not sure why ruby should be hated for this when it is a rails dev who does that.

The blog has much more to do with rails than ruby; such API design is really strange.

I don't think this design causes problems as such, but it is too verbose and way too ugly. To me it seems that they are just shuffling data structures around; that could even be solved via yaml files.

molf•34m ago
This is a philosophy. One which many people that write Ruby subscribe to. The fundamental idea is: create a DSL that makes it very easy to implement your application. It is what made Rails different when it was created: it is a DSL that makes expressing web applications easy.

I don't know its history well enough, but it seems to originate from Lisp. PG wrote about it before [1].

It can result in code that is extremely easy to read and reason about. It can also be incredibly messy. I have seen lots of examples of both over the years.

It is the polar opposite of Go's philosophy (be explicit & favour predictability across all codebases over expressiveness).

[1]: https://paulgraham.com/progbot.html

dudeinjapan•11m ago
If there is one DSL which is a central abstraction of one’s entire app, used in 100s of places—this is fine.

If there is a DSL such as Rails’ URL routing, which will be the same in every app—this is also fine.

When one makes 100s of micro-DSLs for object creation, that are only ever used in one or two places—this is pure madness.

shevy-java•43m ago
I don't really like the API design. Perhaps in the rails-world this makes sense, but it looks really strange to me.

    Billing::Plan::Factory.find_or_create_by!(
      name: :pro,
      interval: 1.month,
      amount: 50
    )
It is not only the verbosity or use of trailing '!' in a method for no real reason, IMO, but also things such as "1.month". I understand that rails thrives as a DSL, but to me having a method such as .month on an Integer, is simply wrong. Same with HashWithIndifferentAccess - I understand the point, to not have to care whether a key is a String or a Symbol, but it is simply the wrong way to think about this. People who use HashWithIndifferentAccess do not understand Symbols.
byroot•38m ago
> I understand that rails thrives as a DSL, but to me having a method such as .month on an Integer, is simply wrong

It's not that different from `1.times` or `90.chr` which are vanilla Ruby.

> HashWithIndifferentAccess

HashWithIndifferentAccess was an unfortunate necessity to avoid DOS attacks when Symbols used to be immortal. There's no longer a reason to use it today, except for backward compatibility.

codesnik•19m ago
this is very unnecessary. Arrays and maps transformations are really easy and concise in core ruby already, one line of map, to_h or whatever.
kburman•18m ago
This is a perfect example of something that looks good in a demo but fails in a real product. Business logic and 'packages' are never this clean or simple.

Putting this kind of type-based 'magic' in the code is a bad decision that will bite you very soon. It optimizes for being 'cute' rather than being clear and maintainable, and that's a trade-off that almost never pays off.

nkrisc•16m ago
They do say they use this in their real production code.
kburman•14m ago
Just because it's in their production code doesn't mean it's not a ticking time bomb.