Supreme Court Lets Stand Student's $675,000 Penalty For Downloading - <AUTHOR> http://www.npr.org/blogs/thetwo-way/2012/05/21/153199008/supreme-court-lets-stand-students-675-000-penalty-for-downloading <comment><USER2> As far as I can tell, the trial isn't completely over. My non-lawyer understanding of the current state:

The district judge reduced the judgment from $675,000 to $67,500, citing constitutional concerns analogous to those that were found for punitive damages in _BMW v. Gore_ (1996), which put a cap on how big a multiplier punitive damages could be over actual damages ([http://en.wikipedia.org/wiki/BMW_of_North_America,_Inc._v._G...](http://en.wikipedia.org/wiki/BMW_of_North_America,_Inc._v._Gore)). The Appeals Court reversed on somewhat technical grounds, arguing that common- law remittitur (a process for reducing excessive awards) should've been pursued before considering the constitutional question, under a doctrine of avoiding unnecessary constitutional questions. So on remand the District Court will be able to reduce the damages as excessive on non-Constitutional grounds, but in that case, unless Sony agrees to the reduced damages, they could ask for a new trial (whereas, if Tenenbaum had prevailed on his constitutional argument, that'd be that).

People were hoping the Supreme Court would take the case mainly as an opportunity to extend the reasoning of _BMW v. Gore_ to statutory copyright damages, rather than only punitive product-liability damages. It's possible the Court didn't want to do so. Or, it's possible they wanted to wait for at least another Circuit Court to weigh in before looking at the question. Also, it's possible they thought this issue about whether to pursue remittitur first added an unwanted complication to the case that made it too messy to hear as a test case (the court often looks for test cases that cleanly present a Constitutional issue, free of entanglement with subsidiary questions and procedural messes).

edit: The introductory section of the Appeals Court decision, which is the one the Supreme Court declined to review here, is actually fairly readable as a summary of their holding: <http://www.ca1.uscourts.gov/pdf.opinions/10-1883P-01A.pdf>

<comment><USER3> The number one factor in trying to predict whether or not the Supreme Court will grant cert (an appeal) in a given case is whether or not there is a Circuit Split on the question. The number two factor is whether or not the Solicitor General, representing the United States, suggests it grant cert.

In no circumstance should the denial of cert be considered an opinion one way or the other on the merits of the case.

</comment></comment><comment><USER4> On his website he has "More than 30,000 people have settled their cases for between $3,000 - $12,000. Were you one of them?"

Last year I led a Startup Weekend team for crowd-sourced legal defense, 1) for people mentioned above to pool together a large defense front so more cases like these would end up in court, and 2) for people already there like Joel, who are seriously outgunned financially which hurts society as a whole by allowing bad precedence to be set.

The inspiration for #2 came from George Hotz getting a mass of donations in under 2 days when he was sued by Sony for hacking the PS3, enough that he had to stop taking them.

I still think it's a great idea, although perhaps not legally tenable. In any case just throwing it out there.

<comment><USER5> Do you have a site up? I wish we could come together as a community and crowd- source the f __* out of this issue. Something to take away the fear that RIAA is sowing and give people who downloaded or shared a few songs their lives back. I'm not wealthy, but I'd donate a respectable sum to a legitimate fundraising entity for the defense and support of RIAA targets.

<comment><USER6> I'd only fund it if it goes toward burning down the RIAA offices. Don't give them money and make them think what they are doing is right or just, the RIAA is scum and they screw artists out of profit for their works too. The only acceptable solution is the dissolution of the RIAA/MPAA. It looks like it's already happening as artists harness the power of the internet, but I'm sure we'll have to deal with these dinosaurs of organizations for a few more decades at least.

</comment></comment></comment><comment><USER7> Heartless verdicts like this make my blood boil. There is no way he caused that much damage industry profits, and now his life is basically ruined. How can a judge look himself in the mirror knowing the gavel that came down so unmercifully was his own?

<comment><USER8> If you want _justice_ you'd better hope the Judge follows the law instead of his own opinions and prejudices.

</comment></comment><comment><USER9> Just to clarify, the penalty was more for the sharing back out than for the downloading.

I haven't heard of a case where a defendant lost or had to pay damages simply for downloading - the "damages" are only the value of each song, rather than the value times the number of people who could have theoretically downloaded it from them.

<comment><USER10> It was a peer-to-peer network. Would they sue every single person for sharing with every other person, over and over again? (E.g. if there are 10 nodes, would _every one_ be sued for sharing 9 copies?) That doesn't make much sense.

<comment><USER11> Yes, it's illegal to distribute copyrighted material against the copyright owner's wishes. It doesn't matter if it's a peer-to-peer network. From both a legal and technical standpoint, there's basically no difference between placing a song on a webserver for people to download and hosting it on a peer- to-peer network.

Also, if your peer to peer network has you downloading the same thing over and over again, then your peer-to-peer network is broken.

<comment><USER12> In a peer-to-peer network, it may be the case that 10 peers each share 1/10 of a file to 10 other peers. Would each of the sharing peers hold full responsibility for sharing the file even though technically they only delivered 1/10th of it. I would expect awarding damages to hinge on this kind of hair splitting.

<comment><USER13> This case was based on the "making available" theory, not actual sharing, right? Under that theory, if each peer was offering the whole file they could be fully liable for infringement.

</comment></comment></comment></comment></comment><comment><USER14> What happens to the person at the end of this? Assuming the individual isn't from a wealthy family, that is not a debt that they will be able to pay off over any timeframe. Since this is a fine, I imagine that they will be unable to declare bankruptcy, while assuming some wages are withheld, they also won't be able to pay rent.

<comment><USER15> Most likely what will happen is what usually happens when the RIAA wins a big judgement: they will offer to settle for an amount that is approximately $1 to $2 per song shared.

Note that I said per song shared, which will be more than the 24 songs that were specifically in the lawsuit. Generally in these cases the person is sharing thousands of songs. The RIAA only names a dozen or so in their suits because there is no point in suing over all of them. They have to prove proper copyright registration for each song and that they are authorized by the copyright owner to sue, so suing over all of them would require a ton of evidence.

With 24 songs, if they win and if they get the MINIMUM POSSIBLE statutory damages (which only happens if the court finds that the infringer was not aware and had no reason to believe they were infringing), that works out to about $5k. If the court finds that the infringer knew or had reason to believe that they were infringing, the minimum statutory damages on 24 songs would be $18k.

So, here's the situation from the point of view of someone that the RIAA catches distributing a few thousand songs: the RIAA will offer to settle for somewhere around maybe $3-5k. That will work out to about $1-2/song. Considering that it is typically $1/song to buy a copy of the song for personal use, being asked to pay $1 or $2 for a copy that you were sharing online is quite reasonable.

If you decide that you are going to make them go to court, and they sue over just a handful of the songs, and if you actually did share the songs and so are guilty and they can prove it, then you are GUARANTEED to have damages of more than what you could have settled for.

It doesn't take a game theorist to figure out that settling is a strictly dominant strategy here.

Note that there is no question of innocence or mistake. Tenenbaum basically admits he did it, that he knew it was illegal, and that he intends to keep doing it. The other defendant who was taking their case to trial (three times now, I believe), Jamie Thomas-Rasset, also was clearly guilty, although she still hasn't admitted it. She did perjure herself, got caught tampering with evidence, and tried to blame her children and boyfriend for her actions.

<comment><USER16> uhh, there's no reason for them to settle _after_ the judgment. They've already won everything they could possibly hope for, and the appeal too.

<comment><USER17> I was under the impression that settling after the judgment makes sense when the plaintiff knows for a fact that the defendant cannot possibly pay off his debt in his lifetime. I could be wrong, but I believe this is done because a) they want to extract the biggest amount possible in the shortest amount of time and b) because it sets a precedent for future cases

<comment><USER16> Settlements never set precedent. If the judgment is bigger (which would be just about always), they're already extracting the biggest amount. "We'll take what you have now, plus what you get later" is more than "We'll settle for what you have now." Anyway, I don't think the RIAA's litigation strategy has ever been about maximizing profits.

</comment></comment></comment></comment></comment><comment><USER18> Follow the article's "the Supreme Court this morning" link. This case is one of 80 under the CERTIORARI DENIED heading. Exactly one case appears under CERTIORARI GRANTED. The Supreme Court doesn't have time to hear the vast majority of cases brought to it. IANAL, but I think the headline of this article inflates the singificance of this non-decision, especially in light of _delirium's comment.

</comment><comment><USER19> I know this guy. We meditate together on Tuesday nights at a Shambhala Center. He _just_ graduated from BU last Friday with a PhD in Physics.

If you have any pressing questions I could probably pass them along.

</comment><comment><USER20> Someday History will look upon us, destroying one man's life because he _shared a bunch of stupid songs_ and will judge intellectual "property" as one of the most awful, destructive and evil bad ideas of humankind.

</comment><comment><USER21> That's a good way to motivate somebody to never bother getting a job.

<comment><USER22> I don't think the RIAA expects that they'll get paid. What they enjoy is the huge campaign of fear that results from a judgement like this, and the ineffectiveness of an appeal.

<comment><USER23> Also consider that the cost of their product will probably go up to cover the costs of the legal team to get this judgement that will never be paid.

</comment></comment></comment><comment><USER24> Have any of the artists he downloaded commented on the case?

<comment><USER2> I haven't heard of any commenting on this specific case, but one of the tracks involved in the suit is a Nine Inch Nails track, and Trent Reznor's been pretty clear that he doesn't have a problem with fans downloading his music.

Of course, the artists can't do much about it, since they've typically signed over these kinds of rights to the labels, but it could at least produce some bad PR if they raised more of a stink about it.

They could also "vote with their feet" and sign with a non-RIAA label. That unfortunately still seems quite uncommon. Of the artists on the list (<http://en.wikipedia.org/wiki/Sony_BMG_v._Tenenbaum#31_songs>), two subsequently went indie, Monster Magnet and NIN.

</comment></comment><comment><USER25> There is no law, to my knowledge, that makes illegal the act of downloading. The actual law to do with the act of improperly publishing, violating the copyrights of the original artist. I've often wondered how I am supposed to know whether Amazon, iTunes, etc... are authorized to sell me the material I download from them, and whether I could be liable in any way for illegally downloading from them.

Torrents, of course, are an entirely different story altogether.

<comment><USER26> That's a good question, and in fact it's precisely the reason why downloading is explicitly legal here in Switzerland.

</comment></comment><comment><USER27> This is the guy who turned down an opportunity to settle at a much lower price point in hopes of creating a legal precedent. I remember at the time of the original trial people were saying that his lawyer should be disbarred for negligence. Kinda sucks that he has to pay this much, but I like to think I would have settled if it had been me.

</comment><comment><USER28> I haven't had much hope for this one since Ray Beckerman threw up his hands in despair over the lawyering on the defense side: [http://recordingindustryvspeople.blogspot.co.uk/2009/03/prof...](http://recordingindustryvspeople.blogspot.co.uk/2009/03/prof- nesson-files-notice-of-apology-in.html)

</comment><comment><USER29> Depressing... thanks, Legal System.</comment>


Library-managed 'arXiv' spreads scientific advances rapidly and worldwide - <AUTHOR> http://ezramagazine.cornell.edu/FALL12/CoverStorySidebar2.html <comment><USER2> Can I just make a general plea?

You should upload your paper to arXiv. When you do, please upload your source (tex, or word I imagine), as well as a PDF.

For the blind, PDF is the worst possible format, and tex and word are the best formats. Don't hide, or lose, the blind-accessible version of your paper.

<comment><USER3> > For the blind, PDF is the worst possible format

I'm surprised. Nobody has created an accessibility solution for PDFs after all these years of ubiquity? What's the story?

<comment><USER4> Well, I don't know about PDF, but PostScript, which it's based on is basically just a programming language for drawing symbols in specific positions on a page. Depending on how it was written (or more likely, generated) this could be readable, or incredibly unreadable.

As an example, in post script the following example from Wikipedia would simply show the text Hello World:

         %!PS
         /Courier             % name the desired font
         20 selectfont        % choose the size in points and establish
                              % the font as the current one
         72 500 moveto        % position the current point at
                              % coordinates 72, 500 (the origin is at the
                              % lower-left corner of the page)
         (Hello world!) show  % stroke the text in parentheses
         showpage             % print all on the page

Now if you're lucky you can just extract all quoted text and read those in order, but that's unlikely to work for all documents.

<comment><USER3> Almost all formats would similarly require content to be parsed from code; for example, consider HTML, Word, or Excel.

It makes me wonder how screen readers work. Thinking out loud, it seems that the screen readers should let the applications (e.g., Word) handle their own parsing and presentation and obtain the data after that. Otherwise, the screen reader would have to reinvent many wheels, interpreting the code for all applications including all their versions, features, quirks, and platform integration issues - such a daunting and difficult task that it seems unlikely. But where do screen readers hook into the content? After it's output from the application but before it's an image for the screen (which could require OCR)? Ironically, I suppose PostScript or PDF could provide common interfaces.

<comment><USER4> Sure all formats require some parsing to get to the content. However Tex, HTML, Word, Excel and languages like that were designed to allow people to format text and other data into a document. Therefore they generally make text and other information appear sequentially, and separate display logic from content.

PostScript and PDF have no such separation, the _are_ the display logic. They are fully fledged programs that list the position, size, font, colour, of every symbol on every page, if you're lucky in a vaguely logical order, but there's no reason it should be. If the files were written by a human you may have some hope of extracting some of the content, but almost nobody writes PDF or PostScript by hand any-more.

</comment></comment></comment></comment></comment><comment><USER5> This article misses one of the biggest value-adds of arXiv, at least in my field (Statistics): since almost everyone posts to arXiv, you can almost always find a free version of a published and potentially pay-walled paper. In the past, publishing in a peer-reviewed journal would (1) improve the paper through peer review, (2) signal the quality of the paper based on the prestige of the journal, and (3) distribute the paper. With arXiv, publishing now only does (1) and (2).

<comment><USER6> > you can almost always find a free version of a published and potentially > pay-walled paper.

On personal research, I've used it for exactly this, but since what I've seen was only preprints, I've often wondered about the final version. It looks like I'm not alone.[1] Do many or any of the arXiv papers get updates with the improvements that come from peer reviews? Is there a need for arXiv for finals or do publishers demand exclusives on finals?

[1] [http://mathoverflow.net/questions/41141/should-i-not-cite- an...](http://mathoverflow.net/questions/41141/should-i-not-cite-an-arxiv-org- paper)

<comment><USER7> Publishers (in this subfield at least) usually demand ownership only on the final typeset manuscript PDFs. Those cannot be uploaded, but people are usually free to update the arxiv manuscript by uploading their own "final" version files, with content equivalent to the published one. In the corner where I come from, I'd say this is done most of the time, especially if there are major changes. In practice, people often read only the arxiv versions anyway since publisher's web pages can be crappy.

Also, since you submit manuscripts to most journals in TeX, there's very little extra work involved in uploading the updated files also to arxiv. You maybe miss the copy editor's grammar corrections etc., but those are almost without exception unimportant --- also, more often than not, the copyediting by the publisher introduces errors not present in the original manuscript.

<comment><USER8> Agree with everything. I also want to point out that the final published version is not always better -- it represents compromises made with reviewers / editors to get papers through. Often these are positive, but not always. Sometimes it's useful to be able to send people the preprint rather than the final version.

</comment></comment></comment></comment><comment><USER9> Ah, the original [http://xxx.lanl.gov/](http://xxx.lanl.gov/) that I knew and loved in the 90's, when people thought we were surfing nudies in the Physics department and not papers on differential geometry. I helped establish and run the za.arxiv.org mirror at WITS University, mostly to learn how to configure RedHat, Apache, rsync and other tools. I'm glad it still exists.

<comment><USER10> I've worked at Los Alamos for 6 years and I didn't know this existed. Pretty cool.

</comment></comment><comment><USER11> ArXiv is incredibly useful for research, but I think people also use it for a sort of "I posted it to arXiv first, therefore I solved it first" kind of thing, which imo can be misleading at times, if not everyone follows that. Also there is the eprint.iacr.org which seems to do the same thing, except for cryptography (or is it cryptology?), so I'm not sure if every important preprint in that topic gets to arXiv.

<comment><USER12> > I think people also use it for a sort of "I posted it to arXiv first, > therefore I solved it first" kind of thing, which imo can be misleading at > times

True, but I don't see that fights over precedence are unique to ArXiv either, or even made worse by it, no? I mean, at least now there _is_ an unambiguous date-stamped public place to cite in this kind of fight. And those fights provide a built-in incentive to put stuff up there, which is good for all of us.

Basically: who cares about spitballs as long as the papers end up on ArXiv? Seems like a cost worth paying to me.

<comment><USER11> > True, but I don't see that fights over precedence are unique to ArXiv > either, or even made worse by it, no?

I'm not familiar enough with other methods of preprint publishing besides arXiv / eprint.iacr, but you may be right that it is not unique to arXiv.

My personal preference would to be to have bits of research done through something like git, so that work along the way can be seen, otherwise one may solve a problem and then be 'out-arXived' by someone who spends an all nighter tex-ing your solution (this is a hyperbolic example, but I think the idea of the potential flaw in the system should be clear).

<comment><USER13> Besides disputes involving patents, papers that are withing a short time frame of each other are usually understood to be cases of parallel invention, it's happening quite frequently in deep learning atm since there are still a lot of relatively low hanging ideas, to the extent that people are commenting/joking that they consider the risk of colliding with someone else when deciding what to work on.

<comment><USER11> > withing a short time frame of each other are usually understood to be cases > of parallel invention

I see what you are saying, but I don't think it's that cut and dry, otherwise I could just take someone else's work from yesterday (or whatever a short time frame is), and re-solve it (easily -since now the tricky parts have been revealed) and post it today - tada, I parallel invented it!

<comment><USER7> Typically the work in a paper, if substantial, is done over a long time, so even if the main destination ends up being same, it's unlikely the route and sidestops are the same. So often you can wriggle a little bit and expand the paper sideways, so that it is still publishable work even if the other work is given priority.

It's actually not that rare to have similar papers appear in arXiv one or two weeks later after you submit --- to me, it happened several times within last few years. In these cases, it is possible to see that the approach differs enough (and moreover, often you know the people in question, or you know someone who does).

</comment></comment></comment></comment></comment></comment><comment><USER14> I hope it is replaced with something better soon. You cannot see access statistics concerning the papers you upload, and they provide this absurd reason for not doing it: [https://arxiv.org/help/faq/statfaq](https://arxiv.org/help/faq/statfaq) (it seems they think arxiv users are idiots or something, so they have to take care of us). Also getting the uploaded latex files to be compiled without errors is a pain, and they don't let you to just upload the pdf (this has pros or cons, but I wish there was the freedom to choose... and I guess that 99.999% of the time people just download the pdf).

<comment><USER15> Requiring error-free latex is almost certainly a reasonable proxy for real curation effort.

<comment><USER16> The issue is that their LaTeX installation is fairly old, so there's a real chance of running into old bugs that have long since been fixed. It's a bit tiresome to work around those. I've had issues with their pgfplots version and had to resort to compiling the figures to pdf locally and including those.

</comment></comment></comment><comment><USER17> Needs a [2012]

</comment><comment><USER18> Interesting to learn how to pronounce it correctly. I've always just said arx- iv like it's spelled.

<comment><USER19> It _is_ pronounced like it's spelled; the X is a chi.

<comment><USER20> Is it spelt that way, though?

X is LATIN CAPITAL LETTER X

Χ is GREEK CAPITAL LETTER CHI

Everywhere I have ever seen it spelt, it has been written with the Latin letter. I have never seen it spelt as "arχiv" or "arΧiv", only ever as "arXiv".

I can understand why, for example, having a Greek letter in the URL would be undesirable, but if one is going to consider that letter to be Chi, then that _should_ be the authoritative spelling and it should actually be spelt that way where possible.

<comment><USER21> Given the the "Archive" homophone, it is obviously intended to be pronounced that way. The spelling is secondary to the common pronunciation, as usual in English.

</comment></comment></comment></comment><comment><USER22> Is there any reason why a project like this wouldn't be open sourced?

Follow up question, how does a site like this have a $500k annual budget? I was napkin calculating the costs of running this and couldn't get anywhere close to $500k without having extensive staff salaries.

<comment><USER23> Looking at it from a Cornell point-of-view, the most innocuous reason I can think of is that they want a canonical library of papers that others can mirror rather than researchers having to search each individual university's arXiv. If they let others fork and set up their own servers it could lead to interesting modifications/applications but it would no longer be in their control and might make the preprint locations fragmented. (and the other servers might not have the same moderating standards)

The other more greedy explanation is always money. Of course open source isn't antithetical to profit, but as mentioned before you do lose control and maybe Cornell doesn't want competition. Even if the project was started with the best of intentions, they still need to make it self-sufficient and maybe even profitable so they probably decided it's in their best interest. Of course this is all just me speculating.

</comment></comment><comment><USER24> Here's a recent lengthy FAQ Ginsparg did on the arXiv (ironically behind a journal paywall).

[http://onlinelibrary.wiley.com/doi/10.15252/embj.201695531/f...](http://onlinelibrary.wiley.com/doi/10.15252/embj.201695531/full)

Here's a discussion on HN of a blog post by me sparked by a conversation with Ginsparg.

[https://news.ycombinator.com/item?id=9415985](https://news.ycombinator.com/item?id=9415985)

</comment><comment><USER25> Am I the only one who still uses xxx.lanl.gov ?

<comment><USER26> Probably not. :) (Is it a redirect now, or is it an actual mirror?)

My understanding is that they switched to the new domain after people noticed the original was being blocked as porn by a bunch of automatic content filters.

<comment><USER25> Yes they put the new masthead on instead of the skull n crossbones

</comment></comment></comment><comment><USER27> There's something I've always wondered about.. what do you do if you upload your journal submission to arxiv but it's later rejected? That possibility has always been a deterrent to submitting to arxiv for me. Seems to me this discussion assumes arxiv uploads will be accepted to some journal eventually..

</comment><comment><USER28> Hooray for arxiv :)

Long live open science!

</comment><comment><USER29> >Eleven years ago Ginsparg joined the Cornell faculty, bringing what is now known as arXiv.org with him. (Pronounce it "archive." The X represents the Greek letter chi.)

Been pronouncing it "ar ziv" until now. :P

<comment><USER30> But, "archive dot org" is an entirely different and also noteworthy organization!

<comment><USER29> I think that's "ark ive" where this is "ar chive". I'm gonna call it ar chive dot org now and get more stupid looks, aren't I? :/

</comment></comment></comment><comment><USER31> But I bet not faster than Sci-Hub... har har har. :D

<comment><USER32> Significantly faster than sci-hub. Sci-hub is, afik, based on published work. This is preprints, so well in advance of that.

<comment><USER31> Well, however, we can argue here that a pre-print is not of the same quality as a published work. Not that published works cannot have errors (and be retracted), but at least they have passed a first-level scrutiny of an editorial board.

<comment><USER33> It is pretty controversial. The value of peer review has never really been demonstrated and despite peer review, the median scientific paper is wrong.

<comment><USER31> How do you want this value to be demonstrated? Peer-reviewing is exactly this: peers evaluating the methodology and results of your experiment or idea. If this is faulty, imagine how much more faultier is an attempt to pre-print without even passing that step, which mind you, is pretty important for major journals such as Nature or Science.

Peer-reviewing has a lot of weak points, but saying that pre-print is the answer to them all is plainly wrong.

<comment><USER34> It doesn't seem that anyone is saying that we need to get rid of the (admittedly valuable and proven) peer-review model of publishing in journals. Or that this is uniformly better for all use-cases, esp. those that peer- review excels at.

It's merely a supplement to peer-reviewed journals that has some nice characteristics, for some use-cases, which has been beneficial, to some researchers, in some fields.

</comment></comment></comment></comment></comment></comment><comment><USER35> I hate arXiv, I can never figure out where is the PDF, if there is a PDF... long live eprint.

<comment><USER16> I'm not sure whether you're serious, but on any article's page there a "Download" section with a link to the PDF (labelled "PDF").

<comment><USER35> Not always.

<comment><USER36> Can you link three examples.

<comment><USER37> Here's an example: [https://arxiv.org/abs/1611.06999](https://arxiv.org/abs/1611.06999)

I believe the PDF link is only removed after a paper has been withdrawn. But if you click on v1, you can still access the original paper (incorrect, in this case).

<comment><USER16> v2 is a 0kB file. As you note, v1 is still available, just as with any other paper that was updated.

In any case I don't think that withdrawn papers support the OP's claim that PDF links are hard to find for _normal papers_.</comment></comment></comment></comment></comment></comment>


Markov Chain Monte Carlo Sampling - <AUTHOR> https://galeascience.wordpress.com/2016/04/27/markov-chain-monte-carlo-sampling/ <comment><USER2> The intrinsic important of MCMC is clear. What kinds of applications would be of excitement to startup-oriented readers here on YCombinator?

Also why is this called Quantum MCMC rather than just normal Markov Chain Monte Carlo?

By coincidence there is a Coursera Cousrse that just started on Statistical Mechanics and Algorithms, and the first exercise is to approximate pi.

[https://www.coursera.org/learn/statistical- mechanics](https://www.coursera.org/learn/statistical-mechanics)

<comment><USER3> In Lattice QCD [1] we basically execute huge MCMC in order to sample the partition function [2] on a discretized spacetime.

[1] [https://en.wikipedia.org/wiki/Lattice_QCD](https://en.wikipedia.org/wiki/Lattice_QCD)

[2] [https://en.wikipedia.org/wiki/Path_integral_formulation#The_...](https://en.wikipedia.org/wiki/Path_integral_formulation#The_path_integral_and_the_partition_function)

</comment></comment><comment><USER4> >If you come from a math, statistics, or physics background you may have leaned that a Markov chain is a set of states that are sampled from a probability distribution.

That's a very weird way of putting it. A set of states sampled from a probability distribution is usually just called a 'sample' and has nothing to do with Markov or chains.

Really 'Markov chains' are called 'chains' because they represents an infinite sequence of states, which depend on each other.

And they're called 'Markov' because they have the 'Markov' property, which roughly states that the probability distribution for each state is completely determined by the previous state.

</comment><comment><USER5>
      > and if A < 1 we do the following:
      > Produce a random number \chi from 0 to 1
      > Calculate m=A + \chi
      > Accept the move if m >= 1, otherwise reject

I'm guessing people have their own ways of doing this step, but by doing the math here, seems to me the second move can be omitted and the third replaced with "Accept the move if A >= /chi, otherwise reject".

EDIT: I see in the actual code all of this is summarized as A + chi >= 1, i.e. not a big deal (but still an addition more than needed ;)

</comment><comment><USER6> And instead of writing MCMC samplers yourself, with probabilistic programming languages you can define a model and the language figures out how to do the sampling for you.</comment>


Keep your customers coming back – Loystar - <AUTHOR> http://loystar.co/ <comment><AUTHOR> It's a West African start up based in Ghana</comment>


A Life of Pliny - <AUTHOR> https://www.nytimes.com/2019/12/10/books/review/the-shadow-of-vesuvius-a-life-of-pliny-daisy-dunn.html <comment><USER2> Pliny the Elder, the beer?

</comment><comment><USER3> "Appointed imperial legate to Bithynia, in what is now northern Turkey, Pliny was taken aback by how many Christians were there" and decided to "eradicate them or make them recant" but Trajan (the Roman emperor) "counseled moderation."

Bithynia was a significant part of what's today Turkey:

[https://upload.wikimedia.org/wikipedia/commons/f/fd/1stMithr...](https://upload.wikimedia.org/wikipedia/commons/f/fd/1stMithritadicwar89BC.png)

For a time reference Pliny the younger died around 113 CE (second century).

Eventually, whole 18 centuries later, most of the Christians in Turkey were "cleaned" at end of 19th and the first part of 20th century:

[https://www.hup.harvard.edu/catalog.php?isbn=9780674916456](https://www.hup.harvard.edu/catalog.php?isbn=9780674916456)

"The Thirty-Year Genocide, Turkey's Destruction of Its Christian Minorities, 1894–1924", Benny Morris, Dror Ze'evi, Harvard University Press 2019

"Three Turkish regimes were involved, from the Ottoman Empire to Ataturk's republic."

"Our conclusion that between 1.5 and 2.5 million Christians were murdered, from 1894 to 1924, is a cautious estimate," Morris says.</comment>


Using Git to Maintain Your Website - <AUTHOR> http://danielmiessler.com/blog/using-git-to-maintain-your-website

<comment><USER2> Hmmm...interesting, but it seems like this takes automation a bit far. I also use Git as a single developer on a project of mine, and I have staging and production environments on my server, but I have simple deployment scripts that I run to update the changes on the server, clear any cache files, etc. It's not that much more complicated than what he does here, but it gives me the peace of mind of knowing that I can commit my changes without the world seeing them automatically.

<comment><USER3> Presumably, he works in a branch.

<comment><USER2> Actually, if you read the post, it's clear that he doesn't, unless he stripped all that out for the purpose of simplicity when explaining. But that's my whole point: doing this the right way is hardly more complicated.

</comment></comment></comment><comment><USER4> I used to use svn, but these days I use git for maintaining static websites.

Maybe I missed something in this article, but the key to static websites (as far as I see it) is using a templating system. Put your templates, content and configuration under version control and you're pretty much done. The website itself is a generated artifact.

</comment><comment><USER5> Or, use ikiwiki (<http://ikiwiki.info/>). It takes your git repository, a directory hierarchy of Markdown files, and will automatically compile them to HTML each time you push. Even more elegant.

</comment><comment><USER6> I do something similar with my site, but without the extra intermediary repository. On a push, the server-side hook simply hard resets the content of the folder to the tip of a specific branch. The website itself acts as the canonical repository of, well, itself.

[http://yangman.ca/blog/2009/08/06/website-management-with- gi...](http://yangman.ca/blog/2009/08/06/website-management-with-git/)

</comment><comment><USER7> The Ruby Best Practices blog (blog.rubybestpractices.com ) uses a a git-based system that's quite nice.

<http://github.com/sandal/korma>

I wrote up some background on it here: [http://blog.rubybestpractices.com/posts/jamesbritt/2009-04-1...](http://blog.rubybestpractices.com/posts/jamesbritt/2009-04-13-solving- the-problem.rc.html)

</comment><comment><USER8> these days I use github+github pages, even although I wrote <http://drydrop.binaryage.com> ;)

</comment><comment><USER9> I have a very similar setup with post-receive deploys on remotes "stage" and "production".

git push stage master

click around staging environment to make sure nothing's broken

git push production master

you're live.

</comment><comment><USER10> Using CVS to Update a Web Site

<http://www.kegel.com/cvs.html></comment>


U.S. economy surprises with 273,000 jobs added in February - <AUTHOR> https://www.axios.com/economy-february-jobs-report-6a99c92c-feff-4b70-a7e6-5f502d529f56.html <comment><USER2> I almost hate to ask, but... how reliable is this number? I mean, the US government has been pulling information that they used to provide, attempting to suppress bad news information, things like that. Can we believe this number?</comment>


SCIgen - An Automatic CS Paper Generator - <AUTHOR> http://pdos.csail.mit.edu/scigen/

<comment><USER2> Pretty old, but still pretty funny.

<comment><USER3> On the contrary, it's new every time you generate a paper!

<comment><USER2> True. ;)

</comment></comment></comment><comment><USER4> I get PHP errors on their blog. Does anybody know what happened when they gave their talks?</comment>


Draw This: a polaroid camera that draws cartoons - <AUTHOR> http://danmacnish.com/2018/07/01/draw-this/ <comment><USER2> 6 years ago someone made this: [http://mattrichardson.com/Descriptive- Camera/](http://mattrichardson.com/Descriptive-Camera/)

It uses Mechanical Turk. Pretty incredible to see that in 6 short years neural networks have made an automated version of essentially the same idea possible.

<comment><USER3> This project is still using crowd-sourced sketches though. It's automating the object detection and localization, then placing a sketch of that object in that location, selected at random from the Google QuickDraw dataset.

[https://github.com/googlecreativelab/quickdraw- dataset](https://github.com/googlecreativelab/quickdraw-dataset)

</comment></comment><comment><USER4> I really like this. If you are concerned about BPA exposure, you might rethink the thermal printer: [https://cen.acs.org/articles/95/i35/Touching-thermal- paper-r...](https://cen.acs.org/articles/95/i35/Touching-thermal-paper- receipts-extend.html)

<comment><USER5> Do you have a suggestion for an alternative printer?

<comment><USER6> The printer isn't the problem, it's just a heater. The problem is the paper. You _can_ get BPA-free paper, though it seems like the standard replacement is just as bad (it contains BPS).

There is a Vitamin C-derived paper by a company called Appvion. You can buy it on Amazon but apparently it's not great.

</comment></comment></comment><comment><USER7> Anyone else think of this from the title?

[https://wiki.lspace.org/mediawiki/Iconograph](https://wiki.lspace.org/mediawiki/Iconograph)

<comment><USER8> Yes! Thank you for the link :)

</comment></comment><comment><USER9> Wow, this is just such a great idea. Dan (author) if you're reading these comments, you should definitely sell these cameras as a product.

Also would love to see some side-by-sides of an actual image and the Draw This photo.

EDIT: installing the project locally right now -- will see if I can generate some side-by-sides :)

<comment><USER10> I recommend starting with an app...

<comment><USER9> Given these cameras are:

* Fairly easy to make, a la github instructions

* Can command a _very steep_ margin per sale, compared to an app

* Offer (imo) most of the product value by being something physical/tangible you can show to your friends

* Polaroid cameras are surprisingly popular [https://www.wsj.com/articles/fujifilm-zooms-in-on-instaxs-re...](https://www.wsj.com/articles/fujifilm-zooms-in-on-instaxs-retro-appeal-in-the-digital-age-1459405636)

I think I'd have to disagree here!

<comment><USER11> OTOH if it's even mildly successful someone will clone it in app form within a week anyway, which will almost certainly crush hardware sales. (Why pay $99 for a gimmicky camera when a $1 app does basically the same thing? All my friends are on Instagram anyway.)

I say just get the app out there first and try to make up for the lower price per unit with volume. If it becomes truly popular and there's demand for physical prints then rebadge and sell a commodity Bluetooth printer.

<comment><USER12> It's probably gonna be for the gift market. Also parties, weddings etc, keep one on each table for fun

</comment></comment></comment></comment></comment><comment><USER13> reminds me of the Twoflower's camera+dwarf from the Pratchet's Discworld.. :)

</comment><comment><USER14> I would totally buy this. I bet many other people would as well...

<comment><USER15> I bet many people would use this device one or two times and then abandon it forever. It's useless

<comment><USER16> The same could be said about books.

<comment><USER17> Which are usually made from recycled material, and can easily be recycled.

</comment></comment></comment></comment><comment><USER18> Very fun. Nice idea and execution. I like how minimalist it looks. It has a kind of GameBoy camera vibe, but with neural networks.

Last year, I realized a "polaroid" photobooth robot which does some neural art style transfer. [https://github.com/GistNoesis/Linn- Photobooth](https://github.com/GistNoesis/Linn-Photobooth) . It's kind of the opposite approach in term of complexity, but it's fun nonetheless.

Hopefully they could be unified when the more powerful Raspberry Model 8b+ is out in a few years.

<comment><USER19> Any image examples?

<comment><USER18> Sorry, I had no more paper when it was time to do the videos, so you'll have to imagine it from the video demo images. Format is postcard, quality is postcard level with optional borders. Printer is specified, so you can see plenty of video of it printing.

</comment></comment></comment><comment><USER20> From the github project:

> close the app using cntrl-C once the downloads have finished.

Weird that you can't detect this and bail out but I guess it's just a one-shot :-)

</comment><comment><USER21> This is fun. I want one. Kickstarter?

</comment><comment><USER22> This is fun. It would be awesome if it can piece together the body so that it would not look like floating t-shirt and pants :D

</comment><comment><USER23> I expected a 3d printed Cartesian robot holding a pen, for the printer part.

</comment><comment><USER24> I think this is awesome. My '2 cents' \- stretch the imagination of the impressionable by implying that there is a 'little man' inside the box.

'How does it work daddy?'

'Well son, there is a little man inside the box...'

\- my dad, circa some many decades ago, standard answer.

Actually my grandma on the other side of the family fully believed such things but that is another story.

You need not have a 'little man' inside the box, you could go with 'Kevin the autistic squirrel' or maybe something a bit more politically correct. You could even add temperament that way so the parent could explain with some credible make believe why 'Kevin' has drawn something random. Maybe add the randomness in so 'Kevin' gets bored/tired/petulant on occasion, adding in doodles or perhaps loving/kind words. Awareness of the purchaser's birthday and current location could add to the fun, to draw a side drawing of the Eiffel Tower if on holiday in Paris, rain clouds if it is raining etc.

The fun to be had...

<comment><USER25> Or just give an actual explanation. The truth doesn't have to be boring.

"In this hole here is the camera lens. When you point it at something and press the button, the camera takes a picture. Then a little computer in here turns the picture into a drawing, and then the printer puts the drawing on paper, which comes out here." Bonus points for doing a teardown to show the parts.

Kids can be just as impressed by the real world as by made-up stories, and even things learned in early childhood can have long-lasting effects. For example, once I was sitting in physics class listening to the teacher and suddenly had a flashback of my father giving a much better explanation of the same thing when I was maybe 5 years old.

<comment><USER24> ...but you know that would not be challenging. Why would you want to 'steal' the camera and surreptitiously take it apart AND put it back together again if things were fully explained in an adult way?

There is a good reason why we tell children about Father Christmas and don't tell them the truth of the realities of modern manufacturing techniques, the intricacies of finances and such like.

<comment><USER25> It can be as challenging as you want it to be. Each of the components offers infinite options for recursion. How does the camera lens create a picture? How does the computer make a drawing? How does the printer put a picture on paper? And how do we put this thing back together after taking it apart?

I think the major reason why parents prefer stories about Father Christmas is that they are familiar with the concept of a white-bearded guy climbing down chimneys to leave presents, but they could not explain how a factory robot works or how feedback loops in financial markets can lead to oscillation.

Of course you have to make sure the child is actually interested, but if it wants to know about the camera in TFA, then redirecting that interest towards a story about autistic squirrels just because _you_ happen to find that hilarious doesn't seem like such a nice thing to me.

<comment><USER24> The dull science lecture approach may be suited to a mature teenage who is just about to sit their physics, maths and computer science exams.

However, it is important to give younger children stories such as Father Christmas, the Tooth Fairy and the like to stimulate their creativity and play. Not one single book in a primary school library is fact based. Children do not seem to be damaged by this. Nobody grows up mentally scarred because they learn that Santa is not real, with chips on their shoulders because they have been betrayed by their lying parents.

Fun is allowed and it does not have to be boring, mandatory, tedious lectures that daddy thinks are more 'educational'. Some people don't move on from playing games, some people will instinctively want to hack games and write their own. Furby style toys are okay, bags of resistors with instructions to build your own are not for all age groups.

<comment><USER26> I have no problem with telling fictional stories to kids, but I also disagree with your portrayal of fictional wonder vs dull lecture. Reality doesn't have to be dull. Carl Sagan's _Cosmos_ has been seen by 500M people and many people who were kids then still remember being glued to the TV, fascinated by the science.

<comment><USER27> As someone who was fascinated much more by how circuits work than "it's magic", I agree with you.

</comment></comment></comment></comment></comment></comment></comment><comment><USER28> This is fantastic and hilarious and clever. They could apply this to sponsor a child charities to increase donation frequency, duration and amount by having it draw pictures and write back in a very personal and child-like way based on donor sent pictures and letters. Your welcome.

</comment><comment><USER5> Anybody know how to get past the import error when trying to run cartoonify on MacOS?: ImportError: cannot import name run, discussed here: [https://github.com/danmacnish/cartoonify/issues/5](https://github.com/danmacnish/cartoonify/issues/5)</comment>


Can Extreme Exercise Hurt Your Heart? Swimming the Pacific to Find Out - <AUTHOR> http://www.npr.org/sections/health-shots/2016/02/01/464457884/can-extreme-exercise-hurt-your-heart-swim-the-pacific-to-find-out?sc=17&f=3 <comment><USER2> I applaud both the athlete and the research so please forgive this ignorant question. Even if he can handle the waves, isn't he at a huge risk of being eaten by a shark or other predator as he does a 6 month swim across the Pacific?

<comment><USER3> According to Wikipedia, during his Atlantic crossing "he was accompanied by a 40 ft. sailboat that had an electromagnetic field for 25 feet to ward off sharks. He was followed by a great white shark for 5 days."

Any idea how that works?

<comment><USER4> [https://en.wikipedia.org/wiki/Magnetic_shark_repellent](https://en.wikipedia.org/wiki/Magnetic_shark_repellent)

</comment></comment></comment><comment><USER5> At the risk of sounding naive, isn't "dangerous for your health" implied by "extreme"? The human body seems to be evolutionary geared towards moderate intensity with regular frequency more than anything else.

<comment><USER6> That is exactly what they're trying to find out. From the article:

"My question has always been, how much exercise do you need to do to injure the heart?" Levine says. "Since Ben was planning to swim across the Pacific Ocean, we thought, hey, this might be a good opportunity."

It could go on to show that extreme (exercising at low intensity for 8 hours a day for 5-6 months) isn't "dangerous for your health".

<comment><USER7> "It could go on to show that extreme (exercising at low intensity for 8 hours a day for 5-6 months)"

That doesn't sound extreme by any definition. It sounds really hard and is a lot of output over time, but it is not at all what I would characterize as "extreme".

If I were trying to discover what "extreme" exercise did to ones heart (or body, whatever) I would simulate a life or death scare that would enlist adrenaline and then present an insurmountable obstacle (basically a steep hill, or staircase that doesn't end) and have them run to muscle failure.

 _That_ sounds like extreme physical output and that would be an interesting scenario to test heart health in.d

<comment><USER8> 8 hours of exercise each day is _an_ extreme. A sudden start (like you describe) is also _an_ extreme. The latter is easy to measure and test in a lab (sort of), the former isn't really. It'd be hard to find the funding to pay people to perform that level of physical activity day after day (constant motion, not the start on stop of most pro athlete training schedules), for months at a time.

<comment><USER9> Surely you can easily find people in poor agricultural countries that do manual labour in fields for many hours everyday. How about women in paddy fields, bent over tending the rice plants for several hours each day?

</comment></comment></comment></comment></comment><comment><USER10> Does it count if he is using a snorkel? I know that's like the world's dumbest question, but I am really tempted to use a snorkel at my local swimming pool to help get exercise and avoid the whole not breathing for half the time issue.

If he can, so can I :-)

<comment><USER11> You're doing it wrong if you're not breathing half the time. You just inhale sharply and exhale slowly for a few strokes; it should be almost meditative.

</comment></comment><comment><USER12>
        > how his heart holds up for eight hours of freestyle
        > every single day

I expect NPR to not confuse freestyle and front crawl :-/

<comment><USER13> Generally, at least in competitive swimming, "freestyle" is synonymous with "front crawl." Technically, you can swim using any stroke you want during a freestyle event, but hardly anybody does since the front crawl is both the fastest and most efficient.

<comment><USER14> I would go even further to say that after years of competitive swimming, I literally never heard it called "front crawl" by anyone. Every coach, swimmer, heat sheet, swimming record, etc...says freestyle.

NPR calling freestyle "front crawl" would be like referring to Tuberculosis research as "the consumption."</comment></comment></comment>


Ask HN: rss of HN? - <AUTHOR>

Is there an rss feed for /newest on HN? <comment><USER2> <http://news.ycombinator.com/rss>

There is a link in the footer.

<comment><USER3> This is a feed for the home page, not /newest. I don't know of a feed for /newest.

<comment><USER2> Oops. Mea culpa.</comment></comment></comment>


Go 1.11 released - <AUTHOR> https://golang.org/doc/go1.11 <comment><USER2> One of the other exciting things in this release is the almost entirely rewritten "prove" pass in the compiler:

[https://golang.org/doc/go1.11#performance- compiler](https://golang.org/doc/go1.11#performance-compiler)

> The compiler now performs significantly more aggressive bounds-check and > branch elimination. Notably, it now recognizes transitive relations, so if > i<j and j<len(s), it can use these facts to eliminate the bounds check for > s[i]. It also understands simple arithmetic such as s[i-10] and can > recognize more inductive cases in loops. Furthermore, the compiler now uses > bounds information to more aggressively optimize shift operations.

<comment><USER3> Any benchmarks yet?

<comment><USER2> Generally faster.

[https://golang.org/doc/go1.11#performance](https://golang.org/doc/go1.11#performance)

Depends what you measure. Some parts if you microbenchmark them are 10x faster, or much more.

</comment></comment></comment><comment><USER2> Of possible interest, I gave a talk about "Go 1.11 & Beyond" (read: "Go 2") a couple weeks ago:

[https://docs.google.com/presentation/d/1EwuJhEHR5Trr2aXBPQaj...](https://docs.google.com/presentation/d/1EwuJhEHR5Trr2aXBPQajZ2Hcoh29tm_LQCpgfrCnuRk/view#slide=id.g33148270ac_0_143)

(See speaker notes for more context)

<comment><USER4> Brad, is this presentation available anywhere else (say, exported to PDF)? Our company blocks all sharing sites, so docs.google.com is no go for me (and I cannot reshare it with my team). Would it be possible for you to drop it on golang.org somewhere?

Thank you very much!

<comment><USER2> Nope, sorry. I guess you can read it from home or on your phone if you employer doesn't trust you. :)

</comment></comment></comment><comment><USER5> "Go programs currently compile to one WebAssembly module that includes the Go runtime for goroutine scheduling, garbage collection, maps, etc. As a result, the resulting size is at minimum around 2 MB, or 500 KB compressed."

considering it includes the runtime, this isn't a large file compared to images / videos you find on the web today

<comment><USER2> And this is temporary. In the future we should be able to both do better size- wise & also to generate multiple WebAssembly output modules, perhaps one per Go package, to enable better (more fine-grained) caching.

<comment><USER6> I really enjoyed following the WASM CLs. A huge effort from both neelance and the reviewers. Thanks to everyone that donated their time to make this happen!

If the compiler output is deterministic perhaps the Go runtime and Go standard libraries could be bundled as modules, allowing for aggressive cache policies. Maybe even served from a central CDN. Just a thought ...

</comment></comment></comment><comment><USER7> Go does a lot of things right without having to carry legacy mistakes like other languages, it's such a breath of fresh air in a landscape of constant change and competing implementations.

I'm very optimistic that the modules system is another step in the right direction, however long it took to get here. Thanks everyone working on Go.

</comment><comment><USER8> As listed on the blog page - [https://blog.golang.org/go1.11](https://blog.golang.org/go1.11) \- two exciting features are modules and WebAssembly support.

Information about modules can be found at:

\- [https://golang.org/cmd/go/#hdr- Preliminary_module_support](https://golang.org/cmd/go/#hdr- Preliminary_module_support)

\- [https://github.com/golang/go/wiki/Modules](https://github.com/golang/go/wiki/Modules)

\- [https://research.swtch.com/vgo](https://research.swtch.com/vgo)

The wiki - [https://golang.org/wiki/WebAssembly](https://golang.org/wiki/WebAssembly) \- provides information on how to get started with using Wasm with Go.

<comment><USER9> There's also this great tutorial[0] that has been making the rounds these last couple of weeks.

[0] [https://roberto.selbach.ca/intro-to-go- modules/](https://roberto.selbach.ca/intro-to-go-modules/)

</comment></comment><comment><USER10> > Go 1.11 supports the upcoming OpenBSD 6.4 release. Due to changes in the > OpenBSD kernel, older versions of Go will not work on OpenBSD 6.4.

I wonder when Go is planning to stop using the kernel ABI on BSDs and macOS directly - in direct contradiction to stability guarantees (or lack thereof) by those platforms - and start using the appropriate APIs, such as libc. Or is it going to be stuff like this or [https://github.com/golang/go/issues/16606](https://github.com/golang/go/issues/16606) forever? Right now, I stay away from Go partly because of this - it feels like a bad idea to use a software stack that is guaranteed to be broken on future OS releases by design. Especially when that stack is advertised specifically for system programming...

<comment><USER11> [https://golang.org/doc/go1.11#runtime](https://golang.org/doc/go1.11#runtime)

"On macOS and iOS, the runtime now uses libSystem.so instead of calling the kernel directly. This should make Go binaries more compatible with future versions of macOS and iOS."

<comment><USER10> Good to see this getting fixed for macOS; but then why not on BSD as well?

</comment></comment></comment><comment><USER12> Finally the entire GOPATH nonsense is going away...

<comment><USER3> Eh, it wasn't the best, but it was still better than any other language's equivalent except for Rust's. In any case, modules have worked wonderfully for me so far.

<comment><USER13> > but it was still better than any other language's equivalent except for > Rust's

I'd say almost any language with project-specific deps folder (e.g. Node, Elm) are better than GOPATH and its module system.

For example, can't just write `import "./util"`. It needs to be fully qualified, every import depending on full project fs hierarchy including even the project user/name on github. This is hilarious when you just want to fork a project from github and get it running.

<comment><USER14> You can write `import "./util"`

Also, it's really not that bad considering that go works (`go get` grabs git repo) with git repos. So you can go into your GOPATH (or vendor dir) and checkout your fork in place of the origin. In the end, a little pain to get started to get used to it, then it's second nature.... but I suppose if you primarily work in other languages it is likely tiresome.

<comment><USER13> All three replies to me suggest that you can do relative imports in Go.

Can you link me to documentation that demonstrates them?

I don't understand. Either relative imports are not supported or they only work in some context that nobody uses. BTW I'm not a Go beginner, and my issues with Go aren't just an issue with "getting started" as you suggested.

I just tried them in an existing Go project and I get the usual "can't load package" error.

Two random links:

\- [https://stackoverflow.com/questions/38517593/relative- import...](https://stackoverflow.com/questions/38517593/relative-imports-in- go) "No there is no relative import in Golang."

\- [https://github.com/golang/go/issues/20883](https://github.com/golang/go/issues/20883) "Support relative imports in Go 2.0"

> So you can go into your GOPATH (or vendor dir) and checkout your fork in > place of the origin

Imagine the real-world case where you're working on more than one project at a time. Project X and Project Y both depend on a Util project on GOPATH, but they require different versions of Util.

Each time you switch projects, you cd into GOPATH and check out the right version of Util?

I'm sure this stuff works for a megarepo like the one Google has. But for the rest of us, this stuff was solved by package managers. A lesson Go ended up having to learn in the end.

<comment><USER14> Relative imports work, but keep in mind the import works based on package name. So "import ./foo", you must have a package called "foo" in "./foo"

\----

Yes, it is easy to forget that we use vendoring to get around these issues (and for other reasons).

</comment></comment></comment></comment></comment></comment><comment><USER15> Congrats & thanks to the Go team! I'm a big fan of Go and use it extensively.

Most exciting thing [which isn't really a thing] is that they've reserved RISC-V GOARCH values!!!!!!!!!!!! Looking forward to RISC-V everywhere!

</comment><comment><USER16> Modules release is definitely a "we told you so" moment. Depending on outside packages has always bothered me, and kept me from doing more with the language.

</comment><comment><USER17> Release notes > binaries;

[https://golang.org/doc/go1.11](https://golang.org/doc/go1.11)

Thanks everyone at golang.

<comment><USER18> Thanks! Updated from [https://golang.org/dl/#go1.11](https://golang.org/dl/#go1.11).</comment></comment>


NPR Radiolab: From Bitcoin To The Ceremony - <AUTHOR> http://www.radiolab.org/story/ceremony/ <comment><USER2> I like how they said turn off your phones while going to The Ceremony, but it's cool to leave them on during. And then when you're made, go take a walk.</comment>


Ask HN: Please give us feedback on our (anti-social) tool thinkery.me - <AUTHOR>

Alex and I built this tool (http://thinkery.me) because we were unhappy with existing apps like Evernote, delicious, historio.us, pinboard.in or other software on the market. Every tool we examined needed too much work to organize your stuff or does only one thing.
We wanted an app that extends your brain by:
- making it super fast to add new things, urls, todos, just throwing everything at it that is in your brain
- automatically extracting relevant content like text, audio, video, images (using oembed but also scraping the page identifying the relevant content)
- quickly finding your notes with instant-search
- keeping things private or making them public (to share them on twitter, facebook)...
My public things: http://thinkery.me/nader
Example of extracted page (truncated due to copyright reasons, private things dont get truncated): http://thinkery.me/nader/4d2ec7f67477595c14000000
Example of oembed content: http://thinkery.me/nader/4d245b10747759f448010000
We're not perfectly sure what direction to take. What we're sure of is that this needs a working mobile version but for the rest...would you rather focus on making the app more social or add features like:
- assigning things to / inviting other people (@-syntax?)?
- dragging'n'dropping of images into it?
- create filters so you can only display private / public things?
- extracting even more content by aggregating similar things?
- automatically retrieve tweets you favorited?
It would be awesome and very much appreciated if you gave your thoughts, feedback or posted any bugs you encounter. Also say if this is a tool you would use or what is missing so you would use it.
Looking forward to it!
PS: There is a delicious importer in case you want to try that out: http://thinkery.me/delicious.php <comment><USER3> One of the examples of what to enter into thinkery, "Who the fuck is JSON? #thought", is in poor taste and I'd recommend changing it to something else. Not that I personally find the word "fuck" offending, but it does feel unnecessary and out of place.

<comment><AUTHOR> I thought that would be funny but it seems I'm the only one, so gonna change that into something more meaningful. Sorry if you were offended by it :/

<comment><USER3> Oh, not at all! I get the idea, but the word just really stood out to me, and not in a good way. So I thought I'd mention it :)

</comment></comment></comment><comment><USER4> All in all, I like it. It's simple, useful, and the app gets out of the way to let me do what I want.

Some points of feedback:

\- The tagging functionality is kind of buried and isn't labeled at all. I'm not sure how prominent you want to make it, but here are two thoughts: you could allow for dragging of an entry to a tag on the left (this would be even more useful if there was a way to add a new tag on the left) or you could add tagging functionality before the edit page (like above or below the preview panel on the right)

\- I put in the wrong pw on the delicious importer but didn't see any error message.

\- Again, I'm not sure if this is a direction you want to go, but it seems like there might be some interesting collaborative elements you could incorporate; like logged-in users being able to leave notes on public items

\- Mobile would be nice, as would a browser plugin or desktop app that allows me to dump in content easily.

Most of my feedback would put you on a path to be more of a bookmarking service and maybe you want to leave things more open than that. Either way, congrats for making a great app and good luck going forward!

</comment><comment><USER5> As I'm a big fan of storing things in clumsy, inefficient ways just to get them down (drafts in gmail is my thinkery...) I can definitely see the appeal of something that just lets you type away with minimal structure.

The hashtagging of absolutely everything works really well #like

I like the idea of being invited to "Login to your brain" ;-) #interface

The facility to copy/paste in non-media files as well as text would be nice... obviously this takes up more bandwidth but that's something you can easily charge for. #suggestion

Whilst I very rarely use them, I think a screencast demoing the sites functions would be a good idea #suggestion

More social probably helps you promote the app, but your suggested feature list sounds a lot more _useful_

Also, like a number of people I seem to have had small problems with register/login (specifically the validations advise email addresses are incorrect if you paste/autocomplete them into place). #bug

Delicious importer doesn't seem to work with Yahoo IDs. Not sure if there's a way around that #bug

</comment><comment><USER6> Firstly, I love the easy use of adding and searching items.

Recommendations:

* Use more width for your design. It does have too much white space on the right side and therefore too few space for your content (Firefox 3.6.13 on Mac)

* There is text beneath your footer

* your logo on /titncs is blurry

* Maybe you could add an "processing" message, especially for amazon links

</comment><comment><USER7> Mobile apps would definitely be a priority for me, with an emphasis on fastest speed for adding things (should work well with the tags). Also, the paranoid me can't find an explicit privacy policy. Are private notes encrypted?

In addition to the Ubuntu issue already pointed out, the copyright overlay is blocking the bottom of your pages on various browsers, specifically "Get your own thinkery now >>" on the main page and "embed.ly" on the About page.

Tagging and display looks very useful. Overall I like it, and I'll be watching in the future for the mobile apps.

</comment><comment><USER8> I registered but was unable to actually try the service due to some error - "We couldn't interconnect the neurons.Please excuse and try again". Anyway, I saw the urls provided by you and here are some suggestions -

1\. If appropriate, deep integration with facebook, twitter, linkedin etc, not only to ease registration process but also for sharing content(in both directions)and other social features.

2\. Utilize FB API to provide a social network around your service and let users share/comment/discuss/rate/etc. about your public things.Provide top rated/discussed thinkeries somewhere on your home page.

3\. Instead of making it just public and private, provide access levels - public, friends, private, customized, etc.

4\. Mobile application for quick/anytime/anywhere thinkering.

5\. A search interface for searching public thinkeries and adding them to your own collection.

6\. Facility to add thinkeries through SMS, email, chat etc. example - <USER2> your new design/startup idea to your thinkery using short code or forward an intersting e-mail to your thinkery. That leads to another idea that e-mail and chats can also be a kind of thinkery items.

<comment><AUTHOR> Thanks for your feedback, lots of what you've written sounds very good. We'll put it on our list.

First we need to fix some bugs though. Did you get the error when you hit register or at another point?

<comment><USER8> I got the error after logging in @ my home page

</comment></comment></comment><comment><USER9> Give me options to share my thinkeries on my FaceBook wall and Tumblr and I would definitely use it. I might just start using it anyway.

<comment><AUTHOR> At the moment you need to set a thing "public" then copy&paste the link into Facebook. We're gonna introduce FB-Share/Like and Tweethis-Button soon. Is that what you meant/wanted?

</comment></comment><comment><USER10> I think I've found something I didn't know I was looking for.

Also...when I start to add a bookmarklet and click "cancel", it takes me to an error page.

I _think_ I'd rather not lose the page I'm on when I bookmartlet it, but I haven't used it enough to decide. If I click cancel I definitely don't want to. Maybe a new tab?

</comment><comment><USER11> clickable: <http://thinkery.me>

</comment><comment><USER12> I'm using Firefox 3.6 on Ubuntu, and the 'Try it Out' and 'Register' buttons are overlapped and the whole page is awkwardly clustered into the left half of my screen. Sorry to start you off with a bug report, your product solves a very real problem.

<comment><AUTHOR> No need to say sorry, thanks a lot for the feedback! We haved tested the site on Firefox 3.6 for Mac, Chrome and Safari. Unfortunately there goes the cross- browser-madness again because it's different on all systems.

You can try it out without registering if the main input field works, it's got lazy registration :)

<comment><USER13> If you paste something in the text box, the gray/hint text doesn't disappear.

</comment></comment></comment><comment><USER14> When I tried to register, I get an error upon entering my email address - "invalid email address" - I tried closing and reopening the register window. (I'm trying on Chrome 9/Win)

Otherwise, just looking through it - like the layout and the general concept is intriguing. To answer your question of focus, I like the idea of filters or aggregating additional content. (But please let me choose whether or not to accept those new content streams.)

EDIT: When I register from the homepage, the form works. Previously I tried to click register while viewing your sample Nader page.

</comment><comment><USER15> Try it out/Login buttons seem broken to me.

<http://imgur.com/aKDjW>

Firefox 3.6 on Ubuntu screen resolution 1280x768

</comment><comment><USER16> The concept is great. Love the low friction of the free form input as well as the public/private dichotomy.

One minor bug I encountered: If I enter "I like #foo" and save it, it is filed under the tag #foo. If I then edit that item to be "I like #food" it stays filed under it's original tag, #foo, rather than being moved to #food.

Edit: edited to clarify bug description.

</comment><comment><USER17> I can't register because my email address is too long 30 chars, it says "please fill out all fields appropriately" I'm running Chrome

<comment><AUTHOR> Wow, long e-mail address :) Gonna fix that, btw you can check thinkery without registering by simply typing something into the input field.

<comment><USER8> Make it 320 characters long. You never know how long e-mail address people can make.

<comment><USER11> actually there was no restriction on the length of the e-mail address but rather a problem with Chrome's autofill.

</comment></comment></comment></comment><comment><USER13> I like it.

I've been using a combination of tumblr/facebook-status-line to do these kind of things.

This is much much better.

</comment><comment><USER18> Hey you have something really attractive here, after lunch im gonna try it, and if it convinces me, i'd be very sorry for workflowy but i'd leave them.

More comments later :)

</comment><comment><USER19> I like it - make the private lock clickable though - the other icons do what's expected, but the lock icon does nothing

</comment><comment><USER20> Definitely need a mobile version. I write most notes on the go, and I'm sure that's true for a lot of people.

<comment><USER21> yeah, love it, but won't use it without a mobile version :(

</comment></comment><comment><AUTHOR> Thanks HN community. Your feedback was very valuable to us and awesome!

</comment><comment><USER22> Licorize does something similar.

I don't see anything new.

PS: I'm bitten by the type of services you note above, my "brain" is stored locally on my browser backed up by myself, I'm fine with what I have..

<comment><AUTHOR> Didn't check out Licorize yet but from a first impression this looks a bit different with the "projects" and "todos" ... or maybe i don't understand it fully.

Did you check out the content extraction, instant-search or posting a youtube url for example?

Thanks for the feedback.

<comment><AUTHOR> One more thing: I'm also using it for things like a shopping list where you can add a sentence with hashtag (like on twitter) and it automatically generates a tag out of it for you to filter.

<http://thinkery.me/nader/4d2b4a6e747759286c000000>

or something like an amazon product: <http://thinkery.me/nader/4d1d0ec2747759af42000000></comment></comment></comment>


Valve new-employee handbook (2012) [pdf] - <AUTHOR> https://steamcdn-a.akamaihd.net/apps/valve/Valve_NewEmployeeHandbook.pdf <comment><USER2> A very good bit of marketing from Valve, I remember reading this when it was originally leaked (or 'leaked', depending on how cynical you want to be) and being quite impressed with what seemed like a developer paradise. Because in the writing it _does_ sound like a wonderful company, but the fairly recent reporting on internal politics and power struggles at Valve ([https://www.pcgamer.com/ex-valve-employee-describes- ruthless...](https://www.pcgamer.com/ex-valve-employee-describes-ruthless- industry-politics/)) raise questions about how much the handbook truly represents what goes on, since the time period that Rich Geldreich talks about is from before this version of the handbook. (Previous HN discussion on that article is also very worth reading: [https://news.ycombinator.com/item?id=17584563](https://news.ycombinator.com/item?id=17584563))

<comment><USER3> It's still important to note that even with all disadvantages and problems listed Rich think that flat structure is superior to usual hierarchical one. PC Gamer article does mention it, but not to the degree you'll see on his twitter.

[https://twitter.com/richgel999/status/1018729819243143173](https://twitter.com/richgel999/status/1018729819243143173)

PS: And yeah I strongly recommend to read whole post history since he's really smart guy.

</comment></comment><comment><USER4> I remember reading this back when it was "leaked" onto the internet a number of years back. I remember being blown away by the fact that they were running an organization like this and actually succeeding and doing some amazing innovation.

This was back in 2012, when it actually looked like they innovated. Now it seems like their directionless. They still patch their old games adding one- off features, but I don't know if I've really seen a roadmap from them in a long time.

I could be completely wrong though, they aren't exactly a talkative company.

<comment><USER5> The big public thing they have coming up is a new online card game with a Dota 2 theme, it was initially booed when it was announced, but after they showed gameplay and announced that the creator of Magic the Gathering is one of the lead designers, it's getting glowing reviews from fans and proffesional players in other card games.

The only behind the scenes thing I've seen is a lot of work on VR, such as pressure sensitive controllers that translate your grip strength into effects in game, like crushing a small rock if you squeeze the controller hard enough.

</comment></comment><comment><USER6> I would be hesitant to take this as a manifesto of how to run a company. Valve was great 10 years ago, but they are now facing competition from GoG, Discord, independent distribution, bigger gaming companies, mobile gaming, etc.

> How does Valve decide what to work on?

> The same way we make other decisions: by waiting for someone to decide that > it's the right thing to do, and then letting them recruit other people to > work on it with them.

Is this why Valve hasn't released anything but mediocre hardware and steam updates? Where's the vision? What are they actually trying to do as a company? Are they just a place where people come and go and do whatever they want?

Don't get me wrong, I do most of my gaming through Steam. But I don't play Valve games. And I sometimes chat on steam, but mostly Discord. And my favorite games, Factorio and Rimworld, can all be purchased independently (minus Steam's cut I might add!). With cloud computing in full swing, indie developers don't need a store to distribute with.

<comment><USER7> I suspect there is quite a bit of turmoil inside the walls of Valve right now due to a series of large, failed bets that will eventually threaten their cash-cow platform.

> Steam controller/Steam Link

Huge flop. These are being practically given away now as Valve looks to get rid of their excess inventory. This being hardware, it had to be an expensive venture that failed to penetrate the living room.

> Steam machines

Another stinker, though Valve was able to successfully offload most of the risk onto OEMs with this one. Opportunity cost still bites.

> VR

I commend Valve for putting all their chips in on this, but it looks like the VR industry had yet another cold start. This will go down as an almost total loss.

All the while Valve has been neglecting game development which, while admittedly much more expensive and less rewarding than running a sales platform, ensures that there's a sufficient amount of first party titles to keep users on Steam.

With the advent of Fortnite and competing platforms from other triple-A studios, it's not so farfetched to imagine a complete fracturing of the games platform market over the next 5-10 years. Valve needs a return-to-roots moment to prevent this from happening

<comment><USER8> >Huge flop. These are being practically given away now as Valve looks to get rid of their excess inventory. This being hardware, it had to be an expensive venture that failed to penetrate the living room.

Was the steam link really a huge flop? That's sad, I absolutely love mine. It's probably one of the best purchases I've ever made cost-to-value wise.

<comment><USER9> I love mine too, and use it all the time, but I got it from a friend who bought a game that bundled the steam link for like $1 or something. No way they're doing anything other than trying to offload :(

</comment></comment></comment></comment><comment><USER10> I think this is an appropriate counterpoint from a former employee:

[https://www.reddit.com/r/valve/comments/8zmp07/former_valve_...](https://www.reddit.com/r/valve/comments/8zmp07/former_valve_employee_tweets_his_experience_at/)

<comment><USER11> That was quite a long rollercoaster read. I had heard about the exvalve employees twitter but this is nicely formatted in one reddit post

</comment></comment><comment><USER12> Very fine difference between new-employee handbook and new employee-handbook. I assumed the latter, knowing that it's from 2012...

<comment><USER13> Also when you click on the link it says "handbook for new employees".

</comment></comment><comment><USER14> Can this get a [2012] in the title?

</comment><comment><USER15> Oh, they use stack ranking (page 27).</comment>


Making 3D Terrain Maps (2017) - <AUTHOR> http://shadedrelief.com/3D_Terrain_Maps/ <comment><USER2> This is how to make 3D terrain maps "by hand", or with a lot of manual labor. Not how to use Mapbox or Cesium-JS to make an interactive map. "It is very costly to change, say, the direction of view, in the final stages of map production. Changing the direction of view by even one degree would mean starting over from scratch."

I've been trying to do 3D terrain maps in Mapbox, and real elevation isn't working yet. They only have "hill shading", which is what graphics people call bump mapping. They have an experimental project to use Three.js with Mapbox, which looks very nice, but it's just a demo right now. Cesium-JS supposedly can do 3D elevation maps, but I haven't tried it yet. These all produce live "slippy maps", like Google Earth - you can pan, zoom, rotate, and change the viewpoint.

<comment><USER3> See also ArcGIS API for JavaScript, specifically SceneView: [https://developers.arcgis.com/javascript/latest/sample- code/...](https://developers.arcgis.com/javascript/latest/sample-code/intro- sceneview/index.html)

Zoom in on a place, switch from pan to rotation, and look around.

There's also a more dramatic example: [https://developers.arcgis.com/javascript/latest/sample- code/...](https://developers.arcgis.com/javascript/latest/sample-code/scene- toggle-elevation/index.html)

</comment></comment><comment><USER4> The flat-earthers are gonna have a field day with some of these.</comment>


Weekend Project: Docusign - <AUTHOR> https://www.techsigndoc.com/ <comment><AUTHOR> My challenge continues to write million dollar products in 2 days. Here is my document signing platform: [https://www.techsigndoc.com/en/](https://www.techsigndoc.com/en/). It has more features than Docusign and already been used by 30+ workplaces.</comment>


BBC don launch Pidgin service - <AUTHOR> https://www.bbc.com/pidgin/tori-41004878 <comment><USER2> For people who were confused like me, this wired article - [http://www.wired.co.uk/article/bbc-digital-pidgin- language-s...](http://www.wired.co.uk/article/bbc-digital-pidgin-language- service) \- explains the launch of BBC in the pidgin language. Very cool.</comment>


Shareaholic Contains Spyware - <AUTHOR> http://www.shmichael.com/2010/04/shareaholic-contains-spyware/

<comment><USER2> Shareaholic for Firefox _does not_ contain any spyware. Privacy is critically important.

The API call that Michael refers to is related to the "Stats Monitor" feature of Shareaholic for Firefox that can be turned off at any time.

The Stats Monitor shows users the Compete.com stats for the page they are on. The API call is intrinsic to the functioning of this feature. For example, only by knowing which web page the user is viewing can the browser tool show the user information about that web page or Web site.

To disable the Stats Monitor, go to "Shareaholic Options" -> Display Options -> Uncheck Stats Monitor.

And, all users are now made aware of this feature upfront:

<http://www.shareaholic.com/tools/firefox/welcome> <http://www.shareaholic.com/tools/firefox/upgrade>

The Stats Monitor is only available in Shareaholic for Firefox.

<comment><USER3> Isn't an opt-out feature that shares user information _by definition_ spyware?

If not, what is spyware?

<comment><USER4> It's not spyware if it is necessary in order to supply functionality that was advertised for the program. It sounds like that is the case here.

<comment><USER3> But the functionality does not require a unique user id to be sent to the stats server.

<comment><USER2> Wish it was not needed, but Compete.com requires it from developers to prevent fraud usage of their API. fwiw, the Compete Stats API is usually a premium/paid service from Compete.com and the stats are generally not made available for free at scale.

Anyways, that is why it was made easy to shut off completely in case people didn't want to deal with it. Also making this behavior very clear in the next update within the extension itself (not just the welcome/upgrade pages). Privacy is critical.

<comment><AUTHOR> As far as I can tell, the "stats monitor" feature is not advertised on the front page. In fact, I tried navigating the site for a while but couldn't hit the Firefox welcome/upgrade pages that contain the disclaimer.

Most people upgrade their plugin via Firefox's addon manager, and skip the "what's new" page that opens up. This is because we trust whoever made the plugin to not introduce any malicious behavior in future updates.

Judging by the intrusive nature of this feature, I believe it should be opt-in rather than opt-out.

</comment></comment></comment></comment></comment></comment><comment><USER5> Did you e-mail the developers before posting this? I mean, it's really kind of mean to post something like this without trying to resolve your issues with the developers directly first. In this case, Jay happened to be around to respond, but you said you wouldn't want to hurt Shareaholic's reputation without being sure. Didn't everyone read Derek Sivers' piece? Screaming on the phone or sending nasty e-mails or posting accusatory blog posts _is not the first line of defense_ ; there are other humans involved.

Also, posting it to HN without the question mark in your title was totally bogus.

<comment><USER6> @sachinag: :( you are wrong. We should appreciate Michael Shynar for discovering this, else Shareaholic never mention this on their Firefox page.

<comment><USER7> @arpitnext disagree with you, and 100% agree with @sachinag. This could have been handled better by Michael.</comment></comment></comment>


Hash tables with O(1) worst-case lookup and space efficiency [pdf] - <AUTHOR> http://www.ru.is/faculty/ulfar/CuckooHash.pdf <comment><USER2> I've had some luck turning a cuckoo hash into a sort of LRU cache. Whenever you do an insert, replace the older item. Iirc, everything else stayed the same. Using more than 2 hashed really helped.

<comment><USER3> I'd been wondering how best to make an LRU cache, and now you come along and give a really good solution. Nice!

<comment><USER4> That is not LRU, it's "replace with some other random thing some time, based on a hash function".

</comment></comment></comment><comment><USER5> I'd just like to point out that the worse your hash algorithm is, the better Cuckoo Hashing compares to traditional hashing...... therefore, _study your hash functions_!

The ones that come with most languages or libraries by default quite simply aren't optimized for use on anything. There's hash functions that work better on strings and hash functions that work better on numbers (length bias). In the perfect world, this wouldn't be true, but in the real world, yes it is.

That said, may I recommend MurmurHash3: code.google.com/p/smhasher/wiki/MurmurHash3

Switch your hash tables to this. The performance difference is incredible.

</comment><comment><USER6> Cuckoo hashing is not only optimal in theory, it is also very fast in practice. The only downside, though, is that the insert time has linear-time worst case. Thus it may be not the best solution if latency is an issue.

<comment><USER7> "Linear-time worst case" is different from "amortized constant time", which is what cuckoo hashing provides.

Almost all the containers we use on a regular basis provide only amortized constant time inserts.

<comment><USER8> Linear time worst case and amortized constant time are not mutually exclusive. You are right that most containers that we use have amortized constant time complexity, but they also have linear worst case complexity. Most times this is because an internal array has to be resized and the contents have to be copied over to the new enlarged array.

<comment><USER7> No, they're not mutually exclusive. But what actually _matters_ in most software is "amortized constant time": linear time worst case only matters in hard real-time systems which can't tolerate any deviation from the expected runtime.

Even algorithms like binary trees can end up with very bad worst cases unless great care is taken in allocating their nodes.

</comment></comment></comment></comment><comment><USER9> An interesting algorithm, and an engaging presentation. If only more academic writing was this accessible!

</comment><comment><USER10> Is open-source implementation of this data structure available somewhere?

<comment><USER11> There is ckhash.

<http://canasai.tcllab.org/software/ckhash/>

</comment></comment><comment><USER12> I recently did an exercise on cuckoo hashing at <http://programmingpraxis.com/2011/02/01/cuckoo-hashing/>.

<comment><USER13> I had loved that article. It was very succinct.

</comment></comment><comment><USER14> I coded a cuckoo hashed hashtable for a class once, and recently had a lecture on cuckoo hashing given to my class by Rasmus Pagh himself (inventor of cuckoo hashing). Its really surprising actually how complex the probability behind cuckoo hashing really is (and how tied to graph theory/bipartite matchings it is).

The amazing part is, not only is access O(1), the expected insertion time whenever there is no rehashing is also O(1) and rehashing occurs infrequently.

</comment><comment><USER15> "WHY ELSE IS THIS COOL?" seems a very casual heading for an academic article.

<comment><USER16> It looks like it was a workshop paper, from the 7th Workshop on Distributed Data and Structures. I don't know much about that particular workshop, but workshops often aim for a more informal atmosphere, since one of their main roles is fostering discussion (incl. of works in progress) and bringing communities of researchers together to discuss things.

</comment></comment><comment><USER17> It's been my experience that the O(1) was on average, not worst case.

<comment><USER6> Cuckoo hashing has O(1) worst-case _access_ time, and O(1) "average" (amortized, to be correct) _insert_ time.

<comment><USER17> OK. That makes sense. If O(1) is worst case, what could be better :)

<comment><USER18> Well, smaller constant factors could be better :)

</comment></comment></comment></comment><comment><USER19> Mitzenmacher, the author of Probability and Computing, has an interesting survey on cookoo hashing. In it there are a number of open research problems that, for those of you with interest, a worth looking over. The 7th is very interesting to me, regarding optimal ways to maintain a hash table in a parallel computing environment.

[http://www.eecs.harvard.edu/~michaelm/postscripts/esa2009.pd...](http://www.eecs.harvard.edu/~michaelm/postscripts/esa2009.pdf)

</comment><comment><USER20> Every time I've tried comparing cuckoo hashing vs traditional hash algorithms in practice, the time taken to compute the additional hash functions outweighs any gains in performance.

Counter-intuitively, I've also noticed in many cases that using binary search over sorted elements in contiguous memory is actually faster than using a hash table at all.

Has anyone else found this?

<comment><USER21> > the time taken to compute the additional hash functions outweighs any gains > in performance.

Sounds like you're using the wrong hash functions.

Are you using secure cryptographic hash functions perchance? (such as MD5, SHA, etc) Because they're not intended for use in data structures.

Most data structure algorithms just require a hash function with good avalanche behaviour and a statistically even bit dispersion. The FNV hash will do this for you with just a MUL and a XOR per byte, which is (rough guess) at least 100 times faster than SHA. FNV hash (<http://www.isthe.com/chongo/tech/comp/fnv/>) it's super-effective!</comment></comment>


A new reason to love OpenDNS: no more ads (2014) - <AUTHOR> https://www.opendns.com/no-more-ads/ <comment><USER2> Founder of OpenDNS here.

No idea how this is on the front page, this is literally years-old news.

We haven't shown ads or done nxdomain redirection for more than two years.

We are, however, probably one of the best and easiest things you can do to raise the bar for user security on the Internet. We're also part of Cisco now[1].

1: [https://newsroom.cisco.com/press-release- content?articleId=1...](https://newsroom.cisco.com/press-release- content?articleId=1667697)

<comment><USER3> I had to look at the page source to find that there was a meta tag for description stating "As of June 6, 2014, OpenDNS no longer shows ads to users." Unfortunately, there is no indication anywhere on the visible page about the year.

 _Mods, please add 2014 to the title of this post._

</comment></comment><comment><USER4> Three years ago I was at a place in India for a couple of months where OpenDNS was _forced_ : the ISP literally intercepted all DNS queries and fed them through OpenDNS. The absence of NXDOMAIN was _really_ annoying. It easily convinced me that I wouldn't use OpenDNS by choice while they did that.

To me, this is actually "we've fixed the main reason to hate OpenDNS" rather than a new reason to love OpenDNS. I know that others there, non-technical others, also hated the behaviour.

<comment><USER5> Yes, it was absolutely horrible and to this day I don't consider using it because of how horrible it was back then.

From the other comments, I see that they actually stopped this horrible practice 2 years ago, and that this news is just out of date. But my thought is that I still wouldn't trust them with my DNS handling after making such a horrible move back then. It was such a major mistake that I have to worry they'll make other bone-headed decisions, too, and I just can't trust them with something that important.

<comment><USER6> So for you companies can never repent for their sins? I'd be interested in seeing the list of services you do use - I don't know many active companies that haven't had a bad idea somewhere down the line.

</comment></comment></comment><comment><USER7> > The OpenDNS Guide was, until recently, a helpful tool. If the website you > wanted to visit wasn't loading, we took you to search results instead of an > error page.

Why would anyone ever want to use a service that did that? I guess it's good that they're not doing that anymore, but that's really awful.

<comment><USER8> Well, nowadays in Chrome and probably some other browsers, Google is effectively doing that, i.e., showing suggestions when you make a typo in the address bar while typing.

<comment><USER7> Doing it at the browser level is a lot more reasonable than at the DNS level.

<comment><USER9> Back when OpenDNS started doing it, most browsers couldn't do it.

Hacking NXDOMAIN was a workaround that also happened to pay their bills. It was never a particularly good decision, but we need to evaluate it from the point of view of what was or wasn't feasible 10 years ago.

</comment></comment></comment></comment><comment><USER10> Using the free OpenDNS FamilyShield for years now: [https://support.opendns.com/entries/46060260-FamilyShield- Ro...](https://support.opendns.com/entries/46060260-FamilyShield-Router- Configuration-Instructions). Best solution I've found to get some parental blocking of p0rn or similar sites on Ubuntu/Linux.

</comment><comment><USER11> this shows off really well one of my pet peeves: news/blog pages that don't include the date anywhere

this change is over two years old :|

<comment><USER12> Apparently bloggers consider this a feature, because they want the content that they are putting to be considered "evergreen", and seeing [2008] on a blog post makes a lot of people bounce right off and discount the whole thing. Well, that's the idea, anyway.

<comment><USER13> I am not sure why you were downvoted, but that is exactly the reason why many blog posts don't display the post date.

</comment></comment></comment><comment><USER14> While this is old news and probably well-intenioned, I don't like anything being blocked out of my control. uBlock works great and shows me what's blocked.

</comment><comment><USER15> This seems a reasonable thread to ask this: I found a weird dns server, conspiracy theory level. If you grok dns and would indulge me, send me an email :)

</comment><comment><USER16> And here I was thinking OpenDNS was taking a brave, pioneering step: I thought this was going to be an announcement that they'd be blocking all ad networks at their end.

A web without ads. Too good to be true.

<comment><USER17> That would also be a web without net neutrality.

<comment><USER18> Not really -- using OpenDNS is your choice, not an infrastructure/policy requirement as if they were your ISP.

<comment><USER19> Where do you draw the line though?

Let's say OpenDNS and Google changed their DNS servers to resolve all ad domains to 127.0.0.1.

It is a private choice to decide to use those DNS servers, but such a large percentage of the public uses them that this would no doubt impact nearly all ad networks and websites.

<comment><USER20> > It is a private choice to decide to use those DNS servers, but such a large > percentage of the public uses them that this would no doubt impact nearly > all ad networks and websites.

Those ad networks might even die off completely! And that'd just be _terrible_ , really; however would people get by without being advertised at?

(Ideally you'd want the ad domains to not resolve at all, though, rather than resolving to localhost.)

I don't see how someone adjusting a service that they completely own and control to provide a more useful service would fall anywhere near a "line". That line is entirely drawn by the owners and operators of the service, and people can always choose to use a different service if they don't like that.

(That said, ad networks have sadly gotten sophisticated enough that DNS blacklists alone won't suffice, and could potentially break sites.)

<comment><USER21> _That line is entirely drawn by the owners and operators of the service, and people can always choose to use a different service if they don 't like that._

That's all well and good until whatever business _you_ run competes with the DNS provider or offends them in some way and they stop resolving _your_ domain name. You're not going to say, "well, people can stop using Google's DNS if they really want to use my service".

<comment><USER20> If a DNS provider does something they _can 't_ justify in the name of providing a better service, that makes it easier to convince people to use a different service.</comment></comment></comment></comment></comment></comment></comment>