1. 146
    Ascetic Computing practices ratfactor.com
  1.  

    1. 28

      More than any specific editor etc, I've noticed trying to program without distractions narrows the set of usable programming languages. I notice some modern languages (or those designed without careful consideration) depend more on IDE features to be usable, or at least encourage a style of programming that does. Lately I've been using Go even when it's not pleasant just because it's one of the only languages where I can 1) locate nearly everything just by reading the symbols on the screen and 2) read documentation offline.

      I also turned off syntax highlighting to try to get that feeling and it works really well. It's definitely up to taste, but it makes my computer feel more "at rest".

      1. 5

        For many years I wrote all my code with Kate for better or worse. My IDE features included basic syntax highlighting and auto completing based on other symbols found in the same file (which I was more than happy with, and modern IDEs often don't even do this which is annoying), and that's about it. Writing C++ this way is surprisingly easy, and it made me really good at finding files and understanding all syntax, since I had to write it by hand and get it right.

        I can't recommend Java without IDE features though, what an absolute nightmare writing import statements for everything. I guess a lot of my code used to be filled with import * for this reason.

        1. ~

          As a counterexample, Racket could hardly be described as either modern or careless, but is quite difficult to use without DrRacket or a comparable editor integration.

          1. ~

            Elaborate? My experience with Racket with just plain vim and documentation was one of the best I've had. And (at the time, at least) DrRacket was sluggish and kind of pointless in comparison.

            1. ~

              I haven’t used it myself, but reading about vim’s built-in Racket integration, that’s pretty much what I meant by “comparable editor integration.”

              1. ~

                Isn't that just the baseline syntax and indentation? I was happy with it despite knowing DrRacket can do a bunch more.

        2. 26

          This post resonates with me a ton, I love it. It’s so refreshing to see a blog/post by someone with principles and living their life in somewhat accordance with those principles

          1. ~

            What are your principles that make it resonate with you?

          2. 17

            I think people who are naturally good at focusing on what they're doing don't understand how all of this is window-dressing. I'm fairly confident the author would be equally as effective on a noisy annoying Windows installation. This aestheticism (not a typo) is just that. You could put someone like me on a Teletype and I'd find a way to fuck about, be distracted and unproductive, even if all I ever want is to focus.

            1. 11

              To be fair, the article doesn’t overemphasise the author’s specific tech choices. As I read through I noted that a non-technical person could put virtually all of this into practice with an old Mac with iCloud turned off, for example. TextEdit works just fine. That’s a good thing for anyone who wants to move in this direction, and doesn’t invalidate anything the author is suggesting.

              1. 6

                Maybe you have more power to control this than you think. Have you tried leaving your phone in another room?

                1. ~

                  I don't think it's as black and white as "just window dressing". I'm the easily distracted type, too. I find some of the things raised in the article helpful in maintaining focus.

                  On the other hand, one thing my more "blingy" colleagues and friends use that I actually think would help me maintain focus is documentation displayed in the IDE at the location of a symbol. Avoiding the trip to a browser (even if pointed locally) would probably do me good. In that case I'm ascetic just because such documentation display was too invovled for me in emacs.

                  1. ~

                    Haha, as an easily distracted person myself, I feel you.

                    That being said, there is another angle to this. When you don’t fight your tools, you are less likely to go on unproductive tangents.

                    The stupid popup asking me to rate the software may seem unimportant, but it interrupt my thoughts just enough to break my flow. And make me feel slightly annoyed, which is another things that prevent concentration. Compounded over many such annoyance, it becomes a death by a thousand cut.

                    When my tools neither break, interrupt, nor slow me down, I can remains in the flow state. If they are fun to use, it can even give a small dopamine hit, which keep me focused. You know that feeling when the scissors glide on the paper? A good working environment is just like that.

                    1. ~

                      True, it’s hard to focus if you let yourself become that way and it’s easy to focus with a fire under your rear. I certainly work this way.

                    2. 14

                      This is great! I loved the drawings and was looking forward to seeing more as I continued reading :)

                      1. ~

                        Those were so cool! Love them including hand drawn art

                      2. 11

                        I really enjoyed this, thanks for posting it. It's so far removed from the angst and stressfulness of so many things being thrown up online in these days of hype and confusion. Regardless of what's happening around you, there's always a centre you can come back to.

                        1. 6

                          It took me two hours to complete this, not because I was getting distracted, but it invoked SO MANY thoughts! Thanks for penning down this lovely piece of art :)

                          1. 5

                            Well written. The same ideas could describe my computing, my choice of car (the one I’ve had my whole life), my choice of tools (real world tools and computing tools).

                            This could also help others understand my distain for Linux, which is now primarily corporate driven and changes too gratuitously and too often for my liking.

                            It’s an excellent piece to share to help others understand me. Thanks for sharing!

                            1. 5

                              What OS do you recommend to those of us who are tired of the gratuitous rate of change in linux-land?

                              1. 5

                                The BSDs are quite good. Changes, particularly big ones, are discussed publicly, reasons both for and against are given, and most of the time rationale behind decisions are available for anyone to read.

                              2. ~

                                changes too gratuitously and too often for my liking.

                                What sort of changes do you mean? I often see this argument and I could never relate to it.

                                People bring up SystemD, but its changes scarcely affect me as an end user and I never had any issues with it. Heck, I never had to touch it, besides the odd systemctl call to enable or disable a service or (a couple of years ago when Proton wasn't quite as developed as now) to muck with file-system limits to make games run smoother. The other usual suspect is Wayland, which has been in development for well over a decade now and with which I only ever had issues because I was willing to early adopt it so obviously it had more immediate issues than X11 which has been the workhorse for decades at that point. But nowadays that too is just fire and forget, and I say that running an NVIDIA GPU.

                                my choice of car

                                This one, however, I can absolutely relate to. I have a 20+ years old, second-hand Fiesta with plenty of bumps and wear and tear. Bare minimum in terms of appliances, it has lamps, it can blow in room-temperature air (no AC), it can heat the car, it has an old radio (with a tape player!), and it has an ABS system. Every issue I've had so far was purely mechanical and could be fixed from less than 200-250€ at a time.

                                And I never felt like I need anything else. Sure, AC would be nice, particularly in the 30+˚C summers and I'm not great at parking, so perhaps a radar could come handy too, but neither of these ever felt like must haves.

                                Meanwhile friends with fancy cars spend small fortunes on just the mandatory checkups and getting a scratch on the car costs a great expense to fix.

                                1. ~

                                  The changes are the kinds of things you run in to when you, for example, look for a how-to to set up, say, Mastodon on Ubuntu. Either you end up with a how-to that has things broken down in to Ubuntu major versions, or you have a how-to that works on one major version, but not others. Forget about applying this how-to to a different Linux distro.

                                  Boot method changes, device name changes, default tool availability changes, partitioning defaults changes and more make working on Linux distros very frustrating for the kind of systems administrator who likes to get things done reliably, consistently and repeatably.

                                  An old car might not have the features that a new car has, but most features introduce unreasonable failure modes. I can drive my 45 year old car across the country, and if something happens, I know 100% how to fix it. Most new cars simply can't be fixed by end users without special computing devices that're usually only owned by dealers or that automakers want to legislate out of existence.

                                  I'll take a small set of features that work entirely reliably over a fragile collection of tons of features. Sure, some people bill by the hour and like those fragile collections of features, but not me.

                                  I am working on getting air conditioning, though ;)

                                  1. ~

                                    look for a how-to to set up, say, Mastodon on Ubuntu.

                                    Admittedly, I don't know squat about hosting Mastodon, so I'll take you by your word, but I feel like bringing up Ubuntu as an example is cheating a little :)

                                    It is very much a "frontier" distro in a sense with Canonical pushing a lot of experimental features. Which from one perspective is great, because it's a huge amount of testing that projects otherwise wouldn't receive, but also likely quite annoying and intrusive if you're an Ubuntu user. However, with something like Debian, Gentoo, or even Slackware, things are moving at a far slower pace and with knowledge being largely applicable years later.

                                    Heck, I'm primarily an Arch user and I've spent most of my time on this distro in the past ten years. Besides receiving an installer a while ago, which I don't use, the process of installing and maintaining my system doesn't really feel like it changed much when I started vs now.

                                    Forget about applying this how-to to a different Linux distro.

                                    I feel like this works in a similar vein as the BSDs. In the sense that all BSDs share a common ancestor, but are regardless their own systems. Similarly you can cross-apply some knowledge between distros, but with some details you have to take into account the "lineage" of what you're using. Debian and Ubuntu will be much more similar than, say, Debian and Arch.

                                    Because of this I never liked the old "BSDs are separate systems, Linux is one kernel with many distributions" adage. Because it might be true in the strictest sense, but in practice it hides the fact that these are very much developed by different people with different ideas, priorities, and end users in mind.

                                    Boot method changes, device name changes, default tool availability changes, partitioning defaults changes

                                    I can't say I really experienced much of this.

                                    GRUB has been the go-to since I first tried Linux around 2010 with systemd-boot only recently gaining ground, my devices were always named by the /dev/sdX or /dev/nvmeXpY pattern, I can't recall any tools disappearing, and I've always manually partitioned my disks because the defaults kinda blew.

                                    But maybe our mileages and priorities vary, I certainly don't consider myself a "system administrator", just a simple "power user". I also missed out on much of the turbulent early days of Linux, so perhaps what I perceive as a stable norm is only the last beat of a long history of changes, but I regardless consider 15 years of things being more or less the same a fairly stable state.

                                    [Your car thoughts.]

                                    Agreed with all of your points. Honestly, I really wish there was some kind of legislation to force car makers to also make and sell "dumb cars", just like there are still "dumb phones". Affordable, no frills, repairable, but still coming with new security improvements, because nobody wants to be left on a pavement just because their car isn't worth 50 grand.

                              3. ~

                                This is a fun read thanks for sharing.

                                I highly doubt they the term ascetic has a non-religious origin and making such a claim comes off as militantly atheist to me. Otherwise why not just use the words disciple, self-improvement, or hard work?

                                From Brittanica:

                                asceticism, (from Greek askeō: “to exercise,” or “to train”), the practice of the denial of physical or psychological desires in order to attain a spiritual ideal or goal. Hardly any religion has been without at least traces or some features of asceticism.

                                Also, maybe this is why I like writing my notes and coding either in shell or in geddit. I like relying fully on myself and my own knowledge

                                1. 7

                                  In ancient Greek the word does have a non-religious origin. That may be what the author meant.

                                  1. ~

                                    Ah I see that now

                                2. ~

                                  In terms of tooling and practices, I agree completely and I've just picked Fedora, Emacs and similar tools that I know are stable and can find everywhere.

                                  I think it's also a good way to approach life decisions, I've been wondering where I should take my career and picking clear constraints in terms of technology, geographic location, interests, etc, has been of some help choosing a direction. I'm still struggling with FOMO and wanting to explore many subjects but constraints are helpful at picking a general path, at least.

                                  1. ~

                                    It’s great when people explore and find new styles of programming that suit their preference, but that’s pretty much all it is—a preference. Some old classic languages and runtimes are impossible to program for without the ecosystem of tooling that grew up around them. Some are portable enough to support a team of ascetics with a variety of minimalist preferences who can still fall out over familiar IDE-like conflicts, e.g. editorconfig and other formatting and linting tool selections and configurations. No project is immune from that special irony of having been effectively bricked by a dependency on an emacs config or an unversioned bash script.

                                    1. ~

                                      What a lovely post.

                                      What especially resonated with me is the frustration about the worrying trend of computers imposing themselves on the user and taking control from them. A while back, when opening a new tab on an outdated version, Firefox started showing an intrusive "Update Firefox to continue browsing" page. Long story short, I switched over to LibreWolf and haven't looked back.

                                      I miss when software didn't break on its own and then ask me to fix it.

                                      1. ~

                                        I am very much in agreement with the ‘No distractions’ section. I find mobile device usage/notifications as incredibly obnoxious and invasive which is partially a fault of my own setup. I dislike that text messages and similar communications are used for advertising on the same channels intended to be reserved actual messages. I typically work on a machine with no communication software to avoid these distractions and it’s much more enjoyable. I’ve also found LSP autocomplete distracting and have been working without it in some languages.