HNHacker News
TopNewBestAskShowJobs

jbapple

863 karma · joined July 24, 2009

[ my public key: https://keybase.io/jbapple; my proof: https://keybase.io/jbapple/sigs/QFY2bArzQTuUr1eEV4nOm2U0rl6PFl3zjpbKKQMOuRE ]
submissionscomments
jbapple··on The Great College Loan Swindle
How would you prevent this causing increase in interest rates on student loans?
jbapple··on Bitcoin Futures Could Open the Floodgates for Institutional Investors
1000x growth would put the total amount of bitcoin more than current world GDP.
jbapple··on The Looming Decline of the Public Research University
A. It is not mandatory: https://en.wikipedia.org/wiki/National_Federation_of_Indepen...

B. https://en.wikipedia.org/wiki/Patient_Protection_and_Afforda...: "The federal government paid 100% of the cost of Medicaid eligibility expansion in participating states in 2014, 2015, and 2016; and will pay 95% in 2017, 94% in 2018, 93% in 2019, and 90% in 2020 and all subsequent years."

jbapple··on The Dying Art of Disagreement
Some people may say that the Virginia v. Black, which allowed the state to ban "burning a cross with the intent of intimidating any person or group of persons", allows the state to make "hate speech" illegal. A person who believes that might say that cross burning is "hate speech" but not a "true threat", which is what the court called it. That person would presumably then believe that some "hate speech" can be made illegal in the US, and may still be illegal in Virginia.
jbapple··on How to conduct a good programming interview
> checking for key existence is generally only amortized constant (that is to say, not constant across all lookups)

What you just described is "average" not "amortized". Amortized does not mean "across a set of representative inputs", it means "through time, even if given the same input repeatedly".

Amortized complexity is tricky sometimes. For instance, in a data structure storing a binary integer and allowing an increment operation, the number of bits flipped is amortized O(1). The same is true if the only operation is decrement. Neither is true if you have both increment and decrement!

Another example: you can change the accounting to make things amortized lower cost. For instance, a heap (aka implicit priority queue) can be said to have O(1) deleteMin by simply ascribing an extra O(log n) cost to each insert. In fact, you can say deleteMin has O(0) cost! An example of this being done in the literature is https://arxiv.org/abs/0903.4130, "Pairing Heaps with Costless Meld", by Amr Elmasry.

jbapple··on The Misguided Attacks on ACLU
How do you know that the vehicular homicide would not have happened had Antifa not shown up? What evidence do you have to indicate this?
jbapple··on RethinkDB: why we failed
948 points by v3ss0n 185 days ago, 267 comments:

https://news.ycombinator.com/item?id=13421608

jbapple··on How I didn't become a SoundClouder
The CTO who made the phone call appears to be Artem Fishman: https://techcrunch.com/2017/01/12/soundcloud-co-founder-take...
jbapple··on Grsecurity: Potential contributory infringement and breach of contract risk
> In the US for example, you have the right to free speech. But except in very unusual circumstances, your employer can fire you for exercising it.

Are you sure about this? Are you an attorney? I am not.

I ask because it was my impression that, more than each individual having a right to free speech, each individual has a right to be free from a certain set of governmental restrictions or punishments for their speech, and that this is also true of the non-governmental-employer-employee relationship, but the set is smaller.

For instance, it was my impression that:

(A) People who are not governmental employees have the right to be free from the government restricting them from criticizing Congress in most locations at most times (and have the right to be free from the government punishing them for this criticism)

(B) Governmental employees have fewer rights that (A) in certain respects related to their employment

(C) People who are non-governmental employees can generally be fired for their speech, though not for certain speech, like stating that she is pregnant or whistleblowing to the federal government (under some circumstances)

But I am not a lawyer.

jbapple··on Startup options are much better than they look
Which employees get hired with an offer of 1% equity that is still 1% at the time of an IPO or (non-acquihire) acquisition? Snap, a prominent IPO from this year, had 6-8 rounds after the $10M valuation this article simulates.
jbapple··on Show HN: An improved version of HyperLogLog
So if a register overflows (and is truncated) "twice" by the same element before the base register (B) is increased, then after B is increased, the overflowing register is not increased and so appears not to have overflowed. On the other hand, if that element shows up in the stream once before and once after B is increased, the overflowing register may overflow again.

This makes even the MLE procedure partially incorrect in the first case, since it is the maximum likelihood estimation of a set of hashes in which the register discussed above did not overflow.

Is that about right?

jbapple··on Show HN: An improved version of HyperLogLog
I suspect you are right that HLL+TC will be more accurate. Based on Figure 5 vs. Figure 1 in the Ertl paper, I think Ert's method improves HLL estimation for low cardialities and for very high cardinalities, but not for the region where HLL is already at its most accurate.
jbapple··on Show HN: An improved version of HyperLogLog
HLL is a space/accuracy tradeoff. If you trim HLL to use the same space as if you were using HLL+TailCut but use the Ertl method for estimating cardinalities, which is more accurate: Ertl with a smaller `m` or HLL+TailCut with a larger `m`?
jbapple··on Show HN: An improved version of HyperLogLog
How does the Xiao et al. paper (which introduces TailCut, "Better with Fewer Bits: Improving the Performance of Cardinality Estimation of Large Data Streams", <http://cse.seu.edu.cn/PersonalPage/csqjxiao/csqjxiao_files/p...) compare with Ertl's "New cardinality estimation algorithms for HyperLogLog sketches", <https://arxiv.org/abs/1702.01284>?
jbapple··on Vectorized Bloom Filters for Advanced SIMD Processors (2014) [pdf]
> do you mean the AVX2 'gather' type instructions?

Yes, and AVX512, with two caveats:

1. This is processor-dependent. Different processors have different ratios of instruction latency.

2. Sometimes a related instruction is faster than the instruction specifically for that purpose. For instance, on the glibc on my machine, memcmp and strncmp are NOT implemented using the sse4.2 instructions for string comparison, but instead use ptest and pcmpeq, respectively, because it is faster to do so. The same phenomenon could be true of gathers as well.

jbapple··on Vectorized Bloom Filters for Advanced SIMD Processors (2014) [pdf]
This is a nice piece of work and still relevant. The source is available:

http://www.cs.columbia.edu/~orestis/vbf.c

It has very high throughput for L2-resident filters, as long as most queries return "false" and you can use a bulk API. It was, IIRC, about 4x faster than a hand-made "horizontal" SIMD Bloom filter, and 20x faster than cuckoo filters.

By "horizontal" SIMD, I am using the language of a follow-up paper by the same team at Columbia, "Rethinking SIMD Vectorization for In-Memory Databases", http://www.cs.columbia.edu/~orestis/sigmod15.pdf, http://www.cs.columbia.edu/~orestis/sigmod15source.zip. In that paper, they call "vertical" SIMD for hash-based containers "process[ing] a different input key per vector lane". "Horizontal" SIMD is putting the same key in each lane.

I suspect the results in this paper could be improved with more modern gather techniques on newer x86-64 processors.

jbapple··on The Lockheed Sea Shadow and the Hughes Mining Barge
> they have posted hundreds of peer reviewed (and completely fake) papers

Were the authors that were listed on these papers CIA employees with a fake cover job, or just completely made-up names?

jbapple··on ACIDRain: Concurrency-Related Attacks on Database-Backed Web Applications [pdf]
On page 11, the paper discusses a bug report in which a vulnerability report was responded to with "use your brain! its not hard to come up with a solution that does not involve coding!". Here is that bug report: https://github.com/opencart/opencart/issues/4811
jbapple··on Catching integer overflows with template metaprogramming (2015)
While I agree with your essential point about #1, I think we agree for different reasons.

UBSan is a set of run-time checks and has low compile-time cost. The example function you give, f, would be complained about if you passed it INT_MAX, but that complaint would come at run-time and it would never be triggered if you never passed it INT_MAX.

I also agree that it is not possible to enforce non-INT_MAX limits, like x < 10.

jbapple··on Catching integer overflows with template metaprogramming (2015)
Two other ways of checking integer bound invariants:

1. Undefined behavior sanitizer, which checks integer overflows at run-time, like INT_MAX + 1. Can optionally check other invariants; see https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.h... and https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html.

2. Abstract interpretation - using a lot of constraint solver cycles and enough math to choke a dinosaur, you can check some integer bounds at compile time "relationally", like knowing that x < y. See, for example, "Pentagons: A Weakly Relational Abstract Domain for the Efficient Validation of Array Accesses": https://www.microsoft.com/en-us/research/publication/pentago.... I'm not sure, but that code might be available in https://github.com/Microsoft/CodeContracts.

jbapple··on Catching integer overflows with template metaprogramming (2015)
Does Ada check these type of invariants at compile-time or run-time?
jbapple··on People have no idea which sciences are robust
Some sciences are not robust because they are hard to make robust. In contrast, forensic science, the example given in this article as perceived by the public as robust, seems to be set up by the government's criminal justice apparatus to ensure that the state imprisons and executes as many people as possible. Examples of impossible and absurd forensic science include the results of James Grigson, Pamela Fish, Annie Dookhan, Michael West, Steven Hayne, John Preston, and FBI hair analysis.

For example, Steven Hayne claimed that he could tell from a bullet wound that more than one person was holding the gun. John Preston claimed his dog could track a human scent on a street after a hurricane. Annie Dookhan and Pamela Fish falsified drug and DNA tests.

jbapple··on Australian welfare recipient’s data released to counter public criticism
While all of these are possible and all of these are bad outcomes, I think that their probability of happening and the magnitude of the result is less bad than what would occur if allegations of cruelty or incompetence were made against an individual.

I don't think we're going to be able to settle this argument here, so I'll just leave it at that.

jbapple··on Australian welfare recipient’s data released to counter public criticism
> Is there some meaningful distinction here that means false allegations about an organization of humans should go unrefuted, but false allegations about a single human should be refuted?

To me, false allegations against individuals are more serious than false allegations against organizations for a few reasons. First, I care about the well-being of organizations only to the extent they positively impact the well-being of humans (or, to a lesser extent, animals). Second, a single false allegation against an individual human seems to be able to have a much more damaging effect than one against an organization.

I suspect this is a well-worn topic and that I would consider many of the other objections to corporate personhood to be "meaningful distinctions".

jbapple··on Australian welfare recipient’s data released to counter public criticism
> there should be a legal way to prove a person is lying if they directly make accusations about you.

"about you"? Her article did not name or provide identifying information about any individual employee of Centrelink.

jbapple··on I Wrote My Fastest Hashtable
x86-64 has single instruction (MUL) that produces a 128-bit unsigned result by multiplying two unsigned 64-bit operands.
jbapple··on Uber Taps Eric Holder to Investigate Discrimination Claims
As you may be know, CIA/JSOC statements about the people they kill are often complete fabrications. For example, for years they classified any military-age male killed in a drone strike as a combatant. This included even if the the CIA/JSOC did not have any evidence of what violent acts the men had committed or planned, did not know their names, or did not even know how many "combatants" had been killed in a strike. The victims of these strikes are sometimes just drinking tea, attending weddings or funerals, or even attempting to provide medical aid to victims of a drone strike minutes or hours before.
jbapple··on Uber Taps Eric Holder to Investigate Discrimination Claims
> Not to make light of the situation, but I don't really think people on an active battlefield get a trial.

OK, but Anwar al-Awlaki was not on an active battlefield when he was assassinated.

jbapple··on Uber Taps Eric Holder to Investigate Discrimination Claims
> It's not so clear cut as you make it out to be.

I don't think I understand exactly what part of my post you disagree with. Did I misstate the facts?

I understand that you think Holder may be justified in saying that the Constitution did not prevent the assassination. I am not a lawyer, and I cannot argue that I can tell you what was meant by those words originally, or how lawyers or judges would interpret those words today.

I can say that in my view, a plain, humane, and just reading of those words does not include a panel, meeting in secret, without any representative of the accused present to defend him, deciding upon his execution. Further, I will say that I think it speaks to Holder's view of the authority granted to large institutions that he was willing to stand by this as justice.

jbapple··on Uber Taps Eric Holder to Investigate Discrimination Claims
Do you mean the the President could have told the CIA to assassinate Anwar al-Awlaki even if Holder disapproved? If so, then we agree that President could have done that. Eric Holder could have spoken out against it in private, and, after the assassination was made public, in the media. He could have resigned in protest as other AGs before him did in the https://en.wikipedia.org/wiki/Saturday_Night_Massacre. At the very least, he could have declined to tell the public that the President's actions meet the Constitutional bar of due process.

Clearly, the stakes are much lower, here, unless Uber is also running a drone assassination campaign. But we have seen Holder before in a situation where his employer holds immense power over a departed stakeholder who has become a vocal critic, and we have seen his unwillingness to challenge power in that circumstance.

I hope I am wrong, and I hope that Holder can make a meaningful difference in preventing Uber from continuing to treat its employees so poorly as it did in the blog post in question.

← PreviousPage 2 of 10Next →