Hacker News new | past | comments | ask | show | jobs | submit | adolgert's comments login

A select statement, in this case, looks like a ternary in C, "y = (x > 0) ? 1 : 0". In FHE with integers, it's evaluated by making a large polynomial all x <= 0 become 0 and all x>0 become 1. Once you have y, you evaluate both halves of the if-then but multiply one result by y and the other by (1-y). Then add them.


When I find myself nervous about a meeting, I go back to this book and outline the steps it suggests, not just the gist of it, but I walk through the steps. It's like having a colleague who wants to help you be a better person.


Famine is caused by _local_ supply shortages. The Dust Bowl in the US was a 30% wheat shortage, but it can happen from even less shortfall if transportation is a problem. The US weaponized wheat stem rust against Russia's wheat crops during the cold war, and they were hoping the weapon would reduce total yield by 15% in order to cause major damage.


Source on that?


Kirby and Carus (2020) “Agroterrorism Perspectives”, in Mauroni and Norton, eds., Agroterrorism: National Defense Assessment, Strategies, and Capabilities. U.S. Air Force Center for Strategic Deterrence Studies. Page 9: https://www.airuniversity.af.edu/Portals/10/CSDS/books/Agrot...

> During the Cold War, the United States devised Operation Steelyard, a plan to destroy 50 percent of the Soviet Union’s winter wheat using wheat stem rust (TX) mixed with feathers (known as the M1 carrier). If the president approved Steelyard, Boeing B-29 Superfortress bombers were to drop M115 500-pound “feather” bombs filled with TX in a 60-day campaign starting in March. The Air Force forward-deployed empty M115 bombs to RAF Lakenheath and Wheelus Strategic Air Command (SAC) airbases for this purpose. The M2 two-pound containers would be airlifted to the Air Force from the TX stockpile at Edgewood Arsenal, Md. TX required an annual revolving stockpile as it had a half-life of eight months. Rye stem rust (SX) was added to augment the inventory. Steelyard was the first operational biological war plan of the United States in 1952 with a stockpile of 0.8 tons TX and SX. Secretary of Defense Charles Wilson made Steelyard a standing capability in 1954 with an arsenal of eight tons of TX and SX.


This is a great reference! There is also an entry in the congressional record on declassification of the data. And 3 scientific papers. If you know more, send me a note. I worked in the area of rust spread and have always wanted to learn more about this.


I only know what I found in 10 minutes of web searches, sorry.



I didn't mean to drop that comment and leave. I learned about the weaponization from Ft. Dietrich people. The group that worked on this is long since retired. They published three papers around 1950, as three parts, that are about 1. the largest study of spread of rust fungus outdoors 2. storage of rusts and 3. response of rust to weather. All useful for stopping rust on a crop. And I see someone contributed references that are more direct than my scientific ones. I was working on prevention of rust spread.


Does anybody remember the software that wouldn't let you install until you gave it the name of an endangered animal in a given part of the world? I ran into this on Unix in 1988. It would ask, for instance, for the name of an endangered marsupial in Argentina, and you had to go look that up. I always thought the O'Reilly covers came from this, but apparently not.


Dumb question: I've put points on a sphere using a Fibonacci series, then relaxed them and triangulated them, and there are some 5's and 7's, not all hexagons. I thought an all-hexagon tiling wasn't possible. How do they do it?


There are 12 pentagons conveniently placed over water. The docs are a pretty interesting read. https://eng.uber.com/h3/


That is a clever solution! For a transportation company at least.

I wonder what happens if an artificial island and a major city pops up in one of those pentagons - presumably a fun tech debt to tackle :)


There’s a 2018 blog post from Uber Engineering[0] which has more technical details about the system, and explains:

> Since it is not possible to tile the icosahedron with only hexagons, we chose to introduce twelve pentagons, one at each of the icosahedron vertices.

0. https://eng.uber.com/h3/


They distort the hexagons as you go further north.

https://observablehq.com/@four43/h3-index-visualizer

https://imgur.com/a/SgDfJkG is an example


The warping you’re observing is a result of the projection used to display the map on a 2D screen. They actually do use pentagons to solve the tessellation issue.


Mutation testing looks really fun until you use it. It has two problems, that false positives and false negatives abound, and that it doesn't scale well as code gets larger. Suppose you modify code, then how long does it take the mutation testing framework to retest the relevant code? On the other hand, mutations can do a good job of estimating test coverage. In particular, they can help to prioritize tests by finding tests that cover the most mutations.


I agree with you! I only used it on a minor part of the code such as services. It can help people to understand why they are testing


"...understand why they are testing." That's interesting. There is an information-theoretic measure for test quality that asks how effective a test is by asking how closely it examines a test output. For instance, does it "smoke test" that the output isn't NULL, or does it look at a returned data structure and enforce invariants in detail. It's the flip-side of asking in how much detail a test exercises the code. Well, keep having fun. Testing is a great way to think about code.


This article is interesting in context. You're trying to select tests to run. Instead of using educated guesses about parameters (combinatorial interaction designs), you're going to look at the system under test. You could generate lots of tests and see what worked by looking at coverage of those tests (line coverage or mutation coverage). Instead, you'll analyze the code with symbolic execution and make choices. Klee seems like best-in-class for symbolic execution. A more popular alternative these days is concolic execution, which combines concrete execution with symbolic constraint solving. That's in Pex and Intellisense.



Dijkstra has a certain tone. He can make his opinions sound almost like a mathematical proof. But when you dig into it, he just says 0-based is "nicer".


The points he makes are so extremely minor... You could just as easily say that natural language and mathematical convention are index-1.


I never understood the fascination with preferring "the element at zero offset from the start" to "the first element" - and I don't think djiskarta makes a compelling argument.


The Fluent Python book has a nice set of chapters on coroutines, futures, and async.io. They present not the whole of what it does but one way to do it, which helps.


bash Pocket Reference. I keep a stack by the office door, sort of like a candy bowl.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: