I've had more fragmentation problems with iOS/iPhone than with Android - <AUTHOR> http://www.getidealyzer.com/blog/ive-had-more-fragmentation-problems-iosiphone-android <comment><USER2> > I was not worried about breaking it again as the changes in this update did > not touch anything that had issues before...I must have fumbled in the SVN > check in.

Even if this wasn't the case, it's always possible that some new chunk of code you're adding requires a library that doesn't exist on down-level OS versions. Or the new code doesn't properly check existing libraries for the availability of classes or methods (e.g. some UIKit classes only exist in iOS 4.0 and up. To ensure that your app doesn't crash on older versions, you need to test for the existence of the class you want to instantiate). If any of these conditions hold true, crash city.

I own every iPhone that Apple has released, and I keep my original iPhone on 3.1.3 for precisely this kind of scenario. In fact, just yesterday I had to fix a couple iOS 3.1.3-specific bugs, and couldn't have done it without that original iPhone.

Long story short: if you're going to claim you support a particular platform, you better test on it. If you can't or won't test on it, then don't support that platform as a deployment target.

<comment><USER3> Exactly. In this case, the developer should've either tested prior to release (on 3.0), or specified a 4.0 build.

</comment></comment><comment><USER4> Some things that may have helped him not get into issues with Android -

You can create AVDs (Android Virtual Device) that have different hardware capabilities (RAM, Camera, SDCard, Screen Sizes etc.) and run different versions of Android - 1.6 to 2.3 as of now. This makes testing your app very easy - you just set a minimum SDK version and if your app doesn't do weird things (uses features that don't work on a version of Android and declares support for that version)- most times it works very well.

API Levels - API changes are mostly additive and old APIs are carried forward as-is. <http://developer.android.com/guide/appendix/api-levels.html>

More than anything though - the developer can just push a beta in the Market and receive excellent feedback from users - user submitted stack traces, device info, feedback etc. can be very valuable in identifying and fixing compat issues.

</comment><comment><USER5> How is this a tale about fragmentation on either operating system's ecosystems? It reads more like a story about how the developer has a faulty approach to releasing software. He made the mistake of making an assumption that turned out to be erroneous, and then had an issue with his version control. He fixed the issues and everything was good with the world. Once again, how is this fragmentation? If he where complaining that the review process takes too long, then point taken and I agree, but this has more to do with user error than with the ecosystem itself.

</comment><comment><USER6> The problem is that Apple deprecates their SDK really quickly. As developers, that makes it really tough to test old versions of iOS when installing an updated SDK REMOVES previous versions!! Even if you select an older "OS Deployment Target", you're out of luck unless you have a device to test it on. The Simulator is always running the latest version.

I guess they assume everyone will upgrade, but a lot of people don't or can't.

<comment><USER7> > The Simulator is always running the latest version.

Actually this appears to be false now. I just fired up my iOS Simulator, and in the "Hardware" menu I can select which OS version I want, either 3.2, 4.0.2, 4.1, or 4.2.

<comment><AUTHOR> That's right you can select all those versions accept 3.1.3 and that is the problem.

<comment><USER8> Why is that the problem?

Just install Xcode 3.2.2, which does include support for the Simulator 3.1.3.

You can get it from <http://connect.apple.com/> \- select Developer Tools, find 3.2.2. in the page, download it, and install it to a directory other than the default /Developer, so your existing tools won't be affected. You might want to skip the installation of the developer utilities, since the ones from the current Xcode will be more up to date.

But you still are missing an important point. The Simulator is not an emulator. It does not run the same instruction set as the device itself. So the best way to test is still with actual devices running the versions of the OS you are interested in testing.

<comment><AUTHOR> I absolutely I agree testing on a device is necessary. In fact I use push notifications which cannot be tested at all in the simulator. It is also true with the Android emulator. As an emulator it is closer to a device but still not the same.

However the bugs I had would have been picked up in the simulator.

Thanks for the pointer for the older version of Xcode. That would have been great but at this point I may as well do my 3.1.3 testing on the device.

</comment></comment></comment></comment></comment><comment><USER9> How is this a major fragmentation problem? This is a story trying to point out fragmentation issues but only points to one problem (testing on iOS 3.1.3). There are many more fragmentation issues with Android than this one story.

<comment><USER10> The reason people bring Android fragmentation as a negative is because they claim it's hard for developers to support all different Android devices.

This post shows that iPhone has the same problem: every iOS version is a fragmentation point. If you want to support version X1, X2, X3, X4 etc. of iOS you have to make sure it works on all those versions, just like if you want to support version X1, X2, X3, X4 etc. of Android, you have to make sure it works on all those versions.

The post shows another thing: that while Google makes it easy for developers to support all OS versions by providing decent development tools (i.e. emulator that supports older OS versions) and providing developer-friendly phones (so that you can install different versions on the device).

In contrast Apple makes it difficult by forbidding developers to downgrade their phones for testing or providing emulators for older devices so developers have to jump through major hoops to make sure that their software runs on devices that are still being used by a nontrivial amount of users.

To summarize: in practice supporting multiple version of Apple's iOS is harder than supporting multiple versions of Android due to Apple's shitty developer tools and their general shitty attitude to developers, at least according to that one developer.

<comment><USER11> No, the problem here isn't supporting _devices_ but OSes. If you flag your app as v4 (correctly) anyone who wants to use it can upgrade to v4 and use it. No fragmentation. Under Android it's a dog's breakfast just on that point, forget screen resolutions etc.

<comment><USER12> Do you actually have any specifics about Android fragmentation causing a problem? If you do, ESR has been trying to find any specifics to back up the generic claims of fragmentation, and has said he has not found any reasonable evidence of such problems. Same question for all you apparent Apple fanboys who voted this comment up so much, any specifics? If you have any here's the thread where ESR's been requesting them - <http://esr.ibiblio.org/?p=2835>.

<comment><USER13> I program for both platforms. A couple things that annoy me the most often, aside from devices shipping with old versions of Android:

\- Resolution differences, and no real scalable interface APIs. \- HTC vs Blur vs Samsung's distribution of Android. They all dick with stuff their own way. \- Physical buttons on each device. Some are overly sensitive capacitive buttons, clicky buttons, or high latency. Each require model specific code.

You can verify this by searching the release notes for apps in the Market. There's commonly caveats for certain models.

</comment></comment></comment></comment></comment><comment><USER14> Every developer who has ever used the Android VM should know that testing on it IS NOT a bulletproof test. Sometimes things work on the device which aren't working in the VM even if it is the same version, resolutions and so on. Sometimes things will work in the VM and not on the device.

You don't believe me? Go on and try to stream a video on a Android 1.6 VM.

BTW: I'm developing a iPhone App in my spare times and a Android at work.

</comment><comment><USER15> For some of the apps I've written (status: trying to get the frame-rate up) the constantly changing screensizes of the devices is a frickin' nightmare.

I'm currently really only supporting iPad because of that... but _of course_ Apple will change the screen size on iPad 2.0 when that comes out. Aargh.

Went and bought an iPod-touch so I can test the 960x640 res if I ever get enthusiastic enough about it....

...then it turns out that Apple's implementation of multi-tasking is going to be a nightmare of a whole new dimension... lovely.

</comment><comment><USER16> Look, this guy is right on from an OS fragmentation perspective (which is what he is talking about). Both iOS and Android have OS version fragmentation in the real world and the fact is that Google makes it easier to test for and Apple makes it very hard. I have an app(game) written for both and dealing with the iOS side of things for this is always harder then on Android.

</comment><comment><USER17> Developer error/ignorance is cross-platform and runs on both Android and iOS. You can't blame the fact that you didn't test on the version you released for, know how to install older OS versions to test with, or check documentation on Apple OR Google.

</comment><comment><USER18> Use TinyUmbrella or Saurik's MITM server to save your device's SHSH hash for each new iOS version that comes out. Allows downgrading to any version you had installed previously

</comment><comment><USER19> So it's not fragmentation, Apple just doesn't let you test in previous versions. This was an easy fix for all you needed was only one phone. Unlike Android who has over 100 different versions of Android, yes you have the emulator for each base version but you can't guarantee for every phone.

<comment><USER20> I'm a 100% certain that you have not developed on Android. You just read about fragmentation on a blog or heard it from Steve Jobs.

There are best practices on Android development to minimize fragmentation issues.

And no, you don't have to handle 100 versions of Android when developing.

If you restrict your app to run only from 2.1 and above, you got 80%+ of phones covered.

[http://developer.android.com/resources/dashboard/platform- ve...](http://developer.android.com/resources/dashboard/platform- versions.html)

</comment></comment><comment><USER21> Instead of testing on 5+ devices for Android, you just have to buy an old iPod touch with 3.1.3 on it. Is it too costly for you?

<comment><AUTHOR> I had an iPod Touch with 3.1.3 on it but by then I'd upgraded to to 4.x with no way to downgrade it. Sure I could have bought another sooner but this is not something I was expecting as up till that point I could always test in the simulator for any version.

<comment><USER22> you can download old versions of iOS and downgrade your ipod.

<comment><AUTHOR> It has been a few months since I tried to downgrade but I certainly did try and killed too much time in the process. Could you point me in the direction of some instructions?

<comment><USER21> It's fairly easy, just save your old SHSH blobs (I always jailbreak my device so I'm not sure if jailbreak is required, there's a tool called TinyUmbrella to do it), then you can downgrade to whatever version you want.

</comment></comment></comment></comment></comment><comment><USER23> 'I found some potential problems in my app, fixed them and posted an update'

'Of course this was a time when Apple approved an update fast and it went out before I could test and I had not fixed all the issues.'

'I must have fumbled in the SVN check in.'

<comment><USER24> So initially there were problems with the code and afterwards with his development process.

I fail to see what this got to do with iPhone vs. Android. It could have happened with both platforms.

<comment><USER25> His point is that Android made it easy to test multiple platforms, and Apple did not.

<comment><USER26> When you say "multiple" and "easy" what exactly is the implication there? Worrying about 5-6 revisions of an API or 30-70 variances of the same problem on multiple pieces of hardware with multiple variances of platform debauchery forced upon you by a given mobile carrier?

It just isn't possible to make the case that this aspect of android doesn't make things harder and still retain any semblance of honesty or credibility.

<comment><USER4> Read the Android developer docs. API Levels document especially. Also play around with the emulator and that will clear up your misconceptions. It isn't hard at all unless you want to convince yourself that it is ;)</comment></comment></comment></comment></comment>


Lucid Dreaming - <AUTHOR> https://en.wikibooks.org/wiki/Lucid_Dreaming <comment><USER2> This is a pretty comprehensive write-up! A helpful community (with more guides, discussion and anecdotes) can be found on [http://dreamviews.com](http://dreamviews.com). I also recommend anybody learning to lucid dream to read the books by Stephen LaBerge.</comment>


You Choose What You Are Good At - <AUTHOR> http://siberianfruit.com/post/6042838362/the-myth-about-what-you-are-and-arent-good-at

<comment><USER2> We get good at stuff by spending a lot of time and attention and hard work on it.

We like doing stuff we're good at. We don't like doing stuff we're bad at.

<comment><AUTHOR> My point is that if you decide early on that you are bad at something you probably won't spend time on whatever that is and you'll have very little chance of getting better at it. And then you'll just conclude that you've always been bad at that thing and that it's a fact. I like to have the power to decide what I'm good at.</comment></comment>


Can China become a scientific superpower? - <AUTHOR> https://www.economist.com/science-and-technology/2019/01/12/can-china-become-a-scientific-superpower <comment><USER2> I have faith in freedom. China still has a long way to go. The Soviet Union sent the first man-made satellite and the first Human being into space before anyone else. However, Soviet Union collapsed eventually. China has not reached the height of Soviet Union in terms of scientific achievements yet.

</comment><comment><USER3> What does it take to be a scientific superpower these days? China sent an astronaut up in 2016 a few years after the US gave up and had to rely on Soyuz</comment>


2007 – English Cross-Channel bridge bid revealed - <AUTHOR> http://news.bbc.co.uk/1/hi/uk/6517611.stm <comment><AUTHOR> > A submission for a £3bn three-lane motorway link was made to transport > officials in April 1981, files released by the National Archives show.

£3bn! Seems positively cheap by todays bloated public contract standards!</comment>


James Watson to be the first person to sell his Nobel Prize - <AUTHOR> http://www.slate.com/articles/health_and_science/science/2014/12/james_watson_selling_nobel_prize_dna_structure_discoverer_s_history_of_racism.html

<comment><USER2> The first Nobel Prize to be sold by a living recipient? According to www.nobelprize.org/nobel_prizes/about/medals/ :

> documents in the Niels Bohr Archive in Copenhagen show that Niels Bohr's > Nobel medal, as well as the Nobel medal of the 1920 Danish Laureate in > Physiology or Medicine, August Krogh, had already been donated to an auction > held on March 12, 1940 for the benefit of the Fund for Finnish Relief > (Finlandshjälpen).

Krogh died in 1949.

I guess they technically gave it away free to Finlandshjälpen, who then in turned around and auctioned it off, so they didn't sell it.

It seems a rather technical point though - add enough qualifiers and most anything becomes a first.

<comment><USER3> This is offensively pedantic. If you can't see the difference between donating medals for war relief and selling them personal gain then nothing I can say will help.

Bohr and Kroghs actions are inspiring. Gunter Blobel donating his entire monetary reward for rebuilding cultural artifacts in Dresden is laudable... I have no doubt other science laureates, Pauling(?), have generously used the Nobel resources for humanitarian purposes.

Selling your medal for personal gain is just crass.

PS. For more on Bohr, Nazis, and Nobel's check this out.. [http://www.npr.org/blogs/krulwich/2011/10/03/140815154/disso...](http://www.npr.org/blogs/krulwich/2011/10/03/140815154/dissolve- my-nobel-prize-fast-a-true-story) Dissolving and later recasting prizes to keep them from Hitler is pretty cool.

<comment><USER2> I can accept the charge of being pedantic. The text in the Slate article is "first Nobel laureate in history to [sell the medallion]" while the linked-to article in the Telegraph quotes Christie's auctioneer as "the first Nobel Prize to be sold by a living recipient" so I assume you think the Telegraph is also pedantic for adding the qualifier "living".

"Offensive" I contest. Here I thought I was diminishing his uniqueness.

But "Selling your medal for personal gain is just crass"? That I reject.

I reject the validity of your blanket condemnation of what a winner can do with their prize. Where is the limit? Can a Presidential Medal of Honor winner auction their medal? Purple Heart winner? Pulitzer prize? State spelling bee champion? Or is the Nobel Prize somehow unique?

Would is be crass for a winner to sell the award if they needed the money to pay for a bone marrow transplant? To prevent foreclosure on the house? Provide seed money for a new business? Surely you don't think all possible cases of personal gain are crass.

Crick's family sold the medal after his death. 70% went to research organizations but I don't know about the other 30%. Is it okay for part of that to go towards personal gain for the family members? It had been in storage first in a room and then in a safety deposit box for 50 years. Why should he, or any other prize winner, wait until death to sell the prize?

P.S. The account about dissolving the gold was also in the link I gave.</comment></comment></comment>


Cloud based IDE for JavaScript, PHP, C# and more  - <AUTHOR> http://coderun.com

<comment><USER2> not working on my lappy which runs linux chrome.

main page works but when i go to try the ide i get nothing. although view sorce does spew out some code, just doesn't render.</comment>


Jean-Marie Hullot has died - <AUTHOR> https://www.inria.fr/actualite/actualites-inria/jean-marie-hullot-informaticien-visionnaire-technologiste-exceptionnel <comment><AUTHOR> Created Interface Builder at NeXT, among other pioneering research

Translation:

[https://translate.google.com/translate?sl=auto&tl=en&u=https...](https://translate.google.com/translate?sl=auto&tl=en&u=https%3A%2F%2Fwww.inria.fr%2Factualite%2Factualites- inria%2Fjean-marie-hullot-informaticien-visionnaire-technologiste- exceptionnel)</comment>


Tech industry, regulators' relationship needs a reboot - <AUTHOR> http://www.mercurynews.com/opinion/ci_29591871/zac-townsend-tech-industry-regulators-relationship-needs-reboot?source=infinite-up <comment><USER2> This guy is just whining. There's an exam you have to take to sell insurance in California. Signing people up for health insurance at work is selling insurance. There's an online course [1] and an exam. Passing grade is 60%, which is probably why some people were able to pass without taking the training. Because health insurance policies vary so widely (it's a little better since the Affordable Care Act, now that pre-existing conditions are no longer an issue), understanding this, and understanding what HR people can say to employees, is important.

Of course, if we had single-payer health care for everyone, this would be unnecessary.

[1] [http://www.52hours.com/](http://www.52hours.com/)

<comment><USER3> The "This Guy" you mention is Zac Townsend, one of the founders of Standard Treasury (YC S13), and the person who submitted this story.

When regulations exist as a protection racket for entrenched interests like those providing the 52 hours of supposed training, then yes, the regulations need to be changed. The problem with laws is they aren't self-policing; if unfair regulations get passed (often due to legal but dubious campaign contributions), it usually takes a court challenge to throw the bad laws out.

With that said, I'm unsure I agree with Zac on this part:

> _Regulators can start by being more open to experimentation and alternative > business models. For instance, a regulatory sandbox could give companies the > opportunity to operate slightly outside the existing rules while being > closely monitored by regulators._

The problem with flexible rules is there's always someone out there who will intentionally abuse the leniency, and there are even more who will unintentionally abuse the leniency.

<comment><AUTHOR> I am just a guy who sometimes whines, so I wasn't offended.

Every system has fraud and abuse. I doubt that most fraudsters would opt to get close regulatory scrutiny, but I take your point.

<comment><USER3> Though I doubt more flexible regulations and your stated "opportunity to operate slightly outside the existing rules" will work, what about an alternate path to achieve the same basic goal? Do you think something like an improved and expedited (and inexpensive) method for challenging outdated and/or bad regulations would work?

<comment><USER2> Such things exist. See OSHA's "Voluntary Protection Program". [1]

[1] [https://www.osha.gov/dcsp/compliance_assistance/index_progra...](https://www.osha.gov/dcsp/compliance_assistance/index_programs.html)

</comment></comment></comment></comment></comment><comment><USER4> I agree that protectionist regulation is an issue that states really need to examine. However, I really don't see how you can view the policies violated by Zenefits as one. They are basically in the business of selling one of the critical infrastructures for most peoples life. It's easy to say oh this is just to protect incumbents but realistically these are people who are operating in a stupidly complex system where a mistake can have dire consequences for someones life. 52 hours is in the long run very little. Yeah it may suck if you hire someone and they can't do work for a few days but the alternative is allowing people who aren't actually fully informed to work in an industry where that lack of knowledge can materially affect peoples life. I'm not ok with that. I've seen what a lapse in coverage at an inopportune time can do to a family. It's not pretty. Really I'm more concerned that 60% is considered an acceptable passing grade. Instead of arguing for less regulation we should be condemning this entire company and demanding higher standards for the exam.

</comment><comment><USER5> It's hard to see from the outside how much innovation is stifled due to regulators - but from my position it is a substantial amount. Part of the basic problem is that the very large and very successful companies have captured their regulators and have much more freedom to innovate when they are interested. But they are usually not interested in innovating because that are already big and successful.

This is in contrast to the growing startup which is under the regulator microscope.

The UK has the idea of a "Challenger Bank" for starups in the banking industry. The US should have a similar program.

(FWIW, Zac and I have talked about this a lot.)

</comment><comment><USER6> Rabbit hole sidechannel debate: This is also true in the world of "Drones" and the FAA. Rulemaking committee actually references 1961 interpretation of "see and avoid" while making suggestions for drones.

Are ya kidding me??!!</comment>


Microsoft's Big Tablet Dilemma Illustrated In Two Steve Ballmer Quotes - <AUTHOR> http://www.businessinsider.com/ballmer-with-two-takes-on-the-surface-2012-7

<comment><AUTHOR> The takeaway ...

"This is in a nutshell is the problem with Microsoft's Surface plan. It wants to build an incredible tablet that sells well, but it doesn't want to annoy its hardware partners."</comment>


Secrecy around "Stingray" police surveillance equipment proves a case's undoing - <AUTHOR> http://www.washingtonpost.com/world/national-security/secrecy-around-police-surveillance-equipment-proves-a-cases-undoing/2015/02/22/ce72308a-b7ac-11e4-aa05-1ce812b3fdd2_story.html?hpid=z1

<comment><USER2> Why do police and prosecutors continually push the boundaries of civil liberties? If some technique or equipment is arguably unconstitutional, why are they even bothering - they're sworn to uphold and _protect_ the Constitution, not to shave away civil rights until they're non-existent. That shaving away or pushing boundaries is crap. US society doesn't set correct incentives for prosecutors and policemen.

<comment><USER3> Police and prosecutors are incredibly hard to sue. There are some good arguments for why that is, but there are also alternatives to making them immune from suits, like bonding them, which would enable price signals regarding overly aggressive prosecutors.

</comment></comment><comment><USER4> This is why prosecutors and police have to respect the rule of law. When they don't, criminals go unpunished.

<comment><USER5> He didn't go unpunished. Despite what the headline suggest, he went to prison for 6 months (instead of 4 years).

For stealing $130 worth of pot from a drug dealer with a fake BB gun. I don't see how that warrants 6 months (even less 4 years) in jail, but that's secondary.

<comment><USER6> Where are you getting your information? According to the article he did not go to prison. He got probation. Also, I see nothing about the gun being a fake BB gun.</comment></comment></comment>


Ask HN: Why should I use Elasticsearch instead of building from scratch - <AUTHOR> <comment><USER2> When did this place become such a low effort brain dump? I can't believe I'm so annoyed by this question. Google. Make some educated trade-off decisions based on your context.

Use HN to poll for opinions and experiences from others, not for things that take 30 minutes to resolve.

<comment><USER3> As much OP did lazy work by posting this question, I don't think your response was fair or helpful in any way. In the end you didn't add anything to the conversation either.

<comment><USER2> What can you add to this discussion? 0 context is provided. It's not even a properly formed question. As someone who's familiar with Lucene, Solr and ElasticSearch even if I wanted to help I can't.

Sometimes posts are shit, and it's OK to call it out to hopefully improve this site collectively.

</comment></comment></comment><comment><USER4> You should write one from scratch to get a deeper understanding of how hard it is to return highly relevant results quickly. Tokenizing, stemming, bag of words, and tf-idf for ranking get you to an MVP, but then you realize how good production grade search engines are today.

Solr is good. I've been wanting to try Lunr [1] for small sites.

[1]: [https://github.com/olivernn/lunr.js](https://github.com/olivernn/lunr.js)

<comment><USER5> I worked in a company previously where Solr was used to scale the business, and was not performant for us after a while.

We wrote our own search engine at that point. You are right that there are a lot of little "devil in the details" issues. But overall it was a fun experience.

This was needed to support some specific machine learning workflows in the search ranking process — which could not be used if we paid the high latency cost to first get preliminary results in Solr.

So we took a "create your own index data structures" approach with index data (both the normalized bag of words vectors and companion data like boolean filters), which allowed us to highly optimize the initial broad ranking query. Latency was low enough that it allowed the time cost of calling follow-on machine learning services.

This was for a fairly high-traffic product search engine at an online retailer. It ended up working very well and over a span of about two years we eventually rolled all search traffic onto the in-house platform, even the parts not needing the machine learning services, and our query latencies went down across all our traffic, and we retired the original Solr implementation.

Wouldn't be the right choice for everyone, but it informs my opinion a lot about the worthwhileness of creating an in-house search engine to specifically replace Solr. I'd suspect a lot of medium-sized or large companies running Solr should seriously consider it.

<comment><USER6> Could you tell us more about the kinds of indices you used, and what you mean by boolean filters? Thank you!

<comment><USER5> Really it's not fancy or anything. We used Eigen to represent our normalized bag of words matrix (term-document matrix) as a sparse matrix in CSC and CSR format (which means the data resides in three underlying arrays for the nonzero entries, with indexing conventions for how to use them).

Boolean & multi-choice indices are just companion arrays where position i corresponds to a property of document i in the index: boolean for binary attributes (for example, whether the item has free shipping or not), or using a bigger integer space to encode more options, like say an int8 coupled with helper functions that check which bit is set, maybe for some set of 8 categories the items can be filtered by).

The "index" is just the serialized arrays backing the sparse matrix, the arrays backing the filters, and helper functions for decoding what the filter bits mean.

A query is then just applying the filters followed by performing the sparse matrix inner product and sorting.

It's very basic, but allows you to heavily optimize it, whether optimizing for deletes, writes, certain heavily used filters, etc.

And you can of course add whatever fancy NLP stuff on top of or in place of the sparse matrix as well.

<comment><USER6> It sounds like a great approach to enable both speed in searching and customizability in indexing -- no way you get to bit level box ticking with conventional means. Thanks for explaining. Bag of Words, last I recall reading, is a statistical method for predicting the next word, so I'm curious how that played out for you.

<comment><USER5> Bag of words is an encoding method for converting some sequence of words into a long, sparse vector of word counts. The vector has one component for each possible word of the vocabulary, and if the count of word i is N, then you store N in conponent i of the bag of words vector.

If you think of these as sparse row vectors (the columns correspond to all vocabulary entries), then you store them as a matrix where you stack on another row for each "document" in your data set.

Later on when you get a new "document" at query time, you transform it into the same bag of words vector format, and then an inner product between the matrix and the query vector corresponds to a type of relevance / similarity useful for sorting into a ranked order of results.

In practical situations you have to work harder, because you need more units of text than just words (such as n-grams), and the raw term counts usually need to be weighted (e.g. matching a 3-gram probably means more than matching a single word) or normalized (e.g. longer documents happen to have more words, but that doesn't mean they are more similar), and you need to account for results that are historically more popular or results that are newer.

It's a very simple approach to document search, but it works well and there are extensions that utilize word embeddings or models that predict rankings of results.

Once you get a system running with the term-document matrix, it is a nice platform for more advanced experimentation and machine learning feature development.

</comment></comment></comment></comment></comment></comment><comment><USER7> Is this for work, and is search a competitive advantage for you? If not, snap in Elasticsearch and spend your time on your differentiators.

</comment><comment><USER8> With that little information from the OP the answer is probably: Use ES or if it's a small side project use your DB's included full text search if it's good enough.

<comment><USER9> When is a full text search within a DB not good enough? Is ES usually used along side a typical RDS or is it a replacement?

<comment><USER8> I don't have a lot of experience with PG full text search in production or a bigger scale. I'd just suspected that it doesn't perform that well if you need a lot of filters, range queries etc? Maybe someone with more experience can chime in.

At work we just materialize the data from PG into ES and take advantage of the powerful ES queries and redundancy. Scaling up by just adding nodes is easier.

<comment><USER10> How do you verify that all the data moved into ES from pg and what got lost in transit.

<comment><USER8> For our use case we don't really need a strict verification. Everything that should go to ES is put in a queue (using DB triggers) and then sent off to ES. If something should cause errors we'd see that by observing the error rate on ES ingest I assume.

</comment></comment></comment></comment></comment><comment><USER11> Elasticsearch is incredibly deep, and highly performant. If all you need is simple full text search then rolling your own can be an interesting exercise, but I can't imagine the amount of hours it would take to replicate the features I use on a daily basis.

<comment><USER12> > Elasticsearch is incredibly deep, and highly performant

For some value of "highly performant". I remember its search (exact substring match) being significantly slower than simply running grep on the same data (JSON documents produced from syslog logs) stored in flat files.

It did have several advantages over grep in that scenario (e.g. having a structured language and being accessible for other programs through network), but performance was not one of them.

<comment><USER11> Right: my experience is with a lot more complex scenarios, and in comparison to rdbms. Things that would take multiple queries, like aggregations, can be done in a single, fast, call. It does require a proper indexing setup and some fine tuning though.

</comment></comment></comment><comment><USER13> Have you written a search engine from scratch before? There's a reason this is still a primary field for PhD work.

</comment><comment><USER14> The simple answer is because Elasticsearch has had thousand of hours already put into writing its code base. The real question should be why shouldn't you use Elasticsearch? Is the code base to large to fit where you need it to be? Will it be able to scale with your project? Is it efficient enough for your requirements? When looking to use a piece of technology the requirements and long term effects are what matter. Roll your own if that is what is required for you to reach your end goal.

</comment><comment><USER15> what a weird question: who looks at a search engine and thinks yea hm that's trivial enough i could do it myself in a weekend?

<comment><USER16> Seriously, creating an efficient scalable search engine is among the most difficult computer science problems. From stemming, to combined queries, to word tokenization, to handling various string collations, and language issues, and caching, and parallelization of work, and handling huge numbers of writes, there are so many tricky parts. I used to work for a search startup and I can answer the OP's question: do not try to write your own search engine. That work should be done by someone with a PhD and decades of experience. Even elastic which is great software has issues, such as not being transactional, having issues handling huge numbers of writes, ect.

<comment><USER6> It depends on the complexity, which language(s) you are using, and how you will parse the search string (which Context Free Grammar it will obey). Just recently, this was a task for me that ended up landing me an interview. A take-home problem. Even a simple search engine needs some clever reverse- indexing for speed. Add any sort of logic like And or OR that not even Google implements and now your parser has to work, and you have to be able to translate from tokenized parse tree with operators to results. It's a great learning exercise for someone with experience, initiative, and enough background with CFG parsing, building a reverse index, and set logic -- but without some key Computer Science building blocks it would end up being quite a challenge.

</comment></comment></comment><comment><USER17> To leverage the thousands of hours that went into it.

</comment><comment><USER18> What do you want ?

[https://db-engines.com/en/ranking](https://db-engines.com/en/ranking)

</comment><comment><USER19> Actually, the origin story of Elasticsearch started with Shay Banon attempting to build a cooking app for his wife who was a chef.

> JAXenter: You started Compass, your first Lucene-based technology, in 2004. > Do you remember how and why you became interested in Lucene in the first > place?

> Shay Banon: Reminiscing on Compass birth always puts a smile on my face. > Compass, and my involvement with Lucene, started by chance. At the time, I > was a newlywed that just moved to London to support my wife with her dream > of becoming a chef. I was unemployed, and desperately in need of a job, so I > decided to play around with "new age" technologies in order to get my skills > more uptodate. Playing around with new technologies only works when you > are actually trying to build something, so I decided to build an app that my > wife could use to capture all the cooking knowledge she was gathering during > her chef lessons.

> I picked many different technologies for this cooking app, but at the core > of it, in my mind, was a single search box where the cooking knowledge > experience would start a single box where typing a concept, a thought, or an > ingredient would start the path towards exploring what was possible.

> This quickly led me to Lucene, which was the defacto search library > available for Java at the time. I got immersed in it, and Compass was born > out of the effort of trying to simplify using Lucene in your typical Java > applications (conceptually, it simply started as a "Hibernate" (Java ORM > library) for Lucene).

> I got completely hooked with the project, and was working on it more than > the cooking app itself, up to a point where it was taking most of my time. I > decided to open source it a few months afterwards, and it immediately took > off. Compass basically allowed users to easily map their domain model (the > code that maps app/business concepts in a typical program) to Lucene, easily > index them, and then easily search them.

> That freedom caused people to start to use Compass, and Lucene, in > situations that were wonderfully unexpected. Imagine already having the > model of a Trade in your financial app, one could easily index that Trade > using Compass into Lucene, and then search for it. The freedom of searching > across any aspect of a Trade allowed users to convey this freedom to their > users, which proved to be an extremely powerful concept.

> Effectively, this allowed me to be in the front seat of talking and working > with actual users that were discovering, as was I, the amazing power that > search can have when it comes to delivering business value to their users. > Oh, and btw, my wife is still waiting for that cooking app. Now, 10 years > later, it is the basis of Elasticsearch.

[https://jaxenter.com/elasticsearch-founder- interview-112677....](https://jaxenter.com/elasticsearch-founder- interview-112677.html)

</comment><comment><USER20> Tough to answer w/o more info. FWIW, I've used Lucene, Solr, and Elasticsearch and have ended up settling on Lucene being the best interface for me.

<comment><USER21> I thought Lucene was the underlying query language, whereas Solr & ES just utilized both...

<comment><USER16> Yeah I'm not sure what the OP is talking about. Lucene is the java search library that Elastic uses. Elastic is a full clustered search engine with HA, sharding, and a rest api. They aren't exactly interchangeable.

</comment></comment></comment><comment><USER22> Sphinx is another full text search engine.

</comment><comment><USER23> How about implementing a search engine on top of key-value store like FoundationDB?

</comment><comment><USER24> Definitely build it completely from scratch. You should roll your own TCP libraries as well. Don't trust anything you didn't write yourself. Come to think of it, I'm not sure you should rely on someone else's hardware either.</comment>


Show HN: Keysheet – Rotten tomatoes for cryptocurrencies - <AUTHOR> https://www.keysheet.io/ <comment><AUTHOR> Hi HN,

We made Keysheet to help non-technical people understand crypto through the lens of expert reviews. The problem is that 99.9% of the population can't understand crypto from a technical perspective. We want to help people develop "taste" instead.

You can't rely on institutions in crypto because there aren't many meaningful ones, making it hard to tell charlatans from legit projects. Our curation narrows the set of people who you can 'trust' and then you can take a deeper dive to learn how they think.

It's still a work in progress, but we'd love your feedback on what works and what could use improvement!

</comment><comment><USER2> Given how much of the public discourse around cryptocurrencies often seems to be controlled by MLM-esque Twitter mobs, this seems like a great way to collect/filter more reputable sources, even if just as a way to kickstart the research process.

Also, nice use of Airtable for the back end.

<comment><AUTHOR> Thanks!

We built Keysheet using Python/Django running on top of Airtable as the database.

We decided to do that because Airtable gives you a bunch of stuff for free for adding and managing the content side. That made it easy for my friend who knows crypto but can't code to execute on curating the content while I built out the site.</comment></comment>


The Big Hack: The Software Side of China's Supply Chain Attack - <AUTHOR> https://www.bloomberg.com/news/articles/2018-10-04/the-big-hack-the-software-side-of-china-s-supply-chain-attack <comment><USER2> Well one can definitely say that the people at Bloomberg don't doubt their story. Is it at all possible that higher ups making statements from Apple or Amazon didn't know? Even if so, I don't see any way for some sides credibility to not be severely harmed by the end of this.

And Facebook now enters the fray, saying there was an attack (though doesn't seem to be claiming they were effected by the chip in previous article?)

Edit - I read the dates of the articles wrong, and thought this was a new one this morning. It was posted alongside the original story, but main point of comment still stands so keeping it up.

<comment><USER3> Is it possible that only lower level Apple/Amazon employees were involved in the investigation and that they are forbidden from telling anyone else, even senior legal executives?

<comment><USER4> It's actually possible they have a National Security Gag order. If that's the case they could only deny anyway.

<comment><USER5> But they don't, they explicitly mentioned they are not under a gag order, which is the first thing you are forbidden to mention when you are gagged. That is the reason why "warrant canaries" exist.

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

<comment><USER6> I think what GP was suggesting is that lower level employees might be under individual gag order, keeping them from ever reporting the incident to their higher ups (including those responsible for the warrant canary).

</comment></comment></comment></comment></comment><comment><USER7> The Norwegian national security agency has confirmed that they were aware of the allegations against SuperMicro since June, but they won't confirm if it's true (nor are they denying it) and they noted that they are also aware that Amazon/Apple are denying it.

As for why Apple/Amazon are denying it I wonder if it's because they don't want to burn bridges. If they confirm the allegations, how would that play out in the Chinese business world?

<comment><USER4> My guess is Gag order for the US govt.

<comment><USER8> A gag order cannot force you to say something. That would be government compelled speech, which is generally frowned upon by courts, to put it mildly.

<comment><USER4> No, but a gag order can prohibit you from saying something specifically with regard to national security issues.

So downvote away, but these documents do exist and these circumstances can and will happen.

In fact, everyone impacted by Aurora, were strictly under gag orders during the onset of that investigation too.

<comment><USER8> And what did they say then? They shut up didn't they?

</comment></comment></comment></comment></comment><comment><USER9> AWS Reply: [https://aws.amazon.com/blogs/security/setting-the-record- str...](https://aws.amazon.com/blogs/security/setting-the-record-straight-on- bloomberg-businessweeks-erroneous-article/)

<comment><USER10> > We further strengthen our security posture by implementing our own hardware > designs for critical components such as processors, (...)

Do they? I haven't heard about this before.

<comment><USER9> Yes, AWS rolls its own hardware in some cases.

</comment></comment></comment><comment><USER11> > "In 2015, we were made aware of malicious manipulation of software related > to Supermicro hardware from industry partners through our threat > intelligence industry sharing programs," Facebook said in an emailed > statement. "While Facebook has purchased a limited number of Supermicro > hardware for testing purposes confined to our labs, our investigations > reveal that it has not been used in production, and we are in the process of > removing them."

Facebook confirmed this happened. But looks like Apple and Amazon are denying it.

</comment><comment><USER12> This has been posted several times and there are tons of comments:

[1]: [https://news.ycombinator.com/item?id=18146438](https://news.ycombinator.com/item?id=18146438) [2]: [https://news.ycombinator.com/item?id=18138328](https://news.ycombinator.com/item?id=18138328) [3]: [https://news.ycombinator.com/item?id=18145645](https://news.ycombinator.com/item?id=18145645) [4]: [https://news.ycombinator.com/item?id=18138990](https://news.ycombinator.com/item?id=18138990) [5]: [https://news.ycombinator.com/item?id=18141328](https://news.ycombinator.com/item?id=18141328)

</comment><comment><USER13> This article just refers to some firmware vulnerabilities from Apple back in 2015, which is nothing uncommon, and Apple had taken proper measures to mitigate that. Besides it has nothing to do with China's attack.

</comment><comment><USER14> Does this story have the potential to invalidate any CC assessments / certifications?

eg, this one for Ubuntu from earlier this year that was assessed at EAL 2: [https://fmv.se/Global/Bilder/Verksamhet/CSEC/Certification%2...](https://fmv.se/Global/Bilder/Verksamhet/CSEC/Certification%20Report%20Ubuntu%20LTS%2016.04.4.pdf)

</comment><comment><USER15> _" Playgrounds hung in space, castles hermetically sealed, the rarest rots of old Europa, dead men sealed in little boxes, magic out of China..."_

</comment><comment><USER16> Bloomberg is really doubling down on this story</comment>


Meteor meets GraphQL - <AUTHOR> https://voice.kadira.io/meteor-meets-graphql-3cba2e65fd00 <comment><USER2> Hope some day Meteor meets Mysql.

By the way we have made air pollution monitor app using meteor. Will checkout possibilities of plugging GraphQL into it. [http://oizom.com/](http://oizom.com/)

<comment><USER3> I agree, and I wish more JS projects in general would embrace SQL.

I think part of the problem is the Meteor team's reluctance to have Meteor thought of or even used as a traditional web framework.

Their vision is a framework for real-time applications that allows you to develop for web and mobile in parallel, but that puts them in a category where their intended use case is invariably losing to native every time. I think there are a lot of people who would love to use Meteor for RESTful mobile- first web application development, but are a little disappointed when they find Meteor is MongoDB-first and doesn't even have native support for routing.

For me, Meteor currently occupies a strange space where it's the web framework I'm the most excited about, yet it's the wrong tool for every project idea I have.

<comment><USER4> > For me, Meteor currently occupies a strange space where it's the web > framework I'm the most excited about, yet it's the wrong tool for every > project idea I have.

You've precisely captured a sentiment that I've been feeling but unable to express for some time. I think Meteor has tremendous potential, but there are a few very problematic issues, coupled with a severely walled ecosystem (Angular also has this problem, React I'm not so sure of but it seems to have it less) and unclear best practices (React has this in _spades_ ).

</comment></comment></comment><comment><USER5> What are the pros and cons of using this vs Relay?

<comment><USER6> Basically at the backend this is pure GraphQL. For Relay we need to have some Relay specific stuffs. That requires, more time.

In the client side too, we had to work a bit more.

That's why we go with Lokka[0]. It's just a client for any GraphQL backend. It has a simple cache.

It also supports Relay like declarative data fetching. Basically, you could build a complete app with it using Meteor's other tools like FlowRouter.

As a downside, you may need to fetch more data from the server.

As a benefit, you don't need to learn much to build a app. May be can reduce the code compared with Relay. (But that's subjective)

[0] - [https://github.com/kadirahq/lokka](https://github.com/kadirahq/lokka)</comment></comment>


Should a developer be responsible for GDPR? - <AUTHOR> Random question.
I'm a non-EU national. But I do have an EU-based client.
Today I was asked in an email whether his website complies with GDPR standards and I should make it GDPR if it doesn't. (I haven't replied yet)
It was never discussed previously so I will have to add to the scope / quote extra because there's some missing features like delete / view data + account / suppose cookies, etc. This is just judging from doing a quick google search based on the requirements.
Although I did recommend some of these features in the past (Me trying to scope more development hours - he said leave it to save $$$).
Just to know, at the end of the day, should developer take the GDPR responsibility?
I think it's more a matter of, he should probably consult a lawyer first, tell me what needs to be done to make it compliant and then we go from there - not the other way around.
Thoughts? <comment><USER2> Your question is legitimate and I think it's like a car or any other product who are responding to a lot of laws and rules and that is new in computer development.

When there are a law/rule, you need to take it into account and so add it in your scope for the client EU and no EU, because we never know who have access to the site. And in any case, you need to mention it to your customer if your website is or not GDPR compliant because if you don't say it to your customers may be he can attack you if they have issue with the compliance.

So protect yourself and say it to your client that was not into the scope and so it's a new feature that he need to pay for</comment>


The origin story of the N95 mask - <AUTHOR> https://www.fastcompany.com/90479846/the-untold-origin-story-of-the-n95-mask <comment><USER2> Other than invented face mask, Dr. Lien-teh Wu was the first medical student of Chinese descent to study at the University of Cambridge and graduated top class. Later Dr. Wu had also studied at Pasteur Institute, the world's renowned institute on infectious disease. After successfully led the containment effort for Manchurian Pneumonic Plague of 1910–1911, he co-founded Chinese Medical Association. He was also widely considered the pioneer of public health and the founding father of modern medicine in China.

[https://en.wikipedia.org/wiki/Wu_Lien- teh](https://en.wikipedia.org/wiki/Wu_Lien-teh)

<comment><USER3> Didn't the plague doctors with the bird masks predate that?

</comment></comment><comment><USER4> > Wu explains to the French doctor his theory that plague is pneumonic and > airborne (...) And the French guy humiliates him . . . and in very racist > terms says, 'What can we expect from a Chinaman?' And to prove this point, > [the French doctor] goes and attends the sick in a plague hospital without > wearing Wu's mask, and he dies in two days with plague.

Maybe we're like this French doctor, and that this is still the reason why we don't wear masks in the west? A widespread practice in several East Asian countries - but what do they know?

<comment><USER5> The reason we don't is because we weren't dramatically affected by SARS. SARS in the early '00s was primarily a problem in Asia.

Japanese people also have an etiquette of wearing a mask when ill to avoid spreading disease.

Both of these habits are widespread in Asia because of this.

<comment><USER6> Also in many Asian cities masks are worn due to air pollution.

<comment><USER7> and even in clean areas some people still wear them because they help keep your face warm when it's cold.

<comment><USER8> or it's just common courtesy trying to not infect others with your illness like in Japan

</comment></comment></comment></comment></comment><comment><USER9> One major weakness of the current N95 masks is that sometimes it doesn't seal very well to the contours of people's faces. When this happens, it doesn't work as well because particles can still travel into the airway via open space gaps.

I personally have not seen this implemented, but one possible solution I believe may work is to apply a thin layer of sticky hydrogen tape right along the edges of the mask so it would act like an adhesive that helps seal the open space gaps as it can fit with the unique shape and contour of each person's face.

Medical hydrogen tape is the same material that we often see being used in those sticky pads that they put on a person's body during an electrocardiogram (EKG) test. It's also the same adhesive that used by those electro pads in TENS pain-relief machines. This sticky adhesive material is safe for human skins and can last multiple uses.

It would be great if someone could add a feature in which you can insert a removable HEPA filter so it can be swapped in and out when needed.

<comment><USER10> The problem of facial sealing is well-solved in the industrial space. People who routinely need respiratory protection for stuff other than particulates use a half-face (or full face) respirator [0] that has a body made of some flexible material that seals to the face far better than an N95 mask.

You can get particulate cartridges in the N or P-flavored type, which I use for sanding. It's also usually possible to get a particulate pre-filter on top of e.g. an organic vapor cartridge.

Respirators also come in sizes and need to be fit-tested. The quick and dirty method is to take off the cartridges, seal the holes they mount to and breathe in. If you feel your ears popping, it fits-ish (EDITED TO ADD: I am not an industrial hygienist, and I'm principally worried about wood dust not organic vapors or acid vapors or anything _really_ bad. Don't take industrial hygiene advice from some random on the internet!). A proper fit test involves somebody puffing something around the mask while you breathe, talk, and possibly a few other things.

As it happens, for a proper seal, you also need to be clean-shaven. As I'm principally protecting myself from wood dust, I don't bother. If I'm using something noxious (like paint stripper), I'll shave and put on the correct cartridges.

Whether or not this is a solution to the current medical problem is beyond my expertise. There may be an advantage to regularly disposing of your N95 mask to prevent accidental contamination or something.

[0] [https://www.3m.com/3M/en_US/company- us/all-3m-products/~/All...](https://www.3m.com/3M/en_US/company- us/all-3m-products/~/All-3M-Products/Safety/Personal-Safety/Personal- Protective-Equipment/Reusable-Respirators/Half-Facepiece- Respirators/?N=5002385+8709322+8711017+8711405+8720539+8720550+8720785+3294857497&rt=r3)

<comment><USER11> Im a fan of the pink p95 & p100 disposables with nuisance level organic filtering. I want to say 2097? I used them for small painting, welding, and brazing jobs. Work a treat with organic solvents & weak acid vapors and IIRC they werent much more than the regular N & P series. The carts were nice with theprefilters but then I just have more things to keep in stock.

<comment><USER12> 2097/2297 are nice, 7093 is a bit better as the plastic casing provides a bit of protection against the rain.

60926 is anecdotally proven to work in environments highly polluted with oily crystals for at least a few hours.

</comment></comment></comment></comment><comment><USER13> You know, while I like stories like these, I find them equally frustrating because there doesn't seem to be any sources. Just Google the ignorant French doctor's name, for example.

It reminds me of my college psychology class. Our teacher would teach us from a book, then tell us the book was wrong and India had such discoveries prior. Cool to know, but now who knows the truth anymore.

<comment><USER14> I got sent down a rabbithole of searching by this article too, apparently the doctor wrote an autobiography (in English!) in 1959 that was republished as recently as 2014, but apparently the only way to get ahold of it here is to have it shipped from Malaysia. Or some college libraries, which are unfortunately closed right now due to COVID.

I think we forget that the vast majority (i.e, pre-2005-ish) of human knowledge still exists in the old physical world of print and libraries. Unless you're exceedingly lucky (or it was recently reprinted), its basically impossible to get your hands on a digital version of an old book. Your best hope is that Google Books (which seems mostly abandoned) scanned it and will let you read a few pages.

<comment><USER15> >Unless you're exceedingly lucky (or it was recently reprinted), its basically impossible to get your hands on a digital version of an old book.

I read a lot of old books - early 20th C, 19th, 18th, 17th C, and medieval and ancient. Archive.org has most of what I search for - nice scans, in multiple formats, free. Also you can often borrow mid-late 20th C stuff online from there for a few weeks if not they're not downloadable outright. Libgen has a lot of stuff from early-mid 20th C and before. If those fail, I order it online, usually a few dollars. We're so spoilt!

</comment></comment></comment><comment><USER16> This is such a dumb article.

It focuses on just the one piece of PPE that has gotten an undeserved amount of attention in the coronavirus crisis, when it's not the only tool in the arsenal of healthcare workers (compared with normal surgical masks, face shields, papr devices, etc).

And it is not necessarily the best tool for the general populace. (hypothetically (ballpark numbers from some stuff i remember reading) If a normal surgical mask can be replaced twice as often and is easier to breath through while only sacrificing 30% of protection, etc, what is recommended for the general public? Even the N95 only protects against... 95% of particulates of the specified size, why not wear a P100 filter on a gas mask?).

From a macro and epidemiological standpoint, what is the optimal guidance on the level of PPE for the general public to wear for the greatest net effect? Is what I consider the most interesting and relevant question.

There is also an unchecked assumption in this article that the N95 is "most important design object of our time".

It also fails to explain that N95 is a standard of protection rather than a certain object, it fails to explain the meaning of the standard.

(Which is) N = Not oil resistant 95 = Removes 95% of all particles that are at least 0.3 microns in diameter

It merges the development paths of protective masks against particulates, which is the true purpose of N95 masks, and protective equipment for healthcare. To me, I think N95 happened to be a standard similar enough to the requirements of healthcare, so they simply adopted it. Rather than the false narrative the article paints of the N95 mask being developed FOR medicine.

I would have been interested to read about the additional requirements a FDA defined "surgical N95" must meet (additional fluid resistance), or how the N95 plays into the entire suite of relevant protective equipment in this crisis (When doctors use a normal surgical mask, N95, PAPR, face shield, or goggles).

edit: clickbait article that doesn't give any information beyond what 5 minutes googling would use.

edit2: would have been interesting to read about how people are making face masks and other protective equipment or experiments in sanitizing and reusing one time use face masks.

</comment><comment><USER17> The mask denialism in the comments is incredible to see.

Let's all agree (without polemics): masks can be helpful, so we should encourage everyone to wear them, unless there is a shortage, in which case priority should be given to healthcare workers/elderlies/front-line staff/etc.

<comment><USER18> From what I understand the WHO guidance around masks has to do with the shortages on one hand and human behavior on the other hand. People who wear masks behave in a higher risk way, and because the safety benefit from the mask by itself is quite low (without medical training you are likely to use it wrong), statistically it is better to recommend people to not wear masks so they will behave more safely.

It's a bit like gun ownership: intuitively it makes you safer, but statistically it makes you less safe because of behavioral and opportunity changes.

<comment><USER19> According to the Corona expert in South Korea, masks help a great deal. His assumption on why the WHO only recommends masks in Asia and not anywhere else is due to the limited amount of supply anywhere but in Asia. In Asia people like already own masks. Anywhere else people would first need to stock up. Leading to shortages. As such, it's better not to recommend them so medical professionals are prioritized.

It's also interesting that in in Europe/US they focus on a person not getting a disease. In Asia they often wear a masks if the person isn't feeling well. Meaning, the mask is to prevent the person who is wearing it from infecting others. This bit is often glossed over.

The video is available at [https://youtu.be/gAk7aX5hksU](https://youtu.be/gAk7aX5hksU). I don't know exactly where they discussed the masks. The entire video is great, so suggest to watch the whole thing.

Note: It also talks about spreading by touching your nose and then someone or some surface.

<comment><USER20> >In Asia people like already own masks.

A mask is a biohazard and should be one-use or sterilised and removed with gloves. If you do that then yes a mask is a help. If not you are playing Russian roulette with a Corona bomb on your face. It is amazing how much energy users on HN use on talking and discussing mask use and still don't understand why a mask used wrongly is worse than no mask. Walking around town collecting germs and bringing them home with you is the mindset you need to be in if masks should be a good idea and safe.

<comment><USER12> Who says we don't understand?

I get that not everyone has been through both SARS and the wanton deployment of tear gas, but it's just _common sense_ for us to dump everything in the wash and have a thorough shower as soon as we get home.

We waste energy on you deniers because we don't want you to become a walking biohazard yourself and infect everyone else.

</comment></comment></comment></comment></comment><comment><USER21> I am a strong believer in the universal mask protocol for controlling COVID-19. I've created [https://www.maskssavelives.org/](https://www.maskssavelives.org/) to help spread the message.

<comment><USER22> It's OK that your 'belief' contradicts official WHO guidance but that 'MASKS- NO MASKS' graph went a bit too far as a misstatement (i.e. "presenting facts in an alternative way").

Let me paste the official advice here for educating readers: [https://www.who.int/emergencies/diseases/novel- coronavirus-2...](https://www.who.int/emergencies/diseases/novel- coronavirus-2019/advice-for-public/when-and-how-to-use-masks)

> If you are healthy, you only need to wear a mask if you are taking care of a > person with suspected 2019-nCoV infection. > Wear a mask if you are coughing > or sneezing. > Masks are effective only when used in combination with > frequent hand-cleaning with alcohol-based hand rub or soap and water. > If > you wear a mask, then you must know how to use it and dispose of it > properly.

The kind of misinforming you are doing is dangerous in these times, especially that the official WHO standpoint is that wearing masks in a wrong way (using it multiple times, touching or taking off in a wrong way) is worse than not wearing them at all during already decreased social encounters (i.e. already staying at home, and going out at most for groceries).

Or are you stating that the WHO is lying?

Those Asian cultures have a different epidemic curve not due to mask wearing, but because a totally different social structure, prior experience concerning epidemics, preparedness, attitude towards authority & emergency measures and other factors. So it's a fallacy of cherry picking to say that it's 'because they wear masks and all our authorities are wrong'.

<comment><USER23> Here's what makes sense to me:

* The single most effective intervention we have right now is staying home and avoiding every unnecessary contact, as authorities recommend.

* Worn carefully, several kinds of masks probably have a range of marginal positive effects.

* BUT recommending them runs the risk of (a) people over-relying on them and not following isolation protocols (b) people wearing them incorrectly for a mix of less effective benefits and added risks (c) contributing to a run on masks which constrains supply for medical workers where the benefits are more critical.

If this is all true, it can simultaneously be the case that official guidelines against masks are reasonable recommendations and that it's also a reasonable recommendation to wear masks (on top of other more important precautions).

I'm sure that masks are not the sole factor in gentler curves in those countries. They do seem to be a common factor.

<comment><USER22> I totally agree and it's likely that the public will be much better equipped after this pandemic ends. So all of us will have a box of disposable masks at home, and will be educated about when and how to wear them properly.

Right now, the average person probably only has 1 or at most a few masks, they don't dispose of them after use and probably wear (put on/off) them in a wrong way.

<comment><USER24> You know, you could have learned how to put on a mask properly within the time period you spent arguing here. It's not fucking rocket science.

<comment><USER7> I was recently on a flight where a person on my row had difficulties taking her seatbelt off. After what seemed like two minutes the flight attendant assisted her. I'll even admit that it sometimes takes me a second to do it correctly when I try to only take it off with one hand. Despite this we still recommend that people use their seatbelts. In addition to this we play videos that instruct people on the usage of seatbelts. Imagine if we argued against recommending seatbelts because of the lack of education on using them despite never having attempted to explain how to use them.

<comment><USER25> Don't they also teach you how to put on that oxygen mask on the airplane?

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> His analysis documented on this book

A treatise on pneumonic plague, by Wu Lien-Teh [https://wellcomelibrary.org/item/b19164415#?c=0&m=0&s=0&cv=0...](https://wellcomelibrary.org/item/b19164415#?c=0&m=0&s=0&cv=0&z=-0.6558%2C-0.0892%2C2.03%2C1.4933)

His mask sounds simpler than N95 masks, only replaced by the newer design during SARS period in 2013. By the way, anyone has the original design of Dr Wu's mask? Can we mass produce this design for everyone? We need it

<comment><USER27> The secret ingredient in N95 masks (and surgical) is a very fancy modern material: melt-blown non-woven polypropylene.

This is what makes a paper thin surgical mask way better than a thick cotton one.

<comment><USER26> Totally agree, that's said most people cannot get surgical masks anymore, not to mention N95 masks. If we can learn the lesson from outbreak happened before modern tech invented, world would be a better place. We cannot produce or easily buy nanotech material used for N95 masks. However we can use whatever materials avail in our house easily. If need extra protection, add 2 layers of tissue between mask and face. Do not touch mask when you are outside. Stay away at least 2m from any human being. Do not touch anything outside. Immediately take shower and disinfect youself with 80p alcohol at home. :) hopefully most of us will not get infected, I do not want scenario in movie like Contagion or World War Z to happen for human race.

</comment></comment></comment><comment><USER28> Does anyone know if there's any truth to ideas that certain metals like copper are "antibacterial"?

I am worried because I have seen stories (e.g. [1]) that claim that masks incorporating copper can be effective against the virus (never mind that "antibacterial" apparently also means it can fight viruses, which makes no sense). Basically, I am seeing an increase in people selling "masks" that are not approved and that has me worried. I would like some information about whether there is any science, for or against, to the idea that particular materials, especially metals, have any kind of "special" effect against bacteria and viruses.

[1] [https://www.efe.com/efe/america/sociedad/mascarillas-de- cobr...](https://www.efe.com/efe/america/sociedad/mascarillas-de-cobre-made- in-chile-para-reducir-el-contagio-del-coronavirus/20000013-4189798) (spanish)

<comment><USER29> Don't be lazy. Just Google search SARS-CoV-2 on surfaces and you will see that Coronavirus lasts about 4hrs in Copper, while it can stay one day in Cardboard and several days in Stainless Steel and Plastics.

So, yes, there is something special about copper. But copper is not a virus killer (i.e. kills them at contact), it justs seems that viruses don't survive that long in copper. This has been known since ancient times (where Copper pantry and utensils was preferred over Steel).

The New England Journal of Medicine. The scientists found that severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2) was detectable in aerosols for up to three hours, up to four hours on copper, up to 24 hours on cardboard and up to two to three days on plastic and stainless steel.

[https://www.nih.gov/news-events/news-releases/new- coronaviru...](https://www.nih.gov/news-events/news-releases/new-coronavirus- stable-hours-surfaces)

<comment><USER30> The anti-microbial effect of copper has been known for decades, which is why it fathoms next that fixtures in hospitals are still made from steel.

<comment><USER31> It's simply that copper is too expensive to use on an extensive scale such as hospital fittings.

Copper costs about twice as much as stainless steel per tonne and that is with current demand levels. Squeezing supply would raise that significantly.

<comment><USER32> Annual worldwide copper production is 18M tonnes and increasing. Most of it is used in plumbing and wiring. Taking a little bit for hospital hardware wouldn't impact demand much, and the extra cost would be a rounding error compared to all of the other equipment that goes into a modern healthcare facility.

</comment></comment></comment></comment></comment><comment><USER33> > By the late 1870s, scientists learned about bacteria.

Bacteria had been discovered in the 17th Century, the moment the microscope was invented. I think by Robert Hooke, but I could have misremembered that.

What was new in the 1870s was the germ theory of disease.

</comment><comment><USER34> Not a single mention of the disastrous pollution caused by the disposal of millions of non-biodegradable single-use masks into landfills. Yes, they are a big innovation. Yes, the tech is saving lives. But come on, this is 2020, not one mention of pollution?</comment>


Google's Project Fi now offers unlimited data (with a catch) - <AUTHOR> https://www.engadget.com/2018/01/17/google-project-fi-bill-protection-unlimited-data/ <comment><USER2> The Engadget article is confusing. Information from their websites are much better.

According to their website,

>Pay just $10/GB for the data you use until you reach 6 GB. After that, data is free for the rest of the month. ([https://fi.google.com/about/plan/](https://fi.google.com/about/plan/)) Google then throttles you after 15GB.

Where as on T-Mobile >On all T-Mobile plans, during congestion, the small fraction of customers using >50GB/mo. may notice reduced speeds until next bill cycle due to data prioritization. ([https://www.t-mobile.com/cell-phone- plans](https://www.t-mobile.com/cell-phone-plans))

Why would I ever switch to Google Fi for $60 a month when I can get unlimited data for $40 a month through T-Mobile?</comment>


Ask HN: RTOS Recommendations for new projects? - <AUTHOR> I'm working on some embedded programming projects at work, starting with Arduino and Arduino clones. We've reached the point of needing to switch to an RTOS, but there are dozens of projects with not much to separate many of them. Suggestions? I've looked into Zephyr, FreeRTOS, and RTEMS [1], [2], [3].<p>1: https://www.zephyrproject.org/ 2: http://www.freertos.org/ 3: https://www.rtems.org/ <comment><USER2> You're using Arduinos at the "bare-metal" level, I assume?

I'm not sure that rtems is really a non-MMU OS--it's really designed for multiprocessor systems w/ bigger support than an Arduino offers, AFAIK.

FreeRTOS has strong Arduino and Arduino IDE support. If you're sure you actually need this, and want to stay within the Arduino ecosystem, I'd start there.

<comment><AUTHOR> Yes, bare metal. However, the libraries and tooling are somewhat limited once you start moving into more professional/commercial applications.

MMU vs non-MMU turns out to be one of the limiting factors. I've experimented some with Cortex M0 boards. But fullscale Arm boards (e.g. NanoPi, OrangePis, RPi Zero) are approaching the cost points of small atmel and most non-mmu chips. So Ideally something that supports MMU and non-MMU as well could be interesting.

Do you have any recommendations for chips which might support RTEMS or microkernels like Lk / sel4?

<comment><USER2> IIRC most of the ARM chips _can_ support it, but you'd need something w/ a full BSP unless you want to roll your own (ew).

The cost factors have become pretty interesting. I've moved to ARM-based boards, but in general I've used a standard gcc toolchain along with FreeRTOS- like OSes and for anything beyond "oh you pushed a button" I skip the Arduino IDEs.

<comment><AUTHOR> BSP? Ah, gotcha. Yes, I was looking into RPi hardware since it's common enough that I figured there would be BSP support. It appears Lk micro-kernel supports RPi's.

Otherwise, Beaglebone has a bit more open hardware board and one or two micro- kernel projects supported it. Not sure what the status of FreeRTOS or Zephyr is on any of the ARM boards.

I'd look into setting up BSP for a good ARM chip as it'd make some of the hardware designs easier long term. Any recommendations board recommendations?

<comment><USER2> No board recommendations--there are soooo many now I have zero clue about "best" or if it even matters. I'm a little wary of the RPi 3 because of the heat issues; there are very competitive boards available at more or less the same price point, often with features I need (like actual SATA instead of via USB).

</comment></comment></comment></comment></comment><comment><USER3> I vote for zephyr. Seems to be the newest and might get some momentum

<comment><AUTHOR> That's what I'm leaning towards. It actually appears to be a rebranded VxWorks (Rocket kernel) which Intel acquired the rights to open source/rebrand it [1]. It does also have the support of the Linux foundation too! [2]

1: [http://blogs.windriver.com/wind_river_blog/2016/02/wind- rive...](http://blogs.windriver.com/wind_river_blog/2016/02/wind-river- welcomes-linux-foundations-zephyr-project.html) 2: [https://news.ycombinator.com/item?id=11128426](https://news.ycombinator.com/item?id=11128426)</comment></comment>


WannaCry Outbreak Could Cost TSMC $170M - <AUTHOR> https://sensorstechforum.com/wannacry-outbreak-tsmc-170-million/ <comment><USER2> >> against unpatched Windows 7 systems

>> Since data integrity and confidential information haven't been compromised, the company believes the attack wasn't the work of a hacker

>> According to CEO C.C. Wei, the attack is purely due to the company's own negligence. Wei also said that he doesn't think there is any hacking behavior involved.

Those three lines sum up the article.

From a different article, the virus got onto their network when they installed some type of new software/tool. They didn't check it before they deployed it, turns out it had wannacry on it. Since the networks this virus infected weren't internet connected, it didn't hit the kill-switch domain. So it was left to run wild until they contained it.

[https://www.databreachtoday.com/wannacry-outbreak-hits- chipm...](https://www.databreachtoday.com/wannacry-outbreak-hits-chipmaker- could-cost-170-million-a-11285)

<comment><USER3> It's not surprising that the system was using an unpatched OS. Many of these tools are not connected to the external internet, and they are qualified using the exact version of the software that is installed during delivery. I don't really know the details of foundry operations, but it seems like there are more incentives against installing windows updates than for it. Looking at your article it seems to say the same thing:

> patching is not always an easy endeavor in manufacturing environments > because any code changes must be rigorously tested to ensure they don't have > a real-world impact - for example on industrial control systems or > supervisory control and data acquisition systems, which control the software > and hardware that runs manufacturing processes. Indeed, ICS and SCADA > systems may have a lifespan of 20 to 30 years. Many were never designed to > be internet connected.

<comment><USER4> Since this is ransomware, it's unclear how an OS patch would have helped anyway.

<comment><USER5> The ransomeware in this case spreads by exploiting a vulnerability that is now patched in Windows.

<comment><USER6> Additionally, if the machines were connected to the internet, the killswitch would've prevented it from spreading. WannaCry doesn't spread if a particular hostname resolves; this acts as a killswitch. Marcus Hutchins purchased the relevant domain name after reverse engineering WannaCry and noticing the killswitch.

Edit: That's not to say the machines should be connected to the internet; I'm just explaining the circumstances that allowed this to occur.

</comment></comment></comment></comment></comment><comment><USER7> Previous discussion about how a short break in chip fab production has a huge impact:

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

</comment><comment><USER6> > The expert responsible for the effective WannaCry, Marcus Hutchins, was > arrested last year by the FBI on six charges for conspiracy.

This makes is sound like Marcus Hutchins was responsible for WannaCry, which is incorrect.

</comment><comment><USER8> Did they pay the ransom?

<comment><USER9> I worked for a client that got hit by WannaCry. We billed them a ton of hours for remediating the systems they had to reimage. Ransom would have been cheaper probably.

<comment><USER8> Yeah, but long term its best for everyone to _never_ pay ransoms. (I don't know why the article doesn't mention how the ransom was handled.)

<comment><USER10> I am a security engineer, and I understand this argument. BUT if I were a decision maker in a corporation, it would be reasonable to pay a couple of hundred bucks and get back to work rather than think about what is "good for everyone". Also, as an industry, we need more measures to deal with the Ransomware problem beyond just telling companies not to pay. We preached them to patch their OS and they didn't listen, what makes us think that they will listen when we advise not to pay the ransom when their data and reputation is at stake?

</comment></comment></comment></comment><comment><USER11> Feds accuse MalwareTech in 3..2..1..</comment>


Show HN: Midibin – Turn Clojure code into MIDI music - <AUTHOR> https://midibin.com/ <comment><USER2> David Cope used lisp for his 'Experiments in Musical Intelligence'. Lisp is very suited to this problem, and it's through his books that I first 'got' lisp (at the time, I was trying to do something similar in Java). Anyone interested in algorithmic composition should absolutely check out his work.

[http://www.computerhistory.org/atchm/algorithmic-music- david...](http://www.computerhistory.org/atchm/algorithmic-music-david-cope- and-emi/)

[http://artsites.ucsc.edu/faculty/cope/cmmc.html](http://artsites.ucsc.edu/faculty/cope/cmmc.html)

</comment><comment><USER3> It is amazing never thought about how you could translate a music sheet to Lisp but it makes total sense...

Also somewhat relevant though not in Lisp for anyone interested in programming music check out Sonic Pi:

[https://sonic-pi.net/](https://sonic-pi.net/)

I'm not affiliated with that project, just find it fun. It's in Ruby btw, I'm not a Rubyist but when it comes to Vagrant and Sonic Pi that's the full extent of my Ruby usage.

<comment><USER4> You know, Sam Aaron, the guy who made Sonic Pi, actually started out making his music in Clojure before focusing on Sonic Pi. He's behind the pretty awesome Overtone library: [https://github.com/overtone/overtone](https://github.com/overtone/overtone)

</comment></comment><comment> r-w A tempo-correct version of the default tune, which was really getting on my nerves:

      [:piano {:tempo 130}
       1/8 :c :c 5/8 :a 1/8 :f :g :f 3/4 :d
       1/8 :d :d 5/8 :a# 1/8 :g :a :g 3/4 :e
       1/8 :e :e 5/8 :+c 1/8 :a :a# :+c 3/4 :+d
       1/8 :f :g 5/8 :a 1/8 :e :f :g 3/4 :f]

<comment><AUTHOR> Thanks i posted your version here [https://midibin.com/midi/7](https://midibin.com/midi/7)

</comment></comment><comment> r-w I don't want to minimize any of the work being put into this, which is clearly not a trivial amount, and is actually quite interesting and useful for learning purposes. That being said, I have some blunt criticism to offer that I hope provides some context as to what kind of tooling is useful in this space:

I'm not sure I would prefer this over a different (probably visual) tool that facilitates, e.g., ensuring that a given set of notes fits into a measure, or checking which notes are played simultaneously. It also frustratingly _does not_ take advantage of any of Clojure's functional affordances, such as the ability to transform data programmatically, and _does_ introduce global state, harkening back to C's misplaced notion of "macros". Not much here seems Clojure-specific other than the sometimes confusing dynamic behavior, such as implicit list interpolation, and JS interop. All that said, I hope this becomes more than just a Lisp-based clone of an existing format with mature tooling: [http://lilypond.org/text-input.html](http://lilypond.org/text- input.html)

<comment><AUTHOR> You actually have full access to ClojureScript functions, including all data transformation functions. I just didn't make use of them in any of the posted midis. Also i have no idea what global state you are talking about.

</comment></comment><comment><USER5> I always have the radio on when I am on my pc... but hey this is so cool ... so cool ... that I had to turn the radio off well done

</comment><comment><USER6> Anyone into both Clojure and music production should look into Overtone: [https://github.com/overtone/overtone](https://github.com/overtone/overtone)

It's essentially a synthesizer in a REPL + a multitude of other capabilities (sequencing, sampling, MIDI)

</comment><comment><USER7> Super cool! Even though I'm far from musical I instantly got the urge to come up with some tunes :)

</comment><comment><USER8> The editor auto-linting my input is incredibly frustrating - try pasting anything of complexity in, for example.</comment>


Massive Five-Year Hack Infiltrates U.S. Govt., UN, IOC - <AUTHOR> http://www.pcmag.com/article2/0,2817,2390344,00.asp

<comment><USER2> This is the same story as <http://news.ycombinator.com/item?id=2840062> (which has lots of points and comments), is it not?</comment>


Show HN: iOS Touch Visualizer - <AUTHOR> https://github.com/conopsys/COSTouchVisualizer

<comment><USER2> I'm guessing your motivation was to improve the demoing of apps? Or what did you have in mind?

<comment><AUTHOR> That's correct. I want to do some demos for a concept that I have called full- screen gesture interfaces (Similar to things like how the Rise app sets time). Most of the current implementations for touches only show where your fingers are contacting the screen and not finger movement. With this, you can see the gestures as well as the touches. I also wrote a post about it [1].

It's also very helpful when you're doing a demo or a pitch and the phone is hooked up to a TV or computer via AirPlay. It gives observers a better understanding of what you're clicking, swiping, and long pressing.

[1] - [http://blog.joeblau.com/ios-touch- visualizer](http://blog.joeblau.com/ios-touch-visualizer)

<comment><USER2> awesome, love it!</comment></comment></comment>


The Dangers of a "Universal Basic Income" - <AUTHOR> https://mises.org/blog/dangers-universal-basic-income <comment><USER2> I don't care where anyone stands on the UBI proposal but we should demand a higher quality from a supposedly scholarly news source. This article reads like a first year econ class paper. Nobody who reads this piece who supports UBI will be convinced in any way by these arguments and the comments seem to suggest that this site is entirely an extremely libertarian echo chamber.

The author makes matter-of-fact claims that are not backed by anything -- no data, no argument, no analysis, no citations, nothing. Even if I agreed with the author it's hard to believe him.

As the author progresses it's clear that he actually has a problem with all progressive taxation, social welfare, and most government regulations and actions. It's fine to take this position but it's completely useless in a discussion about regulatory policy. You wouldn't answer a public policy question like, "should we raise the federal minimum wage to $9.25/hr" with, "I deny the authority of the federal government".

Someone in support of UBI is likely fine with all of the listed 'downsides' in general -- arguments that would convince them would be an analysis or data showing that it would be ineffective. A lecture on econ 101 free market fanboyism is exactly the wrong approach to this discussion.

<comment><USER3> Mises is a Koch-funded propaganda outlet. Its not scholarly. It will never publish anything remotely counter to its agenda.

Its this philosophy that guaranteed the the information revolution dividends didn't go the people the same way they're trying to make sure the automation revolution dividends don't go to the people. I find it depressing that we will always be fighting this fight.

<comment><USER4> Something being funded by the Kochs doesn't automatically make it a Koch propaganda outfit.

>Its this philosophy that guaranteed the the information revolution dividends didn't go the people the same way they're trying to make sure the automation revolution dividends don't go to the people.

What are you referring to? Vague, unscientific claims of class victimization, with no statistical support provided, is the bread and butter of socialist demagoguery.

<comment><USER5> >Something being funded by the Kochs doesn't automatically make it a Koch propaganda outfit.

When that something is a "think tank", adults understand that what it produces is intellectual ammunition for increased privatization and reduced protections for consumers, employees and neighbors of business. In this case, very low- grade ammunition.

>Vague, unscientific claims of class victimization, with no statistical support provided, is the bread and butter of socialist demagoguery

And the bread and butter of right-wing pro-business "think tanks" is the prompting of voluntary red-baiting such as you just offered.

Fact: on the basis of influence, there is no socialist or pro-cooperative- ownership analog to Mises or Manhattan Institute nor to any one of the dozens of pro-market / libertarian think tanks cranking out "science" that _always_ finds in favor of capitalist boardrooms.

That indisputable fact alone means you have no business invoking science -- all you're doing is literally standing up to defend the world's most entrenched, powerful interests. Someone actually interested in science, unlike yourself, would, on principle, be skeptical toward purveyors of "science" that never comes to different conclusions no matter the problem domain.

<comment><USER6> > When that something is a "think tank", adults understand that what it > produces...

> That indisputable fact alone means you have no business invoking science -- > all you're doing is literally standing up to defend the world's most > entrenched, powerful interests. Someone actually interested in science, > unlike yourself, would, on principle, be skeptical toward purveyors of > "science" that never comes to different conclusions no matter the problem > domain.

I think you could have made your point without the ad hominem.

<comment><USER5> >I think you could have made your point without the ad hominem.

Fair enough. I hope that everybody involved will survive the encounter.

</comment></comment></comment></comment></comment></comment><comment><USER7> What a mess.

>"The progressive taxation that is necessary to finance a UBI means that the more a person earns, the higher percentage of their wealth will be taken from them. The work disincentives are therefore still very much present in the tax system."

I don't know if Finland does it as well, but this completely ignores how US tax brackets work. There's never a point where going up a tax bracket means you'd take home less money than you would have before your raise.

>"The struggling entrepreneurs and artists mentioned earlier are struggling for a reason. For whatever reason, the market has deemed the goods they are providing to be insufficiently valuable. Their work simply isn't productive according to those who would potentially consume the goods or services in question."

What a huge leap to make from struggling to struggling because nobody wants to buy their product. They could easily be struggling purely because they left their old job to pursue this and now have no steady income. The article even suggests this initially, so I have no idea how they just ignored it.

>"The universal basic income, however, allows them to continue their less- valued endeavors with the money of those who have actually produced value, which gets to the ultimate problem of all government welfare programs."

Not everything needs to be about generating more wealth for yourself.

This article also completely ignored the idea that eventually there just aren't going to be any jobs left for the vast majority of people to take. What do we do then? The UBI is the solution to that. I wonder why they did not discuss that:

>"Accordingly, we seek a profound and radical shift in the intellectual climate: away from statism and toward a private property order."

Oh, that's why. This is just about generating wealth and screwing over everyone in the process for them

<comment><USER8> "There's never a point where going up a tax bracket means you'd take home less money than you would have before your raise."

I'm not sure if that's true, but I think the real issue is the loss of government support, particularly in terms of direct welfare. For instance, going up in salary by $10k a year wouldn't result in a lower _paycheck_ due to taxes, but it might result in a loss of government supported child care, and might disqualify a family from government subsidized housing, either in direct benefits or access to a required set aside of "below market rents" (common in SF). Because those benefits may be worth well over 10k a year, you might experience a net loss by working.

As a result, even if the tax rate is progressive, there is a transitional period for relatively low income people where the marginal "tax", if you include the loss of subsidies, is 100% or higher. As a result, there could be a powerful disincentive to work.

I think this is part of the appeal of the UBI - it's "universal". Everyone gets it. You get your money regardless of whether you work. Yes, that could deter people from working, since they already get their money. But it might also encourage people to work more, since they will no longer lose those benefits at low salary levels that make working a losing proposition relative to direct government welfare.

<comment><USER7> >Yes, that could deter people from working, since they already get their money.

One thing that this also does not discuss, I do not consider this a bad thing at all. In fact, I think it is great. If someone is purely content with living on their UBI paycheck, more power to them. They are now spending money on things to contribute to the economy whereas before they were not.

</comment></comment></comment><comment><USER9> My only qualm with UBI is that it needs to be Universal in the non- discriminating sense. I don't see how that could perform better than a system that at least attempts to discriminate between good and bad actors. Not to underestimate the difficulty of that task, but I feel as long as we are testing out Unconditional BI in the real world, which is great - we shouldn't miss out on experimenting with Conditional Basic Income as well. Even if you do not manage to catch all the bad actors, it could still be worthwhile improvement over otherwise. The good folks at Ethereum and other crypto based decentralized platforms have been working on useful tools like decentralized identity, smart contracts, tokens that can hopefully make this practical.

<comment><USER10> The point is that if everyone is equal you can't have "bad actors" without explicit fraud. I'm not sure what a bad actor is in the context of UBI</comment></comment>