No more MVC - <AUTHOR> https://dev.to/mustardsauce/no-more-mvc-4l97 <comment><USER2> > Action-Domain-Responder or ADR is a rather refinement of the term MVC than a > brand new architectural pattern.

There's nothing new here other than renaming.

<comment><USER3> If I understand correctly, the main difference is that the controller no longer calls the view (templating system or what-have-you) to output the result, but rather outputs the model and the responder figures out how to render that data.

I find this useful because it allows you to reuse a controller (action). In most applications you'll have at least 2 views on the system: UI and API. Sometimes, they're the same, but very often they're not.

<comment><USER2> I'd say that's exactly what it does. The Action (Controller) gets data from the Domain (Model), and calls the Responder (View) with the data which is then appropriately rendered and returned to the client.

I don't doubt that the pattern is useful for web sites and services, it just looks like plain old MVC to me and thus not meriting a new name.

</comment></comment></comment><comment><USER4> Not a great article, but the idea is worth discussing. For me, Model-View- Controller has morphed to Model-Controller-Frontend. Server side templating has been dropped and replaced with a JS framework. For complex web applications it's a great fit which allows you to move quickly but stably.

I now pretty exclusively use statically typed backends with js frontends. This gives me stability where I need it, and rapid development where I need it.

It's really still MVC, but the V got bigger and has been separated from the M and C. MC-V?

<comment><USER5> My team has transitioned into the same style stack. We used Codeigniter for everything. Now we use its controllers solely as a PHP api and its models as a db query wrapper. AngularJS handles our whole frontend. We just had a big discussion if we want to move to something smaller. Alot of us want to switch to python for professional reasons.

<comment><USER6> Why python in particular? I'm just curious.

<comment><USER5> Its used in alot more industry than just web design. I've seen it used for both robotics and ML as well. If I'm still writing server side code for the foreseeable future, I'd like to practice skills in a language that can translate to other uses, whether that's python or javascript via node.js

</comment></comment></comment></comment><comment><USER7> The main issue with most applications is state management. This is where Redux get's it right, but I don't think there's much value trying to sum up why Redux solves the state management problem in a succinct little diagram. For me, the important things introduced by redux are

      1. As single, immutable, source of truth (The Store)
      2. Unidirectional data flow
      3. Clear separation of concerts (views, actions, reducers,
      the store).

You could stop there and create a nice little diagram, but you need to go further to get the actual benefits.

      4. Functional programming (eschew OOP)
      5. Higher Order Components (or render prop)
      6. Forget DRY, favour simplicity over abstraction
      7. Selectors
      8. Proper control over side effects (see Redux Sagas)
      9. Container components and presentational components.

You could still draw a diagram, but it wouldn't be the nice, neat, three box diagram people seem to love so much.

Redux is really only viable for Javascript at the moment, but I think it would be an approach worth using elsewhere. Sadly, the model part is hard to get right in compiled, statically typed languages.

I'd add to this, I think a thoughtful approach to a redux architecture negates the need for typed Javascript. When your code is functional, your functions are small, your concerns are properly separated, you side effects are wrangled and you state is under total control, Typescript and Flow just make things complicated again.

</comment><comment><USER8> The title is clickbait, but renaming MVC to ADR is a change that shouldn't be underplayed: ADR seems orders of magnitude more intuitive conceptually

</comment><comment><USER9> tl;dr; version: They've just renamed the Model, View, Controller into Domain, Responder & Action... which I admit is a bit clearer way to name them, but the idea is still exactly the same.

<comment><USER10> If only the blog post didn't have a blatantly click-bait title.

The boundary lines between the Model, View, and Controller always tended to be a bit fuzzy (with each technology providing their own interpretation of it).

I'm alright with a clarifying name change. But it certainly doesn't mean that MVC is "dead".

</comment></comment><comment><USER2> A better name for this very short article would be: How to use MVC for "modern server-side web development".

</comment><comment><USER11> MVVM seems to be the way most of the world has gone. The common model is translated to a view model and exposed over REST.

</comment><comment><USER12> > However it does not describe well how (server-side!) web-app architecture > looks like.

Does it need to?</comment>


Adding Millions To Your Valuation Using SEO - <AUTHOR> http://mygengo.com/talk/blog/adding-millions-to-your-valuation-using-seo/ <comment><USER2> I'm working at myGengo this week on creating a SEO strategy and teaching the team about it. They have a fun company-wide institution called power blogging hour: drop what you're doing and, for the next hour, write like mad, then we post the results. Since I was there I got asked to participate, and this is what I could come up with regarding SEO and startups in an hour.

Let me know if you have comments. I sincerely think the blind spot about SEO and reflexive distaste for it is the biggest marketing opportunity startups are routinely missing.

<comment><USER3> > I sincerely think the blind spot about SEO and reflexive distaste for it is > the biggest marketing opportunity startups are routinely missing.

Maybe you should brand what you do differently then, as some kind of 'marketing'. What do marketing guys say about hanging on to sullied words?

Find the right words, and you could _really_ stand out from the crowd.

> SEO is called black magic

One reason it's called black magic is because it's a "platform" that appears to be built on shifting sands: Google's algorithm. Or at least that's one way of looking at it. The only people who know what goes on with Google are working there and aren't sharing it. You come across, with your A/B testing and general knowledge, as more of the 'real thing', but a lot of those guys seem to be trying to resell the Google webmaster guidelines for high hourly rates.

> Savvy use of techniques like scalable content generation

Can you go into this in more detail?

<comment><USER2> Given that it is 5:30 AM here I wouldn't trust a book-length elaboration right now, but yes, I am always happy to talk scalable content generation. See Greatest Hits section on my blog or upcoming projects that I'm not sure I can talk about.

Short version: identify large source of related problems for customers. Solve one problem via writing a web page about it, manually. Productize process of writing that web page such that the only asset required to write a spiritually similar page is money. Scale horizontally across large number of customer needs via addition of money. Collect stats on what becomes popular or profitable. Do it again, focusing on what worked or shows other obvious opportunities.

Basically, it's the "I sell BCC because I out publish every educational publisher in the world, combined, with regards to bingo cards", applied to whatever actually matters for your particular niche. You can safely assume that myGengo is interested in the problems experienced by people speaking Japanese who are trying to sell cookies to people who speak English. There is a very large set of similar needs. I'd bet money (OK, technically, they're betting money) that those needs (or similar ones) can be addressed at scale.

<comment><USER3> > Scale horizontally across large number of customer needs via addition of > money.

Hrm... that seems applicable to BCC, where you go after the "long tail" of bingo cards. How about something, like, say, Amy Hoy's time tracking thing? Is there a long tail of time tracking? "Time tracking for .... "? Or maybe I'm not getting what you're saying.

</comment></comment></comment></comment><comment><USER4> Simple stuff like getting title tags right takes 5 minutes and does makes a difference.

Thanks for sharing.

</comment><comment><USER5> For people interested in SEO tips straight from Google, Matt Cutts has written a lot about little things you can do to help Google figure out how to rank you. Here's one post on the subject: <http://www.mattcutts.com/blog/seo-for- bloggers/>

Google tries to be smart. It can sometimes be stupid. Helping Google out is a good thing to do.

HOWEVER, be sure that the things you do to your site to help it rank don't make it a worse experience for the person using it (keyword stuffing, etc), and don't make the web worse in general (link spamming.)

</comment><comment><USER6> So what do I do? I'm good with programming, I know nothing about SEO. Shoot.

<comment><USER7> I know nothing about programming. I'm good with SEO.

What should I do? : )

hint: the answer might be the same!

<comment><USER8> Assuming this is an earnest question... learn python.

I recommend you read "learn python the hard way". After you're done you will know plenty about programming - enough to build your own tools and tests. There have been two different posts on HN in the past 6 months to the tune of "I taught myself django (it's python) and programming in six weeks, check out my new site!"

You won't regret it.

Edit: I recommend python because it's designed to be easy to read, easy to learn, and powerful. That and its growth trends in the past 18 months are phenomenal. It's a perfect first language for today.

</comment></comment></comment><comment><USER9> I'm not sure the simple SEO steps described here will really add "millions" to your valuation just like that, but this article really was more interesting than the somewhat link-baity title might suggest.

<comment><USER2> This is more a why post than a how post. The five minute intervention will not, by itself, add millions, just like your first commit to a version control system won't. However, it is a necessary prerequisite to doing clearly, incontestably valuable things.

I found a funded startup today whose title tag was $COMPANY_NAME. They're in a space where SEO is a clear win and it is obvious no person has spent so much as thirty seconds thinking about it. That's as bad as source control through "I zip up a copy of the code and email it to you."

</comment></comment><comment><USER10> Like everyone here, I've read a lot of stuff about SEO.

I'm not sure exactly why, but this article got me to actually decide to change the way I'm building my sites. All the others I just filed under: "Good to know. I'll use that some day."

You've just made the dozens of hours I've spent reading about this stuff actionable. Thank you.

</comment><comment><USER11> Patrick, can you elaborate on what "scalable content generation" is?</comment>


Publish events from your Spark Core - <AUTHOR> http://blog.spark.io/2014/03/11/spark-publish/#

<comment><USER2> What does this have to do with the "cloud?" Does it really mean "Internet?" The cloud is about scalable resources that can be elastically leased for short or long periods of time. That's different than the Internet, which is a means of communication...

<comment><USER3> The cloud is the part of the network you don't have to care about. It started out meaning the Internet. You would draw a local network diagram, then a little cloud, then the remote network. You didn't care about who owned all the links in between, where they were, how many there were etc. People have been thinking about moving things "into the cloud" well before it became a buzzword. Moving storage into the cloud was easy enough, just make a network request to send or retrieve data. You don't have to care where the data is, or even who owns the servers. This is more than "the internet" because it includes servers and storage, not just the network. Moving computation to the cloud has been trickier - Amazon EC2 gives you a lot of flexibility but it's not very "cloudy". Wolfram Alpha or Google Drive spreadsheets might be a better example.

<comment><USER4> From _The NIST Definition of Cloud Computing_ [1], there are five essential characteristics of cloud computing:

      * On-demand self service
      * Broad network access
      * Resource pooling
      * Rapid elasticity
      * Measured service

If EC2/AWS doesn't meet that definition, what does?

[1] [http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145...](http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf)

<comment><USER3> I just mean that you have to care a little too much about where the servers are (by region and availability zone) and of course you know who owns them :)

</comment></comment></comment></comment><comment><USER5> This is great, nice job! I work at Keen IO and we're kind of obsessed with smart device event data. Do you think Spark users would be interested in an API to collect & query all their Spark events? For example we have integrations so that any Stripe or Sendgrid user can collect & query their payment/email events. I could imagine a similar integration for Spark events. We also work with smart devices companies. There could be some really interesting partnership opportunities here. Thanks for sharing your post!

</comment><comment><USER6> Can everything be enabled without spark.io in the loop? In other words, can I just use my own home server and get the same functionality today?

<comment><USER7> From the homepage ([https://www.spark.io/](https://www.spark.io/)):

What if I don't want to connect through the Cloud?

That's okay! The Cloud is there to make the Core easier to work with, but if you'd rather do it yourself, that's no problem. The Core lets you do your own socket programming over TCP and UDP.

If you want the simplicity of the Cloud but you want it on your own server, we'll be releasing an open source version of the Cloud designed for quick and easy deployment.

<comment><USER6> Thanks, so the answer is no, as long as that open source version is vaporware.

The reason I asked is that once they get purchased by, say, Google or Facebook, their cloud services will probably get either shut down, or severely constrained. I'm not interested in sinking resources into a platform based on question marks.

<comment><USER8> (full disclaimer: I work at Spark, and am personally responsible for the local cloud)

We will definitely be releasing this, we consider it a promise we made to our Kickstarter backers.

<comment><USER9> How can we help?

<comment><USER8> Thank you for asking, much appreciated. :)

We'll probably do a small beta as we get the local cloud ready for release to make sure things are easy to use and work as expected. Since it'll be open source, I'm hoping the beta group can help find bugs and even send in pull requests if there are pieces they want added. The beta signup thread is here at the moment: [https://community.spark.io/t/where-is-the-source-code-for- th...](https://community.spark.io/t/where-is-the-source-code-for-the- cloud/1381/15)

Thanks, David

</comment></comment></comment></comment></comment></comment><comment><USER10> I'm looking for a wifi ingress monitor (ideally it would take a picture rather than be a simple sensor) - any suggestions.

Also, re the spark:

"No need to ever plug the Core into your computer" vs. "Power it over USB"

Edit: scratch that, [https://www.spark.io/#](https://www.spark.io/#) has details of a "battery shield" with a LiPo - an idea of the battery life when running the OP's sensor application would be nice though?

<comment><USER11> are you talking about "ingress" the google game? You are probably talking about physical security but if not, I would love to hear more about what this monitor would do for you to monitor the game

<comment><USER10> Sorry, I meant the boring one. Presumably in the Google one the app provides all the monitoring you need.

</comment></comment></comment><comment><USER12> For me, the most interesting thing was HTML server-sent events which I had never heard of before. Thanks!</comment>


Privacy friendly website analytics also will be blocked by default - <AUTHOR> https://simon-frey.com/blog/privacy-friendly-website-analytics-also-will-be-blocked-by-default/ <comment><USER2> What stops adblockers from eventually blocking this script too?

<comment><AUTHOR> The way it works is randomizing the query parameters. As mentioned in the article: As long as your custom domain is not blocked as blockers have no chance of permanently blocking this script as you easily can change the parameters again

<comment><USER2> Thanks! So randomizing the file name and query params is enough to avoid all ad-blockers? Don't they also use other flags/heuristics for determining whether a request is blocked or not?

<comment><AUTHOR> The majority of ad block rules workes based on the info provided in the url. Everything in there can be used + the ip where the domain points to.

Better ad blocker could do heuristics based on the JavaScript itself...did not see this in the wild so far though</comment></comment></comment></comment>


Could your social networks spill your secrets? - <AUTHOR> http://www.newscientist.com/blogs/shortsharpscience/2009/01/what-your-social-network-can-r.html <comment><USER2> The paper by authors from Google linked to from the submitted article is quite interesting.</comment>


Linux top command: customization guide - <AUTHOR> https://haydenjames.io/linux-top-customize-it/ <comment><USER2> I love top. I just posted a question a few days ago on r/linux about using these customization over htop.</comment>


Flash Design Is The Problem - <AUTHOR> http://mantia.me/blog/flash-design-is-the-problem/

<comment><USER2> That is a very good point. Although obviously it doesn't have as much to do with Flash as the fact that we've all been designing for mouse/keyboard interaction for years now. You can, after all, do hovering menus using Javascript/CSS.

But yes a bunch of existing Flash content relying on mouse clicks or keyboard inputs will have to be rethought out for touchscreens based controls anyway.</comment>


Show HN: A compile testing library for Kotlin - <AUTHOR> https://github.com/tschuchortdev/kotlin-compile-testing <comment><AUTHOR> I recently released this compile testing library for Kotlin in the spirit of Google's [compile-testing]([https://github.com/google/compile- testing](https://github.com/google/compile-testing)). It can be used to test annotation processors, compiler plugins and code generation.

 _Features:_

\- Mixed-source sets: Compile Kotlin and Java source files together

\- Supports compiler plugins

\- Run annotation processors on Kotlin and Java sources

\- Generate Kotlin and Java sources

\- Provide your own instances of annotation processors directly to the compiler instead of letting the compiler create them with a service locator

\- Debug annotation processors: Since the compilation runs in the same process as your application, you can easily debug it instead of having to attach your IDE's debugger manually to the compilation process

\- Inherit classpath: Compiled sources have access to classes in your application

\- Project Jigsaw compatible: Works with JDK 8 as well as JDK 9 and later

\- JDK cross compilation: Provide your own JDK to compile the code against, instead of using the host application's JDK. This allows you to easily test your code on all JDK versions

\- Find dependencies automatically on the host classpath

Hopefully it will be as helpful to you as it was to me.</comment>


Why deep learning won't give us level 5 self-driving cars - <AUTHOR> https://bdtechtalks.com/2020/07/29/self-driving-tesla-car-deep-learning/ <comment><USER2> Elon isn't promising this for consumer cars in 2020. He's talking about internal development vehicles. The author seems to have missed this distinction, and then based large parts of the article on this misunderstanding.

For me that's really the strongest plausible interpretation. There are other, weaker interpretations such as the author is twisting the facts to suit an agenda. I'm not even going there. I think the author has just bought into a common meme about Elon "promising" things when he's really talking about in- house development cars.

Also:

>But for the time being, deep learning algorithms don't have such capabilities

I don't know how he is so confident about the absence of capabilities, when he's not an insider. And the phrase "for the time being" is a tip-off that even the author acknowledges that deep learning is still a developing field.

Tesla does have some interesting approaches. The article also doesn't mention the hydranet, something Tesla has talked about publicly, which sounds to be a fusion of multiple deep learning networks. In any case, I would look elsewhere for insights about Tesla, unless the author can evolve his view to be more open minded.

The article does have some good points about the challenges. I'm a skeptic as well. But also very optimistic and curious to see where the tech and the massive data will take us.

The mentioned problem of having a dearth of China data, well, that is being chipped away at now.

It's certainly a more massive problem than the US driving environment… China is insane. We visited a "this used to be secret, now it's not" huge super-wide emergency backup military runway that was also used as a road and 1) for pedestrian traffic 2) for ox carts 3) for freeway-speed traffic 4) for normal speed local traffic 5) for bicycles and 6) for threshing wheat… they lay the wheat out and let passing vehicles do the work of threshing it, with people tending the process and walking out into the middle of the road/runway to fetch the partially processed wheat. Just think all the edge cases in that one environment alone. And that was just coastal China. It's a big country. The data is going to be interesting.</comment>


Government Propaganda Outlet Funds Electronic Frontier Foundation - <AUTHOR> https://diycivics.wordpress.com/2017/07/24/government-propaganda-outlet-funds-electronic-frontier-foundation/ <comment><USER2> Rachael Tackett's article doesn't quite meet the standard of FAKE NEWS, but it is more agitprop broadside than journalism. It's mostly about Radio Free Asia and events which predate the founding of EFF. EFF Executive Director Cindy Cohn response to her questions seems clear and dispositive.

Full disclosure: I am a long time supporter of EFF. If you are concerned about freedom in cyberspace, you might want to become a member/contributor. For information: [http://www.eff.org](http://www.eff.org). If you just want to contribute: [https://supporters.eff.org/donate/donate](https://supporters.eff.org/donate/donate).</comment>


What I've Learned about human rights in 2013 - <AUTHOR> http://raganwald.posterous.com/what-ive-learned-about-human-rights-in-2013 <comment><USER2> Let's not forget "Ignore the fact that we are using drones to kill families in other countries without declaring war and denying US citizens the right to a trial by holding them indefinitely"</comment>


The best, most inspiring use of social media I've seen - <AUTHOR> https://twitter.com/sheaserrano/status/1238326678260195328 <comment><AUTHOR> Shea Serrano is a writer for The Ringer. He's not rich, but he's doing fine (has written a couple books). However it went to another level in my mind when his followers started paying each other's bills midway through the thread.</comment>


Facebook is trying to make the word "private" meaningless - <AUTHOR> https://theoutline.com/post/7377/facebook-is-trying-to-make-the-word-private-meaningless <comment><USER2> I think that even the most naive facebook fan out there doesn't believe Zuckerberg's born again moment line about privacy when everything he has done his whole life is to destroy all privacy worldwide and monetize it as ruthlessly as possible.

He just wants to merge everything quickly under the misdirect of "privacy" so that he can claim some technical reason why it's impossible to spin off instagram.

The regulators are coming. Probably not for a couple years, but Zuckerberg knows and is preparing.

</comment><comment><USER3> Facebook does make privacy meaningless... and avoiding Facebook increases your chances of keeping some privacy but it is not guaranteed.</comment>


Trump: 'A lot of people' think Edward Snowden 'not being treated fairly' - <AUTHOR> https://nypost.com/2020/08/13/trump-a-lot-of-people-think-edward-snowden-not-being-treated-fairly/ <comment><USER2> That sounds suspiciously like he's considering pardoning Snowden.

Also... going from calling for Snowden's execution to potentially pardoning him is one hell of a 180.

<comment><USER3> I would love him to do so. We really need another wake up call in this country that the government routinely lies to us and that trusting our officials requires them proving they can be trusted.

Remember, Snowden has been out of this country since May of 2013 and the last Administration did not pardon him but instead did pardon Manning whose actions were more reckless. It really comes down to the fact Snowden really stepped on the toes of some big time political players who are not used to being called out.

<comment><USER4> Manning stood to face her her crimes like a long line of revered civil disobedients before her. Snowden ran away into the arms of a hostile foreign power. That has just as much to do with pissing off the government as what either of them revealed.

<comment><USER5> The laws that would out Snowden and Manning in prison for life are unjust and there's nothing wrong with what either of them did. I don't blame Snowden for leaving a country full of idiots calling for his death

<comment><USER6> Please don't take HN threads further into nationalistic flamewar. Your comment would be fine without the swipe at the end.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment></comment></comment><comment><USER7> ... Now, THEREFORE, I, DONALD JOHN TRUMP , President of the United States, pursuant to the pardon power conferred upon me by Article II, Section 2, of the Constitution, have granted and by these presents do grant a full, free, and absolute pardon unto Edward Joseph Snowden for all offenses against the United States which he, Edward Joseph Snowden, has committed or may have committed or taken part in during the period from March 1, 2007 through August 14, 2020. ...

<comment><USER8> If that were to happen I can imagine at least some people who were for his pardon in '14 would denounce the pardon if it came to be.

<comment><USER9> Trump should pardon Snowden because it's the right thing to do.

He should also not be undercutting the post office, assassinating Iranian generals, enforcing tariffs on allies like Canada and Europe.

Pardoning Snowden is a meaningless gesture, it does nothing to stop the military industrial complex and the intelligence apparatus that he supports

<comment><USER8> The only one I disagree with is cutting funding to USPS. Europe and Canada (nor anyone not specially exempted) should not enjoy advantage in trade. People were beside themselves over rumors of Russian snipers, this guy was directly responsible for troop deaths and much more instability in the ME. We've just seen peace agreements begin to bear fruit in the ME —would that have been possible with that guy stirring up hornets's nests?

<comment> non-entity > this guy was directly responsible for troop deaths and much more instability > in the ME.

Should Trump then assassinate Bush and Obama?

<comment><USER8> No, only external adversaries would entertain such pointless notion. Just like Duterte might in his dreams think of sinking Chinese ships, in reality he'd dig his own grave if he did.

</comment></comment></comment></comment></comment></comment><comment><USER8> Intelligence services used to be unassailable. They did the dirty work for the country (and admittedly it's a necessary thing in an unfair world), but a couple of major problems are: they are often wrong in very bad ways: Russian missile crisis, power of the late USSR where Reagan has to seek advice from DoD instead, gulf war II and then the internal and political spying (remember they were caught spying on congress?)

<comment><USER10> I'm generally distrustful of intelligence agencies because they are literally designed to carry out underhanded and deceptive operations. If you go back and read old WWII and Cold War declassified documents you can clearly see a lot of "ends justify the means" operations. I've never understood why we hold these agencies in such high regard. I guess because they're supposed to be on 'our side'?

<comment><USER8> Unfortunately one can't unilaterally be "the nice guy" and hope everyone else will decide, "yeah, let's all be nice guys". It doesn't happen. So everyone who wants a more level playing field for themselves has to engage.

</comment></comment></comment><comment><USER11> Well, he's right. Maybe this is Snowden's chance, I wonder if he'll file another plea for immunity. Clearly Trump's election strategy should be to paint the Democrats as pawns of the deep state whereas he is not, and freeing Snowden would play well with that narrative.

</comment><comment><USER12> A member of Congress (Thomas Massie - U.S. Rep KY) tweeted that Trump should pardon Snowden this morning as well: [https://twitter.com/RepThomasMassie/status/12942523311319040...](https://twitter.com/RepThomasMassie/status/1294252331131904002)

</comment><comment><USER13> Why is this flagged?

<comment><USER14> Possibly for including Trump's go-to 'a lot of people'?

</comment></comment><comment><USER15> Dear President Trump: Please

1\. Pardon Snowden 2\. Commission a statue of him, perhaps to replace Columbus on a plinth somewhere 3\. Award him the Medal of Freedom 4\. Appoint him as the Director of the National Security Agency

In return I'll vote for you. Such a deal.

</comment><comment><USER16> >In a 2013 tweet, Trump wrote: "Snowden is a spy who should be executed-but if it and he could reveal Obama's records, I might become a major fan."

good god, that's one of the most Trumpish Trump tweets ever.

<comment><USER17> source?

<comment><USER18> [https://twitter.com/realdonaldtrump/status/39568370275766272...](https://twitter.com/realdonaldtrump/status/395683702757662721)

</comment></comment></comment><comment><USER19> Is this article only three short paragraphs long, or is something not being displayed somewhere?

<comment><USER20> I see about 10-12 paragraph indents, although short, so it might be an issue on your end. NYPost does have an intense number of ads so perhaps a blocker issue?

</comment></comment><comment><USER21> Can someone explain why the GOP wants this? Isn't Snowden a disaster for them?

<comment><USER22> In no particular order.

1) Trump is very much not of fan of the sorts of shadowy warrant-less surveillance that snowed exposed (because he feels it was used against him) so this could be a dig at that apparatus.

2) Obama didn't pardon him despite doing so being far more popular on the left than right (at least up until present, no telling what will happen going forward) and this could force Biden in a tricky situation especially with the current public opinion situation

3) Snowden is controversial on the right (the anti-government crowd loves him) so this might be a move to strengthen his appearance among the fraction of the party who are alarmed by his authoritarian tendencies (cue joke about an NY Democrat in Republican's clothing).

4) His advisors who are paid to think about this stuff 40+hr a week have thought of something I haven't.

<comment><USER23> > because he feels it was used against him

It's seeming like this is quickly turning from a "he feels it was used against him" into an unequivocal "it was used against him".

<comment><USER24> I've seen more than enough evidence through the reports and proceedings on FISA abuse ala Carter Page and Peter Strzok that I'm convinced it was definitely used against him, during and after the election.

</comment></comment></comment></comment><comment><USER25> Why now?

<comment><USER26> Well, if you start to think that there is something seriously wrong with State and the CIA, and they hate Snowden then you might want to consider that maybe you should look at the whole thing differently. Plus, he has some Republicans telling him to pardon Snowden.

<comment><USER23> That, and enough time has passed with Snowden in exile that it still carries the message the Intelligence Community wanted sent - ie. don't do this!

So, bringing him back to the US and pardoning him with "time served in exile", might be sufficient to make it more acceptable to a broader audience versus a 2014 pardon.

</comment></comment></comment><comment><USER27> Has anyone discovered a pattern in what Trump likes and dislikes yet?

<comment> dr-smooth expediency

</comment></comment><comment><USER28> Trump is about to catch a lot of heat for messing with the USPS. This is him trying to put out something controversial so that the lame media will bite on that instead.

Also, Trump projects. Like, a lot. So I wonder if this might be telling in that respect as well.

Edit: I'm going to double down. Trump is setting things up so that he can say the election is corrupt due to China and our spy agencies are not to be believed when they say "nope", thus tying up the election in courts as long as possible. I think he believes that come Jan 20, if no President is officially declared, that he'll just stay President. Or at least he and Barr believe they can challenge that.</comment>


Antarctic sea ice – rapid decreases, reduced to lowest area in 40 years - <AUTHOR> https://www.pnas.org/content/early/2019/06/25/1906556116 <comment><USER2> I think that it's important for free market advocates, myself included, to understand something. Negative third party externalities, having direct impacts on individuals that did not consent to the responsible transaction(s), are fully within the responsibility of the government to regulate and/or tax. You are not violating your principles by backing state intervention for environmental issues.

<comment><USER3> Even still, you're assuming the government has the ability to address climate change if given the chance. But, there would need to be global consensus and enforcement or government intervention could actually make the problem worse (e.g. heavy environmental regulatory burden means products get manufactured and shipped from Asia, and actually generate more carbon emissions).

Perhaps, free market solutions a la Tesla are all we've got?

<comment><USER4> > Perhaps, free market solutions a la Tesla are all we've got?

Tesla is still promoting the idea of the individual car, and that electric cars could replace the ICE car for each and every travel that it is used currently.

If Tesla is the free market solution, then be prepared to pay the bill for climate change.

<comment><USER3> I said Tesla was perhaps "a" solution, not "the" solution. What alternative solutions do you propose?

<comment><USER4> Regarding transportation, it's in my comment. Put an end to the individual car and promote public transportation.

Replacing ICE cars with electric cars looks like it's better than nothing, but it's only gonna promote the business-as-usual mindset.

Today, even with limited electric car adoption, our energy consumption is growing faster than the production of electricity from renewables is growing. That means more energy from fossil fuels worldwide. We need to slow down until solutions are found.

</comment></comment></comment></comment></comment><comment><USER5> Doomsday messages are coming in in rapid succession. First the permafrost is melting 70 years earlier than expected, then Greenland losing massive amounts of ice, then glaciers that provide fresh water for hundreds of millions in India and China disappearing at an alarming rate, now this.

And still politicians do nothing. What we need is an effort to build renewables, insulate homes, and build charging infrastructure that rivals the Apollo program, what we get are "freedom molecules" and "clean coal".

<comment><USER6> Don't forget that all the insects (the single largest link in the animalian food chain) are dying.

Politicians long ago forgot that their _job_ is to instigate improvement in society, and now relegate themselves to either decrying or defending the status quo. I'm beginning to fear that the Apollo program might actually be the greatest societal effort the US will ever undertake.

<comment><USER7> I'm not sure politicians have ever seen their jobs as instigating improvements to society. I think they see their job as to protect the interests of the biggest contributors to their campaigns. There was a time when that was organized labor, which is as close as you're going to get to the "will of the people", but now it's mostly big business.

<comment><USER8> There did seem to be a tendency to try in the immediate post-war era. Even the right, hands off, side of politics were increasing state services and benefits. In no small part as a consequence of coming back from the war, so soon after the previous one, generating a widespread mood of "now we must do better". It mostly survived through the sixties, and finally died with the 73 oil crisis. That caused the chaos of the rest of the seventies that resulted in the course we're still on today.

</comment></comment></comment></comment><comment><USER9> Want to make a difference on climate change as a technologist? Feel free to join these communities actively looking for support and with ongoing projects (that are alive):

\- [https://climateaction.tech/](https://climateaction.tech/)

\- [https://techimpactmakers.com/](https://techimpactmakers.com/)

\- [https://www.tmrow.com/](https://www.tmrow.com/)

<comment><USER10> You should also take political action. With due respect to people who are trying to take positive individual action, it will not be enough. We've been waiting 30 years and people are still driving SUVs. Only large scale government policy can move the needle for an entire society. Maybe you have political views that you find that distasteful, but unfortunately we're running out of time, and you'll have to choose between your politics and your future.

[https://www.sunrisemovement.org/](https://www.sunrisemovement.org/)

[http://rebellion.earth/](http://rebellion.earth/)

<comment><USER9> Everything will be needed - incl. political action. Not everyone wants to be political, and people should be offered other choices.

<comment><USER11> If people don't want to be political now, they're really not going to like the choices (or lack thereof) left after politics have failed and the crisis, famines, and other impacts start to become apparent to the general population. Choices are what we are rapidly running out of.

</comment></comment></comment></comment><comment><USER12> Getting whiplash reading this. What's the upshot?

 _Following over 3 decades of gradual but uneven increases in sea ice coverage, the yearly average Antarctic sea ice extents reached a record high of 12.8 × 106 km2 in 2014, followed by a decline so precipitous that they reached their lowest value in the 40-y 1979–2018 satellite multichannel passive-microwave record, 10.7 × 106 km2, in 2017. In contrast, it took the Arctic sea ice cover a full 3 decades to register a loss that great in yearly average ice extents. Still, when considering the 40-y record as a whole, the Antarctic sea ice continues to have a positive overall trend in yearly average ice extents, although at 11,300 ± 5,300 km2⋅y−1, this trend is only 50% of the trend for 1979–2014, before the precipitous decline._

<comment><AUTHOR> I think the visualizations help a lot here: [https://www.pnas.org/content/pnas/early/2019/06/25/190655611...](https://www.pnas.org/content/pnas/early/2019/06/25/1906556116/F9.large.jpg)

Seems like there is a lot of extreme variance, but it's hard to imagine that the ice is going to come back quickly from such a huge and steep decline.

</comment></comment><comment> King-Aaron I don't quite follow the results being discussed here, but from my reading am I right in understanding that up until now there's been a gradual increasing trend in sea ice coverage in the antarctic, which is now (as of the latest results) drastically decreasing?

<comment><USER13> [https://earthsky.org/earth/while-arctic-sea-ice-declines- in-...](https://earthsky.org/earth/while-arctic-sea-ice-declines- in-2014-antarctic-sea-ice-increases)

TLDR: He went on to say that many climate models actually predict a short-term increase in Antarctic sea ice, under conditions of global warming. He spoke of factors such as increasing fresh water and higher wind speeds that promote ice growth and expansion, and, as is clear from this year's Antarctic sea ice maximum, these factors appear to be dominating right now.

</comment></comment><comment><USER14> _Still, when considering the 40-y record as a whole, the Antarctic sea ice continues to have a positive overall trend in yearly average ice extents_

Sounds like the trend is an increase in the overall area of ice?

<comment><USER15> From the Discussion section:

> The ice covers of each of the 5 sectors of Fig. 1 and of the Southern Ocean > as a whole have experienced considerable interannual variability over the > past 40 y (Figs. 2–7). In fact, the Southern Ocean and 4 of the 5 sectors > (all except the Ross Sea) have each experienced at least one period since > 1999 when the yearly average ice extents decreased for 3 or more straight > years only to rebound again afterward and eventually reach levels exceeding > the extent preceding the 3 y of decreases (Figs. 2–7). This illustrates that > the ice decreases since 2014 (Fig. 2) are no assurance that the 1979–2014 > overall positive trend in Southern Ocean ice extents has reversed to a long- > term negative trend. Only time and an extended observational record will > reveal whether the small increase in yearly average ice extents from 2017 to > 2018 (Fig. 2C) is a blip in a long-term downward trend or the start of a > rebound.

And:

> I hope that the 40-y record discussed in this paper will encourage further > studies into the atmospheric and oceanic conditions that could have led to > the extremely rapid 2014–2017 decline of the Antarctic sea ice cover, the > comparably rapid decline in the mid-1970s, and the uneven but overall > gradual increases in Antarctic sea ice coverage in the intervening decades.

</comment></comment><comment><USER16> > reduced to lowest area in 40 years

Does that mean over 40 years ago it had an even lower area or that they are at all time lows (as far as we can tell)? Could account for why my grandparents are skeptical, they're like "yeah, yeah, this has all happened before, environmental political fads come and go..."

<comment><USER17> The 40-year timespan marks the boundary of the current measurement regime (satellite multichannel passive-microwave measurements). This isn't the first time it happens, but earlier measurements may not be directly comparable.

From the article:

 _The one other several-year period during the time frame of modern instrumental records with an estimated loss of hemispheric sea ice coverage comparably as rapid as [the current one was] in the mid-1970s. Calculations based on a variety of datasets [..] show rates of decrease of ∼600,000 km2 /y for the 4 y from the start of 1973 to the start of 1977 and for the 3-y subset from the start of 1974 to the start of 1977_

The concluding remark is helpful to reproduce in full:

 _I hope that the 40-y record discussed in this paper will encourage further studies into the atmospheric and oceanic conditions that could have led to the extremely rapid 2014–2017 decline of the Antarctic sea ice cover, the comparably rapid decline in the mid-1970s, and the uneven but overall gradual increases in Antarctic sea ice coverage in the intervening decades. More broadly, the environmental datasets may be nearing the point where they are long enough and rich enough to enable the linking of several of the modes and dipoles and oscillations now spoken of separately, just as the El Niño and Southern Oscillation phenomena were linked together years ago as ENSO; once that further linkage happens, the understanding of Earth's very interconnected climate system, including the sea ice cover, could be markedly enhanced._

</comment></comment><comment><USER18> I just watched Like Stories of Old taking the topic of Chernobyl (HBO) [https://www.youtube.com/watch?v=Y21TGmzHHjk](https://www.youtube.com/watch?v=Y21TGmzHHjk) He talks about the concept of Risk Society - [https://en.wikipedia.org/wiki/Risk_society](https://en.wikipedia.org/wiki/Risk_society)

How society responds to ecological disasters, basically don't think the government going to tackle it, it will just ignore it.

</comment><comment><USER19> I posted this in another comment covering the Guardian's coverage, but figured I'd post here too in case it got lost as this seems like a more lively discussion.

Is there any indication what a 'tipping point' or irreversible positive feedback loop would look like once it had started? Would it resemble a graph such as in TFA? Or would perhaps not be an irreversible first swoop, so to speak, but instead oscillate deeper each time?

Unknowable and unlikely, perhaps, given that it's not happened before. But a part of me wonders what it looks like when we get to the point where the charts and graphs don't go back up again.

</comment><comment><USER20> A related article on the _thinning_ of Antarctic ice sheets [0]. So we've got the decrease in ice extent as well as thickness, which is equal to total _volume_ decrease?

[0] [https://www.theguardian.com/environment/2019/may/16/thinning...](https://www.theguardian.com/environment/2019/may/16/thinning- of-antarctic-ice-sheets-spreading-inland-rapidly-study)

</comment><comment><USER21> [http://flood.firetree.net/](http://flood.firetree.net/)</comment>


Soylent Update 1/21 - <AUTHOR> http://blog.soylent.me/post/74091082214/soylent-update-1-21 <comment><USER2> Is Coeliac disease really that prevalent that they are worried about a gluten- free version of soylent? (I personally know one person with this condition but even he is annoyed about how everyone is going gluten-free.)

<comment><USER3> Its a buzzword to go gluten free, so why not capture as many sheeple as possible?

<comment><USER4> It should be logical that the presence of people with a legitimate condition + the presence of people who erroneously think they have that legitimate condition != overreaction on the part of a given person that thinks that they have that legitimate condition.

Being sugar-free and carb-free are also buzzwords, and for sheeple, right?

</comment></comment></comment><comment><USER5> GF is not necessarily a good marketing buzzword as most gluten-free products are more dangerous to the general population in general. For example, gluten starch is replaced with tapioca, rice, and potato starches, which have higher GI, i.e. they increase your diabetes risk.</comment>


Prince: I was right about the internet: tell me a musician who's got rich off it - <AUTHOR> http://www.theguardian.com/music/2015/nov/12/prince-interview-paisley-park-studios-minneapolis <comment><USER2> Justin Bieber, Susan Boyle, Carly Rae Jepson

<comment><USER3> Prince was referring to income from the net, not fame.

<comment><USER2> PSY made $8-million with 'Gangnam Style' on YouTube. ;-)

</comment></comment></comment><comment><USER4> Full quote:

>"What I meant was that the internet was over for anyone who wants to get paid, and I was right about that," he says. "Tell me a musician who's got rich off digital sales. Apple's doing pretty good though, right?"

So he implies that Apple is getting rich at the musicians' cost, which I agree with.

There are some musicians who are trying to make it outside the walled garden, but no-one got particularly rich. I think Amanda Palmer is making money with Patreon, but she wasn't particularly poor to begin with (husband with movie- deals etc.)

</comment><comment><USER5> Is the point of a musical career to get rich, or to make a living?

There may not be as many rich stars as earlier medium generated, but I bet there are more 'garage musicians' who got a critical mass of fame, enough to make a career out of it. RJD2 comes to mind.

</comment><comment><USER6> Jason Lanier's thoughts are relevant:

[https://www.youtube.com/watch?v=I4iSRXtsFLM&feature=youtu.be...](https://www.youtube.com/watch?v=I4iSRXtsFLM&feature=youtu.be&t=800)

[https://www.youtube.com/watch?v=VSH9gOqevRc&feature=youtu.be...](https://www.youtube.com/watch?v=VSH9gOqevRc&feature=youtu.be&t=528)

</comment><comment><USER7> Drake

</comment><comment><USER8> Ronald Jenkees</comment>


A useful program, 0 bytes long - <AUTHOR> http://peetm.com/blog?p=55 <comment><USER2> Interestingly, this is the second useful empty program I have seen. The other is /bin/true, as discussed at [http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html](http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html) . That file is not quite empty, due to trying to comment and copyright an empty file!

<comment><USER3> I remember that two bugs were filed in Debian for this implementation of /bin/true (one for the slow execution and one for the memory use IIRC) but I cannot find them.

Two bugs for 0 lines of code...

<comment><USER4> That would be GNU coreutils true, which is a little more complex.

Some discussion of that over here : [http://forums.thedailywtf.com/forums/t/3779.aspx](http://forums.thedailywtf.com/forums/t/3779.aspx)

</comment></comment></comment><comment><USER5> A great example of how important it is for us as developers to recognize the value we provide to businesses/users instead of measuring it all solely in terms of algorithmic complexity and LOC.

Side note: Tatung makes some pretty amazing rice cookers. My family has used the same one for over 40 years now, and it still cooks as well as ever.

<comment><USER6> It looks like they've switched to some less reliable technology based on Amazon reviews:

[http://www.amazon.com/Tatung-Tac-11kn-Stainless-Steel- Cooker...](http://www.amazon.com/Tatung-Tac-11kn-Stainless-Steel- Cooker/product- reviews/B004FWL3UA/ref=cm_cr_dp_see_all_btm?ie=UTF8&showViewpoints=1&sortBy=bySubmissionDateDescending)

 _I grew up with Tatung rice cookers. They used to last forever - only get replaced when owners get tired of looking at them or they become too dirty. I replaced mine with this stainless steel rice cooker about 1.5 years ago thinking it will really last forever since it 's stainless steel (the old ones were made out of aluminum). Unfortunately, it stopped working a few days ago.

I just couldn't believe it, I opened it up (I am a hand-on electrical engineer) and found the heating element to be the culprit. Tatung no longer uses solid metal heating element, instead, Tatung uses a much inferior heating element made out of a sandwich of 3 to 4 layers of thin circular heat- resistant cardboard. With metal wires (the heating element) looped around these circular cardboard. After probing a bit, I found where the metal wire broke.

Called Tatung customer support and was told that they can't sell heating element because of liability issue. It'll cost $40 for them the repair it but I will need to ship it to them. _

Side note: curse Wade and Giles for making everyone mispronounce this company's name.

<comment><USER7> Pinyin: "Datong".

<comment><USER6> Further derail: for those who aren't familiar, datong (大同, "great harmony"), is a idealized state of society in traditional Chinese philosophy that been re-appropriated by just every school of thought or "-ism" from before Confucious to Mao and beyond.

[http://en.wikipedia.org/wiki/Great_unity](http://en.wikipedia.org/wiki/Great_unity)

There's some lengthy (English) discussion on the term in this book:

[http://www.amazon.com/The-Chinese-Revolution-Historical- Pers...](http://www.amazon.com/The-Chinese-Revolution-Historical- Perspective/dp/0275974766)

</comment></comment></comment></comment><comment><USER8> This is a perfect example of selling something for what it's worth, rather than for what it costs to build.

<comment><USER9> I found it amusing that customers were annoyed with the author for charging for "nothing". If the author didn't solve your problem, or if you could have done it yourself with no help, why did you buy it?

<comment><USER10> It's because people mainly perceive marginal costs in the goods they buy, and they don't consider fixed costs. In extreme cases like software, news, etc, they think "this extra copy didn't cost anything to produce, therefore it should be free", even though the initial fixed cost was substantial.

This leads to some things like perceiving less competent workers' time to be worth more than more competent ones' (because they take longer to do a task, therefore they should be paid more), etc.

<comment><USER11> I don't agree this was the case here. They were perfectly happy to pay for a copy of the software, even though making another copy - as you rightly point out - costs nothing.

They were annoyed because nothing had actually been copied. It's like paying for a product and getting an empty shipping box in the mail.

<comment><USER10> Sure, if the product you're paying for is an empty box.

<comment><USER11> But they didn't know it was, which is why they felt cheated. It's not because of the marginal costs.

</comment></comment></comment></comment></comment></comment><comment><USER12> "(a TSR; if the reader knows what such a thing is!)"

Oh dear, I can't imagine _not_ knowing what a TSR is. Feel old.

The wikipedia page is pretty good [http://en.wikipedia.org/wiki/Terminate_and_Stay_Resident](http://en.wikipedia.org/wiki/Terminate_and_Stay_Resident)

<comment><USER13> I've mentioned before something like "Yeah, I feel old, cause I know what a TSR is (was?)" and some younger kid in the room said "oh, my uncle used to have a TRS80, yeah, those were crap.".

The LOL was strong with that one, but not for the reasons he thought.

<comment><USER14> One of my favorite TSR programs was Qedit, by SemWare. I have yet to find another editor that I like better, and wish that I could find something similar which runs on unix-like operating systems. Qedit had the ability to drop to a command prompt to execute external commands and then return to the editor just as "GO.COM" does and I wonder if any of the author's code found its way into the SemWare editor.

I also got a kick out of the .com filename extension reference and wondered how many HN readers remember that .com used to stand for "COMMAND" instead of today's "Commercial." Judging by the amount of comments here the number is fairly small.

Thanks for the trip down memory lane!

<comment><USER15> Could you get what you want with Unix job control? From inside e.g. emacs, hit control-z, and it should suspend the emacs process and you'll be back at the shell you started emacs from. When youre ready for more emacs (woo!), tell bash to "fg" and you'll be back in emacs.

<comment><USER14> The features of Qedit that I liked had more to do with editing functions and keybindings than suspending any processes, and running concurrent applications is sort of a non issue in BSD/Linux.

The default Qedit settings made columnar editing as easy as linear editing... You could copy/paste in a vertical manner, as well as the more normally seen horizontal method. This facilitates ease of copying/pasting/deleting blocks of code without picking up, or affecting, other portions of code, whereas horizontal oriented block editing does not allow multi-line editing within set columns. You get every column within a set of copied lines even though you only want a smaller block of text.

Perhaps emacs can do column based edits, or some other editor?

<comment><USER16> Both Emacs and Vim can do column and arbitrary rectangular area manipulations. Another old and popular editor in the DOS days was Brief, which could also do them.

</comment></comment></comment></comment></comment></comment><comment><USER17> Tangent: just to give an idea how popular WordStar was, my Apple ][ had a CP/M coprocessor card [1] just so we could run WordStar.

[1] manufactured by Microsoft - [http://en.wikipedia.org/wiki/Z-80_SoftCard](http://en.wikipedia.org/wiki/Z-80_SoftCard)

<comment><USER18> Me too, the other CP/M programs I ran a lot on my (knockoff) Z80 card were TurboPascal and f80, the Microsoft Fortan compiler. It always felt like a tiny betrayal running Z80 code, though, I was a 6502 man through and through.

</comment></comment><comment><USER19> Wow, not only was this program infinitely profitable, it could also be transmitted over the network infinitely fast, and even without a network connection.

<comment><USER20> "Installation instructions:

\- No download necessary

\- Create a file called GO.COM

\- Done!"

</comment></comment><comment><USER21> Ha! That's hilarious! I'm sure a lot of people remember the old joke:

-can you assume that any program out there can be reduce by one line?

-can you assume that any program out there has a least one bug?

If yes, it means that, by mathematical induction, every program can be reduce to one zero byte, and it's buggy!

<comment><USER22> Which means that the first two assumptions are wrong, leading us to conclude that there exist minimal perfect programs for every specification.

<comment><USER23> There's a bug in this zero-byte program: the other program might not leave its memory in a correctly runnable state when it shuts down.

<comment><USER21> Q.E.D.!!!

</comment></comment></comment></comment><comment><USER24> Seems to be down. Mirror: [http://web.archive.org/web/20121017013957/http://peetm.com/b...](http://web.archive.org/web/20121017013957/http://peetm.com/blog/?p=55)

<comment><USER25> It's not down, it's Cloudflare. I used to get tons of false positives from that service. Junk.

<comment><USER26> Cloudflare is starting to get annoying. So often they want me to solve captchas to open a site -.-

</comment></comment></comment><comment><USER27> Best hack ever! Infinitely better than any other hack.

</comment><comment><USER28> It's not really infinitely profitable, because cost isn't measured in bytes. His cost was the time to conceive of, test, and implement the idea as a product. I can't say I've ever thought about the value of a program how much storage space it takes up.

</comment><comment><USER29> That is kind of genius.

</comment><comment><USER30> I love this story. It gives a strong impression of having interesting philosophical implications, but I have no idea what they are.

I hope I can offer a little advice without being too annoying: if you are going to use justified text, especially with narrow columns, you need to implement some kind of hyphenation. There are JS libraries that do this now, I think.

<comment><USER31> Better yet, just use soft hyphens! [http://en.wikipedia.org/wiki/Soft_hyphen](http://en.wikipedia.org/wiki/Soft_hyphen)

<comment><USER30> I suggested the JS library approach as an alternative to manually inserting soft hyphens. Do you know of an automated way to do this?

<comment><USER32> Perl and a hyphenation dictionary?

</comment></comment></comment></comment><comment><USER33> The old "SAVE 0 X.COM" trick... Brings back good memories.

</comment><comment><USER34> Previous discussion: [https://news.ycombinator.com/item?id=1025294](https://news.ycombinator.com/item?id=1025294)

</comment><comment><USER35> I thought he was going to say a Flashlight app.

</comment><comment><USER36> x/0 is not equal to infinity in ordinary arithmetic (which is what author attempts here) :).

[http://en.wikipedia.org/wiki/Division_by_zero](http://en.wikipedia.org/wiki/Division_by_zero)

</comment><comment><USER37> division by zero is undefined. c/x as x approaches 0 from the right is infinity.

<comment><USER38> Just for fun, what is 0/0?

Mathematicians often assign definitions to things that are undefined in other contexts to make things more self-consistent. The fact there is a good case to be made that c/0 is undefined for all c doesn't mean it must always be so in every possible instance.

<comment><USER39> You could look at it as `limit of x/x as x approaches 0`, which would be 1.

Or you could look at it as `limit of -x/x as x approaches 0`, which would be -1.

Or you could look at it as `limit of x/0 as x approaches 0`, which would be +/\- infinity, depending on which side you approach 0 from.

Or you could look at it as `limit of 0/x as x approaches 0`, which would be 0.

<comment><USER40> I think the third case is `limit of c/x as x approaches 0`. It can only approach 0, c/0 is still undefined.

<comment><USER41> Not exactly, as c also has to approach 0. So you have two limits, and their order matters.

</comment></comment></comment></comment></comment><comment><USER42> Python's __init__.py files are useful and can be zero bytes long.

<comment><USER11> They're hardly "programs" though, just components of a larger one.

</comment></comment><comment><USER43> Marvellous idea ! :)

</comment><comment><USER44> cooool!</comment>


Adblockers as the reason for InvalidAccessError - <AUTHOR> https://wwwtech.de/articles/2015/oct/adblockers-as-the-reason-of-invalidaccesserror <comment><USER2> This is not mentioned in the article, so just to be more specific, the override of `XMLHttpRequest.open()` applies only for the Safari-specific code of the extension.[1]

[1] See [https://github.com/chrisaljoudi/uBlock/tree/master/platform/...](https://github.com/chrisaljoudi/uBlock/tree/master/platform/safari#), the code is in `vapi-client.js`, line 247.

<comment><USER3> Direct link: [https://github.com/chrisaljoudi/uBlock/blob/master/platform/...](https://github.com/chrisaljoudi/uBlock/blob/master/platform/safari/vapi- client.js#L278)

</comment></comment><comment><USER4> It has been the case for years now that you really have to include ad and tracking blockers for browsers in your testing process somewhere, even if it's just a manual run-through in the smoke test section. Though I think that more than that is needed; e.g. adblock-enabled pools in your Selenium grid.

You really have to start from the bottom up assuming that things are going to get blocked for some people and build in graceful degradation of performance:

[https://www.exratione.com/2014/12/practice-defensive- javascr...](https://www.exratione.com/2014/12/practice-defensive-javascript- assume-blocking-of-third-party-resources/)

Though the problem in this article looks more in the way of something to be caught by a sufficiently well constructed QA process, followed by a bug filed with the ad blocker in question.

<comment><USER5> Do you really?

See, I don't agree with this - it's like saying as a site-owner, you need to cater to people who disable JavaScript, or who use Ghostery.

Sure, you can cater to them if you like (or if you think they're a sizeable portion of your audience). But if I was using one of those two, I certainly wouldn't go whine to a site owner and say "Your site doesn't work for me!". It's my choice to use those products.

Likewise for ad-blockers - sure, I use ad-blockers. But if a site breaks for me, I don't go whine to that site owner. I just choose to either disable the ad-blocker for that site (if the site has content I want), or I just don't frequent that site (if it doesn't).

Disabling JavaScript, or using an ad-blocker is an elective thing that some people choose to do (whether for paranoia, or because ads annoy them). It's not like say, accessibility for colour-blind people or people using a screen- reader, who can't really choose their disabilities. I have sympathy for people with disabilities (I myself am hard-of-hearing), however, I have less sympathy for people who disable JavaScript or use ad-blockers (Note that I myself use one - but if it breaks something, I debug it myself).

<comment><USER6> The problem is that the end user who has an ad blocker installed doesn't see a big "THIS FEATURE OF THE WEB SITE IS BROKEN BECAUSE YOU HAVE AN AD BLOCKER INSTALLED" message when things don't work. They just see things not work. Maybe a few of the more tech-savvy users will guess that their ad blocker caused the problem, but most users will just assume that your site is crappy.

If your site is monetized through something other than ads (e.g. purchases), it might be in your financial interest to make sure that your site works correctly even in the presence of a poorly-written ad blocker. Of course this depends on how many of your users are affected by the problem.

Now if your site is free, with no ads, then I can see how your philosophy could make sense.

<comment><USER7> I don't believe you need to be particularly tech-savvy to observe that the ad blocker extension you installed breaks the Internet.

<comment><USER8> ...and that it does "break" sites, but most of the time in a good way.

</comment></comment></comment></comment></comment><comment><USER9> I've experienced this, and it's a major pain the ass if we are talking about not just testing but making it work for AdBlocker users. In our case once we had to resort to _rewording_ the method name in our REST AJAX API endpoint so it wouldn't contain the word "counter" for it not to randomly fail for adblocker users. Why would an adblocker be so incredibly aggresive as to block random words from urls is beyond me.

<comment><USER10> It makes sense if there's an image with the word "ad" in the url. Probably something similar to that.

<comment><USER11> A bit frightening to think about: SHA hexdigests (as used in, e.g., cache- busting) can contain the two-character-sequence "ad".

<comment><USER8> I don't think adblockers will be so naive as to block anything that contains "ad" in the URL, but then again, there's a name for the bug caused by this particular type of matching:

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

...so maybe some of them do have rather silly rulesets.

<comment><USER11> They don't usually match on something as silly as the regexp /ad/, no—but they _do_ frequently contain a regexp like /\bad\b/.

The problem being—and this is painful personal experience speaking—web frameworks will frequently _also_ cater to directory inode limits of caching reverse-proxies in their cache-busting code by doing something like this:

        "/#{sha[0..1]}/#{sha}.#{orig_ext}"

...which means that, for a SHA that _starts_ with "ad", you get an "/ad/" in the URL.

</comment></comment></comment></comment></comment><comment><USER12> I once had a ceo ask why the header image on a prominent section of our website was not showing on his machine.

I opened the page, and to my surprise,, the header image didn't show on my computer either, but it showed on my coworkers screen.

In my standard "eliminate all simple causes" method I switched to incognito, and the header image loaded.

Somehow, I was able to recognize that it was due to an extension that was not active in incognito, and that the header image was named ...ads.png and it was catching a rather generic Adblock matcher. We renamed the file and all was good.

<comment><USER13> We had a similar issue with our Hackerspace website - we have a section on the site that shows logos partners and sponsors, and at some point it disappeared. We found out that some class name in a div containing those images matched to some Adblock blacklist. We changed the CSS names to something silly and now everything is back to normal :).

</comment></comment><comment><USER14> Ive been burned on this enough times where I know that any weird error that doesn't have an explanation, automatically turn off adblock. 9 times out of 10... works

<comment><USER8> I would not recommend this as a default choice if you want to benefit from the security aspect of adblocking, as otherwise you might become too easily deceived into turning it off - along the same lines as those fake error message ads.

Since I have JavaScript disabled by default, I encounter plenty of such messages; but almost all of them I can safely ignore. It wouldn't surprise me if there are messages to the effect of "This site is not compatible with adblock, turn off your adblocker for a better experence" \- and upon acting on such a message, the poor luser gets bombarded with all manner of popups and other crap. Incidentally, that's a similar experience to when I first started browsing with disabled JavaScript, and made me become much more wary of turning it on just because some site wants me to.

<comment><USER14> I'm referring to debugging my own stuff, not using other people's sites.

</comment></comment></comment><comment><USER15> From the article: _" The ad blocker replaces XMLHttpRequest.open() by its own code and checks the request URLs for keywords on a block list. If the URL matches it would throw an InvalidAccessError."_

It sounds like the ad blocker misused a regular expression and matched the string "twitter" in the wrong context. Some ad blockers just use files of regular expressions somewhat blindly. If you're looking at URLs, parse them.

</comment><comment><USER16> Are you sure it blocked the url because the string "twitter", not "sponsored"?

<comment><AUTHOR> Perfectly possible, I am not sure.

<comment><USER13> I've had parts of a website blocked over a word "sponsor" in a CSS class, so I'm willing to bet it's not "Twitter" that's the cause.

</comment></comment></comment><comment><USER17> Interestingly, adblockers should be careful about doing stuff like this, as lots of sites would love a check as simple as "make a request to /twitter- sponsered-ad-paid and deny access if it fails"

<comment><USER18> Why?

If adblocking is all about user choice then it's only fair that sites have choice to serve that content too. Right now it's incredibly hard for sites to reliably know if someone is using adblock.

Attempting to purposefully disguise that usage goes beyond any accepted ethics of using adblock today.

<comment><USER19> > Right now it's incredibly hard for sites to reliably know if someone is > using adblock.

no that's not true - it's "easy", as long as you have cooperation from the advertising network. Their ads could do some callback onto the main page.

<comment><USER20> You can do it yourself as well -- EasyList and some others have patterns that they check for on the page path and individual elements, not only known hosts.

</comment></comment></comment></comment><comment><USER21> I've also hit this in the past. However I feel like I remember seeing that the error messaging had been enhaced in whichever version of Chrome came out next. I've forgotten the details now, but I feel like it explicitly said that an extension had blocked the request.

<comment><AUTHOR> You are right. I just tested it, Chrome states `Failed to load resource: net::ERR_BLOCKED_BY_CLIENT`. I updated the article, thanks for the hint!

</comment></comment><comment><USER22> been seeing this trigger on equally safe / intentional / non-commercial endpoints. as a developer, it's almost an imperative to run with ad-blocking enabled.

makes me wonder, has anyone come up with headless ad-blocking for integration testing?

</comment><comment><USER23> Eliminating all potential discrepancies usually revolves around testing the same scenario in multi configurations and seeing if they have the same outcome. If a outlier is identified then it should shed light on the source of the problem.

</comment><comment><USER24> I really don't understand why advertisers just don't require website to host those ads instead.

</comment><comment><USER25> this is why when i test out my app i turn off ad blocker but since ublock no problems</comment>


How to Negotiate Price Without Being a Jerk - <AUTHOR> http://mattmireles.com/blog/how-to-negotiate-price/

<comment><USER2> Some tips I've picked up include:

* Emphasize that the goal is fairness. You're not negotiating out of a sense of greed, just a desire that the transaction be fair.

* Focus more on having a good BATNA (best alternative to the negotiated agreement) than on being good at negotiating. In particular, this means try to have multiple offers before you start negotiating any of them. Some of my most stress-free negotiations have been when I essentially just acted as an intermediary middleman between two (or more) parties.

* The outcome of the negotiation is dependent on the least skilled negotiator, not the most skilled. Some of my most stressful negotiations have been against people who cared more about getting the proper respect or not losing face vs getting a good outcome. It's gotten to the point where it's just too stressful negotiating with bad negotiators. It's easier to just say no.

</comment><comment><USER3> Key take-away: It's only business. Understand that in most salary/price negotiations the other party has a range in mind. They're going to start with the end of the range that's most beneficial to them (ie, low end if it's their money, high end if it's your money). Going into the negotiation you, too, should have a range in mind.

The goal of the negotiation is to find the sweet spot that fits both ranges. There shouldn't be anything personal about it (as in the author's hilarious example).

If your ranges don't converge, then you're in the wrong meeting.

</comment><comment><USER4> Omg so many horrible UI ticks today it's driving me crazy! Pro tip: Don't add falling snow to a website with a white background. I thought I was having a stroke for a second.

<comment><AUTHOR> 10-4. thanks for the note! I will fix.

<comment><USER4> Haha wow! Thanks. Wasn't trying to be mean about it, but it feels much better now :)</comment></comment></comment>


Building a Global, Diverse, Inclusive Mozilla Project: Addressing Controversy - <AUTHOR> https://blog.lizardwrangler.com/2014/03/26/building-a-global-diverse-inclusive-mozilla-project-addressing-controversy/

<comment><USER3> Mitchell and Brendan have always been the heart and soul of Mozilla's leadership. While Brendan's appointment as CEO might result in some changes in where Mozilla directs its efforts, it won't cause changes in the culture; that will remain as open and inclusive as it has always been.

Also, everyone who has an opinion on this topic should read what Christie Koehler -- someone who most definitely has skin in this game -- wrote about Brendan's appointment: [http://subfictional.com/2014/03/24/on-brendan-eich-as- ceo-of...](http://subfictional.com/2014/03/24/on-brendan-eich-as-ceo-of- mozilla/)

</comment><comment><USER4> It's not really a good sign to pick someone who does not understand equality for the board. I mean, how is that going to turn off contributors. Does he even speak anything other than english?

</comment><comment><USER5> One thing in common among many HN comments on this issue is the sentiment that we shouldn't care about a CEO's political views. Perhaps this argument would be somewhat convincing if his actions affected exclusively people outside the company, but keep in mind that he contributed $1000 to a cause that directly removes marriage rights of a large portion of society, some of whom are his very own employees that he's about to lead.

For those of you who insist that all this is "just politics", would you say the same if he contributed $1000 to a campaign to bring back slavery? What about a campaign to remove women's voting rights? One thing for sure - <USER2> degree of uproar would be drastically higher in those cases, and that's precisely the problem.

</comment><comment><USER6> Site is intermittently down:

\</comment><comment>----

Monday's announcement of Brendan Eich as the new CEO of Mozilla brought a lot of reactions. Many people were excited about what this meant for Mozilla, and our emphasis on protecting the open Web. In the next few days we'll see more from Brendan and the leadership team on the opportunities in front of us. Before that, however, both Brendan and I want to address a particular concern that has been raised about Mozilla's commitment to inclusiveness for LGBT individuals and community, and whether Brendan's role as CEO might diminish this commitment at Mozilla.

The short answer: Mozilla's commitment to inclusiveness for our LGBT community, and for all underrepresented groups, will not change. Acting for or on behalf of Mozilla, it is unacceptable to limit opportunity for _anyone_ based on the nature of sexual orientation and/or gender identity. This is not only a commitment, it is our identity.

This commitment is a key requirement for all leadership within Mozilla, including for the CEO, and Brendan shares this commitment as the new Chief Executive Officer.

Second, I'll point to Brendan's comments [1] on this topic.

Third, I'll note that two years ago we had an open conversation and co- creation process about how we make sure our community supports all members, including all forms of gender and sexual orientation. The process, with me as the draftsperson, resulted in the Community Participation Guidelines [2]. These Guidelines mandate that (1) each of us must be inclusive of all community members, regardless of sexual orientation, gender identity and more, and (2) any exclusionary approach you might practice elsewhere must be left at the door, and not be brought into Mozilla's spaces.

We expect everyone, regardless of role or title, to be committed to the breadth of inclusiveness described in the Guidelines. These Guidelines are in addition to our inclusive and non-discriminatory policies which apply particularly to employees. As a practical, concrete example we've also been pushing the boundaries to offer excellent health benefits across the board, to domestic partners and all married couples, same-sex and otherwise.

My experience is that Brendan is as committed to opportunity and diversity inside Mozilla as anyone, and more so than many. This commitment to opportunity for all within Mozilla has been a key foundation of our work for many years. I see it in action regularly.

The CEO role is obviously a key role, with a large amount of authority. The CEO must have a commitment to the inclusive nature of Mozilla. This includes of course a commitment to the Community Participation Guidelines, inclusive HR practices and the spirit that underlies them. Brendan has made this commitment.

Finally, I've been asked a few times about my own personal views, and so I'll add a short comment.

I am an avid supporter of equal rights for all. I support equal rights for the LGBT community, I support equal rights for underrepresented groups, and I have some pretty radical views about the role of underrepresented groups in social institutions. I was surprised in 2012 to learn that Brendan and I aren't in close alignment here, since I've never seen any indication of anything other than inclusiveness in our work together.

I spend most of my time focused on building an open Internet, which I think is a required infrastructure for empowerment for everyone and where I think I can add something that's tricky to replace. If I weren't doing this, I'd probably be spending a good chunk of my life focused more directly on equality issues.

[1] [https://brendaneich.com/2014/03/inclusiveness-at- mozilla/](https://brendaneich.com/2014/03/inclusiveness-at-mozilla/) [2] [http://www.mozilla.org/en- US/about/governance/policies/parti...](http://www.mozilla.org/en- US/about/governance/policies/participation/)

</comment><comment><USER7> Could someone explain why this needed to be said? Is there some controversy that I'm unaware of?

<comment><USER8> Because the Mozilla Foundation board underestimated the amount of flak they were going to get for appointing someone who is anti-LGBT as their CEO.

This is inflamed by the fact that Eich has refused to apologize for this. Therefore, everyone is making the, quite justified, assumption that he believes in his anti-LGBT positions quite strongly.

<comment><USER9> The amazing thing about this whole kerfuffle is that, apparently, LITERALLY NO-ONE AT MOZILLA realised that this would be THE STORY. They appointed Brendan Eich CEO and LITERALLY DIDN'T ACCOUNT FOR THIS IN ANY WAY.

If they had the slightest awareness of their environment, they would have started the softening-up PR months ago, when he started moving toward the CEO role. They could have had everything nicely calm. But no ...

</comment></comment></comment><comment><USER10> I don't think anyone's really worried that Mozilla is going to stop being inclusive. They want to punish Brendan Eich for opposing marriage equality. Saying that Mozilla won't change isn't going to change people's minds.

Personally, I don't see much of a gain to be had here. If it were a for-profit company, I'd probably boycott them, not because it helps the cause of marriage equality at all, but because punishing people who are jerks feels good. But it's Mozilla, an organization whose goals I support. I don't care if it's led by a jerk. Punishing him doesn't make the world a better place at all.

<comment><USER11> The below isn't necessarily targeted at the parent post, but just at anybody who's resorting to name-calling, or claiming only their viewpoint is correct.

<rant>

You claim that "punishing jerks feels good".

I'm sorry, but this just comes across as silly internet power-tripping.

And who are you to claim somebody is a "jerk".

Brendan Eichs has personal beliefs, which I presume you don't agree with.

Whoop-de-do. Somebody is on the internet who you don't agree with. Cry me a river.

In the olden days, gentleman would simply say, we agree to disagree, and leave it at that.

Now, in this age of entitlement, every little boy in his mum's basement just _has_ to get everybody to agree with him, because other peopel ARE WRONG (according to me).

You're free to write blog posts saying you disagree with him.

Or if you think he's wrong, you can even talk to him directly - in fact, he made a offer that he's happy to speak to anybody in private about it.

If anything, he comes across as the bigger person.

However, to go around saying, "BRENDAN IS A JERK" \- sure, you're "free" to do it - free speech and all, but seriously, it comes across as immature and childish...

</rant>

However, I agree with the rest of your post - Mozilla does good work. I don't use their browser, but they do a lot for the open-source movement.

<comment><USER12> These are areas of grey; on one end you probably _would_ say that a white supremacist campaigning for the reinstatement of slavery is kind of a jerk, and on the other you probably wouldn't bat an eye if a guy told you he prefers orange juice to apple. There is no magic in the word "opinion" that gives immunity to criticism. It _is_ then up to us to define where that line lies.

<comment><USER11> Well, to be honest, I wouldn't call a white supremacist a "jerk".

And racism is most definitely _not_ equitable to arguing over what's a marriage, and what's not.

If this imaginary white supremacist was just some weirdo who genuinely thinks white people are superior, I would probably just label him a strange, somewhat deluded man - I wouldn't hate him though.

However, I probably wouldn't invite him over for dinner, either.

If, on the other hand, he was going around calling for lynching blacks, that's an entirely different matter - that's illegal (hate crimes).

Brandon Eichs hasn't expressed any homophobia, or that he "hates" gays, which is what people seem to be trying to drum up publicity for.

He simply has, in his private time, given him support for maintaining the status quo on marriage. You might disagree with that, and think that marriage should be redefined, and that's your right (just as it's his right).

But if you descend to the level of name-calling, and saying "Your view is like, so wrong! I'm right!", then we've already lost.</comment></comment></comment></comment>


I Have a Laptop with 4GB RAM – An Electron Rant - <AUTHOR> https://dev.to/sharazam/comment/iie <comment><USER2> I love one of the responses:

 _> Sure QT can create cross platform UIs, but with a $300 yearly price tag for one developer and no support._

It's kind of amazing that we've gotten to a world where $300 for high-quality dev tools is considered an unreasonable price. If your software has any kind of revenue model at all, $300 a year is nothing! Cripes, I'm old enough to remember the days when you had to pay companies like Microsoft four figures per year _per developer_ just for access to _documentation._

<comment><USER3> Except you can use Qt for free in proprietary applications too, the response to that comment makes it clear.

<comment><USER4> You can, but then you have 50MB of useless DLLs that static linking would eliminate. At that point you have the same disk footprint as an electron app. Memory use would still be order of a magnitude better though.

<comment><USER3> This is not true, did you mean 50Mb ? And do you staticly build GTK or Electron?

Qt is split into modules, so if you don't use Webkit you don't include that module, if you don't use networking you don't include that, if you only do a CLI app you don't include the GUI module.

<comment><USER4> Its been about two years, but ~50MB was the range. Its quite possible the necessary optimization wasn't done (I wasn't responsible for that). But internal builds with static linking gave you that for free.

<comment><USER3> Maybe they were using some debug version and maybe bundled 32 and 64 bits in the same package(I think for OSX had multiarch packaging a few years back when I was making Qt packages)

I just checked VLC now and the Windows download has 38Mb, Qupzilla installer has 78Mb(this is a browser so it bundles webkit and probably some js enbine),

<comment><USER4> This was on Windows, and dynamic linking as the project was proprietary. If you pay the fee or are open source you can static link and it will be much smaller.

<comment><USER3> I still don't believe that the Qt dlls are 500Mb, I tried to Google around and what I found is someone complaining of the size, in his case a simple Qt GUI app had 14Mb. If you think 500Mb is the right number maybe you can find a link so I update my knowledge.

I am familiar with this complaint , at a previous workpolace we switched to Adobe AIR because of the installer size (the boss felt better if the customers installed AIR from Adobe and then our 2 Mb installer). At that time Qt did not had a built in way to create installers, signing them, and autoupdate applications,(not sure it has now) Adobe AIR had such mechanism so this also was a factor on switching to this toolkit then.

So if you think Qt is big what would you use instead?

<comment><USER4> Fifty. Not 500.

You misread my original comment, and the follow up.

I thought you were being smart with 50 megabits in your earlier comment or I would have caught that misunderstanding earlier.

<comment><USER3> Sorry, I can swear it was 500 but my eyes tricked me.

You did not mention what cross platform tool is smaller and works with proprietary software.1

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> I get the irritation about Electron, as it seems my own RAM's "purchasing power" has melted like snow under the sun thanks to it. But frankly, there's a wealth of IDEs/editors to pick from. Between vim, emacs, all the Java IDEs, VS, Sublime and slew of packages every one has... Everybody out there would have their taste serviced at this point before even thinking of moving to an Electron-based solution.

Coding workflow is especially latency sensitive and coders are naturally prone to look for efficiency. I can't feel too sorry for somebody going out of their way to be inefficient.

<comment><USER6> It's not just the editor/IDE though. It's also Slack, Discord, spotify, Skype(embeds a browser), and everything else recently developed, it seems. This was mentioned in tfa.

</comment></comment><comment><USER7> Except for blaming the Javascript language (all language have issues; and admittedly JS does have a lot of legacy cruft), I generally agree with this rant.

I have a fancy Ryzen 7 and I do use Atom, but even the small bits of lag here and there brings me back to, "this is using up a shit ton of resources ... for a code editor"

Electron apps tend to be at least 50 ~ 60MB in size. Who thought that packaging a web browser with your app was a good idea? At a minimum, all the old legacy stuff should be stripped out of the browser and it should only support the very latest standards in HTML/JS/CSS since you're not worrying about cross browser support, right? Oh no wait, Slack and Discord pretty much just pull their web app and cache a bunch of things locally.

Things like Java/Swing, Adobe Air/Flash and other cross-platform app systems seem to now be a thing of the past. We've settled on Electron, and it's honestly shit, but what are the alternatives?

Sure there's Python+QT and others, but they do require some packaging and customer installers for all platforms. That package on Mac/Windows is most likely going to have its own Python and QT runtime embedded ... but I bet that'd still take less space than Electron with all its dependencies.

</comment><comment><USER8> I genuinely, truly don't understand why there is so much push for fancy, resource-hogging web pages when the majority of websites exist just to collect data from html and store them in csv.

Like, ok, sure you can't port Quake to HTML and csv but you certainly need 1/10th the amount of resources to run Quake compared to say, Discord.

<comment><USER9> Are you talking about Electron or Dev.to?</comment></comment>