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 Wayland Isn't Going to Save the Linux Desktop
IMO application sandboxing is very important, something that everyone should be able to take for granted in 2022. But the right approach is usually virtualization. If you omit functionality that people want, they come up with an (insecure) workaround and the workaround becomes required for common applications to work. If you deny requests by a program when policy does not permit them, by laziness or malice applications will require excessive permissions to function, and users will comply to get their apps working. Instead, every API must appear to be working to the greater extent possible, but sandbox all important effects and coeffects by default. So eg attempting to screen share from a program not authorized to do so either (a) prompts the user what to share or (b) shows an empty desktop with just that program.
voidmain··on Warp: Lightweight Multi-Key Transactions for Key-Value Stores
FoundationDB does interactive transactions.
voidmain··on PCLSRing: Keeping Process State Modular
In the modern, multicore world, it might make sense to make all system calls asynchronous, sort of like io_uring: you make one userspace call (which might or might not switch to kernel mode) to "start" the operation and then later you can wait for one or more to finish. You can construct a blocking call by doing these operations sequentially, batch calls by starting several operations and then waiting, or write an event loop for async programming. And in many cases another core could handle the system calls eliminating context switches. But in this model the only blocking operation is waiting, so "PCLSR-ing" is trivial.
voidmain··on Real Problems That Web3 Solves, Part 1
The new hot take (I heard it from Matt Levine, I think, but I doubt it's original to him) is that pyramid schemes solve the adoption problem for technologies with network effects.

Everyone would be better off with better identity management, but it's not worth anyone's time to be one of the first users of a system with no sites supporting it or one of the first site supporting a system with no users. The web3 version of this will be something where if it takes off the first adopters get super rich at the expense of late adopters, and that makes it take off.

Similarly, conventional profit models incentivize the creators of a technology to make it as centralized and locked in as possible, so that they can profit off it over time. The pyramid scheme business model incentivizes the creators to make a decentralized and open system, so that they don't have to do any work over time once it takes off.

Is this the special kind of stupidity that only really smart people can aspire to, or the special kind of genius that only really stupid people can? Time will tell, I guess.

voidmain··on Fingerprints can be hacked
Biometrics are not secrets (it must be assumed that attackers always possess all biometric data), but they can nevertheless be a good form of authentication when combined with situational awareness. If you try to use one of these hot glued fingerprints in front of a security guard, it isn't going to go well for you.

At the moment, humans are still necessary for situational awareness, but probably machines can get there pretty soon. A phone, for example, that monitors its surroundings continuously and has enough intelligence to reliably distinguish normal access by its owner from duress or the presentation of fake biometrics seems like it's within reach of current technology (though it doesn't actually exist).

voidmain··on Analogue OS – Explore video game history
At Antithesis we are pretty calm and working on very interesting stuff. (You would have to relocate to the DC metro area, though.)
voidmain··on Maintenance windows are a mistake
I've recently been wondering about the opposite. Maybe the whole Internet should be brought down for a couple of weeks a year, so that society can't become totally dependent on it. Your thermostat shouldn't require a cloud service to work!
voidmain··on Zerotier – multiple vulnerabilities lead to private network access
As I read TFA, the attack would take ~128 GPU-years to break most or all ZeroTier addresses, not per target. And the author says that there is plenty of room for optimization. And fpga or whatever might be much cheaper than GPU. And "attacks only get better."
voidmain··on Show HN: Age 1.0 – Simple, modern and secure file encryption
I think this is dangerous to use for many of the use cases that it would appear useful for, especially for any form of backups. By design, it protects the confidentiality of encrypted files but not the integrity, and in almost every real threat model this is a serious flaw. The authors are not interested in changing this (they have closed various issues asking for it and clearly documented their position) so you should probably not use it unless you understand the issues well enough to be confident that is safe for you or can solve the problem using a second tool for signing (which will also cost you streaming).

I am not any kind of expert in this field, so you are not obligated to listen to me... but I am still right.

voidmain··on Larry Page: “I think we should look into acquiring YouTube” (2005)
This usage is indeed very common, but it is always meant and understood hyperbolically, and the meaning of the word relied on by the hyperbole is just M-W's sense 1.

To see this, remove the word "literally" from such a sentence. You are generally left with a statement that is still hyperbole or metaphor and not literally true. Which word are you going to redefine in a sentence like "It turned the world upside down." to enable you to interpret it literally? If you understand it as hyperbole, why does adding the word "literally" require any special meaning for that word?

Conversely, if you believe that the word "literally" literally can mean "not literally", in the same way that, say, "cleave" is an auto-antonym, it would authorize statements like

  (*) When you use metaphor, you are speaking literally.
  (*) What I said was the plain truth, but John took it literally.
which I think you will agree are not standard usage.

Moreover, if you replace the word "literally" in a sentence like

  "It literally turned the world upside down."
with something that means "not literally", like

  "It figuratively turned the world upside down."
it changes the meaning. The first sentence is hyperbole and the second is awkwardly literal.

I understand the desire of lexicographers to document this usage, which is as you say common (and legitimate) and seems to confuse people, but it's just not a different meaning of the word.

voidmain··on Larry Page: “I think we should look into acquiring YouTube” (2005)
They are wrong. Native speakers just don't use definition 2 in a literal way. Maybe this usage will evolve (now that the dictionaries are wrong) but it doesn't explain any of the common usage.
voidmain··on Larry Page: “I think we should look into acquiring YouTube” (2005)
Sean Hou's answer in that Quora thread is the correct one. The word "literally" never means "figuratively" or "hyperbolically", but it can (like any other word) be used figuratively or hyperbolically. By analogy, someone can dishonestly say "Honestly, I didn't do it," when they did. This doesn't change the meaning of the word "honestly". There are no words in English that cannot be used in a lie, and neither are there any words that cannot be used in hyperbole or metaphor. You can, if you like, dislike hyperbole (I dislike dishonesty!) but there is no use worrying about the meaning of the word.
voidmain··on Show HN: A strongly-typed document DB that runs on any transactional KV store
Consider thinking of index maintenance as part of your storage mapping layer. Basically you have redundant storage plans for the same schema. There is nothing particularly special about primary row indexes - that is just one physical representation of your schema, as are all indexes. You could have, say, a column oriented representation of the same data instead, or a covering index, or all of the above.
voidmain··on Show HN: A strongly-typed document DB that runs on any transactional KV store
This looks really cool!

Perhaps you should show some nontrivial examples of (read) queries in RefineASM.

Also, what are your plans (if any) for non primary indexing? Storage plans seem like a good fit, but will you transform RefineASM to maintain the indexes or what? What about using the indexes?

voidmain··on Apple's plan to “think different” about encryption opens a backdoor to your life
This seems less concerning than the fact that iCloud backup is not end-to-end encrypted in the first place.
voidmain··on FoundationDB: A distributed, unbundled, transactional key value store [pdf]
It's not a very good analysis. The only reason there isn't a good OLTP SQL engine on top of FDB is that no one has invested the considerable resources and expertise to build one. The FDB SQL Layer was on its way, but Apple prioritized other things. Snowflake built a world class analytic SQL database on FDB and the door is still open for someone to do OLTP. There might even be room for two different designs (one more like Akiban/SQL Layer or F1, competing with Spanner, and one more like Aurora, with a more familiar performance envelope but slightly less scalability)
voidmain··on Apple reportedly dropped plan for encrypting backups after FBI complained (2020)
Apple has a publicly documented solution for Keychain involving HSMs, which I think makes decent default tradeoffs between recoverability and security. And of course they could, and once did for local backups, offer an opt-in unrecoverable passphrase option. On the face of it they have decided to favor law enforcement over their customers here.
voidmain··on The Strange Costumes of the Plague Doctors
Modern particulate filters are pleated: you take a thin filter material that is effective at blocking particles but hard to get air through, and then fold a bunch of it up in a small space to increase the surface area and decrease the pressure drop required for air to flow through it. If you don't have a suitably thin material or don't have this technique, increasing the surface area by, say, making it into a big cone would probably also work.

The miasma theory isn't quite right, but it could conceivably have provided a half decent rubric for designing a working particle filter: at least some unpleasant smells are carried by particles. (Burning incense inside the mask is an example of where this theory might lead you off course.)

voidmain··on WasmBoxC: Simple, Fast, and VM-Less Sandboxing
> Spectre V1 (speculative bounds check bypass / type confusion) is basically game over for intra-process memory isolation without introducing expensive or complicated mitigations

Code which is executed deterministically cannot receive timing channels (or, indeed, learn anything about its environment) and hence cannot exploit Spectre. This seems potentially practical for this sort of library sandboxing problem.

voidmain··on The lockdown is expensive and may well not work. Here’s why we should try anyway
This story has been repeated a lot but (I am pretty sure) doesn't make sense.

It's true that the difference between good health care and totally overloaded hospitals could be a factor of two or more in the CFR.

But the difference between hospitals overloaded by a factor of ten and hospitals overloaded by a factor of twenty isn't.

If this disease has hospitalization, critical care, and death rates as high as it appears to (these rates are really hard to measure in the middle of a fast growing epidemic with inadequate testing and lots of variable lags, but we have e.g. Diamond Princess and South Korea to extrapolate from) and it is allowed to infect almost everyone, "bending the curve" until hospital capacity is not utterly overwhelmed would take years and years. And require lockdown after lockdown after lockdown to keep the case count down.

If it's worth huge sacrifices to reduce R, it has to be to reduce it to less than 1, shrink the epidemic to a manageable size, and then implement a massive testing and tracing operation which in combination with hygeine (masks!) and less costly social distancing (and eventually vaccines) hold R below 1 forever. Asian countries appear to have succeeded with this approach, so there is reason to think it isn't impossible. But without that follow up, or without reaching R<1, lockdowns can only delay the inevitable and will save a negligible number of lives.

voidmain··on Severe Outcomes Among U.S. Patients with Covid-19, Feb 12–Mar 16, 2020
I'm no industrial chemist, but from a glance at the chemical formula [1], I'm going to guess that it could be produced by the trainload (provided that you shoot the FDA first, which we should have done on the first day of the epidemic judging by their track record so far)

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

voidmain··on The hard part of the economics of Covid-19
At an R0 of 2, with no interventions, eventually half the population has had the virus and (hopefully) gained immunity. Now each person only spreads it to 1 other person, because the other person they would have infected is immune. (If R0 was 1, the epidemic would end as soon as the next person in the chain is immune.) This is where the people saying that the virus will definitely eventually infect 70% of everyone are coming from.

Re is effective spread rate, taking into account natural immunity, vaccination, contact tracing, etc. By definition, if Re>1 the epidemic is growing exponentially and if less it is shrinking.

voidmain··on The hard part of the economics of Covid-19
This touches on another hobby horse of mine. Our society, both legally and as a matter of cultural habit, tends to prefer inaction to imperfect action. The fallacy, a sort of dual to the better known "We must do something, this is something, therefore we must do this", seems to be

1. Perfection is better than imperfection

2. All our options are imperfect

3. Therefore, we will do nothing

I am almost sure that our society, even without prior preparation, could physically produce huge numbers of "more effective than nothing" masks (especially for protecting others from the wearer, which is easier) very quickly at, say, 10x the cost (because you are recruiting less than ideal resources, like factory lines designed for other things that need extra labor) and 75% effectiveness (because you aren't applying the usual extremely strict standards that apply to NIOSH masks or whatever). Even if everyone taped a paper towel or sock over their face I bet it would reduce large droplet transmission by 50%. But we are not able to do so, because

1. These masks would cost more than masks used to cost ("price gouging!"). Imperfect.

2. They wouldn't work as perfectly as physically possible. Imperfect.

3. Some people would make money selling fake masks or whatever in the confusion. Imperfect.

4. We already made a bunch of regulations mandating perfection and no one wants to take responsibility for removing them

and maybe also

5. The people who should have stockpiled masks (edit: in the government or medical supply chain, I'm not saying individuals should have thought of this!) would have to admit their mistakes

So, "we" lie to people that masks are useless (charitably, so doctors can have more; uncharitably, because 5) and do nothing.

voidmain··on The hard part of the economics of Covid-19
I think that approach is exactly why contact tracing didn't work. A virus that spreads as contagiously and stealthily as this one means that contract tracing alone is not able to achieve Re<1. Eventually (in the case of Washington state, apparently with the first known case?) someone escapes your net and then exponential growth does its magic, because you aren't decreasing Re for anyone not already in your contact graph. (CDC refused to test anyone without a clearly documented link to Wuhan)

A working version of this that actually affects the asymptotics rather than just buying you a few weeks at best has to be able to identify new case clusters while they are small, and then find and isolate a significant fraction of the cases (working backward as well as forward). Table stakes for this is the ability to test everyone with flulike symptoms who tests negative for flu (and flu tests have horrible sensitivity, so that is a lot of people). As I see it from my comfortable armchair, CDC should have made sure long before the epidemic that the RT-PCR capacity to do that existed (doing other work at private and public labs) and could be recruited and online to do this within a few days of the virus being sequenced. You also would need everyone to at least moderately change their behavior because I don't think this would be enough by itself. Simple things like not going to work sick or tolerating co-workers or employees who do seem like feasible changes with both cultural and legal levers to pull that could be very low cost and contribute significantly to Re reduction.

More speculatively, you might be able to do even better using pooled PCR tests to look for RNA in large groups, giving you a chance to spot even asymptomatic cases. Is there viral rna in sewer water or garbage? PCR amplifies exponentially, it should be able to cope with a fair amount of dilution.

voidmain··on The hard part of the economics of Covid-19
Even if the whole world was in sync, you more or less have to hold Re below 1 forever or accept that 1-1/Re of everyone gets the virus. That's basically a tautology. But Re can be affected a lot by testing and tracing when the infected population is tiny compared to your resources, and not so much when it is huge. Re could also be affected a lot if we had a vaccine, which will probably take years in the current regulatory regime but is something that might actually benefit from disparate international approaches.

It wouldn't be crazy to ask international travelers to pay the marginal cost of extra testing and/or the negative externality of spreading the virus between worse and better controlled regions.

voidmain··on The hard part of the economics of Covid-19
Also... I hesitate to say this because it smells of ad hominem, but in this view the enormous cost of extreme shutdowns is mostly the cost of a mulligan for poor decision making and actions early in the crisis. This may make this view less popular with the various organizations that made those mistakes.
voidmain··on The hard part of the economics of Covid-19
We know that sufficiently strong social distancing - and universal mask use - can reduce Re below 1, causing the epidemic to shrink exponentially instead of growing exponentially. Once it is small enough, good testing and contact tracing should be able to contribute a significant reduction to Re, so that you can back off on more costly measures.

As hard as it sounds for the economy to adapt to extreme social distancing for a short time and moderate for a long time, it seems like a better bet to me than trying to increase intensive care capacity - which already consumes a nontrivial fraction of gdp - by orders of magnitude and write off millions of lives.

voidmain··on Funding for Covid-19 Projects
Someone should look at Sterilray and Ushio 222nm KrCl excimer lamps. Light at that frequency is extremely effective at destroying viruses but probably does not cause much skin cancer or eye damage like other UV because it is absorbed so fast it doesn't make it through the dead layer of skin etc. There are at least some studies but no FDA approval or mass production. If they work these might make a big difference in transmission in public spaces, especially via surfaces.
voidmain··on eBay bans sales of face masks and hand sanitizers to combat price gouging
In fact, at least one study has found plain old surgical masks noninferior to N95 masks for preventing infection by flu (others have found them a little worse, and that's probably the smart way to bet). Common sense suggests that anything that prevents you from touching your mouth would help at least a little.

There is a difference between the best tool for the job and better than nothing. Our civilization has a dangerous habit of mandating the best tool for the job, and then unnecessarily suffering with nothing in an emergency.

Moreover, even if the party line that coarse unsealed masks are completely worthless at protecting the wearer from infection were true, it would still make a big difference in the rate of spread of the virus for everyone to start wearing masks! Who cares what the private benefit is when there is definitely a public benefit? And yes, we could make plenty of masks for everyone if we weren't crippled by regulation, hatred of supply and demand, and the attitude that inaction is better than imperfection.

voidmain··on Stanford Medicine COVID-19 test now in use
Realtime PCR isn't sequencing. It increases the concentration of the targeted sequence exponentially, so it "should" take only logarithmically more temperature cycles to handle a smaller concentration of virus . If that is actually a big contributor to the testing cost, it would make the log in my analysis into a log^2.
← PreviousPage 4 of 14Next →