I don't like computers (2016)
happyassassin.net
happyassassin.net
Now, more and more, computers are trying to tell us what to do. Notifications, unwanted ads, spam, recommendations, pop ups, accept this, subscribe to that, dark patterns trying to get me to do something… I never commanded my computer to do these things. Some product manager at some company 1000 miles away simply decided my computer should do these things, without even my input. Even my operating system! After booting up, it’s running hundreds of programs simultaneously. I did not tell it to run these things! It’s doing it all by itself out of the box. I feel less and less in control of my computer and more and more a bystander.
We (the software industry) have royally screwed up computers. Users used to be in control and now they are the ones being controlled or at least “influenced.”
There's probably a distro offering for Linux that should be made where is promise is just "I'm not contacting the internet unless you ask me too".
I think there kind of is? Like, most Linux distros actually?
Yes, Ubuntu has snaps which try to talk to the internet and autoupdate, and yes this is absolutely terrible. Yes, sometimes a distro might notify you there are updates available. Yes, sometimes a distro talks to a ntp server to sync the time. But, generally, I don't feel internet usage is inflicted on me, I inflict it on myself.
In what ways which bother you does your Linux distro contact the internet without asking?
Fortunately, as long as the user knows about them, they are fairly straightforward to mask with systemctl.
For people like me, who like having complete control and knowledge of everything their machine is doing, Arch GNU/Linux a good choice.
KISS, Gentoo, Alpine(not sure if it's desktop-usable?) are probably the most private.
How is it that I paid for Windows (begrudgingly) and yet it's constantly undermining my efforts to control it? Microsoft has at least a dozen shitty apps that no matter how many times you disable or uninstall them, always seem to come slinking back into RAM. What the actual fuck?!
Then they coupled in "shutdown on low battery" and refuse to allow it to be disabled. https://gitlab.freedesktop.org/upower/upower/-/issues/64
So since xfce, gnome applets use this library, I either have no battery status applet or intermittently my computer goes into shutdown after resume because the battery falsely appears dead for a few seconds.
(The kicker: it doesn't log why it decided to initiate the shutdown. Took years to find the bloody cause..)
Why don't people fork these terribly managed projects? Even just working on the feature and then submitting the .patch file to be merged in by downstream distros would be a very meaningful signal.
I blame the package managers we use for this, as most of them make it incredible difficult to change anything and make you a slave to whatever the distribution ships, which in turn is slave to whatever upstream ships. The effort to fix the issue just far outweighs the issues the problem is causing in the first place.
NixOS is one of the few that seems to get this right by making code changes pretty much trivial. Just fork the upstream repository, point the package to the new fork and you are done. With a Nix flake you can even make the repository itself installable directly. No need to try to convince any maintainer to include your patch. And having package names be hashes means you can switch between old, new and patched versions of a software easily, no need to worry about conflicts or having to un/reinstall all the time. Downside is the lack of binary compatibility in NixOS, meaning if you change a package deep down the dependency tree you might end up recompiling half your distribution and can no longer use the precompiled binaries (there is `patchelf` to workaround this, but haven't used that myself yet).
[1] https://unix.stackexchange.com/questions/324680/how-to-apply...
Luckily I don't update often and this package should be forward compatible for a long time given the slow rate of change.
For example, I used to patch OpenSSH to increase the minimum field size for DH key exchanges [1]. Eventually OpenSSH did update their minimum field sizes so I do not use this patch anymore.
[1] https://r6.ca/blog/20150111T040537Z.html
For those interested, patching OpenSSH in NixOS involves adding the following to one's system configuration:
nixpkgs.config.packageOverrides = oldpkgs: {
openssh = pkgs.lib.overrideDerivation oldpkgs.openssh (oldAttrs: {
patches = oldAttrs.patches ++ [ ./openssh-dh-grp-min.patch ];
});
};
where openssh-dh-grp-min.patch is the patch file you want to apply.Sometimes to do a whole new thing, you have to learn a whole new language.
What would the Debian way to do this be? I bet it would take more than six lines of code.
Edit: I was wrong, the patching part at least is not too bad on Debian: https://unix.stackexchange.com/questions/324680/how-to-apply...
Isn't that to protect user's data? There's been numerous reports that modern-day high performance SSD's don't actually neatly write data to physical storage after a flush command; I wouldn't want to lose data if my system unexpectedly shuts down due to power / voltage issues.
Or is there additional low power protections at a hardware level?
Depending on the brand of flash storage, there are power loss protections (the same as harddisks, actually) where a little capacitor stores enough charge to park the head or flush the DRAM component of the flash to SLC solid flash storage.. if you have a huge write in progress (enough to blow the SLC cache and the NAND cache) then you might lose that write.
But what if I have some "pro-grade" SSD that doesn't need this? What if I have some huge battery that lasts for 2 hours when there's only 2% left?
Point is that the user should be able to have the final word, even if the default looks to be helpful.
Would you rather have your computer crash when it runs out of battery, or shutdown gracefully at 2 percent battery.
If I want my computer to crash then that is a policy I should get to make on my own. It is not the job of the software vendor/developer to dictate policy to me.
If they have to have a default then they can pick whatever, but not being able to change a particular setting is a bug.
What function of battery charge causes an error on a modern operating system?
Uuughh, I have this with Windows on my Dell XPS as well. Basically every time it comes out of sleep/hibernate, it will briefly think the battery is at 0% and try to shut itself down, and if you boot it up again without it being plugged it, it won't start up at all.
But when plugged in (either coming out of sleep or for the follow-on boot), after a few seconds it'll go "lol yeah no you are actually at 100%, no further charging is required, hooray!"
Would love to know how to disable the critical battery shutdown altogether in order to get around this. It's a bizarre and terrible bug to have in what is supposed to be a flagship developer machine.
Computers, in their fundamental nature, are exactly as you describe them. Such devices will always be available (if nothing else, in the form of electronic components). We just have to refuse to use the machines that want to control us.
Also relevant: https://www.gnu.org/philosophy/free-sw.html
Little side rant here, I think one area where Free Software has failed so far is build systems. You get the source alright and the GPL even requires you to include build instructions ("all the source code needed to generate, install, ..."). But in practical terms the amount of effort it takes to actually build software yourself is often insane, far from being automatic and often requiring a lot of manual work and workarounds (especially when you leave plain Linux and start cross-compile, etc.). Now with Github we even have a lot of the build infrastructure be proprietary, and while it runs automatically on Github CI, there is no way to run Github CI locally.
There is effort put towards reproducible build now and some distros like NixOS seem on the right path. But I think we lost a lot of ground here by having the build process be filled with so much patch work and manual human intervention, instead of being 100% automated right from the start. We really need a "freedom -1" that requires software to be buildable fully automatic.
GNU Autotools (also known as GNU Build System) is fairly standardized in the GNU world. The build process for most GNU packages is simple:
./configure
make
make install
The FSF-endorsed GuixSD (a GNU system inspired by Nix) is also putting a lot of effort towards system bootstrapping[0] and deterministic builds[1].Of course, there is still a lot of work to be done. But honestly, I'm very optimistic - the GNU system has gone a long way since its inception, and it's only getting better by the day.
[0] https://guix.gnu.org/en/blog/2020/guix-further-reduces-boots...
[1] https://guix.gnu.org/en/blog/2020/reproducible-computations-...
GuixSD is working on fixing that, but that's a relatively recent development and at the moment at least it's missing anything equivalent to Nix flakes, forcing you to essentially fork the whole OS when you want to change anything and making you heavily depend on a central authority again.
We are still years away from a point where you can just build Free Software yourself across all the platforms that are supported by it. Even Guix and Nix will bail out the moment you try to target Windows or Android, if they support it at all (Nix supports Windows a little via cross-compiling, but few packages will build successfully).
Autotools goes to extreme lengths to maintain portability across Unix-like systems. That's kind of its whole deal, and it's the reason why people choose it. It's also better at cross-compliation than any other build system I've used.
There are lots of packages out there that have some kind of ./configure script or a Makefile. But they're not all fully Autotoolized, not by a long shot.
I have good luck with cmake for the same problem. It took me a while to write the toolchain file, but now porting a new cmake project just works.
2013 was the watershed for me. You can read about why here [1]
There's a world of difference between using a tool and being a tool.
That transformation from "It's more fun to compute" to "If you've nothing to fear you've nothing to hide" took place almost silently in the first 20 years of this century.
The problem is that as "hackers" we don't understand computers. Retaking tech, by fully understanding and helping to culturally redefine computing is both the duty and prerogative of any real hackers left out there.
As for the fun. It never went away for me. I am more passionate about technology, coding, networks and electronics than at any time in my life - precisely because the stakes are now so high.
A powerful statement right there. As someone who grew up with computers from before the web, I feel that "cyberspace" has been colonized by business and political interests. It was supposed to be "our" space, I mean, by the people and for the people. Right now it's more useful as a tool for the dark empire.
A Declaration of the Independence of Cyberspace - https://www.eff.org/cyberspace-independence
I agree that the problem and the solution is cultural. It's about having fun, being weird and creative with how we use technology, to reclaim the magic and make it ours. Things like Tor, uBlock Origin, and dare I say some of the cryptocurrency and blockchain stuff, they feel like part of a larger decentralized underground-ish movement that has no name (and probably should remain so).
I've noticed a large split between the quiet people who like cryptocurrency for its security and privacy (who now use Monero) and the loud investment-focused cryptobros obsessed with Ethereum, Doge, NFTs, Musk, etc.
I know this isn't the case for everyone or everything--everything that makes computers special is still out there in one form or another, and arguably tools like YouTube and the like has made creating and sharing new things possible. It still seems you have to stray away from the path you're guided to in order to find them (and know they exist!). I'm thinking of things like microcontrollers, electronics, programming in general.
That's the first time I learnt that Windows was using that approach (I'm blissfully away from Windows; I dwell in the Linux world.) It was painful to watch them ask "how come this machine does such a big task [upgrade] forcefully?"
When I used to work in office, there was this one time when I had an urgent ticket from customer to resolve, so I made the necessary fix and started building it. Normally builds would take something like 15 minutes, provided they were incremental and this wasn't the first (clean) one. But they could also take hours. It was at the end of the working day, I was working hard on this fix, didn't even take a lunch break. I started building it and waiting, because I wanted to share the fix with the customer as soon as possible. 15 minutes passed... 30 minutes passed... 1 hour passed... 90 minutes passed... 2 hours passed... And it was still compiling. At that point I gave up, went out and started walking home. But due to not eating the whole day and then staying late waiting for the build to finish, now I was so hungry that my hands started trembling on my way home and I felt generally weak, on the edge of being able to reach home. The next day I found out this build took ~4h 30min.
The reason for this state of affairs: of course I shouldn't care that much about my work and just make the customer wait instead. Put my health and time above that. But another important reason is that the build times were so unpredictable: when I hit "compile", it could take anywhere from 3 minutes to 4.5 hours. There is no planning you can do around that. If it was just a fixed 3 hours, it would be even better, because then I could plan my day around it. But it being so unstable destroys everything. Of course, if every build took 3 hours, people making decisions would wake up and see that we've got a pathological situation and there is something seriously wrong with the project. But when you often hit 15 minutes, it's going to be brushed off. And for the C++ committee even though compilation speed may be an issue, it is never a priority. There are always going to be other issues which eclipse it.
Personally, I think a build for even a OS-size project like that shouldn't take more than at most 1 minute. Even the incremental times in this one are a travesty.
What I like about what was planned for Jai (still not released) is that it's designed to always make a clean build. And the clean builds need to be fast. There should be no reason to make incremental builds. They are hacks that make the situation worse, but make it look better. Suddenly you're dealing with weird bugs, because the build system did not detect a necessary recompile and used stale cache entries (happened multiple times to me). The compile times are unpredictable (see the above story of why that matters).
I've seen some Delphi jobs in my country a year ago I think. Maybe I should switch there...
I think we naively believed that an increase of human technical capability would lead to such abundance that we'd achieve post-scarcity (at which point, whether we call it socialism or pretend it is liberalized capitalism, it doesn't matter) and permanent democracy... not the corporatized nightmare we actually got. The capitalists are right about very little, but they got this right: human nature can be shit. Most people are decent or want to be, but the ones who gain power in human organizations, especially organizations without purpose such as private corporations, are cancerous. We thought that problem would magically solve itself if we just made the world (in aggregate terms) richer, and we were wrong.
It's like a martial arts instructor who earnestly but unaccountably believes he's teaching good kids how to fight back against bullies. He may be. Or, he may be teaching the bullies. In our case, though, we weren't training... we were arming... and we didn't always know we were building weapons, but that's absolutely what we were doing... all of our "data science" got turned into decisions that hurt workers and enriched executives.
I'm speaking in past tense because we, as technologists, are no longer relevant. We've sold our souls. Capitalist hogs and their managerial thugs have won. Our moral credibility is deep in the negative territory. Power will either stay with those who currently have it, who have evil intentions, or move toward the set of people who work up the courage to overthrow the current system, who may or may not--it's impossible to know, as it hasn't happened yet--have ugly intentions.
Just close. I want to issue a command and I want it carried out immediately.
If the software can't do that gracefully, then it's bad software.
Also, there is no reason for the operating system UI to ever be stuck. If the program fails to redraw, show it blank, but don't prevent me from moving/sizing it. Even if the CPU is at 100%, I want my commands to get 1st priority. Too many times I had to spam Ctrl+alt+del just waiting for something to respond.
Used to be: You throw a physical switch on the computer, it interrupts the power circuit from the power supply, and the computer went off instantly.
Today: You have to do it in some software menu, but invoking this, you're not even powering it off. You're requesting your computer to "pretty please, with sugar on top, turn off my computer when you're not too busy." Then the OS goes and does god knows what, maybe it decides to flush some caches, maybe it decides to do an entire operating system update, who knows--you're not the driver, you're just along for the ride.
Even the physical power button on the computer doesn't break a circuit anymore. It... you guessed it... sends a software signal begging the almighty operating system to please shut down.
And when you point this stuff out, all the excuses start coming out: "Bbbbut the OS has to flush its caches! Bbbbut the filesystem needs to write things to disk that are in-flight! Bbbbut applications need to gracefully shut down and free their memory (which is about to have the power cut). Bbbbbut there may be a critical background task still running that needs to...." I don't fucking care! I didn't command my computer to do any of these things.
It's gotten to the point where if you want to shut your computer down instantly, you need to pull the power plug or remove the battery. I expect we software engineers will fix that one some time soon, too.
This captures my sentiment towards current trends in technology so aptly. I went to turn off a Windows machine the other day and the only options required allowing an update to be performed. There was no way to shut down or restart without allowing an upgrade. Fortunately I could bypass via the command line but this level of mediation is unwanted and abhorrent.
Just don't complain the next time you start it up that disk files you were writing to when the power failed are corrupted.
Holier-than-thou victim blaming may be a good excuse in FOSS land but we pay Microsoft money for Windows and Apple money for macOS X, and both companies are capable of building stuff which can recover from interruption. Even JETDB is surprisingly resilient when you force-reboot an Exchange server these days, so is SQL Server, so is Active Directory, so is NTFS.
That should never, ever, ever happen if your OS and filesystem are even remotely quality software.
Thankfully for SuperF4, it will force exit the game or any app that I have it focused on. I had one game that outright shamed me for doing that and I never went back to that game again. Sorry, I don't have time for games that chose to lock out the exit and three-finger salute command. SuperF4 is the boss now and there nothing that those games can do.
Nowadays the software should just auto-save it for you. But not all software is that well written, and the OS can't tell it apart.
On the other hand, macOS is wonderful because, if you don't want ⌘Q to do that, then you can re-bind the Quit command, and programs respect that. (I don't remember if programs have to opt-in to respecting it, or if the OS enforces it.) I know that various flavours of Linux can do this easily too, but I think that Windows doesn't have a native such feature.
The fact that remapping commands requires an exact, case sensitive match of the localized menu item label you have to type in by hand (and cannot copy to your clipboard) though...
I force quit apps all the time, sometimes even because I want them to restore their exact state. In a lot of apps, the macOS state restoration works great, possibly better than actually quitting them.
What I want is that the software itself doesn't even get a chance to interfere with demands like ⌘Q. There's no reason Chrome should get to decide that it doesn't close until I hold ⌘Q; that way lies all sorts of dark patterns. (Adobe's attempt to seize control of basic OS functions is my bugbear here.)
I don't mind the OS having a system-wide setting whereby I can decide how much I want it to protect me from the consequences of my actions, but that should be a decision between me and the OS, enforced by the OS, not something I have to negotiate individually with every app.
(Same with the menu bar. I choose what goes in the menu bar, and macOS should enforce that choice, not tell me that the software has decided what goes there and I have to lump it.)
Also, you're assuming that there is a thread that saves state to disk. There may be (and if the state save is a significant operation, there probably should be). But that's far from always the case.
If the GGP wants "Cmd-q" (for example) to cause a program to immediately stop using system resources, then all the "responsive" in the world will not satisfy that goal.
I agree that if GGP wants "Cmd-q" to cause a program to immediately vanish from the screen, the responsive design is the answer.
However, adding a thread to a program that takes 1 second to save it's state to disk in order to allow Cmd-q to cause the window to vanish immediately feels like overkill to me. You now need a bunch of thread mutual exclusion primitives that were (potentially) not necessary before. Not doing this is not "not bothering". It's facing the tradeoffs from adding a thread and deciding it is not worth it (a decision the user may not agree with).
I'm not into the proposed "saving threads", I'm afraid they will get stuck for whatever reason without you noticing (as the window/taskbar icon already disappeared).
At least, this is the case on Ubuntu Focal. Anyone else using KDE and gnome-terminal?
ETA: I can't even make a quicklaunch for it in KDE.
The software does what I say, when I say. If it doesn't, it gets wiped from my system.
This is a good portion of why I switched to Linux full time over 10 years ago.
My computer does what I tell it to do, when I tell it to do it, as I tell it to do it. I fuck up? It's my fault and I know it and I have to fix it myself.
No more "What the fuck just happened?" bullshit.
Computers... I don't care about a lot of the things I cared about. I cannot extract pleasure any longer for studying yet another random language. Now, if I want to truly get impressed learning Kotlin (to say something, fine language) doesn't cut it, I need quantum computing or dependent types or whatever. But it's much harder.
Like picking up an instrument and start practicing more advanced music than the pop song of the day. That's really a long-term game.
Programming can be another such activity. I mostly stopped reading programming books some years ago, but I find that deliberating over the meta-game of programming, i.e. not how do I specifically solve this problem, but more how do I structure my solution, how do I simplify it, how do I reduce the problem itself to its core, how do I write the actual text, variable names etc., in such a manner that it is self-evident what is happening. That is truly a long game too. There's even a skill to the deliberation itself - too much deliberation is counterproductive.
I read somewhere that the philosophy in the antiquity defined being good not as based on absolute moral values of say unselfishness, like giving food to starving children, but on simply being really good at what you do. Perhaps that's from a realization of what actually makes people happy? Like the old carpenter expertly fixing a troublesome door while softly whistling to himself, a human being in inner peace.
I just want to comment on the irony of praising a philosophy that focuses more on abstract virtue rather than an absolute metric of goodness, by noting that this increases happiness.
To be a good person didn't mean moral good, or excellence in one area like art - it meant being a great as an "all round person who lived their life to the full and exercised all human powers". The art of being a great _person_. You didn't have to be amazing at any one thing but, for a Greek citizen one should able to:
Farm, hunt and cook a good meal
Master a sword or bow
Sail a boat and run a race
Tell a good story, write a poem
Make love well
Climb a mountain
Do math or argue philosophy
Care for the old and young
Tell a convincing lie
You get the idea. Today we are highly specialised creatures, pallid by comparison. We get others (services) to do most of our real living for us, so we can concentrate on specialised wage slavery and use the money to buy back vicarious living under the heading of "leisure".
Notice my last example - which illustrates the this excellence is separate from any moral conceit of the "good person".
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyse a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.
learning programming felt exciting but the more I know the more I realize the underlying principles were older than computers (ordering, algebra, physics)
there was nothing really new in learning java, haskell predated it yet I only got to know about it in 2004, people in the 50s did monoidal modeling of computing
Your perception of "new" depends on your accuracy of perception. With a very low-res eye a lot of things look the same and boring that a higher resolution perception sees as very different and interesting.
What's true for eyes and visual perception also is true for brains: If differences in reality always map to the same neurological pathways and create the same wave patterns in the brain it does not mean it actually is the same. More likely is the viewer either lacks the detailed perception and/or the detailed pathways for processing and reacting to it.
Too much abstraction can make things look boring and create a wrong impression of sameness. "History always repeats itself" - only that it never does, unless you filter out everything until what is left matches what your assumptions. Which actually also is what the brain does, once you see a certain pattern the brain steers you towards seeing it. For example, there are pictures where you can see one of two different things, and once you see one pattern you have to make a conscious effort to unsee it and see the other one.
So, a large part of it is that you see what yo expect to see. If you already determined things are the same you will subconsciously filter out that which does not fit your assumption.
.
In any case, I always suggest to programmers interested in something truly new to go into biology and bio-chemistry. All programming we do ends up on similar von Neumann architecture hardware, so it's not wrong that there is not that much difference between programming languages, compared to quantum computing or "biological computing".
Trying to understand - never mind create your own - biological systems is truly something entirely different and should satisfy the bored aging CS and programmer person. Just to clarify: I'm not talking about brains (although that would apply too), but the much more low level biology.
I suggest edx.org for a starting point. Some very good hig-level but introductory and free classes on biochemistry, biology, genetics, statistics (for life sciences with appropriate examples), etc.
Btw, my point about "nothing is new" wasn't trying to step into nihilism. Just to shed some light on the excitement aspect of it.
It's a bit mind blowing in the most extreme sense. DNA tiles as combinatorial building blocks to realize game of life like structures that serves as foundations for computation. IIRC they had a turing-capable compiler, but only small programs would complete due to chemical degradation. It's also extremely sensitive to temperature conditions.
Part of the joy of programming for many people is the instant feedback you get and the ability to go through the logic of the code line by line to debug and reason.
I feel a lot of that is lost once you start pipetting instead of typing.
This article completely captivated me last week:
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3331698/
(probably old stuff for experts in that domain, but I was absolutely fascinated by the idea)
I feel similarly. It's not actually a problem though, is it? I haven't looked into quantum computing, but dependent types are quite an exciting rabbit hole.
I don't mind the lack of novelty at all.
The other way to spin this is, maybe you've entered a phase in your professional career or technical interest phase where novelty and maybe "climbing the ladder" are potentially less of a motivator for you.
Now you can focus on more important metrics like: shipping products in the best designed way, putting technology stack choice aside for the sake of what works and what is maintainable. Or having a happy team that works together well.
The industry needs more of us measured, calm, and dispassionate middle-aged folks, not less.
For example, you're not gonna fully appreciate the latest spider-man movie unless you already watched the whole 3 series.
Or the other day, I was watching Ted (the teddy bear movie) and they recreated the dancing scene from Airplane. If I had never seen Airplane, I would probably still have laughed, but I wouldn't truly have gotten the joke.
Or in the Doctor Sleep movie, there's a story being told, but the Director also tried to reconcile The Shining movie, The Shining novel with the Doctor Sleep novel. You don't truly experience the movie fully unless you've experienced all of them.
I don't know for other media, but I find movie makers tend to be very meta and you gain as much by having seen all the low fruits as you lose by doing so.
For a long time I didn’t even have a real computer at home. I was mostly watching YouTube on my chromebook and checked my bank account. Wrote the occasional letter. That’a about it.
Now I got into casual gaming a bit and enjoy playing games on my linux laptop. But I am using Ubuntu and not Arch or anything weird. I try to keep the tinkering to a low profile to keep it enjoyable.
But then it became more of the same. The difference between phone generations became more about performance and photography technology than anything new. The iphone hasn't done anything major since the iphone 4 or 5, or whenever they did their big redesign effort - IMO anyway, not to dismiss their efforts because in terms of power and software technology they've pushed the boundaries. Unfortunately it's mainly in areas I don't really care much about, that is, photography. Interesting to see how much the instagram generation directed phone development focus I guess.
The author mentions things like Netflix as well; it was written six years ago (ish), but it's only gotten worse. Netflix is full of what feels like artificial programs now, box ticking exercises; cartoon aimed at ages 3-6, check; segment aimed at PoC and/or women, check; David Attenborough nature documentary, check; political drama, check; desaturated Scandi crime show(s), check; video game tie-in, check; buddy cop film with high profile actors, check; the list goes on.
What I mean by that is my machine is some kind of basic linux desktop with a tiling window manager.. I haven't looked at the configuration in about 8 years, and even then it was probably 5 years before that that I really cared to give a lot of attention to it -- it survives OS upgrades and hardware replacements because what constitutes my HOMEDIR just gets copied over to new machines and I just install all the tools that are missing as part of the setup process.
But now, my machine does not do things randomly, it does not have weirdly undefined behaviours, it does not change it's UX, it does not prompt me unless necessary, it does not do unexpected things on shutdown or boot up or kick me off to perform upgrades.
Everything my computer does, happens at my pace, on my schedule and it's extremely rare I have any noticeable bugs from those updates.
I'm not saying this to brag, but it's interesting how often people who take the "easy" path end up spending so much more time fighting or re-learning their computer than I do.
My custom Emacs configuration build? Automated my own way. My AwesomeWM configuration? Automated my own way.
I'm so glad I took the time to learn to do stuff manually, so I could tell them specifically how I want them done automatically. And it should last me quite a while.
> I’m sorry, you may want to close your ears now, I want a distribution to be easy to install, so that I can just get on with my life, which is mostly kernel.
And nowadays I hate computers.
I can’t bear to use one when I’m relaxing at the end of the day. Now I use an iPad Pro to either consume content or creatively to draw and make videos. Yes it has limitations and restrictions. But I cant bear to use a desktop OS in any shape. It just grinds my gears and feels like work. Automate my house? Hell no. IOT fridge? Please. You have to know when to stop. Plus I’ve been burned by every OS and idiom in computing that you can think of, and I’ve had enough. Just let me browse the web (yes I use adblockers) and watch some vids. Ive gone through everything and now only use ‘computing’ devices creatively to improve my life.
Nothing is ever as it was in the "good old days". The best move is to realize this and adapt and make the best of your current life situation.
I still like computer for numbers of reason.
> nothing ever gets worse
It mostly gets different (and largely, I'd argue, better). Yeah, you get older - which should come with experience, self-knowledge, personal growth...
For me - LAN parties are now dinner parties. Hacking all night on that new framework is pondering architectural decisions and seeing them pay off days or weeks later. Young 'uns with their new ideas means freshness, and teaching opportunities, and foisting the stuff that takes that kind of energy off on those who have it ;)
Different is really only bad when you're unable to adapt.
I'm a greybeard who wears socks-n-crocs, I have lan parties all the time in my house, and sometimes I nap in the afternoon so I can hack at odd hours. I think you should do what brings you joy. Maybe not all the time, because taxes and your health are important too, but at least some of the time.
> Nothing is ever as it was in the "good old days".
Some things aren't as good, but many things are, and at least some of those things are better.
Maybe not for you though? Everyone gets old, so of course, on the whole, at some point things for you are going to look worse than they used to be, but guess what: you're also going to die, so if you think the whole point of your life is about you, all you'll ever see is decline, so I think the best move is to think the whole point of your life is about something else, that way you can see things getting better and become a part of that.
Maybe you will discover life is about the community we're a part of and you need to get to a lan party: Some of those middle-schoolers might have fun playing games with their parents too.
The infinite is great.
Reminds me of articles on early amateur radio. It was free-spirited, until society decided it wasn't and now you need licences and it's a business first toy.
If anything its gotten larger. Plenty of us bring kids with their own computers.
We all have dedicated server hardware. Monthly get-togethers at least. Mostly Factorio and similar but also quake/doom and quite a few others. We can still link back home for files and add more server space. We've now got the skills and hardware to do things we previously couldn't.
Why should we only remember the good ol days when we can live them right now? As for the music, the best stuff has just been written. Why limit yourself, anyway? We have a catalog of way more than fifty years!
This is the worst part of being old.
Your servant here he has been told / To say it clear, to say it bold / it's over, it ain't goin any further.
And now the wheels of heaven stop / you feel the devil's riding crop / get ready for the future, it is murder.
Although I work for a big tech company now (the fun kind for me at least, making hardware platforms), in a previous life I made consumer products. Hair dryers, hoover's, ovens, lamp's, etc. It's amazing how much more your average person's eyes light up when you say that you helped design their kettle, compared to the chip in their phone or the backend of their social media, and there really is a certain amount of joy in that.
The ratio of extracting utility and fun from computer vs fighting against the system has plummeted. And doubly so in products where computers aren't the main thing but just a means to implement something else which, in the process, in effect becomes――computer software. Add to that the requirement to always connect online and you're double-fucked. I just... don't do that anymore. My hobbies are all non-electronic and on spare time, I just use my laptop basically to watch Youtube and post on forums (while they still exist).
The general usage pattern of using information technology has gradually shifted from "how to get the computer to do stuff for me" to "how do I work around all this shit to do anything at all". This narrative applies both to user interfaces and browsing but also programming. It's all more work for nothing much.
I still enjoy algorithms and programming as long as avoid interfacing with anything that's modern. I don't long for the old days but I want the sense of ownership and power back that I used to have. Using computers today is too often as if the computer was using you.
What I don't get is the constant need to share everything on the Internet. I've stopped using every social network. I'm on Reddit and on this platform just to know what's happening in the tech world. I don't even read much news these days.
As a 10 yo I did not have much real stuff to do with a pocket knife, but it was cool.
Well as a 15yo I thought computers are cool and I was into computers - but still I did not have real stuff to do with those. Just gaming, configuring different linux distros for fun.
Now I am adult and I own knifes, but I don't care much about these. I need to chop a chicken or cut a piece of rope I get the knife but I am not collecting them or holding in my drawer in "special place".
The same with computers, nowadays I use them as tools and they are not meant to be fun. I have my work to do and I am done. Well I still do quite some web browsing and media consumption unlike author, but it is not like I am going to build a PC from scratch and install some distro of the month on it just to see if I can make it work, because I have real stuff to do.
OK sometimes I get raspberry PI from the drawer to see if I can install some new raspian or rasbberry os on it.
I don't really code at home anymore. At work I do the bare minimum to get by, as I always do. I hit my sprint goals to please the PHBs whose entire job it is to remind you of your failures (PMs). I no longer enjoy fixing bugs, writing new features, or anything else. I just do what I do because the pay is good enough. I'm truly only motivated to do anything, for any company, because otherwise I'd be fired. Thank you for destroying my bright eyed we-can-do-it attitude, SV.
I could've lived with cloud and a thousand frameworks. But the politicization of our industry and the micro-management culture almost every SV company exudes is toxic to anyone who believes in merit and creativity. I've been unable to find a company to work for that won't take an expedient political stance on whatever the "important social issue" is. Entire code bases are upended by entirely arbitrary sets of rules set by people who arent hackers at all. These people are simply social-science sit ins who want to elbow in on a lucrative industry.
The final nail is the coding interviews. Having been in the industry for 15 years, most of that senior, I would expect to be treated with dignity in an interview. It seems like every corp wants to treat me like a junior until proven otherwise. Yet they require me to send a resume anyway. How exhausting.
The industry is exhausting to be in. It takes bright eyed talented and creative individuals and grinds them to dust. The only benefit is it's one of the only ways to broach the upper middle class boundary now. So I can't leave to do something else and maybe find my joy in coding again someday. It's just suffering, and crying over the memory of a simpler, less political, and less vulture-capital driven hobby.
To put it bluntly I'm tired. Yet I can't rest, it's my only way to afford to retire.
Sadly, I think this is true of every industry - with a few rare exceptions, perhaps. Workers are burnt out everywhere, and companies treat them as grist for the mill. It's just how industrial society is organized, it seems.
Elsewhere in the thread, someone mentioned how the school system "completely removed that joy" (in this case of mathematics). That sounds like the same situation, it's not just tech workers, it's teachers and students too.
There definitely are some pockets of hope, niches where creative juices are flowing, where people are enjoying their work. It's so rare to see, but I believe that's actually how things are supposed to be - I mean, the ideal state of society.
The historical period we're in currently is very primitive in some aspects, brutal and ignorant, despite all the advanced science and technology. The hope I see is to nurture and cultivate our "bright eyed talented and creative individuals", so that some of them may survive the grinding gears of Mordor.
You can still do this, there's probably a FLOSS package for your favorite thing floating around. It might even be packaged by your distro and be just an 'install' command away. Not everything runs on the cloud.
> Entire code bases are upended by entirely arbitrary sets of rules set by people who arent hackers at all. These people are simply social-science sit ins who want to elbow in on a lucrative industry.
If you're curious about exploring computers, doing worthwhile things with them and expanding your skills, you're a hacker. There are no inherent skill requirements, the whole thing is based on personal attitudes and observed results. You don't have to be a "rockstar coder", though it doesn't hurt either.
There is a difference in having fun with computers and getting a paycheck for computers and sadly the things you have to do to a computer to get the paycheck is often times a sin against many of the high minded ideas the 90s brought forth.
Let he who has not fudged a react component or lazily copied and pasted a function cast the first keyboard. As for me I find that my free time is much more filling when it doesn't involve a computer and while that's sad it should at least be understandable given the state of the industry and the nature of growing old.
I disconnect all networking to my work laptop and remove it from the dock to make sure using it again is something I have to actually need to do and nothing pops up randomly.
I get up from my desk at work everyday, disconnect and the thought of going back to my computer that same day makes me feel ill.
I will play video games on my switch, or I may use an xbox controller with steam big picture so its like a console. I don’t use most social media, I don’t run any OS I can’t control, I have a plex server but I made it as low maintenance as possible No smart tech I have a cell phone that dies occasionally because I use it so infrequently and forget to charge it. I use an iPad for reading, creating digital art and watching videos, I keep all work related stuff far away from it. Going for walks, creating art, watching movies, spending time with my family are all things I would rather do that sit at a computer.
Outside of some casual gaming, I really hate computers. I also really hate that my job involves spending 8 hours interacting with things that don’t actually exist, and that there is always some new thing popping up to replace other things that work really well for a very minuscule return on investment.
I hate how the internet has evolved into a giant meme, torrent of ads, and being hounded to agree to cookie usage.
Working in IT for 17 years has just completely soured me on computers.
Computers have enabled a lot of convenience and entertainment in our lives, but I'm old enough to clearly remember the days when nobody had a PC or internet at home, or a mobile phone. I think it was a better way to live, even though some things took more time and effort. The pace of things was just more human, and your day unfolded as you planned it most of the time.
I'm aware this could just be the common tendency of an older person to view his youth more favorably, but it is how I feel nevertheless.
I was just on vacation for a week and I did not get on the web or check email at all. It was nice. Time passed more slowly. I would feel that the day should be over and it was only noon. When I retire I plan to stay offline as much as possible.
A bit like how the invention of the vacuum cleaner didn't free people from housework. It just led to higher cleanliness standards, so that people have to do just as much housework as before.
</ramble>
Somewhere along the way I started writing code as a full time job. I enjoyed it. After that I still enjoyed messing around. But I agree with the article in the post, it just became a mess of overcomplicated abstraction, a chore, a hassle, and now I want my (2) computers to just work when I need them and beyond that leave it alone.
I still write code on the side as a hobby, but I don't particularly enjoy it, I just build things I'd like to see exist in the world from time to time.
I started working with computers when I was very little (4yo), and have really had this as part of my life and career since. Now I look around and other than the computer given to me by my employer, my next newest machine was the last gaming PC I built 11yrs ago, which I don't even use anymore. Outside of work, I'd much rather spend my time in the garage working on cars or spending time with friends or my wife doing something out of the house than stay home on a computer. I haven't completely eschewed computers, I still keep my website reasonably up to date, and I still occasionally play video games, and of course I read HN in my free time. But for the most part, once work is over, I don't even want to touch a computer. I feel like electronics have infected every part of modern life in a way to surveil and manipulate us as a a society, and I feel like if I share my thoughts about it publicly I'd sound like a Luddite. But I've learned most of what there is to know about computers in my life, and it didn't reassure the idealist views I had when I was younger, it shattered them.
Maybe I'm just getting old (I'm nearly 40), but I think we're starting to get to a point as a society where our computers no longer do what they're told, and the computers make decisions most people are forced to follow without any opportunity for their own judgement. It's frankly dystopian, and I desperately try to avoid it outside of work.
The problem is that over time, the opportunities to do this have become harder and harder to find. All the low hanging fruit has gone and more and more people are relying on social media instead of websites to communicate and run their businesses anyway.
Additionally, I'm just not interested in privacy violation, spyware, big data, ML etc.. so that frontier holds no appeal for me.
Ironically it seems like it was easier to innovate in the mobile space and find a market in the days of Palm PDAs than it is today.
Then, somehow, a couple of years later I started writing FLOSS software for music (recording, editing, mixing, composition, processing). My interactions were with users for whom computers were a creative tool, not a business tool. When things worked, my software was helping people feel as if they were able to express themselves in ways they might not otherwise have been able to [0].
In 2022 I don't love computers, but I have a very different relationship to them than I did 2.5 decades ago. I still don't know if on balance they are really a good thing for the world, but for me personally, yeah, sure, I like them.
[0] one might argue that they should have been non-computer-based music making tools, and you could be right.
Outside of work, my computer usage is limited. I no loner maintain a personal blog or website, and I've given up on writing or online community projects simply because I can't stand having to constantly tinker with the tech—WordPress, Jekyll, maintaining domains, security, whatever. I don't have social media accounts. I don't read online or with a Kindle, I continue to buy and read physical books. No smart home, no smart car, no TV in the house, no apps on my phone other than weather and maps. No time spent watching obnoxious SeatGeek, Liberty Mutual, or Grammarly ads on YouTube.
I am a deeply technical person, my skillset makes me employable, technology and computers have made all sorts of things possible in my life, and for that I am thankful. But more and more, the good life is a life without the screen, without the connectivity, without the neurotic tinkering with tools and libraries, without having to spend full days figuring out if my data was exposed in a breach.
I sit on ass all day for work, I will not sit on ass all evening in pursuit of technical hobbies that no longer bring me joy. There are sunsets to see.
Sometimes it gives you outdated results from the 90s, or the 2000s, but that's okay. It's fun to explore relics. Sometimes it gives you a site you expect to be from 2003, but it was actually just put up last year from another curious hacker. Those are fun to pop in on. That happened to me yesterday, and I just left him an email appreciating his website, and his various projects he posted on there, to hopefully spark a fun conversation.
The modern web is bland and boring. I'll agree to that. I don't like it much. But not all hope is lost. There are plenty of us that want the old internet, that some are building services and networks to revive that. Not all hope is lost.
[0]: https://wiby.me
As far as I'm concerned the ideal software ecosystem is one where every manmade object is connected, and the actual code is highly encapsulated where I never have to see any part of it except the part I'm changing.
My idea of an ideal software ecosystem isn't far from what we have today, minus the locked down proprietary protocols and cloud-only software, and with a few less containers.
Everything IoT, software done in high level, encapsulated, reuse heavy, and with an emphasis on extremely safety, and a whole lot less low level code where the compiler can't watch your back.
Things are pretty great now, we just need more performance-focused P2P tech and local APIs for our smart gadgets.
But it seems that other programmers really enjoyed a lot of the stuff that I'm happiest to see gone, the hacks, the low level algorithms work, then clever algorithms.
I'm kind of worried for the future, since it seems the best and brightest are now bored, and we might not get much real innovation without at least a few of them.
Commercial and commercial-inspired software is doing a great job of making totally standardized predictable platforms, and the DIY minded people pretty much only do things like Arch, unless they're getting paid a lot.
Doesn't seem like the dev community is really excited about anything safe and repeatable anymore.
I'd trust things like OpenBSD over whatever sandboxed browser or cloud service, despite their security spending.
I think it's definitely safer than 20 years ago, when all the exploits seemed to be trivial script kiddy stuff and nobody even used encryption, but we also have a lot more hackers, and a lot more attack surface, because we do more with tech.
In terms of CVEs per feature I'd think we are a bit safer, but the dominating factor is just the fact everything is online and black hats unfortunately are everywhere.
It would be interesting to sketch out how the modern world could exist without all these billions of layers though. How could we get everything online, do contactless payments with phones, make passwords sync, have web apps with all the current features, track our keys with tile, etc, without all the billions of lines.
Is is possible/economical in real world conditions?
To me, the extra risk of getting hacked is fairly low in terms of expected value. Someone could get hacked 5 times and still be ahead if a smart device stopped their neighbors from burning down the neighborhood, or prevented some wacky chain of events that made them get fired.
Michael Pollan commonly writes about this. https://michaelpollan.com/books/in-defense-of-food/
It helped me put things into perspective and reclaim some sense of agency.
Computers might be a tool for you but pure entertainment for others and that’s perfectly fine.
Of course, by far not all. But the thing that truly differentiates computing from most other jobs isn't that people are indifferent to their tools and want work to end when they're home. That's the common case.
What's different is that software engineering seems to be the only job where its practitioners actively resent the tools of their trade, because those tools inevitably bleed from their work life into their private life.
Unless you get the dude who's /reaaaaaallllyyyyy/ into hammers... Yeah - Paul, he's a bit odd, but we love him.
I haven't had the same computer for 30 years, but I am attached to what I have as it continues to do exactly I want in terms of its ergonomics. :)
Someone can certainly enjoy cooking in a fancy kitchen or making a table in the garage. That's an equivalent of programming and provides mental and aesthetic challenge. Or one can have a hobby of collecting and appreciating a particular kind of tools like lighters or retro computers.
But the success of an average computer today is to fade into background and be unnoticed and unappreciated, safe for provoking annoyance in rare cases when something breaks, as all tools do sometimes.
Then I ended up taking a job as a high school CS teacher. Being around the kids was a huge boost. It really helped me zone in on the joyful parts of discrete mathematical computation.
Ironically, over time being around the school itself (hugely conservative for many reasons, especially their IT) almost completely removed all that joy. Repl.it was such a positive experience that it’s not an understatement to say that it came to the rescue. It really did come along and the most perfect time for me, back in 2020.
Again, not everything was great. Seeing the effects of TikTok on children was pretty depressing. So too was seeing how disrespectful parents are towards teachers, compared to a generation or two ago. Teachers are servants of the parents’ staunch individualist whims, whereas my experience in my own and my peers’ upbringing was that they were deferred to as figures of authority.
Build yourself a ray tracer that renders ASCII art and you can drown out the troubles of the world. Similarly if you get a bunch of 14 year olds to do image edge detection in one page of code. Grade A escapism, all round.
Care to elaborate? Python would not be the first language I'd choose for learning/teaching functional programming. (I'd choose Elm!)
It’s mobile devices that really bother me, I’ve since got my screen time down to 39m daily and I might just get rid of it and only use a pc for computer activities.
Small tangent, I’m a massive fan of e-ink, I’m waiting for the day where I can get a proper monitor as a reasonable price and use natural or backlighting when programming.
Me too. Kobo devices run Linux and are easy to hack. Perhaps they can spark some joy or provide you with a cheap prototype of what you want.
Now, as the career matures, more Linux won't help us any more, so we focus on team dynamics, social skills, business logic, and, if you're entirely over it, eventually leadership.
But, if the practical quantum computer came along tomorrow, opening up another tier of income and glory if we'd spend our weekends tinkering with the prototypes, we'd sure love it all again!
It reminds me of how "younger generations are going to ruin everything" has been said by older generations since at least the ancient Greeks.
It's a rather self-centered way of looking at things, IMO.
But most of all, when many of us (not all!) age our passions shift from abstractions to the real. I still think lots of computer ideas are quite neat but it doesn’t fill me with passion like it used to. But that’s the same way for many more abstract things that used to keep my brain and heart churning.
Now I appreciate things like a perfect summer sunset evening more. It’s a goofy evening playing board games and laughing with my family. Maybe it’s a growing sense that these moments aren’t infinite in quantity. Who knows. But it is a natural progression for many of us.
Things have definitely changed, I'm no longer staying up all night trying to beat a particular game or doing absolutely nothing for an entire weekend but adding a new feature to a hobby program. Now I just spend most of a weekend doing that.
I think one thing about people who were into tech before the internet that makes us somewhat different is that computers didn't start out as a device for consuming things for us; it was a device to learn and to see what we could make it do. Even games, which were the most consumption-oriented things I used them for, were interactive.
Of course I do consume some content. I'll fall down a youtube rabbit hole on something trivial and I read a lot of tech news on sites where you can discuss things with others if I'm feeling so inclined. I have no interest in reading news on webpages that have no discussion mechanic, though. I think I fall down youtube rabbit holes because I still have that sense of wonder that you can now learn all about anything you really want to as deeply as you want to that the pre-internet me would have killed for.
I abhor most social media mainly because every thing I looked at early on felt toxic to me, so I never got involved enough to get addicted to it. I ditched cable TV a decade or two ago after I spent one weekend mindlessly flipping through channels feeling like a vampire had just taken a huge bite from me. That was a weekend I could have spent sniping people on Quake servers or trying out a new idea for compressing images I had the other day or whatever.
I totally agree about the lack of control. Starting out programming on a Tandy Color Computer where you could change the screen resolution by filling a few memory addresses with data and the OS was a BASIC prompt leaves you feeling a bit helpless in today's computing world. I mitigate that by using linux at home, like others here have mentioned.
I wouldn't want to go back to the old days, though. Pre-internet would kill me knowing what I have access to now.
I can relate somewhat -- I love tech -- robotics, in particular -- but have lately become a bit disappointed with the current state it in product world. Thankfully I'm also in a state where I can reflect upon why I feel that way, and then muster the energy to do something about it.
Perhaps this is a reflection upon the age of the author too. I suspect as I get older, I'm going to want towards more "wholesome" things -- as I define that word.
That being said, to each their own.
> I dunno where I'm going with this. I don't have any big thesis. I just wanted to write it down.
the invectives of “what did you expect?” seem at best tangential to the author’s intent here. sounds like they’re just trying to express perspective, not mount an argument with a specific aim.
to the author’s point, wasn’t it great when the internet had convinced itself that “zero sum”/scarcity were an unnecessary constraint of a physically constrained world? that ideal may not have shaken out, but there’s no reason to disparage someone for lamenting it (especially when they’ve actually put sweat into that vision).
not everything is a pitch. speech isn’t always an an advertisement or a polemic.
Maybe it's not computers that he doesn't like — it's what people today do with those computers these days that frustrates him.
I wonder if it’s just because I tend to expend so much energy on a very interesting (to me, at least) computer-related problem that I need to step back afterwards for X number of days/weeks/months before I’m ready for the next one.
I spent most of my spare time either reading books or messing around on the internet - and for all you kids out there, this was the 1990s internet, when 'the internet' was mostly email, usenet and FTP, and you accessed it over a dial-up modem
One of my major criteria for buying things is whether they can do their job without a network connection I use computers for...well, I use them for reading stuff
Somewhere along the way, in the last OH GOD TWENTY YEARS, we - along with a bunch of vulture capitalists and wacky Valley libertarians and government spooks and whoever else - built this whole big crazy thing out of that 1990s Internet and...I don't like it any more
I actually don't use the internet the same way I used to. Now, I typically interact with it through a text-based version of the content collected through a commandline utility integrating Lynx.
like me I don't think this guy really dislikes computers, but modern information systems and their role in society
which is fine, because it is getting cumbersome now, especially with how smartphones have become so ubiquitous that they're practically a required tool to live a normal human life
Well, I do. One from a Spanish scientific foundation (Naukas), and another one from libre culture based ones, such as The Red Panda.
A smartwatch, a virtual synthesizer, and IoT switches will invariably fail to respond immediately one day. And because of that I will always activate them with anxiety.
That's why I don't like computers.
That you cannot have a program that will decide if arbitrary theoretical programs halt on arbitrary inputs has no bearing on how well specific real-world software is able to deal with real-world inputs. You can have a smartwatch, a virtual synthesizer and IoT switches that are guaranteed to have a fixed upper response time for the tasks they are designed for. That they don't provide these guarantees is only because most users prefer a device that works 99% of the time but is much cheaper.