Your DNA Is Out There. Do You Want Law Enforcement Using It? - <AUTHOR> https://www.bloombergquint.com/businessweek/your-dna-is-out-there-do-you-want-law-enforcement-using-it <comment><USER2> I'm more concerned about the impact on forensics, how these large banks of information will inevitably leak and compound upon developments in the creation of artificial DNA.

DNA evidence is considered infallible within the justice system, should it be? Here's a paper from 2009. [1] Around the same time the paper was published, the author was quoted in a NYT article [2] (again, nearly a decade ago) saying, ""You can just engineer a crime scene, any biology undergraduate could perform this."" Think about how much this field developed within the past decade. Here [3] is another paper from the end of last year about looking at methylation signatures on DNA to profile the person it belongs to. Imagine the possibility of finding badly degraded DNA at a crime scene and still being able to say, "whoever did this, they have this skin color, they're within this age range, they're a smoker, and they have frequent exposure to this particular industrial chemical." _Minority report_ wasn't imaginative enough.

I'm concerned about this being used politically, I think it's possible with enough money and motivation. I think our courts are too addicted to open-and- shut convictions to reevaluate the validity of DNA evidence going forward.

[1]: [https://doi.org/10.1016/j.fsigen.2009.06.009](https://doi.org/10.1016/j.fsigen.2009.06.009)

[2]: [https://www.nytimes.com/2009/08/18/science/18dna.html](https://www.nytimes.com/2009/08/18/science/18dna.html)

[3]: [https://doi.org/10.1186/s13059-017-1373-1](https://doi.org/10.1186/s13059-017-1373-1)

<comment><USER3> > _our courts are too addicted to open-and-shut convictions to reevaluate the > validity of DNA evidence going forward_

Have you ever served on a jury? These questions are deeply contemplated in selection, presentation and deliberation. If the evidence could have been falsified, a jury neutral to that argument will hear the defense's case.

<comment><USER4> What are you joking?

They strike anyone with a brain or domain-level knowledge (until they run out of strikes).

You never see the totality of the evidence; just what the judge "allows in" (that isn't prejudicial to the prosecutors case).

You don't know what the punishments are; half the time you aren't instructed on lesser offences; and most of the time you never even get to see the actual laws, or more importantly, case law.

if you think sitting on a jury (as it stands today) qualifies you to render any sort of judgement on the "evidence", you are woefully mistaken.

You are a puppet. A fop. Anything but "the last bulwark against state tyranny".

The appearance of justice, is the only thing Courts give a shit about. You are part of that appearance. A show, for the uneducated to think they still have a functioning legal system.

<comment><USER5> We've banned this account for breaking the site guidelines and ignoring our request to stop.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment></comment><comment><USER6> I think the ability to solve a criminal act via the technique described is perfectly valid. It's quite ingenious in fact.

What GREATLY concerns me is the thought of what happens when one of these companies gets down on their luck and sells all this data to an insurance company. Can you imagine what would happen to your rates and coverage if it comes back that your family has, say, a predisposition towards diabetes or cancer? There needs to be legislation enacted to strictly control how this information gets used. Furthermore an individual should be allowed to control how that information is shared and be able to opt out of any scenarios they are not comfortable with. Law enforcement scenarios could be exempt but tightly regulated to avoid abuse.

[edit] - its been pointed out that insurance co's can't do what I am describing (which is awesome btw). I think my point stands about the implications of this data being monetized to our detriment.

<comment><USER7> What happens when your sample is contaminated with a criminal's (or future criminal)? What if a clean sample generates a false positive match to something undesirable? What do you do when your erroneous genetic records close off doors or sends you through the criminal justice system? You will be powerless to fix it.

You are at the complete mercy of lab techs not screwing _anything_ up. It's safer not to put personally identifying information into a database.

<comment><USER8> Remember Annie Dookhan!

<comment><USER9> I had to look her up: [https://en.wikipedia.org/wiki/Annie_Dookhan](https://en.wikipedia.org/wiki/Annie_Dookhan)

She was a chemist at a crime lab who falsified large amounts of evidence.

This is pretty shocking.

> On December 17, Dookhan was formally arraigned on 27 charges—17 counts of > obstruction of justice, eight counts of tampering with evidence and one > count each of perjury and falsification of records.

> [The judge presiding over Dookhan's case] wrote, "Innocent persons were > incarcerated, guilty persons have been released to further endanger the > public, millions and millions of public dollars are being expended to deal > with the chaos Ms. Dookhan created, and the integrity of the criminal > justice system has been shaken to the core."

All of that resulted in a sentence of only three years (Nov 2013 to April 2016).

</comment></comment></comment></comment><comment><USER10> The creepiest bit is the GSK story: Where even if I've been careful to not use any genetic testing services, not granted anyone permission to access or use my medical data, etc., I'm still screwed because less privacy-oriented individuals in my family can effectively hand out "close enough" data for my genetic information.

Though honestly, DNA is probably the least worst data law enforcement could be using against me. It's reasonably accurate, and it requires they have actual physical evidence in a case they're investigating to compare against. While it's true I could've touched an object shortly before a killer did, it's very far from the dragnet approach of say... querying the identities of all cell phone users in a geographic area at a given time. If my identity pops up in a DNA search, it's reasonable that I will, at the very least, have useful data about the incident at hand.

I would like more protection though for search of these sorts of databases though. Searching a DNA database should require a warrant of some kind. For a judge to look at where the DNA was found and the circumstances of the case, and decide it's reasonable and warranted to conduct the search.

<comment><USER11> It's the combination that really scares me.

Your cell phone located you in the area at about the right time, _and_ your "close enough" dna was the only dna found on the murder weapon. Slam dunk case.

Don't even really need people to put this evidence together: AI can do it! What can possibly go wrong?

</comment></comment><comment><USER12> I took a course in college where we studied the basic process of DNA amplification. We were just learning at a theoretical level, but from what I understand almost anyone with access to a university biology lab and the associated training could easily create copies of a DNA sample. Doesn't that mean that it would be relatively easy for something like an intelligence organization to frame someone for a crime?

<comment><USER13> I guess they could point the suspicion to someone innocent, but I would be surprised if law enforcement didn't validate the DNA before sentencing a crime.

<comment><USER8> The cops have no incentive to run confirmations, for leadership to be re- elected they must appear "tough on crime" or something. There are just no consequences for false positives.

In Orlando the police arrested a fellow after a field test indicated that a box of donuts was coated in meth: [https://www.orlandosentinel.com/news/breaking-news/os- krispy...](https://www.orlandosentinel.com/news/breaking-news/os-krispy-kreme- glaze-orlando-police-20171012-story.html)

In North Carolina the police arrested several men after a field test that identified sugar as fentanyl: [https://wtkr.com/2018/08/29/2m-worth-of- fentanyl-seized-in-b...](https://wtkr.com/2018/08/29/2m-worth-of-fentanyl- seized-in-bust-turns-out-to-be-sugar-lab-finds/)

It's well known that that sort of test isn't specific for anything and merely gives law enforcement a pretext to arrest a nogoodnik they deem guilty. Why would anyone trust them to act different with DNA? The police's business is arrests, matches are good for arrests, confirmatory tests are bad for arrests, hence no checks.

<comment><USER14> It's not impossible that it really was fentanyl and some dirty cops stole it.

</comment></comment></comment></comment><comment><USER15> [https://www.themarshallproject.org/2018/04/19/framed-for- mur...](https://www.themarshallproject.org/2018/04/19/framed-for-murder-by- his-own-dna)

</comment><comment><USER16> Not sure if anyone's done this but I specifically put a fake name and email when I submitted my DNA test samples to maintain my privacy as much as possible.

I suppose they could track me based on my mailing address, which I didn't spoof, but it's better than nothing.

<comment><USER17> The scary thing about DNA and all of its future use is that all of your "privacy" measures are completely irrelevant, as the DNA of whoever is genetically related to you and known will easily lead back to you. And the probability of _someone_ in your extended family being registered in a genetic database will closely approach one within the next decade.

<comment><USER18> Specifically that's how they found a serial rapist. The rapist hadn't submitted his DNA, but enough of his family had.

<comment><USER19> I was reading somewhere on a security website that the topsy-turvy thing about that was that the impoverished, who tend to have entire families that are impoverished, are far less likely to ever be in these commercial DNA databases. So the people most likely to commit a crime, are the least likely to have DNA on file. (Of course he went on to point out that the poor are only more likely to commit _property_ offenses, and property offenses statistically require less DNA evidence to solve than personal offenses. So it wouldn't matter much in practice.)

It was an interesting take on the familial DNA issue with commercial DNA databases.

<comment><USER20> > impoverished, who tend to have entire families that are impoverished, are > far less likely to ever be in these commercial DNA databases. So the people > most likely to commit a crime

Well if we're going to make overgeneralizations like that, I could guess that the impoverished on average are more honorable than the rich, and less likely to commit crimes. In fact, that honor might even be the cause of their impoverishment. Crime pays and when the richest are so because they're willing to take money from under the table, outright steal it, or "earn" it from selling to addicts, what chance do the people that are trying to earn a living through honest means have? You know there are cemeteries for drug lords where the each tomb is a little mansion?

There's also studies where free money was given away to anyone that wanted to take it. Most looked well off and said they wanted it for purse or whatever taking a ton of bills. Homeless on the other hand would just take a few bucks to buy a hotdog or other necesity, too ashamed to take more.

There's also videos online of people trying to steal packages (the homeowner set up a camera and trap). All looked well off. They didn't look homeless or sketchy in any way. Some were even driving good cars.

Let's not judge people on the amount of money they have.

<comment><USER21> I don't think they were really making a moral statement saying that crimes are committed by bad people, but that crimes are often committed by people in desperate situations and reduced opportunities, which I think is a reasonable, non-moralistic interpretation of the statistics.

<comment><USER20> > saying that crimes are committed by bad people

That's different, and probably an objectively true statement unless law is written badly or by a thoroughly corrupt government.

> but that crimes are often committed by people in desperate situations and > reduced opportunities

That's what I'm not sure I'd agree with. It's just as logical to think that people (not all) in desperate situations are so because they're restrictive in their actions, taking only opportunities that are in completely in line with their moral ideals. It's also logical to think that people (also not all) that are well off might be so because they took opportunities that might not have been of the highest morality (if not to say that they might have been outright illegal).

> which I think is a reasonable, non-moralistic interpretation of the > statistics.

Can you cite those statistics?

What I dislike about that type of thinking is that it leads to prejudice, so I'm not sure it's "non-moralistic" in any case.

Anyway even if there is a location where most poor are bad and most rich are good, this seems to be very location and culture dependent. I don't think it's a claim that can be shown to be universally true.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> Your DNA and fingerprints can also be extracted from your trash.

</comment><comment><USER23> This article is so FUD that it hurts.

Honestly, yes, I want law enforcement to use DNA among other evidence they collect. I do not live in fear that law enforcement is secretly hunting me. If you do, speak to someone about your paranoia. My name and address have been on my public resume and my website WHOIS for over 5 years, and I haven't experienced any negative repercussions whatsoever.

 _I must not fear.

Fear is the mind-killer.

Fear is the little-death that brings total obliteration.

I will face my fear.

I will permit it to pass over me and through me.

And when it has gone past I will turn the inner eye to see its path.

Where the fear has gone there will be nothing. Only I will remain._

<comment><USER24> DNA is vastly different from your name and address, which many would consider public information. DNA is much more identifying and private.

<comment><USER23> Yes, and? Do you expect police to come to your house because you're a carrier for Cystic Fibrosis?

Please state your argument in full. Statements like this are just further FUD.

<comment><USER25> How would you feel about having a taser in a collar at the base of yours (and everyone's) neck? It only gets turned on by the authorities if they see a crime in progress. It's perfectly harmless otherwise, right? If you're not doing anything wrong, what's to fear?

In the case of markers like this, it's pretty easy to correlate by race or other heritable factors criminal behavior. If there's no harm in it, when a crime goes down in an area it seems reasonable to go and just round up all the people with rough genetic markers matching, right?

It might even make sense to keep them in groups organized by genetic markers and race, since that should speed up policework dramatically.

And later, if you want to procreate with somebody, maybe you should make sure their genotype won't mark your kids for poor treatment by the authorities-- after all, accidents _do_ happen, and the labwork is never 100%, so better safe than sorry.

Can you see why this makes people antsy?</comment></comment></comment></comment>


Show HN: Anonymously Ask a Black Person Anything via SMS - <AUTHOR> http://askablackperson.com/ <comment><USER2> This reminds me of the Berlin Jewish Museum's "Ask a Jew" project / exhibition (most, though not all, of the people who objected were not jewish).

It raised lots of complicated ethical issues that were hashed out in the press (and I could hear people talking about in cafés).

Here's an article about it in English: [http://www.newyorker.com/culture/culture-desk/ask-a- jewish-p...](http://www.newyorker.com/culture/culture-desk/ask-a-jewish- person)

</comment><comment><USER3> The creator's 'explanation': [http://socialwayne.com/2015/05/26/how-and-why-i- built-anonym...](http://socialwayne.com/2015/05/26/how-and-why-i-built- anonymously-ask-a-black-person-sms-platform-that-reached-almost-10000-page- views-removed-from-product-hunt-in-48-hours-with-twilio/)

</comment><comment><USER4> So - under "Recent Questions" \- is there a way to view the anonymous responses to the anonymous questions? I have no questions to ask, but am interested in browsing the answers to existing questions.

<comment><AUTHOR> Hi, that's a great idea. We'll add it to the features list.

</comment></comment><comment><USER5> I really hope that this will be collected in a data set that can be used for research. I think the analysis and observations will likely be eye-opening for many non-black people.

<comment><USER6> Frankly, I think we'd learn a lot more about non-blacks than we would about blacks from the data.

<comment><USER7> thats a great point - I was just thinking the same thing.

In any case, it might help improve society and reduce racism.

</comment></comment></comment><comment><USER8> How is it anonymous if I have to give you my number. Is there a way to text from a web client?

<comment><USER9> Search "receive sms online" :)

Ed: And use the Tor browser.

</comment></comment><comment><USER10> @waynesutton you've got a potential product. Many businesses don't know how to convert social media to sales. This however is simple

Repackage, repurpose your product for businesses.

Try testing small businesses e.g. Hotels, restaurants, schools to see if they'll pay to have customers chat, ask questions or make reservations over the internet.

However, you'd need a way to bring the cost of adding a new number down for scaling purposes. You could add a routing code to each SMS to transparently share one phone number amongst multiple businesses.

Hope you pivot instead of just shutting down

<comment><AUTHOR> @vezycash thanks. We're back up and running since Friday and getting hundreds of SMS.

Good idea.

</comment></comment><comment><USER11> Why doesn't it have a web interface?

I wanted to ask who the best new Black Comedians are, but I can't because I don't have a US phone.

<comment><USER12> I'm not black, but Hannibal Buress is my favorite. Trevor Noah's stand-up is rather good too.

</comment></comment><comment><USER13> How does this generate revenue? Is there some secret to cashing in on receiving SMS that I don't know about?

<comment><AUTHOR> Hi we do plan on generating revenue but that's a long tall play. Traction, growth then revenue.

<comment><USER13> Good Luck!

</comment></comment></comment><comment><USER14> What could you possibly want to ask specifically of a black person? What difference does it make to what someone can tell you?

How about "ask a blonde person"?

<comment><USER5> > How about "ask a blonde person"?

I've played that role.

I lived in Japan for 8 years, some of it in provincial areas. I have blond hair. You would be shocked at the number of questions I got about having blond hair. The most common one was "Can I touch your hair?"

More thoughtful ones were about hair treatment (I was told that my hair is quite fine by Japanese standards). While I didn't do anything special, and not all blond or Japanese hair is the same, there seem to be some treatments that differ based on the type of hair you have.

I am sure that my barber in Japan wished he had a Japanese version of "ask a blonde person" when I first walked in the door, because my appointment apparently caused him to stress out massively. I found this out later as my Japanese got better and I became more integrated into the community.

</comment></comment><comment><USER15> Are we really turning old Chappelle Show routines into startups now?

<comment><USER16> I mean, @Wu_Tang_Finance is a pretty hilarious twitter handle, so why not.

</comment></comment><comment><USER17> >>> "Luckly for you its free!"

Typo on home page.

<comment><AUTHOR> Thanks, fixed!

</comment></comment><comment><USER18> Everything I always wanted to know

</comment><comment><USER19> "I have a black friend who wants to listen to music. What music do I play to please him?"

WTF.

</comment><comment><USER20> The tone of the landing page is extremely racist. IMHO.

<comment><AUTHOR> @pcpolice are you saying that from a black or non-black perspective. What would you like to see changed?

<comment><USER20> The examples just seem preposterous. Like a sibling post says, "I have a black friend who wants to listen to music. What music do I play to please him?" \-- seriously? Would you say that about your friends? What about asking the person in particular, as I'm sure this doesn't generalize to skin color? Or, "Who are your top 5 rappers?" That's making quite an assumption. Or, "I'm having black friends over for dinner, what should I cook?" Like, whatever you normally cook, unless they are e.g. vegetarians or have allergies?

Yeah, in summary, I think the thing that bothers me most is what seems to be gross generalization all over...

Having said all of that, I am not black.

<comment><AUTHOR> @pcpolice I certainly understand your point but these are actually questions that people are asking. I mean we don't know who they are, what color, age, etc. But that's what people are asking. I mean look at the twitter feed - [https://twitter.com/aablackperson](https://twitter.com/aablackperson) All questions from people

<comment><USER20> Fair enough, I guess the main point is that whoever is being asked (you, I presume) is not offended :) At least, I hope you're not (maybe I can get a non-anonymous question in this way :p)?

<comment><AUTHOR> @pcpolice I've been in the internet/tech space for a long time. Developed a think skin and unfortunately expected some of the not so good sms. I'm good. It's a team of 9 answering questions and yes we're all black :)</comment></comment></comment></comment></comment></comment>


I'm a business guy with a prototype looking for a hacker - <AUTHOR>

Throw away account for privacy.
me:
* I'd consider myself a business guy or a product guy.
* I taught myself just enough Ruby on Rails to create a prototype.
* I'm looking for a hacker to help me iterate to the next level.
you:
* interested in sports (weightlifting, crossfit, olympic lifting, etc.) * basic design skills (you like simplicity) * RoR skills * wants to make $$$ (no ads) by charging for a good SaaS product
Please ask away for other questions, email in the profile. Prototype link will be sent to people interested. <comment><USER2> JMHO but if you aren't going to open the kimono quite a bit wider than that, I don't think you'll get many takers.

<comment><AUTHOR> What should I add?</comment></comment>


Any smooth cubic surface contains 27 lines - <AUTHOR> http://blogs.ams.org/visualinsight/2016/02/15/27-lines-on-a-cubic-surface/ <comment><USER2> The Wikipedia article might be more accessible: [https://en.m.wikipedia.org/wiki/Cubic_surface](https://en.m.wikipedia.org/wiki/Cubic_surface)

<comment><USER3> Ahh, thank you. My first reaction was "A surface of a cube is a square". I can define a square with way fewer than 27 lines.

<comment><USER4> Haha, my thoughts exactly

</comment></comment></comment><comment><USER5> Is anyone aware of which Greg Egan is referenced in the article?

I couldn't see any links to the original work, but I might be blind.

I suspect that it is the Australian scifi author, as it is the sort of thing he has done before, but I haven't dug into it yet.

<comment><USER6> Yeah, it's the SF author - he's collaborated previously with John Baez, as for example at [https://golem.ph.utexas.edu/category/2009/10/girih_by_egan.h...](https://golem.ph.utexas.edu/category/2009/10/girih_by_egan.html) where you can see the link to the applet goes to Egan's site at [http://www.gregegan.net/](http://www.gregegan.net/) or on the paper [http://arxiv.org/abs/gr-qc/0208010](http://arxiv.org/abs/gr-qc/0208010) co- authored by Egan, Baez and J. Daniel Christensen (referenced in Egan's wikipedia entry.)

</comment></comment><comment><USER7> Someone needs to build a threeJS/WebGL scene of this. So we can drag it around.

<comment><USER8> [http://matthewarcus.github.io/polyjs/clebsch.html](http://matthewarcus.github.io/polyjs/clebsch.html)

</comment></comment><comment><USER9> Incidentally, this topic gave rise to a much larger theory, namely _mirror symmetry_ (unrelated to reflection at everyday mirrors). Please take the following account of the history with some grain of salt, I'm not an expert on this topic.

After counting lines on a smooth cubic surface, you could also count lines on other manifolds, for instance three-dimensional ones given by a quintic polynomial (these are examples for "Calabi–Yau manifolds"). Also you could count curves of degree two, three, and so on instead of lines, which are curves of degree one. The calculations get increasingly harder: The case of degree two curves was only settled in 1986.

It therefore came as a surprise when a group of physicists (Philip Candelas, Xenia de la Ossa, Paul Green, and Linda Parkes) announced in 1991 a formula for calculating the result for curves of _any_ degree. They did so by inventing a new technique, mirror symmetry, in which one relates the "complex geometry" (as in "complex numbers") of the manifold on which you're counting curves to the "symplectic geometry" of a certain other manifold, dubbed _mirror_ of the original one.

Many aspects of mirror symmetry are still widely non-understood and many conjectures are motivated and made plausible by physical arguments.

[https://en.wikipedia.org/wiki/Mirror_symmetry_(string_theory...](https://en.wikipedia.org/wiki/Mirror_symmetry_\(string_theory\)) [https://en.wikipedia.org/wiki/Homological_mirror_symmetry](https://en.wikipedia.org/wiki/Homological_mirror_symmetry)

</comment><comment><USER10> Is the converse statement also true -- i.e., do 27 distinct lines define a cubic surface? Will have to think about this.

<comment><USER11> Take 27 lines that intersect in exactly one point (all coincide in the same). Would you tell that they define a smooth surface?

<comment><USER12> Certainly. Those lines could all lie in a plane, for instance -- that's very much a smooth surface.

<comment><USER13> It would not be cubic though (a plane is defined by a linear rather than a cubic equation).

(p.s. I was not the downvoter)

<comment><USER14> It's a little odd to say a polynomial "isn't cubic" just because the degree-3 coefficient is zero. Ordinarily what matters is that every coefficient of degree higher than three is zero.

Think of the result that you can fit a polynomial of degree _n_ to go through _n_ +1 points. It's easy to show that the polynomial indicated by that theorem which goes through a set of collinear points must be a line (degree-1 polynomial), no matter how many points are given[1]. But we don't say "as long as the points aren't collinear, this theorem holds"; we just accept that a line is a special case of cubic polynomial.

[1] Proof: the polynomial of degree _n_ going through _n_ +1 points is unique. The line going through _n_ +1 collinear points goes through all of those points, and therefore must be the unique polynomial of degree _n_ to do so.

I do see in the wikipedia article, though, that "cubic surface" appears to be defined to exclude polynomials which have any nonzero term of degree other than three. It's a weird world. :/

<comment><USER13> > Proof: the polynomial of degree n going through n+1 points is unique.

Suppose you have nine points lined up in an exact 3x3 grid. What, according to your proposed definition, is the unique degree 8 polynomial going through them?

There are two obvious cubic polynomials I can think of: One, cover the nine points by three horizontal lines and multiply the equations of the lines. Two, do the same with the vertical lines.

I can't really think of any reasonable way to distinguish any one of these (or another) polynomial over other candidates.

In contrast, with the definition that a cubic polynomial requires its coefficients to be of degree 3, you get things like Bezout's theorem:

[https://en.wikipedia.org/wiki/Bézout%27s_theorem](https://en.wikipedia.org/wiki/Bézout%27s_theorem)

<comment><USER14> I was bothered as I was writing my comment by an issue related to this one. A curve covering a horizontal/vertical 3x3 grid of points cannot be a polynomial, as, if it is interpreted as a function, it has the range {true,false}, but some other domain, probably ℝ^2. The result I mention should be applicable to a set of points which can be represented as a function from ℝ to ℝ; no curve covering two different points which are vertically aligned can be represented that way (well, you could transpose the axes, but for a 3x3 grid that won't work either).

I do have some questions, because I don't fully understand what you're saying:

Suppose the 9 points are {-1,0,1} × {-1,0,1}. The horizontal line equations are y = -1, y = 0, and y = 1. If I multiply those together, I get y^3 = 0, which is a single horizontal line. I feel I must have done something wrong there.

If I instead do (y + 1)(y - 0)(y - 1) = 0 I get y^3 - y = 0, which at least has y = -1, y = 0, and y = 1 as solutions. Since a cubic equation can't have four roots, this graph consists exactly of three horizontal lines. It's not a polynomial, since it has the " = 0" constraint embedded. (Using the definition on wikipedia, "[i]n mathematics, a polynomial is an expression consisting of variables (or indeterminates) and coefficients, that involves only the operations of addition, subtraction, multiplication, and non-negative integer exponents".) Is this what you meant?

I know I've seen a diagram of exactly the example you're talking about somewhere, as something in the spirit of "math fun facts". But I can't find it; do you know of a writeup you could point me toward?

<comment><USER13> I don't know of a good writeup, but y^3 - y = 0, or alternatively x^3 - x = 0, among other polynomials, is what you want.

In "ordinary" algebra, typically we consider polynomials of one variable, which we write f(x). The graph of the polynomial represents the set of solutions to y = f(x), or alternatively y - f(x) = 0.

In algebraic geometry, the solution set to y - f(x) = 0 is indeed a plane curve, but we think of y - f(x) as a special case of a polynomial in the two variables x and y. All such polynomials (except constant polynomials) also define plane curves. This is the concept that generalizes.

In particular: y^3 - y = 0 and x^3 - x = 0 are both plane curves, they are both polynomials in x and y (i.e. we can think of y^3 - y = 0 as a polynomial in not only y but also x, even though x doesn't appear), and the intersection of these two curves is the set of nine points in question.

Hope this helps.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Any polynomial of degree n has n roots, but some of them may be degenerate, and some of them may be complex.

So, how would that translate to the cubic-surface situation? Are there cubic- surfaces that are "degenerate", and thus have actually less than 27 lines?

Are all the lines expressible in real numbers? Or do we need complex numbers, like it is the case for polynomial roots?

Just some questions that popped into my mind.

<comment><USER16> > Any polynomial of degree n has n roots, but some of them may be degenerate, > and some of them may be complex

This is not true with multiple variables, consider for example "x __2 + y __2 - 1 "

</comment></comment><comment><USER17> Can we get one in the shape of a kitten?

</comment><comment><USER18> 27 * 4 = 108

</comment><comment><USER19> > _No matter how one goes about it, the proof of this theorem is nontrivial._

Is there a proof of this?

Also, AMS: adding additional text to the text I selected to copy is not cool.

<comment><USER20> Are you asking for a proof of the "fact" that all proofs of the theorem about cubic surfaces having 27 lines are non-trivial? If so, then no, there is not even a _definition_ of non-trivial proof, let alone a proof that any specific proof is non-trivial or a proof that there exists a fact all of whose proofs are non-trivial.

<comment><USER15> My definition of a trivial proof would be a proof that is mechanically verifiable. I.e., it is verifiable by even something as "dumb" as a computer.

Of course, such proofs tend to be longer than most proofs that are considered non-trivial.

<comment><USER20> Maybe years ago that would have been a plausible definition, but by now many proofs have been verified by computer, including several which probably no-one would feel comfortable calling trivial.

</comment></comment></comment></comment><comment><USER21> If you look up "-1/12" on Wikipedia page about; 1+2+3+4...=-1/12 it has a mention that: "Bosonic string theory not consistent in dimensions other than 26". But if you add one dimension for time you get 27. I wonder if there is a relation between all these pointing to the number 27.

<comment><USER22> That 26 already includes a dimension for time.</comment></comment>


MeeGo is not dead yet - <AUTHOR> http://gigaom.com/mobile/meego-not-dead-yet-as-lg-continues-the-charge/

<comment><USER2> It's just resting.</comment>


BBM's Android And iOS Launch Weekend Going About As Badly As Possible  - <AUTHOR> http://techcrunch.com/2013/09/22/bbm-android-ios-launch/

<comment><USER2> When I heard the news of BBM for iOS launched, I did search in App Store, nothing but just could see a white blank screen. Then I used google to find the direct link, can't even open that in App Store.</comment>


As Campaign Ends, Was Calling Out "Dying Platforms" Good for Posterous? - <AUTHOR> http://www.readwriteweb.com/archives/as_campaign_ends_was_calling_out_dying_platforms_good_for_posterous.php

<comment><USER2> _"We knew we had to make some bold statements to break through the clutter but weren't intentionally trying to piss people off."_ Rephrased: we had to create a completely BS and offensive marketing message in the hope that people get offended and start talking about our import tools and this marketing campaign. We call it buzz marketing.

And yes, indeed, the short term bump has been "huge". As if they'd use any other word.

The real question long-term is how many people have they put off compared to the number of people they are going to gain. Personally I am never going to recommend Posterous to anyone from now on.

<comment><USER3> I don't care about the marketing, but learning about easy import from a custom WP installation got me to finally switch. Would I have heard about that if it weren't for the drama? Maybe.

<comment><USER4> I still don't get it, I was under the impression that moving blogs around was a standard feature of blog engines. Certainly few blog engines would not have a "import from Wordpress" feature?

</comment></comment></comment><comment><USER5> I thought Matt Mullenweg, WordPress founder, left a great comment on the "top 5 reasons to switch from WordPress post" at [http://blog.posterous.com/top-5-reasons-to-switch-from- wordp...](http://blog.posterous.com/top-5-reasons-to-switch-from-wordpress-to- pos) that clearly communicated his commitment to serving his customers.

       "Do you mean WordPress.org or WordPress.com in this post? The graphic
        isn't entirely accurate for either, but would be best to specify. Also,
        if you get a chance, WordPress usually has a capital P if you wouldn't
        mind fixing that up.

       Also, do you guys still support posting to WP? I sent a few people your way
       including Jason Calacanis before we had our own email feature, but I can't
       find info about that on the site anymore.

<comment><USER6> I've been really impressed by the way Matt carries himself when talking about WordPress.

<http://news.ycombinator.com/item?id=1457253> is a good example. If you go through his comment history here, you'll see a really good exchange talking about WordPress security as well.

</comment></comment><comment><USER7> Though I still use and enjoy Posterous (as well as at least two of the tools they criticized in this campaign), this entire campaign has bummed me out.

I generally am against defining yourself oppositionally, but concede it's probably hard to avoid when the other side is doing it, too. But the competitors weren't doing it.

Not only did the campaign not match the feel of the market (users were not being zero-sum about their publishing choices, competitors were talking more about their product and communities than competitors), it didn't match the feel of Posterous. Having read and listened and enjoyed what little I know about the founders, it didn't match my picture of their real vibe.

Most of all... probably everybody on this board agrees... feature lists are over as compelling marketing. What does the product help me do? User experience is what wins. (exhibit A, iphone... it redefined the entire feature phone market that came before)

And the funny thing is... Posterous's user experience is _awesome._ They didn't even have to go the feature route. It really is "dead simple" (their original catchphrase) to use. When they used that phrase (not that they invented it, but they use it really well), it stuck in my brain. I repeated it to others. Posterous totally had a marketing gimmick nailed and working: emphasize the experience and the easy angle.

All their feature comparison charts have felt totally disingenuous. For every X a competitor gets for something Posterous has, they usually have 4 things Posterous doesn't. I mean, making WP look like it less features than Posterous??! What an unnecessary risk of credibility.

Posterous people:

I LOVE your product. I use it alongside WP and Tumblr (Tumblr is social and has conversational hooks built in. I've never compared the two.).

Your campaign really bummed me out and disappointed me. I guess I just don't think it's the real you.

Your experience is awesome, and you keep adding new features. I have no concerns about your product, and will confidently recommend it. Just don't indulge the feature troll. We've come so far in an industry. Feature lists are for dying enterprise companies trying to make us feel better about software we hate using.

Go back to the OG Posterous flavor.

Your fan in Portland,

Andy

</comment><comment><USER8> Pretty dirty if YC did indeed remove an article criticizing one of their start-ups. Maybe it was the right move short term, but that kind of crap does the site and YC long term harm. Can a moderator confirm or deny:

"The debate was heated even further when posts discussing the issue were deleted from the popular news discussion forum, Hacker News. Some accused moderators of the forum - part of Y Combinator, a startup incubator from which Posterous graduated - of intentionally removing the anti-Posterous discussions."

<comment><USER9> If you set "showdead" in your profile, you'll see all this stuff. I'm not a moderator, but I can confirm that there was a front-page anti-Posterous story that got killed, and then there was a very highly voted "Ask HN" about that story getting killed, which itself got killed. Of course, this doesn't mean they were killed specifically for being anti-Posterous.

<comment><USER4> I was under the impression that some of the Anti-YC posts were killed for real (not even visible with showdead anymore), but maybe my memory fails me.

</comment></comment></comment><comment><USER10> How ironic: just yesterday email was dying in tech media and today it seems that an email blogging company has taken on obsoleting web-based blog publishing :)

Seriously, nobody needs to die here: we're not at war! :)

</comment><comment><USER5> When a competitor goes out of business or is acquired it's not uncommon to announce a "white knight" or "rescue program."

It's a little more unusual to claim that a number of larger competitors, several of whom appear to be growing more rapidly (at least in adding number of users if not %), are "dying platforms." Offering a migration to folks unhappy with a competitor and suggesting differentiating benefits that you offer no one can get unhappy with, it's called positioning.

Characterizing more than a dozen of your competitors as "dying" seems like it will leave a bitter lingering aftertaste in both competitors and their customers.

What's overlooked in Pearson's statement "We have nothing against our competitors - we're just playing to win," is that few markets are winner take all and competitors often have to cooperate to create a viable industry.

If they had tried to own their niche and enabled bloggers to migrate who wanted their feature set I think they would have gotten 90% of the benefits, maybe more since it's not credible that they are "better than everyone else" which is what their chart graphics purport, and not laid the groundwork for long term negative feeling if they had left out the buzz generating "dying platform" characterization.

</comment><comment><USER8> This is a lazy, one-sided, and incomplete story. A good article would have gotten comment from ANY of the competitors, or at least noted they refused to comment.

</comment><comment><USER11> I have learned that

* "legacy software" is anything not from Microsoft

* that salesmen will sit in a meeting with you and your PHB and say of the company that sold your iron "Are they still in business?"

* and in general that the two most powerful words any salesman knows are "Everyone is". That the rest of the sentences takes on steadily changing and commonly contradictory values (going to .NET/App Engine/Drupal) does not seem to diminish the effect.

So I may not believe the Posterous message but I wouldn't single them out for the delivery. After all, Nobody ever got fired for buying Posterous.

</comment><comment><USER12> I don't get the whole kerfuffle - the people that are most likely to get pissed off over the "dying platform" verbiage are the exact opposite of the target demographic anyway. If you're happy with your blogging platform of choice, then you're probably not the type to switch away.

But if you have gripes, or have at least wondered if there's something easier than might keep the posts flowing, then posterous is for you. And they're showing they're dedicated to ease-of-use by rolling out 15 different importers.

<comment><USER13> Posterous looks fascinating. Many blogs are using it. I was considering switching from tumblr to see if there were compelling benefits.

But this campaign turned me off; Posterous, by claiming it is the successor of all blogging software, makes me suspicious how they will react when someone comes along to obsolete _them_. If they're in it to win, how do I have any assurance I'll benefit from their service if they "lose"?

</comment></comment><comment><USER14> <i>"We knew we had to make some bold statements to break through the clutter but weren't intentionally trying to piss people off."</i>

I wish they had the balls to say "Yes, we did want to call out the other platforms!" Basing your campaign on this saying and then seeing this quote makes me think they're going back on their words.

</comment><comment><USER15> I could see another company call posterous a dying platform due to lack of revenue.

</comment><comment><USER16> Judging by the "huge" (any numbers Posterous?) short term bump, the campaign is successful for its publicity and buzz. But I doubt it will result in long term sustainable draw for Posterous. As the article rightly pointed out, many are also pissed at how it was carried out. I suspect many of those who signed up during the campaign are not actual switchers, but bloggers who created a Posterous account just to test out the import tool. Switchers or non-users whatever, Posterous at least has the number to show to their investors.

</comment><comment><USER17> I was of two minds about it. On one hand I thought it was rude. On the other hand, there's a saying that no publicity is bad publicity, even bad publicity. The only thing worse than having some people saying bad things about your business is if nobody anywhere is saying anything about your business.

That said, I like Posterous and want them to succeed.</comment>


N.F.L. To Fine Teams If Players Kneel During Anthem - <AUTHOR> https://www.nytimes.com/2018/05/23/sports/nfl-anthem-kneeling.html <comment><USER2> Do the leaders of the NFL have brain damage too?</comment>


Why I prefer objects over switch statements - <AUTHOR> https://enmascript.com/articles/2018/10/22/why-I-prefer-objects-over-switch-statements <comment><USER3> Firstly, switches are arguably way, way (waaaay!) more readable than the code proposed. It's a matter of taste for sure, but arguably a basic construct of all curly languages and more is easier to understand than a rather esoteric code where a pattern is substituted for a keyword. Of course though, it is true that switch statements in JavaScript have issues with breaks and code blocks, but any half decent linter will tell you about those.

Most importantly though, the performance profile of the solution proposed scares me a lot. To understand why, consider that it is not uncommon for switches to be JITted as:

\- If statements and gotos for small number of options or \- Collections of lambdas for high number of choices (note, much more optimized than the lambdas proposed, very likely!)

The reason they are built this way is performance (another commenter ...commented that performance doesn't matter - they are wrong, a switch can be nested in a hot loop ran millions of times and they do matter). Therefore, it's easily arguable that the presented pattern will significantly worse in some cases (few choices) and that should not be underestimated.

<comment><USER4> > another commenter ...commented that performance doesn't matter - they are > wrong, a switch can be nested in a hot loop ran millions of times and they > do matter

I'm curious how often you find yourself dealing with loops that run millions of times? I think the majority of loops I've written don't need to deal with millions of iterations; most of them probably only rarely break 1000 iterations, and I know for sure that a lot of them _can 't_ exceed 100 iterations because of limits in the data.

Seems to me that using a switch over another structure for performance at the expense of readability or maintainability is an example of premature optimization unless you're positive the condition is going to be in a hot loop.

<comment><USER5> moderately sized database, pixels on a screen

<comment><USER4> Both of these seem like cases where you would know you're in a hot loop. I wasn't really clear in my comment that of course you should optimize loops that you know get run millions of times. I was saying: pick your tools based on the context of the code you're writing. Most simple applications involve tens or hundreds of loops that rarely iterate over more than a few values and don't get run more than once every few seconds.

</comment></comment></comment></comment><comment><USER6> This wouldn't really be Hacker News unless an arrogant Lisp devotee shows up and claims that Lisp does everything better, so I'll now try to be that arrogant Lisp devotee.

Sean Johnson has given a fantastic talk about pattern matching in Clojure:

[https://www.youtube.com/watch?v=n7aE6k8o_BU](https://www.youtube.com/watch?v=n7aE6k8o_BU)

He offers some interesting comparisons between Clojure and Erlang.

Going even further, I recently discovered Dynamatch:

[https://github.com/metasoarous/dynamatch](https://github.com/metasoarous/dynamatch)

" _Dynamatch addresses these challenges by enforcing a certain structure in our ordering of match clauses such that many of the incidental complexities of order dependence in a dynamically extensible pattern matching system become more manageable._ "

Sometimes it seems like Erlang or Haskell has the last word in Pattern Matching, but I'm not aware of anything like Dynamatch in those languages.

<comment><USER7> No thread on HN would be complete without the JavaScript programmer jumping in to "well actually" your response, so I formally nominate myself to fill that role. ECMAScript is getting pattern matching! It's currently a stage 1 proposal with backing from Microsoft, npm, and Facebook.

[https://github.com/tc39/proposal-pattern- matching](https://github.com/tc39/proposal-pattern-matching)

<comment><USER8> That's interesting, but makes me wonder: how does this spec cover these cases:

\- select for a map with key "a" and not "b"

\- select for a map with key "a" and possibly "b"

\- select for a map with key "a" and possibly any other key.

<comment><USER7> It's the first step into pattern matching, so I'm not surprised that it isn't as complete as other languages' implementations. But even without further language modification, I'd bet there are some tricksy things you could do to replicate that behavior. As the saying goes, "JavaScript finds a way"

</comment></comment></comment></comment><comment><USER9> ≥Object lookups are fast and they're faster as their size grow

It's difficult to imagine a switch large enough where the performance difference would matter, but this ignores the memory required to store the lookup in the first place. In all of the switch examples a switch is more straightforward.

In the latter examples (see the Boolean example) we now perform the lookup twice if the value is present. I feel like this is just another case of "use the right tool for the job".

<comment><USER10> A lot of C/C++/Fortran compilers have very well-developed handling for huge switch statements because of generated code. Interpreters and other finite state machines, etc etc.

<comment><USER9> Sure. I didn't want to go into too much depth on performance here as I'm a C and C<variant> guy primarily, only writing JS when I have to.

</comment></comment></comment><comment><USER11> I mis-read the title as meaning a preference for using classes to handle each case over ML-style switch/case statements.

The JavaScript 'object' here is called "map" or "dictionary" etc. in other programming languages. (And the article's technique is fine).

<comment><USER12> While you can use any value as an object property key in JavaScript, I'm not convinced the negative performance tradeoffs are worth the supposed benefits in the article.

I appreciate `switch` - with its case-fallthrough surprises beginners but most C-style languages all share this quirk - and modern-day compilers and linters will gladly remind you that usung Duff's Device-type tricks in JS don't work.

As an aside, in C#, a string-based switch statement is actually compiled to a lazily-initialised hidden Dictionary<String,Int32> object where the values are the real integer case values - so kinda similar to the linked article - <USER2> without the runtime possibly reallocating and reinitialising the dictionary object on every invocation.

<comment><USER13> This is one nice thing about Go, which uses explicit fall through with break being there default. You can still fall through if you want.

However, I've come to love pattern matching in Rust. It prevents fall through entirely, which makes it unnecessary to check if the code is doing something clever with fall through, which makes the code more simple to parse.

</comment></comment></comment><comment><USER14> The author's basic complaint with the Javascript switch statement is that it's essentially a structured series of 'goto' statements. They think that each 'case' should behave as an 'if-else' where each case has its own lexical scope, and the control flow doesn't leak from one case to another. They think that pattern matching is a better model for 'switch' in practice.

How often do you use a 'switch' statement whose cases don't always end in 'return' or 'break'? The "coroutines in C" [0] article is a clever use of switch-case as a goto, but it seems like you need to invent new types of control flow to use 'goto' properly. Does anyone have other clever uses of 'switch'?

[0] [https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html](https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html)

<comment><USER15> This is my favorite from a library I wrote ~6 years ago:

[https://github.com/ricardobeat/require- tree/blob/master/inde...](https://github.com/ricardobeat/require- tree/blob/master/index.js#L16-L22)

The goal is to accept a 'filter' argument that can either be a string, an array of strings, a regular expression, or a filter function. It fully uses fall-through and the multiple entry points. I find it magical, in that it turns all of those into a function so the remainder of the code doesn't have to care, and it's not any less efficient. Similar feeling to finding a use case for 'Infinity' :)

        switch (type(filter)) {
            case 'array'    : filter = filter.join('|')
            case 'string'   : filter = new RegExp('^('+filter.replace('*', '.*')+')$', 'i')
            case 'regexp'   : filter = filter.exec.bind(filter)
            case 'function' : return filter
        }

<comment><USER16> This is one of the most amazing pieces of code I have ever seen

</comment></comment></comment><comment><USER17> I mean, they're both useful for different purposes.

When you're dealing with 4 possible values, each of which will result in wildly different code (e.g. evaluating the value of a options variable, or handling error codes that mean very different things), then switch is clearly the way to go.

When you're dealing with 20 or 200 different values, all of which map to a few similar variations, then defining an object or array lookup is clearly preferable.

"Preferring" objects over switch statements is like saying you prefer bitmaps over vector drawings -- it's nonsensical. Different tools are better for different jobs.

</comment><comment><USER18> I remember getting in arguments when I was doing F# over my use of Maps of functions to basically handle dynamic dispatch. I would construct a map like `let handlers = [| "somekey",func1; "otherKey", func2 |] |> Map.ofArray`, and then when I needed to handle something down the line, I would write something along the lines of:

let myHandler = defaultArg (Map.tryFind theKey handlers) (fun x -> //default stuff)

myHandler theValue ....

I liked this approach, since I could dynamically add functionality, and it could be completely decoupled from the business logic, and I didn't have to use strings for keys, but my coworkers didn't like that how dynamic it was, since in fairness, it did sometimes make it a bit more difficult to figure out which path the code was going to go down.

Never really determined who was "right" in this case, but this post reminded me of that.

</comment><comment><USER19> I wrote an old computer emulator in javascript. The inner loop is a large switch statement where each case handles one of 256 opcodes. Firefox handled it fine, but chrome performance was poor. It turns out that above a 128-way switch, the jit gives up (or it seemed to).

First I tried doing what the author suggested -- having 256 routines, and a dispatch table. Chrome performance got better, and Firefox performance got worse.

In the end, the fastest thing to do was to have "if (opcode < 128) { 128-way switch } else { 128-way switch }".

That was 2014, so likely things have changed.

<comment><USER20> Ironically, that's precisely how a lot of old Z80 and 6502 programs managed conditional execution. We used to call it a 'jump table'.

</comment></comment><comment><USER21> Alternatively titled: "How to go to war with your linter, type checker and other static analysis tools and win"

</comment><comment><USER22> In Swift, switch is my new favorite tool, combined with Swift's enums and amazingly strong native pattern matching. It has absolutely changed how I write code, and makes me wish it were a tool I could reach for whenever I'm working in another language. Some examples: [http://austinzheng.com/2014/12/16/swift-pattern-matching- swi...](http://austinzheng.com/2014/12/16/swift-pattern-matching-switch/)

<comment><USER23> Came here to say this. Many of the complaints about switch statements are about classic, kinda terrible, implementations of switch statements. Swift gets that right. Like, really super right.

</comment></comment><comment><USER24> The article provided some good examples of times when code readability can be increased without a bulky switch statement. However, there are times when I find the switch statement most closely communicates the idea of what needs to occur to some developer in the future.

</comment><comment><USER15> As someone who has migrated between heavy use of these patterns in the past (object -> switch), I'd like to provide a few counterpoints.

First, and this is more of a general observation for any kind of programming content, these pompous-sounding abstract value judgements need to stop:

        1. Is more structured.
        2. Scales better.
        3. Is easier to maintain.
        4. Is easier to test.
        5. Is safer, has less side effects and risks.

Regarding `switch`, only the last is a fact and that's because of the `break` statement peril. Still there aren't really side effects or other 'risks' involved. Everything else is completely subjective and not supported by the examples above - I, for example, find switch easier to maintain as you don't need to juggle variables defined outside the object to keep it clean.

Second, these articles use innocuous examples that don't reflect real use cases, and hence fail to demonstrate their utility. You'll find a ton of switch statements in any kind of parser since it's the perfect construct for the occasion where each branch can wildly differ in content and complexity, and might embed flow control that would complicate the object-based version:

        switch (node.type) {
          case "Identifier":
          case "ObjectPattern":
          case "ArrayPattern":
            break

          case "ObjectExpression":
            node.type = "ObjectPattern";
            for (var i = 0; i < node.properties.length; i++) {
              ...
            }
            break

          case "ArrayExpression":
            ...
        }

Finally, `switch` is wonderful when paired with `return`, since it eliminates point 5 above. Sample taken from a project I have lying around:

        switch (unit) {
            case 's': return value * 1000;
            case 'm': return value * 1000 * 60;
            case 'h': return value * 1000 * 60 * 60;
            case 'd': return value * 1000 * 60 * 60 * 24;
            default : return null;
        }

With the key lookup, you'd also end up precomputing all of those values (imagine that's a slightly more expensive operation than simple math), or turning each one into a function. Another good example is the state reducer pattern:

        switch (action.type) {
            case 'ADD':
                return state.concat(action.payload);
            case 'REMOVE':
                return state.filter(item => item.id !== action.payload.id);
            default:
                return state;
        }

The key lookup pattern can hold its own in the simple cases, but it's hard to justify it with anything more than stylistic preference.

<comment><USER25> This is exactly correct. The cost of holding the entire object in memory, for any significantly complex statement, is going to add up quick if you're dealing with large numbers of users/pageviews/etc. The cost of pre-calculating everything in the object for any complex math similarly gets large when you're dealing with something large-scale. Early returns matter a _lot_ with scale, _and_ make [code line of sight]([https://medium.com/@matryer/line-of-sight-in- code-186dd7cdea...](https://medium.com/@matryer/line-of-sight-in- code-186dd7cdea88)) much clearer -- which matters a lot of if your team scale is larger, as in many companies that might have multiple teams working on one shared codebase.

</comment></comment><comment><USER26> I don't know javascript, but in the proposed "structured" code, doesn't it execute initialization statements for _every potential cases_ even when you call it only once? I.e.,

        const getValue = type => {
            const email = () => 'firstname.lastname@example.com';
            const password = () => '12345';
            ....

Now "const email = ..." will be executed _every time_ even when you're just asking for password. Eventually, such a code "scales", become a bloated behemoth with twelve cases, called a hundred time deep inside a server, initializing everything every time it is called, with potential side effects...

...and then one day a starry-eyed new hire looks at the top-level code, thinking "Heh, this is an internal graph server, why does it need customer email addresses?", removes the top-level config line, and then suddenly all internal dashboards go blank because they can't read email addresses.

...Yeah, you can probably tell that I'm not a fan of this technique.

</comment><comment><USER27> Fun fact: There's an optimization technique for OO languages called polymorphic inline caching that boils down to... a switch statement that speeds up method dispatch by branching directly to a method implementation for one of a few common types. If the object is none of those types, it falls through to a more conventional method lookup.

</comment><comment><USER28> The discussion is missing the most important point, IMHO: readability and maintainability of the larger system in the long term.

I used to love objects and multimethods (or single-dispatch multimethods for those more limited languages). But then I ended up debugging a large code base which used them extensively. It is a nightmare: by reading the code, there is no way to find out what all the dispatch options are, and without interactively debugging it there is no way to see which code will get called (inheritance messes things up greatly).

I think performance is secondary to these problems, so these days I prefer switch statements (or pattern matching), for their simplicity and reliability.

</comment><comment><USER29> I've never used this pattern in Javascript, but it's somewhat common in Python because of how handy the dictionary.get() method is. A few problems TFA solves in JS are much easier with .get(), like defaults and false values.

<comment><USER30> Plus the fact that python doesn't have a switch statement so you kind of have to use a dict if you want that functionality without a long chain of if/elif/else.

</comment></comment><comment><USER31> This is some kind of funny joke article

</comment><comment><USER32> Isn't this basically a convoluted way to end up with a dictionary or command pattern?

</comment><comment><USER33> Objects vs switch is not either/or. They both have valid use cases.

</comment><comment><USER34> I don't know, feels like a step back to me.

It could be as well lookups on a hashmap.

Not very expressive.

</comment><comment><USER35> I don't think any one pattern rules out any other, but this is a good one for people to keep in mind as I think sometimes it makes more sense. Heck, there are even some cases where an object lookup makes more sense than an if-then- else statement.

I'm also a fan of other patterns like early returns, but few people ever seem to do it.

<comment><USER36> I like early returns as well, especially in short functions where there is not a lot of code between returns. In other words if I can see all returns in a function on one screen of text then I'm OK with it and I think it improves readability.

On the other hand if I have to scroll up and down a lot to see all return paths then that's a problem. But I generally find the problem is that the function is too long/does too much and should be broken down into smaller pieces.

</comment></comment><comment><USER37> Another compelling argument for the same position:

[https://toddmotto.com/deprecating-the-switch-statement- for-o...](https://toddmotto.com/deprecating-the-switch-statement-for-object- literals/)

</comment><comment><USER38> Ah, but can objects be used to implement Duff's Device?

<comment><USER39> Kinda-sorta:

        function psuedoduff(count) {
            var x = 0;
            var n = Math.floor((count + 7) / 8);
            var o = {
                0: function() { x++; o[7]() },
                7: function() { x++; o[6]() },
                6: function() { x++; o[5]() },
                5: function() { x++; o[4]() },
                4: function() { x++; o[3]() },
                3: function() { x++; o[2]() },
                2: function() { x++; o[1]() },
                1: function() { x++; n--; if (n > 0) { o[0]() }},
            }

            if (count > 0) {
                o[count%8]();
            }

            return x;
        }

That just increments to show the point, it would be easy to make it do some sort of real work.

Of course you'll run out of recursion at some point. Trampolining could fix that. I leave it as an exercise for the reader whether that makes it more or less silly.

I'm also of course aware that Duff's device doesn't make function calls, to which I vigorously handwave while chanting "Monads Are Programmable Semicolons" in my "Lambda The Ultimate" T-Shirt.

Lambda.

</comment></comment><comment> yoz-y For mapping from one value to another, sure. My irk with this solution is that none of their "object" solutions actually does the same thing as the switch statement, namely logging the state in various manners to console.

Now, they could, of course, do it using the function method, but they did not. If the functional code had logs in them it would become quite apparent that a bunch of if-else statements would probably do the job better.

</comment><comment><USER40> Speaking of code readability, the article uses a function in the example called "isNotOpenSource()". If you have a function that returns a boolean, it's best not to put another boolean in the function name i.e. "isOpenSource()" is cleaner and more readable.

Honestly, it's a code smell that makes me trust my initial reaction that the switch statement is indeed more readable than the authors solution.

</comment><comment><USER41> Take it one step further, and move the switched-over value to the top:

      ((o) => o[expr_to_switch_over()])({
        opt1: () => {
          stmts();
        },

        opt2: () => {
          stmts();
        },

        opt3: () => {
          stmts();
        }
      })

<comment><USER42> And then you can call it a "switch statement"!

</comment></comment><comment><USER43> I like doing this, and find it fits reasonably well with a functional programming style: it is to `switch` what ternaries are to `if/then/else` (i.e. a nice way to select values; not necessarily nice for executing statements).

</comment><comment><USER44> You type far more code (which in JS matters A LOT) for a less flexible solution and for such a simple task.

I completely disagree.

</comment><comment><USER45> I pity the devs inheriting his code.

</comment><comment><USER46> I love this, but I feel TypeScript would be very unhappy with such a thing.

<comment><USER47> Between TSLint's no-switch-case-fall-through and an exhaustiveness check[1] I don't think any of these things are really problems with switch statements in TypeScript

[1] Putting a function like this in a default case will enforce that all cases are declared at compile time:

        function exhaustive(exp: never): void {}

</comment></comment><comment><USER48> I prefer if/elseif over switch statements.

ok, ok, I'll go sit in the corner.

</comment><comment><USER49> Polymorphism vs pattern matching: fight</comment>


Interactive visualization of self-immolations in Tibet - <AUTHOR> http://halftone.co/projects/self-immolations/

<comment><USER2> 105 self-immolations in the past two years. Zero suicide bombings. This is an excellent example of how religions give their hosts different propensities for violence.

<comment><USER3> And yet, suicide bombings and guerilla warfare in general may be more effective in revolutions. Look at the recent revolutions and uprisings: how many of them succeeded without violence? Not Libya, not Syria, not Egypt. Israel requires constant violence to maintain its nation. The US required violence and guerilla warfare for its independence. And it needed martyrs. As did Ireland. And Bangladesh. And the Chinese Communist Party.

<comment><USER4> New Zealand, Canada, Australia... All became relatively independent of the UK without warfare, suicide bombings or any kind of violence.

You don't need violence to be effective.

<comment><USER5> > Canada

umm, <http://en.wikipedia.org/wiki/Rebellions_of_1837>

<comment><USER4> > After the rebellions died down, more moderate reformers, such as the > political partners Robert Baldwin and Louis-Hippolyte Lafontaine, gained > credibility as an alternative voice to the radicals. They proved to be > influential when the British government sent Lord Durham, a prominent > British reformer

(from that article)

It was not the violence that lead to change, but diplomacy... unless I'm missing something.

Regardless, it doesn't counter my point, unless you want to point out the revolutionary wars Australia and New Zealand had...

<comment><USER6> You could see it as developed through diplomacy, but the reality was that the british colonies were all given responsible government _after_ the american revolution.

The unrests in Canada merely proved the point that the empire could not adequately control the colonies and they needed to become more self reliant.

This might sound generalist, but I don't think it's fair to look at America, Canada, Australia and New Zealand as separate reforms. They were all in the same empire that fell apart.

Anyway, I don't think there's ever diplomacy without at least _threat_ of violence.

</comment></comment></comment></comment></comment></comment><comment><USER7> Glad you guys like the link.. it's a sad story.

It was also an opportunity to learn TileMill (mapbox.com/tilemill) to generate that styled map.. I recommend checking it out if you like maps/geodata.

</comment><comment><USER8> A spreadsheet of the data as well: [https://docs.google.com/spreadsheet/pub?key=0Al2LIEgoNIx2dEt...](https://docs.google.com/spreadsheet/pub?key=0Al2LIEgoNIx2dEtWZWxDRy1pTTVKVjlkUnBaYVROSFE&single=true&gid=0)

I think the most interesting thing is simply the ages of the people who died - a large percentage are in their teens or early 20s.

<comment><USER9> That is the time the people can be easily cheated.

</comment></comment><comment><USER10> This idea is too morbid for me, I'm afraid.

Or perhaps the presentation feels too "light"?

I can read Wiki articles on serial killers, but this seems somehow disrespectful. I'm also concerned because (although I respect Al Jazeera as much as any news source) I wonder if they have an agenda they're pursuing through this piece?

If I'm out of line here let me know why!

</comment><comment><AUTHOR> Source article on Al Jazeera [http://www.aljazeera.com/indepth/interactive/2013/03/2013391...](http://www.aljazeera.com/indepth/interactive/2013/03/2013391733355459.html)

</comment><comment><USER11> Sad sad story. Amazing viz that made an immediate impact on the story.

</comment><comment><USER12> I had no idea there had been a self-immolation here in Yunnan (the far south- eastern point on the map). Thanks for sharing this informative visualisation, even if it is for such a sad state of affairs.

Just to be fair it seems like a good venue to mention that there are plenty of people struggling to have a decent self-directed life around the world, not just in China. Even within China, a great many Han people also have it extremely tough, not to mention other groups subject to recent sinification style policies (such as the Uyghur of Xinjiang).

Truly free, publicly practised religion perhaps exists nowhere within the country, but then again it doesn't exist in most places.

The Chinese government has a hard job guiding this monster of a country given its significant divides and economic and technological trajectory, and the various peoples of China are all struggling to make sense of and get along in what is perhaps the single largest-scale transition of a society that has ever occurred in the history of humanity.

This does not in any way detract from the tragedy of these events, however perhaps it may help to prevent people who have not had the opportunity to spend time here from taking a simplistic or single-faceted perspective or simply getting angry at the Chinese. Nothing is simple as it seems, particularly when you take a look at history.

For those interested in exploring some of the complexities I would recommend [http://www.amazon.com/The-Sichuan-Frontier-Tibet- Imperial/dp...](http://www.amazon.com/The-Sichuan-Frontier-Tibet- Imperial/dp/0295989521)

</comment><comment><USER13> nice use of d3!</comment>


Show HN: Contabulo – Knowledge Management with cards - <AUTHOR> https://www.contabulo.com <comment><AUTHOR> Thought I'd share my side project :)

[https://www.contabulo.com](https://www.contabulo.com)

I started working on it after become frustrated with Trello (admittedly I was trying to use it for things it was never intended to do). It's geared heavily toward knowledge management, though I think it's flexible enough it could probably serve in a variety of use cases. I have a long list of ideas for additional features and possible "card content" (beyond checklists). Some rough edges in the interface at this point, but quite usable (yea, this is a one-man project).

I like to think of it as a lightweight replacement for stuff like Confluence, if you don't need lots of enterprise-y features.

Some example boards (read-only access):

Wiki board: [https://app.contabulo.com/boards/b7dcea21-e1a3-4fa2-ab14-441...](https://app.contabulo.com/boards/b7dcea21-e1a3-4fa2-ab14-441523d18405)

Job board: [https://app.contabulo.com/boards/5c0eb6f0-7eb6-411b-918c-d7c...](https://app.contabulo.com/boards/5c0eb6f0-7eb6-411b-918c-d7c0e016015f)

Project board: [https://app.contabulo.com/boards/a5e413d1-8fe3-4b42-a8f1-b4f...](https://app.contabulo.com/boards/a5e413d1-8fe3-4b42-a8f1-b4f83cd1aff5)</comment>


With This Tiny Box, You Can Anonymize Everything You Do Online - <AUTHOR> http://www.wired.com/2014/10/tiny-box-can-anonymize-everything-online/ <comment><USER2> I don't get why software couldn't do the same thing? (Besides that it can be used with a public computer)</comment>


The Simpson Gearset (2017) - <AUTHOR> https://ateupwithmotor.com/terms-technology-definitions/simpson-gearset/ <comment><USER2> Battle of the interstitials

[http://imgs.fyi/img/7b1q.png](http://imgs.fyi/img/7b1q.png)

</comment><comment><USER3> I clicked because I thought it was about the Simpsons... Next time I'll read the whole title before clicking.</comment>


Read "The Tao of tmux" prerelease for free online - <AUTHOR> https://leanpub.com/the-tao-of-tmux/read <comment><USER2> I've liked the books I've gotten from them (usually from Reginald) and will definitely get this one.

Fun fact - I remember meeting their founder (Peter Armstrong I think) at RailsConf many years back. He had just written "flex on rails", which was a great book (though both those technologies are unsexy these days). He mentioned his idea for something like LeanPub (though I'm not sure how far along he was at the time).

Great seeing him/them execute on this and become the de facto for self- publishing.

<comment><USER3> Thanks!

It's hard to believe that Flexible Rails, and my talk about it at a RailsConf BOF, was almost a decade ago! Flex was controversial then, but it is beyond unsexy now :) (Full backstory here: [https://leanpub.com/lean/read](https://leanpub.com/lean/read))

I have my cofounders, especially Scott Patten who has been there since the first commit, to thank for so much of how far we've come since then. And ironically, when you hook a single-page React app up to a Rails backend (which is what we do in the Leanpub storefront), what you get is (to me, anyway) reminiscent of the approach I was advocating in Flexible Rails...

</comment></comment><comment><USER4> Slightly off topic: How well is LeanPub working for authors and consumers? What are the pros and cons of publishing through them versus Amazon KDP?

<comment> git-pull I may make a larger blog post, but let's try here:

A lot better than iBooks has. This is my first go around at a book, but I can give a review of the three I tried:

\- Leanpub: Most of my sales have been through this. Very good royalties (90% minus 50 cents royalties per paid sale). Support (Mike, Len and Peter) is awesome and very snappy. Coupons. Markdown support is great ([https://leanpub.com/help/manual](https://leanpub.com/help/manual)). The PDF / ePub / mobi output is beautiful. Web viewer for paying customers. As you can see from the HN post, there is a web view you can make available for free (optionally). There is also a web editor, but I personally use a GitHub hook so I can edit right in vim.

Another thing, my buyers who preorder get to download immediately, even before the book is finished. That's a key thing.

There are some tweaks I'd like to see made to the HTML, as well as some of the PDF formatting. Over all, I worked around them.

\- Amazon KDP: My second most sales have been on Kindle. I'm not part of the "KDP select" program since, to my knowledge, it require exclusivity to Kindle. Royalties are a bit confusing, I've heard some say 70% royalty is only for select, but it looks like if you keep your books under 9.99, you get 70%, but if you go _above_ 9.99, you only get 35%. I would really like to price point my book at a higher price, but kindle pushes it down via this. Support is great. Kindle formatting is great. Customers being able to view the book on all their devices makes me happy. The interface for uploading books is superb and just got a face lift this month (Dec 2016).

Overall, I'm happy with KDP so far. Only thing is I don't think they get previews of my book, and there's no way for me to give out free copies (for proofreading) or coupons.

Also, recently they launched a way to do paperbacks. Haven't tried it yet, but looks cool. ([https://kdp.amazon.com/help?topicId=A38EE2B71PKD7U](https://kdp.amazon.com/help?topicId=A38EE2B71PKD7U))

\- Apple iBooks: I only got 1 presale from them. And they took my book off their store with no warning. And it's disappeared from iTunes Producer. Yes, Apple requires another application for uploading books.

Maybe App and Music developers tolerate this, but for eBooks in December 2016, it's a joke. People I've seen on iPhones are using Kindle to read since they're already invested.

The only thing I miss about it is the feng shui from having a second button to balance out the "Available at Amazon" button on my websites.

Aside from that, Apple needs to step up their game in this department. I hope sincerely they make the publisher experience better. They are a great business and very professional, but I have the impression they're really sloppy and disconnected compared to the alternatives. I like to stay humble because Apple is brilliant, but the ebooks experience is tacked on and I feel like a third class citizen next to MP3's and Apps, quite understandably.

<comment><USER5> This is for technical book or fiction ?

<comment> git-pull You can do either technical or fiction books on all services.

Leanpub is 99usd to start, but they have tools to help you write the book and generate web pages, epub, pdf and mobi. You can also in turn take those files and use them to publish on Amazon KDP and Apple iBooks.

As a side note, on LeanPub, there is also book styles for Business, Fiction and Technical books. It's under "Writing -> Book Theme"</comment></comment></comment></comment>


Why we will not be registering easydns.sucks - <AUTHOR> http://blog.easydns.org/2015/04/10/why-we-will-not-be-registering-easydns-sucks/ <comment><USER2> Why does ICANN allow TLDs that are obviously trying to be extortionate? Locked nameservers? Blocked registration? Sunrise period for trademark holders? It's like they're just totally admitting that new TLDs are moronic and pointless and have absolutely nothing to do with increasing domain name space or providing value for the Internet community.

<comment><USER3> The whole NewTLD project is a misguided, worthless money grab by ICANN which doesn't make sense on a lot of levels. At this point, why even expect them to apply any sort of logic for the common good?

<comment><USER4> Having a bigger namespace leaves less room for domain squatters, so this is a good thing IMHO.

Also, being able to get the domain name you want is a form of free speech, and we should be open to it, even if the intent is to discredit a company.

<comment><USER5> > Also, being able to get the domain name you want is a form of free speech

Many places and people believe there should be limits to free speech if it's in the public good.

<comment><USER6> "Many places and people believe there should be limits to free speech if it's in the public good."

Those people are wrong.

<comment><USER7> So all copyright and trademarks are wrong?

<comment><USER8> Many places and people believe there should be limits to copyright and trademarks if it's in the public good.

<comment><USER5> The existence of _any_ copyright law means there are limits to free speech.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I think of ICANN like I do FIFA, an unbelievably corrupt bureaucracy at the center of the most beautiful game around.

<comment><USER10> What's corrupt about FIFA? Genuinely curious as I don't really watch soccer.

<comment><USER11> John Oliver sums it up pretty well: [https://www.youtube.com/watch?v=DlJEt2KU33I](https://www.youtube.com/watch?v=DlJEt2KU33I)

<comment><USER10> That's hilarious and terrible.

</comment></comment></comment></comment><comment><USER12> Mad props to Mark Jeftovic and easyDNS. Found his service by doing a WHOIS on ycombinator.com when looking for a new registrar a while back. easyDNS has the cleanest and most logical interface for managing domain names and DNS records that I've found. And Mark's blog posts (like the one above) are great. Here's another favorite: [http://blog.easydns.org/2014/01/29/welcome-to-easydns- press-...](http://blog.easydns.org/2014/01/29/welcome-to-easydns-press-1-for- support-press-2-to-get-the-last-4-digits-of-your-credit-card-number-on-file- here/)

</comment><comment><USER13> The main argument doesn't hold up to my mind.

It completely ignores the fact that ease of access to information is a greater determinant of what people learn than existence of information.

Yes, right now it is possible to find discontents of a brand or company by searching and reading through various forums and webpages of differing quality and structure.

However, if there was an easy mnemonic like "just add .sucks to the end of a name" to find the bad things about $NAME then the game would change. It'd be easier for people to organize and oppose companies than anything else imaginable.

And that makes a _huge_ difference. Think of how hard it was to find programming help before stack overflow. This would be a much more potent and wide-ranging way to organize information, because it can still be difficult for a novice to understand what to search for on stack overflow. This would remove even that last bit of friction.

I'm not denying that .sucks is a bold and roguish move. I _am_ asserting that it is an _effective_ move.

<comment><USER14> So they should also offer a .rocks, so people can say good things about your company and/or product.

I can't understand how offering .sucks is positive for anyone, .reviews maybe.

<comment><USER15> I would suggest that a .rocks type domain would be redundant because the official .com or whatever is usually where all the positivity is. Often the owners of the .com try to manage negativity, and ensure their domain is a positive place, so another place is needed for free criticism. Im not sure many would trust a .rocks as independent.

Also, I can imagine something like an fabproduct.rocks would be a magnet for troll types and quickly descend in to a general bun fight arena.

</comment></comment></comment><comment><USER16> Can someone explain to me any benefit that the ICANN decision to rollout new TLDs has provided? I am sure one exists but I cannot think of any. Trying to be open minded about this but I really don't understand why more geeky types weren't more anti-new-TLD when it was being proposed.

<comment><USER17> AFAICS the nominal reason was that TLDs like .com were/are getting crowded and country based one's (e.g. .io) were being mis-used as generic TLDs

So as a reaction to that ICANN allow new generic TLDs to be registered. In and of itself, I don't think that's a bad idea. However the $180,000 registration fee seems a bit like a money grab, the lack of restrictions on the allowed names (e.g. .sucks) and the land-grabbing by large companies on a wide range of generic names (mainly from what I've seen Google and Amazon) have made the process a bit of a mess.

<comment><USER18> Money grab? Protection racket.

</comment></comment></comment><comment><USER19> Good for them. The new TLDs are really worthless in my opinion. For instance they already have .net and added .network.

The majority of people will recognize .com and maybe .net. Beyond that it's a stretch in my opinion and you're only going to get visitors via searches or links. I can't imagine anyone is going to think "oh I wonder what microsoft's latest press releases are; I'll just go to microsoft.press". No, they're going to search for it.

In all honesty domains in general are not very user friendly. I wouldn't be surprised if they are eventually replaced for a system that's more of a search than anything. I mean just look at all of the domain names being squatted on and for what? Half the times you can pick a different domain name, still name your product what you want and people will still find you due to search.

<comment><USER20> _I wouldn 't be surprised if they are eventually replaced for a system that's more of a search than anything._

There's no need to replace anything. Nobody[1] uses domain names any more to browse the web. That's what Google, the default browser home page, and the omni-bar is for. I don't know a single non-web-developer who uses domain names. Everybody just drops "facebook" or "google"(?!) in the search box that shows up when the browser opens.

1\. Well, nobody except for a rounding error number of people who hang out in places like HN.

<comment><USER2> Hell I'm a developer and sorta technical and I can never remember the URL/domain to login to Office 365. So I end up using Google and trying to find a reasonable-looking result and then check for a cert that looks right.

<comment><USER21> [https://www.office.com](https://www.office.com) gets you to the main landing page.

<comment><USER2> It's actually faster to Google and follow the link than to deal with the convoluted system on Office.com.

</comment></comment></comment></comment></comment><comment><USER22> This and the "great TLD expansion" in general seems like a great way for ICANN to make itself irrelevant. People will just stop trusting TLDs they don't recognize.

<comment><USER23> Well, people should not trust TLDs in the first place. So this is actually progress.

<comment><USER24> I think the parent comment was implying that people will stop using services that end in ".io" or ".co" or, really, anything but ".com" because of the large number of shady websites on the off-brand TLDs.

<comment><USER25> There are an order of magnitude larger number of untrusted domains on '.com' than any of these new ones.

<comment> B-Con But many trusted ones are, and most importantly most of the ones a user interacts with are legit.

If a significant portion of the domains a user visits on a new TLD are shady, they may just write it off.

</comment></comment></comment></comment></comment><comment><USER26> Domain names aren't as important as they used to be. As long as you rank #1 in Google for "name of your business", that's good enough.

Someone who googles easydns will find the official easydns website. easydns.sucks will rank lower, if at all.

</comment><comment><USER27> If the $10 fee simply turns on the domain and points it to a captive forum, hosted by the registrar, how is the registrar going to avoid being sued for trademark infringement over every domain name?

<comment><USER28> For the same reason PayPalSucks.com has been online for 15 years without being sued: it's not trademark infringement. Nominative use (using a mark to refer to that product) and fair use (criticism and commentary, protected by the first amendment) are affirmative defenses to trademark infringement. Registering a trademark doesn't prevent other people from using that word, only from using it in ways that are likely to cause consumer confusion as to the source of some goods or services.

<comment><USER27> I'm not a lawyer, but this seems different.

This isn't using a single mark to refer to a product for criticism and commentary; this is using an unlimited number of marks for promotion of the registrar's sites. (In addition to using the mark in the ways you mentioned.)

That is, the registrar's goal isn't to refer to PayPal, but to use the domain PayPal.sucks (and potentially every protected mark plus ".sucks") to draw traffic.

I guess the legality of this use will need to be decided by the courts.

<comment><USER29> You're allowed to criticize any company you like (as long as you don't lie), and you can even profit by doing so. For example, media companies can sell newspapers containing negative reviews of trademarked companies, and make money from it.

For trademark infringement, there has to be "likelihood of confusion", i.e. your use of their trademark could lead to people thinking that your goods/services originated from the trademark owner. In the case of someone explicitly _critisizing_ a company, this could never be argued.

<comment><USER27> Have the courts ever ruled that you can market a series of magazines/etc called "_____ sucks"?

It's an interesting legal question, essentially arguing that adding the magic word "sucks" allows using trademarks to promote their site (perhaps even to advertise competing products).

The law is fluid, and nominative use is a fairly new legal idea. We're not going to settle the question here, but it will be interesting to see what the courts decide.

<comment><USER29> You don't need a court ruling to allow you to do something. It's the other way round.

Of course it's fine to market a series of magazines called "_____ sucks". It's just expressing an opinion. Trademark law doesn't come into it, unless the trademark owner can prove that consumers might reasonably think your use of their trademark is somehow authorised or affiliated with them. In the case of "____ sucks", that would be self-evidently _not_ the case.

<comment><USER27> Downvote me if you want; I don't care and it doesn't make you right.

Simply adding "sucks" is not a free pass to do whatever you want with a trademark.

<comment><USER29> I didn't downvote you!

I didn't say it was a free pass to do anything. You can't lie about the company, for example. But that would be libel, not trademark infringement. As long as it's obvious to consumers that your use of the trademark is not on behalf of or authorised by the company, then it's not trademark infringement.

And yes, simply adding "sucks" would pretty much always be a free pass against trademark infringement , except in really contrived scenarios, like if the trademark was a brand of vacuum cleaners :)

That said, the Dumb Starbucks example is interesting, I think that's in a grey area, the kind of edge case you're talking about. Starbucks might well be able to demonstrate that some customers thought it was official (albeit obscure) marketing effort by them, especially because it's a coffee shop.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> My opinions on the matter:

\- It is dirt cheap to bid on paid search brand terms for "brand sucks." Be smart in where you take people and you manage against concerns.

\- Having an exact match domain is not anywhere near as useful as it used to be per Matt Cutts[1]. Someone would have to also manage to rank for your brand terms consistently for it to be of any note. I would laugh so hard if this went the route of .info and became recognized as a poor quality TLD that didn't rank worth a hoot.

\- There is no avoiding the vocal minority of upset customers. If you have an awesome product/service, you have nothing to worry about. Focus your energy and budgets on positive things and don't look back.

[1] [http://moz.com/blog/googles-emd-algo-update-early- data](http://moz.com/blog/googles-emd-algo-update-early-data)

</comment><comment><USER31> I wonder who will own this domain:

icann.sucks

<comment><USER32> How about

sucks.sucks ?

</comment></comment><comment><USER33> Without all the background info, in paragraph 15 (after 644 words) they answer the initial question from the post's title.

TL;DR: anyone can register easydns-sucks.com or anything like it anyway. No need to "protect" yourself by buying [yourdomain].sucks at exorbitant prices.

</comment><comment><USER34> If you register a .sucks domain against a company you want to complain about, then the last laugh is on you for paying that much.

</comment><comment><USER35> I see a great public service business here ... become a consumer advocate and buy a huge number of domains for $9.95/year. Charge the trademark holders a few dollars above that per year and deprive these trolls of the huge fees (> $2,499 per year per domain for premium names) they were expecting (yes, I'd rather they made nothing too).

It should be pretty easy to automate the process. The down-side is that if you're Comcast (or one of the other common targets) you're probably going to have to live with a .sucks site. Try not to incite people into believing you suck so much!

<comment><USER36> The $10/year option doesn't actually let you control the domain. It just turns it on for the registry's captive forum.

</comment></comment><comment><USER37> We've used easydns for more than a decade (yes, my new marketing people are trying to move us away from then, I'll fix that).

My experience with easydns is that they are like us. They care about their customers, they care about doing the right thing, and they do that even when it hurts.

Great company. Very slightly more expensive than the cheapest but they are definitely in the you get what you pay for category.

</comment><comment><USER38> What sucks most of all are the concept and execution of gTLDs.

</comment><comment><USER39> Possible solutions to this mess: GNS, IPNS.</comment>


Show HN: Post to HackerNews – Firefox Add-On - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/post-to-hacker-news/ <comment><USER2> Is an add-on needed when one can simply drag&drop a bookmarklet into the bookmarks? [https://news.ycombinator.com/bookmarklet.html](https://news.ycombinator.com/bookmarklet.html)</comment>


Just the perks from listings on Authentic Jobs. - <AUTHOR> http://perks.io/

<comment><USER2> Simply the best way to find my next job! I like the company that is offering a free dead spider to new employees.</comment>