1.  

    The Last Ringbearer by Kirill Yeskov, a novel taking place in the Middle Earth that tells the story from the Orcs’ perspective, suggesting that the original works are Mankind’s propaganda against the industrial nation of Orcs.

    Programming a Problem-Oriented Language by Charles Moore, on domain-specific languages. I decided to read it after reading the article Little Languages by Jon Bentley. If I like the idea, I’ll try How to Design Programs.

    1.  

      Is The Last Ringbearer any good? It sounds interesting. I’ve only had a couple experiences with “alternative perspective” novels (most importantly Ender’s Game/Ender’s Shadow, which I really liked) but none by separate authors!

      1.  

        I enjoyed it. It is essentially a spy thriller in Middle Earth.

        1.  

          I’m still at the beginning but I’m liking it so far. I was afraid it’d read like clumsy fanfic but I’m glad it’s not the case.

      1. 14

        I hope we all learn something from TempleOS’s innovations and inspirations (Xerox Alto, Plan 9, Lisp Machines etc). Because I sure learnt a thing or two about UI from the self-documenting hypertext HolyC JIT shell.

        1. 14

          I do something like this as well, with the added layer of crazy that my dotfiles are a nix package which is installed and then linked into place.

          But really, all I want is unprivileged union mounts that work.

          1. 7

            But really, all I want is unprivileged union mounts that work.

            Plan 9, where art thou?

            I seriously don’t understand why Unix hasn’t evolved to be more like Plan 9 over the last few decades. It’s so clearly the right direction!

            1. 5

              Hey, do you have like a 10-second primer on plan 9? I always see people talking about it but have no idea how it differs from Unix.

              1. 7

                It’s sometimes said that in Unix, everything is a file. In Plan 9, everything is a filesystem, and they can be transparently or opaquely mounted on top of one another to customise the environment for each process.

                For example, where Unix has a special API for making network connections and configuring them, Plan9 has a particular filesystem path: write a description of the connection you want to make, read back a new path. Open that path, and the resulting file-descriptor is your TCP socket. If you want to forward your connections via another computer, you don’t need a special port-forwarding API or a VPN, you can just mount the remote computer’s network-connection filesystem over the top of your own, and everything that makes a network connection from then on will be talking to the TCP stack on the remote computer.

                1. 2

                  I think Redox’ “Everything is a URL” is a nice improvement on Pan 9’s idea.

                  1. 1

                    Very interesting. Thanks!

                  2. 1

                    That’s a great question!

                    I guess the big thing about Plan 9 is that it really tried to make everything a file. So using the network was just opening files, writing to the GUI was just writing to files &c. Really, the differences from Unix are mostly a result of that goal, e.g. in Plan 9 any user can create his own namespace of files & directories from other files & directories.

                    The longer version would go into detail about how that actually worked (short version: really well).

                2. 4

                  Do you have your Nix/dotfiles code somewhere?

                  1. 3

                    A more radical approach would be using rewritefs.

                    1. 2

                      I use home-manager, and mine looks as simple as:

                            home.file = {
                              ".stylish-haskell.yaml".source = ../stylish-haskell.yaml;
                              ".spacemacs".source = ../spacemacs;
                              ".ghci".text = ''
                                :set prompt "λ> "
                              '';
                            };
                      
                      1. 1

                        Me too! Some more stuff I do to manage simple scripts/aliases:

                        let
                          script = text: {
                            text = ''
                              #!/usr/bin/env bash
                              ${text}
                            '';
                            executable = true;
                          };
                        in {
                          # ...
                            home.file = {
                              "bin/gd" = script ''git diff "$@"'';
                              "bin/gds" = script ''git diff --staged "$@"'';
                              "bin/gf" = script ''git fetch --all "$@"'';
                              "bin/glg" = script ''git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr %cd) %C(cyan)%an%Creset' --date=format:'%d.%m' --abbrev-commit "$@"'';
                              "bin/gl" = script ''glg --all "$@"'';
                              "bin/gs" = script ''git status "$@"'';
                              # Show git branches in ~ "most recently used" order
                              "bin/git-bs" = script ''git branch --sort=-committerdate "$@"'';
                            };
                          # ...
                        };
                        

                        What I especially like about home-manager, is that it allows me to try and gradually migrate stuff to Nix, but I still can do e.g. nix-env -iA nixpkgs.umlet for quick additions/tests, and still have an escape hatch of sudo apt-get install ... if something is not available (or broken for me) in nixpkgs.

                        1. 1

                          You don’t need that script function. viz.:

                                programs.bash = {
                                  ...
                                  shellAliases = {
                                    copy = "xclip -i -selection clipboard";
                                    g = "git";
                                    e = "emacs -nw";
                                    ee = "emacs -nw $(fzf)";
                                  };
                                };
                          
                                programs.git = {
                                  ...
                                  aliases = {
                                    co = "checkout";
                                    ci = "commit";
                                    s = "status";
                                    pr = "pull --rebase";
                                    l = "log --graph --pretty='%Cred%h%Creset - %C(bold blue)<%an>%Creset %s%C(yellow)%d%Creset %Cgreen(%cr)' --abbrev-commit --date=relative";
                                  };
                                };
                          
                        2. 1

                          I remember finding home-manager and was unsure if it worked or was testing on a not-NixOS system, so I kept using my Rube Goldberg setup :/

                          1. 1

                            I can confirm that home-manager works on OSX. The home.nix file I linked to above is used both on my Thinkpad running NixOS and my Macbook running macOS (via nix-darwin).

                            1. 1

                              I’m using it succesfully on Ubuntu 16.04.

                          2. 1

                            Oh, hey, I’ve been meaning to do that. Would you be willing to share your config?

                            1. 4

                              Here’s my nix expression which, in true FP style, is completely inscrutable:

                              { stdenvNoCC, stow, src ? ./. }:
                                
                              stdenvNoCC.mkDerivation {
                                inherit src;
                                name = "common-configs";
                                propagatedBuildInputs = [ stow ];
                                propagatedUserEnvPkgs = [ stow ];
                                buildPhase = ''
                                  wd=$(pwd)
                                  mkdir $wd/live
                                  find . -maxdepth 1 -mindepth 1 -type d | \
                                    grep -v 'work\|scripts\|nix' | \
                                    while read d; do
                                      stow --dir=$wd --target=$wd/live --stow $(basename $d)
                                  done
                                  echo $out > $wd/live/.config/store-address
                                '';
                                installPhase = ''
                                  mkdir -p $out/etc/profile.d $out/cfg
                                  cp -Lr . $out/cfg
                                  mv $out/cfg/live $out/live
                                  cat <<'EOF' >$out/etc/profile.d/stow-configs.sh
                                  export PARALLEL_SHELL=/bin/sh
                                  [ -e "$HOME/.config/store-address" ] && stow --dir=$(cat $HOME/.config/store-address) --target=$HOME --delete live
                                  stow --dir=$(dirname $(realpath $HOME/.nix-profile/live)) --target=$HOME --stow live
                                  # need to make sure systemd is using the latest unit files
                                  systemctl --user daemon-reload
                                  test -f $HOME/.nix-profile/live/.Xresources && xrdb -merge $HOME/.nix-profile/live/.Xresources
                                  EOF
                                '';
                              }
                              

                              The src argument is a directory arranged like “programname/.dotfile”.

                              And this is called from a script I call nix-up:

                              #!/bin/sh
                              nix-channel --update
                              test -f "$HOME/lib/$(hostname).nix" &&
                              	nix-env --no-build-output --keep-going \
                              		--remove-all --install --file "$HOME/lib/$(hostname).nix"
                              if test -f "$HOME/.nix-profile/etc/profile.d/stow-configs.sh"; then
                              	echo swapping configs...
                              	. "$HOME/.nix-profile/etc/profile.d/stow-configs.sh"
                              fi
                              

                              That $(hostname).nix file has a list of packages and hooks the overlay that contains the above expression.

                              1. 1

                                Thanks! I’m excited to set it up.

                          1. 1

                            面白い、dmesgdというもんがあるなんて初めて聞いたんだ。けどさ、このプレゼンテーションはなんか「NetBSDはレトロコンピュティングしか使い価値が無い」みたいな感じしない?

                            1. 2

                              Nice :) I put it through google translate and my response in english is that surely the work others are doing on risc-v, x86 hypervisor and arm support contradicts that.

                            1. 11

                              i18n/l10n is one of the hidden pain points of IT.

                              Putting aside things like decimal/thousands separators and datetime formatting, even ignoring the myriad issues with non-Latin scripts, just dealing with the way different languages do different things with Latin alphabet is a nightmare if you aren’t using a library to handle locales for you.

                              For example, let’s consider the case of capitalisation only.
                              Digraphs can function like distinct letters and are capitalised together accordingly.
                              eg Dutch “ij” (which is usually, but not always, listed together with “y” in indexing) as in IJsselmeer.
                              Digraphs can function like distinct letters whilst being explicitly not capitalised together.
                              eg Czech “ch” (which appears between “h” and “i” in the alphabet) as in chleb and CHKO, whereas Polish “ch” isn’t capitalised in initialisms, as in ZChN.
                              Digraphs can be assigned distinct glyphs which have their own capitalisation rules.
                              eg German “ß” as in groß, which could be capitalised as GROSS or GROẞ. If you assume “ß → ss” you need to make sure you handle the cases where lowercase “ss” is used, like küssen.
                              What you consider as a single letter can be considered multiple letters in some languages.
                              eg Turkish “i” as in iki, which is capitalised as İKİ (not IKI), and “ı” as in ılık which is capitalised as ILIK.

                              How should collates be handled? Where does ø appear in the alphabet, after o or after z? Is ü a separate letter or a variant form of u?

                              Never assume other languages function like English just because they also use the Latin alphabet.

                              1. 4

                                How should collates be handled?

                                By default, in postgres, en_US and en_AU have different opinions about the order Thai characters should sort in (relative to one another), which caused a hilarious series of hard-to-track-down test failures.

                              1. 2

                                I’m looking forward to see functional feature phones in the market that aren’t overpriced hipster toys.

                                1. 3

                                  I can’t wait for this either! The industry is desperate for a middle-ground. Give me a feature phone that has a touchscreen QWERTY keyboard, where I can check my emails and have Whatsapp. I’ll ditch my smartphone tomorrow.

                                  1. 3

                                    If you don’t mind the lack of a touchscreen (it’s not a smartphone, after all), Nokia 8810 4G is what you’re looking for.

                                    1. 1

                                      I don’t believe it has a QWERTY keyboard?

                                      1. 1

                                        Ah, yes, I interpreted “touchscreen QWERTY keyboard” as one item.

                                  2. 1

                                    Why wait when feature phones like these are still on the market. Hell, if you check out your nearest electronics shop I’m sure you can still find feature phones for sale. Or did you mean something special when you said ‘functional’?

                                    1. 2

                                      Modern feature phones with LTE run Android.

                                      1. 2

                                        Almost every non-hipster feature phone is just an old phone still in production. Most of them don’t even support 3G even though 2G is going to be phased out in less than a decade. I’m looking for a modern phone that isn’t a smartphone, rather than just an old phone.

                                        The actually innovative looking ones (eg Alcatel 2008G) are usually intended for non-tech savvy people, especially old people with vision impairments, and even those are grossly overpriced for what they do.

                                        Nokia’s 8810 remake is the closest thing to what I’m looking for. It’s durable with a long battery life and runs KaiOS (Firefox OS fork). It is rumoured that WhatsApp will be ported to KaiOS this year, which is (quite unfortunately) an app I cannot do without.

                                        1. 2

                                          Ah right, network support is going to be a killer. good point

                                    1. 2

                                      Stopped reading at the casual hatred of capitalism. Can we get a philosophy article without throwing out the dog-whistle of capitalism being bad?

                                      1. 9

                                        I’ve covered the special relationship between capitalism & software extensively elsewhere. I didn’t elaborate in this article because I didn’t expect it to become popular outside my regular readership (who will already be familiar with those arguments).

                                        In addition to the stuff covered above, there’s the obvious precedent of cybersyn. Of course, eliminating capitalism doesn’t require eliminating markets (as cybersyn does), & despite the various problems with markets, it’s unclear whether or not doing so would even be desirable in capitalism’s absence. After all, markets can be pretty good for solving certain kinds of information problems so long as the prerequisites for market efficiency are fulfilled. On the other hand, almost all economic activity on earth occurs within corporations or families (both of which are siloed planned economies) & attempts to bring markets into corporate silos have largely been disastrous, so it’s worth considering cybersyn’s progeny seriously.

                                        1. 2

                                          Next time just link the phrase to your previous article that explains it best, so that it doesn’t appear to be a random comment.

                                          1. 4

                                            I’ve got an awful lot of other writing related to every subject I cover here. You’ll have to excuse me if I don’t link every word to a different article when tossing off a low-effort rant I expected to get at most ten readers. Criticism of capitalism is among the least controversial subjects I cover in this.

                                        2. 9

                                          What is it about the author’s dislike of capitalism that invalidates their opinions about UX design?

                                          1. 10

                                            The casual injection into a post that I was reading to find out about his opinions on UX design.

                                            1. 6

                                              it’s their article, not yours. If they think it’s important, they can write whatever they want :)

                                              1. 1

                                                It may be their article but we are allowed to critique it. Nobody’s imprisoning the author for the way he writes, but by the same token, no one is obligated to read what he wrote if the style drives them away.

                                                1. 3

                                                  Then why not just hide and ignore? How do the OP reply’s not equate to tantamount compaining and not serious discussion? what do you intend to accomplish with this reply?

                                                  EDIT: also, it’s funny I got downvoted as “incorrect” at the same time as your reply…

                                                2. -6

                                                  It might have made some sense with context. Now it did not.

                                                  A big part of capitalism is providing the supply for a demand. If something won, there’s a market demand for it, right?

                                                  It might be suboptimal, and change can be hard to enact, but would it be better if every computer was an autistic LISP machine, utterly unapproachable for a layman?

                                                  1. 5

                                                    Can you seriously not use “autistic” as an insult?

                                                    1. 3

                                                      ….what?

                                                      1. 3

                                                        This post includes, in five sentences, a severe misunderstanding of markets under conditions of near monopoly, some pretty extreme ableism, and the straw man fallacy.

                                                        Please, reconsider.

                                                    2. 3

                                                      I’m with zdsmith and the others here. It’s OK to have this as a pet peeve, but really, just put that aside and evaluate the ideas being presented for what they are. That’s my suggestion.

                                                  2. 14

                                                    It sounds to me like the OP is responding to an insufficiently-filled market need to shit on capitalism, and I commend them for responding so quickly to the invisible hand.

                                                    1. 5

                                                      Also, I don’t think you’re using the phrase “dog-whistling” correctly.

                                                      1. 2

                                                        No. Calls for the death of capitalism and the adoption of fully automated luxury space communism are all the rage these days.

                                                        And while I started writing this as snark, the truth is it’s a reality, especially in certain quarters like Mastodon where thousands of kids who’ve likely not experienced actual hardship ever seem to predominate.

                                                        1. 7

                                                          And while I started writing this as snark, the truth is it’s a reality, especially in certain quarters like Mastodon where thousands of kids who’ve likely not experienced actual hardship ever seem to predominate.

                                                          Except that the ‘kids’ you talk of have actually experienced far more hardship than any previous generation that still lives. Growing up in a massive recession, living in a world where they have no privacy and many have no expectation of privacy, where they’re allowed to own mobile phones as children despite it being objectively proven that this is incredibly harmful to their psychological development, living in a world where all collectivism in society has been snuffed out by the unstoppable march of neoliberalism.

                                                          If you can, imagine having your once almost guaranteed job replaced by outsourcing to Asia so the very rich who were already far too rich can make even more money. Imagine having your previously completely free tertiary education replaced with unbelievably expensive tertiary education but of far worse quality with universities filled with foreign students that waste tutor and lecturer time by being virtually unable to communicate in English. Imagine having your Government’s public works department privatised and its job of building sufficient housing to keep house prices at a reasonable level completely abandoned, leading to some of the most expensive housing in the world in a low population density first world country with more than enough land.

                                                          If you were in those shoes I imagine you’d consider yourself to be subject to some level of bloody hardship thank you very much.

                                                          1. 3

                                                            Except that the ‘kids’ you talk of have actually experienced far more hardship than any previous generation that still lives.

                                                            Do you realise that there are still survivors of the Second World War alive? Survivors of the Holocaust? Survivors of the Cultural Revolution?

                                                            No, millennials haven’t ‘experienced far more hardship than any previous generation that still lives,’ not even close. Not even a little bit.

                                                            1. 6

                                                              Um… Can we please not have sweeping generalizations about the life experiences of entire generations here? Or pissing contests about hardship? The hyperbole to which you are responding is severely oversaturated, but the basic point is sound. Genuine hardships exist at every level in the mythical Maslow hierarchy. Studies have shown that grad students suffer the same stress levels (measured by both Likert scale and cortisol levels) as combat soldiers. People who live through major natural disasters and other forms of severe crisis generally report feelings of peace and social communion. People adapt, it’s how our nervous systems work. Exercise some compassion!

                                                              1. 3

                                                                I guess you’ve never met any from other parts of the world who isn’t from the United States, or other other affluent and unravaged countries.

                                                                1. 1

                                                                  Did you mean to reply to milesrout? Every one of my examples of people who’ve experience far more hardship than millennials have was from outside of the United States.

                                                                  Or do you mean that ‘millennials’ is a term usefully applied to non-Western cohorts? I think that would be a rare usage. Still, while there’s some pretty horrific stuff going on the world today, I don’t think it compares to the Cultural Revolution or the Holocaust.

                                                                  1. 1

                                                                    I was replying to you; you brought up non-Western comparisons, and I’m pointing out that your attempt to minimize current ills is unsound.

                                                                    It’s undeniable that Millennials, and all other post-Boomer cohorts in the United States, have had declining opportunities and quality of life, due to structural issues related to unregulated and sociopathic economic policy and behavior (see https://www.scientificamerican.com/article/the-american-economy-is-rigged/). So what’s your deal? Why are you trying to gaslight us?

                                                                    1. 1

                                                                      It’s undeniable that Millennials, and all other post-Boomer cohorts in the United States, have had declining opportunities and quality of life

                                                                      I’m not arguing against that statement: I’m arguing against the statement ‘the ‘kids’ you talk of have actually experienced far more hardship than any previous generation that still lives.’ That statement is false, because there are generations still living which have experienced far worse hardship than the Millennials. Whatever hardship they face pales in comparison to mass slaughter, mass murder, mass starvation, mass conscription &c. &c. &c.

                                                                      That’s not gaslighting: it’s a simple fact.

                                                                      1. 0

                                                                        I believe it is incorrect to exclude the rest of the world in the Millennial cohort; the problems they face are global. Especially since you keep bringing up non-Western-world examples like the Cultural Revolution. And Millennials and younger are now facing down the barrels of a bunch of giant ecological cannons, and the world is turning into an authoritarian hellscape, so again, your insistence on minimizing how rightfully pissed they should be is literally incredible.

                                                            2. 3

                                                              And this is bad because?

                                                              1. 4

                                                                It’s absolutely not “bad” - did I say that?

                                                                No, what I said is that I see a lot of people yearning for a particular bit of societal change, and sometimes I question whether or not they appreciate the fullness of what they’re asking for.

                                                                1. 3

                                                                  In particular, I am selfishly worried that given that kind of massive, wholesale seismic shift in the way we structure our lives that basic infrastructure would fall away for a time.

                                                                  I’m dependent on a couple of key medications that aren’t all that common to continue existing on the prime material plane, so despite the fact that I LOVE the idea, I’m a bit cautious around what it would ACTUALLY mean to march into our glorious future with my comrades, possibly dying of dehydration along the way. (The drug I need is vasopressin replacement. Without it I dehydrate and die. Full stop.)

                                                                  1. 3

                                                                    Countries with socialised medicine do far better at providing people with medicine than those without. I struggle to see why it’d be reasonable to expect socialism to do poorly at providing medicine.

                                                                    1. 3

                                                                      Countries that have socialized medicine where a person with disorder like GP has survives are capitalist.

                                                                      1. 2

                                                                        What does that have to do with what I said?

                                                                        1. 1

                                                                          This whole branch discusses the “calls for death of capitalism”, and you mention socialized medicine as a counter argument. Now, why do you make me explain your post to yourself?

                                                                        2. 1

                                                                          Countries that have socialized medicine where a person with disorder like GP has survives are capitalist.

                                                                          I can’t even parse this. What are you saying? Socialized medicine is socialism. Western countries are a mix of socialized services (education, roads, trains, military) and private, market-based systems. The mix has historically shifted back and forth, and right now, we’re at an extremely capitalistic phase, and it’s too much.

                                                                          Capital is useful, like fire. Demanding that we worship it and asserting that capitalism is the Only Way is like demanding that firefighting be outlawed, because fire is good.

                                                                          1. 1

                                                                            Socialized medicine in socialist countries is atrociously bad. The GP would not have survived there with the kind of disorder they have. I am saying that because I lived in a poster boy socialist country with such healthcare system.

                                                                            All Western countries are decidedly capitalist, their economies are based on proceeds from capitalist mode of production. Back in my history class in USSR we had that political map of the world, they were marked there as such.

                                                                            I hope you aren’t suggesting that the USA is the only capitalist Western country, since all others have socialized healthcare of some sort.

                                                                            1. 1

                                                                              Really, you’re saying the medicine in the Netherlands, and Australia, and Canada, and Sweden, etc. is atrociously bad? Because I know for a fact that the systems there are better than in the United States.

                                                                              Again, socialized medicine, like socialized military or education, is socialism. All the Western democracies are a mix of socialism and capitalism.

                                                                              The United States is more capitalistic than the other ones; I am saying it needs to be less capitalistic than it currently is.

                                                                              1. 0

                                                                                Really, you’re saying the medicine in the Netherlands, and Australia, and Canada, and Sweden, etc. is atrociously bad?

                                                                                I am saying that medicine in Marxist societies was (and is) bad. There is a world of difference between socialized aspects of Sweden and Soviet socialism. They have nothing in common, nada, nilch. If you think USSR was like Sweden but just poorer and with more socialized services, no, it was nothing like it at all. In fact from that perspective Sweden is undistinguishable from the USA. I know because I’m familiar with both, and a former Prime Minister of Sweden agrees.

                                                                                1. 1

                                                                                  No one was talking about Soviet-style Marxist Communism, which we all agree was a nightmare. The argument was, “Too much has been subject to capitalism,” (which originally sprang from the OP’s note that we still have capitalism, meaning, there is still scarcity and inequality), or, “There should be more socialism,” which has nothing to do with the dysfunction in the USSR.

                                                                                  1. 1

                                                                                    Fair enough. I was going off “calls for the death of capitalism” upthread, have nothing against socialized healthcare per se.

                                                                                    1. 1

                                                                                      But why does a call for moving beyond capitalism automatically invoke, “I guess you want to try something terrible, like a USSR or DPRK style nightmare?”

                                                                                      Capitalism, like controlled fire, is a human tool meant to bring about humane ends. When fire rages out of control and people get hurt, we put it out. When capital rages out of control and people get hurt, for some reason a lot of people get mad when you say, “Maybe common and critical needs shouldn’t be subject to market dynamics,” and I just don’t understand that reaction.

                                                                                      1. 1

                                                                                        Because you hardly hear that call from anyone else than communists, and USSR/DPRK was the outcome of people giving their best to build communism.

                                                                                        1. 1

                                                                                          Fully Automated Luxury Gay Space Anarcho-Communist Syndicalism does not suffer from the flaws of the attempts from 100 years ago; we will have automated labor this time ;)

                                                                                          Also, if you have an ounce of awareness and you live in the San Francisco area, it’s impossible to not be confronted with catastrophic failure of capitalism as a total system (meaning, attempts to provide all needs via markets).

                                                                                          1. 1

                                                                                            All kinds of societies can thrive once you remove human factor!

                                                                        3. 1

                                                                          Did you read what I read in full?

                                                                          In particular, I am selfishly worried that given that kind of massive, wholesale seismic shift in the way we structure our lives that basic infrastructure would fall away for a time.

                                                                          Of course once a fully marxist / communist society was attained medicine would be a non problem for most people, my issue is the transition. Do you actually think we could just pivot from full on rape and pillage capitalism to such a society without massive upheaval, bloodshed, and interruption of all but the simplest infrastructure services (like the manufacture and delivery of specialized medication for instance.)

                                                                          1. 1

                                                                            Of course once a fully marxist / communist society was attained medicine would be a non problem for most people

                                                                            Don’t count on it. We had root canals treated without anaesthetics in 1980s USSR.

                                                                            1. 3

                                                                              This is exactly the point I was trying to make. I’m seeing a LOT of people extolling the virtues of Marxist / communist societies without thinking through how hard they are to actually implement in ways that benefit the common citizen.

                                                                              For a really great trove of data on how this can go totally awry, read the book Red Plenty.

                                                                              Many then cite successful implementations of universal healthcare in socialist countries, failing to acknowledge the fact that many (all?) of these are fueled by thriving capitalist economies.

                                                                              I acknowledge that I am a cis white male working in technology and currently enjoying a lifestyle practically dripping with privilege, but this has not always been so, and I also feel that just because I have never known hardship (especially not the kind of hardship experienced by millennials, apparently) but that doesn’t mean I can’t talk about the flaws in people’s thinking.

                                                                    2. 3

                                                                      If you’re going to go that far you should go all the way: fully automated luxury gay space communism.

                                                                      1. 4

                                                                        Sure why not? With flying cars, even! :)

                                                                        (In all seriousness, Ian Banks Culture novels represent pretty much the ONLY far future society I’d actually WANT to be a citizen of :)

                                                                  1. 9

                                                                    So, uh, what’s better?

                                                                    1. 15
                                                                      • composable GUIs (like the alto & modern smalltalk environments)
                                                                      • notebook interfaces (like jupyter & mathematica)
                                                                      • literate programming interfaces (like swyft / the canon cat)
                                                                      • plan9
                                                                      • menuet
                                                                      • NeWS
                                                                      • language-based systems like interim
                                                                      • modern unix shells like zsh
                                                                      • borderline-obscure stuff like zigzag, sometimes

                                                                      And, of course, I’ve been working on a prototype of the system I pitched last year.

                                                                      The thing about interfaces is, if you put what you’re already accustomed to out of your mind, you start to think of alternatives pretty quickly – and many of them are better for certain tasks than what you already use.

                                                                      For my next book I’m planning to write a survey of alternatives to the WIMP paradigm that can be easily run or emulated by readers. Unfortunately, I’m going to need to do plenty of research if I’m to seriously discuss the internals of these systems, since a lot of them are language-based systems built around languages I don’t know very well (like lisp or forth) or at all (like holy c or oberon).

                                                                      1. 5

                                                                        I’m interested in your research. is there any place where I can keep on track with it?

                                                                        1. 4

                                                                          I’ve barely started researching for the book in question, so I’m not sure to what extent chapters & other content will be made available before it’s finished.

                                                                          The last book was mostly compiled from stuff I had already published on Medium. If you follow me there, you’ll probably get at least some of the material intended for the next one – maybe even rough drafts for chapters. Also, a lot of the chapters from the last book were inspired by or adapted from discussions I’ve had on mastodon or SSB, & this will probably be true of the next one: if you follow me on mastodon, no doubt you’ll get a preview of some of the ideas I’m playing with.

                                                                          If there’s enough interest, I might make a point of posting about the systems I’m researching on a more regular basis. Those posts will probably end up on Medium too.

                                                                          1. 2

                                                                            Also, I’m going to be posting resources here as I find them during my research.

                                                                            1. 2

                                                                              Thank you for this. I’m going to follow your work on it.

                                                                        2. 7

                                                                          I’d assume the biggest problem is overlapping windows. I’ve been using tiling window managers since 2012 and I would not go back. If you look at all the newer mobile operating systems (iOS, Android, that failed Windows 8/10 UI thing), they’re all either single app at a time or, at most, split screen.

                                                                          I guess a second thing is steering people away from mouse dependence. Hotkeys should be easily discoverable and easily encouraged. A higher learning curve at first can mean faster operation later on. Great example: Autozone. Watch staff look up a part today. They do a lot of clicking and switching back and fourth. The old setup was all terminal based and had the same searching/information. I think the new GUI still has a lot of keyboard shortcuts, but very few people I’ve watched use them.

                                                                          1. 5

                                                                            Overlapping windows are pretty pointless when they can’t be made to work together in interesting ways. Drag & drop between unrelated applications is the minimum interoperability to justify even supporting overlapping windows in my eyes (and support for that is pretty rare), but I’d be all about overlapping windows if freeform composition with gestures was a standard part of the toolkit. Even then, tiling is preferable on large displays once we’ve settled on an arrangement & interconnections.

                                                                            Support for tiling and pseudo-tiling (and quick-switching mechanisms) is something I don’t have a problem with in modern desktops, though. Even Microsoft and Apple have been pretty quick to jump on that bandwagon.

                                                                            1. 5

                                                                              Tiling windows seems like a funny point since we’re complaining about UIs treating users as stupid. The first version of Windows was tiling only because users were too stupid to handle overlap and might lose track of a hidden window, but eventually it was decided that users could be trusted with the responsibility of arranging things in their own. Round the circle we go.

                                                                              1. 1

                                                                                The first version of Windows was tiling not because of contempt of users, but to avoid a lawsuit from Apple (who did get overlapping windows working because they thought the Alto had it when it didn’t really). Also, a tiling window system is easier to write than overlapping.

                                                                                1. 1

                                                                                  Alas, I’m not sure of the reference, but they apparently had the feature, tested it, users were confused, and it was pulled.

                                                                              2. 4

                                                                                I think we’re slowly moving away from mouse-oriented approach, for better or worse. I’d personally wish for keyboard-oriented desktop UI, but judging by how much Microsoft and Apple are striving to unite all their systems software-wise (eg Windows Phone and Xbox One both running Windows variants, or audioOS etc being iOS-based), we might expect a move towards touchscreen-oriented UI on desktops instead. (Although I guess that goes as far back as GNOME 3 instead.) On the other hand, there exist a minority of mouse-oriented UI advocates, such as Rob Pike and his followers. He argues that mouse is more intuitive and faster, and the problem lies in bad UI design instead.

                                                                                1. 6

                                                                                  On the other hand, there exist a minority of mouse-oriented UI advocates, such as Rob Pike and his followers. He argues that mouse is more intuitive and faster, and the problem lies in bad UI design instead.

                                                                                  i still think that acmes mouse interface for common editing operations is better than keyboard shortcuts (see http://acme.cat-v.org/mouse). the way the mouse is used in most other systems is bad though. the windows way is nearly unusable with the popup-menu thing, and X11 is only saved by the primary selection insert with the middle mouse button ;)

                                                                              3. 4

                                                                                Presumably some form of programming-is-first-class system like the Alto, where everything you can click is also explorable (“view source” is built in) and extendable via SmallTalk. On the one hand I’m a bit sceptical and think not many users will really make use of this, on the other hand if you see how far some regular (i.e. non-programmer) users take, say, Excel and VBA scripting, having this programmability available pervasively by default in every application would definitely empower users much more than “closed” systems like the original Mac do.

                                                                                I have no idea how many people use AppleScript, which ostensibly brings pervasive programmability to the Mac. It wasn’t part of the original Mac OS and is about programming scripts “on the outside” onto or “against” existing applications rather than full-fledged inspection and modification of internals “inside” those same applications.

                                                                                1. 3

                                                                                  The only “modern” OS I know that makes use of hypertext self-documentation is… TempleOS. It also blurs the line between “using” and “programming”, like Alto and LispMs It’s not entirely user-friendly, but I guess it fits the bill.

                                                                                2. 8

                                                                                  Ask not the polemic for what is better; it is merely the shallow well in which the author steeps their discontent.

                                                                                1. 2

                                                                                  How did it come to be like this? I don’t imagine this has anything to do with efficiency, judging by the amount of labour (on the employer’s end) exerted to make candidates jump through hoops.

                                                                                  1. 8

                                                                                    Nobody wants to take a risk and get blamed for a bad hire, so they set up more and more process. It’s like sifting for gold, except you have like twenty pans and you throw away everything that doesn’t make it through any of the sifters without looking.

                                                                                    1. 3

                                                                                      That explanation seems plausible, but then I wonder, why is the process so much more heavyweight in tech than just about any other field, including other STEM fields? In sheer number of hours of interviewing that it takes to get a job, counting all the phone screens, take-home assignments, in-person interviews, etc., tech is way out of sync with norms elsewhere. A typical hiring process is any other STEM field is a resume screen, followed by one phone screen (typically an hour), followed by an on-site interview that can last somewhere between a few hours and a full day.

                                                                                      1. 8

                                                                                        Survivorship bias could be why. The ones perpetuating this broken process are those who sailed through it.

                                                                                        There’s also a lot of talent floating around, and the average company won’t be screwed by an average hire. So even if you miss out on that quirky dev with no social skills but the ability to conjure up a regex interpreter solely from memory, it doesn’t really matter to them.

                                                                                        It should matter to startups, though, because hiring average devs means you’ll fail.

                                                                                        1. 3

                                                                                          Depends on the startup; until you have product-market fit, you don’t need amazing engineers so much as you need people who can churn out prototypes fast.

                                                                                        2. 4

                                                                                          It might be partly due to the volume of applicants. With tech you have:

                                                                                          1. Massive concentration of talent (e.g silicon valley)
                                                                                          2. Remote work

                                                                                          For those reasons you can often get hundreds of applicants to a posting. Other STEM disciplines don’t support working remotely, and in some cases (think civil engineering) need their engineers to be physically on-site. I’d wager they tend to be much more dispersed around the country and companies can only draw from the local talent pool.

                                                                                          1. 3

                                                                                            I applied to a remote London based, three-person not-a-startup. I did the homework and got among the 50 or so people they interviewed on phone. They told they got over 2000 applications.

                                                                                          2. 4

                                                                                            Particularly in other STEM fields it’s pretty common to have more rigorous formal education requirements as part of the hiring bar (either explicitly or by convention.) Software development has always been somewhat more open to those from other backgrounds, but the flip side to that is that there seems to be a desire to set a higher performance/skills bar (or at least look like you are) as a result. There are potentially pros and cons to both.

                                                                                            I’d also wonder, particularly around the online tests/challenges/screenings/etc…, whether this is a result of tech people trying to come up with a tech solution to scale hiring the same way you’d approach scaling a technological system, and the resulting expansion in complexity.

                                                                                        3. 4

                                                                                          Hiring is hard, and a lot of work, and not something most engineers will willfully dive into. Therefore, at most companies, as much as possible of the hiring process gets farmed out to HR / management. And they do the best job they can, given their lack of domain knowledge. Unsurprisingly, they also favor potential employees that they think will be “good” based on their ability to sit, stay, heel, and jump through hoops. Fetch. Good boy. Who wants a cookie. ;)

                                                                                          Another take: Mistakes really, really, suck. And if you just add more analysis and testing to a hiring process you’re more likely to spot a problem in a candidate.

                                                                                          1. 2

                                                                                            I think mistakes are a big part of it. Software work is highly leveraged: what you write might run hundreds, thousands or millions of times per day. Being a little off can have big downstream consequences.

                                                                                          2. 4

                                                                                            I think it’s partly because there’s no training for it in most jobs, it’s very different to expertise in software, it’s very unclear what best practices are (if there are any), and for a lot of people it’s a time suck out of their day, when they’ve already got lots of work to do.

                                                                                            So you end up with these completely ad-hoc processes, wildly different from company to company (or differing even person to person during the interview), without anyone necessarily responsible for putting a system in place and getting it right.

                                                                                            Not to mention HR incentives may not align (points / money for getting someone hired) with engineering, and then you’ve got engineers who use the interview as a way to show off their own smarts, or who ask irrelevant questions (because though you all do code review, no-one does interview question review), or who got the interview dumped on their plate at the last minute because someone else is putting out a dumpster fire, and they’ve never heard of you or seen your resume before they walk into the room…

                                                                                            And decision making is ad-hoc, and the sync-up session after the interview gets put off for a couple of days because there’s a VP who wants to be on the call but they’re tied up in meetings, and in the meantime the candidate has an interview with another company so you’ve just moved forward with booking the onsite anyway…

                                                                                            So many reasons :)

                                                                                            1. 2

                                                                                              It’s all marketing.

                                                                                              I don’t think I would have taken any of my jobs if the recruiters were like “we’re not going to bother interviewing you because all we have is monkey work, when can you start?”, even though in hindsight that would have been totally adequate.

                                                                                              So companies play hard to get and pretend 99% of their applicants are too bad to do the jobs on offer, when the reality is closer to the opposite.

                                                                                              1. 1

                                                                                                <[apple] insert [google] company [facebook] here [microsoft]> only hires the best.

                                                                                              1. 47

                                                                                                I’m very excited that there’s finally movement in this direction. I honestly expected it to start in gamedev, but am happy to be proven wrong.

                                                                                                1. 2

                                                                                                  I thought exactly the same and expected it to mention Motion Twin (the anarcho-syndicalist gamedev cooperative that made Dead Cells). Honestly, seeing actual change, no matter how small, is giving me hope.

                                                                                                1. 1

                                                                                                  I think Typed Racket could be a good contender for the demonstration language but I’m guessing they made up an ad hoc language for simplicity.

                                                                                                  1. 37

                                                                                                    if you are at all in a vulnerable place, skip reading the comments about this on places like reddit or phoronix. the amount of hate being conveyed is disappointing if unsurprising.

                                                                                                    1. 10

                                                                                                      I’m appalled but not surprised to see this much hate in reddit, Slashdot, Hacker News and such. They were never inclusive communities to begin with, but somehow the quality of discussion exponentially went down in the last few years. I’m trying to think of a catalyst, but I’m not sure. Perhaps 4chan’s /g/ is to blame, as 4chan itself decayed into toxic sludge. Gamergate came out of /v/ after all.

                                                                                                      1. 7

                                                                                                        I was interested in that and wrote a small script to see where the 120 (-1 for deleted comments) reddit users comment besides the r/linux thread about the new CoC.

                                                                                                        I only looked at the 100 latest comments of each user.

                                                                                                        https://gist.github.com/Duncaen/3c80b044ca6fcd94c60265d171ad227d

                                                                                                        The list contains the number of unique users who commented in the subreddit.

                                                                                                        I expected a bit more users frequent the same subreddits, but there are also many new accounts.

                                                                                                        1. 4

                                                                                                          It more or less confirms my suspicions. If I weren’t familiar with /r/linux as a community, I would’ve suspected brigading. It’s not a good look either way.

                                                                                                      2. 15

                                                                                                        Ignorant people see apologies as an attack vector.

                                                                                                        1. 8

                                                                                                          Yes, it seems apologizing is a sign of weakness to some people.

                                                                                                      1. 2

                                                                                                        Have gone from self hosted, to gsuite to mailbox.org

                                                                                                        Mailbox.org is in a country with good privacy laws, uses opensource and has good PGP support, upload a public key and mail is encrypted on reciept. Combined with K9 makes using PGP a not unpleasant experience. Also setup a few accounts for family on my own domain and can have shared calendars etc.

                                                                                                        Long term goal is to go back to self hosting but in the meantime very happy with mailbox.

                                                                                                        1. 1

                                                                                                          mailbox.org seems nice. After using it for a couple days, I topped-up a year’s worth of fees and I’m slowly migrating away from Gmail.

                                                                                                        1. 4

                                                                                                          Apart from family stuff, I’m hoping to get further into the Programming in Haskell book and do some more Haskell exercises on https://exercism.io

                                                                                                          Before I learned Elixir, Haskell’s syntax made no sense to me, but now I’m finding it absolutely fine. So far the book hasn’t thrown anything at me I can’t understand, but I’m only about 1/5 of the way through. Waiting for the mind-blowing parts!

                                                                                                          1. 1

                                                                                                            i want to learn Haskell as well but procrastination has won so far.

                                                                                                            1. 1

                                                                                                              I looked at Haskell for a few minutes. Given what I work with, I couldnt see me actually using it other than toy programs. It doesn’t run embedded, and I use things like node-red for glue to stick projects and things together.

                                                                                                              If I get time, Ive been thinking about FPGA synthesis. But again, time.

                                                                                                              1. 3

                                                                                                                Check out Ivory.

                                                                                                                1. 2

                                                                                                                  I didnt know that existed. Sure makes writing control code for closed loop a heck of a lot easier.

                                                                                                                  The only bad thing is that I’d have to migrate away from stm32-duino libraries, and potentially reduce help (if I ever had collaborators).

                                                                                                            2. 1

                                                                                                              I gave Exercism a try but there are too few mentors. I can’t get past Hello World because no one is approving or commenting on my solutions. I went to check my notifications and I haven’t had a single response in a month.

                                                                                                              1. 2

                                                                                                                Maybe if a lot of us from lobsters got on there we could get it going!

                                                                                                            1. 2

                                                                                                              I use zsh but I found oh-my-zsh to be too heavyweight for my liking. I use a bunch of zstyle completion options, and readymade completions for git, racket, pip, systemd, pacman, Rust and OCaml.

                                                                                                              1. 3

                                                                                                                I suspect the biggest reason Plan 9 never really went anywhere is that they use websites like this: ones totally lacking in any kind of ‘why you should be interested in this and what it actually means’ paragraph at the top. By no means am I suggesting that the layout of the website is a problem, or that it doesn’t use enough fancy Javascript. No, the problem is that it lacks any kind of content.

                                                                                                                Something has been released. ‘Run from zone’ sounds interesting, is it similar to jails/containers? Or is it some kind of ‘run from across a network’ thing, which I might expect from Plan 9? How am I to know? I go to the website, and it looks like it’s essentially just a git shortlog.

                                                                                                                Every time I look at anything Plan 9 related it’s always similar. There’s detail, but there’s often no context, no justification for why it exists. I know why Plan 9 exists, it’s a research operating system, but I don’t know what ‘from from zone’ is, or why I’m supposed to be interested in it, or why anyone would be interested in it.

                                                                                                                I clicked on the PDF, and opened it up, and it appears to just be a FAQ about Plan 9.

                                                                                                                Would it really hurt to write a paragraph about what is actually being released, what it constitutes, what it means, what it is, why it’s interesting, why it’s relevant?

                                                                                                                1. 6

                                                                                                                  Would it really hurt to write a paragraph about what is actually being released, what it constitutes, what it means, what it is, why it’s interesting, why it’s relevant?

                                                                                                                  Do you mean something like this?

                                                                                                                  But then again, it’s 9front, they’re part of a esoteric, “elitist” movement, around cat-v, suckless and co. not that interested in convincing the wider public to use Plan 9 systems.

                                                                                                                  1. 4

                                                                                                                    I suspect the biggest reason Plan 9 never really went anywhere is that they use websites like this: ones totally lacking in any kind of ‘why you should be interested in this and what it actually means’ paragraph at the top.

                                                                                                                    I doubt this was the reason Plan 9 never went anywhere.

                                                                                                                    • The first public release of Plan 9 is contemporaneous with early versions of Netscape.
                                                                                                                    • There were and still are heaps of informative pages about Plan 9. Might I suggest le wik?

                                                                                                                    I don’t even think the Linux kernel has ever met this quality bar you’ve set.

                                                                                                                    I know why Plan 9 exists, it’s a research operating system

                                                                                                                    Well, it was a research operating system. It has been productised several times. e.g. Inferno

                                                                                                                    1. 3

                                                                                                                      “Run from zone!” is the name of the release/version, not a particular feature. You can scroll down to see what’s new in this version. The FAQ (FQA) has a snarky elevator pitch about the OS and why you might consider using it.

                                                                                                                    1. 7

                                                                                                                      What a hill to die on.

                                                                                                                      1. 2

                                                                                                                        Who is dying? Certainly not Redis.

                                                                                                                        1. 3

                                                                                                                          It’s a metaphor.

                                                                                                                      1. 2

                                                                                                                        Once it’s running it surprisingly only takes up around 200MB of RAM, even when running all of the old Windows 95 system utilities, apps, and games.

                                                                                                                        I guess it’s a bit of a moot point, since it’s an Electron app, but I’d like to bring up the fact that Win95 could comfortably run w/ 16 MB core.

                                                                                                                        1. 2

                                                                                                                          The type of apps I used to run without delays on a Win98 Pentium 200+MHz w/ 64MB of RAM continues to be an illustration of how bloated today’s apps are.

                                                                                                                          1. 2

                                                                                                                            I don’t mean to sound like a grumpy curmudgeon repeating the same old gloomy refrain, but I believe that some day Wirth’s law will win over Moore’s law.

                                                                                                                            1. 1

                                                                                                                              I’d have previously say it was in embedded at least. Then, the recent surveys on that show they’re cramming all kinds of complexity into devices that ought to be simple. A lot can’t be simple given even basic requirements like WiFi on top of something that otherwise might use 8-bitter with simple, control software. Wirth’s philosophy was never grounded in user psychology or market economics. Seems stuff has to be overcomplicated at least a little bit even in sectors benefiting from simplicity. That’s even happened for “high-assurance” systems to a degree where market demand forced more politics into evaluations increasing complexity.

                                                                                                                              I’m not saying Wirth’s philosophy is dead. I’m saying it was always partly wrong with even more potential proponents working against it. I always respected it but thought it overly simplistic. The compiler heuristic was especially bad once hardware got faster. I’m still about leaner baselines. I just think a bit more complexity in language and stack is good if it makes every app on top have desirable qualities. Wirth was always willing to complicate everything on top to make compiler/runtime/OS simpler. That’s backwards to me after watching how people actually use those things.

                                                                                                                          2. 1

                                                                                                                            I am reasonably certain my first (and only) Win95 machine was a Pentium 100 MHz with 8 MB of RAM.

                                                                                                                          1. 1

                                                                                                                            I don’t think there’s anyone or anything stopping people from using “heavyweight” setups. This post reeks of “stop liking what I don’t like”.

                                                                                                                            1. 2

                                                                                                                              I’m certain IRC will outlive all the competing proprietary text cha protocols that are much more popular right now.