1. 12

    Ha, nice to see that here. By the way, here’s the full playlist for RustFest, which I have run over the last 4 days (there was only 1 talk day):

    https://www.youtube.com/watch?v=23lRkdDXqY0&list=PL85XCvVPmGQgdqz9kz6qH3SI_hp7Zb4s1

    For those interested: next RustFest is in September/October.

    1. 3

      For those interested: next RustFest is in September/October.

      Has the location been decided yet?

      1. 4

        Rome. We’re currently searching for venues, expect a date announcement in June (or later, depending on how well the venue search goes).

        1. 2

          It was announced to be Rome at RustFest Paris, not sure if there has been some official announcement on the internet yet.

          1. 3

            We can’t get much more official: https://twitter.com/RustFest/status/1000403458212671488

          2. 1

            Thanks all. I’ll keep an eye out for the dates and see if I can schedule a little trip from AU to Italy later in the year.

        1. 4

          I enjoyed this post. The before after graphs are great. It seems like a fairly good review of what newcomers can expect from using Rust in production. Particularly the Pros and Cons at the end. Although the bit on error handling felt a bit off. The failure crate they mention is the correct solution to their problem and has been promoted the official rust-lang-nursery organisation. The Rust community probably should make that information easier to discover though.

          1. 3

            The Rust community probably should make that information easier to discover though.

            We will when it’s ready; it’s just not quite there yet.

            1. 2

              I recently ran into the need for the failure crate, and it felt like I was doing something wrong, because failure type is not specific and it relied on an “external” crate.

            1. 5

              It’s impressive what this project has accomplished. Do any folks here use it regularly on real or virtualised machines? For what purpose?

              1. 2

                FreeBSD version of GNOME is stuck on a more two year old version (3.18).

                gnome-3.26 (also merged into my ports) :)

                missed the game Stardew Valley on FreeBSD

                The Linux version works fine with the Linux compatibility layer!

                1. 5

                  You don’t even need to run the Linux compatibility layer, you can just run it natively under Mono - ask the OpenBSD gaming group ;)

                  1. 1

                    I am familiar with that group, I managed to run Rogue Legacy that way :) Not Stardew though.

                  2. 1

                    It’s been in the back of my mind to switch to your ports. I actually tried but stopped when it needed a newer kernel. I’d prefer not to go to 12-CURRRENT if I can avoid it. Thanks for the tip about SDV.

                    1. 2

                      Yeah, I think you should be able to build new GNOME stuff on 11.x just fine. CURRENT is just what I use, and it was mostly about CURRENT being required for drm-next-kmod (recent AMD and Intel GPU drivers), but now even that works on 11.

                      1. 1

                        From memory I think the build broke with something needing evdev or wayland support in the kernel.

                  1. 4

                    What are your thoughts on the plain text accounting ecosystem, for example Ledger CLI? Would that be a sufficient replacement for moneywell if you had some scripts that produced the graphical reports that you want?

                    1. 5

                      It’s not graphical reports that I want (I never use them actually). I want something that does envelope budgeting that will automatically distribute income to the envelopes based on a spending plan (recurring bills, expenses, etc). It’s the one feature keeping me on MoneyWell, which I’ve used since 2008.

                      1. 5

                        I understand. I used to do envelope budgeting but got away from it as my income grew and my expenses didn’t.

                        It’s possible to do envelope budgeting with ledger with a little planning. It might not be as easy, though, and there’s still much room in the ledger community to improve automatic downloaders.

                        1. 1

                          Have you looked into GoodBudget?

                          1. 2

                            No, I don’t really want to use a web app for managing my finances.

                            1. 1

                              There are also native mobile apps for both Android & iOS.

                      1. 2

                        Hey, just wanted to recommend You Need A Budget - I switched to it from MoneyWell when I made the same jump as you! Been happy so far!

                        1. 5

                          Thanks for the suggestion. Glad it works for you, a friend of mine recommended it to me this morning too. I do believe it meets my desire for envelope budgeting but I don’t like the idea of handling all my financial data to a web app. I’m not worried about them stealing my money, moreso I just don’t like them having the data and what they’ll do with it. Such as this from the terms of service:

                          We may disclose aggregated information about our users, and information that does not identify any individual, without restriction.

                          1. 2

                            That’s fair enough. I think credit card companies and banks do the same though, no? I feel like that data is already (anonymously) exposed.

                          2. 1

                            I’ve recently started using YNAB and rather like it - it makes budgeting quite pleasant. My only criticism - they recently increased their price from $50 to $84/annum, which is a pretty huge increase (existing users are granfathered in to the old price “for now”).

                            1. 1

                              That is pretty steep. I hadn’t thought about it because I’m on the student free plan for now…

                          1. 5

                            If you use Neovim, you can use the builtin man page plugin.

                            For example: https://i.imgur.com/eLNmYkh.png

                            Checkout https://github.com/neovim/neovim/blob/611351677dba450fc1a312061572c44c7e3d6482/runtime/doc/filetype.txt#L509 for docs and how to use it as the default man pager.

                            1. 3

                              This is a fantastic tip. Thanks for sharing.

                            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.