Hacker Newsnew | past | comments | ask | show | jobs | submit | yawaramin's commentslogin

It literally stands for 'Don't Repeat Yourself'.

And Free Software literally means software you don't pay money for.

> can you ctrl+click "/clicked" and go to definition?

Actually, you can and you should–this is a best practice for building maintainable apps. You shouldn't be hard-coding 'magic string' API paths throughout your views. You should factor them out into variables and then use those same variables for both routes and views.

Many good routing systems have this functionality.


Htmx doesn't preclude a component model for the UI. See:

- https://www.fastht.ml/

- https://github.com/yawaramin/dream-html/tree/todoapp/app

In fact if you look at how htmx is recommended to be used, you realize they specifically are recommending a component-based architecture: https://htmx.org/essays/when-to-use-hypermedia/#if-your-ui-i...


That is the point I was making: HTMX is just a flavor of the component model.

Eh, not really. Htmx is a tool that you can plug in to your system. It doesn't dictate what system or architecture you use. You can have a component model, or you can have old-fashioned string-based HTML templates. Htmx is agnostic to that.

I feel that as software engineers, instead of talking about things like 'feels like magic', we are capable of reading the docs and understanding what something actually does, especially when it's pretty simple: https://htmx.org/attributes/hx-get/

But...your code examples are not doing the same thing though. The React example just does a `GET /clicked` request and discards the response. The htmx example does a GET request and swaps the response into place, replacing the button. This is analogous to an `<a>` or `<form>` tag that makes a request, gets the response, and then replaces (ie swaps) the page.

Try making your React example do what the htmx one does. That's when you'll see the complexity start to creep in.


But how often do you actually need that when writing a reactive app? In most cases I have worked with you want the button to persist and load some external data that updates a reactive state.

Sure, try doing whatever equivalent makes sense in React. Then try comparing the complexity of the two approaches. The point is to compare apples to apples as much as possible.

Sure, and if you write Python as if it were Java and your total Python experience is a 2-week bootcamp, the advantages dwindle.

Have you read "Dreaming in Code"? This is a key theme in one section and I recall it was quoting Philip Eby https://dirtsimple.org/2004/12/python-is-not-java.html

> techie pushes tool not because it's useful or necessary but because he wants to learn the tool

I wouldn't say Yaron Minsky was pushing OCaml because he wanted to 'learn' it. By that time he had already written the most popular PGP key exchange server...in OCaml: https://github.com/SKS-Keyserver/sks-keyserver/graphs/contri...


I didn't say Yaron Minsky pushed OCaml because he wanted to learn it. I said it was because he liked it. Still, the distinction isn't important to the point I was trying to make.

Jane Street is arguably the most successful trading firm in history. I want to hurt as badly as they're hurting!

How are they more successful than Renaissance Technologies?

Renaissance may have an unmatched PnL as a percentage, but jane street and Citadel, as market makers, just do way more volume than renaissance and their absolute PnLs are substantially greater than that of Renaissance.

'Jane Street trading revenues nearly doubled in 2024 to more than $20bn'

https://www.ft.com/content/24fea1d6-ba66-4b6b-814b-7bb72abfe...


Sure you would, but would Millennium or other high-caliber firms? It seems they want engineers with C++ experience and that's not exactly 'easy' to pick up 'quickly'.

If your day job is Java, learn Scala 3. It will be a mind-expanding experience.

Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: