1. 1

    The reactions to this on Reddit are overall pretty horrifying.

    1. 2

      They are, it’s quite saddening actually.

    1. 18

      Even still, I wanted to share it because I’ve pushed really hard to get it to a minimally useful state to force myself to finally “finish” one of my ridiculous side projects.

      I can relate to that. Congrats on getting this far!

      1. 7

        Thank you.

      1. 2

        Neat! I’m guessing I could use this with other languages too, like Rust?

        1. 2

          Skeptic works well for Rust. I used it to write tests for a slide deck :-)

        1. 1

          Great news! Very well done. I kind-of jumped from gnusocial because I don’t see ActivityPub on the horizon, mastodon et al seem to be the way forward.

          1. 4

            Mastodon has been using ActivityPub since version 1.6. It’s the preferred protocol now. OStaus is kept for backwards compatibility. https://github.com/tootsuite/mastodon/releases/tag/v1.6.0

          1. 3

            Neat seeing Read Rust (I’m the author) and the JSON feed proving useful. :)

            1. 1

              Thanks for it :). The writeup is that of a talk I gave last week at Linuxing at London and it gave me the neat possibility to both pitch readrust.net and show tech things :).

            1. 2

              man, sometimes I just feel like wanting to write a much-used npm package, just so that I can delete it and cause chaos. As a non-js dev, and a minimal user JavaScript in general, seeming this always gives me Schadenfreude.

              1. 1

                After left-pad it’s not possible to just remove a popular package, such request needs to go through the support first.

                https://docs.npmjs.com/cli/unpublish

                1. 4

                  I don’t understand why it’s possible to delete it in the first place. If you release a piece of code with a permissive enough license you’re accepting the fact that others can keep using that code forever and without any further permission from you. The worst you can do is to stop improving that code. So, why doesn’t npm exercise its right to keep using that piece of code?

                  1. 3

                    This is the stance on Rust’s crates.io:

                    Take care when publishing a crate, because a publish is permanent. The version can never be overwritten, and the code cannot be deleted.

                    I’m sure crates/cargo will encounter its own issues over time but it’s nice that this at least shouldn’t be one of them.

                  2. 4
                    1. write a package and spice it up with non-free and/or patent-encumbered code without license
                    2. publish on npm
                    3. wait (or help it) ’till your package becomes similarly important to left-pad
                    4. tip off / file a DMCA / etc. with npm
                    5. ???
                    6. Profit!1
                1. 1

                  From The Origin of Stimulus

                  At Basecamp we’ve used this architecture across several different versions of Basecamp and other applications for years. GitHub has used a similar approach to great effect.

                  I commented the other day to a friend that it clear that GitHub is using a turbolinks type approach because it feels slow. I’m on GitHub a lot and I feel like I’m always waiting for it. Compared to FastMail or Twitter for example where the app feels much faster. I’m not a huge proponent of JavaScript but React and co often make for a snappy experience.

                  1. 1

                    (edited because I posted before my writing was good):

                    The turbolinks approach is much more efficient (eg almost no JS required), but:

                    • When you click a link, the page doesn’t know which parts of the DOM are going to change (you could, in theory, make this happen - but it’s not done)
                    • As a result, you don’t get the same quality of loading indicators (eg a progress bar at the top vs instantly changing the design to look like the new page)
                    • It generates less-cacheable requests because the previous layout tree forms part of the cache key.

                    For me, my Fastmail inbox takes ~5s for an initial load, ~3s for a refresh and 1-2s for an internal navigation.

                    The linux project page on Github takes an initial ~4s load, ~2s for a refresh, and 1-2s for internal navigation - but it feels much slower because instead of replacing the page content with a loading indicator, it uses a progressbar across the top.

                  1. 4

                    Oooh damn, ligatures, wide glyphs and GUI autocompletion popups… maybe I should switch from neovim in tmux to GUI neovim + :terminal after all.

                    UPD: also smooth scrolling! (smooth scrolling events turned into line by line scrolling)

                    1. 1

                      Awesome to see the PR you raised as a result of trying it out :-)

                    1. 1

                      How much JS would you have to write to use this? From what I understand wasm requires JS to do anything.

                      1. 3

                        The TodoMVC example has no JS code in it (no .js files or invocations of the stdweb js! macro), it’s all Rust.

                        1. 1

                          So what was the previously benchmarked performance and what’s the new benchmarked performance? I didn’t see that in the release notes and can only assume the difference must have been pretty compelling. Right?

                          1. 5

                            From the article:

                            Go version:

                            I was not able to get more than 1.5K parallel connections on my RPi with 512MB of RAM and system will come to crawl as load goes higher due to thrashing, and memory swapping.

                            Node version:

                            The current system gracefully handles 5K concurrent clients, sending messages back and forth on single room (imagine 5k chatty people in same room), and it does all of this under 150MB of memory

                            1. 1

                              Thanks, I guess I’m blind.

                          1. 11

                            this lack of open-source activity tells everybody that you’re not passionate about software development

                            — from the linked post

                            “Passion” is a code word for “has a lot of free time,” which means no one with child- or elder-care responsibilities (mostly women)…

                            thread on Twitter by Sarah Mei explaining why some people might not have time to work outside work or on open source.

                            1. 10

                              It’s hard to reproduce failures

                              If this is the case you’re doing it wrong. When using faked data and randomised test order in RSpec it seeds the RNG with a value that is printed at the end of the tests so you can rerun with exactly the same order and faked values. No need for trial and error.

                              1. -1

                                That sounds like a useful feature that Faker does not have or appreciate the need for.

                                1. 8
                                  1. 4

                                    This type of comment makes it sound like the article is meant as a hit job where the faker readme talks about setting a seed (as skade points out)

                                    1. 1

                                      I’ve now worked at three different companies that have used it and no one has raised or mentioned even this feature before, apologies for missing it. I think my point still stands.

                                1. 3

                                  Ruby and Elixir make it fun to write beautiful code, but I still see bugs in production that could have been caught with a better type system.

                                  Rails is productive, but I quickly run into speed issues that require view caching.

                                  Then there’s Elm. It’s beautiful. Fun. But only available on the front-end.

                                  After working with Rails for over 8 years I can totally relate to the desire for a holy grail framework that addresses these weeknesses. I hope this gets some traction.

                                  1. 2

                                    Love the Be/Haiku look. Restrained and elegant, but still fun.

                                    1. 6

                                      I’ve been working on an implementation of this draft and following progress via Mastodon. It seems quite a bit nicer to implement than the mishmash of standards and formats that OStatus is made from. It’s extremely generic and flexible though, which is making mapping into a strongly typed language an interesting challenge.

                                      1. 1

                                        Looking forward to the AVR support in this release making its way to the Rust compiler.