Threads for Miaourt


    They recently released their runtime’s sources so seemed like a good time to share here

    1. 9

      We are all experiencing what happened when politicians regulated the web. […] The industry should fix email interoperability before politicians do. We will all win.

      This is the result of the almost total absence of politic in the IT sector, or politic driven by this oligopolistic lobby money.

      There is nothing new in this imho, the industry is very young, people understand it less at the moment, it is difficult to have a popular opinion on what is good for society, which leads to poor political ownership and lack of interest in regulating it.

      1. 4

        Yes. There’s this tidbit just under that one:

        We are all experiencing what happened when politicians regulated the web. I hope you are enjoying your cookie modals; browsing the web in 2022 is an absolute hell.

        That’s not exactly the politicians’ fault. They’re not serving malware through ads. They DID go and try to regulate things. They just have an off-by-one error, instead of opt-in, they made cookies opt-out.

        1. 18

          Actually, the GDPR explicitly requires cookies and all forms of tracking to be opt-in.

          It’s just that it takes so long for the courts to punish the websites that they can still keep the old opt-out solution until the courts rule on their specific case.

          But at least Google now has cookies and tracking opt-in.

          1. 2

            Are you sure? I was certain that everybody was pissed about it.

            Also, they said “legitimate requirement” meaning, i need to keep this info _by law _, but the operators took it as “I have a legitimate desire to spy on people in order to satisfy my master the VC”. That’s been challenged recently, I think, but everyone still does it.

            1. 4

              If everyone was pissed, I must have missed it. I’ve implemented the GDPR since it passed into law in 2016 (the law had a two year tolerance policy during which non-compliant sites would not be fined, which is why everyone remembers the introduction to be 2018).

              And during this entire time it was clearly obvious from the text that all tracking had to be opt-in.

              You’re spot on with your analysis of the “legitimate need”, though. There’s only a handful of legitimate needs that are not caused by laws enforcing storage, e.g. storing IPs in logs for a few days to measure DDoS attempts.

              But it’s obvious companies are trying to abuse that definition for their own benefit.

      1. 30

        Tailwind & consort kinda target something the author seems to forget: many web developers of today are deeply entrenched in “component based frameworks” that kinda prevent such repeat of “atomic css snippets” since, well, you develop a “component” that get repeated as needed.

        Classic class based CSS already do this, ofc, but only for CSS + HTML, when you try to bring this component/class system to Javascript, you often ends up in something like React or Vue or idk what’s trendy today.

        And then you have 2 competing “components” systems : CSS classes, and “JS components”.

        Tailwind kinda allow you to merge them again, reducing overhead when having to work with those JS systems.

        1. 6

          I personally prefer the CSS Modules approach to solve this problem, rather than bringing in a whole framework like Tailwind. CSS Modules give you the isolation of components but don’t force you to leave CSS itself behind, and when compiled correctly can result in a much smaller CSS payload than something hand-written. Sure, you lose the descriptive and semantically-relevant class names, but if you’re building your whole app with components, you really don’t need them.

          That said, if I didn’t use something like React, or I just needed CSS that followed a similar modular approach, I guess I would reach for Tailwind. But realistically, CSS is so lovely these days that you really don’t need much of a framework at all.

          1. 3

            I find tailwind much easier to use than css modules when you stick to the defaults.

            1. 3

              CSS Modules is an abstraction at a lower level than Tailwind. The former can do everything Tailwind can do in terms of the end result. The latter provides really nice defaults/design tokens/opinions.

              1. 2

                CSS Modules is an abstraction at a lower level than Tailwind.

                Definitely, and that’s why I prefer it. The way I normally organize my applications is by using components, so I don’t really need a whole system for keeping all the styles in order. Ensuring that styles don’t conflict with one another when defined in different components is enough for me. But if I was doing something with just HTML and I didn’t have the power of a component-driven web framework, I probably would try out Tailwind or something like it.

          1. 1

            Some tries to trim the “top” part of the hourglass too with projects like

            Or it’s, imho, more advanced and mature iteration (while a bit divergent)

            1. 3

              My experience using sql.js was not awesome. It runs out of memory so quickly when you do naive queries like SELECT * FROM VALUES (...), ... where the VALUES are a bunch of JavaScript objects you want to inject in to be able to perform SQL on.

              I just wanted to be able to do basic grouping, filtering, joining on data in memory using SQL syntax. But after a few hundred rows sql.js would always run out of memory.

              I switched to alasql which can handle the 80MB of data I was trying to work with. It’s not as complete as SQLite but at least the basics work.

              There must be more intelligent ways to use sql.js that work around the memory limits I had. They just weren’t obvious to me.

              1. 5

                The whole post is about not running sql.js with the memory backend thanks to James’ work 😅

                1. 2

                  Yes that’s true. My point is that I wasn’t able to just use it on its own very easily. There are clearly other people using it correctly/more efficiently than I was able to figure out.

              1. 1

                I like the design goals. Even in the context of Flutter, they maintain a certain KISS philosophy.

                1. 5

                  Ah man, I’m a bit disappointed there wasn’t much discussion of the new data model. I would have been very interested in seeing what made the new version more efficient and why zig is a better language for implementing it than C :\

                  1. 7

                    As mentioned in the article, it seems that Zig was not chosen because it allowed more things, but because it was easier and more fun to prototype on it… and it ended up with a full V2.

                    1. 3

                      Ask for a follow-up!!

                      1. 12

                        Asked the author and he told me on the fediverse that he do plan to do a followup adressing the data model comparisons and how doing it in C would have been more painful.

                      2. 2

                        The Zig source is very readable. I took a read through and paged through the code on the new data model. is the zig branch, which you can checkout or browse if you’re interested.

                      1. 1

                        I did not look a lot aside from this article - but this seems almost the same as React. Can someone comment on how is it different than React? What does it bring that’s better (and what’s the price?)

                        1. 1

                          I’m far from knowledgable about SolidJS, but I think might help a bit to understand the differences.

                        1. 11

                          The class names are long because they do a lot of things.

                          “With Tailwind, you’re forced to interpret semantics on the fly”

                          With css, you’re forced to flip to through some other file to get it. If you don’t see the tailwind code as obviously better, I would still say try it, and if you’re not convinced, don’t use it I guess, but nothing written there at all convinces me otherwise.

                          Point 3 is absurd, the docs immediately explain how to set up purging so that unused class names. My purged css is like 4.5kb and my unpurged css is like 8MB.

                          1. 4

                            Yep, I thought that was a pretty disingenuous point. Purging excess CSS is talked about so much, even on the homepage:

                            It’s tiny in production.

                            Tailwind automatically removes all unused CSS when building for production, which means your final CSS bundle is the smallest it could possibly be. In fact, most Tailwind projects ship less than 10KB of CSS to the client.

                            1. 8

                              One problem with the “we don’t care about the size because our custom minifier will make it small” is that it adds yet another part to the ridiculously fragile rube-goldberg machine that is npm.

                              1. 3

                                Also, may I introduce you to Windi CSS, that doesn’t even generate unused tailwind classes in the first place :) !

                                1. 1

                                  Or twind, which doesn’t even require you to generate a CSS file in the first place. :-)

                                  If you use the shim that is:

                            1. 3

                              For those of you who don’t know TailwindCSS, I advise you to look here first:

                              Otherwise, for those who already use it, I like windcss because it’s a little interpreter/compiler, with way less dependencies, that supports all the tailwind 2.0 rules and writes them on the fly when needed in your HTML… so it’s way faster in dev environments than the default implementation, and don’t need to be “purged” in production.

                              1. 3

                                I found this while looking for an alternative to After Effect, to create animations for Lottie

                                Kinda buggy (aleast when exporting as gif or webp on Windows) but I think it could deserve being known a bit more, given the lack of libre animations tools for UIs

                                1. 2

                                  Better link looks like

                                  1. 1

                                    New users sadly can’t link “unknown domain”, had to rely on this trick 😅

                                1. 6

                                  If someone discovers JPEG XL and wants to know a little more about it, here is a small portal created by one of the main authors. There’s some blog posts interesting to read in it : .

                                  Main attractiveness to me being able to losslessly compress all existing JPEG and winning 22% in compression, and beating everything in lossless compression is a cool thing !

                                  Lossy is also very good, while maybe a bit less small than a AVIF counterpart, it’s not heavily “smoothed” like it, it’s complicated to compare I guess.