4 ms·
Agreed. I think a lot of folks suffer from not understanding how web 1.0 worked and really groking REST/HATEOAS (which has since been hijacked for JSON APIs, w
by recursivedoubts 6y ago
Agreed. I think a lot of folks suffer from not understanding how web 1.0 worked and really groking REST/HATEOAS (which has since been hijacked for JSON APIs, which is complete nonsense.)
Sometimes I jokingly call htmx "web 1.1 tech", but increasingly I wonder if I'm really joking.
- no_wizard 6y agoThere is the the HATEOAS compatible JSON-LD standard being worked on at the W3C https://json-ld.org/ https://json-ld.org/
- recursivedoubts 6y agoYeah, but it doesn't make up for the decade+ now that plain JSON (perhaps with the occasional URL, which still has to be interpreted correctly by client code!) has been called "REST-ful". On top of that, JSON-LD is still mainly focused on networked object graph serialization. Unfortunately it manages to be a complex specification without providing the functionality that HTML came with out of the gates as a hypertext in an obvious manner. HTML is a good-enough-to-great hypertext, we should probably stick with it.
- thanatropism 6y agoIn 1996-1998 as a teen I "made some websites" for local businesses. The one I made for my parents even had a search function (in PHP) in a CSV with their products (which were like 100). The CSV was generated by taking whatever Lotus Approach (their desktop DB) generated and transforming it with some custom Haskell code (I was a teen, what did I know). They clicked an icon to pull the data and another to run a FTP batch file. Fast forward, I understand nothing of the website being developed in React for my startup. The othe technical cofounder does grok it, but I could not lend a hand and can barely even supervise the outside help we brought. I like to think of myself as well-versed in a generalist manner. I can hack a custom sparse matrix (with a very particular structure I was able to prove an iteration for) inversion algorithm, but I understand nothing about painting the background the correct shade of blue!
- recursivedoubts 6y agoI have something for you: https://htmx.org https://htmx.org
- thanatropism 6y agoYow. I have an application growing out of control in Streamlit (https://streamlit.io https://streamlit.io), which is a rshiny-type interactive dashboard gizmo. I'm now able to consider rewriting it with a proper front-end. It's like a whole world I had been sealed off from has reopened.
- randyzwitch 6y ago(Note: I'm Head of Developer Relations at Streamlit) Out of curiosity, which features are you looking for in a "proper" front-end? Flexibility?
- thanatropism 6y agoStreamlit is magic and I don't want this to come off as a dismissal, but it can be unpredictably unreliable. I keep having this issue if I run > 0.58: https://github.com/streamlit/streamlit/issues/1440 https://github.com/streamlit/streamlit/issues/1440 It's over a month old now, with multiple people reporting the same bug and iterating on the problem with no apparent narrowing towards a reason for why this happens, let alone a solution.
- randyzwitch 6y agoThanks for clarifying. Since HN isn't the right place for a detailed discussion, I would invite you to comment on that issue and try to help us work through it. As one of our engineers mentions in the linked issue, this bug is hard to trigger (as is the nature of many bugs), and she is working on a solution[1]. This issue has also been reported here[2], with the solution of adding time.sleep(1) inside the loop usually resolving that problem. [1] https://github.com/streamlit/streamlit/pull/1494 https://github.com/streamlit/streamlit/pull/1494 [2] https://discuss.streamlit.io/t/displaying-images-from-opencv/3014 https://discuss.streamlit.io/t/displaying-images-from-opencv...
- draw_down 6y agoMaybe people ignore fancy ideas like HATEOAS because they don't actually help them make something useful for users. This particular fancy idea appears to exist mostly so people can make comments like yours. If this wasn't true, as a user you would notice if the thing you were using didn't use HATEOAS, even though it should. The thing's functionality would be deficient in some manner that you could discern. I doubt that has ever happened.
- leanstartupnoob 6y ago> not understanding how web 1.0 worked and really groking REST/HATEOAS (which has since been hijacked for JSON APIs, which is complete nonsense.) Anyone who really grokked REST would never say it's nonsense to use with a JSON API.
- recursivedoubts 6y agoYes, I know it's confusing because the language has been so thoroughly corrupted over the last decade. Let me show you my reasoning: JSON is not a hypertext, even if you include URLs in it. [0] HATEOAS requires a hypertext (see the first word of the acronym) HATEOAS is "an essential part of the of the 'uniform interface' feature of REST" [1] Therefore a JSON API, even with some embedded URLs, using multiple HTTP Methods and following a traditional hierarchical path scheme, is not REST-ful. [0] - A sufficiently advanced client could interpret a JSON-encoded hypertext in a general, uniform manner. However, in practice, this is almost never the case. [1] - https://en.wikipedia.org/wiki/HATEOAS https://en.wikipedia.org/wiki/HATEOAS
- recursive 6y agoI really "doubt" you were joking! I'm sorry, I couldn't resist the pun.