Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Software Is Polluting the World (kentdebruin.com)
83 points by meagher on April 28, 2020 | hide | past | favorite | 66 comments


Following this line of thought, the Hacker News homepage should receive an Energy Star award from the EPA for not having insulting auto-play videos, 20 CPU-burning JavaScript trackers, 5 webfonts, and 40 useless images like others do.


If only there was a dark mode theme to save energy on OLED screens.


There are probably some cost savings in the off white background of the content area.


It depends on the display technology. I, for one, is still using an old-fashioned IPS LCD, and a white background has less power consumption.


found this today, hope it helps you too https://news.ycombinator.com/item?id=23015186


If you use Chrome: chrome://flags/#enable-force-dark


This is why you need something like a price on carbon emissions to actually fix global warming. Who can keep track of all these factors creating emissions? Price signals propagating through the economy could fix this, whereas a programmers optimising their JS frameworks and runtime performance to account for their carbon emissions will never happen.


And they cannot be local.

Even with physical goods borders are often abused for avoiding to spend money. Some Amazon warehouses for delivery in Germany are situated on Czechia and Poland in order to pay lower wages.


Good luck getting a global consensus on taxing carbon.


Well there is an ongoing attempt with the Kyoto Protocol (https://en.wikipedia.org/wiki/Kyoto_Protocol)


Reducing carbon emissions is one of the main motivating factors why I enjoy speeding up code. So it happens, but maybe not often enough.


I don't understand why this essay was written. It's an interesting train of thought until you actually compare savings it proposes with real world data.

The iMessage case is particularly horrid, the article states that 45 million images sent through the service daily produce an equivalent amount of CO2 as flying 11,000 people from Paris to New York. The images are uncompressed, but had only those anti-environment programmers somehow reduce their size by 50% without significantly degrading quality iMessage would only burn 5,500 worth of passengers in jet fuel daily!

Such a big save, until you compare it with the amount of total number of daily airline passengers, which is 13 million [1]. In comparison that's 0.04%, which wouldn't even make the tiniest scratch and you're proposing to degrade a service that's daily used by 1.3 billion people.

Taking the quote from the text: "The moment we create digital products or services we become part of the problem." it seems a huge stretch the intentions of which I can only speculate on.

The whole point seems incredibly stupid, but I'd really like to be proven wrong.

[1] https://www.icao.int/annual-report-2018/Pages/the-world-of-a...


Especially if 0.01% of the people who would have sent an iMessage now decide to mail a photograph. As an example.

Every incremental degradation in a product results in alternative-seeking behavior.


There are extraordinarily few actions that can be taken by just a small group of people that have more than a vanishing impact on carbon emissions. But that doesn't mean that these actions shouldn't be taken.


Unless you provide any numbers I think most people would rather enjoy life than think how many nanograms of CO2 they’re releasing when sending an email.


Yeah, maybe the email provider should think about how many tons their equipment causes. Shoving everything on the consumer is silly. Consumers almost never have the data to make informed choices.


Interesting train of thought, but most of the example feel to me like overly-specific, "premature optimization".

The thing is, software developers are already roughly incentivized to optimize for efficiency. And UX designers are already roughly incentivized to optimize for smooth interaction.

There are a few tragedy-of-the-commons cases; web ads being the obvious example, both in terms of bandwidth and in terms of client-side CPU usage. There's also the fact that developer time is so much more expensive than cloud hosting, which incentivizes companies to be careless with their server usage. These could possibly benefit from some kind of carbon tax, to help align incentive.

But the other thing is: the vast majority of this cost does not come down to what the author is talking about. Crypto mining is an enormous expenditure of energy for dubious purpose. I would wager it creates more carbon than the entire internet. And streaming is several orders of magnitude larger than regular web pages (though this is already strongly incentivized to be as efficient as possible). I cannot imagine that optimizing YouTube's logo even registers in comparison to its video streams.

All in all: it's a good lens through which to look at things, but most of the emissions sources are either a) already being made as efficient as possible, or b) created by parties who could not be bothered to care without an adjustment of incentives.


Fair points! Thanks for the feedback. I wrote this article to let people at least consider sustainability when they make things for the internet.

Before researching this I wasn’t aware that it could make an impact.

I agree that stuff like steaming and crypto mining are the big polluters, but why not start small as well?


> “but why not start small as well” Starting small is fine, when potential for impact is high. Otherwise it’s pointless, especially when the primary KPI is efficiency.

Unlike in construction or transportation, carbon footprint and potential efficiency gains for software are tiny. There’re are plenty reasons why iMessage and co don’t appear on the Project Drawdown list. There are much more effective leverage points that demand the attention of developers and designers. Check them out: https://drawdown.org/solutions/table-of-solutions

The best thing small interventions can do, is raising awareness. But raising awareness won’t save our planet. A developer who codes for example a parametric design tool for CNC-made houses that can be disassembled after their end of life to reduce construction waste can achieve a magnitude more than the one who optimises a website to use 700KB less data or adds artificial friction to a communication tool.

–––

Recommended reading on Leverage Points: http://donellameadows.org/wp-content/userfiles/Leverage_Poin...


>into the world. Binge-watching shows on Netflix for a month straight contributes to as much carbon emissions as a flight from London to New York

I was under the impression that one of the primary costs of airfare was fuel? I get that power plants are using a cheaper type of fuel than jet fuel, but some back of the envelope math suggests that netflix must be getting their fuel/energy for at least an order of magnitude less then airplanes are getting their fuel/energy. It implies that if you binge watch enough shows on netflix they're actually making a sizable loss on energy costs alone...


I'm finding this super difficult to believe, it doesn't pass my internal BS detector. Anyone know how they arrived at this?

Quick order of magnitude calc:

Googling "London to New York flight carbon emissions" I get 0.67 tonnes CO2 in the infobox.

Using https://www.powershop.com.au/carbon-calculator/ as a quick guide, they reckon 0.66 tons CO2 would be generated by power use of about 620 kWh.

Suppose I watch for 12h a day, 30 days, 360h, they're claiming I'm responsible for power draw of clickety clack 1.7kW continous? (split between me, netflix and transit) To stream some video? Get outta here...

My napkin suggests they're exaggerating by about a factor of 10.


I did not understand whether they meant the whole flight or just one person flying which would be an important distinction to make.


The 0.67 tonnes is quoted as per passenger. If it is supposed to mean the whole flight, then their assertion just becomes even more ludicrous.


As the other commenter suggested, the costs aren't central to Netflix. They're including your home PC, network and ISP infrastructure in the cost.

edit: Sorry, I didn't read your comment all the way through. You accounted for that.


Netflix aren’t paying for all the energy costs. You are, and your isp is, etc


Not all energy is equal. If your data center is primarily energized with coal, then yes, that's going to have a big carbon footprint. If most of the energy comes from wind, solar, nuclear, and hydroelectric, then there is little or no carbon footprint.


I agree with your sentiment, but any unnecessary energy use is still wastage and still needs to be generated, leading to pollution, even if the carbon footprint is smaller than when using coal power plants.


You have to do some clever accounting for it to relevant in some circumstances. Some data centers are entirely powered by hydroelectric power, and use of that power does not cause any carbon emissions.


Hydroelectric power still requires the building of dams, turbines and piping, the production of which all produce pollution. Again I agree that it is much smaller than that produced during the lifecycle of a coal plant, but building something like the hoover dam is not pollution free. Additional use of resources due to inefficiencies is always going to result in more pollution unless we can eliminate pollution from many industrial processes.


Are those hydroelectric power plants connected to a power grid, among other carbon-emitting power plants?

In this case, every kWh spared by your data center still is a potential reduction of carbon emissions : let your hydroelectric power plants run at full power so they still provide this kWh, thus it doesn't have to be produced by the carbon-emitting power plants. Leading to reduced carbon emissions.


Yes, the Internet is relatively easy to decarbonize compared to e.g. air travel.

But still, the energy consumed might be used for something more useful instead. Or binge watching Netflix replaces an even more energy intensive activity. Who knows.


I really want to have photovoltaic ICs..


It’s true, and definitely high priority right now. After all, we used to be able to see the Himilayas, but when everyone went into their homes and started streaming Netflix, the internet smog overwhelmed them!

Sending or not sending an email will not meaningfully increase power usage and thereby pollution of those large data centers. More efficient code will help; but, there are so much bigger fish to fry, I think I will happily tolerate a huge increase in internet usage for a dramatic reduction of cars.


It seems like the optimization of resource usage that is done with software ought to outweigh anyone's idea of frivolous usage, but then again, maybe Jevon's paradox. But if everything good is bad, you know, maybe nothing is bad?


> If the Internet was a country, it would be the 6th largest polluter in the world.

This is a pretty interesting claim, so I tried to follow the source to see how they arrived at this. It links to this article by Nature [1] but it doesn't have the the quoted text the author seemed to have quoted.

I'm not trying to dispute the claim, I'm just interested in learning more about the data which led to it. Anyone have a peer reviewed article about this?

[1] https://www.nature.com/articles/d41586-018-06610-y


I wonder how much of it is cryptocurrency mining.


I heard that all of crypto mining uses a similar amount of electricity as Serbia but it is probably more now.

Source from Dec 2017 -> https://newatlas.com/bitcoin-cryptocurrency-power-consumptio...


From the Nature article:

> The energy-efficiency drive at the information factories that serve us Facebook, Google and Bitcoin.

I'm guessing less, although I failed at parsing the article.


Docker and Kubernetes are the worst offenders then. Modern DevOps often fire up a separate container for the smallest service. Another huge chunk of the "pollution" is the bytecode and interpreted languages. Getting rid of the languages and VMs without AOT-compilation will reduce the carbon footprint a lot.


You're being downvoted because your comment hits too close to home here. Regarding Docker (which I hate like the plague when it's being naively used for "microservices" as an excuse for architecture by the infanterists of our profession), an argument could be made that it helps density in data centers such that fewer physical machines and VMs need to run all the time, though I believe this is offset by network overhead, ruining any advantage it may have when considering total energy consumption. Regarding overuse of webapps and JavaScript, though, there's really no excuse for the React and co overkill. Apple, Google, and Firefox should display a little indicator/traffic light of sorts warning about high energy use. Google could also flag/penalize the worst offenders in search results, etc.


Man you should see what the CPU does. It's basically JITting your asm, and dropping the calculation result off. executing your code twice (once for branch prediction), putting things out of order,


Hey, if it gives you a short time-to-idle…


Nah, before that they was spawning a whole new VM for a service as well, it’s low quality programming to blame, not the tools.


The biggest problem we face is that the number of programmers we need is much higher than the actual, available programmers. We are becoming more and more efficient everyday. One of the projects I work with has us converting 200+ excel sheets on 20 different computers into one CRUD microservice and a frontend. The biggest problem? convincing the people to move away from excel.


Not really, no. At least, not at my old company. My team had a set of machines for a multitude of scheduled tasks and jobs.


>According to research on Wonder (Wonder, 2016) an average of 1.8 billion digital images are loaded (globally) each day, totaling around 657 billion photos sent per year. Unfortunately, the percentage of images sent with iMessage is unknown. To make an estimation, we will use WhatsApp's statistics as a placeholder. 2.5% of the messages sent through their service are images. So on a daily basis, assuming this is the same for iMessage, 45,000,000 images are sent through the app everyday.

That is some weird arithmetic. Multiplying the number of images they think are circulating online each day by the percent of images from total messages they think iMessage sends, does not total the supposed volume of the images sent through iMessage.

But perhaps it doesn't matter for the purpose of the article to have proper data and proper arithmetic. Such puny details as proper data and arithmetic can not delay your fighting for a great cause.


There was a talk by Hennessy and Patterson, winners of the 2017 Turing Award (I forget which one, it might have been their Turing Award lecture), where they said basically: software engineers are not good as solving performance problems, all the big improvements are really done at the hardware level. I wonder if something similar applies here.

We can certainly improve things in a number of small ways through better software, and when we can we should. Is that what's really going to fix the problem? Or will the problem really only be solved by having efficient energy cell storage coupled with non-carbon based energy sources meaning that large server farms produce no pollution? Not fundamentally changing one's behavior other than using 40kb files instead of 80kb files for sending memes to one's friends seems like it's more about letting one to not feel bad about one's self.


> software engineers are not good as solving performance problems

I'm not sure that's a fair statement to make, since we have been actively trading performance for developer experience for decades it should be clear that we are not even trying to solve for performance. At least, not without giving up our high level languages.


Part of it is software is so valuable energy and hardware costs often don't matter.

On the other side, my business has fairly narrow margins. When we find a performance improvement it's a near 1:1 cost reduction, so our code has gotten very efficient.

All about the economics.


What business would that be?


One way software could help reduce pollution is if receipts go completely digital. I know not all people have easy electronic access but stores could have kiosks or something to access receipts. It’s just absurd grocery stores and places like CVS still print so much useless paper that people instantly throw away.


As much as I'm annoyed giving out my phone number at retail... I've got to admit, Square's "text me the receipt" thing feels like the future we should have. But it's a little bit odd that it needs an additional channel. Why couldn't the receipt data go through the payment provider, and show up as part of my bank statement? I realize the answer to this question is probably much, much more complicated than it sounds, but are there any real technical hurdles to implementing something like this?


I’ve wondered this same thing for about 20 years. It almost seems a no-brainer for the credit card companies (Citi, Chase, what have you) or Visa, MC, etc., to have started doing this at some point. But alas, here we are printing on dead trees that I then digitally capture and throw away )-:


They won't get any more revenue out of this, so why would they do it? Not saying that they shouldn't, but it seems like a pretty obvious reason, no?


Wal Mart Pay does digital-only receipts.


in my non expert impression from reading a lot on the topic, in the grand scheme of pollution and environmental problems, waste paper ranks very very low on the list of problems we should be worried about.

That said, I always liked the idea of receipts being replaced by QR codes that display on a little LCD screen, and automatically logged into a receipts app.


This stuff is a lie.

Netflix has obviously been disproven, start here for some numbers- https://www.carbonbrief.org/factcheck-what-is-the-carbon-foo...

Self-flagellation is thousands of years old, so there must be a reason the environmental movement took it up.

But the reason might not be good.


There was a talk by Hennessy and Patterson, winners of the 2017 Turing Award (I forget which one, it might have been their Turing Award lecture), where they said basically: software engineers are not good as solving performance problems, all the big improvements are really done at the hardware level. I wonder if something similar applies here.

We can certainly improve things in a number of small ways through better software, and when we can we should. Is that what's really going to fix the problem? Or will the problem really only be solved by having efficient energy cell storage coupled with non-carbon based energy sources meaning that large server farms produce no pollution? Not fundamentally changing one's behavior other than using 40kb files instead of 80kb files for sending memes to one's friends seems like it's more there for one to not feel bad about one's self for not having solved the problem.


This endless pearl clutching over releasing an additional N grams of carbon is driving me crazy. Internalize the externalities and let’s move on with our lives. This is not a productive thing to spend so much brain power worrying about.


BBSes are still alive and well [0].

[0] https://www.telnetbbsguide.com/lists/new-bbs-systems/


I made my blog dither the images last year: http://sprout.rupy.se


Isn’t sending snail mail and keeping physical files and libraries more expensive?


Meanwhile this diatribe clocks in at an unnecessary 12MB.


I'm not sure data size is a good metric for measuring energy use; sure, all other things being equal... but they aren't equal. Heavy JS can be small, ShaderToy shaders are pretty small and make my 2080 Ti run at 300W while I'm enjoying them, and just yesterday on HN we had that 256 byte demo example which will keep a computer plenty busy with actually entertaining video for a good while: https://news.ycombinator.com/item?id=23002874


Amusingly, the animated printer image at the top is a 2 MB GIF image rather than a video.


Let's just not do anything that's not necessary for survival. I'm all for reducing emissions, we should focus on things like the 15mb web pages with a thousand ads and trackers first, though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: