1. 3

    I’ve been running the scrollback branch on FreeBSD and Linux for a few weeks and it’s been rock solid.

    1. 1

      use emacs keybindings everywhere, in the shell, browser, you name it. On OS X, Karabiner mapped those bindings for me and now on linux laptop with GNOME it is a top-level feature.

      Does anyone know what GNOME feature the author is referring to here?

      1. 9

        Along with UI themes, icon themes and cursor themes, GNOME supports “key themes” which determine the keybindings used in text-entry fields.

        To see the current value, from the command-line:

        dconf read /org/gnome/desktop/interface/gtk-key-theme
        

        To set the theme to “Emacs”:

        dconf write /org/gnome/desktop/interface/gtk-key-theme "'Emacs'"
        

        (the double-quoting means it will be set as a string value)

        To reset to defaults:

        dconf reset /org/gnome/desktop/interface/gtk-key-theme
        

        There’s also a UI for this option, in the gnome-tweaks tool.

        1. 1

          Ahh right. Thanks for the explanation. I see there is an, “Emacs Input”, option in Tweak Tool now.

          1. 1

            Brilliant, I must try this, thanks!

        1. 4

          What a curious way to announce this much awaited new Elm release. Does anyone here know more about the ideas behind that? I’d have expected some kind of public beta and a proper release announcement…

          1. 4

            Yeah, it’s a bit…different, but it looks like picking and highlighting one feature is what was done for previous releases as well: http://elm-lang.org/blog

            1. 2

              Especially given the “is Elm dead?” questions that have been popping up in the past few months. I guess it’s better to be head-down working on the next release, but I think just a little more communication or visibility into the project might have helped alleviate some of the concerns.

              1. 3

                This topic was addressed by Evan (creator of Elm) in his recent talk at Elm Europe 2018 titled: “What is success?”

                1. 2

                  So I watched the video, and this is addressed around the 41 minute mark: “There’s pressure on me to be always be saying everything that’s going on with Elm development, and the trouble is that it’s not always very interesting… it’s like… ‘still working’”.

                  I think “still working” would have been better, though. I don’t think anyone expected weekly updates. Every 2 months updating the Github readme with “still working” would have been fine. And the fear that saying you’re working on X and then it doesn’t pan out, so better to not say anything at all, seems like the worse option.

                  I also think the talk is a little dismissive of Javascript, and the community. Sure, the number of packages is by no means the be-all of a good language ecosystem, but it says something about the platform and its viability. If nothing else, it means there are alternatives within the ecosystem. People have limited time, and very limited time to invest in learning brand new things, so they naturally look for some way to compare the opportunities they have. Is looking at numbers the ideal behaviour? Maybe not, but if I want to sell Elm to my boss and she asks me when the last release was and I say “18 months ago” and she asks if I know when the next one will be and I say “no”… that’s how languages don’t get adopted and ecosystems don’t grow.

                  As a complete outsider, but also as someone who wants Elm to succeed, I think community management is something they need to take really seriously. It seems like Evan really doesn’t want to do it, so fine, have someone else do it. You can dislike that there are persistent questions about the future of your project, but they’re best addressed at the time, not left unanswered.

                  1. 3

                    Personally, I’m not really convinced by those arguments.

                    I especially don’t understand why 18 months since last release, and no known date of new release, are arguments against adoption of the language. Take C or C++ — they rarely have new releases. Is this an argument against adoption? I don’t think so; actually, more like for adoption in my opinion! Slow pace of releases can mean that the languages are mature and stable. I’d be really surprised and annoyed by a boss who would think otherwise.

                    It now occurred to me, that maybe Lua is a good example of a language having a similar development mode as Elm. It’s also evolved behind super tightly closed doors. And new versions are usually dumped on the community out of the blue; though usually with public betas & RCs. But those are published only for fleshing out bugs; language design input is mostly not taken into account. AFAIK, the community is generally OK with this. And the language is totally used and relied upon in numerous niches in the industry (including a large one in game development)!

                    1. 5

                      “Elm” includes the language specification and the compiler.

                      The C language specification rarely has new releases, but the C compiler, gcc, has 4 releases per year. There would be major concern from the community and your boss if gcc activity was perceived as drying up.

                      1. 1

                        Ah; good one, never thought of it this way; big thanks for pointing this out to me!

                      2. 2

                        Take C or C++ — they rarely have new releases

                        C and C++ have been mature and in very wide use for decades, where Elm is a very young language - just a few years old. Same with Lua, it’s been in widespread use for, what, 10 years or more? I think that’s the difference. Elm is still much more of an unknown quantity.

                        Slow pace of releases can mean that the languages are mature and stable

                        Sure - when the language is mature and stable. I don’t think anyone would consider Elm to be that way: this new release, if I understand correctly, breaks every package out there until they’re upgraded by their maintainer.

                        1. 3

                          Personally, after some initial usage, I currently actually have a surprising impression of Elm being in fact mature. It kinda feels to me as an island of sanity and stability in the ocean of JS ecosystem… (Again, strictly personal opinion, please forgive me should you find this offensive.) I didn’t realize this sentiment so strongly until writing these words here, so I’m also sincerely curious if this could be a sign of me not knowing Elm well enough to stumble upon some warts? Hmh, and for a somewhat more colourful angle, you know what they say: old doesn’t necessarily mean mature, and converse ;P

                          And — by the way — notably, new releases of Lua actually do also infamously tend to break more or less every package out there :P Newbies tend to be aggravated by this, veterans AFAIU tend to accept it as a cost that enables major improvements to the language.

                          That said, I think I’m starting to grasp what you’re trying to tell me. Especially the phrase about “unknown quantity”. Still, I think it’s rare for a language to become “corporate grade non-risky”. But then, as much as, say C++ is a “known quantity”, to me it’s especially “known” for being… finicky

                  2. 2

                    Yeah the last release was in Nov 2016.

                    1. 1

                      The devs are active on https://discourse.elm-lang.org/, which might help people see the project activity.

                    2. 1

                      since they recently disallowed using javascript in elm packages, it only makes sense that they’d lead with what that had won them, i.e. function level dead code elimination.

                    1. 4

                      I write about programming and other tech on my blog at http://www.wezm.net and I write about operating system and computer adventures at http://bitcannon.net

                      1. 2

                        The website and logo are neat. I’m somewhat surprised to see the “-rs” suffix featured in the logo and text when the API guidelines suggest otherwise:

                        Crate names should not use -rs or -rust as a suffix or prefix. Every crate is Rust! It serves no purpose to remind users of this constantly.

                        1. 4

                          Huge number of new and improved features in this release. Congratulations to all involved.

                          1. 5

                            Redox is not a particularly good example of operating system design

                            A bold claim that I’d be curious to hear sustantiated.

                            1. 4

                              Someone on the reddit post asked much the same thing. Here’s my reply:

                              Sure thing. I’m not saying that Redox isn’t a great thing. It was the first project to seriously open up the possibility of writing operating systems in Rust and I will forever be thankful to it for that.

                              To elaborate on bad design: there are a number of questionable (at least to me) design decisions. For example, why are schemes designed the way they are? It seems to me like if they want to change the api between usermode and the kernel, they should either go all the way or none of it. Schemes change it a bit, but they don’t reconsider and fix bad design choices in posix and linux.

                              Furthermore, Redox is simply not designed for performance. Even the scheduler, one of the most important contributors to the overall performance of a system does far more work than necessary. It exchanges performance for slightly more simplicity, which, when designing an operating system, is rarely the correct choice.

                              1. [Comment from banned user removed]

                                1. 1

                                  I agree with you in most cases about premature optimizations. However, there are some parts, like in an os scheduler, that aren’t much more difficult to optimize and reap huge benefits.

                                  I chose wasm for both of those benefits. It can reach almost native performance, but the compiler for it and the runtime around are much simpler than any other comparable isa.

                                  Why don’t you like wasm?

                                  1. 0

                                    From wikipedia:

                                    WebAssembly is a web standard that defines a binary format and a corresponding assembly-like text format for executable code in Web pages.

                                    Really, what can go wrong?

                                    I grew up when the web was a public library, not a market.
                                    I learnt my first HTML, CSS and Javascript through “view source”.
                                    WASM is the ultimate obfuscation.

                                    There is a huge architectural security flawn in webassembly (inherited by Javascript): you run on your pc code controlled by a third party that knows you and your location and can easily customise such code to exploit the resources of your pc.

                                    This is actually a geopolitical scale security issue.

                                    From a technical perspective several high level assembly exists (java byte code, clr’s IL, Inferno DIS… the first that come to mind), but deploying worldwide a new one based on the provably most insecure system existing out there is plain stupid (if not criminal).

                                    These are in a nutshell my concerns.

                                    But these are not concerns with your project!
                                    It’s an interesting hack… exactly because it could prove me wrong!

                            1. 3

                              This makes me sad. I’d love FreeBSD to change a few things to encourage contribution and everytime these ideas come up they seem to be shot down with arguments like this.

                              Maybe the current system works and encourages high quality contribution due to the higher barrier to entry but in the end I think encouraging folks to contribute and making it easier to so correctly is in the best interests of the project.

                              I feel the Rust community does this well with the use of bots to automate some aspects of the process. There are some details of that in this article.

                              Another data point I saw the other day was since moving to GitLab some gnome projects have seen a noticeable uptick in contribution: https://twitter.com/hergertme/status/1009538945439297536

                              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 :).