Which software, based on how it is used and what impact it has on the world is most wasteful?
Wasteful meaning perhaps energy consumption, or data requirements, or any other form of "waste".
For further actions, you may consider blocking this person and/or reporting abuse
Electron. I mean, I donβt mind it all that much if a full fledged app that I use a lot uses it, but the moment you use it for an app that flashes disc/disk images, you loose all hope from me.
I don't agree with that. if electron is a waste then vscode, atom and skype for example are also since they are built on electron.
As I see it wasteful doesn't mean useless, could those apps consume less without Electron, of course, are they useless because they use Electron? absolutely no. I haven't use any of them but I've heard a lot of people liking them. Is a Ferrari wasteful? of course, is a bad car? I don't think so.
I can't agree with you. If something is useful it is not a waste anymore. As soon you declare something useful you can't declare it as waste, that's a pretty simple logic. I can't recall last time I had a problem (related to resources consumption) with Electron based applications.
I have to disagree. It is a large difference between waste and wasteful, like @robertojasr. It can be wasteful by using much more system resources than strictly necessary, however, it can still be a great tool. There is a reason I am using Python, which you could argue is wasteful. You could write the same code in C++ and it would most likely be faster and use less memory. I would, of course, argue you are wasting developer time if there aren't constraints on those resources.
To summarize my thoughts are something like this. If something is waste you should just bin it, however, if it is wasteful you need to look into which resources are wasted. Then you can make a desition on whether or not those resources are constrained in your use-case.
Efficacy/Efficiency, the first is about achieving a given result, the second also take into account the resources required. I could use an helicopter to buy bread two blocks away, the goal is achieved, so is effective, but is arguable very wasteful on inefficient.
Wasteful refers to the useless consumption or expenditure, so everything that doesn't directly contributes to the main goal is waste, something can be wasteful without being a complete waste, which only occurs if the goal is not achieved as you mentioned, but "wasteful" doesn't mean is a complete waste, just that have a considerable amount of resources not directed to the main goal. A Ferrari is wasteful but is far from waste. Even this is arguable tho, because depends on what the goal is, if is to impress people a Ferrari may not be wasteful and in fact be very efficient.
About Electron consuming too much is also debatable, to me it is, I tried for about 10min Atom with my usual 10+ files open and consumed much more than Vim doing the same thing, you can argue that Atom does things that Vim can't, I don't know, to my use case is wasteful because I don't care about those potential extra features. As I said, what is or not wasteful depends on everyone goals and criteria.
But the fact is that not because something achieve the goal is not wasteful and that something is wasteful doesn't mean is waste. Just like that something is dusty doesn't mean is dust. That's pretty simple logic.
Bitcoin and the blockchain
I would be specific about blockchain and say cryptocurrency. Blockchain can be used to calculate some important stuff, but as log as it uses only existing device. Not to build farms to calculate chemical thigs whcih might not even help humanity. Best to my knowledge non other implementation than crypto had GPU farms built by average Joes
I agree Bitcoin uses a lot of energy because it uses proof of work (POW) consensus algorithm. Some cryptos gaining in popularity steadily use proof of stake (POS) algorithms and one can participate with old cpu and minimal ram and computer stays mostly idle. So not all cryptocurency is wasteful.
proof of work should be understood as meaning proof of waste
cryptography itself is super useful, for sure.
you don't need to convince me. my colleagues and I at Mautinoa Technologies have built one year ago an offline payment system for countries with poor banking infrastructure. I was asked all the time why we didn't use the Blockchain, and had to reply every time: look,
@jmfayard thanks for the follow up. Seems contradicting to know the difference between POW and POS and actually say "blockchain is wasteful" in your original post.
"Some blockchain projects are wasteful" might be a more appropriate thing to say. Blockchain is not inherently wasterful you need to speak about the consensus algorithm that puts the next block in chain and if that is a wasteful process.
Is that mobile payment system you describe open sourced ? I am genuinely interested to read about seems interesting though.
My initial comment was a hot take in 3 words, not a completly accurate description. Blockchain has valid usages, just no as many as the enthousiasts claim. We were thinking ourselves about building a blockchain between the central bank of Timor Leste and the banks in the country.
I don't work at Mautinoa anymore but you can read about it here
medium.com/@mautinoa_technologies
Web browsers. They're doing something so very simple: viewing remote content. Yet they consume as much memory as a high resolution video game, a code compiler, a video renderer...it's absurd!
Most of that waste of resources doesn't even come from doing anything useful. Much of modern software gratuitously abuses dynamic allocation where more careful allocation strategies (either static or dynamic) are called for. Browsers just seem to be one of the biggest offenders.
How much is the browser itself and how much just huge websites/apps? I was about to post bloated JS.
I've tried lightweight browsers but most sites don't work properly on them.
I noted that after I put a Pi-hole pi-hole.net in my network memory got considerably lower, that's just removing useless JS: spyware, ads, etc.
I understand the need of revenue (I really do 8'| ) but when a website is trying to steal private data, that's where I put the line.
And if you have a 20MB website that only works with JS enabled and eat 20% of my CPU that's is just bad design. And showing off your visual prowess, you just show your lack of engineering and common sense.
You're probably right; Javascript no doubt contributes. It's probably a little of both.
So, let's test!
Firefox, with all add-ons disabled, and with ten tabs open to the oldest website on earth is reporting a memory usage of 318 MiB...which is actually pretty high, all things considered!
Chromium, identical scenario, consumes a whopping 1205 MiB (1.18 GiB!) of memory, across 14 processes. And that's a fresh-installation of the browser, no extensions. In my book, that's inexcusable.
OMG, really, Chromium eats that much!, wow, that's one of the reasons I don't use it for other than testing. 318MB is no small footprint either. That's why I really appreciate websites that can be viewed without JS. I used Dillo as long as I could but nowadays almost all sites are unusable with it.
There is Falkon nowdays you can try it especially if you use linux.
Thanks, I'll check it out and of course I use Linux, I'm cool like that :D (not Arch tho)
The Facebook app wastes a lot of my time, does that count? π
Anything that encourages people to waste time certainly counts IMO. The difficult part is accurately measuring such waste against the good that these systems might provide. This balance (or lack thereof) should be considered with other things people are discussing here like Electron, Blockchain, etc...
So true; even in a tooling context if it takes you 2 days to get some fancy tool working and you only ever use it once to save you 1/2 an hour of work itβs probably not worth it (albeit there is intrinsic value in learning the tooling etc).
Ads.
Hands down, images.
Every website loads images that are way too big for the viewport, the connection, the dpi of the device, etc.
Or we donβt add width/height making it harder for the device to render correctly.
In both ways it uses more joules of power, as it tries to deal with the fallout. Either scaling a image up or down, grabbing a larger than needed file, or forcing a rerender once it knows the images size.
And how much extra time do we wait to see images download. Or have a image heavy ad pop in late and mess up reading content.
I love the visual nature of the web, but we have never collectively done it in a responsible way. The βfewβ of us that have, know it adds a lot more responsibility to our plates and eats more of the developers time.
All around, itβs just not as automated and easy as it could be.
Internet Explorer. Developing websites to render property sucks, their dev tools sucks. Thank gosh Edge came out
to me the greatest thing about Edge is that is based in Chrome, not my favorite, but at least have some respect for the standards, MS not doing much with browsers, I like that :)
Yeah, Marcelo that is kind of my take as well. I think this question as stated is good for discussion though but it will, in the end, be subjective. It is a good way to spark a discussion on what is wasteful and also what resources do we in general value higher than others. The discussion about electron I think comes from how some people prioritize system resources higher than others.
That's, in part, we have jobs, to evaluate the trade off and make a informed desition. As you mentioned about Python/C++, is the one in charge of the design who should take both costs and constrains and choose, in this case between Python and C++, if so many are using Electron apps there must be preferable for their use case, maybe RAM is no concern, is not that expensive after all. And some people even buy Ferrari :D
Everytime I have Figma running in a tab in Safari for awhile the warning pops up saying the web app is using excessive energy. The teams making browser based design tools should consider making the experience super performant when engineers also have to run Chrome, multiple servers locally.
Web Assembly to the rescue!?
Interesting you mentioned it because Figma already uses WebAssembly for some of its functionality
Neat!
XCode -- Why do you ever need 10-15 GB+?
That's why
Linux > macOSfor dev.Interesting question! Maybe we could (should) add environmental awareness (energy consumption) as a topic to the standard web/app checklist which already contains things like performance, security, SEO, accessibility and so on.
Complicated to calculate though.
There's of course the difference between backend and frontend energy consumption.
Backend carbon footprint could be mitigated by using renewable energy to power data centers. And maybe a shift from interpreted/scripted languages like JS, PHP, Python, Ruby to languages like Go, Rust and so on would be helpful.
Frontend carbon footprint might benefit from the shift to static site generators like Gatsby (you can safely assume that an app built using static site generation will have a smaller footprint than the same app built with for instance SSR).
For the back end Microsoft has plans blogs.microsoft.com/blog/2020/01/1...
Slack
Microsoft Windows. It doesn't respect the "disable updates" setting, so much so that it's "Windows Update Medic Service" feels the need to revive it. So yeah, unplanned updates without warning of any kind can be kind of wasteful. The actual update process is time-consuming, uses tons of data, requires users to face downtime, etc. I imagine the impact can be huge throughout the entire corporate world.
Video games, I think nobody mentioned them.
Being practically one of the benchmarks news GPUs are created for/with, video games help the OEM market sell new hardware (be it parts or entire computers) which eventually leads waste, as computers are really hard to recycle.
This cut me to the core. I spent a good chunk of the weekend playing Raft. My GPU was spooled up running the game at max settings 90fps 1440p. All tolled I think it was probably single digit extra dollars (compared to non-gaming) of electricity for the whole weekend. My last gaming computer I had for 6 or 7 years and it was far less energy efficient.
It feels weird to be in a world now where hobbies are scrutinized for environmental impact. Example: we should definitely call off sporting events for the amount of electricity wasted plus transportation emissions and garbage generated by attendees. I don't follow sports, so I wouldn't mind.
Most Java-based applications. Personally, my top of the list is the language IDEs like Eclipse and Netbeans
Everything Google except Google.
They are just throwing balls in all directions to confuse people and make them run in circles.
Especially all the "performance" bullshit on the web, it's just tricks to make the life impossible for other browser makers. Most Google products have a terrible performance. A YouTube embed just adds 2.4s to the speed index of a page.
Also, they just wait for people to rely on it to either change the terms (e.g. they broke Google Maps on a ton of sites by changing the licensing terms, and you have to provide payment details nowadays, IIRC), or discontinue it altogether (I built a C# app with the Google Earth plugin a long time ago to present cellular network data... that was deprecated in 2014).
There's even a Google Graveyard for all their discontinued apps and services.
Besides blockchain what Jean-Michel mentioned I would say upcoming AI stuff. Way too much GPU servers used to have data estimated and predicted for businesses needs which could end up wasting even milions $ in what could eventualy become incorrect estimation and fail.
GNOME3 with GTK3 definitely.
It caused so much unrest in the FOSS desktop computing world that spawned at least 5 new desktop environments (MATE, Cinnamon, Unity, Budgie, Elementary, Deepin...) and caused a rewrite of LXDE to LXQt. And I'm not even mentioning the amount of crossplatform applications which moved from GTK to Qt (like WireShark).
Even years later, GNOME3 is still requires dozens of third party extensions to be functional and customizable. And it's still not that fast as GNOME2 or XFCE.
Imaging the amounts of FTE put into all this makes me shiver.
Uber/Lyft and other Transportation Network Companies (TNCs). Not for the app or infrastructure itself, but the product. They have "disrupted" an industry of taxis and transportation networks by undercutting existing systems and outsourcing the cost of their business to "independent contractors" who are not professionals in that industry.
TNCs have put a lot of money into getting users to buy subsidized rides instead of taking public transit. This has resulted in drops in transit rides, and therefore less funding is allocated for transit. The environmental and societal costs for this massive increase in traffic is much larger than expanding public transit would be. TNCs promise the idea of "ridesharing", where existing drivers can give riders a seat, decreasing traffic, but studies have shown this simply is false, as drivers deadhead (drive without passengers) more than they provide rides, and whole sub-industries have popped up trying to sell or rent cars to people who don't have one but want to start driving for a TNC.
Beyond the environmental impact of all these cars, and the increased traffic from more cars (including time spent in traffic for other drivers), the societal impact has been huge. Increased traffic means an increase in traffic injuries and deaths, as well as the less documented increases in asthma and other conditions caused or worsened by automobile pollution. Decreased transit availability (and buses stuck in traffic) mean that more people take cars when they could have seen health benefits from walking or biking because they feel unsafe on or near roads. More parents drive their children to school because⦠you guessed it, there's too many cars.
Imagine if we had contributed the shear amount of money VCs have put into just Uber (which still loses BILLIONS of dollars a year) into good quality urban transit, regional rail, and high speed rail across just the US. Imagine serious sidewalks and bike lanes in all cities that made walking, biking, skateboarding, scootering, and even using a wheelchair safer. Imagine if we redesigned cities and towns so that most things can be walked to from a train station instead of multi-lane roads through the heart of downtown.
It's unfortunate that popular or productive languages/frameworks/whatever succeed beyond their designer's intents and muffin-top with additional abstractions, libraries, and feature creep into elements of undesirability. "Victims of their own success" is certainly applicable.
Actually, you can develop for Linux and Windows on any platform using Docker / WINE, but not for macOS and iOS.
And, it is more common to develop for deployment on a Linux server, than to develop for macOS, isn't it?
Electron. It makes creating desktop apps easier and has single - handedly improved linux app ecosystem by a lot. Cannot deny that. But it can bring even the beastliest of computer rigs out there to grind. There are apps like VSCode that do it right but vast majority (slack, discord) are just memory hog.
A lot of alternative Crypto-Miner software, even if BitCoin kinda makes sense,
theres a whole graveyard of alternatives to it that may end up dead.
AntiVirus uses file hash comparisons, is a bad system in general.
CSS. padding, margin, etc. I am so amazed by SwiftUI
Other languages are going towards that goal too! elm-ui is amazing for example
Although for what I gather elm-ui is incompatible with Elm 0.19
This is gonna be fun, Vim.
I love it and now is much better, but before version 7, I think, Vim had so much old code, you could take your Vim installer and install it in a commodore, it supported platforms dead and buried centuries ago, I'm not sure if it was because of it but years ago, some folks tried to send patches to the Vim god, yes is pretty vertical that hierarchy, and when they kept being rejected, they decided to fork and build NeoVim, not longer after a bunch of advances came to Vim and version 7 was born. Don't take this to the letter, this is what I recall. The moral is that time comes to everything even awesome tools like Vim, so we have to keep them maintained and give the code some love even tho we take it as finished. Even the Linux Kernel has made big cleanups in the past years.
Bitcoin miners. They use enormous amounts of processing power to generate, which requires a lot of energy. Depending on the price of coins at any given moment, they can sometimes cost almost as much as they're generating.
Windows, bloated with candy crush
Maybe not the most wasteful, but the software of my soundbar does much more than it needs to, especially the 12x amount of outbound network traffic compared to the second most active device on my network (my phone).
Yamaha YAS-109 Soundbar has Excessive Network Traffic
Henrik Sommerfeld γ» Jan 21 γ» 2 min read
NodeJS modules.
When I get a new VPS, I need to install a Node (and PyPI) mirror on it so my CI/CD pipelines don't download half the internet on every push.
Develop one version for Windows, another for Linux and another for Mac is a waste of money, time and resources.
Use Electron ;)
cryptographic systems in general. with the computational power we use to protect traffic to adult websites we could accelerate the search for SETI extraterrestrials for example.
CI Toolchains? :D
Apart from Electron apps, ELK. Very memory hungry. But it is also one of a kind so...
Ryver messaging system. Like slack but never went out of the MVP stage.
Teams from microsoft, every message reaction creates a notification that I have to manually mark as read
Bitcoin is easily the most wasteful software, considering the absurd amount of energy it is using.
Windows Vista/8/10, KDE 1-4, browsers, electron, flash, java applets, ad block plus, adobe software, anti virus and visual studio.
[Not software] GIF as a format is overused. We don't need 1-minute long videos in GIF format; we have other file formats more suitable for this sort of content.
By far, Bitcoin and all those similar cryptocurrencies.
Probably whatever firmware strikes the right balance between being widely used and least efficient at the most frequently performed operations π€
Office 365, time sink and specifically the calendar, only works when you change your mental model of calendars...
AWS DOCs :D :D
Slack, I mean what are you doing with all that memory anyways? It's just chat messages
slack