Threads for elais

  1. 1

    I use a 2015 chromebook pixel running Linux. The reason why is I think it is one of the most beautiful laptops ever made and when I saw they were going for $300 a few years ago I copped one. When it started to fail I copped a second for parts. I’m not sure how long this laptop will last in the long run but for now it’s exactly what I’m looking for in a portable machine.

    1. 1

      Honestly I learned through documentation. Was told we were moving our entire infrastructure to server less functions and spent months reading docs and reimplementing everything. The documentation on AWS Lambda is some of the best documentation I’ve ever read.

      1. 2

        I feel like there must be some reasonable middle ground. IIRC, Debian has a very clear separation between free software and non-free software, doesn’t install non-free stuff by default, but if you decide you want non-free, you can toggle it on and gain the additional functionality. Having ethical defaults and making it clear when you’re compromising principles/hackability for some short-term usability benefit seems like a good way to maximize user empowerment.

        Why exactly can’t GNU projects Guix act like Debian? (Or my understanding of Debian, if I’ve gotten that wrong.) Can someone explain like I’m five?

        One of my top reasons for being passionate about FOSS is I am very worried about the climate crisis / ecological destruction, and I consider the right to repair + keeping old hardware functional to be vital to reducing energy use + e-waste. Refusing to interoperate with hardware produced by unscrupulous companies seems to me to interfere with my ethical commitments to fight climate change, insofar as it interferes with salvage computing and making more efficient use of the devices we have.

        1. 4

          Well. There’s an unofficial guix channel called nonguix that packages some nonfree and binary software, particularly the mainline Linux kernel with all of its nonfree firmwareand Firefox nightly. They even recently started running a substitution server. The Guix manual and other resources gives you everything you need to know to add this channel. But there process of finding and addinf it are up to you. It isn’t discussed in any of the official guix channels or on the website. That’s probably as good as it’s going to get and it’s a solution that satisfies many guix users (myself included).

          There is a solution in place, but the author isnt a fan.

          1. 2

            What I’m trying to get a better understanding of is why hiding the solution is ethically necessary. What is the moral gain from having a hidden solution passed around under the table? It reminds me of security through obscurity… ethics through obscurity? nonguix is ethical so long as it’s hard to find? I find it unconvincing as an ethical strategy, but perhaps I’m misunderstanding or missing something.

            Another way to approach this is, what would it take to convince the project to just be public and transparent about the existence of this compromise? What are there exact objections, and are there any possible ways to satisfy them without obscurity?

            1. 4

              The “compromise” is unofficial. The Guix project proper doesn’t have anything to be up front about because non guix isn’t a GNU project. As far as moral gains go I believe you’re thinking too hard about it. GNU guix was made as a GNU project, it has been upfront about its stance on non free hardware. A user has the tools to add non free or proprietary software to their system but Guix doesn’t promote that use case.

              Non guix as a project has goals to package things that will never be made available in the official guix channel. There’s some contributer overlap but ultimately it is it’s own entity.

          2. 4

            I’ll say more about compromises and ethics.

            I can be very uncompromising at times. For example, I hate cars, and when I had to move house, I decided to move house entirely by electric bicycle + cargo trailer. Exactly one car load traveled from my old apartment to my new house (in an electric car), everything else was hauled by bike. I learned a lot about moving heavy and bulky objects by bike, about the various biking routes through my city, and had some good times with friends who joined in to help with the bike caravan. Most of all, I proved that moving 11 miles uphill by bike was doable, given the right tools, and therefore shorter, flatter bicycle moves should be considered feasible.

            Shortly after finishing the bike move, my family sold a house a few states away and wanted to give me some furniture from it. Aside from being exhausted, it was not practical to move the furniture that distance by bike (although I did travel to pack up that house using only trains + bicycles). My only choices were to risk the furniture being thrown out (a horrifying waste), or to accept a moving truck. This felt ironic after all of the effort I had just gone through to avoid using a moving van.

            Did accepting a moving truck in the less ideal instance invalidate all of the work I’d put into avoiding cars in my bicycle move? Did it erase what I learned from the experience? Am I a bad person because I compromised that time, when I was able to be uncompromising before? No. The world is a better place in some small way because of my efforts, and if bike moves like mine can be replicated, improved, and scaled up, we might have a better chance of averting climate disaster. The measurable harm of the emissions from that moving truck are undeniable, and if our civilization wants to have a future, we’ll have to (re)learn how to move more stuff over longer distances with much less emissions / resource use. (Why couldn’t I book a container on a train to move house instead of a truck, for instance? Or on a sail cargo ship?) But it’s not right to pin our collective societal failure on me.

            Compromising is just recognizing my limitations as an individual, or even as a small group of individuals. Solving collective problems requires collective action, and while experimenting with purism can be valuable in order to imagine a better future and learn how to build it, we need to be kind to ourselves in dealing with problems that all of humanity had a hand in creating. The issues are bigger than we are, and it is hubris to think we can solve them alone. Trying to do so is a recipe for burnout and personal suffering for only marginal gain, your efforts will be more sustainable and replicable if you can operate less painfully.

          1. 4

            I’m uncomfortable with the way the discussion here (and in some respect the original post, but mostly the discussion) seems to constantly jump between talking about decisions of the Guix project specifically, the whole GNU project, or even the FSF and the SFC. All of these entities have done things in the past that one may disagree with, but the discussion feels like somehow the Guix developers/maintainers/contributors where exactly the same people who made decisions you dislike about that other GNU project (GCC? Emacs? who knows), or the FSF, Stallman, etc. They’re quite probably not!

            When I read stuff like

            I’d say the core problem is that the FSF (and by extension the GNU project) suck all the air out of the room while being solidly stuck in the past. […] Absolutism has it’s place, that’s for sure, but how do we actually get to that absolutist’s position? It requires work that the FSF and GNU just aren’t focusing on. And they hold their position while trying to be seen as the one true group who can deliver us to that position. Maybe another group needs to come along and actually do the work, but it’s hard with the FSF/GNU in the room.

            Hehe, yeah, the FSF and SFC use outrage constantly!

            I feel bad for the Guix contributors reading this, that somehow are held responsible for things wildly outside their control.

            The original post is mostly talking about decisions from the Guix community itself (the default kernel, the policies about how to discuss non-free software for Guix, etc.), not other GNU projects or related organizations. I would encourage people to stick to this approach.

            1. 2

              I agree with what you say except for this last bit about the original post. This post, when read carefully, was completely about Guix. At the same time the title and lead up to revealing what inspired this rant (Guix uses a libre kernel, and discourages discussion of proprietary software) did exactly what you said these comments are doing, conflating the guix project with other GNU and FSF stuff that ultimately are out of the project’s control.

              I would love if people could talk about guix but not use that as a jumping off point to rant about the GNU or whoever they’re mad at.

            1. 6

              But wait, isn’t there that one nonguix project that allows you to install a normal kernel and Steam?

              Yeah, but talk about that in the main #guix channel and you risk getting banned. GG. You just have to know that it exists and you can’t learn that it exists without knowing someone that tells you that it exists under the table.

              Has this actually happened? Getting banned for talking about nonguix?

              1. 9

                Not sure about getting banned, per se, but it’s explicitly discouraged. The second paragraph of nonguix’s readme:

                Please do NOT promote this repository on any official Guix communication channels, such as their mailing lists or IRC channel, even in response to support requests! This is to show respect for the Guix project’s strict policy against recommending nonfree software, and to avoid any unnecessary hostility.

                1. 12

                  even in response to support requests

                  Holy shit, that’s extremely disrespectful to users.

                  1. 2

                    I would recommend actually reading the help-guix archives to see how often support issues are created and how many issues users have are ignored or told they are out of place.

                  2. 12

                    I admit I fucked up and misunderstood the rules. My complaint now reads:

                    Yeah, but talk about that in the main #guix channel and you get told to not talk about it. You just have to know that it exists and you can’t learn that it exists without knowing someone that tells you that it exists under the table, like some kind of underground software drug dealer giving you a hit of wifi card firmware. This means that knowledge of the nonguix project (which may contain tools that make it possible to use Guix at all) is hidden from users that may need it because it allows users to install proprietary software. This limits user freedom from being able to use their computer how they want by making it a potentially untrustable underground software den instead of something that can be properly handled upstream without having to place trust in too many places.

                  3. 9

                    That’s made up, like most of that article, it’s full of misconceptions. Can’t tell whether or not this has been written in good faith.

                    But hey, outrage is good to attract attention. Proof to the point: I’m commenting this out of outrage.

                    1. 6

                      But hey, outrage is good to attract attention.

                      Hehe, yeah, the FSF and SFC use outrage constantly! I get emails all the time telling me that Microsoft and Apple are teaming up to murder babies or whatever. It’s pretty much all they have left at this point, and I say this as someone who donated and generally supported their mission for many, many years (which is why I still get the emails).

                      1. 3

                        Hyperbole and untruths are like pissing in your shoes to get warm; backfire once the initial heat is gone.

                    2. 6

                      When I wrote that bit I made the assumption that violating the rules of the channel could get you banned. I admit that it looks wrong in hindsight, so I am pushing a commit to amend it.

                      1. 2

                        Not to my knowledge. No. I’ve seen it tut-tutted but I’ve yet to see someone get banned.

                        1. 1

                          That’s 100% messed up if true.

                        1. 7

                          Wow, thanks, I’m cured. My wifi card magically stopped existing and now everything is happy unicorns farting out rainbows that spawn free puppies and everything is saved forever.

                          Again, that doesn’t help me with the situation that my wifi card doesn’t work and I as a user want it to even though making it work will require proprietary firmware.

                          Okay, then buy a different wi-fi card. Stop trying to use something designed to be incompatible with your proprietary hardware and then getting mad about it not being supported.

                          1. 13

                            Okay, then buy a different wi-fi card.

                            Are you offering to pay for it? Aren’t we all supposed to be out there installing Linux for our friends and relatives to save them from… well, something? Most of those people already have computers that require compromises.

                            1. 9

                              Then install a distro that does that? GNU Guix is one of literally dozens of active and we’ll maintained distros for people to choose from. Guix System is for people who choose to be uncompromising in their free software stance (with exceptions of course). Would they like for more people to be uncompromising? Yes. Until that day comes is anyone forced to use guix as a Linux distro? No, not at all.

                              1. 6

                                Their argument is that self-advertised “libre” distributions not only reduce both user agency and total value to the user (including materially important things like security), but also they’re advertised as increasing user agency, when they don’t. Neither of those problems are solved if you, personally, don’t use Guix, because it’ll still sucker in some people who believe the marketing. The problem isn’t just that Guix doesn’t do the thing, it’s that it’s marketed as doing the thing.

                                So, amend the marketing, or change Guix to actually respect user freedom - just don’t keep lying.

                                1. 4

                                  Or just use #nonguix

                                  1. 2

                                    Well, that’s what I do.

                                    1. 1

                                      The whole point of this article is to show that while guix claims to be absolutely dedicated to increasing user agency they deliberately remove the ability for a user to use their computer as they want.

                                      Obviously people can use other distros but that isn’t the point. The point is that guix is explicitly doing the opposite of what they claim to be doing.

                                      1. 4

                                        #nonguix is the guix equivalent of Debian’s non-free repo, not a different distro

                                    2. 1

                                      I agree, that’s a reasonable stance. That’s actually why I use a Mac, because I got sick of using software that wasn’t designed to work with my hardware :-)

                                      1. 3

                                        One of the advantages MacOS has is it’s not a mongrel of an OS and most apps follow it’s HIG. So I definitely can relate there.

                                        1. 1

                                          Alas electron apps are increasingly ruining that. So many now necessary apps that can’t do basic things like find correctly.

                                  2. 9

                                    Okay, then buy a different wi-fi card.

                                    This is a really user-hostile response. What if I’m a lifelong Windows user who now wants to try Linux? What if I’m low-income and don’t want to spend the money on purchasing a libre wifi card, or the time to do research on it? What if I’m a gamer who wants my software to be more free than it is, but isn’t a free-software zealot? What if I want wifi 6 and don’t want to spend hours looking for a card with free drivers, or days writing my own?

                                    Stop trying to use something designed to be incompatible with your proprietary hardware and then getting mad about it not being supported.

                                    You misunderstand their arguments. They’re not complaining about the existence of a distro that doesn’t allow them to install proprietary software; they’re complaining that it’s marketed as increasing user freedom, when it clearly does not, and that the community actively invests effort in making it harder to learn about things that would provide value to the user.

                                    1. 5

                                      I don’t think it is hostile, no. It’s not hostile to tell someone “the thing you have isn’t compatible with what we’re doing”, it’s a statement of fact. If you’re low-income, that’s unfortunate and you’ll have to stick to using not-guix until your hardware is compatible. If you’re not a “free software zealot”, go ahead and use something else or install the nonfree guix repos. If you want wifi 6, you’ll have to use something compatible with wifi 6. It’s not their goal to be compatible with every possible use case.

                                      Guix is not marketed as increasing user freedom. That’s silly. It’s marketed as respecting your freedoms.

                                      Liberating. Guix is an advanced distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.

                                      It’s not the Guix project’s job to tell you about all the wonderful software that goes against their core values. That’s antithetical to the mission of replacing proprietary software with libre software.

                                  1. 8

                                    Seems like everytime Xe tries guix they comes back with a worse take.

                                    The first time I can remember is when they couldn’t use tramp on guix. The problem there was Doom Emacs handled a quirk about tramping into NixOS but at the time didn’t handle that same quirk that is also true of Guix. Because they wasn’t aware that doom did this for them, they just assumed Guix was broken and ranted about it then.

                                    This time they’re ranting about GNU and I can’t help but assume it’s in anger at another attempt at using Guix that went badly. They include a conversation about having to do extra steps to use the nonguix channel and says that she will get “banned” for talking about nonfree software. But that just isn’t true. I’m on the guix mailing list and the irc and the most I’ve ever seen happen to someone is they get told to please not discuss or promote nonfree software and the conversation moves on. I’m pretty sure they only “ban” for spamming or being a jerk and that’s only after a generously numerous amount warnings.

                                    Maybe they should stop trying to use Guix as a distribution and focus on using it as a package manager/devops tool. Then in the world of virtual machines or whatever they can chill the fuck out. That is if they fixed their tramp woes.

                                    EDIT: Fixed pronouns (I think)

                                    1. 2

                                      Ironically I ran into issues reinstalling guix on a machine trying to document how easy it can be to install nonfree guix from scratch. Need to fix that today.

                                        1. 6

                                          Just have to look at the thing and it says PC LOAD LETTER

                                          1. 3

                                            what the fuck does that mean?

                                              1. 1

                                                My best guess is that it’s a printer meant to be used with PC’s, and it also wants you to insert paper of the “Letter” size.

                                                1. 7

                                                  “Load letter size paper into the paper cassette (PC)”

                                                  1. 1

                                                    Ah right, makes sense.

                                          1. 4

                                            GUIX is, as far as I understand, Nix but with scheme as the underlying language. I haven’t played with it yet but my attempts at using Nix ended when I got annoyed with the configuration language. Maybe GUIX is would make me happier.

                                            1. 2

                                              Quick question: where did you get the idea that guix is stylized in all caps. It’s not done on the website, wikipedia entry, or anything else I’ve seen regarding guix so what made you decide that’s how it should be written?

                                              Besides that I think there’s more to it than to say that guix is nix with guile. At the very core Guix inherits the idea of the store and transactional package management from nix but in practice their APIs have diveraged quite a bit. Where a nix package may embed a shell script a guix package would more likely use pure scheme and its gexp based dsl. The guix CLI is also very different from the nix cli so if you go in thinking nix but not you’ll probably leave frustrated.

                                              1. 2

                                                UNIX™ is trademarked capitalised and Guix is inspired by it and looks like it is inspired by that name. GNU is also commonly capitalised.

                                            1. 6

                                              Serious question for most of these starter configs: How does inhibiting the startup screen without replacing it help anyone?

                                              On the startup screen you are given hyperlinks to a guided tour and tutorial, which imo is probably the best thing you can provide new users. Setting them up with a blank screen is counterproductive.

                                              1. 8

                                                It’s slow and scary, I love the blank notepad-like familiar screen. Not arguing for inhibit to be the default but I was happy to find it, one of the first options I set.

                                                1. 1

                                                  It’s slow and scary? Please elaborate because it takes the same amount of keystrokes to exit the startup screen as it does a blank one.

                                                  1. 3

                                                    I don’t think anyone suggests replacing the splash screen with nothing?

                                                    Setting inhibit-splash-screen makes it drop you into a scratch buffer where you can enter elisp directly, which is useful on its own. In my own config I have it drop me into an eshell buffer, which IMO is more useful than scratch, but either one is more useful than the splash screen for people who already know how to open the documentation.

                                                    1. 2

                                                      for people who already know how to open the documentation.

                                                      I think this is the important bit here and it’s people who don’t know how to open the documentation just yet that I find it most useful for.

                                                      After learning a bit I’m all for users replacing the splash, but I also worry about the user who is inclined to copy a config that’s branded as sane or better defaults before they get a good grasp of what they’re using. It’s something that happens a lot more in practice than I’m comfortable with in a midly popular emacs community that I’m a part of.

                                                      1. 1

                                                        In my own config I have it drop me into an eshell buffer

                                                        Pray tell! This is relevant to my interests. I went looking for your config to try and steal that bit, but couldn’t find it.

                                                        1. 3

                                                          I just put a call to (eshell) in my init.el file; nothing much to it.

                                                          https://git.sr.ht/~technomancy/dotfiles/tree/master/item/.emacs.d/init.el

                                                          1. 2

                                                            Part of the problem is you went looking for his config instead of an answer

                                                            Try this

                                                            (add-hook 'emacs-startup-hook 'eshell)

                                                            Not sure if it handles edge cases but I think you will get more value out of figuring out why than copying from someone else’s config wholesale.

                                                            1. 1

                                                              Yeah, I was lazy. I ended up skimming the docs for the initialisation section and came up with this, which appears to work:

                                                              (setq initial-buffer-choice 'eshell)

                                                              Edit: it doesn’t work, at least not fully. I do get a nice Eshell on startup, but for some reason Magit can’t find emacsclient:

                                                              There was a problem with the editor '/run/current-system/sw/bin/emacsclient --socket-name=/var/folders/mn/y08j0jvs2cv95bthlsgsm9sr0000gn/T/emacs501/server'

                                                              Edit2: that issue seems to be a problem with with-editor.el, but I have to do some more debugging to rule out an issue with other parts of my config.

                                                        2. 2

                                                          Oh, it does?! Ok, then maybe that’s cool. I haven’t had the start up screen uninhibited since the 90s. Maybe you are right. Back then it’d launch you into a really bad tutorial, all focused on C-n, C-b (arrow key basics) and not on stuff like describe-key, describe-mode, describe-function.

                                                      2. 6

                                                        Even worse is that most starter configs, including this one, disable the menu bar – which is the most helpful feature for new Emacs users!

                                                        How, as a new user, are you supposed to know that C-x C-f means “open file”? By far, the quickest, simplest and most intuitive way is to open the File menu and check the corresponding keyboard shortcut there.

                                                        1. 3

                                                          The menu bar is useful for about your first hour or two.

                                                          As soon as you learn how to describe then you need to let go of the menu bar; people assume all the commands will be visible there but it’s just too limited. Most commands aren’t in the menu bar; it’s the wrong place to look for things.

                                                          1. 6

                                                            The menu bar may be the wrong place to look for things but it’s far easier to navigate than the output of any describe command called on a buffer with non-trivial modes. Commands are organised in sub-menus of a few items rather than in a flat list organised alphabetically by prefix and binding, and oftentimes you really don’t need all commands, just the important ones. Self-documenting features like describes are great if you already know what you’re looking for, but sometimes you don’t. It’s also useful for commands that are accessed so infrequently that you don’t want to bind them to anything, or don’t want to remember the bindings. I’m not gonna bind “Manage Emacs packages” to anything, retrofitting a Space Cadet keyboard on my laptop is just not worth the effort.

                                                            At the risk of embarrassing myself in front of the crustacean nerd audience by looking like a puny normie, I’ll gladly admit that I’ve used the Emacs menu bar for like twenty years now and I have no intention to stop. I turn it off by default because I generally use darker themes, and sometimes (coughon Windowscough) the menu bar burns my retina, but I have `menu-bar-mode`` bound to F10 so I can toggle it on. Sue me.

                                                            (Or revoke my Church of Emacs membership card, I guess? :-))

                                                            Edit: also, the target audience of this 72-line (well…) config really seems to be people who have used Emacs for 1-2 minutes, so maybe it’s worh keeping the menu bar on for the remaining 118 minutes or so :-).

                                                            1. 2

                                                              I don’t actually use describe very much… what I think is the most useful thing for new-to-intermediate users is:

                                                              1. Treat M-x like you treat the Command Palette on a normie editor (those are basically inspired by M-x anyway).
                                                              2. Use a reasonable search and completion framework for the minibuffer, preferably with marginalia. I use selectrum + hotfuzz + prescient, but I’m happy to start seeing good solutions show up in core and/or GNU Elpa, like vertico.

                                                              I do think absolutely new users should leave the menu-bar and scroll-bars on until they have learned what the better alternatives to those are.

                                                            2. 2

                                                              Even worse is that most starter configs, including this one, disable the menu bar – which is the most helpful feature for new Emacs users!

                                                              How, as a new user, are you supposed to know that C-x C-f means “open file”? By far, the quickest, simplest and most intuitive way is to open the File menu and check the corresponding keyboard shortcut there.

                                                              But how am I supposed to look cool if I have a menu bar? It wouldn’t look like an xterm otherwise.

                                                              1. 2

                                                                Your Emacs looks like an xterm? Mind sharing your config? /s

                                                          1. 6

                                                            Therapy. I’m getting old and the combination of Adderall, fidget toys, and youthful energy aren’t getting me through the day anymore. So I need to learn new behaviors to stay productive.

                                                            1. 2

                                                              I’m in my mid 20’s, and the last two years have really taken the wind out of my sails

                                                            1. 11

                                                              This post attracted a bunch of negative comments, and I’d like to offer a counterpoint here.

                                                              Given how Emacs is very much a Build Your Own Editor with Lisp Lego kit with really fancy Lego blocks, there’s no way anyone’s config is going to be “right” for others, even if it’s only five lines. However, I also think that anyone who needs to start with a small config from someone else doesn’t actually care about any of the more controversial things here, like what buffer is shown by default or whether the menu bar is on or off.

                                                              So whether the choices outlined in this 116-line .emacs are right or not is really not very relevant. If you disagree, go ahead, post your own .emacs, see how right everyone else thinks you are. You’ll find that half the things that are second-nature to you horrify half the Emacs nerddom out there.

                                                              The good things about config examples like this one are:

                                                              1. They are self-contained, approachable starting points for your own configuration

                                                              2. They provide you with some ideas for basic, convenience configuration options that are not enabled by default but change everything, like how end-of-sentences are treated (which, unless you’re a huge computer history nerd, you wouldn’t even guess is configurable!) or rainbow-delimiters (which you may or may not want – I don’t use it personally – but are not things that you just check in a configuration window)

                                                              Being able to show this in a simple, self-contained example is particularly important because lots of Emacs users have very advanced setups, with lasers and everything, and it’s hard to make sense out of everything at once. This is particularly hard to understand for those of us who have been at it for a while. If you learned Emacs in 2002 or so, that was before ido, before org-mode – before icicles and company, I think? – things that are pretty much standard in every fancy setup tutorial out there. We learned all these things gradually, but being dumped into a world where everyone casually says oh, yeah, that, well, I got M-y bound to icycle-execute-extended-command, it saves a lot of keystrokes, is a whole other story. It’s not that you don’t even know where to start, you don’t even know where you’re supposed to get.

                                                              It’s probably a bad idea to get someone else’s config file and just pile stuff on top of it. It eventually backfires. But, while back in 1985, sticking someone in front of a terminal with a copy of the Emacs manual was probably enough to get them running, things aren’t quite as simple as they used to be, and giving them a glimpse of what they’ll be able to do once they get the lay of the land and maybe read the manual is enormously helpful.

                                                              1. 3
                                                                1. You read technomancy’s comments and replied to them in a very uncharitable way here. He’s been positive both about this config’s readme and contrasted it to his own experience of just dumping emacs lisp on people and watching as they struggle to comprehend what he actually did to make their Emacs experience better. While his comments do skew a bit towards elitism I think his heart is in the right place

                                                                2. Besides him most of the “negative” comments have been about this config removing things that the commenters believe help people: namely the startup splash with it’s link to a tutorial and the menu bar. We want to discourage people from removing them in configs meant for new Emacs users because they’re very helpful to people who don’t know how to use Emacs or write Emacs lisp yet. Those of us who disagree aren’t out to say don’t use this config, we’re asking legitimate questions about it and bringing up issues with it. Demanding people post their configs as alternatives misses the point.

                                                                3. Sticking people in front of Emacs with a manual is unnecessary given the manual is already there. Contrary to what you’ve said things have not gotten more complicated. They’ve gotten simpler. Popular package maintainers have been prudent in documenting their packages. Every external elisp function I’ve tried has come with good documentation. So I’m not sure what you’re trying to say here except it’s harder for people to learn Emacs in 2021 than it was in 1985 and if that’s the case you are very false.

                                                                1. 3

                                                                  The Emacs documentation is top-notch, and it also makes it easy to document packages, so most popular packages have excellent documentation. However, Emacs, and a lot of popular packages, have grown more complex. They are by no means simpler. For people starting out today, there are way more options for anything than there were for us. Yes, it’s easy to learn, but there’s also more of it to learn than ever, and it’s more intimidating than it’s ever been.

                                                                  As for 1 and 2: you’ll find that, contrary to what the asshole brutal honesty club is preaching, being nasty to people tends to make them prickly. If you want your words to find a charitable interpretation, a charitable tone will get you a long way towards that ;-).

                                                                2. 1

                                                                  I think a lot of people including technomancy and myself have been saying “great job, thank you!” and then more detailed feedback.

                                                                  If you disagree, go ahead, post your own .emacs, see how right everyone else thinks you are.

                                                                  Technomancy did do just that, and, I did a while back.

                                                                  The Emacs documentation is top-notch

                                                                  Yes and no. Yes, it’s awesome that we have describe-mode, describe-function, describe-variable and describe-key.

                                                                  However, I had been using Emacs for a few years before I found these (and they instantly changed my relationship sith Emacs; finding them turned it into the wonderful Lego ocean it is).

                                                                  Instead, the original tutorial at the time focused on teaching me C-n, C-p and friends (twenty or so navigation keys) and mark and region type stuff. When I later found out that “wha huh? Arrow keys, page up, page down, mouse selection, shift+arrow keys all work kinda like Notepad? Why did I spend all that time learning the C-n, C-p stuff?”

                                                                  Now, I still do use those Emacs-specific keys, it’s nice to be able to keep my hands in touch typing position, the frustration instead is that it didn’t tell me about the describe- family.

                                                                  And, one of the things, backup-by-copying, I only learned last year. After 22 years with Emacs. And it’s such a bonkers default. It breaks hardlinks.

                                                                  like how end-of-sentences are treated

                                                                  An addition I suggested on here! (Although, reading the git blame it seems like it was already in there, I just missed it, while backup-by-copying was added after we suggested it here.)

                                                                  that was before ido, before org-mode – before icicles and company, I think

                                                                  I use org but not ido, icicles, company, ivy or helm.

                                                                  The good things about config examples like this

                                                                  Which why I’ve been saying yay and trying to help out by posting the suggestions I wish someone had told me. I read technomancy’s comment as similar. More “yes, and” than “nasty”.

                                                                1. 2

                                                                  I’ve used the exact same trackball for three years now and have not had this problem. What’s on your hands?

                                                                  1. 3

                                                                    I have a wired Trackman wheel that’s been in daily use for more than a decade now. But when I bought a newer m570 to replace it, the buttons started failing within a year, which corresponds to other people’s anecdotes that the newer models seem much less durable.

                                                                  1. 2

                                                                    If a tag is created to include guix don’t call it nix. Just call it risotto or something because it’s just rice 90% of the time.

                                                                    1. 3

                                                                      I have always thought “I should get into NixOS”, but people seem to have gripes with the Nix configuration language and I am really comfortable running Alpine on the small boxes I have.

                                                                      Do you think the tools that are made available are worth the learning curve? ilo Alpine li pona

                                                                      1. 20

                                                                        I used NixOS for a while on my laptop. It’s certainly worth trying, and not very difficult to install.

                                                                        Setting up services, tinkering with the main config, is easy enough.

                                                                        But if you want to go deeper than that, you’ll spend hours searching other people’s configuration because the documentation is poor.

                                                                        1. 5

                                                                          Ugh, yes, this is my single #1 complaint with the infrastructure by far. The poor documentation. I need to start taking notes and contributing back to the wiki.

                                                                          1. 2

                                                                            Seems like Guix might be an option. At least they didn’t create a brand new configuration language..

                                                                            1. 15

                                                                              At least they didn’t create a brand new configuration language..

                                                                              Note that although Guix didn’t create new syntax (they use lisp), you’d still need to learn the “language” defined by the Guix libraries. In the end, most of your time is spent figuring out Nix/Guix libraries, and very little time is spent on programming-language things like branching and arithmetic

                                                                              1. 5

                                                                                The biggest annoyances I’ve run into with Nix-as-a-language are the lack of static types and the fact that it doesn’t really have good support for managing state. The latter doesn’t usually present a problem, but occasionally if you want to generate a config file in a certain way it can be annoying.

                                                                                But I think it helps that I already knew Haskell, so all the stuff like laziness and the syntax are super familiar.

                                                                                1. 1

                                                                                  There really isn’t much of a “language” to learn. Guix configurations use scheme records for about 90 of any configuration a user will do and the rest is in g-expressions which is something like a new syntax that takes the place of embedded shell scripts in nix.

                                                                            2. 8

                                                                              On one hand, Nix is terrible. On the other hand, isn’t everything else worse? Guix is the only decent comparison, and personally I think Nix’s technical decisions are better. (So do they, given that they borrow the Nix store’s design wholesale!)

                                                                              1. 2

                                                                                How can they be better, if they are the same?

                                                                              2. 6

                                                                                NixOS is amazingly good for writing appliances. It also can be made to barf out docker images, which is nice.

                                                                                1. 6

                                                                                  Coming from Void Linux, NixOS on a desktop machine… ilo NixOS li pona ala, la pali mute. It’s a lot of work for a functioning desktop, I think. But on the server NixOS is killer and fun, and makes configuration suuuuper simple. I only need my /etc/nixos and /src folders to migrate my server anywhere (though I’d have to bring along /data to keep my state).

                                                                                  1. 1

                                                                                    This is basically what I do. When I got my new laptop I considered Nix, but decided to stick with Arch because it was easier. I use NixOS for my Digitalocean nodes and am very glad I did.

                                                                                  2. 1

                                                                                    tl;dr: No, I went back to Void on the desktop and Alpine/Ubuntu on servers in almost all contexts

                                                                                    Purely anecdotal: I was all-in on Nix, both at home and at work, and drank copious amounts of the kool-aid.

                                                                                    As of today, it still runs on a few machines I’m too lazy to reformat, but it’s gone from all my interactive machines, and from all functions (be it NixOS on EC2, or Nix shells for developer workstations) at work.

                                                                                    My takeaway was basically: Nix(OS) makes 90% of things absolutely trivial, the next 8% significantly more difficult, and the remaining 2% anywhere from nightmarish to downright impossible. That latter 10% made it “cost” significantly more than, say, investing in other version locking tooling for developer workstations at work. At home, that remaining 10% just meant that I didn’t do some things (like play many Steam games) that I would otherwise have enjoyed doing, because I didn’t have the energy to dive in.

                                                                                  1. 4

                                                                                    A family member recently died after a long and slow illness. Now that it’s a few weeks behind me I’m going to try and get back into the swing of things at work.

                                                                                    1. 4

                                                                                      Not that the words of an Internet stranger could do much, but I’m sorry. I hope you’re all right.

                                                                                    1. 1

                                                                                      Greatest browser in the world

                                                                                      1. 1

                                                                                        Thanks :-)

                                                                                      1. 7

                                                                                        Doom has an active and helpful Discord. It’s actually the best place to talk about Emacs in general that I’ve found.

                                                                                        This is kind of sad to read. Is it related to Discord or the specific community?

                                                                                        1. 14

                                                                                          Hi I’m a moderator in the doom discord community. If it’s any consolation I have been trying to steer people toward using other resources available, particularly the mailing list.

                                                                                          I think we’ve grown the way we have because we’re not very strict about what the topic at hand is and understand that most users coming to doom emacs (and I expect spacemacs as well) are coming not from emacs but from vim or vim-likes and like to talk about lots of things besides emacs. This includes other text editors, games, operating systems, and more. Being off-topic is on topic in a lot of cases. Our community is also younger (at 33 I’m probably one of the oldest in the server) with lots of college and high school kids who’s online social life has been won by discord. We’re simply more approachable to them than most other emacs communities.

                                                                                          A lot of credit for the helpfulness can also go to Henrik who is both patient and gracious with new users and eager to help wherever he can. He sets a very friendly tone and I don’t think I’ve ever seen him troll, lighthearted or otherwise (thinking back I don’t think I’ve ever registered a swear word from him).

                                                                                          1. 5

                                                                                            If it’s any consolation I have been trying to steer people toward using other resources available, particularly the mailing list. […] Our community is also younger […] with lots of college and high school kids who’s online social life has been won by discord. We’re simply more approachable to them than most other emacs communities.

                                                                                            That is nice to know. As someone who is just around the “Discord generation” (22), I fear that I would have got caught up in that development. Emacs in particular was essential to my appreciation of Free Software, which is why I care about this. The other reason is that the dominance of Discord is something I often resent, as I get excluded from communities I could be interested in participating because of my own principles.

                                                                                            1. 2

                                                                                              The other reason is that the dominance of Discord is something I often resent, as I get excluded from communities I could be interested in participating because of my own principles.

                                                                                              In the linked comment you mentioned your hesitation to use an Electron application. Have you considered trying the Discord-Matrix bridge?

                                                                                              1. 2

                                                                                                I could use it (even if Matrix is a bit too slow for my taste), but my there point was not the specific server, as I don’t use Doom, but the general culture of organizing communities around Discord, a platform I would like to have nothing to do with in itself.

                                                                                                1. 2

                                                                                                  The discord-matrix bridge allows you to communicate with a community using Discord while giving you the option of using a matrix client, which is better than being forced to use the discord client. But this requires cooperation from the moderators of the discord guild, and still doesn’t solve the problem of Discord interfering with communications on what is fundamentally their platform.

                                                                                                  1. 1

                                                                                                    I read that using a third party client can get your account banned for life since it is against the terms of service.

                                                                                                2. 2

                                                                                                  That matches my experience. Henrik is amazingly patient for someone whose project blew up into this huge thing. I wish I could match that.

                                                                                                3. 2

                                                                                                  As someone who uses customize almost exclusively to configure my Emacs environment, I’m curious why none of the popular Emacs enhancement frameworks use it. I found this comment in the Doom repo—does anyone have insight into what they mean here?

                                                                                                  ;; Doom doesn't support `customize' and it never will. It's a clumsy interface
                                                                                                  ;; that sets variables at a time where it can be easily and unpredictably
                                                                                                  ;; overwritten. Configure things from your $DOOMDIR instead.
                                                                                                  
                                                                                                  1. 1

                                                                                                    AFAIK a lot of people do not like that customize writes code, that makes code (slightly) harder to version. Doom is opinionated, so I guess they decided to not be interested in preserving that mode of configuring.

                                                                                                  2. 1

                                                                                                    Not sure - but I will say that the community on the Doom Emacs Discord is very friendly and very helpful, and also active. So if you ask a question you’ll probably get an answer fairly quickly.

                                                                                                    1. 7

                                                                                                      That might be the case, my issue is mainly that it is organized on Discord, which IMO shouldn’t be used for free software projects.

                                                                                                      1. 4

                                                                                                        I honestly actively do not care about that criteria.

                                                                                                        1. 1

                                                                                                          What do you mean? The usage of Discord per se or the usage of Discord by Free Software communities?

                                                                                                          1. 1

                                                                                                            I’m not going to derail this thread with my opinion on that.

                                                                                                            1. 1

                                                                                                              Ok :/

                                                                                                    2. 1

                                                                                                      I don’t know, but I have yet to find as friendly a group to ask dumb newbie questions, as that one. And some of my questions are, sadly, still dumb newbie questions :)

                                                                                                      1. 2

                                                                                                        Out of curiosity, have you ever tried the help-gnu-emacs mailing list? There are all kinds of questions posted there all the time, from total beginners to Elisp developers.

                                                                                                    1. 1

                                                                                                      I offload builds to my desktop at home using guix offload. The only problem I’ve run into so far is not a lot of things seem able to cross compile (for instance, the linux kernel for aarch-64-linux).