HNHacker News
TopNewBestAskShowJobs

voidmain

1,781 karma · joined July 17, 2009

Software engineer, entrepreneur

Co-founder of Antithesis

Co-founder of FoundationDB

Co-founder of Visual Sciences

submissionscomments
voidmain··on Stanford Medicine COVID-19 test now in use
Why can't RT-PCR tests be used to detect virus in a sample mixed from a large number of individual samples? This would enable cheap and accurate mass testing, since you can find P positives from S samples with O(P*log(S/P)) tests. What's the catch?
voidmain··on A backup rotation filter for the Unix shell
gpg is widely agreed to be a train wreck, but age is not generally suitable for encrypted backups because it doesn't offer any form of authentication (so an attacker can replace a backup with a malicious one).
voidmain··on My Covid-19 Story in Brooklyn
My understanding was that prior to Friday, CDC Atlanta's comically limited RT-PCR capacity was backlogged even under the "see-no-evil" testing criteria, and that approximately no other labs were able to do tests (since validation of the CDC issued tests failed). If there was also unused lab capacity that is good to know, do you have a source?
voidmain··on My Covid-19 Story in Brooklyn
Some clarification based on what I've been able to put together (caveat: I'm not an expert in this area)

The CDC developed a testing protocol (crudely, a set of 3 conserved RNA sequences of the virus to chemically "grep" for). The protocol is here [1] and I think anyone with suitable equipment (an RT-PCR machine and an oligonucleotide synthesizer to make the primers and probes?) could run tests using just the information on that web page, though they would probably also want known positive samples of the virus to validate against. And there are lots of labs with suitable equipment. But as that page says, it is not legal to do this clinically.

The CDC also sent out test kits [2]. These are just vials of primer/probe pairs synthesized from the short sequences on the above page, and a fake positive control to validate with. These were authorized by the FDA, and so are legal to use. But apparently somehow they screwed up the production of primer #3 (or maybe the sequence itself is wrong), and so almost all the labs were not able to validate the test. After several weeks the CDC has still not fixed this problem, but labs are now allowed to run tests using just primer 1 and 2, so testing capacity is rapidly increasing (though of course who knows how sensitive or specific the tests are).

The federal organization preventing labs from running tests is the FDA [3], not the CDC. It is also the FDA who would have to approve the commercially produced test kits.

[1] https://www.cdc.gov/coronavirus/2019-ncov/lab/rt-pcr-panel-p... [2] https://www.fda.gov/media/134922/download [3] https://www.fda.gov/emergency-preparedness-and-response/mcm-...

voidmain··on My Covid-19 Story in Brooklyn
The guidelines for testing were so absurdly stringent because there was almost no testing capacity in the US, despite their being hundreds of labs with RTPCR equipment, because the CDC screwed up their test kits and the FDA used emergency powers to prohibit labs from developing their own tests, and forbids the creation of commercial test kits and the importation of foreign ones. Three weeks after CDC (after an already unconscionable delay) shipped the non working tests, they have "fixed" this situation by permitting labs to use the 2 of the 3 primers in the original test that mostly work. So as of yesterday we are starting to have the ability to actually test, and the criteria are being loosened.
voidmain··on AI is mostly about curve fitting (2018)
P=BPP would contradict the extended Church-Turing thesis. Quantum computers can definitely be simulated by classical ones (with an exponential slowdown) so the CTT, which says nothing about performance, is not threatened by them.
voidmain··on “correcthorsebatterystaple” is guessed in less than 0.01 seconds
That is why you don't use SHA-256 (or other plain hash function, which is designed to be fast) as a password KDF (which needs to be slow).
voidmain··on uBlock Origin: Address first-party tracker blocking
The next step after that will be machine vision based transformation of the rendered output. I think as long as end users can keep control of the browser and computing device hope is not lost.

There is also the option of actively attacking the business model of the ad and tracking industry. Ad blockers could simulate lots of "fake" traffic to make ad analytics harder (this is another arms race against attempts to filter out the fake traffic)

voidmain··on More Intel speculative execution vulnerabilities
...speculation attacks, and outright bugs in TSX, and the fact that even when everything is working it's a timing mechanism that VMX can't intercept. I really hope it becomes architectural (and gains a bit for HLE)!
voidmain··on More Intel speculative execution vulnerabilities
Can we please have an architectural MSR to disable TSX?
voidmain··on My Hardest Bug to Debug (2018)
It sounds like the camera was sending match results using a blocking send or write call, and no one was reading them, so once the total size of match results exceed the total size of socket buffers the camera software blocks and stops working.
voidmain··on Shared Cache Is Going Away
Browsers could safely pull a list of very commonly requested, content addressable resources from various CDNs and pre cache it (independently of any request). That would even help with first request latency, and for mobile (where bandwidth is expensive) you could do the pre caching on Wifi.
voidmain··on Dhall: A Non-Repetitive Alternative to YAML
How far does "non turing completeness" really get you in this context? It looks easy to write a program in this language that will take longer than the age of the universe to evaluate and whose result can't be represented explicitly without collapsing the galaxy into a black hole. How much comfort can you take in the fact that you know it doesn't diverge?
voidmain··on Superhuman: Read Statuses
The technical solution to tracking pixels isn't to disable remote image loading, it's to load all remote images when receiving the mail over smtp, and embed them in the mail. That way the sender gains no information whatsoever that they didn't already get from the smtp exchange.
voidmain··on Galactic Algorithms (2010)
The Fastest and Shortest Algorithm for All Well-Defined Problems [1]

An algorithm M is described that solves any well-defined problem p as quickly as the fastest algorithm computing a solution to p, save for a factor of 5 and low-order additive terms.

(The constants in the "low order" terms are... large. Basically this is a delightful reductio of asymptotic analysis)

[1] https://arxiv.org/abs/cs/0206022

voidmain··on CMU Computer Systems: Self-Grading Lab Assignments (2018)
When I took this class many, many moons ago, the close equivalent of the "cache lab" was graded not on the number of cache misses but on the cache hit ratio. When I pointed the problem with this metric out to a TA he blew me off. So I turned in the original code plus a loop that read the same volatile value a few billion times. It took a long time for the cache simulator to grade, but they dutifully gave me a very high grade (something like 200%) on the lab :-)
voidmain··on The cortex is a neural network of neural networks
A neural network of neural networks is... a bigger neural network. Having two or three layers of nonlinearities per "neuron" doesn't do anything qualitatively different.

There are probably lots of huge differences between NNs and brains but this article is really making the case that the brain can be modeled as a big NN, just with a few thousand times more activations than neural cells.

voidmain··on Open-sourcing Sandboxed API
If you are at all concerned about confidentiality (as opposed to just integrity) properties, you need to defend against speculative execution timing attacks ("Spectre") and other uncooperative timing channels.

Language based security like WASM can prevent untrusted code from receiving timing channels, but only by executing it absolutely deterministically and denying it anything that can be used as a clock, which definitely includes shared memory multithreading. So you would not be able to run anything originally multithreaded, except perhaps by heroic measures like a continuation passing lowering of fibers. If the code has any way to measure the passage of time, there is presently no known way to prevent it from using Spectre to read the whole memory of the process it is in.

On the other hand process sandboxing can rely on defenses provided by the operating system and hardware. These are not IMO as absolute as deterministic execution, but they are better than nothing if it's not practical to run the untrusted code deterministically.

Thus you see for example Chrome shifting its security model in the direction of assuming that anything mapped in the same OS process as untrusted JS or WASM has no confidentiality. I personally think it would be better, given the historically very limited access of JS to synchronous timing channels, to go for perfect determinism in that context. But definitely there are use cases where that isn't practical, so there is a place for process sandboxing. It also makes for a second line of defense - you can run your wasm vm inside your process sandbox, and an integrity failure of either one is not fatal!

voidmain··on RLgraph: Robust, incrementally testable reinforcement learning
Regarding testability, what kinds of properties do the tests actually assert?
voidmain··on The worst bugs (C++)
Yes, the "fixed" (multimap) version looks to have the Halloween Problem [1]. As this illustrates, const correctness is no substitute for understanding of iterator invalidation and data structure invariants in C++.

As another example, the original code could have been writted with a multiset< unique_ptr< Employee > > and a suitably modified comparator and not required any const casting to have the same undefined behavior as the original (you can access a mutable object through a const unique_ptr).

[1] https://en.wikipedia.org/wiki/Halloween_Problem

voidmain··on How a Bitcoin Evangelist Made Himself Vanish, in 15 Not So Easy Steps
The New York Times somewhat ironically won't let me read this article in private mode. "You're in private mode. Log in or create a free account to continue reading."
voidmain··on High taxes be damned, the rich keep moving to California
Gifts to charity can only be deducted up to 50% of AGI. Gifts of appreciated assets only up to 30%. If you are giving to private foundations, the limits are even lower. It is possible to carry forward excess deductions for a limited time, but that doesn't really help in the long run. If you are trying to consistently reduce your AGI to zero this approach does not work.
voidmain··on Where do Google's flaky tests come from?
Not at all. In a code path where the compiler reasons that x is definitely INT_MAX, it could simply omit this code, leaving y uninitialized and nondeterministic.
voidmain··on Super Micro says review found no malicious chips in motherboards
> Where do you see a problem with this type of response?

"It is impractical because it is a descending spiral ending in destruction for all. The old law of an eye for an eye leaves everyone blind."

voidmain··on What Happens When a Founder Is Fully Vested?
I might not have time to continue this discussion.

Try this:

If standard vesting terms make you nearly indifferent to your co founder leaving, or to being fired, then they are perfect for you and you should definitely go for it.

Otherwise, you want some other kind of agreement with your co founders. It's not likely that the ideal agreement is one you can enforce through the weak economic incentives you can put in your corporate agreements (constrained by enforceability, tax considerations, what would totally freak out later investors or acquirers, etc). You will just have to rely on loyalty, integrity, etc. And it's fairly well known that adding weak but salient economic incentives to strong moral ones has a perverse effect. I don't think I can explain this any more clearly.

(And if you can't completely trust your partners, why worry about them leaving, but not about them colluding to fire you and repurchase a bunch of your stock? And isn't the prospect of a high stakes negotiation that could blow up your company a stronger incentive than losing some predictable fraction of equity?)

No matter what you do, there will be risks. I think what balance of risks is best depends on you, your partners, and your situation. We are in full agreement that you should address this issue, in one way or another, early.

(It hasn't been that long since I've raised money from a "real VC", but who knows? I'm happy to leave that out of the conversation)

voidmain··on Why is nuclear fusion so hard?
If you let it cool, it would stop fusing. The fusion power wouldn't magically go up.
voidmain··on What Happens When a Founder Is Fully Vested?
If you think that what the corporate documents say is the only or most important possible form of commitment between founders, we probably have very different philosophies about business and probably life.

To give a related example, I've sold a company to an acquirer for whom the deal was extremely material, and for whom I was a very key employee, who tied me down for two years with nothing more or less than a promise and a handshake. They were smart: I was far less likely to leave during that time than I was after another acquisition where I had big golden handcuffs.

(Also, I have trouble understanding the "10 years later" scenario. Is the assumption that there's a founder breakup and... everyone just forgets about it and goes about their business? THAT sounds nuts.)

voidmain··on What Happens When a Founder Is Fully Vested?
Obviously, yes, if you keep going back to the well, eventually someone will betray you. And vesting will make a founder breakup easier (if the company can survive without the founder, and if it hasn't already been long enough that they are fully vested, and if you couldn't have come to a negotiated agreement). And that's a good reason to do it. Another good reason is if your cofounders are already pretty mercenary and the vesting incentive actually makes a breakup less likely.

There are good reasons not to do it too. If you work with good and honorable people, who have kept their promises to other people in their life, and who have (incredibly valuable) reputations as honest people to protect, they are pretty likely to keep their promises to you too. (Don't forget to actually discuss these promises!) Unless you unnecessarily move the decision to leave into the category of "rational economic decision" by putting a price on it. (And four years later, when that price has decreased to zero?)

Another reason is that you might trust your cofounders more than your possible future investors (they have reputational incentives too, but you don't know them yet!), and prefer not to give the latter a possible avenue to steal the company from some or all of you.

Sometimes there can be tax tradeoffs, depending on what else you are doing.

As I said, it might be a good choice to have vesting in many or even most circumstances. Everyone should carefully consider it. But "always no matter what" is not good advice.

voidmain··on What Happens When a Founder Is Fully Vested?
Yes, if you want to be able to walk away with a clean conscience, you should definitely have vesting.

That's not what everyone is going for.

voidmain··on What Happens When a Founder Is Fully Vested?
I've co-founded four companies with seven distinct co-founders, raised angel and venture funding, and had two very successful exits. I've never had vesting for any founder at any stage, and never had cause to wish for it in hindsight.

There are advantages and disadvantages to founder vesting and they are situational. Recommending it as a default may very well be good zeroth order advice for beginners, but your position is way too strong.

A start on thinking about why it might not always be the best way to keep a team together is to look up the "israeli day care study".

← PreviousPage 5 of 14Next →