Adventures in message queues - <AUTHOR> http://antirez.com/news/88 <comment><USER2> In my experience there are three things that will break here;

1) At-most-once is a bridge to an elementary school which has an inter- dimensional connection to a universe filled with pit vipers. Kids will die, and there is nothing you can do to stop it.

2) Messages are removed when acknowledged _or_ memory pressure forces them to be kicked out. Black Perl messages, those that sail in from out of nowhere, and lonely widows (processes that never find out their loved ones are dead) will result.

3) Messages are ordered using wall clock millisecond time. This will leave your messages struggling to find their place in line and messages that should be dead, not be dead (missing fragment problem).

Obviously all these are simply probabilistic trade-offs based on most likely scenarios which result in arbitrarily small windows of vulnerability. No window is small enough at scale over time.

Often when these things have bitten me it has been non-programming stuff. For example a clock that wouldn't follow NTP because it was too far ahead of what NTP thought the time was, an operator fixed that by turning time back 8 seconds. A client library that was told messages arrive at most one time, and so made a file deletion call on the arrival of a message, a restored node holding that message managed to shoot it out before the operator could tell it that it was coming back from a crash, poof damaged file. And one of my favorites in ordering, a system that rebooted after an initial crash (resetting its sequence count) and getting messages back into flight with the wrong sequence number but with legitimate sequence values. FWIW, these sorts of things are especially challenging for distributed storage systems because files are, at their most abstract, little finite state machines that walk through a very specific sequence of mutations the order of which is critical for correct operation.

My advice for folks building such systems are never depend on the 'time', always assume at-least-once, and build in-band error detection and correction to allow for computing the correct result from message stream 'n' where two or more invariants in your message protocol have been violated.

Good luck!

<comment><USER3> I don't understand the purpose of at-most-once semantics in practice: So, you've got some process where you don't care if the message goes through, but you're willing spend money on the compute/storage for it anyway? Why bother?

If you're designing a system with those semantics, is that because you're hoping that it's exactly-once: 99.999% of the time -- wink, wink, nudge, nudge so that your handlers don't have to be idempotent? What's the fallback plan for the day that all of your messages go into a networking blackhole?

<comment><USER4> I want a message queue to hold credit card authorization requests. I want to ensure that the authorization requests occur at most once, since having a customer's credit card charged twice is infinitely worse than not charging the card.

If the request never goes through, then I can always get the customer to try again, but if it gets charged more than once, then it's a huge headache, and our customers get extremely angry and lose confidence that we know what we're doing.

<comment><USER2> That is certainly doable but you need to separate the _message_ semantics from the _credit card_ semantics. So lets say your authorization includes a nonce which is a blend of the transaction id data such that it is unique to the transaction. Now you send that through the message system which delivers it one or more times, but the _nonce_ identifies all of them as the same transaction so the credit card processor tosses the 'extra' ones away, it has already done the work. In such a system the message passing infrastructure needs to be at-least-once and the protocol involved insures that nothing bad happens if you deliver messages twice. Then you can route around damage or non-functioning nodes.

The reasoning at the protocol level then goes, "If I have never seen this nonce, then the transaction has not been authorized" (very durable, easy to implement), and "A request seen multiple times will only be recorded once" (also very durable and easy to implement).

But if the message infrastructure tries to guarantee at-most-once, and the user writes their protocol, "if I see this authorization I should do it, because the protocol will only send it to me one time." Then there will come a time in that protocols future where something blew up the invariants in the message infrastructure and the message arrives twice, and the wrong thing happens on the credit card because the protocol trusts it to do the right thing.

Back in the RPC wars people were arguing that it was so much "simpler" and more "transparent" if a remote procedure call had the exact same semantics as a local procedure call. And that is true it would be, if you could manage that similarity, except it has been proven over and over again that network messaging systems can't completely get it correct.

<comment><USER4> Interesting, thanks for the insight. We are doing something similar to the nonce that you mention, but your argument that at-least-once semantics is more appropriate is very convincing to me, as is your RPC argument. I'm old enough to have had to endure both ONC and DCE rpcs :)

</comment></comment></comment></comment></comment><comment><USER5> I'm very sorry, credits for the questions goes to Jacques Chester, see [https://news.ycombinator.com/item?id=8709146](https://news.ycombinator.com/item?id=8709146) I made an error cut&pasting the wrong name of Adrian (Hi Adrian, sorry for misquoting you!). Never blog and go to bed I guess, your post may magically be top news on HN...

</comment><comment><USER6> Seems like a similar design to Apache Kafka, [http://kafka.apache.org](http://kafka.apache.org). AP, partial ordering (Kafka does ordering within "partitions", but not topics).

One difference is that Disque "garbage collects" data once delivery semantics are achieved (client acks) whereas Kafka holds onto all messages within an SLA/TTL, allowing reprocessing. Disque tries to handle at-most-once in the server whereas Kafka leaves it to the client.

Will be good to have some fresh ideas in this space, I think. A Redis approach to message queues will be interesting because the speed and client library support is bound to be pretty good.

</comment><comment><USER7> Maybe I'm missing something, but if it is important to guarantee that a certain message will be dispatched and processed by a worker, why wouldn't a RDBMS with appropriate transactional logic be the best solution?

<comment><USER8> It would. There's an argument that something like only once, guaranteed and in-order delivery are _business requirements_ which therefore have no place in the message layer - [http://www.infoq.com/articles/no-reliable- messaging](http://www.infoq.com/articles/no-reliable-messaging).

</comment></comment><comment><USER9> Credit for the questions is due to jacques_chester, not me! See [https://news.ycombinator.com/item?id=8709146](https://news.ycombinator.com/item?id=8709146)

</comment><comment><USER10> >a few months ago I saw a comment in Hacker News, written by Adrian Colyer...was commenting how different messaging systems have very different set of features, properties, and without the details it is almost impossible to evaluate the different choices, and to evaluate if one is faster than the other because it has a better implementation, or simple offers a lot less guarantees. So he wrote a set of questions one should ask when evaluating a messaging system.

I can not find the comment by @acolyer on HN. Who can help me?

<comment><USER11> I think Salvatore mis-remembered. The comment was by @jacques_chester (he made a joke about it below, but people didn't get it). The comment is in this thread (HN doesn't let me link directly): [https://news.ycombinator.com/item?id=8708921](https://news.ycombinator.com/item?id=8708921) . Look for Jacque's comment in there, and Salvatore replied to it.

I also wanted to find the original, and used Jacque's remark below as a starting point to start hunting for it.

<comment><USER5> Sorry Jacques, Adrian. This great (IMHO) set of questions was written by Jacques indeed.

</comment></comment></comment><comment><USER12> I wonder what the point is in having "best effort FIFO"? If the application has to be able to deal with unordered messages anyway, you might as well not bother to try to maintain any kind of order.

It's as well to be hung for a sheep as for a lamb.

<comment><USER13> In general, you want to consume messages "fairly" ie. in a way that minimizes latency introduced by the queuing. Best-effort ordering gives you this _most_ of the time, which is better than _none_ of the time.

<comment><USER5> Exactly, imagine you use your message broker in order to coordinate a web app that needs to apply effects to photos in a web interface. It is definitely a good idea that users arriving before are served before, but violating this by a couple of milliseconds is not going to change the experience.

</comment></comment></comment><comment><USER14> Ask HN: I'm in the market for a distributed message queue, for scheduling background tasks -

Does anything support "regional" priorities, where jobs are popped based on a combination of age + geographic/latency factors?

Also, what are recommended solutions for distributing job injection? My job injection is basically solely dependent on time, and so i envisage one node (raft consensus?) determining all jobs to inject into the queue.

My queue volume is about 50 items/sec and nodes will be up to 400ms apart.

<comment><USER15> That sounds like a job for a scheduler, in the cluster sense. I'm actually looking around for a job framework in .NET that supports custom schedulers, but have yet to find something that supports resource constrained scheduling. It's all either about en-queueing something to be done NOW, or at a future date. I haven't seen anything that supports custom scheduler implementations on a per-job type basis. They don't really distinguish between logging work to be done and deciding whether or not it can be executed NOW.

</comment></comment><comment><USER16> This looks very cool. At-least once semantics are the way to go because most tasks require idempotence anyway and that helps in dealing with multiple delivery. Strict FIFO ordering is not always needed either as long as you avoid starvation - most of the time you need "reliable" deferred execution ("durable threads").

I started prototyping something along these lines on top of riak (it is incomplete - missing leases etc but that should be straightforward to add): [https://github.com/isbo/carousel](https://github.com/isbo/carousel) It is a durable and loosely FIFO queue. It is AP because of Riak+CRDTs. It is a proof of concept - would be nice to build it on top of riak_core instead of as a client library.

</comment><comment><USER17> When I first installed Redis years ago I was astounded at how easy it was to get up and running. Compare this to the plethora of message brokers out there: the vast majority you will spend the better half of the day trying to figure out how to configure the damn thing.

My overall impressions with message brokers is that RabbitMQ is a pain in the ass to setup, celery is my go to these days with beanstalkd being a close second if I don't want too many of celery's features.

<comment><USER18> Agreed, I've used beanstalkd in multiple projects/companies and its simplicity, robustness and especially stability has always impressed me.

There are client drivers for a wide range of languages including Python and Ruby (and also a ActiveJob compatible library).

Installing it is simple as downloading the source, running make and then the binary. [http://kr.github.io/beanstalkd/](http://kr.github.io/beanstalkd/)

<comment><USER19> We use Beanstalkd actively to process 50M emails per month, and it does a great job. We never had any issues with it, and setup is very easy, you have a nice admin console panel to help you in development and monitor your tubes [https://github.com/ptrofimov/beanstalk_console](https://github.com/ptrofimov/beanstalk_console)

</comment></comment></comment><comment><USER20> FYI, Salvatore will speak at dotScale in Paris about Disque on June 8: [http://dotscale.io](http://dotscale.io)

</comment><comment><USER21> This has me excited for many reasons. Redis is amazingly powerful, robust and reliable piece of technology. Also I love reading antirez's blog posts about the decisions behind Redis so I can't wait to learn more about queueing systems from him when discussing Disque.

</comment><comment><USER22> This looks like a good effort, congratulations.

Personally I'm torn on the usefulness of generic brokers for all circumstances... there are obvious advantages, but at the same time every messaging problem scales and evolves differently so a broker can quickly become just one more tail trying to wag the dog.

I am also interested in the architecture of tools like ZeroMQ and nanomsg, where they provide messaging "primitives" and patterns that can easily be used to compose larger systems, including having central brokers if that floats your boat.

</comment><comment><USER23> We recently switched from RabbitMQ to Redis queuing because we were not able to implement a well enough priority queue with highly irregular workloads. Prefetch would not work since 2 minute workloads would block all following messages. Timeout queues would somewhat rebalance msgs, but large blocks of messages would be queued at the same time and therefor be processed as large blocks. Now our workers are listening to 10 queues/lists with different priorities with BRPOP and so far everything seems to work.

</comment><comment><USER24> Unodered, in-memory queues shouldn't be anyone's goto solution. I think there's a time and place for these, and having at-least-once delivery is a huge win over just using Redis, so I'm excited.

Still, unless you know exactly what you're doing, you should pick a something with strong ordering guarantees and that won't reject messages under memory pressure (although, rejecting new messages under memory pressure is A LOT easier/better to handle than dropping old messages).

</comment><comment><USER25> Some big project are currently making the switch to DDS-based pub/sub. [1,2]

Now that everybody is making QoS guarantees in pub/sub and message queues, is there a real difference to the 10 year old tech deployed in boats, trains and tanks?

[1] [http://www.omg.org/spec/DDS/1.2/](http://www.omg.org/spec/DDS/1.2/)

[2] [http://design.ros2.org/articles/ros_on_dds.html](http://design.ros2.org/articles/ros_on_dds.html)

<comment><USER26> Anyone personally work on a DDS project is in actual production? I have never even seen one although I've worked in some of the industries where it is supposedly a success.

</comment></comment><comment><USER27> I think this has a lot of roots from NSQ. But, NSQ has no replication support.

I think built in replication is very nice to have. Would like to try once this arrives.

<comment><USER3> NSQ writes messages sent to a topic onto all channels subscribing to the topic which can be used as a form of replication in a way that meshes well with its at-least-once semantics.

<comment><USER27> But, that all happens inside one NSQ. I mean what if that NSQ server goes down.

We don't have that kind of guarantee in NSQ. To get rid of that, we need to maintain the replication our own by publishing the message to two different NSQ servers.

<comment><USER28> True, but with NSQ being brokerless, the lines are somewhat blurred between client and server.

Each of our app servers has its own local nsqd. If that nsqd stops responding, we take the app server out of the load balancer. The local nsqd publishes to multiple channels, which get consumed by hosts in different datacenters.

There are still potential failure cases: nsqd loses connection to consumers, messages start building up, then the machine somehow goes away. The only way to prevent it is to take the machine out of the load balancer any time nsqd messages start backing up, but we prioritize serving requests over sending messages.

<comment><USER27> Yes. I didn't want to rant our NSQ. This is the reason we choose NSQ because of it's simplicity.

We maintain NSQ close to the consumer. We don't our publisher to take responsibility to the message processing. Once it's push to the queue, we need to make sure it's getting process anyway.

That's why we publish same message to multiple queues. All our DB operations are idempotent. So, we are okay with processing the same message multiple times.

</comment></comment></comment></comment></comment><comment><USER29> I wish to assure all and sundry that Adrian Colyer is not my secret crime- fighting identity, and vice versa :)

<comment><USER5> Sorry Jacques :-( Fixed... and thank you again for your comment.

<comment><USER29> Hey, it gave me chance to crack a lame joke. I love those.

</comment></comment></comment><comment> Lx1oG-AWb6h_ZG0 Will there be any way to set up machine affinity? I think Azure Service Bus uses this mechanism (by specifying a partition key for a message) to enable strict FIFO for a given partition.

</comment><comment><USER30> I didn't see any mention of dead letter queues. Does it support dead letters? This is an extremely useful feature of Amazon SQS.

</comment><comment> X-Istence This reminds me of a talk at SCALE13x about NATS: [http://nats.io](http://nats.io)

It's fast and scaleable.

<comment><USER31> This might be why they sound similar: [http://blogs.vmware.com/tribalknowledge/2010/03/vmware- hires...](http://blogs.vmware.com/tribalknowledge/2010/03/vmware-hires-key- developer-for-redis.html) and [https://github.com/derekcollison?tab=repositories](https://github.com/derekcollison?tab=repositories)

</comment></comment><comment><USER32> Is guaranteed at-most-once delivery impossible?

<comment><USER5> Exctly-once is impossible. Example, you build all the system to be totally consistent and transactional (a CP system basically). Then you deliver the message to the client, and it dies without to report you if the message was acknowledged or not. You have two options:

1\. Re-issue the message. If you do that, it is possible that the now crashed client already processed it, and you end with multiple delivery.

2\. Drop the message. If you do that, the client maybe did not processed the message, and you end with no delivery.

<comment><USER33> Exactly-once is possible in practice if you effectively bring the client under the umbrella of your transactions. E.g. you can (ab)use MySQL and other RDBMs to do something like:

1\. Have a table where each row is a "job" or "message" and has a status which when enqueued is status = "unclaimed". You can also have a `last_changed` column.

2\. Have workers consuming that table that GET_LOCK() a row and set status = "processing" and hold the lock for the duration of the processing.

3\. When they're finished with the task they update status = "finished" and unlock the row (or equivalently, disconnect).

This requires much tighter coupling between the queue and the queue consumer (each client must maintain a lock / connection for the duration of processing items).

But it means that:

* Nothing will ever pick up the item more than once due to the GET_LOCK().

* If the consumer dies the item is either just unlocked, or the status is "processing". You can as a matter of policy re-pick up "processing" with a `last_changed` in the distant past, alert on those items and manually inspect them.

* If the consumer processes the item successfully it'll set the status to "finished" and nothing will process the item again.

Now obviously this requires a lot more overhead & maintenance than what you have in mind, in particular it makes some of the failure cases be "the item is delayed due to a consumer dying and won't be processed until a human looks at whether it was actually finished".

But this is the sort of pattern that you might use e.g. if you have a queue for sending out invoices. At work we use MySQL + [https://metacpan.org/pod/Data::Consumer::MySQL](https://metacpan.org/pod/Data::Consumer::MySQL) to do this.

<comment><USER5> Even considering the client to be part of the distributed system in an "active" way, cooperating for the single delivery goal, the part I don't believe is reasonable is: "In particular it makes some of the failure cases be "the item is delayed due to a consumer dying and won't be processed until a human looks at whether it was actually finished".

Moreover, what you describe here is more like: at most once delivery with delivered messages log so that non acknowledged entires can be inspected. I don't see how this really qualifies as exactly once. I guess exactly once must be , eventually, honored automatically even in the face of failures to qualify.

Isn't it just better to use an at-least-once queue, (trans)actions-unique-IDs, and a CP store as the source of truth for the current state? So you turn all the sensible operations into idempotent ones.

<comment><USER33> Right, you don't _have_ to implement it like that, but the point is that the job is guaranteed to be in one of these states:

* Hasn't been picked up yet * Has been picked up, and currently has something processing it (because the lock is still there) * Has been picked up, but whatever picked it up has gone away * It's finished

Handling the jobs that haven't been picked up yet or are finished is easy. But what do you do about the jobs where the processor has simply gone away?

Well, if they still hold the lock you can give them some more time, and if they don't hold the lock presumably they died.

At that point you can decide how you want to handle that, do you just have something re-queue those jobs after some set amount of time has passed, or does someone manually look at the jobs and decide what to do?

As an example of something we use this for: You might have some transactional E-Mails to be sent out, each recipient is a row in the queue table, you have to generate an E-Mail and pipe it to sendmail, just before you shell out to sendmail you mark the item as "processing", then you depending on the sendmail return value you either mark the item as processed in the queue or re-queue it.

There's obviously a race condition here where sendmail might have returned OK to you but the DB server you're talking to blows up (so you can't set the status as "finished"). No amount of having unique IDs in external systems is going to help you because that'll just create the same problem. I.e. you have some state outside of your system that needs to be manipulated exactly once, and once that's done you'd like to mark the job as done.

In practice once you get the things that can fail between "processing" and "finished" down to some trivial logic this sort of thing is _really_ reliable as an "exactly once" queue. To the extent that it fails once in a blue moon you can usually just manually repair it, i.e. in this case see what your mail logs say about what mails you sent out.

Redis obviously doesn't have the same strong storage guarantees as a disk- backed RDMBs, but we also have a version of exactly this logic that runs on top of Redis sentinel: [https://metacpan.org/pod/Queue::Q::ReliableFIFO::Redis](https://metacpan.org/pod/Queue::Q::ReliableFIFO::Redis)

It has the same queued/in-progress/finished queues using Redis lists, things are moved between the lists atomically and processed by workers, but of course if a worker crashes and burns at the wrong time you're stuck with some items in in-progress state and have to somehow figure out what to do with them. I.e. either you blindly re-queue them (at least once) or manually see whether they finished their work and re-queue them as appropriate (exactly once).

</comment></comment></comment></comment></comment><comment><USER34> How does zero MQ stand up

<comment><USER35> ZeroMQ is not a message queue, nor is it a broker. You could build a message queue with it, but it's not really a valid comparison.

<comment><USER34> I wasn't aware it's not a broker. Thanks for clearing that up.

<comment><USER36> It's fairly trivial to build an in-memory broker with zmq, though, but you should rather consider zmq as building blocks for a message queue, or sockets on steroids.

It fills a need for certain applications, and it is very good at what it does.

</comment></comment></comment></comment><comment><USER30> It would be nice to have a message queue system not built in Erlang or Java.

<comment><USER22> [http://zeromq.org/](http://zeromq.org/)

<comment><USER35> ZeroMQ is not a message queue. It's in the name: It has zero message queue capabilities. It does implement socket primitives you can use to build a queue broker, but afaik no one has.

<comment><USER22> [https://github.com/zeromq/malamute](https://github.com/zeromq/malamute)

<comment><USER35> Thanks. Looks unfinished. No persistence yet, according to the author.</comment></comment></comment></comment></comment>


This NYC chess hustler makes $400 a day - <AUTHOR> http://nypost.com/2017/10/28/inside-the-life-of-a-new-york-city-chess-hustler/ <comment><USER2> Just moved to NYC last year. Our office is a couple blocks off of Union Square, and I've enjoyed playing with the guys over lunch. Would echo the comment in the article that there's more action in Union Square than Washington Square Park these days. If you are near Washington Square though, it's worth stopping by the Chess Forum, a beautiful store/chess club where you can play with folks for $5/hour.

[https://www.chessforum.com/](https://www.chessforum.com/)

Also, for those of you in SF, you have the Mechanics' Institute near, the oldest chess room in America, just off of your Union Square. They run a Blitz Tournament (3+2 on the clock, 2 games per round, 5+ rounds) every Wednesday night at 7pm. Entry is $10 for non-members. Incredibly welcoming crowd there, and a great way to dip your toe a little bit deeper into the waters.

[https://chessclub.org/](https://chessclub.org/)

</comment><comment><USER3> "$400 a day" and "up to $400 a day" are pretty different.

Seems like a decent enough way to make a living though, if he can make it at all consistent over a couple of weeks. Given the article it seems pretty unfair for the NY Post to call him a "hustler". He sounds honest in his dealings with people.

<comment><USER4> The article title is more than unfair, it drips with prejudice and, well, racism. When you make the same kind of living from the privacy of a Manhattan apartment by playing rich tycoons, you're a sage:

      https://www.bloomberg.com/news/features/2017-09-21/wall-street-s-best-kept-secret-is-russian-chess-master-lev-alburt

The title is clearly clickbait. I'll leave it to the scholars at prestigious universities to bicker about why it works as clickbait. As for the title itself, let's just call a spade a spade.

<comment><AUTHOR> Yeah, I probably should've submitted it with a more pleasant title. "Bobby Fischer of Union Square" or something like that.

<comment><USER5> Generally speaking, HN prefers you submit with original title, though this may fall under "linkbait":

> Otherwise please use the original title, unless it is misleading or > linkbait.

</comment></comment></comment></comment><comment><USER6> Wonder if he pays taxes.

<comment><USER5> Probably as likely as anyone who makes their income primarily via cash, off- the-books payments.</comment></comment>


3 reasons a $49 Lumia 900 price drop won't help Nokia - <AUTHOR> http://gigaom.com/mobile/3-reasons-a-49-lumia-900-price-wont-help-nokia/

<comment><AUTHOR> They are ...

"First, for not much more money, AT&T customers can buy a new Android phone with the latest hardware and software"

"What do my friends use?" is reason number two."

"Also hurting is the fact — reason number three — that the Lumia 900 won't see Windows Phone 8 when it debuts later this year"</comment>


Tunable eyeglass lenses to replace bifocals - <AUTHOR> https://www.wsj.com/articles/could-this-pair-of-eyeglasses-mean-the-end-of-bifocals-1486057654 <comment><USER2> Just in case:

[https://phys.org/news/2017-01-smart-glasses-automatically- fo...](https://phys.org/news/2017-01-smart-glasses-automatically-focus- wearer.html)

<comment><USER3> Original:

[http://www.ece.utah.edu/2017/01/26/i-can-see-clearly- now/](http://www.ece.utah.edu/2017/01/26/i-can-see-clearly-now/)

Phys.org often just republishes university press releases.

<comment><USER2> Yep, good catch, though the "I CAN SEE CLEARLY NOW" title _seems_ clickbait (even if it is the original, University one)!

</comment></comment></comment><comment><USER4> A different approach...not automatic, but the form factor is much nicer: [https://www.eyejusters.com/technology/](https://www.eyejusters.com/technology/)

<comment><USER5> It's worth noting that this is a research prototype, and that the team is anticipating rapid progress towards a better form factor. From the utah.edu link posted by maxerickson above:

 _Mastrangelo said a lighter, more attractive pair could hit the marketplace in as early as three years and that a startup company, Sharpeyes LLC, has been created to commercialize the glasses._

</comment></comment><comment><USER6> Tunable glasses are great for developing countries as well, where eye doctors are scarce, even when the focus is not automatic [1].

These glasses still require perfectly circular lenses, right? That's a bigger hindrance than slimming down the clunky prototype.

[1] [https://www.wired.com/2010/07/fluid-filled-adjustable-eye- gl...](https://www.wired.com/2010/07/fluid-filled-adjustable-eye-glasses/)

</comment><comment><USER7> Beyond a built-in motor, rangefinder, and extremely minor circuitry, are these actually different from a 2008 version? [http://cvdw.org/](http://cvdw.org/) Seems like you could use off-the-shelf stuff and still fit it into that enormous frame.

edit: ah, maybe this? (from: [http://www.ece.utah.edu/2017/01/26/i-can-see- clearly-now/](http://www.ece.utah.edu/2017/01/26/i-can-see-clearly-now/) , thanks! [https://news.ycombinator.com/item?id=13572830](https://news.ycombinator.com/item?id=13572830))

> _Hasan says the lenses can change focus from one object to another in 14 > milliseconds_

Pretty speedy, especially if that's the total time to focus and settle. Might miniaturize enough to be a normal-ish set of glasses, given time.

<comment><USER8> So these are autofocus for you eyes (there's not much meat in the article)?

<comment><USER7> Basically. There's a rangefinder in the frame, whatever you point your head at shifts the lens focus for your prescription, which means it can handle bi/tri/infinite-focal with no problem. A more 'real' example would probably use eye tracking, but the demo is much more about the lens adjustment than auto-tracking (seems tacked on to make it more interesting / a more complete demo).

</comment></comment></comment><comment><USER9> > Shift your gaze from the wall menu of your favorite fast-food joint down to > the smartphone in your hand, and these glasses can make the adjustment in 14 > milliseconds.

That's how it should work, not how it actually works. You have to move your head to focus, same as with bifocals. It might even be harder to use to focus on a small object like a phone.

<comment><USER10> > You have to move your head to focus, same as with bifocals.

In the given example, I'm going to be holding my phone within the field of the reading lenses, and looking over them at the menu. No head movement is required.

<comment><USER3> Based on _Their clunky prototype—sleeker versions are in the works—is based on an infrared distance meter built into the bridge of the frames._ I think head movement is required.

If it used pupil tracking to determine where the wearer was looking it wouldn't required head tracking, but it sounds like the focus is set based on what is in front of the distance sensor.

<comment><USER10> That's the point I'm making. The clever adjustable lenses require head movement. My boring old bifocals do not.

</comment></comment></comment></comment><comment><USER8> I had to watch the video twice, here's the important piece of text:

"the curvature of each lens changes,"

"responding to input from an infrared distance meter build into the bridge of the frames"

So the glasses have to know your personal prescription. I know very little about optic, but one thing I've been wondering for a long time is why can't there be a camera pointed to your eyes that adjust the lens until the image on your eye is in focus?

<comment> psi-squared I had an eye test recently (in the UK, if it's relevant), and they had a device which seemed to do that. You sit down, look into the device and see a blurry image, which sort of "snaps" into focus as it works out the shape of your eyes.

That device was a fairly big thing linked to a desktop, though - no idea if it could be miniaturised or not. In addition, they followed it up with more "traditional" tests, which in my case disagreed with the results from that device. So maybe it's not quite there yet?

</comment></comment><comment><USER11> I increasingly find these articles not worth the time, because the promise is never fulfilled. Therefore I prefer the original title: _Could This Pair of Eyeglasses Mean the End of Bifocals?_ , which contains one of the words could, might, may. My automatic internal parser will read this as _This Pair of Eyeglasses Will Most Likely Not Mean the End of Bifocals_.

</comment><comment><USER12> Presbyopia is certainly a major drag, and it would be great to have a fix for it.

The ultimate fix would be to replace the lens in the eye with one that can focus. There are people working on that (e.g. [0]).

[0] [http://ocumetics.com/](http://ocumetics.com/)

<comment><USER13> Thhis is already possible, but it's a fairly expensive and delicate procedure, so doctors only do it when you have a severely debilitating condition of the lens, e.g., cataracts.

Still, old folks who undergo lens-replacement cataract surgery often end up with fantastically restored vision -- beyond even what the lack of cataracts would give them.

</comment></comment><comment><USER14> I think they look quite stylish, in a nerdy sort of way! Some day young hipsters with good eyesight will be wearing huge klunky glasses like that but without any lenses, just to look cool. They could even include big batteries and a USB phone charger!

</comment><comment><USER15> Would this be useful for VR?

<comment><USER16> How so? To "automatically" focus on different things? Maybe with some eye tracking and foveal rendering? Seems like it'd be a more immersive experience.

<comment><USER7> Only thing I can think of is to adjust for people who can't see clearly at VR focal lengths (~1-2 meters from what I can find, which is a sweet spot for many, but not all). In that case, space around the lens exterior doesn't matter much, it could be a great fit.

Eye tracking and foveal rendering: I _really_ hope we get that, and soon. It'd look more natural, and seems like it could substantially reduce rendering costs.

<comment><USER16> Oculus bought the eye tribe for this purpose, I believe.

</comment></comment></comment></comment><comment><USER17> No matter what glasses I wear, I still can't get past the WSJ paywall. It would be a public service for people to stop submitting links to this site.

<comment><USER18> What's wrong with a paywall? Websites don't have to give you their content for free.

<comment><USER19> Paywalls with workarounds are ok.

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

The WSJ workarounds have stopped working for many people.

For people who don't know what the workaround is: open the [web] link (under the HN submission title) in an incognito window; open the first search result.

<comment><USER20> This workaround has stopped working, at least for many (including me).

<comment><USER19> You may want to re-read my post.

<comment><USER20> Apologies, I thought that was referring to some other workaround.</comment></comment></comment></comment></comment></comment>


Show HN: Hardbin: The world's most secure encrypted pastebin - <AUTHOR> http://incoherency.co.uk/blog/stories/hardbin.html <comment><USER2> Super cool!

btw, you have a typo in the learn more section, the readme link ends in .mg

<comment><AUTHOR> Thanks! And typo fixed now. :)</comment></comment>


Interactive Coronavirus live tracking map in the US with news articles - <AUTHOR> https://talksub.com/covid19 <comment><AUTHOR> Hello HN,

I'm Joon, a creator of this map. It's a realtime dashboard with a map tracking all confirmed, death, and recovered cases of Coronavirus with related news articles in the United States.

You can select a state or zoom in, and it will automatically filter the relevant news articles for the area.

We will add more features such as email subscription by state, community posts and comments, and support for Canada.

Ask me any questions!

<comment><USER2> Your data for most of Africa does not exist</comment></comment>


Olive Oil Consumption and Cardiovascular Risk in U.S. Adults - <AUTHOR> https://www.onlinejacc.org/content/75/15/1729 <comment><USER2> >Replacing 5 g/day of margarine, butter, mayonnaise, or dairy fat with the equivalent amount of olive oil was associated with 5% to 7% lower risk of total CVD and CHD.

This doesn't seem to be testing animal fats. My guess is that how processed the fat is the important variable.</comment>


The FAA Proposal for Drone Remote ID - <AUTHOR> https://www.faa.gov/uas/research_development/remote_id/ <comment><USER2> I think what some people don't understand here is how working with the FAA is fundamentally different than the DMV.

The DMV has to keep as many people driving as reasonably possible, since in the US it's practically impossible to live life normally without a car (excepting major cities)

Flying, on the other hand, is viewed as a privilege by the FAA. You do not have a right to fly anything. And the FAA will do everything it can to make sure flying is safe, even if it means barring the majority of the population from ever qualifying to fly.

I don't think they will treat drones any differently.

So to everyone who is shocked at how hard the FAA is being about drones, welcome to flying. This is par for the course for us pilots.

<comment><USER3> >You do not have a right to fly anything.

AFAIK, you don't need a license or formal training, or anything, to fly an ultralight.

Well, except for the ultralight.

<comment><USER2> Actually, that's a very good point. There are some important restrictions regarding airspace but there are legal ways to get up in the air by yourself without any training

Good call out there

<comment><USER4> The willingness to risk your own life in an ultralight is enough to satisfy the FAA that you followed some minimal due diligence; however, you're not risking anything by flying a drone except a few dollars.

</comment></comment></comment></comment><comment><USER5>
      Standard remote identification UAS would be required to broadcast identification and
      location information directly from the unmanned aircraft and simultaneously transmit
      that same information to a Remote ID USS through an internet connection. Limited
      remote identification UAS would be required to transmit information through the
      internet only, with no broadcast requirements; however, the unmanned aircraft would
      be designed to operate no more than 400 feet from the control station.

This requires all drones to be internet connected. That's a crazy requirement, and a crazy extra risk.

<comment><USER6> From what I understood skimming the full PDF linked by another comment, it's the base station which is required to be Internet connected, not the drone. Still a crazy requirement, but less crazy.

<comment><USER5> That is the opposite of my understanding based on two parts. As part of the protocol the UAS needs to be able to transmit:

> An indication of the emergency status of the UAS, which could include lost- > link or downed aircraft.

I suppose this could possibly be done from the base station as well but manufacturers are going to have to get this certified for operation and I bet this will be sticking point.

The other one is this one:

> UAS would be required to broadcast identification and location information > directly from the unmanned aircraft and simultaneously transmit that same > information to a Remote ID USS through an internet connection.

While I suppose it could be read that the "directly from unmanned aircraft" might not apply to the internet connection portion I'm willing to bet that is the intent.

<comment><USER7> p.111 of the regulations gives an example specifically of a UAS that uses the internet connection of a paired smartphone:

> Charlie's UAS is designed to pair with his smartphone to transmit the remote > identification message elements through an internet connection to a USS. > Because Charlie's UAS cannot broadcast [i.e. radio] remote identification > message elements, it does not function unless his smartphone is connected to > the internet and transmitting through that internet connection to Bravo USS.

<comment><USER5> That doesn't seem remotely practical. Even the tiniest hobby drones can easily and safely get 150ft away along the ground and are allowed to go up to 400ft.

Have you tried connecting to a phone's hotspot or bluetooth line of sight from 50ft away? 75ft? That's like half a second of flight time for drone then it's supposed to just "stop operating". Sounds incredibly dangerous and ineffective to me.

If its from the base station that would probably make more sense but that would require replacing controllers which are the most costly portion of amateur setups (besides FPV setups).

<comment><USER8> The proposed document contains answers to most of your questions. I'd recommend using search to jump around to the areas you seem interested in.

 _> For both standard and limited remote identification UAS, at this time the FAA has not proposed any requirements regarding how the UAS connects to the internet to transmit the message elements or whether that transmission is from the control station or the unmanned aircraft. The FAA understands, however, that there are concerns about the impact that connecting to the internet directly from the unmanned aircraft (as opposed to the control station) could have on networks that use radio frequency spectrum, including interference, network stability, or other effects._

If you want to fly 400 ft away, it doesn't seem too onerous to require a communication setup that's capable of staying in contact with your drone.

</comment></comment></comment></comment></comment></comment><comment><USER9> Yikes. Was kinda hoping to see it just be an NFC sticker you have to slap on your drone after registration, but this reads like they want an active radio and per-flight generated IDs, the devices need internet connections and all kinds of business that precludes entire categories of lightweight UASes. This is definitely going to be stifling to the market if it's enforced in the slightest.

It also rules out using ADS-B on drone aircraft entirely, which is a bit perplexing.

<comment><USER10> Did you hear that they are having privacy concerns for the 24 bit ICAO aircraft address which is broadcast by ADS-B transponders now?? There are a bunch of companies petitioning for a temporary anonymous private address process that only the FAA would be able to track.

Why did they bother to invent a publicly broadcast address if it wasn't intended to be used that way!?

<comment><USER11> > The Privacy ICAO Address (PIA) program is now available.

[https://www.faa.gov/nextgen/equipadsb/privacy/](https://www.faa.gov/nextgen/equipadsb/privacy/)

<comment><USER12> This will be easily defeatable with a crowd-sourced database.

It is not even close to easy to be able to change an ADS-B out ICAO address in avionics right now, so periodically changing these addresses won't happen in production.

When will people realize that security by obscurity doesn't work?

</comment></comment></comment></comment><comment><USER5> There is a lot of content in here that seem like its intentionally created for getting money out of people and the government.

* Drones will require an internet connection (might be able to get away with a connection via a cell phone or something, but that'll likely prove unreliable)

* Additional radio hardware will be required in some cases as well

* The FCC will subcontract out to a specific company receiving all of the drone reports

* No discussion of protocol, so will largely be designed and specified by the internet contractor... Which history has proven will be a heavy protocol... So larger CPU requirements to comply...

<comment><USER13> The fact that complying with a regulation will involve spending money does not imply that a purpose of the regulation is to extract money.

It costs money to make buildings fire-safe, too.

</comment></comment><comment><USER14> I'm curious about how dramatically this will affect the price of drones. I did a skim-read of the PDF but couldn't find specifics about what size of craft/properties of the craft this would apply to.

Would it apply to the little hand-held $14 thing that was used for exactly one hour on Christmas before it was destroyed?

Even outside of the "disposable/toy" market -- Amazon has a number of $100-$200 drones that are quite capable, with video/GPS and a lot of the features that would have been found only on $1000 drones a couple of years ago. Adding regulation[0] greatly affects hobbiest builders. I'm going to avoid tinkering around with things that could result in me having to explain myself to a judge. And it affects the target market for these $100/$200 drones. Do I want to go through the trouble of ensuring I'm not violating a hundred-page rule just "for my own entertainment"?

I'm _not_ saying the regulation isn't needed. Frankly, I haven't spent time understanding the problem well enough to make that determination. I'm just wondering how well this balances preventing a drone-related catastrophe against the harm it will cause to the overall sector.

[0] Especially if it's the sort that are required to be complied with in order to be offered for sale

<comment><USER15> The proposal states that this applies to every UAV over half a pound, except amateur built drones (which must be flown within line of sight.)

<comment><USER14> Honestly, that covers _my entire use case_ , today. I purchased a drone last year with the desire to toss open-source auto-pilot firmware on it, but I've always operated it within line-of-sight... at least, I've always _intended_ to operate it within line-of-sight[0]. :P

[0] I failed to properly calibrate the drone on its third flight, where it took of at full power, up and to the left. It continued to try to "correct itself", which resulted it in flying in an arc, landing upside down on the roof of a house 5 doors down. It's not fun introducing yourself to the neighbors by asking if you can use the ladder you carried down the block to retrieve the drone that nearly lodged itself in their chimney. Or maybe it is ... in my case, he was a drone hobbyist with similar piloting skills as myself, so he was _very_ understanding and ended up giving me a battery he had that he found out wasn't compatible with his.

<comment><USER16> I'm always surprised how pleasant it is to talk to my neighbors that I normally never speak to.

</comment></comment></comment></comment><comment><USER17> All legislation tends to be reactive rather than proactive. The drone industry, in my opinion, has been rather irresponsible about educating their customers. As a result you have people flying drones in places, at times and altitudes they should not.

A few years ago, where I live, we had a rash of new drone owners doing stupid crap like flying over homes, roads, highways, parks and supermarket parking lots, to name a few. This culminated with the inevitable. Someone got hurt, badly, when a drone fell out of the sky. The drone owner/operator got arrested. They ended-up in jail and lost their home in the lawsuit that followed. Pretty f-ing stupid behavior if you ask me.

As someone who has been designing, building and flying all kinds of remote controlled aircraft for somewhere around 35 years, I have been looking at what the consumer side of the drone industry has been doing with horror. I have crashed so many aircraft and helicopters I can't even list them. I am not talking about cheap toys either. My highest cost crash was $6,000 in one day.

The point is these things are toys made with toy-grade electronics. They are nowhere near reliable enough to dare fly over structures, people or roads unless the pilot is willing to face the consequences of killing one or more people and possibly burning down an entire neighborhood. Having done extensive work in aerospace I know full-well what proper fault-tolerant design looks like --cause I have many fault-tolerant designs under my belt. These things are not even close to being safe enough to fly over a crowd of kids at the park or above a neighborhood. And yet it happens all the time.

The industry has had an opportunity to address these issues, either technologically, through education or both. And they have note. Therefore, they are slowly being constrained through precisely the legislation they deserve to have to face.

One of the things I said years ago as drones started to become popular and people started to do stupid things with them was that "these people are going to ruin the model aircraft hobby for everyone". I am sad to say I was right. They are doing precisely that and more.

Not sure if there are any solutions at this point other than the kind of legislation responsible drone owners do not need and do not want.

Oddly enough this is precisely the same situation we have in the US with the firearm issue. Responsible firearm owners don't need legislation to be, well, responsible law-abiding citizens who harm nobody. Those who are in a range between careless and demented are the one's who ruin it for everyone else. This is now happening to drones. Same thing. Different hardware.

<comment><USER18> > They are nowhere near reliable enough to dare fly over structures, people or > roads unless the pilot is willing to face the consequences of killing one or > more people and possibly burning down an entire neighborhood.

If your entire neighborhood can be burned down by one consumer-level drone, you've got bigger issues.

Kids hit baseballs near crowds, with similar kinetic potential and the occasional injury and even death. We manage to survive as a society without strict regulations on baseball games.

<comment><USER17> You might lack context in order to understand the very real dangers posed by toy drones.

First, LiPo battery packs, when damaged, become the source of unbelievably energetic fires.

[https://www.youtube.com/watch?v=hg3r2erRrfw](https://www.youtube.com/watch?v=hg3r2erRrfw)

...and it can happen this quickly in a flying situation:

[https://www.youtube.com/watch?v=VjrTNkOjgt8](https://www.youtube.com/watch?v=VjrTNkOjgt8)

Here's a convenient YouTube search with more LiPo fires:

[https://www.youtube.com/results?search_query=lipo+battery+fi...](https://www.youtube.com/results?search_query=lipo+battery+fire)

Second, we are in Southern California, where massive brush fires have taken out entire neighborhoods. This is particularly dangerous during Santa Ana wind conditions, where we can have sustained 30 to 60 mph winds.

If a drone crashes into fuel (brush, a home, etc.) and the LiPo is damaged or shorted you have a very high potential for a large fire. Add wind and more fuel to that and you can easily take out a chunk of a neighborhood if not the entire area.

For context, we had a small fire two blocks away just a few months ago. The hill on the side of the road lit for some reason. It was very windy. Before you knew it three homes --not adjoining-- had gone up, several fences burned and probably about a quarter of a mile of grass/shrubs/fuel burned-up. This was with two Super Scooper aircraft and three or four water-dropping helicopters dumping water and retardant at a furious pace (we live by a lake, so round trips are quick).

And then there are real cases of real homes, garages and businesses going up in flames due to drone or LiPo batteries catching fire:

[https://www.youtube.com/watch?v=8wzJ5Wv0cKM](https://www.youtube.com/watch?v=8wzJ5Wv0cKM)

In other words, no, I am not over-stating the danger of people flying drones around hills, brush, homes or roads. It doesn't matter how small they are, LiPo's are very energetic and can start nasty fires.

This is part of the problem I alluded to in my earlier note. People simply aren't educated about this stuff and actually think it is safe to fly these things anywhere and might even laugh at those proposing this is very dangerous. The industry has failed to educated people, which is why it will get pounded with legislation.

BTW, all of my LiPo batteries are stored in fireproof bags inside a fireproof metal container. My garage might fill with smoke but I am not going to lose my home over a bunch of batteries for my model aircraft.

<comment><USER18> As I said, "you've got bigger issues". California's a tinderbox, and is regularly getting ignited by _non-drone_ ignition sources.

<comment><USER17> This is a reality everywhere. California has bigger issues, yes, but that's not to say that a drone crashing into a neighborhood anywhere in the US could not launch a catastrophic event.

BTW, even if the issue was narrowed down to burning down a single home it would be serious enough not to have these things flying above neighborhoods. Let's be sure we are not doing the typical HN thing of getting lost in an endless and pointless minutiae argument --typical of programmers-- where everyone is trying to find the missing "case:" statement in the poster's scenario to show just how smart they are or have their position hold. If you want to find one, you can, that doesn't mean these things are anywhere near fault tolerant or safe to have flying everywhere.

There is no position that can support the idea of someone having fun flying around and taking pictures in exchange for a range of negative outcomes from hurting to killing someone on the ground or causing varying degrees of property damage.

That's what we are talking about:

Taking pictures in exchange for creating public danger.

If you want to find a "case:" where my argument is wrong, feel free. YouTube is full of evidence of the danger posed by these things.

At this point the genie is out of the bottle. As much as I hate heavy government involvement this is likely becoming a case where no other option remains on the table.

This has now become the gun debate with different hardware.

<comment><USER18> > There is no position that can support the idea of someone having fun flying > around and taking pictures in exchange for a range of negative outcomes from > hurting to killing someone on the ground or causing varying degrees of > property damage.

Again, that argument means I can't play baseball with my kids in the backyard. It's not a standard I'm prepared to just accept on your say-so.

<comment><USER17> >that argument means I can't play baseball with my kids in the backyard

Not even remotely close to the same thing. If you honestly see these two activities as equivalent it likely explains why you are having trouble understanding my point. That's just human nature. Which, as a lateral thought, is one of the things that scares me about the future of AI. If people can't see fundamentally simple things what erroneous preconceived notions are we going to bake into AI?

Now, if you tell me you want to be able to toss a baseball at 90 miles per hour in your backyard and hit it with a bat with the same force and violence used in a ballpark, no, nobody should do that and if you think it is OK to engage in this behavior I suggest you consider the idea of your neighbor doing this and your own kid being hit in the head with a 100 mph baseball. The only way something like this makes sense is if you have so much land that the ball isn't even likely to leave your property.

Rights and how we choose to behave in a civilized society are a balancing act between what we would like to do, how we would like to be have and how we want others to behave towards us. If you don't want your kid killed in your own backyard by a 100 mph baseball then don't suggest it is your right to fire that baseball from your own backyard in a random direction. You have to care for others as you want them to care for you and yours. It really is that simple.

I don't want to burn down someone else's house or cause them harm. That's why I don't fly my planes, helicopters or drones above other's property. In exchange, I expect people to extend the same consideration towards me and my family.

The same applies to loud music. I respect my neighbors and don't play music loud or late enough to disturb them. I expect the same consideration in return.

None of this is because of laws. This is how you have to behave in a civilized society.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> I wish all these rules just said: does not apply when flying below 200' AGL.

Very frustrating to see that this industry is likely going to get stopped before it even gets started.

<comment><USER20> It's long past time to raise the altitudes.

Aircraft typically need to stay above 500, and toys below 400. We could move aircraft up to a minimum of 2000, move the toys up to a maximum of 1000, and let the serious fancy big drones have 1200 to 1800.

<comment><USER6> > Aircraft typically need to stay above 500 [...] We could move aircraft up to > a minimum of 2000

Moving aircraft to a minimum of 2000 might mean not being able to stay below the clouds. I randomly looked up the METAR for the nearest airport, and at the moment, it has clouds at 1500.

<comment><USER20> If the clouds are only at 1500, it seems really unwise to fly without an instrument rating. It wouldn't take much of a weather change to get a VFR-only pilot in deep trouble. The clouds could quickly go right down to ground level.

Once an emergency develops, violating altitude rules is quite alright.

Changes to the rules could be an incentive for many pilots to become instrument rated. That isn't a bad thing.

<comment><USER21> There are many stable weather patterns where the bases will stay steady at 1200-2000 feet AGL for many hours. Lots of airport pattern work and short cross countries are safely flown in conditions like that.

Rotary wing aircraft are flying even lower than that fairly frequently.

</comment></comment></comment></comment></comment><comment><USER22> In general, I don't think drone aviation has reached its tipping point, so I'm glad things like this are happening in advance to control airspace. We can't even agree about where scooters belong in cities, so I don't want "move fast and break things" to be happening over my head. Whether or not it's the right thing will get figured out in the long run.

</comment><comment><USER23> Is this stricter than rules for small, manned propeller aircraft?

Arguably, they should be because there's a cost and training hurdle to being a pilot that isn't there for drones, so the risk drones pose to safety is greater than the average Cessna pilot.

</comment><comment><USER24> The way this is implemented, it would be trivial to spoof, wouldn't it? It seems like only a matter of time before the people who pushed this regulation feel the brunt of that.

<comment><USER9> > The way this is implemented, it would be trivial to spoof, wouldn't it?

Yeah but that's pretty much the case with anything flying today. The idea that it's breaking federal law to spoof the ID and that it's relatively easy to catch the guilty party due to the short range of the transceiver is deterrent enough.

It's the equivalent of swapping car license plates, only with a greater likelihood and penalty of being busted.

<comment><USER25> >it's relatively easy to catch the guilty party due to the short range of the transceiver

There are lots of GPS-guided drones that don't need to talk to a transceiver mid-flight.

</comment></comment></comment><comment><USER26> This is how they define the tech required "Remote ID is the ability of a UAS in flight to provide identification information that can be received by other parties".

I wonder if this definitely means the drone itself has to have an extra transmitter or is an app running on the operator's smartphone enough. In Europe people flying drones use an app that lets you "Check In" with local airspace authority if you are operating in controlled area (where I am close to 50% of airspace in 50km radius is some kind of controlled area).

If you don't want to use an app it is required to phone the area admin before flying in controlled airspace. Also it is good to have a given day's map as it shows today's low altitude military routes. One of those routes is nearby and it is not uncommon to see F16's flying at ridiculous speeds at what appears to be around 200m altitude. It is interesting that they don't show those routes on US airspace maps I saw.

</comment><comment><USER27> More power to the goverment and less freedom and privacy for the citizen, what could go wrong?

<comment><USER28> Wait until someone is assassinated with one of these puppies. They will end up prohibited entirely. :(

Collective punishment: it's OK when the government does it!

<comment><USER29> This falls into the same gotcha as many laws. Someone with ill intentions is not going to follow this law, so this law doesn't really stop this from happening.

</comment></comment></comment><comment><USER30> What penalties would someone face if they ignore this particular regulation?

I didn't see any listed on the site. But are we talking a few thousand in fines, or prison time?

</comment><comment><USER31> Am I reading this right that the standard remote ID broadcast is specified as "something in an unlicensed band, everything else about it you figure it out"? Isn't the point of this to be interoperable with other receiver systems for things like BVLOS operation? Seems like a funny place to throw in a shoulder shrug.

<comment><USER32> Quote:

> With regard to direct broadcast capabilities, the ARC recommended the FAA > adopt an industry standard for data transmission, which may need to be > created, to ensure unmanned aircraft equipment and public safety receivers > are interoperable, as public safety officials may not be able to equip with > receivers for all possible direct broadcast technologies.

So the final rule will probably name a specific standard, but it's TBD for now.

</comment></comment><comment><USER33> ADS-B[1] was and is somewhat pointless because it was not designed to accommodate smaller flying things... the sort of things that there are a lot more of.

So now we have a whole whack of incompatible systems like FLARM[2] to address that segment. The FAA is actually promoting another incompatible system for drones. This system won't actually allow anyone in the air to know the drone is there. It will only be for the purposes of law enforcement ... because that is the main priority right now...

[1] [https://en.wikipedia.org/wiki/Automatic_dependent_surveillan...](https://en.wikipedia.org/wiki/Automatic_dependent_surveillance_%E2%80%93_broadcast)

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

</comment><comment><USER7> Direct link to proposed regulations (PDF): [https://s3.amazonaws.com/public- inspection.federalregister.g...](https://s3.amazonaws.com/public- inspection.federalregister.gov/2019-28100.pdf)

</comment><comment><USER34> This is stupidly complicated. Why not just an iff tag?

</comment><comment><USER35> Has anyone seen a RID device? Are any available? Approved? Will this be a "LAW before the device" like CA Gun Microstamping?

</comment><comment><USER36> These rules appear to make fpv racing drones impractical and all older, pre BS rules drones very valuable.

</comment><comment><USER37> Enforcement of this should be interesting. Probably can't do much besides restricting sale.

</comment><comment><USER38> Nope, no thanks. You don't get to intrude on my privacy because you want to make it easier on you to catch some bad actor that is breaking the law.

For you gun owners out there, how would you like your concealed weapons tracked this way. F __* that noise.

<comment><USER39> How exactly are you exercising your privacy by flying a dangerous object with a camera over other peoples' property?

<comment><USER38> If I'm on my property flying at 50 feet, the government does not have a right to keep tabs on my activity without a warrant. Do you disagree?

</comment></comment></comment><comment><USER40> This seems complicated but it's a step in the right direction. I think requiring a full pilots license to fly any drone would be best.

<comment><USER41> Now that's flat out ridiculous.

<comment><USER42> I think training similar for what commercial drone pilots require isn't far fetched, however. A hobbyist probably doesn't need to read aerospace maps, METAR reports, etc., but should be able to answer the safety questions with ease before they start flying their equipment.

I've held off on getting my Part 107 certification because I'm too lazy to drive to the testing center, but this shit isn't rocket science and puts up a high enough barrier of entry to keep the skies reasonably safe.

I wish the FAA had gone this route first before debating potentially expensive electronics on every consumer drone, I think it's going to hurt more than it helps.

</comment></comment></comment><comment><USER43> Is there an aircraft size where ADS-B is required?

<comment><USER7> No. In fact the proposed regulations specifically disallows drones from using ADS-B unless they have filed a flight plan and the pilot is on radio with ATC, or certain other exceptions. This is due to concerns about overcrowding the ADS-B spectrum.

<comment><USER44> It is unfortunate that "NextGen ATC" hit its scalability limit just a few days before it became mandatory.

Maybe ADS-B-v6 will save us ;)

</comment></comment></comment><comment><USER36> These rules appear to make FPV race drones impractical and make older, pre this BS drones very valuable

</comment><comment><USER45> The FAA is clearly taking a much longer view of this than most people on this thread, and describing a system which scales safely to having huge drone fleets in the sky, which most of the "just wing it, it'll work itself out" counter-proposals here do not.

<comment><USER46> The counterpoint being, the FAA rules will kill the chances of a future where there would be huge drone fleets in the sky

<comment> james-mcelwain Good. Drones are incredibly annoying and have already ruined many things like a pleasant day in the park. I don't want to live in a future with huge drone fleets buzzing around every time I step outside.

<comment><USER47> People said the same thing about technologies such as automobiles, airplanes, and cell phones. Yes, they have some annoyances and safety issues, but overall they have made our lives much better. I would rather let each state and municipality decide on whether to ban drones than to limit the future of the entire country.

</comment></comment></comment></comment><comment><AUTHOR> I support this

Because think of all the rogue actors who can deploy anonymous drones including from other countries

Right now all our skies are clear but once we have a lot of drone traffic, we may have really bad stuff happen. It takes just one drone flying over a crowd to cause massive problems. Let alone a coordinated attack in multiple areas.

If you don't know who to go after, to make an example of, after a crime (what if a drone drops grenades??) then you should be catching this drone with a net and disabling it.

Drones are the first type of robot that will be in PUBLIC PLACES which is cheap to produce. Autonomous cars are dangerous but expensive so we will not likely encounter cars which are unregistered and we don't know who made them. But w drones it's easy!!

 _To the downvoters: can you speak about how you would address the danger? Let's have a conversation_

<comment><USER48> > To the downvoters: can you speak about how you would address the danger? > Let's have a conversation.

Your concern seems to be about bad actors. Yet you also mention how easy and cheap drones are to build. There's thousands of online tutorials showing how to build them for extremely cheap. So how does this solution address the problem of bad actors? Bad actors are just not going to install the identification methods or remove them from commercial bought drones.

With a radio based system the only way you have to track these people down is arrays of radios to track signals (automated fox hunting). But that doesn't scale well. Tracking drones is really a difficult problem.

So considering that, what does this do other than harm good actors? Most of the problems are really uninformed actors. Punishing people doesn't resolve the issue of uninformed actors because you are being reactionary and not proactive, meaning the damage is done.

I also find it ridiculous that drones are being regulated more than private aircraft. Drones have such a lower potential for harm.

<comment><AUTHOR> It addresses it by making it open season to shoot down any drones who don't have it broadcasting, just like any rogue plane

<comment><USER48> 1) It is illegal to shoot down drones

2) If it was legal, it would be a bad idea because you're shooting down something with a lipo. Great way to start a fire.

3) Identifying a rogue drone is quite difficult. They aren't easy to see. And how do you know the radio signal you are intercepting is theirs? It isn't always that easy (in fact, that's what I was talking about with the city wide fox hunt). This might be easy in a small area where there is only one thing flying around, but as soon as you have multiple things it is hard to identify what is what. The easiest way is to get a yagi and aim it at the drone, but you're still going to have to follow it for awhile to make sure you have the right one. And are you going to do that for every arbitrary flying object? Seriously, that is a ridiculous notion.

"Honey there's a drone outside! Get my yagi so I can check if it is operating legally or not!"</comment></comment></comment></comment>


Ask HN: What uses will crypto currency continue to see? - <AUTHOR> I think it's pretty clear that there has been zero major adoption that we define here as significant.
However, now my opinion is leaning towards that certain markets will continue to thrive and that anonymity focused crypto currencies will certainly be in use.
For instance, drugs, gambling, anything of that nature anonymous cryptocurrency I believe will survive.
What do you think about this argument? I don't think we will see public ICO but I see some sort of dark venture capitalism.
ex. you are a drug manufacturer but need seed capital
As long as there are people trading something for a medium which allows cash liquidation, even if it's unstable and open to attacks as well as centralization via miners.
Am I correct? I used to believe crypto currencies were largely garbage but I do see it's continued usage, it's just that its nowhere as near going to anywhere like we've seen up to 2018 but I believe markets which benefit greatly from a non-fiat based online wallet and ledger. <comment><USER3> \- illegal activities can benefit from anonymous and cashless transactions, but those assets still need to be converted to cash and/or laundered at some point

\- exchanges, trading platforms and payment platforms benefit from faster and cheaper protocols that are at least as secure as the existing ones. These protocols don't have to be related to cryptocurrencies in any way. If anyone offers a solution that beats banks'/visa's/forex's/paypal's/... current protocol, that protocol will eventually be adopted - most likely adopted by the companies that are already market leaders so very little will change from the user's perspective

\- any relatively stable asset can be viewed as a store of value - <USER2> cryptocurrency meets this requirement at the moment

\- economies cannot run on a deflationary currency - a government controlled inflationary currency will always be the main means of exchange

\- decentralization exists in a fraction of the existing crypto projects and, when it exists, it's of little to no benefit

So I expect to see some illegal activity, some interesting work in research/protocols/software development, no mass disruption of any industry and, of course, the continued speculation that mass disruption is just around the corner.

</comment><comment><USER4> I think of it as a tool (framework) and not a solution which will or will not replace something.

Many banks have still old systems in place and for example, an internal cryptocurrency could replace their current system for transactions. It's cheaper and safer than most of the current systems. A friend works at a big Swiss bank and they still transfer text files over SFTP with transactions. They have over 1000 people working in IT and I think they could easily lay off a couple hundred people if new, simpler and safer tools are working. That could also thrive adoption.

I also like the idea of a bitcoin being a store of value, makes more sense than physical gold. And yes, anonymous money is always something there will be a need for.

<comment><USER5> Not trying to be snarky, but what value does an internal cryptocurrency add over a good database? Or put another way, why do you think they haven't moved from SFTP to a database and why do you think a cryptocurrency would meet those demands better?

<comment><USER4> They are required by law to be up and running again in 24 or 48 hours (don't remember exactly) if anything happens, otherwise, they lose their license. So they have a mirrored data center in a different place. It could be cheaper to just run a full node in every office they have (100+).

They already have a database, the SFTP part is for partners they work with, other financial institutes. They haven't moved yet because it's an old system and it's expensive to write a new one. Obviously, it's also expensive to write a new one on the blockchain.

All I'm saying is it could be considered in the future because you can create a secure, maybe cheaper solution with it. I think that is something that "could" drive adoption because if companies can save money they are more likely to use it.

</comment></comment></comment><comment><USER6> Possibly sending money border to border for international workers. I have a friend in Thailand who sends money back to her family in Philippines every month and she gets hammered by fees. One day a stablecoin type crypto may be available with a < 1% fee.

Also banking the unbanked. There are a couple billion people without access to traditional banking. Most these people now have mobile phones, where instead of signing up at a bank, they could download an app where these people can store their value traditionally for the first time.

<comment><USER3> > Also banking the unbanked. There are a couple billion people without access > to traditional banking. Most these people now have mobile phones, where > instead of signing up at a bank, they could download an app where these > people can store their value traditionally for the first time.

If you live a society where access to a bank is rare or difficult, chances are that you also live in a society where mobile phones are not as common, education levels are lower, understanding of what a cryptocurrency is and how to use it is lacking. Getting to use a cryptocurrency for people in the developed world can be difficult, in less developed countries even more so. And if somehow you managed to get yourself set up and understand how to use your wallet, it's still empty. And if it wasn't, there wouldn't be enough businesses around that accept the currency. And if there were, the value of what you hold would fluctuate constantly, making actual use close to impossible. It's just a big "no" on every level.

Cryptocurrencies are a toy for people in rich societies, not a banking solution for the developing ones.

<comment><USER7> Mobile networks are a lot easier to setup than banks. You don't need to trust a mobile phone. It wont run away with your money.</comment></comment></comment>


The Font Detectives - <AUTHOR> https://daily.jstor.org/the-font-detectives/ <comment><USER2> The problem with technological smoking guns is that, however believable to those in-the-know they may appear, it's still a human problem to convince a layperson of their gravity. For example, the same technique was used to prove corruption in Pakistan [0], but a court rejected the evidence. Whether that is because they did not understand it, or were corrupt themselves, is another question.

[0] [https://www.theverge.com/2017/7/12/15961354/pakistan- calibri...](https://www.theverge.com/2017/7/12/15961354/pakistan-calibri-font- scandal-forged-documents)

</comment><comment><USER3> I'm reminded of the "Rathergate" incident that got Dan Rather fired from CBS, where they went to air with documents critical of George Bush that were clumsily faked, purporting that a typewritten document from 1973 used Times New Roman in the exact same size and spacing of Word's default settings.

[0] [https://en.wikipedia.org/wiki/Killian_documents_authenticity...](https://en.wikipedia.org/wiki/Killian_documents_authenticity_issues)

<comment><USER4> I remember being astonished when I first saw images of the purported documents. I could not believe this got past anyone at CBS news, let alone Dan Rather. Did they have no memory of what manual typewriter type face looked like?

</comment></comment><comment><USER5> I'm surprised this article doesn't mention (to my mind) the most notable recent example of font detective work - the document(s) printed in Calibri that purportedly predated its release that were evidence in the corruption case(s) against Nawaz Sharif & family/associates.

</comment><comment><USER6> With VMs and whatnot it's easier than ever to type up your fake vintage documents using the software of the day. As always the lazy crooks get caught.

<comment><USER7> It is somewhat harder to find a daisywheel printer upon which to print them.

</comment></comment><comment><USER8> I'd like to talk to a real expert in the shapes on tracking the copying over time.

Years and years ago I remember watching typefaces get hand traced and then edited on in-house software running on a Tektronix storage tube.

<comment><USER9> This? <[https://en.wikipedia.org/wiki/Storage_tube>](https://en.wikipedia.org/wiki/Storage_tube>)

You saw people using _that_?

<comment><USER10> I spent many fine hours using on of those Tek terminals. The screen didn't scroll, but just kept drawing again from the top. There was a button you'd press to clear it, but people often didn't bother doing that until the redrawing made the content incomprehensible. This was back in the day when "vi" was considered an abomination, because it wasted so much effort redrawing the screen, when the "proper" way was to do line-by line changes, with ex. Oh, the good old days.

<comment><USER9> I was somewhat confusing them with storage tubes per the wiki article title but I didn't realise the tech was still around like that in the 70s! Thought it had gone long before then.

I too was taught to use ed at university and don't consider it time wasted, but I'm well chuffed that better stuff (macs) were coming in then. I actually had the questionable good fortune to use ed on a paper teletype for an hour. Then, staring down at it, my neck cricked and I had to stop.

AIUI ed (or something simpler) on paper teletypes was what original unix might have been written on - good times!

Not.</comment></comment></comment></comment>


Caltech Professor Emeritus, Author Tom M. Apostol, Dies at 92 - <AUTHOR> http://www.pasadenanow.com/main/caltech-professor-emeritus-author-tom-m-apostol-dies-at-93/ <comment><USER2> Tom Apostol was also part of the team that put together "The Mechanical Universe", a highly acclaimed 52 episode series of video lectures that cover a full undergraduate physics course.

The creators of the program provide all episodes online at [https://www.learner.org/resources/series42.html](https://www.learner.org/resources/series42.html)

I never met the man but I learned a lot from him. May he rest in peace.

<comment><USER3> That site says: "After June 30, 2016, we will no longer distribute this series on DVD, and the videos will no longer be available online." Anyone know why, or if they plan to do anything else with the videos?

<comment><USER4> An explanation is given here: [http://scaapt.org/archives/1286](http://scaapt.org/archives/1286)

> "You may ask why the series is being retired. The original producers > (Intelecom) do not have the staff or the information available to locate all > the third party rights holders of the additional footage and rights to that > footage has expired. Therefore, it must be taken out of distribution."

I imagine that unless unknown rights-holders pull them off YouTube (as they apparently haven't yet...) then it will still be available some places.

The above page also notes the availability of [https://www.learner.org/courses/physics/](https://www.learner.org/courses/physics/) which includes 11 videos.

<comment><USER5> Our intellectual property system gets in the way again. Why don't all the limited government, anti-regulatory people complain about this?

</comment></comment></comment></comment><comment><USER6> There is a film of a way up, over the top lecture in plane geometry by Andrew Gleason with Tom Apostol.

I saw it broadcast late one night on a PBS station and intended for recording for playing in high school classrooms.

Elegant. Powerful. Nothing like what see in common high school plane geometry texts. I got in a few minutes after the start and recognized a lion by his paw. If you liked plane geometry, then you will be in love with this lecture.

I just did a Google search looking for a copy on YouTube and found nothing.

Anyone know where that lecture is?

One of my favorite books, I worked to buy used long after it was out of print, is

Tom M. Apostol, _Mathematical Analysis: A Modern Approach to Advanced Calculus_ , Addison-Wesley, Reading, Massachusetts, 1957.

And that is advanced calculus more like your ugrad physics prof will see it. Great to have when studying Rudin, exterior algebra but having to study material much like physicists did it 100 years ago.

</comment><comment><USER7> I learned analytic number theory from his text book. Probably unlike most other HN participants, that is where I learned big-oh notation, in its original context: measuring the growth of arithmetic functions. I distilled what I learned into a short little undergrad paper:

[http://jordi.platinum.linux.pl/dirichlet- primes.pdf](http://jordi.platinum.linux.pl/dirichlet-primes.pdf)

Thank you, Tom Apostol, for writing a book on analytic number theory for me to learn from.

<comment><USER8> I also learned the big-oh notation there. Among many, many other things. Absolutely great book.

<comment><USER9> Me three.

<comment><USER10> Absolutely, great introduction to analytic number theory for anyone curious about the subject.

</comment></comment></comment></comment><comment><AUTHOR> I learned about Apostol's death from a post by a very astute mathematical biologist, Lior Pachter, who was once a student of Apostol's. The post is "The Ice Cream Cone Proof,"[1] which nicely illustrates Apostol's brilliance as a teacher.

[1] [https://liorpachter.wordpress.com/2016/05/09/the-ice- cream-c...](https://liorpachter.wordpress.com/2016/05/09/the-ice-cream-cone- proof/)

<comment><USER11> I'm sad; I had him for the same course Pachter describes. One time he lectured on the prime number theorem, just for entertainment: he didn't prove it, but got deep enough to rather blow me away.

Here's a more recent elementary talk of his: [http://www.its.caltech.edu/~mamikon/VisualCalc.html](http://www.its.caltech.edu/~mamikon/VisualCalc.html)

</comment></comment><comment><USER12> Apostol's calculus texts were my first experience with 'real' proof-based mathematics, and I also learned real analysis through his Mathematical Analysis book. Good times; his books taught me a lot.

He wrote with clarity and conciseness; when I read Apostol it always seemed like not a single word was added unnecessarily. I highly suggest picking up his books, and am sad to see that he passed away.

</comment><comment><USER13> If there is a Math's Heaven with the Book in it, I hope he joins the chorus.

(*) The Book as the place were the greatest theorems and proofs are located, P. Erdos, exposed in Noga Alon the probabilistic method.

By the way, there is a comment by someone nhatcher, is it the famous topology author?

</comment><comment><USER14> Tom Apostol was my freshman math prof. He made math a useful tool for me. He was a great teacher. Thanks so much, Tom.

<comment><USER15> I only saw Apostle smile once. It was Gauss' birthday, which he always celebrated in April with a cake. It had the Flux Theorem (Divergence to Surface Integral), and I got the "dx" labeled piece.

I complained that he had given me the smallest piece, and saw just the hint of a curl to his lips.

Hopefully, the "useful theorem"* didn't die with him...

*Apostle always referred to the useful theorem when proving problems in class... if you could figure it out, you were done.

<comment><USER14> Check out page 212, 1969 Big T (lower photo). Big smile. But yeah, didn't see that very often. Upper photo of him on that page is amusing also.

[1] [http://resolver.caltech.edu/CaltechCampusPubs:20111101-15354...](http://resolver.caltech.edu/CaltechCampusPubs:20111101-153546791)

<comment><USER15> I am tempted to believe that Lloydies had something to do with that 8^O...

<comment><USER16> We live for those we love and die.

</comment></comment></comment></comment></comment><comment><USER17> I picked up his calculus book for the first time almost 15 years ago and still remember so much about it. Integration explained before derivatives, the method of exhaustion at the start, and that early (first?) exercise about "a number less than arbitrary epsilon therefore it's 0" all stuck with me through the end of grad school and to today.

</comment><comment><USER18> Wow! I didn't know he was alive until recently. I used his books in high school extensively when preparing for my IIT entrance exam back in India. May he rest in peace.

<comment><USER19> Same here, didn't know! My father (a maths professor) showed me Apostol's books on calculus, always recommends them very much. May the earth be light on him.

</comment></comment><comment><USER20> My freshman & sophomore calc classes used his books 1 and 2. I still have them.

<comment><USER21> ...and, quite remarkably for a calculus textbook that is still in use at many schools ~40 years later, the editions you and I bought at Caltech in the late '70s are the _same_ editions that are used today. Volume I, second edition, 1967, and Volume II, second edition, 1969.

I wonder if there are any families where a parent went to such a school and bought these, and then their child went to such a school and used their parent's copies, and then their child did the same?

<comment><USER20> I was amazed to find those 2 books going for about $250 each on Amazon. Pretty good for 50 year old textbooks!

I bought mine used for maybe $5 each from some foolish upperclassman who thought he was done with calculus.

<comment><USER16> I now strongly regret having sold mine; the brief moment of glee and small amount of cash was small potatoes compared to the number of times I've since wanted to re-read them.

(Also glee-killing: AMa 95)

<comment><USER10> Off-topic, but am curious: was there a "standard" text for AMa 95? I didn't go to Caltech, but heard a bit about the course from a friend who did. These days I sometimes teach our equivalent course, and am always looking for good resources. Thanks!

<comment><USER11> They sold the paperbound lecture notes at the Caltech bookstore and presumably nowhere else (at least back in the 80s).

<comment><USER10> Ah, I see. Thanks for the info!</comment></comment></comment></comment></comment></comment></comment>


Tell HN: g+ emails loading images without permission in gmail - <AUTHOR>

Has anyone noticed how the g+ emails load images automatically in gmail without asking for permission? <comment><USER2> You might have "Load external resources from trusted senders" turned on in your mail settings.

[https://mail.google.com/support/bin/answer.py?hl=en&ctx=...](https://mail.google.com/support/bin/answer.py?hl=en&ctx=mail&answer=145919)</comment>


The human hands behind Google's money machine - <AUTHOR> http://www.nytimes.com/2008/06/02/technology/02google.html?adxnnl=1&adxnnlx=1212393866-aH/XdgS32CzIlhJe6+Ax6Q

<comment><USER2> "Google still earns 60 percent to 70 percent more on average than Yahoo on every search"

That's bad for advertisers, and good for Google. Yahoo! remains a better advertising vehicle for my clients, with 20-30% less CAC.

<comment><USER3> I think it might be good for both, if Google targets better. It may depend on the industry -- what kind of products do your clients advertise?

<comment><USER2> How is it good for my client to spend 30% more to acquire a customer? Google champions the fact that their ads produce more $ for them (than comparable products from Y!/MS), which is good only for them and their shareholders. I don't see how the product matters in this regard. It's all about ROI and unless these Goog customers are more apt to buy again and again it's not worth it.

<comment><USER3> That's why I wanted more details. It's implausible to me that so many people would choose Google over Yahoo if Google delivered worse results for more money. I'd also be confounded at Google's ability to do so while hiring so many smart people. Perhaps Google delivers more purchases per click, or more repeat customers (they are worth something, aren't they?). Perhaps Yahoo is particularly good at certain kinds of clients (that's why I asked).

<comment><USER2> I could see people choosing the Goog for the sheer numbers. There's simply more inventory (impressions). But with clients who have a budget and therefore aren't maxing the inventory, this advantage is lessened.

<comment><USER3> How did they choose Google when Yahoo was bigger?</comment></comment></comment></comment></comment></comment>


Wikipedia vs. the Brittish govt. on Child Pornography. - <AUTHOR> http://www.theinquirer.net/gb/inquirer/news/2008/12/08/wikipedia-blacklisted-child

<comment><USER2> The Inquirer is a pretty crappy news site, with a really weird spin on everything.</comment>


The UK Royal Society, a Case Study – Risks of GMOs Systematically Misrepresented - <AUTHOR> https://www.independentsciencenews.org/health/the-uks-royal-society-how-the-health-risks-of-gmos-have-been-systematically-misrepresented/ <comment><USER2> It's not a good look. The fact is, the issue that is at the heart of this is commercial confidentiality about many of the processes that are employed in the creation of GMO products. Because it is confidential, the only studies that get released by the GMO creators are ones they they view as successful.

The only way to resolve this is to require all studies to be independently conducted and all research to be publicly available, regardless of whether it is positive or negative. Therefore the only solution to adequately determine the safety of these products is expensive. Which is why no one does it. Until this requirement is legislated we will continue rolling dice.

<comment><AUTHOR> Yes. There is a good saying "It is difficult to get a man to understand something, when his salary depends upon him not understanding it.".

The continued success of GM research and their commercial interests depend heavily on positive opinions and outcomes. It should be simple to see that this can lead to suppression of negative issues.

You can also realize from this that something else can happen; over-promotion of positive outcomes and projections.

Once you start to analyze the GM landscape with these ideas in mind, you start to understand and see that the discourse is currently heavily biased towards promoting only one side of the coin.</comment></comment>