Android updates are getting slower and slower, despite Google's best efforts - <AUTHOR> https://unlikekinds.com/article/android-updates-are-getting-slower-and-slower-despite-googles-best-efforts <comment><USER2> This is definitely a problem but in practice it's not as dire as this article makes it sound. So many of the essential pieces have been factored out into the support libraries and independently upgradable components that Android devices actually get more regular updates in some respects than iOS devices do.

For example, I have to update my entire iPhone OS to get an updated web browser or photo library or keyboard. Google can update all of those every day without a reboot.

As an iOS developer I can't use new OS features until all my users have upgraded. As long as what I need is in the support library I can adopt the latest and greatest for Android right away.

<comment><AUTHOR> Hi, author here

You're right about platform features used within apps, many (most? all?) are made available to developers with the support libraries.

However, users will get none of the following until they get Pie (for example)

* ML adaptive battery

* App actions (ML predictive app shortcuts)

* Digital well-being dashboard and limits

* A lot more, as shown on this page (there's a lot of smaller items in the collapsible categories at the bottom): [https://www.android.com/versions/pie-9-0/](https://www.android.com/versions/pie-9-0/)

Each update has a heap of interface improvements, and users miss out on these

<comment><USER3> > * ML adaptive battery

>

> * App actions (ML predictive app shortcuts)

>

> * Digital well-being dashboard and limits

These sounds like gimmicks to me (ML buzzwords). I'd welcome an update that would sort alphabetically the apps I want to share content with for instance. No AI needed for that.

<comment><USER4> The ML adaptive battery update is awesome. I got it on my Moto One Power and the battery life has substantially improved

<comment><USER3> > Adaptive Battery, in a nutshell, is about figuring out which apps you use > frequently and keeping those apps in memory, while the apps you don't use > often are purged once you're finished with them. Put another way, Android > Pie can adapt to your usage patterns so that it only spends battery power on > the apps Adaptive Battery thinks you'll need. > [https://venturebeat.com/2018/08/28/how-android-pies- > adaptive...](https://venturebeat.com/2018/08/28/how-android-pies-adaptive- > battery-and-adaptive-brightness-work/)

I don't know. Wouldn't be easier to simply close the app when a user closes it ?

<comment><USER5> Fully-closing apps requires them to re-initialize them from scratch after each re-open, which is cpu-heavy (thus also battery-heavy) and slow.

A frequent usage pattern, also, is quickly switching between several apps. There's no definite "close" on mobiles apart from force-quits, which are unhappy for all apps, too.

<comment><USER3> > Fully-closing apps requires them to re-initialize them from scratch after > each re-open, which is cpu-heavy (thus also battery-heavy) and slow.

Thanks for the explanation, I didn't know starting from scratch was so expensive. I had always wondered (and fumed) about that but it makes more sense now.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Security updates are becoming more dire, but _feature_ updates between versions has been dwindling since the early days. I've had an Android phone continuously since 2011, and while I could detail a laundry list of stuff we got from Gingerbread -> Ice Cream Sandwich or KitKat -> Lollipop, I can't think of many "game changers" from Marshmallow on that made each new update a "must have". Just trying to think of the ones I actually noticed or used:

Nougat: Slightly better battery with doze mode; Built-in Night Light so I no longer need cf.lumen or Twilight

Oreo: A better AutoFill API for my password manager

Pie: Adaptive battery? I _lost_ the ability to record calls when my phone got the Pie update, so I wouldn't really consider that a feature.

So basically, other than having to use a third-party screen temperature app and needing to manually copy-paste passwords, there wasn't much meaningful difference in the experience between my Nexus 7 running Marshmallow and my S8+ phone with the Pie update.

<comment><USER7> > there wasn't much meaningful difference in the experience between my Nexus 7 > running Marshmallow and my S8+ phone with the Pie update.

Reading this on a Nexus 5, running marshmallow. I stopped upgrading when I stopped seeing a reason to, now I just get the old models on the cheap and only occasionally wonder if I'm missing out.

In those moments I'll remember your comment, stop wondering, and continue treating my phone like the sub-$200 commodity that it is. Thanks.

<comment><USER8> Reading this on a Nexus 5X running Oreo 8.1.0. Formerly happy owner. Now, after accidental pocket-tap on "Update All", seeing glacial performance in core apps e.g. Gmail, Maps. No "revert" option in GUI of course. Maybe possible with ADB ...

Where you write "stopped upgrading", do you mean hardware only -- allowing Google system plus apps to push all software updates?

How do you assure yourself that your Nexus 5 has gotten adequate security fixes?

<comment><USER9> Not the parent, but you don't. I run a Galaxy S9 but as far as I'm concerned, the phone will be a paperweight in 1 or 2 more years.

iPhones have better longevity, hence their higher resale value.

</comment></comment></comment></comment><comment><USER10> The shining example of Google vs apple for me is the package manager. Since Android D, updating my apps has caused the phone to slow to a crawl. Fps drops heavily, apps are laggy, etc. There is no option to only download updates when charging. Google has done _nothing_ about this for years now.

I still use Android because I need the control. But parts of the platform are just inexcusable (imo) in 2019.

Dont get me wrong, Apple has their own problems as well. But Fps drops aren't one of them (at least on my iPad)

If only apple let me actually have a non-terrible home screen...

<comment><USER11> What control does Android give you that you want? (I'm legitimately asking: is there an immediate pragmatic reason, or is it a principled stance against walled gardens?)

<comment><USER12> The replaceable launcher is a big one. Tasker was another (though I heard Google Play was cracking down on non-accessibility uses of accessibility features for security reasons?)

I switched back to iOS when the SE came out, but I still miss Nova Launcher. Especially being able to put two actions on each dock icon, one for tap and one for swipe up. So if you have something like friends split over two main chat platforms you can stuff Discord and SMS apps in the same icon and have them both quickly accessible.

<comment><USER10> I just can't believe that 10 years later I still have to have a grid and have to hide apps I don't care about in folders.

<comment><USER13> _have to hide apps I don 't care about in folders_

iOS lets you delete most 1st party apps: [https://support.apple.com/en- us/HT208094](https://support.apple.com/en-us/HT208094)

<comment><USER14> I think you and all the replies to the parent have missed the point trying to be made. If you view the homescreens in iOS as your desktop, you don't want all your apps littering it with shortcuts. The op is talking about having to setup folders to hide away apps that they use rarely but don't want to uninstall. Android handles this in a far better way, where you have an app drawer that pulls up all your app icons on a grid that is easily searchable if you want to get to any installed app. That frees up your homescreen to be used for exactly those icons and widgets that you want, which is a lot nicer than the iOS way.

<comment><USER15> What stops you from putting everything in a folder called App drawer, except the most used apps you want on your desktop?

<comment><USER16> The hard limit on how many apps a folder can hold?

<comment><USER17> If you weren't aware: You can fit 135 apps in a folder. Folders inside of folders are also supported so there's practically no limit.

<comment><USER16> I was aware since I just made that exact point. You want an "App drawer" folder that has a hard limit of 135. Not to mention the terrible UX of folders at that scale.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> > _Android devices aren't kept up to date, leaving their users unable to > benefit from advancements in the platform._

What advancements? Both iOS and Android have for a few years reached maturity, not much exciting with each new update. At least not without new hardware, as most updates are to support something physical (notch, fingerprints, face scan etc).

I used to hate my phone not being updated, so switched to a brand of Android that kept them up to date. But lately I don't really mind. Only reason I upgraded to Pie this weekend (after being bugged by the updater for months) was because of a few emojis I couldn't see properly when being sent to me. The update hasn't done anything big. Things are a bit rounder, the clock is now in the wrong corner. Some BLE issues as well, making me regret the update.

<comment><USER19> > _What advancements?_

Security?

<comment> grumpy-cowboy You can fix security bugs without forcing your users to upgrade entire OS.

</comment></comment></comment><comment><USER20> Update adoption is getting slower because people (or perhaps just me) are frustrated with updates removing/changing functionality, making the device slower, or causing additional bugs beyond whatever was "fixed".

That's on top of the fact that my carrier refuses to stay on top of updates for my device anyway.

<comment><USER21> > the fact that my carrier refuses to stay on top of updates for my device > anyway.

I don't get why the carrier has to be involved at all. It has nothing to do with them at all so why do they even get a say in when a phone gets an update ?

<comment><USER22> As someone who spent the better part of two decades at a carrier (I joined as an acqui-hire to build an ISP), I've always been fascinated by the amount of crap carriers insist on having pre-loaded (and kept working) in device firmwares.

Carriers want (demand, even) that their online portals, customer support apps and (most importantly) ringtone shops be pre-loaded on devices, and have always tied that to critical firmware drops for network defaults, radio compatibility testing, and a lot of other (truly critical) functionality that only actually exists on the device's radio baseband and has zero to do with the handset OS these days.

Source: I was one of the program managers for the flying circus that was Vodafone 360, when we tried to work with Samsung to build a vertically integrated handset like the iPhone. This sank (mercifully) without a trace, and to this day I summarise what happened by explaining that Samsung actually had two engineering v-teams: the Galaxy team and... everyone else.

And we got everyone else. It doesn't excuse a lot of what was decided, but it was instrumental in killing the service.

<comment> grumpy-cowboy They will not be able to force their crap in my future Librem 5 phone.

<comment><USER22> I appreciate the independent thinking behind this comment, but seriously, what completely broke the carrier model was the iPhone.

When we started discussing customisation with Apple, all they ever allowed us to do was add a default bookmark to Safari. Period. Finito.

Looking back, that was the sanest thing any handset manufacturer ever did for the entire industry.

<comment><USER23> How did carriers incentivise customisation for manufacturers? Did Apple essentially turn down "easy money" to maintain product integrity?

<comment><USER22> What do you mean by incentivise? Either manufacturers delivered custom firmware or they carriers didn't sell their devices, period. Apple changed all that.

<comment><USER23> I see. That makes sense if you upgrade/buy through your carrier. That isn't something I've ever done so my carrier has never been a limitation on the phones I can get. I guess Apple made the carriers realise that everyone will get the phone they want with or without them in the purchasing cycle.

<comment><USER24> Most people get their phones from carriers.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> The biggest problem is that android is not focusing on the low end where most of their users are. They need to make the UX on these older and slower devices _better_ with every update, not worse

<comment><USER26> On the low end there is Android One, which does take out all the bloatware that slows down most of the low end. It's pretty good in my opinion.

<comment><USER27> May be you meant Android Go? Android One is full of google's own bloatware.

<comment><USER26> I guess you've never had the pleasure of all the bloatware that OEM's put into low end phones?

The last samsung phone I bought had 2GB free of 8GB on delivery, almost all of that space being used by their bloat.

Google's own software isn't that heavy in comparison and Android One comes with very little of it, most of which you can still disable.

</comment></comment></comment></comment><comment><USER28> Aside: this headline is poorly worded IMO. It sounds ambiguous with the execution duration of a software update. "Android updates are getting less and less frequent" or "fewer android updates happening in the field" etc might be clearer.

> The reasons for the slowing updates aren't clear

IMO it is clear: people often "update" by retiring the old device and buying a new one. The metrics in this article are all from Google -- they show market share of android release (out of android devices).

People are refreshing less often because smartphones released in the last few years are: (1) not terribly different from the ones on the shelf now, (2) more expensive than they've ever been. People are spacing out their upgrade cycle because their current phone is good enough and because phones are more expensive.

</comment><comment><USER29> I misread the title. The article is about the rate of adoption of new releases.

Personally, I think it's due to people keeping their phones longer (and, of course, carriers not passing on the major updates).

<comment><USER30> > I think it's due to people keeping their phones longer

Why can't the old phones run the new versions of Android? There's been no architecture change has there?

<comment><USER31> They (mostly) can, just the various companies involved have no incentive to actually do the work necessary to do it. Treble is supposed to make upgrades easier, but as the article points out, most people don't have Treble, and the carriers and manufacturers still don't seem to care, even with a lower amount of effort involved.

</comment></comment></comment><comment><USER32> Not particularly on topic, but OnePlus is a pretty decent choice if you don't want to pay Pixel prices but get an almost stock experience with reasonably rapid OS updates.

<comment><USER33> For about two years.

Even OnePlus, which is better than most, tails off after that. They've just released a public beta of Pie for the 3T, which hadn't had security updates for the last four months or so.

<comment><USER34> I'm running Android 9 on my OnePlus One (2014) through LineageOS and it feels smooth as always.

<comment><USER33> Lineage is great, I've run it on an HTC (M7 I think?) previously until it died. But it's not for everyone and some manufacturers make it harder than others.

</comment></comment></comment></comment><comment><USER35> This is why Google is devoting more and more resources to the Fuchsia project: to replace Android with an operating system that supports over-the-air (or WiFi) updates like iOS does and Windows Mobile did. It's the only way Google can effectively fight their fragmentation issue: get everyone to upgrade to the latest OS version.

<comment><USER36> Fuscha is a kernel and has absolutely nothing to do with this. There are plenty of Linux based Oses that don't have this problem. (This is even more the case with android since the really hairy stuff like GPU drivers aren't even part of the kernel.)

The problem is that the entire android user space is built as a single monolithic project that gets forked and closed by the OEM and all of the components have to be updated at once.

IMHO: fuscha will probably make things worse: at least with Linux the code needed to boot the device gets published due to the GPL combined with the monolithic kernel architecture making community projects like cyanogenmod (or whatever it's called now) possible. I seriously doubt that will be the case with fuscha, it will just get forked and closed like the AOSP components do now (which have the same license.)

<comment><USER37> Fuchsia is a full operating system and not just a kernel. The Fuchsia OS uses the Zircon kernel.

</comment></comment></comment><comment><USER38> Dear lord. Less than 20% adoption a YEAR after release?

iOS gets that in a few hours.

<comment><USER24> OEMs + carriers.

</comment></comment><comment><USER39> I haven't read the entire article, but the title and first few paragraphs and images/tables are unfair and misleading. This looks like a stereotypical jab at Android that you would expect from a company like Apple Inc. If you want to compare Apples to Apples (no pun intended) you should compare how fast updates roll out to the first party devices iPhone and Pixel. I've used the first two generations of Pixel now and I've never had an issue receiving updates. Google obviously has less control over what Samsung, LG, Huawei, do and that's not even taking into consideration carriers.

</comment><comment><USER40> The article is only talking about major upgrades (e.g., going from Oreo to Pie). It is _not_ talking about security updates, which are minor releases. People seem to be mixing up these two things. They are different.

</comment><comment><USER41> Since updating to Android 9 I've had the weirdest problems. Phone calls will randomly drop (neither I nor the other person is moving, happens on wifi and mobile) in the middle of the call. No apparent connection to internet traffic. I've also started seeing an issue where the phone will call someone and connect but not start playing audio or transmitting audio. Also, if I'm on wifi and then leave wifi (or turn it off), the phone will silently fail to use the mobile network. It will display that it has 4g / 3g / whatever, but data doesn't work and phone calls fail. The only fix is restarting the phone.

I have a Nokia 8, which isn't a particularly popular handset and I'm thinking of switching to an old Samsung S8 or something - but it's striking to me how badly the experience has declined since 8. The phone was wonderful with 8!

<comment><USER42> If you're in the US, you may want to avoid Samsungs after the S5 - they all have locked bootloaders, and you will not be able to move away from the Samsung ROM. Maybe you don't think that's important now, but chances are you'll be keeping the phone for a few years, and you don't know how your needs or wants will change by then.

Also it's nice (and not very hard) to install AOSP/LineageOS to get a lighter, faster, smoother, bloat-free, but still feature-rich experience, without all the tracking and shady stuff that OEMs put in.

I used to have an S5 with LineageOS + F-Droid (no Google apps); the phone was faster and the battery lasted longer than my new S9 (from which I have purged all the unnecessary apps I can including Google's stuff).

</comment></comment><comment><USER43> > That is, half of Android devices were on an OS that hadn't seen an update in > at least 2 years.

This seems quite wrong, older Android versions do receive some security maintenance releases from google. It's of course up to the device vendor if a particular model gets it though. This is info is a bit hard to find but it seems like KitKat was supported until October 2017, Lollipop until March 2018 and Marshmallow until August 2018. (taken from wikipedia and here: [https://www.quora.com/Will-the-Android-5-Lollipop-still- exis...](https://www.quora.com/Will-the-Android-5-Lollipop-still-exist- in-2018-2019))

So you could be running a phone with KitKat, which was released in 2013 but still got the last update 1.5 years ago.

</comment><comment><USER44> Those statistics should be broken down by new purchases and updating old devices.

At the time of Android 4.4, many people got an Android device for the first time, so adoption was high. At the time of Android 8, the market is already mature and many people still hold to their old Android 6 device.

<comment><USER45> let go of my android 6 device yesterday. was a cheap device but i didnt feel i was missing out on anything significant

</comment></comment><comment><USER46> Not sure why I should care. Can't think of a single feature I'm missing on my S6.

<comment><USER10> The ability to update apps on battery power only. The ability to not have ridiculous lag during updates of my apps.

Better integration with password managers (works great in apps, not so much in Chrome)

S reasonable desktop experience (shout out to Samsung DeX FTW)

</comment></comment><comment><USER47> Im on a Pixel 2, so I get fast updates. But I almost wish they were slower, or would just stop breakimg things and removing features. My phone, after more than a year of great service, starting dropping calls in my house again. I poked around and realized they removed the option to prefer Wi-Fi calling. So now because it can get a weak cellular signal, it ignores my strong Wi-Fi and I get much crappier services a result. #$&@!

</comment><comment><USER48> The short life-time of Android phones & the app's questionable privacy policies are the 2 major reasons I'm sticking to iOS, even though I think Apple is a major asshole.

Android is an awesome OS, but the app store feels "unregulated" and I feel like I'm not in control who and what copies my data.

</comment><comment><USER49> If every manufacturer is encouraging people to buy new phone, why do people even want to upgrade their old phones? The truth in China is that Xiaomi and Huawei releases their new phones very frequently. Now people are more and more focusing on screen, CPU, RAM, cameras.

</comment><comment><USER50> But manufacturers getting faster and faster in pushing new phones in the market at the same time.

There is no real return on investment in fast Android upgrades (which only cost money for them). There are also other risks (things will get slower, things will break).

It's all about the money.

</comment><comment><USER51> Yay, I am the 0.01% without even caring a lot :D

Very happy with my Nexus 5X, and why would I upgrade? The Pixels are just expensive and I don't see any benefit. A shame that I'll be in real trouble if this one ever dies.

<comment><USER52> The Nexus 5X is a nice device. How long have you had it for?

<comment><USER51> Bought two of them on 16./21\. July 2016. One stopped working reliably (didn't notice its SIM all the time) last November, mine's still working perfectly.

</comment></comment></comment><comment><USER53> Google should have two streams for their updates; security only and everything else. Vendors would have no problem with conflicts in UI or apps if the updates were security only and they could be pushed immediately.

I'm also angry at Google for removing functionality. I won't upgrade to Pie because then my call recording app won't work and I make a lot of customer service calls. I could root my phone but this introduces other issues. Google has made people reluctant to update.

</comment><comment><USER54> This is called a "technical debt". :)</comment>


Jade, Node.js template engine, is being forced to rename due to trademark - <AUTHOR> https://github.com/pugjs/jade/issues/2184 <comment><USER2> To be fair, I was rather confused when reading the title. I tough the original JADE was being sued. Now most Google results are related to new JADE lang. Obviously, there is a trademark issue. The fact that HN seems to like this new JADE more should be irrelevant. I am surprised to witness such a biased reaction here.

<comment><USER3> Exactly - this is literally the correct use of trademark law. HN having a tantrum about it speaks poorly of the posters here.

<comment><USER4> No, it is not.

<comment><USER5> If the purpose and correct use of trademarks is not to be a legally-protected unique identifier to prevent confusion amongst products of the same type/class or in the same market, then what, pray tell, _is_ it's correct use?

<comment><USER6> The purpose of trademarks is to protect consumers, not companies.

From what I can tell about the trademark owner in this case, they make logistics software for shipping. I fail to see how a consumer could confuse that with an HTML template engine.

It's past time to recognize that 'software' is way too broad a category for a single trademark. As 'software eats the world' and more and more industries are automated, we need to break that down into more granular categories.

<comment><USER2> I don't know much about the original JADE company, but from their website "JADE 7 is a robust development platform for business applications" where programmes are written in the JADE language.

This is obviously an issue when searching for JADE tutorials or hiring JADE programming experts for instance.

<comment><USER6> Trademarks don't guarantee Google search results. They're supposed to protect against confusion on the part of the consumer. You don't have to be a genius to understand that an open source library isn't a commercial product.

This legal threat is solely because Jade, the trademark holder, is losing the popularity contest with Jade, the open source library. They're trying to buy their way to the top of Google search results with lawyers.

<comment><USER4> Their trademarks in the US are at least abandoned - therefore not enforcable. In the UK I'm not sure how NZ TM law applies, or where Jade was originally created (Canada).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Such a joke. Good luck to that company, they can come over to Canada and sue me as well, one person isn't solely responsible for a project so that's unfair to pin it on Forbes. I've never even heard of their lame product, make yourself look really bad, that will help!

Also (our) Jade has been around for many many years, do they really have the legal grounds to do this now?

</comment><comment><USER8> Heh, way back I got a letter from them too. I was talking about an integrated Java Application Development Environment (JADE) at the time. It was sort of a unikernel with all the Java system classes compiled into code and only the application classes (policy) being interpreted by the JVM.

</comment><comment><USER9> I'm really disappointed to see this happening. Studying computer science in Christchurch, New Zealand made Jade Software a well-known name to me. They've never been a modern or progressive company, but I used to respect them for their successes. Now I just feel like they're letting themselves and a big OSS community down with this petty trademark dispute.

Bad form, Jade.

<comment><USER10> I use to work for an OSS company in Wellington. I can only imagine the crazy garbage going around the company e-mail list over this. (When Microsoft and Cyanogen partnered on some things, people there went ape shit).

</comment></comment><comment><USER11> That agreement he's being asked to sign is worrying. Either don't sign it or, if you must, ensure it contains wording to the effect of removing all references will be done on a good faith, best-effort basis. Otherwise, one missed mention could expose you to liability.

<comment><USER12> Yeah it's a bad idea to just sign random shit that random assholes send. Certainly one has no duty to so. In this case the assholes are not even in the same hemisphere as these maintainers. Having already harvested the bad PR involved in the name change, how likely is it that they'll spend five figures to get any sort of lawsuit going? It's not as though signing this makes a lawsuit _less_ likely anyway.

</comment></comment><comment><USER13> That's funny. I'm old enough remember them as a 4GL company and solution. I passed on them specifically because they were tied to Windows platform. Others, like Omni and WINDEV, could do multiplatform already. Most market share went to database-style ones like PROGRESS and INFORMIX.

Funny to see they're fighting for the trademark when even most 4GL users didn't give a shit about their product. What a lame company.

<comment><USER14> I miss 4GL (and Vim) (and Christchurch).

<comment><USER13> Haha. WINDEV is actually going fairly strong by 4GL standards for today's environment. Still buggy as hell with All Features No QA focus per forum comments. Yet, they're still doing good on ease-of-use, all-in-one, RAD concept. I remember seeing that making a web app Ajax was basically a checkbox and then re-generates it.

A modern solution like that applying good QA and what we've learned in tooling/language design would still be a good thing I think. Especially considering all the lay people out there relying on Excel, VB6, etc. Could raise them up a bit with right design.

</comment></comment></comment><comment><USER4> TM law doesn't apply here to this bully. Not competing. The customers of Jade Software will not be confused. Don't give in to this BS.

<comment><USER4> I just purchased jadesoftware.org and jadelang.net. They can have fun fighting me now too. See [https://github.com/pugjs/jade/issues/2231](https://github.com/pugjs/jade/issues/2231)

<comment><USER4> Pushing up the sites now (editing CNAMES), will comment again here and on GH issue when they're up.

<comment><USER15> The maintainers (in their FAQ) specifically said they don't want to fight this. They're ready to move on and keep working on the project they love. Don't make their life harder.

<comment><USER4> Do you expect 2000+ packages in NPM to be renamed?

</comment></comment></comment></comment></comment><comment><USER4> Also I just got [http://jadeworld.org](http://jadeworld.org) and am going to make a parody site out of it, then post it on Hacker News here for upvotes.

<comment><USER16> Are childish provocations like these really a good idea when the authors of Jade wanted to avoid a law suit?

</comment></comment><comment><USER17> Total nonsense. Legal "threats" are just that - threats. They're not legally binding in anyway. It costs nothing to send them, but gives lawyers a way to manufacture some billable time.

Send these to /dev/null and never think twice about them.

</comment><comment><USER18> What does jadeworld even do? I'd go to their website to find out but it seems to be down...

<comment><USER19> [https://en.wikipedia.org/wiki/JADE_(programming_language)](https://en.wikipedia.org/wiki/JADE_\(programming_language\))

<comment><USER18> Suddenly the whole trademark thing seems a lot more reasonable.

</comment></comment></comment><comment><USER20> No no no. Fight them. We are more.

</comment><comment><USER21> I'm worried about how many people here seem to have a (at best) tenuous understanding of the trademark system.

My new programming language will be called "nodes".

</comment><comment><USER22> How will this affect the npm packages which depend on Pug/Jade? Will Jade be a metapackage which only depends on pug?

</comment><comment><USER4> [http://jadeworld.org](http://jadeworld.org), [http://jadelang.net](http://jadelang.net), and [http://jadesoftware.org](http://jadesoftware.org) are now live. The name Jade for a templating language is not going away anytime soon, at least for my usage.

<comment><USER23> Good job! The open-source community cannot let trolls like this win so easily. Now we need to push them up the search rankings.

<comment><USER3> How thre fuck is a company that's existed before most posters on HN were born a "troll"?

<comment><USER23> Troll as in attacking an open source project that is very unrelated just because of a similar name.

<comment><USER19> The company in question seems to be a software company that develops a programming language called JADE. These usages are not "very unrelated" and the name is "the same", not "similar".

<comment><USER12> The "Jade" of which anyone has ever heard has been around for over five years. What took these people so long to file suit? How long does it take to constitute a failure to police one's trademark?

<comment><USER2> This is not up to HN to decide, it is up to the court.

Unfortunately, we will never know since the new JADE language maintainers agreed to the terms of the old JADE software company.

<comment><USER12> Which court is that?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> It's up. [http://jadeworld.org/](http://jadeworld.org/)

I also just posted a Show HN at [https://news.ycombinator.com/item?id=11002843](https://news.ycombinator.com/item?id=11002843) for this.

<comment><USER4> Thanks to this traffic generated, their site went down. [https://i.imgur.com/8Its1a2.png](https://i.imgur.com/8Its1a2.png)

<comment><USER24> [https://web.archive.org/web/20160128220329/https://www.jadew...](https://web.archive.org/web/20160128220329/https://www.jadeworld.com/)

</comment></comment></comment><comment><USER25> It's easy to take five minutes to search the online US trademark database before settling on a name. Of course that's not exhaustive, but it would have avoided this situation.

<comment><USER26> Jade Software shows up as dead in that database. Hmmm.

<comment><USER27> This seems rather important.</comment></comment></comment>


ABAP - <AUTHOR> http://monohedron.blogspot.com/2009/01/even-worse-languages-abap.html

<comment><USER2> That's hilarious man. I did work on ABAP for a few dreaded years of my professional life. And now I am coding in Ruby and Rails. I feel like I am the oldest man on earth, who has touched a dynosaur and who is on his way to moon for a joyride!</comment>


Real world SSD wearout - <AUTHOR> https://blog.okmeter.io/real-world-ssd-wearout-a3396a35c663 <comment><USER2> Place I work got hit HARD by this. Year and half before I started at this company they setup 4 SSD's in a RAID 5 config.

One day while working on things I noticed a message on our server indicating a PDR1001 Error (Predictive Failure). So we ordered a new one. The new SSD arrived. We popped in the new one and the RAID started to rebuild.... Lo and behold during that operation Drive 1 threw the same error and the whole thing came crashing down...

We ended up losing the whole array. I had NO idea we had SSD's in the system. I had no idea that no one was monitoring their life.... The moment I saw we had this issue I saw the writing on the wall. 4 SSD's in a raid 5 all installed at the same time... means all SSDs end up with the same approximate critical end of life.

All I could do was shake my head at the whole thing... Pretty sure those in the charge who setup the array still don't understand why this situation was 100% avoidable...

<comment><USER3> Besides the ssds, who in their right mind uses raid 5 anymore? It's been dead to me for years... since the first time I had to rebuild an r5 of 4tb disks and did the math on the time window for cascades. Also, not to nitpick, but you shouldn't wait to order a replacement that gets shipped to rebuild, you should have spares ready to go at all times for all raid systems. That might have been the difference between a cascade and a normal rebuild.

<comment><USER4> Yea any time I'm using a raid setup (as opposed to a cluster or other more intelligent system like zfs) I insist that there be at least one hot spare and a cold one ready. And never let anyone convince you a raid is a backup

<comment><USER5> As someone looking to backup a few terabytes of photos and videos, where I do have them on a raid, what constitutes an actual backup?

<comment><USER6> An actual backup, would be a copy of said photos and vidoes on:

\- An external Drive. (which is only connected to copy files)

\- An external cloud service.

\- Another computer that you have.

You should probably do a couple of these.

I personally backup home computers (using borg) to a home server, that server has a 2.5 2TB external HDD connected to it (2 other 2.5 external drives are kept outside of the house). A backup of important files from the nas (including the computer backups) gets copied over to the external drive nightly. Weekly the drives gets rotated.

The really important stuff is also backed up offsite on a daily basis.

</comment></comment></comment></comment></comment><comment><USER7> This is a useful datapoint, but I feel the author could learn a thing or two from the backblaze disk report. It looks like there are a few use cases that cause high wear on SSDs. I dont see a lot of concrete numbers here. To me, it is more useful to say something like: these ssds will last 2 years given that their sustained write throughput is X GB/sec on average.

From the SSD torture tests Ive seen, it is many petabytes of data that the average SSD must write before getting anywhere near "weared out".

<comment><USER8> Some care has to be taken when saying a "petabyte of data" with flash media. You don't have to write a petabyte of data to reach a petabyte of SSD writes. The minimum block size that flash can write is an "erase block", which is usually a few megabytes.

This means that the minimum SSD write will be at least a few megabytes, including that few hundred bytes to that logfile. Likewise, every flushed write will round up to the nearest erase block, in size.

So, to write a few petabytes to the drive, you only need a few gigabytes of writes of per-byte-flushed data, since your actual NAND writes are amplified by a few million.

There's cache and many smart algorithms at play to minimize the number of erase block writes, but once you cause a flush (close the file, etc), you're performing a write to flash.

This is also why any embedded system with logging enabled has a very real maximum operating life. This is fun to discover the first time, when all of your customers start saying your product stopped working within the same couple of months.

<comment><USER9> Some clarifications: Minimum SSD write is much less than the erase block. Erase block is the minimum block size that can be erased. For SSDS, there are 2 key concepts: 1\. Read granularity < write granularity < erase granularity 2\. Cells that have been written to must be erased before writing again.

Most SSD vendors will buffer write contents to collect a `write granularity` worth of data to avoid wasting bytes writing padding. This can be hard to do on drives without capacitors to supply backup power in the event of power loss.

<comment><USER8> I stand corrected. Our application was a circular buffer, so all non-cached writes trigger an erase. I suppose this isn't a normal use case, unless your drive is 100% full, so maybe tens of gigs rather than gigs, to write a petabyte. ;)

</comment></comment></comment></comment><comment><USER10> Is the SMART attribute "media wearout indicator" only available on enterprise- grade SSD and not on consumer-grade SSD? I checked my Samsung SSD as well as NVMe drives and I didn't find it on CrystalDiskInfo.

EDIT: It looks like "wear leveling count" attribute is available on Intel (#233) and some high-end Samsungs (#177), as well as other SSD, but it's not on any of my SSD.

<comment><USER11> If you're using smartmontools, try running `update-smart-drivedb` first: those fancy attribute names don't come from drives themselves but are always interpreted from (model, firmware, attribute id) tuple by the software you're using to query disks.

Or you can just look for [0] directly if you just want to know what drives Media_Wearout_Indicator is currently defined for.

[0] [https://raw.githubusercontent.com/mirror/smartmontools/maste...](https://raw.githubusercontent.com/mirror/smartmontools/master/drivedb.h)

</comment></comment><comment><USER12> Is there a recommended generalized tool (non-vendor specific) that can be reliably used to determine your SSD's health and outlook?

(Unfortunately I have a mix of SSDs in use, even in single personal computer, and all the vendor individual software gets overly complex and bloated...)

<comment> yjftsjthsd-h On unix-likes, I believe SMART tools works?

<comment><USER13> smartmontools also work great on Windows, OS X, ...

</comment></comment></comment><comment><USER14> So I'm confused. I get the wear out level not going lower than 1%, but that doesn't mean the drive failed, right?

<comment><USER15> That's very dependent on the drive vendor, model, and even firmware version. In many cases, drives can go on working for a very long time after the SMART metrics show it has failed. Whether you want to take the "risk" depends a lot on how critical this particular device is in your infrastructure.

<comment><USER16> I have a 16GB SSD that used to be in a POS terminal before I bought it second hand. The SSD Wear Leveling Count attribute shows as failed. Still works.

I have chosen to use it as part of a RAID1 for an OS install on a home server. Waiting to see how long it will last.

<comment><USER17> It's kinda like the expiration date for foods, an estimate.

</comment></comment></comment></comment><comment><USER18> Worth pointing out: good manufacturers like Micron/Crucial publish endurance figures for their drives. Endurance is the number of bytes you can write before the drive is officially worn out. Endurance numbers can vary by two orders of magnitude.

So if you have a write-intensive app like a Jenkins server building a C++ project, you might want to pony up for a server-class drive with better endurance.

<comment><USER19> >building a C++ project

Build in a ram disk and then copy whatever you need for permanent storage?

<comment><USER20> not everyone has 64GB of ram.

<comment><USER19> 64GB is cheaper than enterprise SSD.

</comment></comment></comment></comment><comment><USER21> As an author I would greatly appreciate any suggestions in what kind of stats you would want us to gather and share.

<comment><USER22> Just FYI, "to wear (out)" has an irregular past tense, and past participle forms: "wore" and "worn". So:

1) These disk, because of constant throughput, wore out.

2) These disk, because of constant throughput, are worn out.

<comment><USER21> thnx

</comment></comment></comment><comment><USER23> This article seems to have a trove of interesting data, but struggles to generalize many conclusions out of it.

<comment><USER24> I think that's because it's a thinly veiled advertisement.

</comment></comment><comment><USER25> The advice to consider to disable swap applies equally on (micro)SD and USB sticks. Just make sure you have enough RAM. Also, consider mounting directories such as /var/log as tmpfs (if you don't need the logs after reboot) or use a remote syslog.

</comment><comment><USER26> What really happens when the level is low ? Less capacity ? Data loss ? Performance decreases ?

<comment><USER27> I've worked on SSD firmware before. Obvious the implementations may vary but typically there is no hard failure. These are just projections based on data sheet endurance specs. What you need to look at additionally is how many defect blocks there are (another SMART spec) as it will start to rapidly increase as more and more flash blocks go bad.

When the level is low, capacity shouldn't decrease as there are spare blocks. There should be no data loss expect by catastropic block failurs (some SSD have internal RAID like redundancy.) There might be a slight performance decrease as the error correction algorithms become more active.

<comment><USER28> Those are firmware level error corrections? Or like, driver?

<comment><USER27> Its in the controller. A combination of hardware and firmware. A large percent of them will be handled by the hardware but a small number requires firmware intervention.

</comment></comment></comment></comment><comment><USER29> "Media wearout indicator" is a vendor-specific attribute.

In fact, there are NO standard (or as the article coyly calls them "basic") SMART attributes at all. A lot of vendors stick certain attributes into same slots, granted, but there's literally no industry-wide spec for any of the attributes. You have to go not by vendor, and not even by device, but by firmware revision to accurately interpret an attribute.

The wearout indicator often sits at slot 233, but sometimes it will be in 230, sometimes - some other slot. Moreover, in some drives (e.g. OCZ or ADATA) 233 is undocumented at all and it will grow from 0 normalized.

So this:

> _we implemented collection not of all the attributes, but only basic and not > vendor-specific ones_

is misleading and inaccurate.

<comment><USER30> I'd like to request a request for comments.

<comment><USER31> You don't request one, you write one.

</comment></comment></comment><comment><USER32> I did a similar thing and found even lower failure rates (across thousands of drives in a high write database environment). One thing intel recommended was to overprovision the drives. Setting the maxlba at 80% of drive capacity preserves optimal wear leveling. I also used a different drive layout etc. the long and short of it is nand wearout is kinda like quicksand. You grow up expecting it to be a way bigger problem than it actually is in your adult life.

</comment><comment><USER33> The redis case is interesting. If the 1 minute interval was somewhat arbitrary you could almost double the life of the drive by just bumping it to 2 minutes.

<comment><USER34> Yes, depending on their use case for this frequent dump file, they may be happier using AOF or much-less-frequent saves instead. I believe a dump file is belt-and-suspenders secondary backup for almost all users.

<comment><USER35> I just can't trust a man who doesn't trust his suspenders

<comment><USER36> Maybe it's the belt they don't trust.

</comment></comment></comment></comment><comment><USER37> It does very much depend on the "SSD" in question, e.g. SD Card and eMMC don't tolerate nearly as many writes as a SATA SSD or NVMe, and for sure the former dislike having power cut. I've had a few name brand SD Cards go permanently read only as a result: neat I can still read my data, but also not neat that I can't erase them before sending them back under warranty.

</comment><comment><USER38> It's interesting how long SSDs tend to last on development boxes.

I've had a 256GB Crucial SSD running on my primary dev box and it's been powered on for 3.6 years. During that time it's been powered on 94 times. I run a ton of Dockerized apps and other things.

The "wear leveling count" is at 163 which according to Crucial means the drive is at about 95% healthy.

</comment><comment><USER39> This is why Optane storage is amazing. Wears out about ten times slower, and has incredible 4K random read performance on top of it.

It almost feels like Intel is squandering a massive advantage by not pushing it harder. I know Optane DIMMs are coming soon, but M.2 form factor would be nice as well.

<comment><USER40> What would you use it for yourself? (disclosure: I work at Intel on Optane- related topics.)

<comment><USER39> The fast 4K random read is handy for delta backups to hard disk; I can read half a million files in about a minute, determine what changed, and send whatever small changes off to disk.

Another great use case is for web/npm projects with a million dependencies, all flat file. Working with those is usually miserable otherwise.

In the future I intend to crunch time series data with it.

</comment></comment></comment><comment><USER40> For those of you deploying lots of SSDs for work, how often are you having to replace them due to wear out? Many have 5 years warranties with multiple PB written (or drive writes per day), so I wonder how things are in practice.

<comment><USER32> Wearout is very uncommon. Biggest thing to do is make sure you don't fill them up. Full drives are unable to do their optimal wear leveling.

<comment><USER40> Would you do anything different with your storage software or SSD procurement if you didn't have to worry about filling up SSDs or wear leveling? Wondering how big of a pain point it is (disclosure: I work on new SSD tech at Intel).

</comment></comment></comment><comment><USER41> I accidentally discovered something similar as well, I saw my Disk usage was 30TB in the past weeks on my MacBook, I thought that is abnormal. Most of my work are browsing, and Editor coding. Turns out I had too many Tabs in Safari, and my Mac was out of memory constantly doing swapping. I was doing anywhere from 100GB to few hundred GB write per day.

If anyone has a easy solution to this would be much appreciated. Right now I a just checking every few days to see if I did something silly that causes lots of paging. There was a time I don't think I need 32GB of Memory, now I think there is a real need.

<comment><USER42> >If anyone has a easy solution to this would be much appreciated.

-use different browser, Vivaldi supports suspending and lazy tab loading

-add more ram, in your apple case it probably means buying new laptop

</comment></comment><comment><USER43> I read the related article about Postgres SELECTs causing writes sometimes - I've used Postgres for years and never knew this!

Anyway, I spend most of my time in the software world and occasionally have to setup hardware (or more commonly, diagnose hardware issues). Is there a good guide for how to setup things like Postgres or Redis with recommendations on swap/cache setup, RAID-level selection, etc?

</comment><comment><USER44> We had one SSD die in production, but it was on a system whose write load was enormous... like 50-60mb/sec sustained _for over one year_.

<comment><USER45> Do you remember what model it was?

<comment><USER44> Intel I think, but not positive. It was a higher grade SSD. Could have been an isolated incident but it was definitely abused.</comment></comment></comment>


Finland's basic income trial boosts happiness but not employment - <AUTHOR> <comment><USER2> [https://www.reuters.com/article/us-finland-basic- income/finl...](https://www.reuters.com/article/us-finland-basic- income/finlands-basic-income-trial-boosts-happiness-but-not-employment- idUSKCN1PX0NM)

</comment><comment><USER3> Wasn't it easy to predict?

</comment><comment><USER4> Source for this claim?

<comment><USER5> Reuters are reporting it. Not sure if the research is available online yet.

<comment><USER6> at least link the Reuters article lol</comment></comment></comment>


Trape: Fight harassment and cybercrime on the Internet - <AUTHOR> https://trape.co <comment><AUTHOR> Created for researchers, polices, companies and for people. Catch the bad guys!

</comment><comment><AUTHOR> It fights harassment, it tracks criminals on the Internet, fearless. A OSINT tool for the world!</comment>


Lead Dev for NYC Fashion Startup - $10,000 - <AUTHOR>

I'm launching a new fashion retail startup in New York. I'm looking for someone to lead development – all aspects of it: programming, design, SEO/SEM, UI/UX, etc. I don't expect you to be an expert in all of fields, but you should know how to manage those that are.
It's an opportunity to get involved in a really exciting new platform that could change the way the industry works.
What you'll get: - A $10,000 paycheck - An NYC office space in the Garment District (6th Ave and 37th) - Full creative freedom to build something incredible
- An experience with apparel retail and overseas manufacturing - An awesome way to spend the summer
What I'm looking for: - A hungry, driven programming wiz (pro in all web languages) - A great sense of graphic design - Someone with style who appreciates fashion - Summer commitment (May-August) - Awesome communication skills - A great network in the tech community
While I hope you're all of the above, I don't care if you're able to outsource one or two of them.
I'm a student at Wharton. One side of my family runs M&J Trimming, mjtrim.com, and the other Haddad Brands, haddad.com, (Google them). We will be leveraging the resources of both of these apparel companies, and you'll get an insider's view of how they work - from clothing design to sales to production.
If you're interested, let me know. Send an email to email@example.com with your resume and samples of your work. Students welcome. <comment><USER2> $10k a month or a year? :)

<comment><USER3> looks like $10k for may-aug. 10k from a student, for a student isn't bad

<comment><AUTHOR> exactly

</comment></comment></comment><comment><USER4> "pro in all web languages" should probably be rewritten and defined, it matters what language the site is written in.

Also, I thought it was kind of funny and an oxymoron to look for a programmer with style and fashion sense lol. Otherwise, cool opportunity and sounds fun.

<comment><AUTHOR> You're right about the "pro in all web languages" - my point was that this person should be a sort of jack of all trades who's able to manage all aspects of the development.

I think there are a few stylish programmers out there – I'm hopeful!

</comment></comment><comment><USER5> Your proposed pay rate definitely has the "hungry" aspect covered.</comment>


Ask HN: Should I report ESTA (esta.cbp.dhs.gov) security bug? How? - <AUTHOR> While filling out the ESTA application at https://esta.cbp.dhs.gov/esta/application.html, after the form refreshed I was suddenly shown someone else's personal information.
I reported the security bug via https://help.cbp.gov/app/forms/complaint but I got a totally irrelevant response, no human probably read my message.
I would like to genuinely help the devs behind the site but I am also concerned about retributions from egotripping CBP officers.  What are my options? <comment><USER2> First entity that comes to mind that _might_ be in a position to at least get the right eyes and attention to it, if not outright resolve it would be 18F[1]; that's just a guess-though this seems right up their alley. I believe there are a couple of employees here on HN.

[https://18f.gsa.gov/](https://18f.gsa.gov/)

</comment><comment><USER3> If there's not an obvious security contact at the agency, you can always report vulnerabilities to US-CERT, which has overall responsibility for connecting reporters to the right responders. [https://www.us- cert.gov/](https://www.us-cert.gov/)

This links to the report form at [https://www.kb.cert.org/vuls/govreport/](https://www.kb.cert.org/vuls/govreport/)

As with all vulnerability reporting, it's much more likely that someone will take action on your report if you can provide evidence or a reproducible proof of concept.

18F/TTS can sometimes direct reports to the right place, but it's really not their job to do so.

</comment><comment><USER4> Some US Digital Service folks know people at DHS CIO and passing this on.</comment>


The Common Start-up Mistake You Don't Want to Make - <AUTHOR> http://www.inc.com/margaret-heffernan/common-startup-mistake-you-dont-want-to-make-timing.html

<comment><AUTHOR> *Sigh. Story of my life.</comment>


Ask HN: How do you keep up with current events? - <AUTHOR> I am quite interested to know how do you keep up to date and keep an overview over current events?<p>I've always been 'out of touch' with current events, but never found a way to keep up which doesn't completely dawn on me or takes up way too much time. <comment><USER2> Drudge Report</comment>


Show HN: Monkberry – a JavaScript library for building web user interfaces - <AUTHOR> http://monkberry.js.org <comment><USER2> OT: Can somebody please tell em, to stop the excessive use of css animations(the moving star field background). It pegs one of my cores, and raises my laptops temperature to the point where i can feel it. Worse still, it really adds nothing to the ability to peruse information, if anything I find it distracting! </rant>

<comment><USER3> Given this is a website by someone purporting to be providing a "blazingly fast" JS UI lib, comments on UI perf. seem pretty on-topic.

Given the general lack of info on the site about why one should choose this library over others (beyond reiterating that it's "blazingly fast"), a showcase of one's claims of speed should be a pretty important aspect of the site.

This is not to criticise the library itself, but these kinds of first impressions are significant.

</comment></comment><comment><USER4> Damn, so much negativity. This library actually looks well designed (and I'm saying this as a virtual dom library author)

<comment><USER5> Actually a clean library .Github has more details on why it is faster than React >Monkberry is 10 times faster, sometimes 100 times faster. It's because Monkberry will do only necessary dom updates, and does it in a completely different way than React does. Monkberry compiles template to plain JavaScript to gain an advantage by using v8 hidden classes and reduce call stack. There is no virtual dom (in general, an react app have to keep 3 virtual doms), for example next template will be generated to JavaScript code which will do only necessary dom updates on state changes.

and also some benchmarks comparing against it. [http://monkberry.js.org/benchmark/](http://monkberry.js.org/benchmark/)

I always enjoy reading why someone developed new library or tool because they wanted to improve something about a library they were using.It may not be a big thing but it surely gives one or two flaws about your favorite library you are so fond of .

<comment><USER4> I asked the author if he could put together a dbmon so we could compare apples to apples. Unfortunately, React is not a good representative of modern virtual dom overhead/performance. On dbmon, React is somewhere between one and two order of magnitudes slower than many virtual dom libraries (e.g. mithril rewrite, inferno, kivi), with render times in the 60-100ms range (vs 2-10ms range for the other libs), and proportionally similar results in vdom benchmark.

As far as I could see, Monkberry doesn't implement the search space reduction algorithm that the libraries above do, and uses only mapped reordering, so I'm curious if its compilation+mapped reordering combo can outperform search space reduction w/ a virtual dom overhead.

Anyways, regardless of how well it does against vdom libs that do take advantage of hidden classes etc, I really like the execution of this project.

</comment></comment></comment><comment><USER6> Just some advice, that star animation slows the page to an incredibly sluggish state (latest Chrome on late 2013 retina MacBook Pro). Removing the `stars` and `js-stars` classes from the main div speeds the page up significantly and conveys the "blazingly fast" point more effectively.

</comment><comment><USER7> Ah so its a templating engine.

<comment><USER8> I think it's kinda MVC not full but good for micro projects where you want a clean code but not a bloated framework :D

</comment></comment><comment><USER9> This first thing I thought to compare this to was VueJS. It seems like the next step up if you were to need a bit more from your framework. Or is this an unfair comparison?

</comment><comment><USER10> I'm using riotjs ([http://www.riotjs.com](http://www.riotjs.com)) which is closer to this than React, but it's "standard" HTML templates with controllers _with_ the template so all relevant code is together. (When I see react's complete divergence from HTML I get really worried...)

It's about 9kb gzipped, so it's 9x bigger, but does much more than Monkberry.

</comment><comment><USER11> This looks like it belongs on [http://microjs.com](http://microjs.com). Instructions in the footer.

</comment><comment><USER12> what problem does this library solve that reactjs does not solve?

<comment><USER13> Being 1kb. Not to be pedantic, but 147kb is a lot on a crappy connection, so if you have users in rural places with slow internet or tiny data caps, a small library like this may be useful.

<comment><USER14> Wouldn't you just use a CDN that your visitor's browser would pull a cached copy from if you were worried about large assets? They're only downloaded once*, might as well re-use the one downloaded the last time you visited a site with React. Or do I not understand how browser caching works?

<comment><USER15> This is nice in theory, but... A user visits site A. To get a cached version of React the following need to be true:

1\. A user has to have visited a site, site B, with React recently. 2\. The site with React needs to be using a publicly available CDN. 3\. Site A and Site B must use the same CDN. 4\. The versions of React must match exactly. There are already about a dozen alpha/patch/rc versions of the React 15.x.x series alone.

In practice, this does not happen very often: [https://www.stevesouders.com/blog/2013/03/18/http-archive- jq...](https://www.stevesouders.com/blog/2013/03/18/http-archive-jquery/)

</comment></comment></comment></comment><comment><USER16> The site presenting it has issues but the library itself seems pretty decent. Keep it up man.

</comment><comment><USER17> I did something quite similar couple years ago [jtmpl.com].

Main difference is Monkberry uses Jinja-inspired templating language and jtmpl uses Mustache (with slightly changed semantics, so, for example, a partial can be dynamically requested via XHR). jtmpl is a bit bigger and provides a bit more features.

</comment><comment><USER18> In the example

<button type="submit">Add #{{ todos.length }}</button>

should probably be

<button type="submit">Add #{{ todos.length + 1 }}</button>

:-)

</comment><comment><USER19> Those checkboxes respond with noticeable delay. I hope that is more to do with the website than the library.

</comment><comment><USER20> Love Phuket. This looks pretty cool too :)

</comment><comment><USER21> What it can do that VanillaJs can't?

<comment><USER22> Good abstractions help people build better software, faster. This is universally true, not just in the world of JS.</comment></comment>


Fake News Could Lead to Real War - <AUTHOR> https://www.politico.com/magazine/story/2019/07/05/fake-news-real-war-227272 <comment><USER2> War planning takes years, not weeks.

Several years ago, I predicted that the US could not delay a major war with China any later than by Spring-Summer 2020 or else it would risk defeat.

The news reports over the 30-odd months since then have not altered my opinion. If anything, I feel that my estimated timeline is still on track and that we are now less than 12 months away from that war.

</comment><comment><USER3> I agree with the warnings in the article and the statement that after talking to officials the author believes that Iran was indeed behind the tanker attacks is incredible: only hard evidence is credible.</comment>


I trained a GPT-2 model to make AskReddit posts: AskReddit But AI - <AUTHOR> https://www.askredditbut.ai/ <comment><USER2> "Hello internet! What are some good names that people have come up with to be more friendly with one another online?" This could be a winner.

</comment><comment><USER3> Ha!! "Have you ever faced a Yes Man? What was your experience?"</comment>


GitHub Wiki Search - <AUTHOR> https://chrome.google.com/webstore/detail/github-wiki-search/gdifdhnjmjaidbajhapmbcbnoocoeooc

<comment><AUTHOR> I saw the recently "this I'd build at GitHub" post. I love being able to search with this Chrome extension.</comment>


Ask HN: Plain text hosting with a static URL - <AUTHOR> I've been looking for a service similar to Pastebin.com, but has a static URL.<p>I've been looking and it doesn't seem like this exists. I was thinking about implementing it myself, but wanted to see if anyone knew of any offerings. Any ideas? <comment><USER2> what do you mean by static url? I don't think pastebin links change.

<comment><AUTHOR> Ah, I tried to clarify, but I wasn't unable to edit. I meant custom and static. If anyone curious to a solution, for now I have been using [http://yourls.org/](http://yourls.org/) (A self hosted URL shortener) with Trello. I'd use Pastebin itself, but unfortunately Pastebin doesn't support markdown publishing AFAIK.</comment></comment>


Suffering, not just happiness, weighs in the utilitarian calculus - <AUTHOR> https://aeon.co/ideas/suffering-not-just-happiness-weighs-in-the-utilitarian-calculus <comment><USER2> The book Happiness by Design by the behavioral scientist Paul Dolan posits that experiencing a feeling of purpose (not the outcomes or evaluations of purposeful activities, but what they actually feel like in daily life) can be equally as important as the experience of pleasure in determining behavior and the quality of life. While different personalities can increasingly tilt towards one or the other, a truly happy life requires a combination of pleasure and purpose to take into account the diminishing marginal returns of both states.

It seems as though Mill's idea of giving space to "higher" pursuits in the utilitarian calculus is an earlier formulation of this idea. In a state where pleasure was easily accessible to all, purpose a sense of narrative would be hard to come by, hence the "No!" that he intuitively came up with.

<comment><USER3> Thanks very much for the recommendation, I've been looking for a factual treatment of something like this.

For a philosophical defense of something similar, you might be interested in capabilitarianism. Crudely put, it's a version of utilitarianism which argues utility arises not just from happiness and lack of pain, but from _capacity_ \- the ability to plan and act and change the world as we desire. Capability and purpose aren't the same, of course, but it certainly looks like the first is a condition of the second - without some amount of agency, purpose tends to be nonexistent or painful unreachable.

The general idea that intent and action must be combined with happiness fits my intuitions nicely, and provides an elegant answer to issues like wireheading. Rather than adding some complex epicycle, we can simply observe that maximizing happiness in that way surrenders too much purpose.

<comment><USER4> This echoes Maslow's hierarchy of needs, which can be viewed as people intuitively focusing on longer and longer-term needs.

The bottom of the hierarchy, food and water, if not fulfilled, will kill in a matter of days to weeks. Immediate physical safety follows, then social belonging, then higher-order psychological needs (love, esteem) that promote success over longer time scales.

Note that these needs aren't necessarily competing, but are ultimately compatible: e.g. being in a position where you are loved and esteemed by your community will ensure that your lower-order needs are likely to be fulfilled indefinitely into the future.

In this context, a 'will to power' makes a lot of sense. Your mind instinctually models that not only is it necessary to have your immediate needs today fulfilled, but that you have a _guarantee_ that your immediate needs can be fulfilled in the future. And the best way to guarantee that is to have the personal ability to ensure that outcome, e.g. 'power' or 'capacity'.

If you drag this discussion out a bit further, one can immediately see the limitations of a proposal like UBI, or the anger coming from largely right- leaning communities hit by downsides of globalization. You can promise people benefits (or tax transfers) and feed them today, but there is no psychological sense of safety. If you know that ultimately you play no useful economic role in your society, and are really living at the largesse of society of large, what guarantee is there that that state of affairs will continue indefinitely?

</comment></comment></comment><comment><USER5> > There's an immense mystery at the heart of being human: the paradox of > opposing and accepting suffering.

And the whole next paragraph just lacked a point: on how so many people extract pleasure from BDSM, where pain and pleasure (in many, many variants) come together in some controlled environment.

<comment><USER6> BDSM is about social hierarchy - dominance and submission. This is completely different from non-social concept of accepting suffering in the short term for a payoff later.

<comment><USER7> Bondage, domination, sadism, and masochism is what that stands for. You've correctly identified one facet of domination, for some folks.

There's a lot left there which your "BDSM is about social hierarchy" doesn't even begin to address.

</comment></comment></comment><comment><USER8> If utilitarianism wasn't practically difficult enough, human perception is adaptable. We don't perceive stimuli in absolute terms, but rather relative to whatever we've normalized. Thus the experience of suffering actually lets us experience pleasure more readily (the reverse is also true).

Additionally, due to the quirks of memory, adding some pain to a pleasurable experience at the right time will paradoxically cause people to remember it as being more pleasurable. This is completely at odds with a simple moral calculus.

It would be interesting to set a science fiction story in a world where an accurate moral calculus had been developed.

<comment><USER9> > adding some pain to a pleasurable experience at the right time will > paradoxically cause people to remember it as being more pleasurable

Even more paradoxical, some kinds of physical pain are actually remembered as pleasurable in and of themselves, like eating spicy food, or running a marathon.

<comment><USER10> > Even more paradoxical ... running a marathon

As a runner this feels like a statement that shows some (very reasonable) ignorance of feelings and motivations. Achievement through empowerment of hard work can be a very healthy way for a successful marathon to be pleasurable.

<comment><USER9> How is that different from what I said?

</comment></comment></comment></comment><comment><USER11> I think the basic premise is correct, that suffering is by far the most important determinant in where utilitarianism takes us in the long term. Adding the good has far fewer world-changing requirements and consequences than removing the bad, which might say something about the raw deal that evolution hands to all individual entities. A short sketch is here, the pertinent part reproduced below:

[https://www.exratione.com/2016/06/the-hedonistic- imperative-...](https://www.exratione.com/2016/06/the-hedonistic-imperative- followed-to-the-ends-of-paradise-engineering/)

Suffering is not only human, however. The natural world from which we evolved continues to be as bloody, terrible, and rife with disease as it ever was. Higher animal species are certainly just as capable of experiencing anguish and pain as are we humans, and the same is true far further down into the lower orders of life than we'd like to think is the case. We ourselves are responsible for inflicting great suffering upon animals as we harvest them for protein - an industry that is now entirely unnecessary given the technologies that exist today. We do not need to farm animals to live: the engineering of agriculture has seen to that. The future of paradise engineering could, were we so minded, start very soon with an end to the farming and harvesting of animals. That would be followed by a growing control over all wild animal populations, starting with the lesser numbers of larger species, in order to provide them with same absolute control of health and aging that will emerge in human medicine. Taken to its conclusions, this also means stepping in to remove the normal course of predator-prey relationships, as well as manage population size by controlling births in the absence of aging, disease, and predation.

Removing suffering from the animal world is a project of massive scope, as where is the line drawn? At what point is a lower species determined to be a form of biological machinery without the capacity to suffer? Ants, perhaps? Even with ants as a dividing line, consider the types of technology required, and the level of effort to distribute the net of medicine and control across every living thing in every ecosystem. Or consider for a moment the level of technological intervention required to ensure a sea full of fish that do not prey upon one another, and that are all individually maintained in good health indefinitely, able to have fulfilling lives insofar as it is possible for fish. General artificial intelligences and robust molecular manufacturing technologies, creating self-replicating machinery to live alongside and inside every living individual in a vast network of oversight and enhancement might be the least of what is required.

At some point, and especially in the control of predators, the animal world will become so very managed that we will in essence be curating a park, creating animals for the sake of creating animals, simply because they existed in the past - the conservative impulse in human nature that sees us trying to turn back any number of tides in the changing world. It seems clear that the terrible and largely hidden suffering of the animal world must be addressed, but why should we follow this path of maintaining what is? What good comes from creating limited beings for our own amusement, when that same impulse could go towards creating intelligences with a capacity equal or greater than our own? Creating animals, lesser and limited entities that will be entirely dependent on us, to be used as little more than scenery, seems a form of evil in a world in which better can be done.

Given this, my suspicion is that when it comes to the animal kingdom, the distant future of paradise engineering will have much in common with the goals of past religious movements and today's environmentalist nihilists, those who preach ethical extinction as the best way to end suffering. Animals will slowly vanish, their patterns recorded, but no longer used. If animals are needed as a part of the world in order to make the human descendants of the era feel better, then that need can be filled through simulations, unfeeling machinery that plays the role well enough for our needs. The resources presently used by that part of a living biosphere will instead be directed to other projects.

<comment><USER12> Utopia. Our own bodies have more bacteria than cells in a constant state of symbiosis and infighting. It's seems like it's an optimization algorithm to keep life going. Suffering as a needed reinforcement feedback is deeply woven in the fabric of nature; without suffering living beings wouldn't survive a day. We can dream of something better, isolate ourselves, but that won't change the ongoing optimization algorithm that is deep inside us and nature.

</comment></comment><comment><USER3> This is an interesting piece, but I can't shake the feeling that the author needed to work harder on his claims. There are a string of mistakes and misdirections that ultimately invalidate the piece as a whole.

> _What's the 1755 Lisbon earthquake compared with Auschwitz? What's a flu > epidemic next to Hiroshima?_

The Lisbon earthquake was small compared to Auschwitz, but reaching back to 1755 is rather strange. (Portugal's total population was <3,000,000.) A better and more timely reference might be the 1931 floods in China, which did in fact kill several million people. High estimates for the death toll of Hiroshima _and_ Nagasaki are <300,000. The Spanish Flu, only two decades earlier, killed between 50,000,000 and 100,000,000 people.

I don't think these are idle complaints about a section specifically devoted to rejecting Mill's claim that chance and nature overmatch human evil.

> _When we see each other in terms of usefulness, as Jean-Paul Sartre observed > long before Facebook and Twitter: 'Hell is other people.'_

This is a particular frustration of mine, because everyone misinterprets this. But a philosophy professor of all people ought to get it right. Sarte's complaint is not at all about 'seeing each other in terms of usefulness'. Rather the opposite - he acknowledges that we always use other people to shape our identities, and so _specific_ other people can create hell for us!

Quoting Sarte himself: "'Hell is other people' has always been misunderstood. It has been thought that what I meant by that was that our relations with other people are always poisoned, that they are invariably hellish relations. But what I really mean is something totally different. I mean that if relations with someone else are twisted, vitiated, then that other person can only be hell. Why? Because … when we think about ourselves, when we try to know ourselves … we use the knowledge of us which other people already have. We judge ourselves with the means other people have and have given us for judging ourselves."

[https://www.vox.com/2014/11/17/7229547/philosophy-quotes- mis...](https://www.vox.com/2014/11/17/7229547/philosophy-quotes- misunderstood-wittgenstein-sartre-descartes)

> _Even when things materially improve because of our commitment to > utilitarian principles, our increased happiness often doesn't register as > meaningful._

This is perhaps the most fundamentally and damningly wrong claim in the whole piece.

Bypassing the question of pre-agricultural life, what we see is absolutely that utilitarian progress - social, economic, and technological development - has created increased happiness on a massive scale. Disease is a major source of suffering, and the oral polio vaccine prevented 1.1 million cases of paralysis _in the US alone_. Life satisfaction polls overwhelmingly suggest that economic and political progress make us happier. Over the last ~30 years, happiness numbers have risen worldwide (despite the US case). Richer and more equal countries are happier, and change over time suggests that causality flows that direction. Countries which perform above their wealth on happiness, like Costa Rica, are also countries which are lastingly free from armed conflict, with quality healthcare, social services, and non-corrupt government.

And all of this is people surveyed. A moment's thought on the sources of sample bias in the survey suggests that many of the least happy people surveyed are in fact those who would previously have been missed altogether - people who would have been enslaved or confined, or killed by war or disease, but who are now at least alive and accessible.

[http://www.euro.who.int/__data/assets/pdf_file/0005/292865/C...](http://www.euro.who.int/__data/assets/pdf_file/0005/292865/Cost- effectiveness-case-studies.pdf)

[https://ourworldindata.org/happiness-and-life- satisfaction](https://ourworldindata.org/happiness-and-life-satisfaction)

> _Mill tries philosophically to resolve the paradox of suffering by arguing > that higher goods such as love and literature are ultimately more satisfying > than basic forms of pleasure. In some sense, that's true. But the terms of > this satisfaction are no longer utilitarian;_

And in his final accounting, Samuelson offers some bizarre reversal of the no true Scotsman fallacy, rejecting as non-utilitarian any idea which he can't easily rebut. Utilitarian thought is not incapable of handling suffering which leads to greater happiness, or discussing the relative merits of different forms of happiness. Far from it - hard questions like wireheading and the repugnant conclusion are dealt with at enormous length in utilitarian thought.

Utilitarianism is simply a claim that the moral weight of actions is determined by their impact on well-being. Capabilitarianism, negative preference utilitarianism, and a dozen other developments have brought us past the initial sketches of Bentham and Mill. These complexities are well worth discussing, but they deserve better than Samuelson's blend of factual errors and vague appeals to the nobility of suffering.

</comment><comment><USER13> Pursuing happiness is a fools errand. Happiness is an emotion. Emotional states maximized are dulled. You get diminishing returns from eating cookies.

Pursuit of happiness is a propaganda creed that falls apart like sand when examined.</comment>


Show HN: Meklebar — Bitcoin escrow transaction helper - <AUTHOR> http://goshakkk.name/meklebar/

<comment><USER2> I'm guessing this has some interesting legal implications. This specific incarnation might not survive.

I like it!

<comment><AUTHOR> > This specific incarnation might not survive.

Actually, I am all for wallets implementing similar functionality and making the overall experience better. It's just that they are all really, really slow to do this. But escrow transactions are useful and the purpose of the app is just to allow you to create / redeem those.

Besides that, I plan to add some URL scheme where for example you create a payment request and send the link, and the buyer just pastes their private key and pays. (On a marketplace where the system generates the payment request and present the buyer with the link, for example.)

It's just that bitcoin:// URLs don't allow you to do things like this, and not every wallet supports URL scheme regardless.

<comment><USER3> > and the buyer just pastes their private key and pays

I thought your link was cool, but I'm a little scared that this is your stated intention. Are you serious? Doesn't that give you, the middleman, access to all of their funds (and not just the amount they needed to use to pay the invoice?)

<comment><USER3> The more I think about it, the more I think it seems like a well-reasoned and wise approach.

We probably ought to decouple "the wallet" from "the identity" as much as possible, and users handing over wallet keys to their favorite Trusted Entity to Facilitate Payment is a step in the right direction. If you want to keep funds separate, you will need a separate wallet and to get comfortable making payments from one wallet into another. Accounts in the same wallet, derived from the same private keys, are not sufficient.

One of the problems I consider in building a service like this is: how do you safely scale your fee schedule to match the level of funds your users trusted you to keep securely and escrow?

Do you charge a flat fee to list an advertisement on your forum, where your escrow services are included with the base price?

Do you take a percent fee on each transaction, and if so, how do you enforce it given that you're using three-party escrow such as this? If you're doing it right, they can literally complete the transaction without your help and perhaps should only feel compelled to pay you while you're actively involved in resolving disputes.

Maybe that's the right approach, it incentivizes users to police themselves and to do business with more trusted partners, to avoid paying fees, but you could wind up making very little compared to the volume of transactions that occurred between users of your advertising space. (Pro: the costs associated with fraud and managing escrow are very low.)

You could also charge a monthly membership fee and restrict access to the advertising space to only paid members with current accounts? They would get your escrow service for free (included in the price). That seems like the best option, but you have to deal with "critical mass" and network effects problems, there is little incentive to pay to advertise on a forum with no users.

It would also be easy to overshoot your target transaction fee percentage, or undervalue your time by charging too small of a fee when in reality attempts to perpetrate a fraud on even private internet forums are very common and very time consuming to investigate.

This may be slightly more naïve analysis than I thought, and reaching for a larger service than what you've actually provided, but it's more thought out than my first reply.</comment></comment></comment></comment>


Spruce Goose - <AUTHOR> https://www.evergreenmuseum.org/the-museum <comment><AUTHOR> "With displays ranging from the elegant aeronautic designs of two bike mechanics – Orville and Wilbur Wright – to an actual Lockheed SR-71 Blackbird that can fly at speeds of over 2,000 miles per hour – the Evergreen Aviation & Space Museum located in McMinnville, Oregon, has a little something for everyone. The centerpiece of these aeronautic breakthroughs is the original Spruce Goose. Built entirely of wood due to wartime restrictions on metals, this massive airplane stands as a symbol of American industry during World War II."—Museum website</comment>


Top Civil Rights Lawyers Warn Mark Zuckerberg of Potential Criminal Liability - <AUTHOR> https://gizmodo.com/top-civil-rights-lawyers-warn-mark-zuckerberg-of-potent-1839637024 <comment><USER2> I think it's quite possible Facebook will be facing criminal actions before long both because there are statutes that can be cited that FB is probably violating and because states/localities might see suing Facebook as a possible revenue source. Ultimately I think Facebook is simply caught in the middle of a divided America and fighting with each other online will almost certainly spill over into the courts... I just hope it doesn't spill out into the streets as well.

<comment><USER3> If fighting spills into the streets, it will likely be because of social media. Fake news. Echo chambers.

</comment></comment><comment><USER3> "Zuckerberg has insisted that the policy is based on a commitment to free expression and has invoked the First Amendment and the values it protects as the impetus behind the company's decision."

I would point out something about free expression. There can be consequences to free expression.

You can't yell Far in a crawdad theater.

<comment><USER4> > You can't yell Far in a crawdad theater.

That saying was created by the Supreme Court back in 1919 as a way to convict a man protesting the draft. I'd be careful using it.

[0]: [https://en.wikipedia.org/wiki/Shouting_fire_in_a_crowded_the...](https://en.wikipedia.org/wiki/Shouting_fire_in_a_crowded_theater)

</comment></comment><comment><USER5> I wouldn't have even warned them - I'm sure the small city's worth of lawyers they have on payroll know more than we think that the CEO could be liable - they just know all the loopholes and have all the cash to defend their choice.</comment>


Advice to new developers on networking - <AUTHOR> http://inessential.com/2010/02/10/advice_to_new_developers_on_networking

<comment><USER2> I love how he describes the two types of geeks. I would argue that there is something in between the two, but it's eloquent nonetheless. "The second type is tech-inflected liberal arts types." This makes me laugh, because I probably have to count myself nearer this camp than the first type, "the guys who would invent computers if they didn't already exist."

The one thing I didn't like so much about the article as it tries to dissuade the fears of developers surrounding networking events, but it doesn't really emphasize what the point of it in the first place is.

1\. Make friends 2\. ??? 3\. Profit!!

</comment><comment><USER3> "Remember that all geeks are shy, just like you. Even the boisterous ones. Or especially. The word "shy" is so universally applicable among geeks that it means nothing: it's no excuse for you or anybody else. What do you think beer is for? It's not just a FIFO stack."</comment>


Descending into modular neuroevolution for logic circuits - <AUTHOR> https://www.declanoller.com/2019/05/24/descending-into-modular-neuroevolution-for-logic-circuits/ <comment><AUTHOR> I used python, pytorch, and sympy to try and make neural networks assemble and train to be effective at simple logic gate tasks. When one successfully assembles for a simple task, I "modularize" it to try and make it usable in more complex logic circuits.</comment>


Switched-on bats: hosting viruses is a cost of flying - <AUTHOR> https://cosmosmagazine.com/biology/switched-on-bats-hosting-viruses-is-a-cost-of-flying <comment><USER2> >"During the metabolic stresses of flight, some of the bat DNA is released into cells, where it doesn't belong, and normally this would trigger a powerful immune response, however [the researchers] have shown that during evolution bats have mutated a key protein in this response called STING."

This doesn't make sense to me. What is so special about the metabolic stress of flight? Is it different than the stress cheetah cells experience when it runs 100 kph?

<comment><USER3> Flying needs a lot more energy than running. All flying animals have a lot more muscles compared to body weight than others.

And bats fly all night, while Cheetahs only run at best a few minutes per day

<comment><USER4> Makes sense, but is the same also true for birds then?

<comment><USER3> They don't know. It's bleeding edge science and so far the study was only done for bats. Likely other scientists will look into birds now.

Birds are only very distantly related to bats (hundreds of millions of years away in evolutionary time) and their last common ancestors didn't fly.

There's something called convergent evolution when you have similar problems you come up independently with similar solutions, but then birds are in many ways very different from bats. So it could be that they have a similar mechanism, or they get around the problem in some other way.

</comment></comment></comment></comment><comment><USER5> This raises the question of why this would not be an optimal strategy for other mammals, or if it would be, why it has not arisen independently in many other lineages.

The headline states that hosting viruses is a cost of flying, but it does not really say what the downside of doing so is, given that the viruses do not seem to be harming the bats. Perhaps it leaves them more vulnerable when dangerous pathogens come along, such as the fungus causing White-nose Syndrome in North American bats. The article says that bats are relatively long-lived, suggesting that this adaptation is not a compromise, though it may be that the advantages of being a bat (presumably coming mostly from flying) compensate for any compromise that this trait requires.

The article mentions a consequence of flight, stress-induced DNA leakage into cells that could trigger an auto-immune response, that might have increased the selective pressure for this adaptation in bats alone (among mammals). I imagine someone will be looking into whether birds have a similar adaptation.</comment>


Avoiding SMS vendor lock-in with SMPP - <AUTHOR> https://danielpocock.com/avoiding-sms-vendor-lock-in-with-smpp <comment><USER2> Interesting project. Seems like a modern version of Kannel [1], a battle tested SMS gateway that supports a very simple HTTP interface for applications and both SMPP and EMI ECP protocols for the backend.

For an alternative Java SMPP implementation, see CloudHopper [2] (Twitter use it for its SMS infrastructure)

[1] [http://www.kannel.org/](http://www.kannel.org/)

[2] [https://github.com/fizzed/cloudhopper- smpp](https://github.com/fizzed/cloudhopper-smpp)</comment>