HNHacker News
TopNewBestAskShowJobs

arielb1

213 karma · joined January 4, 2015

submissionscomments
arielb1··on Gitless: a version control system
gitless gives each branch its own separate worktree (see `git worktree`), and saves/restores them when you switch branches.

Also, there's no harm in creating "temp" commits. If you are having multiple branches, you probably want to give your current state a name - which is what a "temp" commit is.

arielb1··on Gitless: a version control system
How are `git reset` and `git revert` related? How are `git fetch` and `git cherrypick` related?
arielb1··on Gitless: a version control system
By that, AFAICT they mean "a branch, in addition to being a commit pointer, contains all the files in the working directory".
arielb1··on On Phone Numbers and Identity
2FA is supposed to be 2-factor authentication: a password and a phone number. If you allow the phone number to reset the password, it becomes 1-factor authentication.
arielb1··on Rebase and merge pull requests
I find terraform's git log to be more readable. You can get a quick overview for which commits corresponds to which feature by following the first-parent chain.
arielb1··on Teaching Concurrency (2009) [pdf]
Pick a reference frame. Sample the state of each CPU on its clock edge. Now you have a sequence of transitions.

The sequence is heavily non-deterministic, but that's life in a concurrent universe.

arielb1··on Teaching Concurrency (2009) [pdf]
No. If the problem is computational resources, performance can't be increased by mere concurrency (while even completely deterministic STM-style parallelism would help).

Concurrency improves performance when a process accesses both the same computational resource and some other high-latency sharable resource.

arielb1··on How Dropbox securely stores your passwords
nitpick: encrypt-then-MAC is an AEAD construction.
arielb1··on How Dropbox securely stores your passwords
Having the SHA-512 hash at the beginning simplifies the implementation because the "security" code only needs to handle 64-byte random strings (which are truncated to 54-byte strings for `bcrypt`, but still...). That removes all sorts of stupid edge cases that come with variable-length strings.
arielb1··on How Dropbox securely stores your passwords
Even hex-encoding for 288 bits of entropy is plenty good enough.
arielb1··on How Dropbox securely stores your passwords
What's the problem with `H(salt||H(pepper||password))`? If `H` is a good PRF, it should work fine (you want `KDF(salt, H(pepper||password))` to protect against guessing attacks).

In any case, if you pepper is exposed and you don't have a good pepper rotation scheme, you are no worse than if you started with no pepper at all.

arielb1··on Investing for Geeks
Except that security standards are mostly driven by compatibility with all sorts of edge cases (ancient versions of software! COBOL-bound CAs! tiny smart cards! huge distributed systems!) that are probably not relevant to your case and create big random security holes.

If you have a reasonable way of distributing software updates, signed-DH with an AES-based AEAD with termination detection for transport authentication, and a signed hash tree for data authentication, is going to be more secure than RANDOM_SECURITY_STANDARD.

Thankfully, there are some good well-written implementations of that (https://www.tarsnap.com/spiped.html, https://nacl.cr.yp.to), but picking a standard randomly will not get you them.

arielb1··on Tesla Wins Contract to Help Power the California Grid
That's because a blackout costs the customers the same tens or hundreds of millions.
arielb1··on Enough with Basic Income
Universal healthcare is probably a good idea. And while it is a form of basic income, it feels fairly orthogonal to it politically.

I'm not really sure why an "old age and unemployment" security net is intrinsically more politically stable than a "basic income" social security net. You need some deal of political cleverness to implement both.

arielb1··on Enough with Basic Income
So the problem with San Fransisco is too much people chasing not enough houses, and your solution is to pay people to buy houses?
arielb1··on Command-line tools can be faster than a Hadoop cluster (2014)
Fancy highly-scalable distributed algorithms have that annoying tendency of starting at 10x slower than the most naïve single-machine algorithm.
arielb1··on Things I Hate About PostgreSQL (2013)
JSON is just as much rooted in math as SQL tables - it is `fix T = FiniteMap String T` plus a few primitive types, while SQL is `Collection (Set [String])` plus a few primitive types.

Of course, SQL has a nice efficiently-implementable algebra of set comprehensions, which may or may not be interesting for your particular use-case.

arielb1··on Apple Is Said to Be Rethinking Strategy on Self-Driving Cars
The iPhone is a pocket PC with a phone bolted on. The phone part can remain be just as boring and utilitarian as ever - I think my "phone" experience might have even been better with a Nokia.
arielb1··on Airbnb Adopts Rules in Effort to Fight Discrimination by Its Hosts
Why loss aversion? People don't want a black person in their home because they believe that black people are more likely to mess up their home than white people. They would rather not rent out their home at all.
arielb1··on The Correct Way to Validate Email Addresses
No it doesn't. You can perform the first pass of salted hashing on the client-side.

This should not harm security, but it can improve it if someone on the datapath is logging requests but does not alter them.

arielb1··on Who's on call?
If you can't pay enough to find someone competent to be on-call, you have to do without. That's life.
arielb1··on Facebook recommended that a psychiatrist’s patients friend each other
If there is one thing our world does not lack, it's amoral people. Would you prefer that Facebook only hire them?
arielb1··on The Myth of RAM (2014)
"RAM+arithmetic"-style complexity analysis in terabyte-scale-and-above problems is unable to distinguish between very practical and absolutely impractical algorithms. "square-root ideal cache hierarchy + arithmetic" has much better distinguishing power (for parallel programs, you also need to remember to bound throughput, e.g. Bernstein's area*time, for similar reasons).
arielb1··on The Myth of RAM (2014)
You can say everything is O(1) because nothing would ever take more than `2^128` seconds. In practice, O-notation means "with a reasonably small constant".
arielb1··on TCP Puzzlers
Yeah. The other way around.
arielb1··on TCP Puzzlers
Puzzler #3 does not have much with using a half-closed socket - you still have a socket that selects as writable, but is not connected to anything.

For some reason I remember that when a process crashes the OS's TCP stack sends an RST to the opposing side, rather than a FIN, preventing puzzler #3.

arielb1··on TCP Puzzlers
Puzzler 1 is when a machine goes down and stays down, and you hang or retransmit until a timeout. Puzzler 2 is when a machine goes down and then comes back up, and you get reset.
arielb1··on “It's The Future”
Docker contains the effects of sucky programming to a single container. If your programs follow best practices, systemd is just as good.
arielb1··on A Conflict-Free Replicated JSON Datatype
If you have an API on a shared data structure, either you have distributed locking or you have conflicts. Distributed locking sucks, but CRDTs only prevent conflicts from messing up your data structure, not from existing.
arielb1··on The 39th Root of 92
It's not like you are making tight fits with wires anyway, a millimeter here or there won't matter.

However, using something like the E12 series would work pretty well.

← PreviousPage 2 of 4Next →