HNHacker News
TopNewBestAskShowJobs

thinkmoore

292 karma · joined June 14, 2013

I'm a Principal Scientist at Galois. I study the intersection of Programming Languages and Security: how can we use language design and formal reasoning techniques to build secure software. My CV is online at http://thinkmoore.net.
submissionscomments
thinkmoore··on Let's Build a Modern Hadoop
Still trying to wrap my head around the idea that 10 year old software is not "modern."

That said, I have no opinion on this article.

thinkmoore··on A/A testing
You might be interested in the statistical technique called "bootstrapping": http://en.wikipedia.org/wiki/Bootstrapping_(statistics)

The "A/A" method described is not a terribly robust way to estimate variance, but the basic idea of using subsamples to estimate variance is what bootstrapping does more systematically.

thinkmoore··on Npm install could be dangerous
We haven't developed far enough for a package store at this point, but this is one of the use cases we're hoping to explore as part of our capability-based shell scripting language: shill-lang.org.
thinkmoore··on Npm install could be dangerous
While that may be true for an unrestricted language, it doesn't need to be true of the programs we design. There's no reason that an installer needs to be written in a completely unrestricted way. NPM could use a DSL which would make it possible to review what an installer is going to do.

This is an idea I (with some collaborators) have explored in a more general way for secure shell scripting: shill-lang.org.

thinkmoore··on Optimizely Statistics Engine
Apparently that might be the case. I mean the problem with multiple hypothesis testing is not exactly rocket science...
thinkmoore··on Optimizely Statistics Engine
It's also not clear what has been "reinvented," unless of course you mean re-inventing things that have already been invented.
thinkmoore··on Optimizely Statistics Engine
You keep using that word "classical." If by "classical" you mean frequentist, then sequential testing is the appropriate frequentist method to have been using all along. If by "classical," you mean "old and established," then sequential testing is still the appropriate method to have been using all along.
thinkmoore··on Optimizely Statistics Engine
What's so particularly embarrassing is that you clearly did not have any competent statisticians on board until now. This was not some big surprise that needed "a lot of resources to fix." This is something that should be obvious to anyone who understands hypothesis testing, and is something that statisticians have been describing how to do correctly for over 50 years: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1551774/
thinkmoore··on Quantum OS - OS based on Linux which conforms to Material Design guidelines
What window manager/etc is http://i.imgur.com/7Tu2i6W.png?
thinkmoore··on Shill: A Secure Shell Scripting Language
Fundamentally, it's not an issue of syntax. The problem is that the way commodity systems are set up, the capabilities of a script or program come from the environment in which it is run. There is no way that a user can easily tell what a script will do, even if it isn't malicious or doesn't have a code injection vulnerability.
thinkmoore··on Shill: A Secure Shell Scripting Language
Developer here, happy to answer any questions.
thinkmoore··on The most overused logos, at the moment
Maybe companies should pay for good design instead of paying as little as possible for people to enter "competitions"? Good design takes time. Good designers should be compensated.
thinkmoore··on Egison: A Lisp Written in Haskell with Advanced Pattern Matching
Or there is Racket's wonderful pattern matching library: http://docs.racket-lang.org/reference/match.html
thinkmoore··on Experiments at Airbnb
Yes, I'll agree with that. Just warning about throwing the baby out with the bath water. Applying quantitative decision making tools is worthwhile, being picky about it can protect us from our emotions and preconceptions.
thinkmoore··on Experiments at Airbnb
No, it doesn't. It means that there is a 1 in 20 chance that you would have seen results as good or better if your change had no effect (assuming a standard one-sided hypothesis test). Thus if the effect appears to be good, you should take the test as some evidence that it is worth implementing.
thinkmoore··on Experiments at Airbnb
Unless random high bias means your "edge" is exactly the opposite.
thinkmoore··on Experiments at Airbnb
Statisticians have spent time thinking about the right way to deal with these sorts of problems for a long time: https://en.wikipedia.org/wiki/Sequential_analysis.

Funnily enough, the page they reference for calculating the right sample size actually talks about sequential analysis, but AirBnB doesn't mention this in describing their solution...

thinkmoore··on C--
From my personal experience, LLVM is tied a bit to closely to the C ABI, which makes it difficult to implement some FP features cleanly. One example is forgoing C's stack discipline to implement double-barreled continuations.
thinkmoore··on LLVM Intermediate Representation is better than assembly
LLVM IR is not strongly-typed in the way TAL proposes. Plenty can still go wrong.
thinkmoore··on Estonian E-Voting Source Code Made Public
There has been significant work in the academic community about electronic voting schemes. For example, Civitas (http://www.cs.cornell.edu/Projects/civitas/) is a voting system developed by researches at Cornell that provides universal verifiability, voter verifiability, anonymity, and coercion resistance. It is also implemented in a security-typed programming language, which provides additional guarantees about the correctness of its implementation.
← PreviousPage 3 of 3