[1] https://blog.nestful.app/p/gleams-lustre-is-frontend-develop...
1,334 karma · joined November 6, 2013
[1] https://blog.nestful.app/p/gleams-lustre-is-frontend-develop...
The way to alleviate those issues is not to bloat the frontend with things that shouldn't be in it nor is it to fragment the code base with never ending "sprinkle" of JS.
The best solution is something like Gleam's Lustre, where you use the right tool for the job, while keeping a coherent code base:
https://blog.nestful.app/p/gleams-lustre-is-frontend-develop...
I own and operate a "list-taking" app[0] in which every list/kanban-item can itself be a list/kanban.
I currently use it for things I'm the creator of -- tasks, story outlines, etc, but looking to introduce 3rd party content for task management (I want to see GitHub tasks from work next to my own tasks) and, as you say, knowledge management of things like recipes or music.
Items could be part of one or multiple hierarchies. A list of "cake" recipes could be under both "baking" and "party essentials", and music playlists could include other playlists.
As you can tell, this can become convoluted in my mind, and so if that's something that's interesting to you (or anyone reading this), please reach out and let's discuss! hn at nestful.app
Anime has the advantage of being drawn frame-by-frame, thus able to "change" lenses, cameras, etc mid action-packed shots. Using this may allow for shooting two different setups at once, achieving a similar effect.
I'll also commend the author's attempt at DIY! Even if your case does not require a custom solution, it's healthy to understand how your tools work.
[0] https://loro.dev
That experience is lacking in TEA, although better in immutable languages like Gleam where it is easier to keep functions pure. Even in Iced, I'm going to side with those Elm proponents here and prefer Elm's function composition approach any day over guarding React or Flutter state from becoming spaghetti.
I'm also building a screenplay editor prototype[1] in the Rust equivalent, Iced, and while not as ergonomic as Lustre and Gleam, it is TEA. Iced is still in flux but I have trust, considering System76 uses it to build Cosmic.
[0]: https://blog.nestful.app/p/gleams-lustre-is-frontend-develop...
You get all of Gleam's advantages compared to TS (simple, truly type safe, errors as values, exhaustive match, etc), and Lustre is great because you get an Elm that can be run on both the client and server, using whatever fits that specific part of your website best (unlike HTMX or LiveView which are server-only).
Wrote a blog post about it:
https://blog.nestful.app/p/gleams-lustre-is-frontend-develop...
All I was doing was clarifying the impression OP gave.
Now that we all know the details we can make whatever tradeoff we prefer.
That, however, is still not enough to alleviate OP's concerns, which is why I've explained how the `1/0=0` problem can be entirely avoided.
I expect entirely avoiding the problem OP mentioned is enough to alleviate the concerns it raises.
Gleam offers division functions that return an error type, and you can use those if you need that check.
They fit a list-length use case well as they work better with a piping syntax which is popular in Gleam.
[1] https://blog.nestful.app/p/why-i-rewrote-nestful-in-gleam
Instead of becoming this mishmash of backend and frontend, there's a clear delineation between the two. They share common functionality via functions (like model and views), which is much easier to do when they're pure.
You basically get the advantages of those magic frameworks without all the magic.
[0]: https://blog.nestful.app/p/gleams-lustre-is-frontend-develop...
Their smart use of domains makes it so that their equivalent of "channel" can be an actual website, that will offer you recommendations when you watch videos on it exactly like YT, except you control the algorithm.
Users will get much better choice and experience over the already excellent YouTube, but most importantly the creators will be able to express themselves however they wish. They will rent hosting from a provider, shows ads from an Adsense-like service, and actually own both their content _and_ their subscriber list.
I've been wanting to build it, but I'm always deterred by how ATProto is still tightly linked to Bluesky itself.
It's true that if you treat it just right, you're going to get an async tool. However, you want tools that are naturally like that. There are many foods I can fairly easily cut with a spoon, yet my experience is much better using a knife.
The mere fact you have to encourage to close Slack means it is used for something it shouldn't. Use evergreen communication for most communication, then use Slack only when you need it, which will be much much less.
Slack is also terrible at history preservation, see my reply to a sibling comment.
https://www.emergencyremote.com/emergencyremote#h.vvx9who9kf...
Servers do have many channels but they run relatively slower memory
* Specifically, it being on-die