________________________________________________________________________________
It might not save the planet, but I sure do prefer a website
that doesn't need five seconds to load.
I don't feel like I'm asking that much but for some reason
websites insist on using HD videos as site background,
autoplaying livestreams, newsletter popups and more.
No need to argue about saving the climate - not using Netflix or
YouTube would indeed make a much larger difference - but just do
it for our sanity. I swear the only reason I'm not clinically
insane yet is because browsers have tabs which let me load
websites in the background. And that's with an internet
connection that, while not the fastest, is far beyond anything
certain remote regions have access to.
How about we keep sites lightweight so more people around the
world have access to information and education, in turn
improving more than just the climate.
I am still in awe at how Wikipedia can have such a site that might not have the trendiest design but can still be accessible to Windows XP users, and that works without JavaScript (even their mobile version, which phones can benefit from less JS (equals more battery life) but for some reason websites have forgotten about it).
For other websites though, it eats your limited data allowance if you are in a unlucky country (even at home if you are in a worse country, thank goodness for unlimited home connections here).
Why wouldn't they? They re serving the same content for 20 years
There isn't always an actual need to change a design, but people feeling that something "looks outdated" if it's not following current aesthetic trends is a real thing.
Somehow the Wikipedia design doesn't seem to be suffering from that. (And that's probably a good thing.)
Good question. Counter-example: news sites. Very lean in '90s and early 2000s, but now still serves the same thing but with more tracking (so JS), autoplaying video _for another newsitem_ (so additional data is consumed + battery life), and the essential content (what an average user wants) is still the same. Complicated visualization done wih JS+Canvas? Fine with that. News item? If it is a human, it would be obese already.
TLDR: News sites for reading news has certainly got heavier.
Actually, the "essential content" has on average gotten much worse as budget cuts mean much less original writing.
News sites need to look trendy even if the current trend is "morbidly obese" wiki doesn't need that
I remember when I was younger and moved from 55kbps dial up to 2mbps ADSL - I felt like the future had been delivered to our house.
Now I feel like computing is ageing with me
Lightweight software allows people to hold on to PCs and phones for longer, reducing garbage. Same for high contrast text and icons, which are still usable on cheap screens.
Multiple people here are disagreeing and saying no, if everyone does what they can it _does_ make a difference.
I think a better perspective is this: the _impact per time unit_ of clean code is vanishingly tiny.
If you actually care about the environment, then it's _orders of magnitude_ more effective to write "dirty" code, and then use the free time it gives you to do things that actually make a difference: volunteering, lobbying, raising awareness, writing to representatives, working and donating the $ to environmental groups, etc.
The question isn't about whether something is a net positive or not, it never has been. The question is, _is it the biggest positive you can achieve with your limited time/resources_.
Which is where the author is right -- focusing on clean code (unless you're Netflix-scale) is a massive time and energy suck away from action that can make a much larger difference.
That would assume people would use that free time for those things instead of, say, youtube.
It also neatly ignores that code will be ready many more times than it will be written. How about all that time wasted trying to pick apart someone else's shitty code? When do I get the years of my life back because someone couldn't be arsed to indent?
Technical debt is recognized for a reason - it costs.
This totally misses the boat. No one is claiming a small httpd server or a minimal website is saving the earth. But it's important to start thinking about these things and try to do our part when possible to reduce unnecessary code.
Not caring about things like these leads to modern websites using 10s or 100s of megabytes of data and considerably more cpu cycles for no real reason aside from ads, analytics, and developer friendliness, resulting in degraded performance on older laptops and mobile networks, etc.
Things like optimizing and caching docker builds do make a difference at scale for organizations.
>No one is claiming a small httpd server or a minimal website is saving the earth.
One of the post titles referenced in the article is "This website is killing the planet." In fact, some people are actually saying exactly this, even though about 10 people went on HN to claim otherwise despite direct references to people saying it.
Since when did one person's blog post become "people are saying.."? This is like using a few tweets as evidence of popular opinion, etc.
Don't shift the goal posts here. You claimed "no one is", the response was to show a counterexample and say that "some people are", which is true and clearly falsifies your claim.
You then stripped the "some" out -- _while quoting the response_ (!!!) and asking for more examples. Are you making a different claim now? Because the response was certainly sufficient for your original one.
When people say "no one is" it doesn't mean literally not a single soul in the world is claiming that. Given enough people you can find multiple people who support just about any viewpoint out there.
The views espoused on that blog are -extremely- fringe and not indicative of sentiment in any meaningful capacity. What value does it add to this discussion to point and go "look! at least 3 people are claiming this opinion"? It's arguing for the sake of arguing.
The vast majority of people don't care about wasting computational resources, let alone care about the ecological impact of a website.
What arbitrary threshold of popularity must an opinion pass before it is allowed to be criticized?
There are multiple citations in the article... and also, I don’t think the author, in refuting an opinion that absolutely exists, is asserting that it is “popular.”
Also, computing is becoming a major source of energy consumption. Estimates are up to 25% of the total energy consumption by 2030. Networking takes the major share.
Compare this to LED lighting, where everyone takes proud in reducing the foot print: lighting is about 2% of the total energy consumption and domestic lighting is about a third of this.
> Estimates are up to 25% of the total energy consumption by 2030.
I would like to request a serious citation on that, it is an absurdly high number and 2030 is 10 years away.
Maybe they're also including shitcoin mining numbers in the calculation.
Two years ago the association of silicon manufacturers published a call to arms with an estimate of 40% in 20 years.
It's difficult to find global data for the last few years, but there are several studies suggesting about 5% for data centers. Given that networking is the major source of consumption with 40+% of IT consumption, this would indicate more than 10% today.
Edit: A few years ago, when Google still wasn't evil, they published an article on why Mercator projection was chosen for Google Maps. The estimated savings regarding all the global views per year were impressive!
Sorry but that is nonsense.
First of all, Electricity consumption != Energy consumption
So although very important, Electricity is around 35-40% of the global emissions.
https://www.vox.com/2015/3/31/8319859/electricity-vs-energy
Second, the best number right now for all the ICT sector is around 5% in electricity, which is equivalent to 2% in emissions. One single guy in a super fatalistic scenario is projecting a worst case situation for 2020 of 20% of electricity which it we assume the same distribution as today it would be equivalent to 8% of the world emissions, a 4X growth in 10 years. Even that is not going to happen.
https://www.nature.com/articles/d41586-018-06610-y
> Data centres contribute around 0.3% to overall carbon emissions, whereas the information and communications technology (ICT) ecosystem as a whole — under a sweeping definition that encompasses personal digital devices, mobile-phone networks and televisions — accounts for more than 2% of global emissions. That puts ICT’s carbon footprint on a par with the aviation industry’s emissions from fuel. What could happen in the future is hard to forecast. But one of the most worrying models predicts that electricity use by ICT could exceed 20% of the global total by the time a child born today reaches her teens, with data centres using more than one-third of that (see ‘Energy forecast’)1. If the computationally intensive cryptocurrency Bitcoin continues to grow, a sharp rise in energy demand could come sooner rather than later
You're right, it's about electricity consumption. However, the Nature article is from 2018, much has changed since. Also, 2% is a rather low estimate.
There's very different data, as well, e.g., from a SIA/SRC report:
> For this benchmark energy per bit, computing will not be sustainable by 2040, when the energy required for computing will exceed the estimated world’s energy production. Thus, radical improvement in the energy efficiency of computing is needed.
https://www.semiconductors.org/wp-content/uploads/2018/06/RI...
One way to tackle this is reducing the number of bits moved.
No, it won't save the planet.
But millions of people making millions of small changes might save the planet. Refusing to do anything at all unless it makes a huge change is not helpful.
I'm a contrarian when it comes to this subject :-)
Millions of people make small changes to distract themselves from changes that would make a real difference. Not doing anything may at least have a chance of making them aware that something must be done.
You'll notice this phenomenon in lots of areas, first of all fitness.
But that's just my opinion.
Habit research disagrees completely with your contrarianism. It says that most long term changes are initiated with small changes that built a framework for more radical change over time.
Can you expand on what you mean by fitness here?
The internet is the fastest growing polluter.
Not in absolute values.
This. Less flying, less buying, less meet, less consumerism, more local & seasonal food. No need to go full 100%: it would be enough if critical mass reaches a good-enough level.
No, it wouldn't be enough.
This year has been the perfect experiment: Through massive, massive, restrictions in our normal life we managed to reduce CO2 emissions by what, 30%? Say we could do it even better if everyone became vegan and only rode bicycles and we reduce them by 70%. Awesome. That about triples the time we have until we need to reach net zero emissions. It probably also crashes the economy that's supposed to pay for the modernization and replacement of our whole energy infrastructure.
>Through massive, massive, restrictions in our normal life we managed to reduce CO2 emissions by what, 30%?
most likely 4-6% by the end of the year is europe goes back to the same lockdown as in march.
To reduce that to needed levels by 2050 (to reach the 2°C by 2100 "best" scenario), you need -5% every year since last year. Its in the bag for 2020 at least, so that's great.
You're right, but if enough people include thoughts like "what can I do personally to reduce my carbon footprint" and take action, then those conversions and actions end up making their way into the meeting rooms and board rooms.
That already happened to the extent that it's going to happen. Awareness has been fully raised and now it's time for systemic change.
It really hasn't. If it really had, then the meat industry would be tanking.
This is one of those things that sounds nice, but is completely meaningless when you think about it.
Essentially it boils down to “sometimes, things help”. No need to qualify or quantify “when”, “which things” and “how much” they help by.
If you want to argue that website fonts or whatever have a meaningful impact on climate change, then argue it, with actual data, or statistics, or anything more than bs “we’re all in this together” platitudes.
I see it as a particular type of green-washing where people can feel like they’re acting pro-socially while actually making trivial differences in the actual issue. The time and attention of people isn’t infinite, by getting people to invest in ideas that don’t work, you actively take away from ideas that do.
I think this article makes a convincing case that small changes of this particular type are a waste of time: it's much worse than throwing an equivalent amount of money at the problem.
It follows that scaling them would only waste more time.
It's very difficult for people to calculate what set of small changes is most impactful. And you've also got to account for the costs of spending hours every week trying to optimize for that.
The most efficient solution is to implement some market pricing mechanism for carbon, and have consumers automatically enact change through the existing, legible process they use for making decisions: comparing prices.
This. And the most important thing is the awareness it builds. You can't solve a problem if you don't know it exists.
No single raindrop believes it is to be blamed for the flood
You never know what small changes might inspire big things down the line.
There are vastly far more bytes transferred and data processed for porn than there ever will be for bloated HTML/CSS/JS.
Random thought, but why don't Windows & Apple just download all of Google fonts and serve them with Windows/Mac.
The amount of bandwidth saved just from having those set indexed locally is most likely worth it.
Or why doesn't Chrome upon install locally cache all of Google fonts and maybe a few other key CDN files (jquery, etc)?
Just thinking out-loud.
I suppose one argument might be versioning, (some) fonts do get updates (and js libs should, you'd hope), they'd either have to ship those with OS updates or let them rot. And of course it would make those updates bigger, which would use more bandwidth and thus energy...
> Or why doesn't Chrome upon install locally cache all of Google fonts and maybe a few other key CDN files (jquery, etc)?
Because that'd give them less opportunities for tracking everyone across the internet.
Here's my explanation (partially touched on by the OP, but not quite covered):
Programmers, broadly, tend to be people who like simple metrics of success that require complex solutions to achieve, and they deeply enjoy optimizing the hell out of those solutions ("optimizing", here, applying to anything from speed to memory usage to expressivity to safety). This is well and good: for the most part, it makes us good at our jobs.
But this feeling of "strict improvement" can be so intoxicating as to take on the _sensation_ of being a moral virtue. It can _feel_ like a universal imperative. So instead of admitting that the code most of us write has no moral bearing whatsoever (beyond basic professional integrity), and that for the code that does have moral bearing, the way it's used is more relevant than how well it's crafted, we rationalize our feelings by contriving an argument for why these things that _feel_ like they matter so much to us, _actually_ matter to the world.
In my experience the healthier mindset is to detach that pleasure of craft from any kind of real-world meaning. If it's meaningful to you, that's enough. You don't need to justify it beyond that.
I've never been able to understand why so many people push so hard for explicitly inefficient code. If you're competent and you actually know what you're doing and how computers work, it takes just as long to write efficient code as it does to write inefficient code.
The "how computers work" part nowadays involves understanding things like cache efficiency, and quite possibly even knowing whether it's more efficient [1] to compute something locally or transmit it over the network.
These things aren't static, and you can't just have e.g. an understanding of theoretical algorithmic efficiency and call it a day, even if you couple that with an understanding of e.g. CPU tech at time _t_.
Various levels of abstraction of course fuzzy things up further. You'd then have to understand not only how things work at the low level, but also how your particular layers of abstractions affect things.
With today's tech stacks, that becomes nontrivial real fast.
With that said, yeah, writing at least superficially efficient code isn't really much harder than writing grossly inefficient code if you have a good base understanding.
[1] In this case, in terms of energy efficiency, which is even harder to judge without specific knowledge. Time efficiency is easier to test.
> If you're competent and you actually know what you're doing and how computers work
There's your mistake - you assume that a) people care, and b) they are competent. Usually at least one is false.
I'd argue that everyone should at least _pursue_ competence.
Well then we must kill the ad and analytics industries for that spyware surely must waste a lot of electricity and bandwidth, hence be a polluter.
Seconded.
I'm gonna watch porn in 144p. For the planet!
No matter how bad websites get, tech has a net positive carbon footprint by far. Just the number of conferences that went online this year has saved megatons of CO2 already. And the shift to remote work will save tons more. Let's focus on the things that matter. It s ridiculous to argue about fractions of a percent of emissions when it can save so much
I think that this article correctly identifies the root issue here: naive application of utilitarianism. All of these "write better code to save the planet" blogs are an unavoidable symptom of that naivete. If you take this perspective seriously, it's clear that anything can become a moral issue. Buying an iphone, driving a car, drinking coffee, eating chicken, writing inefficient code, laughing at Dave Chapelle and so on. It's also clear that there's no genuine rationality behind this: no one really knows which actions increase or decrease utility, the people who go for this stuff are just expressing their interests and emotions under an extremely thin veneer of rationality.
While utilitarianism can be useful -- of course we should consider the outcome a policy -- I think it's a dead-end as a replacement for a bedrock moral philosophy. Utilitarians answer the question of "what is the good?" with "whatever maximizes the good". Sounds like kicking the can down the road to me.
Hannah Arendt:
This perplexity, inherent in all consistent utilitarianism, the philosophy of homo faber par excellence, can be diagnosed theoretically as an innate incapacity to understand the distinction between utility and meaningfulness, which we express linguistically by distinguishing between "in order to" and "for the sake of." Thus the ideal of usefulness permeating a society of craftsmen—like the ideal of comfort in a society of laborers or the ideal of acquisition ruling commercial societies—is actually no longer a matter of utility but of meaning. It is "for the sake of" usefulness in general that homo faber judges and does everything in terms of "in order to." The ideal of usefulness itself, like the ideals of other societies, can no longer be conceived as something needed in order to have something else; it simply defies questioning about its own use. Obviously there is no answer to the question which Lessing once put to the utilitarian philosophers of his time: "And what is the use of use?" The perplexity of utilitarianism is that it gets caught in the unending chain of means and ends without ever arriving at some principle which could justify the category of means and end, that is, of utility itself. The "in order to" has become the content of the "for the sake of"; in other words, utility established as meaning generates meaninglessness.
> While utilitarianism can be useful -- of course we should consider the outcome a policy -- I think it's a dead-end as a replacement for a bedrock moral philosophy.
Utilitarianism isn't, _ever_, in practice, a replacement for "bedrock moral philosophy", though this is a common strawman. Utilitarianism is a term for a feature of a "bedrock moral philosophy" (that it's rules involve maximizing some function of outcomes), distinguishing moral systems with that feature from ones which view right/wrong as inherent features of _acts_ (or, more rarely, of other things, like individual actors) independent of outcomes.
In my utilarian eyes, writing clean code is absolutely necessary, unless you write for yourself. The hours lost, hair pulled in front of terrible code, the helplessness and the resignation... Bad code make the world worst in every possible way, at least for me.
Optimization doesn't matter as much.
Well of course that would be the view point of someone whose text-only article can't be viewed without javascript.
You can think about moral actions like a vector, they have both a magnitude and a direction. If the magnitude is small enough the action is negligible, regardless of direction. If the article’s figures are accurate, you can optimise away 100% of emissions from the internet - that’s the whole thing - and it would represent a reduction of 0.6% of global emissions. That just makes any individual action inside that space negligible.
I am in severe disagreement of this, since it does not calculate the effect of _running_ the website on the device. It seems that the author has forgotten the impact of an autoplaying video on phones or laptops, or the execution of JS in the browser, or worse using GPU just for rendering your "pixel-perfect" news website without reason (which by the way I've encountered nearly every day). If it is a website that is visited _very rarely_, sure, pass. But even with 100 visitors every day, it does start to trickle down.
Indeed, if the magnitude of the action is greater then it is more important. I’m not sure how accurate the authors estimate is, but my feeling is that even accounting for client devices, we’re talking about a vanishingly small proportion of global emissions, with the possible exception of the very largest tech companies. Though it depends on what the actual emissions value is, which I can’t say that I know.
Code probably won't help that much, but using green hosting providers is very helpful. Think of all those servers drawing power 24x7, that are powered by burning coal.
Does anyone have a list of carbon-neutral VPS hosts?
Is it possible to build a carbon-neutral SaaS app, given all the dependencies we have on SaaS providers these days?
> _Is it possible to build a carbon-neutral SaaS app, given all the dependencies we have on SaaS providers these days?_
Yes, with carbon offsets:
https://www.treehugger.com/best-carbon-offset-programs-50764...
WIRED "green report card" for the big cloud providers:
https://www.wired.com/story/amazon-google-microsoft-green-cl...
Amazon's 2025 goal for 100% renewable:
https://sustainability.aboutamazon.com/environment/the-cloud...
But what about the bazillions of other providers involved in building an app e.g. GitHub, npm, circleci, sentry, the App Store, sendgrid, mail chimp etc. etc. Sure you can code/implement everything yourself on an eco-friendly server but that's unrealistic/wasteful these days.
A registry of SaaS providers that respect the environment would be very useful.
But think about the gigawatt hours that could be saved if ML Python code was ported to Julia.
Virtually all that ML done with python is done in optimized c/c++/Cuda libraries. There isn't that much time spent in python.
It's interesting that the author doesn't take the high road and mention things like this, Bitcoin mining, streaming video games (not entirely sure if the carbon footprint of that is bigger than downloading and executing a game locally tbh) as more effective ways to reduce emissions.
People are arguing outcomes here and I think that ignores an element that seems to be highly prevalent among society, especially these days.
_These are my own thoughts and observations based on watching a litany of issues play out in tech and in the public from 2016-2020._
There are three types of arguments you can make: moral, descriptive, and normative. I won't dive too deep into these but if you're unfamiliar you should look at how these compare. The gist of it is that descriptive arguments talk about the state of things but don't attempt to produce a direction or judgement. Normative and moral both establish intended direction. Normative seeks to compare against the status quo, or a baseline that is widely accepted. Moral issues require no baseline for comparison and are most often phrased as "ought to be" and attempt to infer some things about people and things on both ends of the problem.
If you haven't noticed by now, the only thing that actually seeks to cast judgement on people are moral issues. Moral issues have a side effect of producing "oh, I'm/you're a bad person if I/you don't do/agree with this". These moral arguments are extremely useful in drumming up support for short term change, but are often fraught with grandiose language and extrapolation that aim to smooth over where people could object. Combining that with the intentional fallout of objecting, it makes moral arguments increasingly difficult to refuse. The long term fallout of this is that people eventually realize that the language was grandiose and feel misled, especially as predictions don't come true.
In my own experience, the astro-turfing of net neutrality is a great example here. Almost none of the claims came true, even if they did it was in very limited contexts that even professional advocates have a hard time trying to extrapolate. Does this mean that the argument for a net neutrality spirited framework is totally debunked? No, it just means that people over-promised and under-delivered in business speak. Regular people probably call this lying, misinformation, etc but I hesitate to assign intent to the deception.
Moral arguments also have a side effect which is empathy exhaustion. If every issue is a moral issue then eventually you'll have to separate yourself from the constant aura of morality, especially if you occasionally or even regularly have to face times where you object to something that is presented as a moral issue.
Another side effect of moral issues is because they don't usually subscribe to a baseline, or they subscribe to a maximalist baseline, so they require a lot more debate to take effective action on. Worse, they aren't fully debated and then outcomes which were supposed to improve life "for all of us" begin negatively impacting people and our way to deal with that is to prioritize people and their pain. This churn I think produces a lot of the descent that you read on HackerNews.
I don't know where the lines or thresholds lie. It sucks that we're even here, but I think what I've learned is we need less moral arguments and more normative and descriptive. Unfortunately, both of our political parties, which are now entirely interwound into societal issues as well, have their own morality and advocate their positions as such. It looks like a game of tug of war, except that rope fraying in the middle is the people affected by a given issue.
One thing to keep in mind is developer time. If you can finish your personal website without learning about font delivery and then use the remaining time to phonebank for anti-pipeline candidates or get involved in your local government's transportation subcommittee and work to incentivize public transit and biking, that's probably more effective.
I agree that developer time is the crux, but I take away a different conclusion. Say you have to maintain this code (so, a given). Two weeks later of not having touched it, and if it's bad enough, you'll end up re-writing it from scratch. And this is before we even get to whether or not anyone else has to maintain it. The developer years wasted by dirty code and technical debt should not be ignored.
Dim your monitor: save the world
I feel personally attacked, haha
Some pretty cool data in there :)
Piss off. People trying to make code better should (almost) never be discouraged. I feel like this article is just pissing and moaning, and sure enough, the first line confirms it:
Need to channel my election anxiety into something productive, so here you go.
Productive my ass.
ETA: I may be a bit biased - I've seen more than my fair share of dirty code. Yeah, clean code won't save the environment, but you know what? It will save me and countless others immeasurable time, and _that_ is a goal worth striving for. Peoples' lives are short enough already. Code will be read many more times than it will be written.
Lots of poor reasoning in this article - where to start?
_So the author, by switching to local fonts, reduced the carbon emissions of the Internet by 0.000000056%._
Well yeah, _one person_ switching to low-impact techniques on a low-traffic site won't change much. But (as with any other positive intervention), if _lots and lots_ of people (say 50 percent of website owners, by traffic volume) reduce their footprint by 40 percent of so -- then that's a different story now, isn't it?
_According to the Carbon Fund you can offset your CO2 emissions for $10 per metric ton._
Red herring, different topic. It's agreed by now that, whatever benefits offsets may bring (and this is hotly debated) -- we absolutely _have to_ reduce emissions at the source as well.
If that point isn't 100 percent clear by now - then there's not much left to talk about, now is there.