upvote
> other than AI stuff, where does a non powerful computer limit you?

Running Electron apps and browsing React-based websites, of course.

reply
For real. Once I've opened Spotify, Slack, Teams, and a browser about 10GB of RAM is in use. I barely have any RAM left over for actual work.
reply
I keep wondering why we can't have 2000s software on today's hardware. Maybe because browsers are de facto required to build apps?
reply
We could, but most of the 2000s developers are gone. Or, we no longer have developers left with 2000s attitudes and approaches to software development.
reply
I think that is a little bit unfair. I think plenty of developers, myself included wouldn't mind or would like to do native applications. Every time someone does those, a mountain of people ask "why" and "this shoulda/coulda been a web app." And some of that is somewhat reasonable. It's easier to achieve decent-ish cross platform. But also tons of consumers also just don't wanna download and install applications unless it comes from an App Store. And even then, it's iffy. Or most often the case, it's a requirement of the founders/upper management/c-suite. And lets be honest, when tons of jobs ask for reactive experience or vue.js, what motivates developers to learn GTK or Qt or Winforms or WinUI3?
reply
Yep. I graduated in 2017 and jobs were already mostly web. I’d love to work on native applications but nobody is hiring for that and of course because nobody is hiring for that I don’t have a job like that and the Qt I learnt in university is not gonna get any more relevant over time but I don’t have a good reason to keep that skill up to date and if I have to solve a problem I might as well write a TUI or CLI application because that’s easier than Qt or whatever…
reply
It's also reasonable from a business point of view to say "we can't justify the investment to optimize our software in the current environment." I assume this is what's happening - people are trying to get their products in customers hands as quickly as possible, and everything else is secondary once it's "good enough." I suspect it's less about developers and more about business needs.

Perhaps the math will change if the hardware market stagnates and people are keeping computers and phones for 10 years. Perhaps it will even become a product differentiator again. Perhaps I'm delusional :).

reply
Real talk.

Well, some of the "old school" has left the market of natural causes since the 2000s.

That only leaves the rest of 'em. Wer dey go, and what are your top 3 reasons for how the values of the 2000s era failed to transmit to the next generation of developers?

reply
There's no market for it.
reply
deleted
reply
That’s why I only run those on work computers (where they are mandated by the company). My personal computers are free of these software.
reply
I rarely doge a chance to shit on Microslop and its horrible products, but you don't use a browser? In fact, running all that junk in a single chromium instance is quite a memory saver compared to individual electron applications.
reply
It's not just electron apps or browsers, as I'd argue modern .NET apps are almost as bad.

I have an example.

I use Logos (a Bible study app, library ecosystem, and tools) partially for my own faith and interests, and partially because I now teach an adult Sunday school class. The desktop version has gotten considerably worse over the last 2-3 years in terms of general performance, and I won't even try to run it under Wine. The mobile versions lack many of the features available for desktop, but even there, they've been plagued by weird UI bugs for both Android and iOS that seem to have been exacerbated since Faithlife switched to a subscription model. Perhaps part of it is their push to include AI-driven features, no longer prioritizing long-standing bugs, but I think it's a growing combination of company priorities and framework choices.

Oh, for simpler days, and I'm not sure I'm saying that to be curmudgeonly!

reply
I use a browser at home, but I don't use the heaviest web sites. There are several options for my hourly weather update, some are worse than others (sadly I haven't found any that are light weight - I just need to know if it would be a thunderstorm when I ride my bike home from work thus meaning I shouldn't ride in now)
reply
Yr.no [1] is free, and available in English. Thanks to Norway. Apps available as well.

https://en.wikipedia.org/wiki/Yr.no

reply
Try Quickweather (with OpenMeteo) if you're on Android. I love it.

https://f-droid.org/en/packages/com.ominous.quickweather/

reply
I'm giving up on weather apps bullshit at this point, and am currently (literally this moment) making myself a Tasker script to feed hourly weather predictions into a calendar so I can see it displayed inline with events on my calendar and most importantly, my watch[0] - i.e. in context it actually matters.

--

[0] - Having https://sectograph.com/ as a watch face is 80%+ of value of having a modern smartwatch to me. Otherwise, I wouldn't bother. I really miss Pebble.

reply
fun fact, you can kill all firefox background processes and basically hand-crash every tab and just reload the page in the morning. I do this every evening before bed. `pkill -f contentproc` and my cpu goes from wheezing to idle, as well as releasing ~8gb of memory on busy days.

("Why don't you just close firefox?" No thanks, I've lost tab state too many times on restart to ever trust its sessionstore. In-memory is much safer.)

reply
Yeah, I found this out the other day when my laptop was toasting. In hindsight, probably related to archive.today or some Firefox extension.

You have to close Firefox every now and then for updates though. The issue you describe seems better dealt with on filesystem level with a CoW filesystem such as ZFS. That way, versioning and snapshots are a breeze, and your whole homedir could benefit.

reply
FWIW: the Tab Stash extension has worked well for me.
reply
Why would I need a browser to play music? Or to send an email? Or to type code? My browser usage is mostly for accessing stuff on someone else’s computer.
reply
The only subscription I have is Spotify, since there's no easy way that I know of to get the discoverability of music in a way that Spotify allows it.

For the rest: I agree with you.

reply
lastfm is still a great way to discover music, countless times I've gotten great recs from a music neighbor.
reply
Plex or Jellyfin client access.
reply
mpv + sshfs is the way.
reply
I kind of hate how the www has become this lowest common denominator software SDK. Web applications are almost always inferior to what you could get if you had an actual native application built just for your platform. But we end up with web apps because web is more convenient for software developers and it's easier to distribute. Everything is about developer convenience. We're also quickly running out of software developers who even know how to develop and distribute native apps.

And when, for whatever reason, having a "desktop application" becomes a priority to developers, what do they do? Write it in Electron and ship a browser engine with their app. Yuuuuuuck!

reply
We have an open, universal application platform. That alone is something to celebrate.
reply
Yeah it's awful. Web apps are slower, they don't integrate well with the system, they are inaccessible if the network is down. A native app has to be truly abysmal to be worse than a web app. But far too many developers simply do not care about making something good any more. There's no pride in one's work, just "web is easier for the developer". And of course the businesses producing software are all about that, because they are run by people with a business ethic of "make the product as cheaply as possible, ignore quality". It's a very sad state of affairs.
reply
Seems like the perfect target for ESG.
reply
Companies love externalizing the costs of making efficient software onto consumers, who need to purchase more powerful computing hardware.
reply
If only. At work I've got a new computer, replacing a lower-end 5-yo model. The new one has four times the cores, twice the RAM, a non-circus-grade ssd, a high-powered cpu as opposed to the "u" series chip the old one has.

I haven't noticed any kind of difference when using Teams. That piece of crap is just as slow and borken as it always was.

reply
> If only. At work I've got a new computer, replacing a lower-end 5-yo model. The new one has four times the cores, twice the RAM, a non-circus-grade ssd, a high-powered cpu as opposed to the "u" series chip the old one has.

> I haven't noticed any kind of difference when using Teams.

If the device is a laptop, also the thermal design (or for laptops that are in use: whether there is dust in the ventilation channels (in other words: clean the fans)) is very important for the computer to actually achieve the performance that the hardware can principally deliver.

reply
Yeah people love to shit on electron and such but they're full of crap. It doesn't matter one bit for anything more powerful than a raspberry pi. Probably not even there. "Oh boo hoo chrome uses 2 gigs of ram" so what you have 16+ it doesn't matter. I swear people have some weird idea that the ideal world is one where 98% of their ram just sits unused, like the whole point of ram is to use it but whenever an application does use it people whine about it. And it's not even like "this makes my pc slow" it's literally just "hurr durr ram usage is x" okay but is there an actual problem? Crickets.
reply
I have no issues with browsers specifically having to use a bunch of resources. They are complicated as fuck software, basically it's own operating system. Same for video games or programs that do heavy data processing.

The issue is with applications that have no business being entitled to large amount of resources. A chat app is a program that runs in the background most of the time and is used to sporadic communication. Same for music players etc. We had these sorts of things since the 90's, where high end consumer PCs hat 16mb RAM.

reply
"chrome uses 2gb of ram"

these days individual _tabs_ are using multiple gb of ram.

reply
Don't know about chrome, but Firefox has an about:memory special page that will let you know which tabs are using the most ram. Of all the sites I use, youtube is the only culprit. When I am done watching a video, I use the about:memory to kill the associated process (doesn't destroy the tab (in case I want to come back to it)). I assume it is all the javascript cruft.
reply
The issue isn't usage, it's waste. Every byte of RAM that's used unnecessarily because of bloated software frameworks used by lazy devs (devs who make the same arguments you're making) is a byte that can't be used by the software that actually needs it, like video editing, data processing, 3D work, CAD, etc. It's incredibly short sighted to think that any consumer application runs in a vacuum with all system resources available to it. This mindset of "but consumers have so much RAM these days" just leads to worse and worse software design instead of programmers actually learning how to do things well. That's not a good direction and it saddens me that making software that minimizes its system footprint has become a niche instead of the mainstream.

tl;dr, no one is looking for their RAM to stay idle. They're looking for their RAM to be available.

reply
I dunno man, I have 32gb and I'm totally fine playing games with 50 browser tabs open along with discord and Spotify and a bunch of other crap.

In not trying to excuse crappy developers making crappy slow ad wasteful apps, I just don't think electron itself is the problem. Nor do I think it's a particularly big deal if an app uses some memory.

reply
You're right, Electron is not inherently bad and apps need RAM. There's no getting around that.

The issue with Electron is that it encourages building desktop apps as self-contained websites. Sure, that makes it easier to distribute apps across systems and OSes, but it also means you've got front end web devs building system applications. Naturally, they'll use what they're used to: usually React, which exacerbates the problem. Plus it means that each app is running a new instance of a web browser, which adds overhead.

In real life, yeah, it's rare that I actually encounter a system slowdown because yet another app is running on Electron. I just think that it's bad practice to assume that all users can spare the memory.

I'll admit that my concern is more of a moral one than a practical one. I build software for a living and I think that optimizing resource usage is one way to show respect to my users (be they consumers, ops people running the infra, or whatever). Not to mention that lean, snappy apps make for a better user experience.

reply
Lazy developers can make bad apps that waste RAM no matter what framework. But even conscientious developers cannot make an app with Electron that compares favorably to a native app. Electron is inherently a problem, even if it isn't the only one.
reply
The problem with having 32gb of RAM is that there is no mechanism to power off part of it when it is unneeded (plus RAM constitutes a significant fraction of a device's total power consumption) so if the device is running off a battery and is designed to keep device weight to a minimum (e.g., battery as small as practical), then battery life is not as good as it would be if the device had only 16gb.

This is why the top model of the previous generation of the iPhone (the iPhone 16 Pro Max) has only 8 GB of RAM, bumped to 12 GB for the current top model (the iPhone 17 Pro Max at the higher tiers of additional storage). If Apple had decided to put more RAM than that into any iPhone, even the models where the price is irrelevant to most buyers, they would not have been serving their customers well.

So, now you have to pay a penalty in either battery life or device weight for the duration of your ownership of any device designed for maximum mobility if you ever want to having a good experience when running Electron apps on the device.

reply
The web browser on my phone instantly gets killed the moment I switch to another app because it eats up so much ram.
reply
I think it's a correlation vs causation type thing. Many Electron apps are extremely, painfully, slow. Teams is pretty much the poster child for this, but even spotify sometimes finds a way to lag, when it's just a freaking list of text.

Are they slow because they're Electron? No idea. But you can't deny that most Electron apps are sluggish for no clear reason. At least if they were pegging a CPU, you'd figure your box is slow. But that's not even what happens. Maybe they would've been sluggish even using native frameworks. Teams seems to do 1M network round-trips on each action, so even if it was perfectly optimized assembly for my specific CPU it would probably make no difference.

reply
Nearly all apps are sluggish for a very clear reason - the average dev is ass. It's possible to make fast apps using electron, just like it's possible to make fast apps using anything else. People complain about react too, react is fast as fuck. I can make react apps snappy as hell. It's just crappy devs.
reply
Yea, these applications are typically not slow just because the use Electron (although it's often a contributor). But the underlying reason why they are slow is the same reason why they are using Electron: developer skill.
reply
The people I trust to give good security recommendations (e.g., the leader of the Secureblue project) tell me I should completely avoid Electron (at least on Linux) because of how insecure it is. E.g., the typical Electron app pulls in many NPM packages, for which Electron does zero sandboxing.
reply
It seems like as hardware gets cheaper, software gets more bloated to compensate. Or maybe it’s vice versa.

I wonder if there’s a computer science law about this. This could be my chance!

reply
Is your name Wirth?
reply
Dangit! Always the bridesmaid, never the bride
reply
deleted
reply
Sorry to burst your bubble:

https://en.wikipedia.org/wiki/Wirth%27s_law

Not exactly the same (it's about power rather than price). But close enough that when you said it, I thought, "oh! there is something like that." There's also more fundamental economics laws at play for supply and demand of a resource / efficiencies at scale / etc. Given our ever increasing demand of compute compared increasing supply (cheaper more powerful compute), I expect the supply will bottleneck before the demand does.

reply
Ah, so you think there’s a point where actually bloat slows because we eventually can’t keep up with demand for compute?

I guess this might be happening with LLMs already

reply
That's actually a good point, haha. The worst-case scenario of computers being thin clients for other people's servers dissolves when you realize that chromium/electron IS, nominally, a thin client for HTTP servers, and it'll gladly eat up as much memory as you throw at it. In the long term, modulo the current RAM shortage, it turns out it's cheaper to ship beefy hardware than it is to ship lean software.
reply
This is the way
reply
The big one for me is ballooning dependency trees in popular npm/cargo frameworks. I had to trade a perfectly good i9-based MacBook Pro up to an M2, just to get compile times under control at work.

The constant increases in website and electron app weight don't feel great either.

reply
3D CAD/CAM is still CPU (and to a lesser extent memory) bound --- I do joinery, and my last attempt at a test joint for a project I'm still working up to was a 1" x 2" x 1" area (two 1" x 1" x 1" halves which mated) which took an entry-level CAM program some 18--20 minutes to calculate and made a ~140MB file including G-code toolpaths.... (really should have tracked memory usage....)
reply
That sounds like pretty degenerate behavior. I typically have CAM toolpaths generate in seconds using Fusion or PrusaSlicer.
reply
It's a very complex joint (which is why it's never been done before that I could find --- hopefully will be patentable), and the tool definition probably wasn't optimal, nor the CAM tool being used appropriate to the task, hence my working on developing the toolpaths more directly.
reply
Is that by convention or is there a good reason that it’s so CPU bound? I don’t have experience with CAD, so I’m not sure if it’s due to entrenched solutions or something else.
reply
> Is that by convention or is there a good reason that it’s so CPU bound?

A lot of commercial CAD software exists for a very long time, and it is important for industrial customers that the backward compatibility is very well kept. So, the vendors don't want to do deep changes in the CAD kernels.

Additionally, such developments are expensive (because novel algorithms have to be invented). I guess CAD applications are not that incredibly profitable that as a vendor you want to invest a huge amount of money into the development of such a feature.

reply
My understanding is that the problems being worked on do not yield to breaking down into parallelizable parts in an efficient/easily-calculated/unambiguous fashion.
reply
Simulation, analysis, rendering... All those gobbles memory, CPU, sometimes graphic card. Real time works also: huge data set in real time — sensor for production line or environmental monitoring for example.

For word processing, basic image manipulation, electron app (well...) even the "cheap" Macbook Neo is good enough, and it's a last year phone CPU. But that's not enough for a lot of use case.

reply
> My phone has 16gigs of ram and a terabyte of storage, laptops today are ridiculous compared to anything I studied with.

Most affordable laptops have exactly that, 16gigs of ram and a terabyte of storage. Think about THAT!

reply
I've never have a personal computer that came even close to powerful enough to do what i want. Compiles that take 15 minutes, is really annoying for instance.
reply
>My phone has 16gigs of ram and a terabyte of storage

That's "non powerful" to you?

reply
The opposite. I meant that if this is what consumer grade looks like nowadays, even with a fraction of current flagships we seem well covered - this was less than 800 bucks.
reply
I’d love it if a clean build and test on the biggest project I work in would finish instantly instead of taking an hour.
reply
[dead]
reply