- GNOME removed all UI controls for setting solid color backgrounds, but still technically supports it if you manually set a bunch of config keys — which seem to randomly change between versions (see: https://www.tc3.dev/posts/2021-09-04-gnome-3-solid-color-bac...).
The pattern here seems pretty clear: a half-baked feature kept alive for niche users, rather than either properly supporting or cleanly deprecating it. Personally, I’d love to simply set an RGB value without needing to generate a custom image. But given the state of things, I’d rather have one solid, well-maintained wallpaper system than flaky background color logic that’s barely hanging on.
nandomrumber 2 hours ago [-]
I recently acquired a ThinkStation P910 dual CPU Xeon E26xx with 64GB RAM and 1080GTX
Quite a capable machine for my uses.
Not supported in Windows 11. Maybe with some additional config? Can’t be bothered with something hat might turn out to be fragile and need more maintenance than I can be bothered with. That’s a young man’s gane.
Ok, I’m about due to give Linux another tickle anyways.
Hmm, which distro… can always give a few a spin.
Keep it simple, Pop!_OS.
Installed fast, no issues, runs fine, stable. Seems entirely usable.
Customisations? Nah, keep it simple.
I’ll set a black background though.
Nope.
RedShift1 2 hours ago [-]
Par for the course with Gnome though, if you like customization, KDE is better.
loftsy 1 hours ago [-]
Just make a black png and use it as the background?
methuselah_in 2 hours ago [-]
go with gnome fedora! and rest will be history or debian stable.
ohgr 1 hours ago [-]
As much as I'd like a machine like that, my 5 year old random Lenovo 10500 desktop is probably more useful as a daily driver machine than an older workstation class machine at the sacrifice of no ECC RAM. I bought it when it was 3 years old and will use it for 4 years then get rid of it before it hits the tail end, the power supply dies or something else goes wrong. You avoid all the weird problems, the depreciation, the energy costs running like that. And you gain things like relatively competent NVMe slots, USB-C and other luxuries. And the single core performance is better than Xeons of the era and earlier.
win11 ltsc works perfectly on it. With a solid background :D
MartinGAugustin 1 hours ago [-]
Replace Windows. Alternative Operating System (OS), for Performance computing.
KDE Plasma (on any distro I guess) has clear, easy to reach and easy to use settings for this.
necovek 4 hours ago [-]
It's funny to see this: after avoiding the Windows world for the last 25 years, back in the corporate world in the last few, I see this pattern with Microsoft tools all the time.
Teams not loading due to security issues, but notifications coming through with full content of messages. Ability to type a handful of words in cloud version of Word (or paste full documents) before security check catches up and requires me to set up a sensitivity label. Etc.
It mostly tells me about MS doing very bad software architecture for web apps, though apparently the desktop apps are not immune to it either.
Enginerrrd 4 hours ago [-]
It's not just MS. I think they might have fixed it now, but my personal favorite was when Google photos would send me a notification with a preview of an AI generated album of my photos they made for me even though the app did not now, nor ever have permissions (on Android) to look at said photos. And it too would then "catch up" and ask permission to see my files and I'd say "no" and then the preview would go away.
kn0where 3 hours ago [-]
Similar with google docs, if you share a link to a doc, even if the doc is restricted access, anyone can see the thumbnail icon with the contents of page 1.
harrall 2 hours ago [-]
I swear 70% of my value at work is pointing out details like this during meetings when no one else will… before we build it.
necovek 2 hours ago [-]
In this particular issue, MS has an opposite problem: you grab a document link, grant a permission to someone, and they still can't access the document through the original link (you need to fetch a new link just for them).
(Not the same guy but) I've definitely heard about this bug in the past, but I assume it is fixed now. I can't actually find a reference for it. If I find one within the hackernews comment edit window I'll add it here.
dns_snek 2 hours ago [-]
That's odd, were you synchronizing your photos to Google Photos[1] in any way, from any device? Presumably they would've had to be synchronized to Google at some point for them to generate an album of said photos.
The team that wrote the preview portion of the app is a different team to the one that wrote the permission requesting part. They communicate asynchronously (as a team/org, but this probably is reflected in the app's architecture!), which means the outcome is eventually consistent! But you managed to observe one of those inconsistent cases!
xigoi 3 hours ago [-]
“Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.” —Melvin Conway
bandrami 3 hours ago [-]
I've heard this was the secret to AWS's taking off twenty years ago: Bezos told the various teams they can only interact with each other as if they were vendors and customers to each other.
mzi 3 hours ago [-]
It was formulated a little different. But this was the 2002 mandate:
1. All teams will henceforth expose their data and functionality through service interfaces.
2. Teams must communicate with each other through these interfaces.
3. There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
4. It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter.
5. All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
6. Anyone who doesn’t do this will be fired.
7. Thank you; have a nice day!
jodrellblank 1 hours ago [-]
Source: Steve Yegge’s “Amazon understand platforms and Google doesn’t” rant - copy found at https://gist.github.com/chitchcock/1281611 among others, since it was originally posted on Google+ and link-rotted.
Number 7 is a joke, etc.
rob74 55 minutes ago [-]
Then maybe the default value for "permission to access photos" should be no, so they can only start accessing them after you give them permission. But yeah, with stuff like this it's always "opt-out", never "opt-in", unless someone forces them to...
necovek 3 hours ago [-]
Yes! So many times observed that there is a name for it (Conway's law), teams having limited touchpoints obviously leads to such impedance mismatches.
garbagewoman 3 hours ago [-]
The team that wrote the preview portion just accessed the photos with elevated permissions if permission wasn’t granted yet? That doesn’t make any sense
TeMPOraL 3 hours ago [-]
I imagine the preview was generated server-side, where permissions granted to apps don't matter.
marssaxman 3 hours ago [-]
Oh, god, no, it makes complete sense. Somebody has to code the permissions in, after all...
2 hours ago [-]
mbrumlow 3 hours ago [-]
Yah. But I would think the permissions would be a OS level thing that can’t be bypassed simply because Google also wrote the app.
TeMPOraL 1 hours ago [-]
Google Photos is not a mobile app. Google Photos is a SaaS webapp that happens to have a companion app for Android. Whatever OS-level settings affect the Android app itself, they have no bearing on what Google Photos the SaaS can or cannot do.
chii 3 hours ago [-]
it's very easy to imagine the scenario where this happens.
Those photos may have already been uploaded to google's web servers (from my understanding, this happens with google photos by default?), from which a preview has been generated. The permission is at the android app level, and is requested at some point to ensure that the permission model is respected from the POV of the user. I can imagine the permission request being out of sync!
1 hours ago [-]
marssaxman 3 hours ago [-]
What OS? The one Google wrote, underlying these services?
cornholio 55 minutes ago [-]
The most annoying one is that Windows machines have lost the ability for deep sleep. Laptops that slept perfectly 5 years ago are now left as 24/7 zombies, with the CPU, fans and hard disks running non stop.
I'm certain that some idiotic change just like the ones suggested in the article destroyed this perfectly working feature, and nobody is bothered to fix it because it would impact the latest harebrained scheme to make my 10 year laptop do AI in its sleep and suggest helpful ads about the things it couldn't help overhear while "sleeping".
analog31 5 hours ago [-]
This relates to something that might have started around that time: The practice of displaying the splash screen for a finite time period, then showing the user environment before the software was fully started. It was suspected that both OS's and apps were doing this, because people notice when "the app takes too long to load."
Now you have to guess whether the software has really loaded or not before you start using it.
cosmicgadget 5 hours ago [-]
Or, in the corporate information systems world, we have to wait for the half-dozen security and monitoring systems to get done scanning memory and blocking while painstakingly logging to the clould. Only then do you get to watch a catatonic UI thread idly wait for every last piece of the underlying software to load.
ffsm8 5 hours ago [-]
Not only do they forbid devs to use Linux on their dev machines, they then proceed with cb.exe etc. Nothing shows how they value your time quiet as much as these artificial slowdowns they love to introduce. (Along with gigantic privacy issues, as it allows the employer to essentially look at a live feed of your desktop whenever they want)
I could understand it if your device needed special access (VPN to prod etc), but you usually can't do that either from the dev machines - and need to first connect to a virtual machine (via browser or rdp) to be able to do that...
analog31 5 hours ago [-]
Yes and everything hangs because the security software is the last to load.
grishka 3 hours ago [-]
It's clear to me that the intent with this 30-second timeout was that it's better for you to have a possibly half-broken but at least somehow usable desktop than be stuck with the loading screen forever, having to boot into a different OS to try to fix your main one.
chii 3 hours ago [-]
> showing the user environment before the software was fully started.
and it has migrated to web apps today - where doing something causes the UI to show a loading/progress wheel, but it takes forever in actuality (or on start up of the webpage, you get a blank screen with placeholder bars/blurred color images etc).
And this is the so-called responsive design...
forgotusername6 3 hours ago [-]
What would you suggest? Is it better to wait until the whole app is loaded to show anything? Or is the only solution to fix loading times in the first place?
arkh 2 hours ago [-]
> Or is the only solution to fix loading times in the first place?
Ding! Ding! Ding! We got a winner!
Yeah, maybe we could expect machines which got 40 years of Moore's law to give you an experience at least as snappy as what you got on DOS apps.
tonyedgecombe 3 hours ago [-]
I'd be happy to get a progress wheel, half the time it is a blank page.
cowsandmilk 5 hours ago [-]
Eh, in a case like this, without the 30 second “assume loaded” timeout, the system would be forever stuck in the loading screen for those impacted by the bugs. Sometimes it is better for your users to be optimistic that the system did indeed load.
mattnewton 5 hours ago [-]
Then maybe they would have caught the error in a preview release / QA
analog31 5 hours ago [-]
Of course I'm not your typical user, but I'd rather see the error log.
est 53 minutes ago [-]
Offtopic I really liked the auto-refreshing "Windows Spotlight" wallpaper on logon screen. I even wrote a script to sync it as my desktop wallpaper.
But on my Win10 it stopped working idk why, so I wrote a script to download Bing Image of the Day instead: https://blog.est.im/2025/stdout-03
xnx 50 minutes ago [-]
There's an official Bing Wallpaper App (https://www.bing.com/apps/wallpaper) for this, but it has all kinds of nuisances / dark patterns to switch your default browser to Edge and other nefarious things.
est 38 minutes ago [-]
there's RSS and JPEG directly available for download so nah, I'd stick with few lines of script instead of a bloated app.
adithyassekhar 27 minutes ago [-]
11 can set spotlight as the desktop wallpaper.
90s_dev 6 hours ago [-]
> Also, I tend to stick with default configurations because it makes bug filing easier.
I've learned to use default configurations pretty much everywhere. It's far too much of a hassle to maintain customizations, so it's easiest to just not care. The exception is my ~50 lines of VS Code settings I have sync'd in a mysterious file somewhere that I've never seen, presumably on github's servers, but not anywhere I can see?
skydhash 5 hours ago [-]
I only depends on an handful of tools (emacs, vim, lf, mpv, fish, foot,…) so I took the time to configure them and then just store the config in a git repo I sync everywhere. For personal computers I use stow. For remote machines, I just copy-paste. The nice thing is that those tools are so stable I could move to Debian stable and be OK.
TheDong 5 hours ago [-]
Reproducible self-contained configurations give most of the same benefit for bug filing.
Just your regular reminder that nix is good actually.
"I have a bug, you can get a full VM that reproduces it with 'nixos-rebuild build-vm --flake "github:user/repo#test-vm" && ./result/bin/run-*-vm'"
And the code producing that VM isn't just a binary blob that's a security nightmare, it's plain nix expressions anyone can read (basically json with functions).
And of course applying it to a new machine is a single command too.
nothrabannosir 4 hours ago [-]
<3
(Would it be pedantic of me to say that I receive my fair share of bug reports on nix code I maintain, and when someone sends me their entire nixosConfig the very first thing I do is punt it back with a "can you please create a minimal reproducible configuration"? :D but your point stands. I think. I like to think.)
eviks 3 hours ago [-]
Using bad defaults is also a hassle, and you do it way more often than maintaining customizations
akst 5 hours ago [-]
Even the best crafted systems, I think you'll also find there are just more synergies between different system features in the default configuration.
squigz 6 hours ago [-]
> It's far too much of a hassle to maintain customizations
Is it? The vast majority of the time, I change settings/set things up the way I want, and then... leave them for literally years. Hell, I can directly restore a backup I have of Sublime Text from years ago and my customizations will work.
optymizer 5 hours ago [-]
It is. I used to customize everything. On Windows 95/98/2000/XP - custom cursors, themes, icon packs, custom Windows loading screen, the works. When I used KDE (and Gnome for a while) and compiz came out, I enjoyed flaming windows. Same story - custom icon packs, make grub menu look nice, hell, custom kernels compiled for my CPU, etc.
Somewhere along the way I lost interest in customizing the OS. These days I routinely switch between MacOS, Windows and various Linux flavors on lots of computers. The only thing I may customize is I write my .vimrc from memory.
On my Android phones, I change the wallpaper and I disable animations. Otherwise, stock everything.
Now that I think about it, it can't be the time saved, surely I waste more time on HN. It likely correlates more with using computers for work as opposed to for fun and learning. Even the learning I do these days is rather stressful - if I can steal an hour or two on the weekend, I feel lucky, so spending time to customize the environment seems like a waste.
Maybe if life slows down, I'll find joy in customizing my OSes again.
90s_dev 5 hours ago [-]
Yes, I have the same history customizing everything! From Windows 3.11 to XP to Linux, and then giving up because life gets busy.
On the note of programming not being fun anymore, that's exactly why I'm making my secret project that I hope to release very very soon, maybe in a week or so. I want to make programming fun again, in a similar way that pico8 did, but x100.
squigz 5 hours ago [-]
> It is. I used to customize everything. On Windows 95/98/2000/XP - custom cursors, themes, icon packs, custom Windows loading screen, the works.
> I have the same history customizing everything! ... then giving up because life gets busy.
I think this might be why some people have such different experiences. I don't try to customize "everything" - just what needs to be. Like, yeah, I would expect it to be difficult to maintain random Explorer customizations. I would not expect it to be difficult to maintain customization for a popular IDE.
progmetaldev 4 hours ago [-]
I am with you, customizing your daily tools and saving those configurations is far different from customizing every visual element of your operating system. Being able to reproduce your environment is definitely a worthy goal, but at the same time, I think you'd be limiting yourself by not configuring your production software to your own liking/most-efficient way you work.
3036e4 3 hours ago [-]
One of the few things I do bother to configure is my window manager, but only because it happens to be well designed and make it easy to store all configuration in my config git repo.
Too much software put host-specific stuff in settings files (like absolute paths) or just are not stable enough in general that it is worth trying to maintain a portable configuration.
Larrikin 5 hours ago [-]
Eh, I find a computer not customized to my work flow to be a waste of time. The amount of time I spend using someone else's computer is such a small amount of time.
90s_dev 5 hours ago [-]
Most of the time, yes. I maintained my vimrc for maybe 10-15 years before I gave up on it.
The hard part of maintaining a config is that there's no such thing as cost-free usage, it always takes a mental toll to change a config, to learn a new config, to remember which configs are in use and what they do, to backup configs, or at least to setup and maintain a config-auto-backup flow.
By far, the easiest mental model is just learning how everything works out of the box, and getting used to it. Then again, sometimes what people want is to do things the hard way for its own sake. That's probably part of why I kept going back to C over and over for so many years.
3036e4 3 hours ago [-]
I don't know vim well. Why is it not easy to just keep using the same settings?
The oldest parts of my emacs config go back at least 30 years and I have had it in a git repo for ~15. I keep my entire .emacs.d versioned, including all third-party packages I depend on (so no fetching of anything from the cloud).
Have had to do at most minimal changes when upgrading to newer versions and with some tiny amount of work the same config still works for emacs from around version 21 to 31 (but features are of course missing in older versions).
lp0_on_fire 6 hours ago [-]
Agreed. I had a professor once who would say “The defaults were put there by people who probably know more about the software than you”. As long as you understand what the defaults are doing sometimes it’s more hassle messing with every option under the sun.
meroes 6 hours ago [-]
Same except my teacher’s version was “just hit next/yes” for every option when installing software, in an era before that’d get you Adobe Reader and McAfee malware.
userbinator 1 hours ago [-]
These days the defaults are almost certainly oriented towards controlling or extracting the most value from you, be it invasive spyware, constant intrusions, or sub-optimal UI.
bandie91 40 minutes ago [-]
those are the same people who let the user change those settings.
user3939382 6 hours ago [-]
It’s probably best decided as a function of frequency. For tools I’m using every day, I know every setting.
josephg 1 hours ago [-]
To me, this falls in the category of bugs I think of as "systemic bugs" or "type bugs". If login components were passed a token, then you could make the token's destructor automatically flag that the process is done. Then this bug would be more-or-less impossible to write.
Because they made it a runtime thing - "components just have to remember to do this", the code structure itself affords this bug.
There was a similar bug at facebook years ago where the user's notification count would say you had notifications - and you click it, and there aren't any notifications. The count was updated by a different code path than the code which inserted notifications in the list, and they got out of sync. They changed the code so both the notification count & list were managed by the same part of the system, and the all instances of the bug went away forever.
nly 11 minutes ago [-]
Bad notification icons happen on Reddit all the time. I've always assumed it was just bad caching
alex-mohr 5 hours ago [-]
The code in question reminds me a lot of my favorite Kubernetes bug:
if (request.authenticationData) {
ok := validate(etc);
if (!ok) {
return authenticationFailure;
}
}
Turns out the same meme spans decades.
jve 2 hours ago [-]
Where can I read about the bug? And what is the bug? If there is no authenticationData it is authenticated by default or what?
DHRicoF 53 minutes ago [-]
I don't know where you can read about this, but you are in the good track
If there is no authenticationData then the if !Ok is never run and the code continues execution as it were authenticated.
grumpyprole 2 hours ago [-]
The way software is built hasn't changed in decades.
sightofcorbie 6 hours ago [-]
“Comfort food”. That’s so funny. I still use motif window manager with steelblue4 desktop and wheat xterm background since aix into Linux. That was my first default in 1989 college and nothing has improved since. (Gnome, kde and the like make me want to upchuck).
flomo 44 minutes ago [-]
You just have awful taste, but so do a lot of my friends. :)
CorpOverreach 6 hours ago [-]
My "comfort food" in this article is the realization that no matter how big, how advanced a team can be -- we all make (and ship) really dumb changes to production. A bolted-on wrapper if() statement that spans a bit too far is classic.
kirenida 4 hours ago [-]
"Nothing has improved since". That's so funny.
toast0 3 hours ago [-]
What's the biggest thing that's improved? We have 4x the pixels, so we spend 4x the rendering time to draw everything with 4x as many pixels, when it works, and complain when it doesn't.
Would have been easier to stick with the pixel density we had.
Oh, and we have to wait a frame to see everything because of compositing that I still don't quite understand what it's supposed to do? Something something backing store?
90s_dev 6 hours ago [-]
I have a certain nostalgia for bb4win, which I learned about during college, and was my first introduction to linux. Nostalgia is a powerful drug.
ryao 6 hours ago [-]
What will you do when you want to use a 4K monitor? This is not to be dismissive. I am genuinely curious if HiDPI works on motif.
tedunangst 3 hours ago [-]
You would set an appropriate size in .Xresources or somesuch.
suyula 4 hours ago [-]
I can't speak for Motif but Fluxbox works fine on my 4K monitor
pdpi 5 hours ago [-]
A bit meta, but I've come to look forward to the "Why did <bizarre behaviour> happen with <windows version>" headlines that herald a Raymond Chen post. These are always fascinating.
zombot 32 minutes ago [-]
If-Then Considered Harmful.
Seeing how that complicated if-then logic is just too stiff a challenge to your average developer, we should probably just dispense with it.
shriracha 5 hours ago [-]
Great read. Raymond Chen's blog is absolutely legendary.
Nition 4 hours ago [-]
I've noticed a current problem in Win 11 where if you start your PC with the monitor off, let it get to the login screen, then turn the monitor on, you get a terribly low-res version of your login window background. I suspect it's taking some fallback default resolution like 800x600 and serving up an "optimised" version of the background for that res, then not updating it.
emmelaich 1 hours ago [-]
I really love the last paragraph. I tell this to people fiddling with their system all the time.
Typical response is "Well it should just work anyway!". Which is theoretically true -- the worst kind of true.
matejn 1 hours ago [-]
On my Windows 10 work machine, solid color backgrounds sometimes get reset to black after connecting to it via RDP. I "fixed" it by creating a solid color .png and using it as a background picture ...
bandie91 37 minutes ago [-]
rdp client actually has an option to remove the remote desktop's wallpaper
vlovich123 3 hours ago [-]
This is a structural problem in the code. The passed in handle to `DesktopIconsReady` should auto Report as soon as it's dropped. That completely obviates any of the problems of conditional logic.
Some additional examples beyond the OP:
- In the latest macOS, trying to set a custom solid color background just gives you a blinding white screen (see: https://discussions.apple.com/thread/256029958?sortBy=rank).
- GNOME removed all UI controls for setting solid color backgrounds, but still technically supports it if you manually set a bunch of config keys — which seem to randomly change between versions (see: https://www.tc3.dev/posts/2021-09-04-gnome-3-solid-color-bac...).
The pattern here seems pretty clear: a half-baked feature kept alive for niche users, rather than either properly supporting or cleanly deprecating it. Personally, I’d love to simply set an RGB value without needing to generate a custom image. But given the state of things, I’d rather have one solid, well-maintained wallpaper system than flaky background color logic that’s barely hanging on.
Quite a capable machine for my uses.
Not supported in Windows 11. Maybe with some additional config? Can’t be bothered with something hat might turn out to be fragile and need more maintenance than I can be bothered with. That’s a young man’s gane.
Ok, I’m about due to give Linux another tickle anyways.
Hmm, which distro… can always give a few a spin.
Keep it simple, Pop!_OS.
Installed fast, no issues, runs fine, stable. Seems entirely usable.
Customisations? Nah, keep it simple.
I’ll set a black background though.
Nope.
win11 ltsc works perfectly on it. With a solid background :D
Based on: Arch. Init: systemd. https://cachyos.org
Based on: Debian. Init: Non-systemd. https://www.devuan.org
Based on: Arch. Init: systemd. https://garudalinux.org
Based on: Independent. Init: Non-systemd. https://www.gentoo.org
Based on: Red Hat Fedora. Init: systemd. https://nobaraproject.org
Teams not loading due to security issues, but notifications coming through with full content of messages. Ability to type a handful of words in cloud version of Word (or paste full documents) before security check catches up and requires me to set up a sensitivity label. Etc.
It mostly tells me about MS doing very bad software architecture for web apps, though apparently the desktop apps are not immune to it either.
[1] https://photos.google.com/
1. All teams will henceforth expose their data and functionality through service interfaces.
2. Teams must communicate with each other through these interfaces.
3. There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
4. It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter.
5. All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
6. Anyone who doesn’t do this will be fired.
7. Thank you; have a nice day!
Number 7 is a joke, etc.
Those photos may have already been uploaded to google's web servers (from my understanding, this happens with google photos by default?), from which a preview has been generated. The permission is at the android app level, and is requested at some point to ensure that the permission model is respected from the POV of the user. I can imagine the permission request being out of sync!
I'm certain that some idiotic change just like the ones suggested in the article destroyed this perfectly working feature, and nobody is bothered to fix it because it would impact the latest harebrained scheme to make my 10 year laptop do AI in its sleep and suggest helpful ads about the things it couldn't help overhear while "sleeping".
Now you have to guess whether the software has really loaded or not before you start using it.
I could understand it if your device needed special access (VPN to prod etc), but you usually can't do that either from the dev machines - and need to first connect to a virtual machine (via browser or rdp) to be able to do that...
and it has migrated to web apps today - where doing something causes the UI to show a loading/progress wheel, but it takes forever in actuality (or on start up of the webpage, you get a blank screen with placeholder bars/blurred color images etc).
And this is the so-called responsive design...
Ding! Ding! Ding! We got a winner!
Yeah, maybe we could expect machines which got 40 years of Moore's law to give you an experience at least as snappy as what you got on DOS apps.
But on my Win10 it stopped working idk why, so I wrote a script to download Bing Image of the Day instead: https://blog.est.im/2025/stdout-03
I've learned to use default configurations pretty much everywhere. It's far too much of a hassle to maintain customizations, so it's easiest to just not care. The exception is my ~50 lines of VS Code settings I have sync'd in a mysterious file somewhere that I've never seen, presumably on github's servers, but not anywhere I can see?
Just your regular reminder that nix is good actually.
"I have a bug, you can get a full VM that reproduces it with 'nixos-rebuild build-vm --flake "github:user/repo#test-vm" && ./result/bin/run-*-vm'"
And the code producing that VM isn't just a binary blob that's a security nightmare, it's plain nix expressions anyone can read (basically json with functions).
And of course applying it to a new machine is a single command too.
(Would it be pedantic of me to say that I receive my fair share of bug reports on nix code I maintain, and when someone sends me their entire nixosConfig the very first thing I do is punt it back with a "can you please create a minimal reproducible configuration"? :D but your point stands. I think. I like to think.)
Is it? The vast majority of the time, I change settings/set things up the way I want, and then... leave them for literally years. Hell, I can directly restore a backup I have of Sublime Text from years ago and my customizations will work.
Somewhere along the way I lost interest in customizing the OS. These days I routinely switch between MacOS, Windows and various Linux flavors on lots of computers. The only thing I may customize is I write my .vimrc from memory.
On my Android phones, I change the wallpaper and I disable animations. Otherwise, stock everything.
Now that I think about it, it can't be the time saved, surely I waste more time on HN. It likely correlates more with using computers for work as opposed to for fun and learning. Even the learning I do these days is rather stressful - if I can steal an hour or two on the weekend, I feel lucky, so spending time to customize the environment seems like a waste.
Maybe if life slows down, I'll find joy in customizing my OSes again.
On the note of programming not being fun anymore, that's exactly why I'm making my secret project that I hope to release very very soon, maybe in a week or so. I want to make programming fun again, in a similar way that pico8 did, but x100.
> I have the same history customizing everything! ... then giving up because life gets busy.
I think this might be why some people have such different experiences. I don't try to customize "everything" - just what needs to be. Like, yeah, I would expect it to be difficult to maintain random Explorer customizations. I would not expect it to be difficult to maintain customization for a popular IDE.
Too much software put host-specific stuff in settings files (like absolute paths) or just are not stable enough in general that it is worth trying to maintain a portable configuration.
The hard part of maintaining a config is that there's no such thing as cost-free usage, it always takes a mental toll to change a config, to learn a new config, to remember which configs are in use and what they do, to backup configs, or at least to setup and maintain a config-auto-backup flow.
By far, the easiest mental model is just learning how everything works out of the box, and getting used to it. Then again, sometimes what people want is to do things the hard way for its own sake. That's probably part of why I kept going back to C over and over for so many years.
The oldest parts of my emacs config go back at least 30 years and I have had it in a git repo for ~15. I keep my entire .emacs.d versioned, including all third-party packages I depend on (so no fetching of anything from the cloud).
Have had to do at most minimal changes when upgrading to newer versions and with some tiny amount of work the same config still works for emacs from around version 21 to 31 (but features are of course missing in older versions).
Because they made it a runtime thing - "components just have to remember to do this", the code structure itself affords this bug.
There was a similar bug at facebook years ago where the user's notification count would say you had notifications - and you click it, and there aren't any notifications. The count was updated by a different code path than the code which inserted notifications in the list, and they got out of sync. They changed the code so both the notification count & list were managed by the same part of the system, and the all instances of the bug went away forever.
If there is no authenticationData then the if !Ok is never run and the code continues execution as it were authenticated.
Would have been easier to stick with the pixel density we had.
Oh, and we have to wait a frame to see everything because of compositing that I still don't quite understand what it's supposed to do? Something something backing store?
Seeing how that complicated if-then logic is just too stiff a challenge to your average developer, we should probably just dispense with it.
Typical response is "Well it should just work anyway!". Which is theoretically true -- the worst kind of true.