How can we, as web professionals, help to make the web more energy efficient? - <AUTHOR> https://cmhb.de/web-design-and-carbon-impact <comment><USER3> Domestic computer use simply isn't a big fraction of a person's total energy consumption:

e.g. this study[1] in the UK puts "IT" as <6% of household electricity use, which is itself a fraction of a person's total energy use.

edit: and this[2] indicates that datacenter usage is also not very significant.

Therefore, no amount of optimising web pages will make a meaningful difference to carbon output.

As web professionals, it's better if we direct our focus towards more productive areas around this goal -- by e.g. donating to relevant campaign groups, or using our tech skills to produce media on the topic.

[1]: [https://assets.publishing.service.gov.uk/government/uploads/...](https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/208097/10043_R66141HouseholdElectricitySurveyFinalReportissue4.pdf)

[2]: [https://www.iea.org/reports/data-centres-and-data- transmissi...](https://www.iea.org/reports/data-centres-and-data-transmission- networks)

<comment><USER4> Exactly.

If I hypothetically ran an inefficient 500W dedicated server 24/7 for one 8760 hour year, and my electric utility produces 1 lbs of CO2 per kwh, that's about 2 tons of CO2 due to my programming habits per year.

Last year, I had a long commute and an inefficient vehicle. 1 gallon of gas produces 20 lbs of CO2, I got about 18 mpg, and drove 25,000 miles, mostly due to commuting, so my driving added 12.5 tons of CO2 to the atmosphere.

Instead of making my computing more efficient, I changed jobs and vehicles. Now I drive 2.5 miles to work, at 30 mpg, fill up maybe once a month instead of twice a week, and am much happier for it! If I spent extra time to do more efficient programming, I could have decimated my server's power bill, and could have saved almost 1.9 tons of CO2, but by spending that time looking for a better job and better commute, which were far more extreme, I saved about 10 tons of CO2 instead.

<comment><USER5> If you're concerned about your carbon footprint and live within 2.5 miles of work, you might want to consider a bicycle instead! Regular cycling has made a profoundly positive impact to my life, and I would highly encourage you to explore that as an option.

<comment><USER6> I think you're right. I've been thinking for a while that the real future in electric vehicles is not Teslas or any EV to replace a car but Ebikes. Cheap, great range and you're getting some exercise and for every person on a bike. Other traffic flows better.

</comment></comment></comment></comment><comment><USER7> Stop programming like a bunch of clowns!!!

Don't build websites on top of a million libraries which you don't need and put it in some container and host it in the cloud while using as much of the cloud service providers tools.

Build as much as possible from scratch and host it close to metal as possible.

<comment><USER8> > _Don 't build websites on top of a million libraries which you don't need > and put it in some container and host it in the cloud while using as much of > the cloud service providers tools._

> _Build as much as possible from scratch and host it close to metal as > possible._

Citation needed. Running your site in a container on a shared host will be significantly more energy efficient then running hardware. It's silly to claim otherwise.

And the idea that the quantity of js libraries before compile affects energy consumption is a stretch as well.

The issue is how many computations you do at runtime. That is completely unrelated to third party libraries.

<comment><USER9> I think the main problem is that most computation happens at the user's browser - the different types of hosting will barely play a role in the overall footprint of a website.

Edit: For an example, look at the app store for the oculus quest: [https://www.oculus.com/experiences/quest/](https://www.oculus.com/experiences/quest/) \- That site is ridiculously slow for what it actually does: Static text + images. And the current state already is way better than before! Almost all content is either static (the apps) or cachable (the ratings). There are barely 100 apps in the store, so this isn't exactly a case where there have to be hot updates every few seconds. This should be rendered server-side, cached, and then sent to the users as static html. The world could save literally tons of CO2 with proper design here.

</comment></comment></comment><comment><USER10> Energy efficiency is a bad substitute for clean energy. We desperately need vast amounts of clean, emission free energy, to power electric vehicles, trains and tractors, the infrastructure used in their manufacture, the economy as a whole and the quality of life of the other 5 billion who lack internet.

The energy that we stand to save on the web, in the best case, is no more that the equivalent of a few points of GDP growth for some impoverished nation. It's less than negligible, it's net negative, because you are wasting the political and human energy optimizing irrelevant things and thinking you've made a difference.

<comment><USER11> No, internet infrastructure consumes a vast amount of electrical energy. Some put it at 10% of the global use of electricity. That's a lot just to store, process and transfer bits. Curbing that would definitely make a significant impact.

Sure, it won't solve the bigger issue in one fell swoop. No single action will. Instead, the way to realistically make progress is via the accumulation of small improvements everywhere.

<comment><USER12> No, that won't help. Even a 25% gain in all things Internet (which is almost certainly a fantasy) is only 2.5% of global usage in your worst case scenario. That's outpaced by growth so spending the effort instead on more rapidly rolling out solar/wind and replacing 5% of generation goes much further and can't be undone by a software update with a new GIF feature that sucks power.

<comment><USER11> So you'd rather have others contribute 5% than working yourself on getting these other 2.5% that you can do something about?

Btw, given the inherent thermodynamic inefficiencies in active datacenter cooling I'd be surprised if we can't do better than 25%.

<comment><USER13> The total overhead, including cooling, is only ~10% for Google datacenters [0], and the other cloud providers are likely similar. Efficiency gains of that scale probably need to come from somewhere else.

[0] [https://www.google.com/about/datacenters/efficiency](https://www.google.com/about/datacenters/efficiency)

</comment></comment></comment></comment></comment><comment><USER14> Stop including megabytes of javascript in every page, and composing pages from 100s of requests to microservices. In short, keep things simple.

<comment><USER15> But what should we do when things are actually complex?

There is a lot of negativity here on HN on the same things you mentioned, but I fail to see any viable alternatives.

Like what? Replace the MB of JS with plain Html and forms? It's not going to be simpler to code, and it's definitely not going to be simpler for the users. Or maybe use a native desktop app? Then it's even more complicated for the users, and coding it leads you in world of cross platform pain. And the closest thing there was to not using MB of Javascript and have decent UX was Java and applets/jlnp, but it somehow didn't manage to be widely adopted.

<comment><USER16> Shot in the dark here, but perhaps you could try leaving the functionality the same and just try taking out all that code that tracks every pixel the user looks at, for how long, and how they can better market porn to that user...seems like that stuff could be taken out...

<comment><USER17> What programmer wants to add those things? Ads have been the bane of the internet for 20 years, how many times has a developer excitedly clamored to ruin their performance metrics, layout, security, etc with more ads? How often are programmers arguing for incredibly complex UI elements over the native (and trivial to implement) alternatives?

Programmers don't choose these things, because programmers aren't the real decision makers, it's management and business that makes the web awful.

<comment><USER18> > What programmer wants to add those things?

The one that wants to keep their job.

> How often are programmers arguing for incredibly complex UI elements over > the native (and trivial to implement) alternatives?

The existence of Bootstrap and Semantic UI suggest that programmers are in fact often arguing for incredibly complex UI elements over the native alternatives.

</comment></comment></comment></comment></comment><comment><USER19> I don't believe asset and component delivery are the energy hogs this article implies. Actual computation uses more energy. Youtube transcoding the 500 hours of video it gets every 60 seconds uses much more power than too many unoptimized PNGs do. We live in a time where people will run their car to charge their phone. It's not js packages. The inefficiencies are in the chair, the users chair.

<comment><USER20> You're right, but that doesn't mean we shouldn't do anything. If we can flip a bit somewhere to save some minute amount of energy, we should do that. For example: optimize PNGs, it's easy and a one time procedure.

We can't change what's in the chair but we can change our product.

<comment><USER21> If the effect is minute enough, you might be using more net energy thinking about this, typing this comment, discussing it with others and optimizing your final png than actual energy saved for your users.

Feel-good savings are not helpful. You can do it but let's not pretend. Reminds me of an ex girlfriend that would account for coins she found on the ground in her monthly budget...

<comment><USER22> > Reminds me of an ex girlfriend that would account for coins she found on the > ground in her monthly budget...

Where do you find enough coins on the ground for that? I haven't come across any in my entire life.

<comment><USER21> You don't, that was kinda my point :) she'd find maybe 1 eur a month if lucky.

</comment></comment></comment></comment></comment><comment><USER23> > "But Carl, some of us don't have the luxury of building super high- > performance, lightweight, and optimised sites due to client budgets and > deadlines." Well, I think you need to work on your craft, change your > attitude and your priorities, or find another profession.

Well, I think my employer doesn't care much about this topic, so I feel like you're talking very condescending to me, while I have little to no control over issues like this.

<comment><USER24> You need to start trying to change your employers/clients mind on this - <USER2> them what the cost is by having 5MB uncompressed images and massive blocking JavaScript.

"look you having to pay $xxxxxxx in PPC" because that low cost design agency messed up a site redesign.

<comment><USER25> > You need to start trying to change your employers/clients mind on this

Then don't they needs a new job? Thats not part of a developers job description.

<comment><USER24> Is not a developers job description building the site or fixing the damm problem your given?

To give an example from my fist job about two years in one morning my boss came in and dumped on my desk some exotic kit from Feranti that cost 2x my salary with the instructions

1 hook it up to the PDP 11 make it work 2 talk to Brian and write the code so he can use it on his 3d capture experiment.

My response was "cool"

</comment></comment></comment></comment><comment><USER26> One thing that I struggle with, as someone who is not a policy maker, is understanding the proportion of carbon emissions associated with different activities, for example, what would be the carbon emissions savings of these different options:

\- The yearly energy savings of optimizing millions of web pages to reduce server side and local energy consumption?

\- Banning personal vehicle diesel engines for 12 Months?

\- Not shipping tonnes of tropical food across the Oceans for 12 months?

\- Everybody not buying new clothes for 12 Months?

\- Everybody not buying a new electronic device for 12 months?

I am not claiming that we should all go amish and bankrupt entire sections of the economy, my point is, these are all direct ways to curb carbon emissions but I have no intuition of how big of a dent in the overall emissions each option would make.

What are the carbon emissions that, if curbed, would provide the most bang for buck if you will?

<comment><USER27> I think we should create a carbon/pollution tax and let the invisible hand of the market figure that out - it's too complex and there are so many side effects to adjusting things by brute force!

<comment><USER28> Does that actually work?

I would think the invisible hand of the market would re-route all that pollution to areas without the tax and the earth wouldn't see that much difference. It's not like they're going to stop selling oil if the EU and US agree to stop burning so much of it.

I agree it's complex, but I think carbon taxes might be part of the complexity. If we're going to start messing about with markets, we should outright ban the offending activity and regulate harshly. If we're going to apply tokenomics to the problem and pretend we fixed it until we're too old to care, that seems worse somehow.

Or we can just do nothing and hope technology saves us. That's what the actual bet is whether we like it or not.

<comment><USER29> There are very reasonable legislative proposals for a carbon tax (most preferably a "fee-and-dividend" [1]) which apply border adjustments to imported goods based on their carbon footprint.

This prevents the tax from simply causing the production of the goods to move overseas, and also encourages your country's trade partners to adopt a carbon tax themselves (so they'll be exempt from the carbon tariff).

Such a policy is not attempting to distort the market so much as simply price in an externality that is currently causing the market to perform poorly. It says simply that, while I am still allowed to hop on a 3000-mile flight to visit San Fransisco for the weekend, I need to compensate you and your family (and everyone else in the country) for the associated damages.

On the other hand, because human civilization is so complex, outright bans and strict regulations on emissive activity are inevitably going to be ham-handed and will either be ineffectual or else too onerous to be politically viable in a democracy.

[1] [https://energyinnovationact.org/](https://energyinnovationact.org/)

<comment><USER30> > apply border adjustments to imported goods based on their carbon footprint

The original question _was_ how to find out the carbon footprint of goods.

<comment><USER29> That is true. But finding out those numbers is a much bigger problem for you or I than it is for a national government that can dedicate full-time research staff to producing sensible estimates.

So a benefit of this policy is that environmentally conscious private citizens no longer need to feebly grapple with such questions. You and I just optimize for personal expense and our own happiness while computing the carbon footprints of various things is the responsibility of institutions that actually have the resources to do it.

</comment></comment></comment></comment></comment></comment><comment><USER31> Lot of developers don't care about performance at all. Knuth must be regretting his life choices when he knows webshits write O(n²) code when O(n) code would be equally straightforward, and allocate memory gratiously, misquoting "premature optimization is root of all evil". Most of them also have latest hardware and don't know the user experience / business consequences of this.

Lack of knowledge of proper computer science fundamentals among blue collar developers is also a reason for this.

<comment><USER32> You get what you pay for. I would blame companies first for asking fast deliveries of features at minimum cost. When you are not paid enough you have no reason to care about the performance of the software. I would go as far as to say that you would be an idiot to do so.

</comment></comment><comment><USER33> I think there's so much that can be done with web design to make browsing the web more energy efficient, but in many cases users don't want or need a website – they just want some key data.

> "People just want to access content quickly, without distraction, without > friction, and without it using a tonne of data."

Absolutely, most new websites for small businesses are 90% identical bloated single page scrolling Wordpress sites. When we visit those sites we're often looking for contact info, opening hours, menus, or maybe links to social media so we can interact with the company. So really we want ~100 bytes of data (e.g. address / socials / telephone / opening hours) but we have to download 5mb+

A small team and I have been working on an alternative to the web for structured data. It's a DNS-based protocol that domain / email owners can use to provide data direct to users:

[https://www.num.uk](https://www.num.uk) [https://news.ycombinator.com/item?id=24354559](https://news.ycombinator.com/item?id=24354559)

<comment><USER34> How do you get around the fact that it's entirely possible to chuck "contact info, opening hours, menus, or maybe links to social media" on a plain text file on a domain right now yet no small businesses are doing it and are instead going with heavy Wordpress sites?

If that's what most users want and they want it bad enough to warrant a whole new protocol, then my thinking would be that it would have to provide some sort of competitive advantage. What has prevented it spreading despite this competitive advantage and why is that factor not present when it comes to adoption of your protocol?

<comment><USER35> I think people just do what they know.

Most laypeople that choose Wordpress do so because they want some editing interface. The bloated Wordpress templates are a consequence of them looking good in ThemeForest. There's no incentive for template makers to make super fast 100%-static templates, as those don't attract attention.

But given the chance, site owners would replace their sites with whatever works. For instance, and a lot of local businesses where I don't have webpages anymore, but only Facebook profiles with a bunch of photos and text. Some of them even have custom domains that redirect to Facebook!

Apple App Clips in iOS 14 is something similar: you don't need an App for scooters or for buying Ice Cream, so I foresee some people moving to those just because it's cheaper to make... and because customers will probably be familiar with them.

<comment><USER33> Yes I agree. I think small businesses go down that route because it's what everyone else does. I think the majority of small businesses don't choose Wordpress, the web designer does.

I don't think most companies need a website, Facebook offers great tools to engage with customers but as a website it basically just lists key data. So all they really need a website for is to provide customers with key data.

</comment></comment></comment></comment><comment><USER36> Architect/programmer here:

Here is a list of how to be more resource efficient / cost effective:

1\. Render dynamic assets to static html and cache them via a Content delivery network CDN. This will take far less cpu resources than rendering dynamic content and it will be faster to serve to the users.

2\. Set reasonably long cache expire headers for content so that content are cached locally in the browser.

3\. Use fast data structures such as hash-tables, tree structures that provides O(1), O(log n) lookup of your data whenever possible.

4\. Use fast programming languages and frameworks such as Go-lang, C++, Rust, Scala and Java instead of slower languages. Fast programming languages uses less resources than slow programming languages.

5\. This is one controversial since its not the current trend, but consider when to use Mini services / Monoliths instead of Micro services. A Monolith is a single process on one or more host it has access to local CPU cache and memory which is very fast. Mini services/Monolith will be more compute resource efficient than a Micro service where the service call has to be JSON serialized and travel over the network and then deserialized.

List of efficient web frameworks:

[https://www.techempower.com/benchmarks/#section=data-r19&hw=...](https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=query)

List of search efficient data structures. Big Tech companies ask job interview questions on these data structures for reason of speed.

[https://en.wikipedia.org/wiki/Search_data_structure](https://en.wikipedia.org/wiki/Search_data_structure)

</comment><comment><USER37> [https://motherfuckingwebsite.com/](https://motherfuckingwebsite.com/)

<comment><USER38> A series of websites everyone should read at least once.

</comment></comment><comment><USER39> Not a word about the elephant in a room - difference made by underline server technology. Here is the latest example from yours truly: was running a test for a week on my custom http multithreaded stateful server written in C++ that calculates some complex programmable proprietary metrics and serves results as JSON. Beats the system it replaces more than 150 times performance wise sustainable. So that is 150 times less energy per transaction. Not shabby.

As to horrors of manual memory management - there are none as there is not a single place where my code explicitly allocates/deallocates memory. Modern C++ is pretty good in this department.

<comment><USER40> It can definitely be true, but it depends what your service does, if you do regular HTML pages what you want is an infrastructure that can do fast string handling, for that I wouldn't pick C++.

And if you need more developer time is also a consumption of energy.

I think a more common problem is relying on general frameworks regardless of platform. Frameworks solves a general problem, but you solve a specific problem, as your example shows.

How much would it save to use SQL SELECT with the columns you need instead of a ORM that fetches everything?

Or what about API endpoints that deliveries everything to single page app that only needs a few values?

Most data deliveries online today is never used only to be discarded. And you have that discarding of data at two different places, between the database & the backend and then between the backend and the client. That is probably a higher cost than changing server language.

<comment><USER39> You are making an awful lot of assumptions without having enough info about this particular application.

<comment><USER40> No, I didn't.

Quote myself "but you solve a specific problem, as your example shows."

So I have to assume your choice of technology for your problem was the correct one & the stats you supply seems to backup such claim.

However you also implying a bigger claim that C++, or something similar, is preferable in web development, where you mostly do string handling, is not something I can agree with.

<comment><USER39> >"However you also implying a bigger claim that C++, or something similar, is preferable in web development, where you mostly do string handling, is not something I can agree with."

I was contracting with a decent size org a while ago and they had tons of web applications, some of them very giant. The total size of their code is insane and it is all PHP and Python on a server size. I was personally dealing with their application that had more than 5000 source code files. There was a lot of logic in there I would say, not just ReadString / TransformString / WriteString. That particular application would've definitely benefited from faster language.

I understand that in many cases most of the heavy lifting is done with the libs created in C/CPP and the rest is just a thin glue but I do not really know the real world stats on a subject.

So you can be right or not or the truth is somewhere in a middle.

</comment></comment></comment></comment></comment><comment><USER41> I'm trying to find a good source, but on phones, data size isn't as much of an issue as how long you have to keep the LTE radio powered for a full data connection. The worst thing you can do is progressively load content every 60s as someone scrolls or ping back to a tracking server every 60s.

<comment><USER42> Just, put the content that needs to be there out and as little else as possible.

If downloading less (off page stuff) is important for a CLIENT device to do, it will do the lazy loading for you. If loading it or not matters the client will do so. (Anywhere that just pulls it all down is still going to do the same thing; since that's the easiest way when it doesn't matter.)

</comment></comment><comment><USER43> Here are some Latency numbers every programmer should know ([https://gist.github.com/hellerbarde/2843375](https://gist.github.com/hellerbarde/2843375)):

      L1 cache reference ......................... 0.5 ns
      Branch mispredict ............................ 5 ns
      L2 cache reference ........................... 7 ns
      Mutex lock/unlock ........................... 25 ns
      Main memory reference ...................... 100 ns
      Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
      Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
      SSD random read ........................ 150,000 ns  = 150 µs
      Read 1 MB sequentially from memory ..... 250,000 ns  = 250 µs
      Round trip within same datacenter ...... 500,000 ns  = 0.5 ms
      Read 1 MB sequentially from SSD* ..... 1,000,000 ns  =   1 ms
      Disk seek ........................... 10,000,000 ns  =  10 ms
      Read 1 MB sequentially from disk .... 20,000,000 ns  =  20 ms
      Send packet CA->Netherlands->CA .... 150,000,000 ns  = 150 ms

Most of your code optimizations will _pale_ in comparison to a single disk operation.

So, maybe, you should buy more RAM? :)

<comment><USER44> This feels rather disjointed from the point of the article, somehow.

</comment></comment><comment><USER45> On top of what the article recommends her is my personal pet peeve.

STOP using gazillions of nested DIVs only to achieve a single button. I know this is the result of frameworks but maybe, just maybe, somebody someday will start making a clean layout framework that uses TABLE instead of DIV. It's sooooo f*ing much faster.

<comment><USER46> Have you got any numbers to back that up?

<comment><USER45> "have you got any..." -duude! just open facebook messenger and inspect any element there, then comeback and tell me if you can't see the gazzilion DIV's there.

Or are you referring to table vs. div from performance point of view? For that you can do your own testing. Create a DB, put in there 100k rows and then view them via a framework that uses the gazzilions I mentioned vs a table with 100k TR's. See for yourself which one loads faster. And to get out the loading times from DB, do it once then save it as HTML offline page for both tests and then use those pure HTML to load from local file. See that TABLE is faster.

<comment><USER46> (sorry should have been clear - im talking about the performance of div soup vs a table)

I'm aware how to put together those benchmarks, but you're the person making the claim. The onus is on you to prove its faster, not me.

<comment><USER45> I already proved to myself, exactly like I told you. And since you can do it yourself, then do it. Don't take my word, test yourself. Then comeback and tell me the results of your own benchmark.

<comment><USER46> > I already proved to myself, exactly like I told you.

No, you didn't. You made a claim, and then stated it was true based on your description, not based on the results.

> Then comeback and tell me the results of your own benchmark.

You're the person who is claiming it's faster. As I said above, The onus is on you to prove its faster, not me.

</comment></comment></comment></comment></comment></comment><comment><USER47> Working from home would likely have a greater impact than anything else listed here.

If I'm not mistaken, the internet uses as much power as all of Germany, or less than 100 million people. This makes our choices as individuals more important than our choices as developers.

Drive less, fly less, consume less.

</comment><comment><USER48> My first step is [https://concise-encoding.org](https://concise-encoding.org)

All of this constant stringification/destringification just for another machine to read some transmitted data is massively wasteful, but we all do it because we want our data to be human readable, so we use JSON. But what if you could send as binary, with the ability to convert 1:1 to/from text only when you needed a human to inspect or input the data?

What if you didn't need to encode all of your non-numeric data into strings?

I've got many other steps in the pipeline to reduce our energy wastage, but this first one has taken awhile (3 years), and I still need more eyes on it to make sure nothing gets missed before I release in a few months.

<comment><USER49> Someone cue in the appropriate xkcd about n+1 standards.

<comment><USER48> Someone cue in the tired old discussion pointing out that the standards xkcd comic was about the futility of all-encompassing standards, not an admonishment against making something better.

</comment></comment></comment><comment><USER50> I know this is a difficult thing to raise, but I question the assumption that the technologies underlying web frontends themselves are optimal for energy efficiency. Mobile devices are where power management matters the most, and this is where you find web tech used the least.

At the dawn of the present mobile era, there was WebOS, which was built with web tech. The original iPhone unveil showed a phone that only supported web apps, and there was no App Store at all. Android came out of Google, a company that at that point depended completely on web APIs for rendering. Something clearly changed soon after that point, as web technologies were cast aside as the major mobile platforms evolved post-iPhone.

Many people ascribe this situation to nefarious motives on Apple's part, and I am aware of their artificial restrictions, including the requirement that other browsers use webkit, the click delay, limited hardware API/camera access, etc. Still, this alone doesn't explain why the other players (especially Google) ended up prioritizing non-web apps.

I hasten to add that something is definitely lost in the mobile app store model, namely the freedom of the user and of the content creator to put things on phones without filtering by reviewers. However, I think that issue is orthogonal to the energy efficiency discussion above. And I would be overjoyed to see this resolved in a way that enhances user and creator freedom, without any energy efficiency loss.

I have worked with web tech for years, before I quit writing web apps about a year ago. I have spent the last few months learning Swift and Metal, and I can see the relative strengths and weaknesses in both web and native app paradigms.

Given the above, I'd like to hear what you have to say:

\- Did Apple deprecate web apps simply because they couldn't control them, or is there more to it than that, as the above suggests?

\- Do web technologies have a bright future as a frontend application platform, or will they continue to be eclipsed on mobile devices by Swift and Kotlin, SwiftUI and Flutter? Will this trend continue as VR and AR adoption grows? Why or why not?

</comment><comment><USER51> Quite simply by becoming web professionals in the first place.

All of the inefficiency examples create unnecessary cost or worsen the user experience. It's well documented that most people work better and more often with fast tools. And there's lots of regular folks complaining that fashionable hipster websites are horrible to use. And lastly, lots of Javascript also increases maintenance costs.

So all of the points could be summarized as "don't make user hostile beginners' mistakes"

Now the more important question is: which company actually values its users / customers enough so that they won't outsource to the lowest bidder?

<comment><USER52> Yes, this. All of the issues raised end up costing money and dollars are a great proxy for energy efficiency.

If you can shave x$/month from the infrastructure budget, wether it's servers or bandwith, you are being greener.

</comment></comment><comment><USER53> Stop cramming everything with fucking JavaScript for starters.

If you're running, say, a programming blog, stop sticking Google Analytics, "Like Me On Facebook", and any and all ads. If you've got a hankering to put the information out there, do that, and pretend it's like your old [http://your.isp.com/~username](http://your.isp.com/~username) web page. You don't need to fucking monetize it, it's a blog with your opinion which, like your asshole, is something everybody has one of.

</comment><comment><USER54> I cofounded the Hackerfleet[1] Community, a (rather too small, join! :) group of sailing hackers and nerds.

Since we operate our tech stacks with batteries and often only solar/wind power, we try to come up with very energy conservative solutions.

One thing we couldn't do without: ARM CPUs even for servers, because they're quite energy efficient.

If you have any questions, i'll be checking this comment thread for a few days.

[1]: [https://hackerfleet.eu](https://hackerfleet.eu)

<comment><USER25> I have lots of questions but none on topic you got an irc or something?

<comment><USER54> Sure, #hackerfleet on freenode :)

</comment></comment></comment><comment><USER55> "Web professionals" \- therein lies part of the problem: to turn a simple mechanism for self-publishing into an idiosyncratic ever-changing self-serving cottage industry.

</comment><comment><USER56> You can always reduce consumption. The plastic problem would not exist if we stopped using plastic. That doesn't seem tractable though so we'll probably find ways to enable us to continue consuming more plastic... but we can still try to consume less of the stuff.

Same with energy. You don't _need_ your house to be "always on," etc. Turn out the light when you leave the room. Etc.

We could similarly not expect the sites to be "always on," and "instantly available," ready to deliver the highest-fidelity content as quickly as possible.

Yes, that keeps people engaged. But maybe we don't need more engagement. Maybe we have enough engagement going around.

[https://hackaday.com/2018/10/08/perfecting-the-solar- powered...](https://hackaday.com/2018/10/08/perfecting-the-solar-powered-web- server/)

Low-powered, on-demand, peer-to-peer, edge computing seems like a neat idea.

I'm not an economist though... I'm not really sure that websites contribute significantly to energy consumption.

</comment><comment><USER41> Not the web, but abandon Bitcoin.

<comment><USER57> I came here to say exactly this. For reference, Bitcoin electrical energy consumption is (conservatively) estimated to be about the same as Belgium (yes, the country) [0].

[0]: [https://www.sciencedirect.com/science/article/abs/pii/S22146...](https://www.sciencedirect.com/science/article/abs/pii/S2214629620302966?via%3Dihub)

</comment></comment><comment><USER58> It feels like the major environmental cost is in the manufacture of new devices.

If software were properly optimized, I wouldn't need to upgrade my machinery. We'd need one fewer open cast mines to dig out rare earth metals. Less shipping. More recycling.

(Related, but tangential to web dev: device repair.)

I have no idea what I'm talking about though. I come to this site to find people who do.

</comment><comment><USER59> It's less about the web and more about the computations we're running. The stack end-to-end is inefficient because software quality is lackluster and deficient of craftsmanship. This is mostly because the hardware enabled this type of behavior.

The only way this is going to change is to change the hardware. I see this becoming possible as we transition to localized manufacturing where the individual only depends on themselves.

So as we get closer to chip fab happening via a 3d printer, and all hardware and software being local, we'll be closer to the energy efficiency goal.

You can see the trajectory already happening and IoT/Microcontroller/Etc boom. Lots of cool new projects are coming out with the "hacker-like" culture of old on energy efficient chips that can run amazing software powered by just solar alone.

Super cool, I have faith we'll get there soon!

</comment><comment><USER60> Retire javascript

The overwhelming majority of websites could be implemented with the exact same functionality with just html, and we are here because insane demand for websites created an insane wave of non knowledgable web "developers"

</comment><comment><USER61> Think videos are the obvious elephant in the room, more so than JS bloat.

One suggestion, use 304 Not Modified when possible, this saves the client re- downloading a document as well as saving any more server side processing that might've been needed to create it.

Always wondered why 'popular' JS libraries simply aren't simply bundled in with browsers. Perhaps could be a problem of preferential treatment but I think if the top dozen or so libraries/versions were bundled in then that'd potentially save a lot of bandwidth, latency, CDN usage, etc...

</comment><comment><USER62> I'm not a huge fan of putting client-side rendering on everything, but I still feel it's unfair and shallow to put so much blame on it.

For an app getting more than a couple page views in a session, a SPA solution may provide significant savings on rendering and db queries. Combine that with resource caching and these effects extend to following sessions.

That is, of course, if the app was built with some consideration regarding overall performance. Unfortunately, not too many web developers (both FE and BE) seem to be overly concerned with efficiency.

</comment><comment><USER63> A static site generator like jekyll or Hugo might be a good option if "real- time" dynamic content is not really needed - e.g. most blogs and news/magazine sites don't need to generate the page everytime (or even every so often then cache it). Just generate it once and serve the HTML.

Nothing beats the feel of a static site loading in - so snappy and fast (especially if CSS has been adequately minified/bundled too).

</comment><comment><USER64> Wait, design is the big energy hog? I find that... well, in need of some evidence and data.

I was expecting something like using serverless, or serving only static content or something.

There's just no way that "write less JavaScript" is the big needle mover compared to right sizing and scaling your fleet. Right?

Also, rather than spending two days optimizing all this, wouldn't you see much more carbon removed by spending two days planting trees?

<comment><USER38> > Wait, design is the big energy hog? I find that... well, in need of some > evidence and data.

Is that a reason not to try to make things more efficient?

> There's just no way that "write less JavaScript" is the big needle mover > compared to right sizing and scaling your fleet. Right?

My understanding is that it's less "write less JavaScript" and more "Don't pull in MB after MB of dependencies".

Also, that was just one of several points made by the author.

> Also, rather than spending two days optimizing all this, wouldn't you see > much more carbon removed by spending two days planting trees?

Por que no los dos? As a result of the author having done so, it has now saved others who are interested in doing so time learning how.

<comment><USER64> Yes, it's absolutely a reason to consider not making something more efficient. It's not free to do the things this author recommends.

Increasing efficiency has both a cost (how many hours did it take to improve this, and how much power was spent on competing to develop them) and and opportunity cost (what could we have spent those hours on instead). If the efficiency gain never repays the cost, you've actually made the system worse by making it more efficient.

There are no claims from the author about what is saved, it seems like the amount of energy spent reclaiming a small amount of energy will lately be worthwhile.

<comment><USER41> > Yes, it's absolutely a reason to consider not making something more > efficient.

Let's assume a smartphone has a battery capacity of 10WH (3000mAH * 3.7v), and you're charging your phone once per day to make up for aggregate inefficiency. If retail electric is priced at $0.10 per KWH, that's 36 cents per year? On the emissions front, that's negligible.

<comment><USER65> Is it worth considering the pollution and financial costs of replacing a battery? I suspect writing more efficient software would allow batteries to last longer and manufacturing new lithium batteries is anything but easy on the environment.

</comment></comment></comment></comment></comment><comment><USER66> I've now worked in multiple organizations where I had to fight for years to get staging environments, or to upgrade off long-deprecated software, or to fix vital security vulnerabilities. We bicker with non-designers for hours, days, weeks over whether we need a modal.

You think these people will agree to optimize for energy savings? Not a chance, unfortunately.

</comment><comment><USER67> I'm surprised nobody mentioned [http://idlewords.com/talks/website_obesity.htm](http://idlewords.com/talks/website_obesity.htm) nor [https://solar.lowtechmagazine.com](https://solar.lowtechmagazine.com)

</comment><comment><USER68> > "From data centres to transmission networks to the devices that we hold in > our hands, it is all consuming electricity, and in turn producing carbon > emissions. According to recent estimates, the entire network already > consumes 10% of global electricity production, with data traffic doubling > roughly every two years."

That's interesting. It's more than I would have guessed. I assume that's dominated by the energy used by data centers and whatever devices the users are using, and that all the switches in between are relatively cheap to run relative to how much they're used?

Anyways, my suggestion is the obvious one: turn off all that ad and tracking nonsense. That's incompatible with the business model of a lot of popular sites, though. A good fallback may be to encourage everyone to use ad- blockers.

</comment><comment><USER69> Cached server side rendering. I've been screaming for years, Why make a million computers do something (composite values into a template often with associated calculations) one computer could do ONCE and then share. Its fundamentally flawed design and it's such a enormous waste of energy.

</comment><comment><USER70> Sometimes I recycle tabs instead of opening a new one :)

</comment><comment><USER71> Just an idea: if we want to have an impact we should know what are the actual numbers, what is actually consuming energy. That could maybe be crowd sourced. Let's say someone create a browser extension that does some voluntary analytics, such as counting requests, images and their size, video, size of scripts and styles. All of this gathered somewhere anonymously.

If it's done by a trustworthy group and people start using it, we could have good information that could be used to understand what are sources of energy consumption over time from the point of view of users.

Again, that's just an idea I got reading the comments here. And I know people here will dismiss it because of privacy concerns (that I mostly share).

</comment><comment><USER72> The biggest thing web developers can do to be more efficient is stop the warfare against their users:

* Block all third party script requests

* Never access the DOM via a selector (500x slower in Chrome and 20000x slower in Firefox)

* Stop relying on 1gb of code from NPM to do your job for you

</comment><comment><USER73> Saving yourself time and money is often more energy efficient.

Here is a small example:

For my blog site, I use Netlify to host - which auto deploys on a git push. My builds running on Netlify were averaging around 3 mins (every time I pushed whether it updated content or not).

I noticed the problem when I almost ran out of build time. So I changed it to build locally and now commit the build output inside my git repo. Netlify deploys in around 5 secs now since it is all pre-built static files - I'll never run out of build time now.

My machine already has all the dependencies and cached build output, so it can build in about 20 secs.

In addition, I can handle build errors immediately rather than finding a failed deployment.

</comment><comment><USER74> This is an important and timely call to action but I think the more important audience here is ad tech professionals. The difference between my processor fan turning on or not is frequently ad tech.

<comment><USER75> Advertising is a cancer that needs to be eradicated; it not only wastes energy but also human time.

</comment></comment><comment><USER76> Learn to program server side in html and stop using JavaScript.

</comment><comment><USER77> I've been digging into the recommendations from Google's website [https://web.dev/](https://web.dev/). I think this supports the recommendations in the article. The great thing about being energy efficient is that it means providing a faster experience for users. A side effect is that it contributes to a higher search result page ranking. Lots of wins here.

</comment><comment><USER78> One goal that covers all suggestions: reduce advertisement.

</comment><comment><USER79> Get rid of ads, let people pay for ad-free viewing.

Experiment: most media sites are about 1 MB page loads, with iOS ad blockers on, it drops to 1 kB (three orders...)

</comment><comment><USER80> Talk more about what regulatory pressures can be applied to help these companies evolve:

[https://theguardian.com/sustainable- business/2017/jul/10/100...](https://theguardian.com/sustainable- business/2017/jul/10/100-fossil-fuel-companies-investors- responsible-71-global-emissions-cdp-study-climate-change)

</comment><comment><USER81> Stopped reading here:

> "But Carl, some of us don't have the luxury of building super high- > performance, lightweight, and optimised sites due to client budgets and > deadlines." Well, I think you need to work on your craft, change your > attitude and your priorities, or find another profession.

He may have a valid point, but I'll never find out as this attitude has turned me off finishing the article.

<comment><USER82> Same here, that came off as really privileged.

</comment></comment><comment><USER83> In standard web browsing how much energy is wasted due to tracking and data collection? I don't have the number but in a typical newspaper websites > 50% of CPU / bandwidth / energy dedicated to JS marketing related stuff would not surprise me. If confirmed some bold actions would be a massive win win for the general population.

</comment><comment><USER84> I believe the best way to improve the energy efficiency of the web is to improve honey potting. Bots and crawlers use way more bandwidth than actual users.

Or you could just route the entire Eastern Block and Russia off of Tier 1. That would literally solve the bot problem overnight and would drastically improve global operational security.

</comment><comment><USER85> What we always forget in this debate is how much energy the web actually already saved through - for example - more efficient logistics, shorter communication ways etc etc

This is something we need to consider in the calculation.

And lets say all data centers would work completely "green" \- wouldn't this discussion be obsolete?

</comment><comment><USER86> One idea I may find interesting enough to pursue is finding a solution that delivers an energy optimised experience for different display technologies:

\- on ips displays, reduce dark greys in davor of black

\- optimise Energy optimisations for different flavours of lcd

But I think there isn't any straight forward browser API for that

</comment><comment><USER87> Up until recently HN has been heavily upvoting anything from the bloat-as-a- service camp. What happened ?

</comment><comment><USER88> Just Stop including third-party JS, especially ads and "tag manager" scripts.

At $dayjob we are A/B testing self-hosting every script; my suspicion is self- hosted ads will beat revenue from as networks even after paying for salesperson commissions.

</comment><comment><USER89> Press F12.

No, seriously, do it now. Open your site with the "Network" tab open.

Make half of the lines go away.

I _guarantee you_ that you can, often with trivial changes to your code.

Now do that again. That's going to be harder, but you're on a roll now, you can do it.

There you go. Done. You did it.

Not _really_ that hard, was it?

</comment><comment><USER90> I was working next to my smart meter one day and noticed that doing a code build (C++) increased my PC's power consumption by ~50W.

Enthusiastically dragging windows around the desktop seemed to cause little spikes too which I assume is caused by my graphics card.

</comment><comment><USER91> Many good points here.

I know webpages I had to use for months that would eat my laptop battery if left alone (log in screen for a wifi network that scrolled the background, eating a full processor core and also search results page when using Firefox and Google).

</comment><comment><USER92> A new project manager was asking me to implement a modal that opened an additional modal on top of it. I lightly trolled him by asking if we were worried about the power consumption of opening multiple modals at once.

</comment><comment><USER93> For the backend, stop using Php, Python, Ruby and start using Java, Rust, or C++.

</comment><comment><USER94> Create a cryptocurrency that is awarded based on how little energy your computer expends mining it.

I know, it probably wouldn't really work or have any effect, but it might be a fun little humorous side project.

</comment><comment><USER95> In a future with high energy price, I often think all current unoptimized content will get unsustainable and either disappear or make users pay for access.

Then optimized free-access content will rule.

</comment><comment><USER87> This is something that widely used frameworks like bootstrap should take into account. Not only is it energy efficient, it's also snappier for the user and thus time efficient.

</comment><comment><USER96> Use CDNs for delivering JavaScript libraries instead of including everything into custom bundles.

React could be transferred ONCE to the browser-cache instead of hundreds of times.

<comment><USER97> This isn't effective as browsers partition the cache using a double (or triple) key of the document origin and third-part origin.

Safari started this and Chrome is following - [https://andydavies.me/blog/2018/09/06/safari-caching- and-3rd...](https://andydavies.me/blog/2018/09/06/safari-caching-and-3rd- party-resources/)

So with a public JS CDN React would be still transferred multiple times.

Using a custom bundle is probably more efficient as it should compress better resulting in lower download sizes (bit often modern bundles are huge so I wouldn't rely on this point)

</comment></comment><comment><USER98> The first and foremost question before even bringing up the solutions is: how do you measure?

Does web loading time alone reduce the energy consumption?

</comment><comment><USER99> The European Union introduced a graded energy label for household appliances. How about promoting something similar for websites?

</comment><comment><USER100> Use an efficient language like Rust. Work on improving performance/memory usage of slower languages, e.g. Python.

</comment><comment><USER101> Stop using javascript. Stop using CSS or color. Don't put any images in the document that are not important to the content.

<comment><USER102> Color is actually relevant. Dark mode can save a lot of energy on OLED screens.

<comment><USER101> Color should be dictated by the users browser, not by the website author, if the user wishes a dark background with light-grey text, they can configure their browser to display webpages with such a color scheme :)

<comment><USER103> I fully support this principle.

</comment></comment></comment></comment><comment><USER104> I think it's lovely trying to optimise on what's realistically a small scale (better HTML, some image crushing) but I'd imagine the much bigger issue is the world's never ending creation of pure digital landfill on TikTok, Instagram and Facebook.

Encouraging people to record every inane detail of their lives and hosting it must be a massive resource drain somewhere along the line.

</comment><comment><USER105> "entire network already consumes 10% of global electricity production" \- [citation needed].

I keep encountering blatantly wrong claims like "10 largest ships pollute more than entire Europe" or "unplugging unused chargers is important" or "there is no global warming" or "global warming threatens extinction of Homo Sapiens" so often that I stopped treating such claims seriously, unless there are proper verifiable nonpaywalled citations.

<comment><USER106> It is a hard topic, as it will depend on things like life-cycle analysis of network devices, but if you google a bit, all reports are in the 7-12% range.

Around 10% of the world's total electricity consumption is being used by the internet, according to a recent research report from Swedish KTH. [[https://insidescandinavianbusiness.com/article.php?id=356](https://insidescandinavianbusiness.com/article.php?id=356)]

Our best-case analysis shows a decline in consumption from 7.4% in 2012 to 6.9% of total global electricity consumption in 2017; however the worst-case shows a rise to 12.0% driven primarily by expansion of the network and data- center infrastructure. [[https://aran.library.nuigalway.ie/xmlui/handle/10379/3563](https://aran.library.nuigalway.ie/xmlui/handle/10379/3563)]

See figure (ICT electricity usage 2000kWh).[[https://www.nature.com/articles/d41586-018-06610-y](https://www.nature.com/articles/d41586-018-06610-y)]

<comment><USER105> Very interesting. I would expect it to be much lower. I wonder how much of this is wasted on cryptocurrencies.

</comment></comment></comment><comment><USER107> Quit using so much fucking JavaScript, it's as easy as that.

</comment><comment><USER108> Write static pages in pure html with zero JavaScript.

</comment><comment><USER109> Less javascript?

</comment><comment><USER110> Use dark mode.

</comment><comment><USER111> Get rid of all the ads and libraries

</comment><comment><USER112> I don't imagine that minor code optimisations would make as much difference as shortening the time the user spends on their device.

The goal would then be to make websites as concise as possible, toss out all ads, comment sections, social media tie-ins, videos, needlessly long-winded articles, anything that slows the visit down, and kick the user out as soon as they have what they were searching for.

But capitalism doesn't approve of that.

</comment><comment><USER113> Use less javascript framework lol

</comment><comment><USER114> Lobby government for green energy

</comment><comment><USER115> if correctly stated, this is the question the react core team has been dreading.

</comment><comment><USER116> Increase the cost of energy.

</comment><comment><USER117> Cut the ads out.

</comment><comment><USER118> Ban RGB fans

</comment><comment><USER93> Stop using Python, Ruby, Pho

</comment><comment><USER119> So the solution is more minimalist web design? No thank you. I'm quite over stripping down websites to their basest functionality.

<comment><USER120> Theres a line of thinking that suggests the form and aesthetics of systems or products should be a result of their functionality. Highly functional websites can still be efficient. A start would be to remove all the marketing, advertising and tracking garbage attached to them and optimise from there.

</comment></comment><comment><USER121> IMHO it's the wrong problem to fix. My view is that the best way to speed up the transition to clean energy is to vastly increase demand for electricity. This causes people to invest in new energy production. Which at this point pretty much means more wind and solar gets added. The more we have of it the less important remaining coal and gas plants are. Many countries are nearly done shutting down their coal plants. Gas plants are still being built but the economics for that are also not looking great at this point. Once we have a robust clean energy grid, these will probably be mothballed as well.

Data centers are already mostly running on clean energy and in so far they are not, all big cloud providers have committed to being carbon neutral. So, if you have some solar on your roof, you basically could be browsing the web without expending any carbon. So, open some more tabs and stop worrying.

In any case, the web is a tiny portion of our overall energy consumption so it's not really worth prioritizing this for optimization. Best case, it won't make a lot of difference. Worst case you are sacrificing design and UX for something that ultimately doesn't matter in terms of tangible results.

Of course, there's nothing wrong with making laptop batteries last longer, making laptops run cooler, and delivering a web site that is fast and responsive.

<comment><USER122> This is a mild example of a type of argument that I like to call "destructionist": to save something, destroy it as fast as possible so we have to deal with the consequences sooner. I've seen it applied to climate change: save the earth by ruining it!

It's fallacious, though. If you can save it later, you can save it sooner, and if it's worth saving at all, sooner is better. It's not an argument for a _solution_, it's an argument for _finding the will to implement the solution_ -- and it's the "minimally moral" argument for that. "Rather than do anything that takes moral strength, just make the problem worse and let other people deal with it!" The only worse stance is to no longer want a solution at all!

Of course it does seem like the real problem isn't figuring out what to do, but convincing people to care enough to do it. But our collective human intellect ought be able to do better than this.

<comment><USER121> It's an economic argument; you are making a moralistic argument. Economics have achieved more in the last five years than decades of moral outrage over climate change.

I'm simply stating that increased demand for energy is currently being met (almost exclusively) through clean energy. Speeding that process up through more demand (which we have anyway) also speeds up the process of shutting down dirty capacity.

This is why coal is rapidly disappearing from most countries still operating coal plants. Unthinkable ten years ago, and yet nearly completed in some countries right now. Even the US is on a clear path to probably be completely coal free very soon.

The problem is not the demand but the dirty and expensive supply. I'm simply arguing to fix the supply problem by flooding the market with clean alternatives. The fastest way to do that is simply increase demand.</comment></comment></comment>


Where Are the AB Testing Frameworks? - <AUTHOR> http://www.spiteful.com/2009/01/21/where-are-the-ab-testing-frameworks/

<comment><USER2> One of my friends, who is regrettably still in stealth mode or I would be shillin' like a villain, is working on an automated AB testing framework. Suppose you had a website with a banner, a sidebar, and body text with 3 paragraphs, each with 4 possible variations.

His software, as far as I understand it, genetically engineers the optimal web page for conversions for you. It apparently is already running on his (unrelated) software site and he credits it with helping him push through the $1 million mark. He also says that it doesn't assume there is a static optimum, but rather that different visitors might need to see different things (e.g. hypothetically, if someone has seen your screen shot page they probably don't need more visuals to make the purchase decision, so you'd use more screen real estate on textual benefits and less on screenshots).

I'm going to be beta testing it on my site, and I'll be blogging progress as usual, if anyone is interested in hearing about it. I'm pretty excited. I'm told the tracking code will be ready in about a week or two and the functional bits ready for beta relatively soon after that. (Nice rolling launch strategy, incidentally -- gives him time to collect data for the target sites and resolve the inevitable Analytics Is A Hard Problem (TM) issues, then the black magic algorithm will have some seed data for when it gets started.)

</comment><comment><AUTHOR> Genetify (<http://news.ycombinator.com/item?id=376331>) is one system that was recently open-sourced. A good discussion about it is on John Resig's site:

<http://ejohn.org/blog/genetic-ab-testing-with-javascript/>

</comment><comment><USER3> Would like to think that my comment here inspired this post: <http://news.ycombinator.com/item?id=433084> :)

As mentioned there, there are a couple of commercial products besides Google Website Optimizer, one being Optimost (now part of Interwoven). It does a lot more than just simple AB testing but is quite expensive (we were quoted around $10k/month when I played with it at my last company).

Genetify looks pretty cool and I'll spend some time playing with it. One thing I wish all these frameworks had is hooks for testing things server-side rather than with client Javascript. This would make it a lot easier to test process flows (i.e. "one-page form versus wizard") in addition to individual page elements.

If there are other open-source options out there, I'm looking forward to hearing about them.

</comment><comment><USER4> Here's an ab testing plugin I wrote for rails: <http://github.com/flyingma/rails_ab_split_tester/tree/master>

I'm hoping going to get something similar working for merb soon.

</comment><comment><USER5> <http://exp-platform.com/> is an A/B testing platform used internally at Microsoft that will be made available externally at some point.

</comment><comment><USER6> The author mentions Google Analytics, but it's not entirely clear whether he means that to include Google Website Optimizer (www.google.com/websiteoptimizer). I just completed a project with it and it is quite well implemented. The biggest downside is that you have to rely on JavaScript and requests to third-party servers.

<comment><USER7> Ah, good catch. I thought those were rolled up together, but I've edited the post to make it clear I'm talking about GWO.

</comment></comment><comment><USER8> I built one years ago (2001ish) but never even tried to commercialise it as there are tons of patents on it, with relatively big players. Perhaps they all folded, I haven't kept up with it.

<comment><USER7> That's an interesting idea. Even if the companies went away, I'm sure the patents didn't. Boo...

<comment><USER8> I am sure that's why google didn't implement it earlier; perhaps they have some licensing deal with those companies now if they are still around. It's pretty simple technology.

</comment></comment></comment><comment><USER9> Lyris HQ's Clicktracks Analytics solution has something in place, but it's hard to implement.

</comment><comment><USER10> It would be cool if Weebly had this as a feature.</comment>


Ask HN: How to learn to touch type efficiently? - <AUTHOR>

Over the past few years I've learnt to type pretty fast with my (very bad) adapted 3 or 4 finger method - I really would like to learn to touch type properly though, any recommendations on how to learn (the last time I looked into this was when typing games were distributed on CD ROMs for Windows 98)
I'm also interested in Colemak, I've never used it but heard good things.
Thanks guys! <comment><USER2> 1: Slow and accurate is better. Build up speed.

2: Do not look at the keys. Learn the finger positions. Try covering your hands with a tea towel. (Or buy a keyboard with no markings. (Which has the added advantage of switching to other layouts easy.))

3: Practice little but often. Do short stints every day rather than long stints all day. (This is training drills, you should be trying to touch type all the time.)

4: IMPORTANT: PAY ATTENTION TO ACHES AND PAINS IN YOUR HANDS AND WRISTS. Some people find that touch typing, especially the positions recommended for the hands, causes discomfort. Sometimes that discomfort can be a severely debilitating RSI. The software I liked was "Typing Master" (<http://www.typingmaster.com/>) but it looks really dated now. Maybe there are much better softwares around.

<comment><USER3> I disagree with #1 in the general case. When you're just starting out it is important to type accurately so that your fingers get the initial feel for reaching from wherever they're supposed to be, but after that you need to be careful not to plateau just because you're getting a few characters wrong here and there. Edit: In case it sounds like I'm just trying to argue, I'm not. Both approaches have their place on the learning curve, and depending on the method may work better than another. A typing tutor that doesn't let you correct mistakes should never be used for slow practice, for example.

<comment><USER2> Oh, I agree with you! It's just sloppy wording on my part.

</comment></comment></comment><comment><USER4> I don't know how efficient it is, but learning to type with Typing of the Dead is certainly the most fun.

<http://en.wikipedia.org/wiki/The_Typing_of_the_Dead>

<comment><USER5> This is how I learnt typing too. I highly recommend it! Mavis Beacon and all those other boring typing tools never worked for me and I eventually did something like the OP where I had an adapted 3-4 finger typing system. I finally spent one fine summer destroying zombies and learning to type at the same time.

<comment><AUTHOR> looks good, thanks guys! I think I'm going to give that one a go.

<comment><USER5> Oh also, when you are done learning how to type. Check out <http://oktypist.com/index.html> . This seems like a fairly neat way of checking what your net wpm should be.

(The reason I recommend doing this after you learn how to type is that your net wpm might actually be much lower than your current wpm :) )

</comment></comment></comment></comment><comment><USER6> If you can afford it, throw down the scratch for a decent keyboard.

Something with Mechanical Switches.</comment>


To save on weight, a detour to the moon is the best route to Mars - <AUTHOR> http://news.mit.edu/2015/mars-mission-save-weight-fuel-on-moon-1015 <comment><USER3>
      "This is completely against the established common wisdom
      of how to go to Mars, which is a straight shot to Mars,
      carry everything with you," de Weck says. "The idea of
      taking a detour into the lunar system … it's very
      unintuitive."

and later...

      "Assuming you can extract these resources, what do you
      do with it? Almost nobody has looked at that question."

Give me a break. People discuss this sort of approach all the time. They don't necessarily publish their conclusions, though.

<comment><USER4> They do sometimes; a lunar resources conference, in the aftermath of Apollo missions, had discussions regarding use of Moon regolith for things like refueling.

<comment><USER3> Yeah, there's loads of great analysis of lunar resource use from that era, and propellant for use beyond the Moon is a major motivation for the current interest in lunar polar volatiles. For them to act like the notion that lunar resources could be valuable for trips elsewhere is a major revelation is ridiculous.

</comment></comment></comment><comment><USER5> We still use chemical propulsion almost everywhere from cars to rocket engines, a breakthrough in propulsion systems will not only make solar system exploration feasible but will be greatly beneficial to our society by reducing pollution and costs.

We need the next steam engine for a new industrial revolution, space exploration and our society depends on it.

I think that all space resources should be channeled into this, our current approach to solar system exploration is the same as trying to explore the world by foot, expensive an inefficient and no matter how big our ambitions are we don't have the technology to accomplish them.

<comment><USER6> Exactly! Nuclear thermal rockets/fission-fragment rockets are the way to go, but you can't launch them directly from Earth because of the nuclear fallout.

<comment><USER7> Well, you can't use them for launch. And there's lots of other options for in- space propulsion.

The specific impulse is "only" double that of chemical ones, and there's potentially a large dry mass penalty.

<comment><USER6> You mean the specific impulse for nuclear thermal rockets, as far as I know the fission fragment rockets have ISPs in the 10^5 range.

</comment></comment></comment></comment><comment><USER8> You can already produce fuel on Mars itself using the Sabatier Reaction with technology available today, you have to bring along a little hydrogen but that's not too big of a deal.

Refueling on the moon requires an (almost pointless) web of infrastructure that balloons the cost of a mission, and more importantly, increases the time to carry out the mission.

Each US administration has a habit of cancelling the more ambitious NASA/JPL projects of the previous one, so if we really want to go to mars, it has to be a mission doable in as short a time span as possible, such as proposed by Zubrin's Mars Direct plan.

</comment><comment><USER9> Does anyone writing these papers have any appreciation for the difficulties of producing liquid H2 appropriate for use in manned rockets? This is some seriously tricky stuff. Turning water into liquid H2 is one thing, making it out of dirty moon-frost is another. A little impurity here and there and your rocket engine becomes a bomb.

<comment><USER4> Detander - a gas liquifier - can be pretty small and lightweight even for a big flow. Industrial hydrogen liquifiers are built routinely since 1950s if not earlier.

If you're trying to liquify hydrogen, you'll find out that most - almost all - impurities in the gas become liquid or solid before hydrogen becomes liquid. That's a good way to clean hydrogen, so you won't have an odd mixture as the result.

</comment></comment><comment><USER7> Asteroids are even better for resource utilization.

They might be far away in space but a lot closer by delta vee, and they can be reached, mined and escaped with low maximum thrust, meaning very efficient propulsion methods can be used.

This discussion just goes around in the same stupid circles for decades. We know so many better ways of doing things, but they can not be done for political / PR reasons.

</comment><comment><USER10> If you have one hour if front of you, I highly recommend this documentary: [https://www.youtube.com/watch?v=tcTZvNLL0-w](https://www.youtube.com/watch?v=tcTZvNLL0-w)

In it they explain how it would be feasible to be on Mars in ten years with current technology and not so much additional fundings.

</comment><comment><USER11> I've done that in KSP, seems to be working.

<comment><USER9> Do it in RSS, or even 64k. Stock KSP is a tiny tiny place.

<comment><USER12> Doesn't that just increase the gain of doing the refueling?

</comment></comment></comment><comment><USER13> Seeing as the title could be a bit misleading, I'm glad the article clarifies:

> _Ishimatsu says the research demonstrates the importance of establishing a > resource-producing infrastructure in space. He emphasizes that such > infrastructure may not be necessary for a first trip to Mars. But a resource > network in space would enable humans to make the journey repeatedly in a > sustainable way._

In other words if we want to get to Mars ASAP, setting up lunar mining and refueling infrastructure probably isn't the fastest way to go about that, even if it is more mass efficient.

<comment><USER14> I am curious as to why we just don't set that up on Mars to begin with. Set up a manufacturing infrastructure and an agricultural base.

<comment><USER15> Because everything you take to mars costs ~68% more fuel to get off of earth. Getting off of Earth is much harder than getting off of the moon, which has ~86% less gravity.

If you only take enough fuel to get to the moon, then you can load up there and enjoy a significantly easier time to get up to speed on the way to Mars.

I didn't see how much of a percentage difference it is in total fuel though, in the article. I'm expecting it is pretty close or they would have cited it instead of the Earth liftoff reduction.

<comment><USER16> Well another consideration is the additional time added to the Mars trip. Right now, going directly from Earth, around Earth a bunch of times, then straight to Mars will be 6-9 months one way, which I believe the opportunity to come back would be ~2 years after arriving (I may be wrong here). So, assuming we are doing a round trip and not one way, it's already a 3 year trip ish? Either way, I see building a launching space station orbiting earth as the best way. Use smaller rockets like the falcon 9, get a bunch of fuel into orbit, build the ship from many parts and trips, then launch from Earths orbit. Make the built ship reusable for many Mars trips. Like in the Martian...

<comment><USER17> A fuel station in LEO may be convenient, but it will still be much cheaper to ship fuel from the Moon than from the surface, Δv-wise. Per a handy Δv map[0], it's about 2.5km/s (if you aerobrake) vs. almost 10km/s to lift fuel from Earth.

[0] - [http://i.imgur.com/SqdzxzF.png](http://i.imgur.com/SqdzxzF.png)

<comment><USER9> Aerobrake a couple tons of liquid H2 and O2 in earth's atmosphere? Assuming it doesn't all boil off, it would certainly make for some nice fireworks.

<comment><USER17> Add moar heatshields, eh? ;).

Also, I was thinking more about dipping in the atmo a little, doing the kind of aerobraking the ISS has to fight all the time. You don't have to make the entire insertion in one orbit.

<comment><USER9> A slow series of aerobrakes would run up against the time factor. Today's H2 storage boils off about 1% per day. So if you spend a few weeks slowing things down gradually you quickly defeat the advantage as much of your fuel has escaped.

<comment><USER17> Didn't consider that. Thanks!

EDIT: Maybe there are some improvements for storage available that don't make sense on Earth given H₂ prices? A magnetic containment field, perhaps? Or whatever chemistry shenanigans are used for hydrogen fuel cells? You would be trading the time factor for mass and volume (the latter doesn't matter that much in space, and could even help with aeroinsertion), but it may still add up moneywise.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Interesting. This was the claim of the Bush administration, that the moon was the route to Mars, but that program was cancelled after being ridiculed.

</comment><comment><USER19> This point is key:

"assuming the availability of resources and fuel-generating infrastructure on the moon"

Sure, if the moon is a gas station, then stopping there to fuel up on the way to mars makes sense. But it's making a big leap of faith that refueling infrastructure and raw materials can be reasonably built on the moon.

<comment><USER17> ESA seems to be interested in pushing that angle. The recent announcement was very refreshing to hear[0].

I like to imagine it's Musk radiating enthusiasm for rubbing progress into our faces, but whatever it is, something seem to have caused a renewed interest in manned space projects. Maybe it's just ESA and NASA stepping up their PR game. But whatever it is, I'm thankful and have high hopes!

[0] - [http://www.space.com/29285-moon-base-european-space- agency.h...](http://www.space.com/29285-moon-base-european-space-agency.html)

</comment></comment><comment><USER20> if you remove mass from the moon for fuel, does that not effect the orbit of the moon, and with that the tides?

<comment><USER17> If you start spinning counterclockwise, you're robbing Earth of angular momentum and shortening the day. Source: [https://xkcd.com/162/](https://xkcd.com/162/).

The point is, Moon is big. It will be long, long time before we could do anything there that could make a measurable difference in Moon's orbital parameters or tidal forces it generates.

</comment></comment><comment><USER21> Another issue with this would be that a Mars vehicle would probably be big, and to a large extent designed to never land on anything. Getting it down to the Moon safely and back out again would be very complicated. The solution is to do a fuel run with a smaller craft that can disengage from the main craft several times, but then you're doing several landings and takeoffs and that's going to shoot the risk WAY up.

I think that we would be wise to invest in a space elevator on the Moon. We can't support one on Earth with currently understood technology, but the Moon is different and it could be done with modern materials. A plan of this sort would seriously reduce the cost of lunar development and increase the viability of the plan in the article.

<comment><USER22> The risk of multiple moon landings and takeoffs is really quite small as the moon has no atmosphere.

Perhaps not mission critical small, it might be in the range of 0.1-2% risk for each landing/takeoff cycle. So if you require 10 refuelling launches, your total risk is 1-20%.

Say you had a large moon lander, or multiple landers that make up a robotic fuel collection and refining system. Then you have a reusable lander-launcher that lands, collects the fuel and delivers whatever it doesn't use for takeoff/landing into a orbital fuel deport orbiting either the moon or earth. Actually might be best to have your deport orbiting the moon until it's full then send it on a slow, low-fuel, multi-month path back to earth orbit, perhaps you meet the Mars transfer vehicle there.

If at any point the fuel transfer lander-launcher fails, you can launch a new one from earth and push back your Mars mission. Perhaps you have multiple fuel transfer landers as a contingency, or to increase throughput (fuel in orbit isn't just useful for a single Mars mission)

Only once you have your fuel ready, do you launch your Mars crew.

You could do a similar setup at Mars to collect fuel for your trip and avoid having to drag that fuel from the moon. But a Mars fuel transfer lander-launch would be much more complex and risky, and it would be a lot harder to land the fuel collection/refining facility.

<comment><USER21> Don't forget to add the rendezvous risk. It would also be extremely difficult to try and send it to meet the vehicle during the Mars transfer - the launch window eventually closes, and even during the launch window the ideal trajectories are quite different.

</comment></comment></comment><comment><USER23> Another way to "save on weight" is to use the lowest-cost launch from Earth, and rendezvous in orbit. We're going to know what the risk and cost of reusable Falcon 9 and Falcon Heavy is long before we'd start building this lunar base. A 75% reduction in SpaceX's already low launch rates would be a big savings.

We even have experience launching fuel to ISS on the Russian and European unmanned supply ships.

</comment><comment><USER24> I bet the author just installed Kerbal Space Program...

</comment><comment><USER25> Can't find paper but I wonder if he'd taken into account near future technologies, like orbital construction (look at the IIS, that was 'built' in orbit) and fully reusable rockets.

Anyway I do believe we need to establish a resource operation on moon just because debugging a resource operation on mars as our first space colony would be all too risky.

</comment><comment><USER26> I first read about this idea in [http://www.amazon.com/Orthogonal-Galaxy-Book- ebook/dp/B00QD3...](http://www.amazon.com/Orthogonal-Galaxy-Book- ebook/dp/B00QD35580/ref=sr_1_1?s=digital- text&ie=UTF8&qid=1445001975&sr=1-1&keywords=Michael+Lewis+Galaxy)

</comment><comment><USER27> Obviously getting a chance to refuel en route is huge for saving dv - <USER2> rocket equation is a harsh mistress. Honestly, I'm a little surprised that it isn't more efficient to move the fuel for lunar orbit to LEO.

<comment><USER17> If you're flying prograde wrt. the Moon, you'll still be burning enough Δv to reach the Moon, so it may seem to be more efficient to just get yourself captured there, fuel up, and continue away.

I haven't had time to play KSP in half a year, so my intuition may be a little off.

</comment></comment><comment><USER28> On a similar note, I do think that best way to get a shot at better and more investments in space would be to build a hotel on the moon.

(Maybe I should submit my blogpost about that to a journal to get academic cred.)

</comment><comment><USER29> Oh wat no slingshot?

<comment><USER30> Once you've refuelled on the Moon, you can do an Earth flyby (with a small burn) to reduce the delta-v required to escape the Earth-Moon system. This is what the Nozomi craft tried to do:

[https://en.wikipedia.org/wiki/Nozomi_%28spacecraft%29](https://en.wikipedia.org/wiki/Nozomi_%28spacecraft%29)

</comment></comment><comment><USER31> But what about the mass depletion to the moon! ([https://en.wikipedia.org/wiki/The_Moon_Is_a_Harsh_Mistress](https://en.wikipedia.org/wiki/The_Moon_Is_a_Harsh_Mistress))</comment>


Coronavirus Could Be the End of China as Global Manufacturing Hub - <AUTHOR> https://www.forbes.com/sites/kenrapoza/2020/03/01/coronavirus-could-be-the-end-of-china-as-global-manufacturing-hub/ <comment><USER2> Don't put all your eggs in the chicken basket.</comment>


A Docker file for Reason development - <AUTHOR> https://github.com/facebook/reason/tree/master/docker <comment><USER2> Since the original link was missing some context:

Reason's goal is to make a great new "interface" to a language that is already great.

Reason currently fixes the most widely cited issues with OCaml's syntax, while curating, refining, and connecting the best tools that already exist for OCaml. We've made some progress, but there's much to do and it's the kind of work that takes a cross-organizational effort, which is why Docker, University of Cambridge's OCaml Labs, Jane Street, Frederick (core Merlin developer) and many others have all contributed, either by implement features or consulting on how to best utilize/connect the tools that exist.

[http://facebook.github.io/reason/](http://facebook.github.io/reason/)

You can check out the original HN post here: [https://news.ycombinator.com/item?id=11716975](https://news.ycombinator.com/item?id=11716975)

<comment> a-saleh So should I think about Reason to Ocaml as Elixir to Erlang, or is there more to it? I smelled hints of Chris Grangers light-table, or even EVE, when I saw the gif of the repl.

</comment></comment><comment><USER3> Sadly nothing to do with Propellerhead Reason

<comment><USER4> When I saw the headline "Reason open-sourced" yesterday, _my_ immediate reaction was "wow, propellerheads have open-sourced Reason??!!??".

Luckily I also like OCaml..:)

<comment><USER5> If there's one program of which I'd really like to see the source it would be Reason. And others like Cubase but to a lesser extent. I've done some applications which also do multi-channel audio routing through different processors etc and it's already pretty hard to do that in a nice way, and then some more to make sure everything is fast enough. But that didn't even have such lovely UI on top of it as Reason has.

<comment><USER3> Yeah I'm with you that something like Reason would be incredibly interesting to see open sourced. I think the fact that they made all of the instruments and effects processors _themselves_ instead of relying on VSTs that would be really interesting to see how they did it, definitely more interesting than Cubase.

</comment></comment></comment></comment><comment><USER6> I still can't get over the fact that they chose "fun" over "fn"...

<comment><USER2> I stand by my bike shed :D

[https://news.ycombinator.com/item?id=11718769](https://news.ycombinator.com/item?id=11718769)

<comment><USER7> That's an interesting argument I hadn't considered. It would definitely be fun to collect some of these decisions in a document (bikeshed.md?) for others to refer to, and to get insight in to the thought that went in to the design. Though maybe this would provoke unproductive arguments?

<comment><USER2> I'm impressed at how little bike shedding has actually occurred for people that are helping out. I suspect it's because we know we aren't heavily locked in, and we can automatically upgrade to the new version of the syntax.

It would still be told to record the reasoning somewhere centralized.

</comment></comment></comment></comment><comment><USER8> i'm sorry. what's reason for? is it a language? a tool? both? why would i use it?

</comment><comment><USER9> What is Reason? Besides an nigh unsearchable name for a technology?

EDIT: Well, I found it. Doesn't change the fact that it is a pretty bad name for a project: [http://facebook.github.io/reason/](http://facebook.github.io/reason/)

<comment><USER10> It's currently the first result for "Reason language", which is impressive for such a new project.

<comment><USER11> Personalized search results are to blame for that, and it's hardly immediately obvious to the reader that reason is a language.</comment></comment></comment>


Your SaaS isn't charging enough - <AUTHOR> https://medium.com/@td_evans/your-saas-isnt-charging-enough-ef4252708537 <comment><AUTHOR> I put this article together after reading and commenting in this earlier HN thread: [https://news.ycombinator.com/item?id=14279870](https://news.ycombinator.com/item?id=14279870)

I think there's a real attitude when starting as a side project to go with rock bottom pricing, feeling like it's the only way to compete with the more established players. Unfortunately, I think this hinders the progress of many exciting projects and slows down their early growth. In short, you almost definitely can and probably should charge more.</comment>


Show HN: Simulating Galaxies in 2D - <AUTHOR> https://www.youtube.com/watch?v=YiAiEWqxLWg <comment><AUTHOR> Now released as free download for Linux/Windows:

[https://bram.itch.io/sprinkle-sprinkle-little- star/devlog/63...](https://bram.itch.io/sprinkle-sprinkle-little- star/devlog/63559/new-interactive-galaxy-sim-with-2d-n-body-solver)

<comment><USER2> Not work under Debian 9.x

      $ ./nbody.bin
      ./nbody.bin: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by ./nbody.bin)</comment></comment>


Microsoft SmartScreen false positives are fixed - <AUTHOR> http://twitter.com/MicrosoftHelps/status/29697317457 <comment><USER2> This totally screwed us for the day. We spent some untold combination of hours poring over our server and website looking for anything malicious or even _remotely_ like a malicious script. We were on the phone with MS for like 2 hours getting jerked around.

What a colossal waste. Thanks Microsoft. You just further cemented our resolve to get off of your products as quickly as possible and to fervently recommend alternative browsers to our users.

This kind of thing really damages the perception of our product among users.

<comment><AUTHOR> I haven't yet seen any _explanation_ for what happened. Have you?

</comment></comment><comment><AUTHOR> This afternoon Microsoft effective took down a huge number of perfectly- reputable sites due to false-positive IDs as phishing sites. They've now resolved the problem.</comment>


Expedia CEO and CFO Fired - <AUTHOR> https://finance.yahoo.com/news/expedia-announces-exit-of-ceo-cfo-141624647.html <comment><USER2> > Scroll to continue with content

No fucking thanks.

<comment><USER3> Try Firefox reader mode (Chrome reader addon may also work, I did not test it.)</comment></comment>


A Full List of Bill Gates' Book Recommendations from 2012 to 2019 - <AUTHOR> https://bookriot.com/2019/07/19/bill-gates-book-recommendations/ <comment><USER2> Book links are Amazon affiliate links (tag boorio-20)

<comment><USER3> I guess they need to monetize somehow besides visual ads, but this is just a shameful low-quality listicle. If you want to know what Bill Gates reads, go directly to the source, reviews included.

[https://www.gatesnotes.com/Books](https://www.gatesnotes.com/Books)</comment></comment>


On the outrage at the new MacBooks - <AUTHOR> https://medium.com/@rradziszewski/on-the-outrage-at-the-new-macbooks-fb41827df9a5#.c4ltjjp59 <comment><USER2> I think this new MBP is all a trap. Apple released a shitty product on purpose to identify all the brilliant designers, engineers, marketers out there who spent the past week writing blog posts explaining how Apple sucks at designing, engineering and marketing.

Now, they have a limitless list of awesome people who _really_ know their shit to approach and try to hire. Nice move Apple!</comment>


Scientists Crack the Mathematical Mystery of Stingless Bees' Spiral Honeycombs - <AUTHOR> https://www.smithsonianmag.com/smart-news/stingless-bees-build-spiral-honeycombs-grow-crystals-180975405/ <comment><USER2> Learning that surprisingly complex behaviours can emerge from simple rules was a bit of a lightbulb moment for me. The Game of Life is the premier but Schelling's segregation model is one of my favourites.

There are a bunch of these models available in the standard library that ships with NetLogo.

[https://ccl.northwestern.edu/netlogo/](https://ccl.northwestern.edu/netlogo/)

<comment><USER3> I vaguely think that the lesson is not that complex behaviours can emerge from simple rules, but that some behaviours aren't as complex as they seem. There's a sense in which those beehives are actually very simple, but we don't see them that way.

They're not complex in a Kolmogorov sense, for sure.

What's more of a mystery to me is what metric we instinctively use for complexity.

<comment><USER2> Good point!</comment></comment></comment>


Git quick statistics - <AUTHOR> https://lukasmestan.com/git-quick-stats/ <comment><USER2> The more interesting question with git statistics is what they are actually useful for. Tools like this seem to be guided by which data is available and easy to extract. What is commits per hour useful for?

Sometimes these metrics are useful. For example, the top committers are interesting, because it instantly gives you a good hint who is very experienced with the codebase and its structure.

Two metrics I find useful to know where to refactor: Files with the most commits and with the most authors.

<comment><USER3> Commits per hour is interesting to understand CI/CD requirements.

<comment><USER4> The commits per hour statistic looks to be how many commits occurred in each hour of the day: [https://github.com/arzzen/git-quick-stats/blob/master/git- qu...](https://github.com/arzzen/git-quick-stats/blob/master/git-quick- stats#L195). For CI/CD requirements you really want to measure the time difference between every commit and the previous commit. That way you can say that if your CI/CD processes take less than X amount of time, they will finish before the next commit Y% of the time.

<comment><USER3> Not necessarily.

At any reasonable size, you have to be able to run builds and tests for features in parallel. And at that point, throughput and scale throughout the day is rather important.

</comment></comment></comment></comment><comment><USER5> Another alternative that I like is pepper¹. It doesn't have the interactive menu interface that the OP script has, but it can produce nice results² and does support other VCSs.

As an added benefit you can just use pepper to generate the data and shift to _your_ favourite tool for display.

1\. [https://jgehring.github.io/pepper/](https://jgehring.github.io/pepper/) 2\. [https://jgehring.github.io/pepper/gallery/](https://jgehring.github.io/pepper/gallery/)

</comment><comment><USER6> > Extracting this information is not always trivial, mostly because of a > gadzillion options to a gadzillion git commands – I don't think there is a > single person alive who knows them all. Probably not even Linus Torvalds > himself :).

Or Junio Hamano, for that matter (although there is a greater chance :)

</comment><comment><USER7> In the same vein, git-extras ([https://github.com/tj/git- extras/blob/master/Commands.md](https://github.com/tj/git- extras/blob/master/Commands.md)) has many similar metrics within a wider git enhancement suite.

</comment><comment><USER8> Bonus points for not being a bloated Node.js NPM module; it's all one bash script

</comment><comment><USER9> For people wondering what that's written in: bash (394 LoC according to tokei).

</comment><comment><USER10> So I installed and use `git open`. How do these applications get to work, prefaced by `git`? Wouldn't `git quick-stats` just invoke `git` with an invalid parameter?

<comment><USER11> When you installed it, `make` changed your global .gitconfig file and added the respective Git aliases to it, so that Git would know what to do and not complain about invalid commands.

This happens on this line of the project's Makefile: [https://github.com/arzzen/git-quick- stats/blob/master/Makefi...](https://github.com/arzzen/git-quick- stats/blob/master/Makefile#L21)

<comment><USER10> Aha. So this is possible because git is designed for these kinds of aliases. I wasn't sure if maybe it was core to Linux or something. Thank you.</comment></comment></comment>


Live Nation Debuts Airport-Style Fast Lane at Music Festivals - <AUTHOR> http://pitchfork.com/news/67593-live-nation-debuts-airport-style-fast-lane-at-music-festivals/ <comment><USER2> Supposedly I get PreCheck already because I have Global Entry. But even the TSA seems confused by this. Even though it's right there on the DHS website...

[https://www.dhs.gov/trusted-traveler-comparison- chart](https://www.dhs.gov/trusted-traveler-comparison-chart)

Seems like kind of a strange thing to have at a concert venue, though. I live near Dallas and while the lines at Gexa can be long sometimes, they move swiftly. It's parking that's a nightmare there.

I also wonder if whoever is in my party would be able to come with me, as is often the case with Pre Check.

<comment><AUTHOR> Thanks for taking the time to share your perspective, because I was kind of wondering how the system works - so LiveNation is now supposedly sync'd to the TSA? What kind of cross-over info-sharing is that supposed to be?

Sharing TSA-sensitive information with another party like LiveNation gives me a lot of initial reservations. Why is this a good thing? Is it Security Theater? What kind of security precautions does LiveNation have with that sensitive data?

In my experience LiveNation can't even guarantee their system is able to address bots/scalpers at best, or at worst, they enable such things through their relationship with StubHub.

I just wanted to share the development for discussion. As a fellow Dallas area resident I know this town is usually pretty 'strapped' (e.g. carrying a firearm) and it's a unique kind of consideration. Not saying I like having guns in venues with booze and emotions, but if there's some way to, uh, kind of get around it I'm not sure I like that mucho.

<comment><USER2> "LiveNation has partnered with a IdentoGO, the company that runs TSA Pre- Check"

I'm not sure how IdentoGO works, but I'm wondering if it's something like:

user buys ticket on airline or for concert. airline/whatever asks identogo "is this guy cool? identogo replies "yeah, he's cool" airline/whatever then stamps ticket with Pre Check logo.

It might be a lot more complicated than that.

I'm not really sure if it's a good thing or really even necessary. It's the area outside of a concert venue that I would be more worried about. Especially at Gexa and _especially_ in that part of town. :/</comment></comment></comment>


Mastering Go Programming course on Udemy - <AUTHOR> https://www.udemy.com/mastering-go-programming/ <comment><USER2> Discount code for anyone interested:

[https://www.retailmenot.com/showcoupon/8591406/](https://www.retailmenot.com/showcoupon/8591406/)</comment>


Lawns are the No. 1 irrigated 'crop' in America. They need to die - <AUTHOR> https://grist.org/article/lawns-are-the-no-1-agricultural-crop-in-america-they-need-to-die/ <comment><USER2> Yes it may not nourish our bodies, but the green space nourishes our souls and our brains.

If we want to do away with lawns, we'll need to make large strides forward in regards to our public spaces and parks.

</comment><comment><USER3> I wonder how much oxygen is contributed to the atmosphere by lawns.</comment>


Spam moving to Twitter? - <AUTHOR> http://www.f-secure.com/weblog/archives/00001633.html <comment><USER2> In other news, the pope is catholic OMGZ!!!!</comment>