A Secret Race for Abandoned Nuclear Material - <AUTHOR> http://www.nytimes.com/2013/08/18/world/asia/a-secret-race-for-abandoned-nuclear-material.html <comment><USER2> We should all take the bit about being able to construct a "relatively sophisticated nuclear device," with a grain of salt.

An actual bomb is beyond the capability of anybody but a nation-state. Al- qaeda, et al don't have a chance of anything more than a dirty bomb. While dirty bombs suck too, they are limited to contamination of a couple of city blocks - not actual kinetic destruction of those blocks and the contaminated have a high survivability level given the kind of treatment immediately available in a city.

Also, in this day and age of the NSA and supporters using weasel words, I have to wonder if (a) this info was declassified to support justifications for the NSA and (b) if the line about a "nuclear device" is more weasel wording to sound scary without literally claiming they could build a bomb.

<comment><USER3> This is old cold-war spin, and it has been refuted so many times, yet it still surfaces.

Read "The curve of binding energy", and you will learn from Ted Taylor, one of the worlds best nuclear warhead designers, that you can make the simplest atomic bomb by dropping one piece of fissile material on another, provided they are big enough to become a critical mass.

It won't be tens of megatons, but it will be a perfect terror weapon, spreading panic, making a large-ish area uninhabitable and costing a fortune and many years to clean up.

If the terrorists are smart enough bring a couple of sacks of salt, it makes the mess much worse.

There are damn good reasons to go out of the way to prevent access to the funny end of the periodic table.

<comment><USER4> More qualified people will correct me, but I think there is more to it than dropping a piece of fissile material over another. I think the trick is to keep the pieces together long enough before the forces of explosion rips them apart.

As far as I know there have been several examples of accidents were scientists did actually drop a fissile blob over another, and the material did go critical, but thankfully the scientist(s) involved were fast enough to separate the pieces so that no catastrophes ensued. They themselves died as a result of exposure to radiation. As I said, more qualified people will be able to fill in the details and citations.

<comment><USER5> _> More qualified people will correct me, but I think there is more to it than dropping a piece of fissile material over another_

"With modern weapons-grade uranium, the background neutron rate is so low that terrorists, if they have such material, would have a good chance of setting off a high-yield explosion simply by dropping one half of the material onto the other half. Most people seem unaware that if separated HEU [Highly Enriched Uranium] is at hand it's a trivial job to set off a nuclear explosion … even a high school kid could make a bomb in short order." - Luis Alvarez, Nobel Laureate in Physics, 1988

The key being, as I understand it, actually getting weapons-grade material of sufficient purity. Though the actual design of a practical, controlled and _efficient_ , weapon would doubtless be more somewhat more complex. For which the n-th country project is well worth reading about:

[http://www.theguardian.com/world/2003/jun/24/usa.science](http://www.theguardian.com/world/2003/jun/24/usa.science)

<comment><USER6> That is correct. i work in nuclear material security and safeguards. For what I can say, which isn't much, it's the security of the material (HEU and Pu) that makes it hard to make a bomb. Its hard to enrich, and furthermore you need HEU or Pu. LEU won't get you a big boom. Without enough enrichment, no Bomb.

Theft and diversion is a big deal with Pu and HEU for this very reason. Which is why access to either has a two man rule. And because you can safely handle Pu and HEU,(its just an alpha and criticality hazard so unless you inhale or eat them, or you have bad geometry it's no big deal), that makes it vital that you carefully account for all of it. It won't kill the thief, and you don't need much Pu for a bomb.

</comment></comment></comment></comment></comment><comment><USER7> I feel bad for the Chinese. They are getting irradiated metal without knowing it. There is going to be a lot of pain sickness and suffering caused by this scavenging even thought it will probably never be traced back to Kazakhstan.

<comment><USER8> Irradiated just means that it has been exposed to radiation. Doesn't necessarily mean the copper is itself particularly radioactive. Depends on the specific circumstances.

<comment><USER9> If it doesn't make the copper radioactive, then of what significance is it that the copper has been irradiated? I understand that irradiation of food kills bacteria, but with a metal I don't see why it matters.

<comment><USER10> Irradiation causes the copper itself to become radioactive. The copper atoms get hit by the radiation which causes some of them to change in radioactive isotopes.

<comment><USER8> As I said, it depends on the particular circumstances.

For example, suppose it captures a neutron. Copper has two natural isotopes, copper-63 and copper-65. Copper-64 has a half-life of hours, and decays into Nickel-64 or Zinc-64, both of which are stable and occur in nature. Copper-66 has a half-life of minutes, and decays into Zinc-66, which is stable and occurs in nature.

But maybe it didn't capture a neutron. And there might be impurities in the copper that are dangerous when irradiated. Or maybe it was physically contaminated with dangerous isotopes of another element.

Just saying that it was "irradiated" doesn't give us enough information to tell what actually happened.

<comment><USER7> Usually it is bad news. In practice no metal is pure metal, so if you have copper you are likely to have a bunch of lead atoms that easily get into radioactive isotopes. So yes, it depends on the circumstances, but it is very very likely that you end up with radioactive metal.

</comment></comment></comment></comment></comment></comment><comment><USER11> The dangers of dirty bombs should not be ignored. They surely aren't as destructive as a explosion but nevertheless their possible effects financially and morally are potentially devastating. Just look at the historical results of the Sarin gas attack in Tokyo (sort of a dirty bomb) and the unintentional spread of radioactive material in Goiania/Brazil caused by metal scavengers ([https://news.ycombinator.com/item?id=6181011](https://news.ycombinator.com/item?id=6181011))

</comment><comment><USER12> Voz island in the Aral Sea is another example of this happening but on the chemical weapons side of things.

Nick Middleton travelled there in 'Going to More Extremes' (which is well worth the watch). [https://www.youtube.com/watch?v=nAFGx9nU3q4](https://www.youtube.com/watch?v=nAFGx9nU3q4)

</comment><comment><USER13> Why wouldn't they want to use it for fuel in nuclear reactors?

<comment><USER14> My understanding is that weapons-grade plutonium is not easily usable in a conventional reactor; the vast majority of reactors in operation today run on uranium, which is enriched to a much lower percentage than weapons-grade fissile material.

TL;DR different elements, different concentrations of isotopes.

<comment><USER13> They already have the facilities to recycle plutonium for MOX fuel.

[https://en.wikipedia.org/wiki/MOX_fuel#Fast_reactors](https://en.wikipedia.org/wiki/MOX_fuel#Fast_reactors)

[http://www.world-nuclear.org/info/Nuclear-Fuel-Cycle/Fuel- Re...](http://www.world-nuclear.org/info/Nuclear-Fuel-Cycle/Fuel- Recycling/Mixed-Oxide-Fuel-MOX)

[http://www.huffingtonpost.com/renee-parsons/mox- fuel_b_27078...](http://www.huffingtonpost.com/renee-parsons/mox- fuel_b_2707864.html)

[http://www.nirs.org/factsheets/basicmoxinfo.htm](http://www.nirs.org/factsheets/basicmoxinfo.htm)

</comment></comment></comment><comment><USER15> This reads exactly like the beginning of an action thriller movie.</comment>


Ask YC: How to avoid front-end clutter? - <AUTHOR>

I suppose most front-end developers/designers heard of this problem before: too much CSS and Javascript files and too much declarations in 'em. After a while it gets hard to find your way around all the classes in there and add or fix things. Next to that you might scratch certain server-side code and forget to update the client-side bits. We tried to fix this by creating a lot of different CSS/JS files but sometimes certain declarations span across different site sections and you end up looking for them in the wrong place anyway.
How do you guys combat the mess you automatically make in the front-end? Do you use frameworks like Blueprint or perhaps SASS? I still haven't found any structure or convention that kind of forces me to do it DRY and neat, like for instance RoR has done for me. Maybe it's time to create a standard for this, or just to create some naming pattern to map front-end code to server-side? Or maybe that already exists?
Any thoughts?
(I hope I didn't explain this too vague, I'm trying hard not to) <comment><USER2> First, if you're having the problem of way to many styles, it's probably because of 2 reasons. You're not using the Cascading part of Cascading Style Sheets, and you don't have a good style guide (which is useful no matter how small the site).

As for organization of files, I use something called "alltemplates" that I have no idea where I found. It's basically just an organized file similar to what STHayden describes. Email me at bjclark =at= inigral dotter com and I'll send a zip with the blank templates I start with.

Third, I use BlueprintCSS.

Forth, I use a form framework, for RoR I'm using [http://github.com/jlindley/accessible_form_builder/tree/mast...](http://github.com/jlindley/accessible_form_builder/tree/master) which has blueprint support and for static pages/sites I use Khoi Vihn's "GoodForm" which is old, stagnant, and all I've ever needed (with my own modifications).

</comment><comment><USER3> I have found that Sass makes managing large amounts of CSS really easy. It's honestly probably more useful to me than Haml itself. But both of those were the 'killer app' of rails for me personally. I can write html and css, but haml and sass are just so much more succinct and DRY.

<comment><USER4> Ditto for me. I've never enjoyed implementing a design (I much prefer programming), but it's usually cheaper/easier to have someone mock something up in photoshop for me to implement than have have the designer implement a template as well.

Haml & Sass make the process so much less painful.

</comment></comment><comment><USER5> As a designer at <a href="<http://www.flugpo.com>">Flugpo I deal with this problem all the time.

With CSS I really think the best answer is one monolithic CSS file. Add a index at the top and keep it organized by global, section and page: <http://www.flugpo.com/FlugPo/styles/style.css>

With JS I find breaking it down by section files alone with one global file to be the best way to approach it.

</comment><comment><USER6> May design patterns may help you somehow: <http://cssdesignpatterns.com>

</comment><comment><USER7> I've used Blueprint for a few projects and I don't have anything bad to say about it. Although, I'm not going to be using it anymore because I tend to make use of about 50% of what it offers.</comment>


Why I Didn't Want to Be A Developer - <AUTHOR> http://suneelius.com/why-i-didnt-want-to-be-a-developer/

<comment><USER2> Ad. 1 - fixing bugs and debugging _is not_ boring. Aside from being bread and butter for every programmer (everyone makes mistakes) it's challenging[1] and fun, even without time constraints. It's close to base jumping when you deal with important production systems and serious bugs that affect people.

Ad. 2 - well, in some environments programmers need to be "idea guys", in others they do not. The level of influence a programmer has on the product varies wildly from domain to domain and from job to job. I tend to believe that developers naturally gifted with "idea factory" brains end up in positions where their ideas are being implemented and the others just do what they are told to do - both ways can be equally satisfying.

Ad. 3 - CS background is not needed. Discipline, passion and energy... are not needed either, however they all do help :) I won't talk about which of those things is the most important, because it isn't that important at all - I just want to note that CS background does not (usually) hurt (a lot).

Ad. 4 - no idea about this one, sorry.

Anyway - I had no idea that misconceptions like that even exist, but it's good that the author spent some time on fighting them when he noticed them. The post is maybe a bit _too_ optimistic, but it tries to fix the spotted problem (with people's thinking) which is what every true Scotsman does as his first instinct :)

[1] "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." -- Brian Kernighan

</comment><comment><USER3> Programming is awesome. If you can learn how to code, do it. If you can get better, do it. Learn skills, get better, build an independent credibility. It's a lot of fun, and you can do important technical work.

That said, your original insight-- that most software engineers do boring shit and work in environments where engineers have low status-- is accurate. It's even true of the VC darlings that still call themselves "startups". This is a great industry if you can stay on top in terms of getting the best projects and continuing to learn. It sucks if you end up as a grunt. Unfortunately, it's hard to tell how it will play out when you join a company. A nice title and high salary do not guarantee interesting work.

I recommend software if (a) you're willing to spend a lot of time and energy "self-mentoring" (which gets easier every year, thanks to online resources) and (b) you can tolerate frequent job changes-- once every 2 years not being unusual.

</comment><comment><USER4> Great post! Really points out the misconceptions one might have about developers.</comment>


Are killer whales persons? - <AUTHOR> http://www.salon.com/2015/06/27/are_killer_whales_persons_the_more_we_learn_about_orcas_the_more_our_assumption_of_innate_superiority_looks_like_a_presumption/ <comment><USER2> It always seems weird when people are talking about whether x is a "word", and at the same time changing the definition of the "word" to mean "x".

Of course if we redefine the word "person" to mean something else, orcas can be considered "persons". We can even redefine it in such a way that a chair will be considered a "person" \- but should we?

And if, as it currently stands, we have many different definitions, and are not even sure what the word means - of course we will not be sure whether orca is or is not it.

It's the same as with the debate of whether computers can be "conscious". A word is just a label, if nobody clearly understands what it means - conversation about whether or not something can be described by it is pointless.

Having said that, aside from the clickbaity title, article is pretty cool and interesting.

Edit:

Haha, I can't help but imagine that in 30 years human ethics will take another leap, orcas will be deemed sentient, and I will be denied some high status job for such an ignorant and speciest comment. And I'll have to give some apologetic speech "I deeply regret that I held such unenlightened beliefs, I profoundly apologize to the orca rights community, but I'd like to state for the record that I had a horrible day, and did not mean at all to offend the feelings of this oppressed minority by comparing them to furniture." And then the orca judge will sentence me to 10 years of eating algae of shame or something(a proper punishment as their sophisticated culture requires).

<comment><USER3> Well, it's clear from reading the article that Lori Marino thinks that actually using the word "person" \-- in acknowledging that it might not be the right word -- is secondary to granting killer whales and other animals some of the rights and privileges associated with personhood on the basis of their capacity for emotion, intelligence and empathy. In that sense, the idea isn't pointless but actually would have practical implications, as much as the abolition of slavery wasn't simply a matter of definition.

</comment></comment><comment><USER4> I have wondered about this often with cetaceans. I feel like personhood is such a _human_ concept and completely depends on who is defining it. It calls into question, "What is personhood to begin with?"

There have many documented cases of dolphins rescuing drowning human swimmers or protecting surfers from sharks. I feel like it takes a good amount of intelligence and empathy-like qualities for dolphins to be able to recognize the peril of a human creature--foreign to their natural environment--and decide to treat him as one of their own where there is no obvious benefit for the dolphin.

My opinion is that we should give them the benefit of the doubt when it comes to personhood.

EDIT: This video of killer whales is also perplexing. [https://www.youtube.com/watch?v=DWsN63PRCW8](https://www.youtube.com/watch?v=DWsN63PRCW8)

A group of killer whales beach themselves to grab some sea lion pups for lunch, then proceed to toss them around and eat them. There was one seal they decided not to eat so one of the killer whales beached himself again in order to release it safely on land. It really does feel like there's complex mind behind this behavior.

<comment><USER5> Is it possible the whales realized that by returning the pup to shore when they weren't hungry, they were ensuring a larger crop next year?

<comment><USER6> Sure, but that still suggests complex reasoning

</comment></comment></comment><comment><USER7> They are going a bit over the top with empathy claims for orcas: "Monterey – In what is probably the first time such an event has been witnessed and recorded, humpback whales appeared to try to intervene when a pod of killer whales attacked a baby gray whale." [1]

Though different whale and dolphin species have exhibited what one could call empathy, theirs is a completely different world from ours and we shouldn't apply our values to them.

[1] [http://blog.seattlepi.com/candacewhiting/2014/12/01/humpback...](http://blog.seattlepi.com/candacewhiting/2014/12/01/humpback- whales-intervene-in-orca-attack-on-gray-whale-calf-2012/)

</comment><comment><USER8> I don't think that capturing killer whales is a thing we should do, but I don't like this line of reasoning: "They have big brains, complex social structures, rich emotional lives -- how can we still hold them captive?"

That line of argument is based on the idea that the rights of an individual are based on the intelligence or capability of the individual. That shouldn't be the case -- if a human being has a impaired intellectual capacity, or no social relationships, that's not grounds for abridging their rights.

<comment> liviu- >That line of argument is based on the idea that the rights of an individual are based on the intelligence or capability of the individual.

I think it's based on the idea that the rights of an individual are based on the intelligence or capability of the _species he 's part of_. Thus a single human wouldn't be singled out for lacking any of these as it's a still a human, thus treated according to human rights.

</comment></comment><comment><USER9> If animals are persons, and deserve some or all of the rights that humans persons enjoy, then they should also bear some or all of the responsibilities that human persons usually bear.

Oh, you just ate another sentient animal? Locked up in a zoo for the rest of your life.

So although I believe that we should treat certain animals as if they had certain rights, I don't think we should approach the topic in the same way we think of human rights. If animal have rights, they will be very different kinds of rights than what we are used to. There may also be equally large differences between different species. Orcas are just as different from dogs, if not more, as dogs are from us.

Even the right to life, possibly the most fundamental of human rights, takes on a completely different meaning when another animal claims the right to eat you. And perhaps if we think hard enough along these lines, we might also get some fresh insights about the ethics of human meat-eating.

</comment><comment><USER10> I think the real caution behind giving the status of person to a non-human has nothing to do with animals, but with removing the status of person from certain classes of humans. The atrocities of the last century should probably suffice to establish a measure of caution when redefining personhood.

<comment><USER11> can you provide an example where expanding the definition of personhood was abused as an excuse to commit atrocities?

<comment><USER10> Expanding the definition to include animals necessarily involves redefining personhood, and that's the risk. Expanding personhood doesn't necessitate removing classes of people from personhood, but allowing for its redifitinion makes it possible.

<comment><USER11> Your argument is similar to the argument of those who opposed gay marriage in that it claims that expanding something to another group will redefine said thing to the other group.

</comment></comment></comment></comment><comment><USER12> I've skimmed through this a couple of times, and I think the answer is: it doesn't matter, because this article is actually about ending orca captivity by the Sea Worlds of the world. The personhood premise is just a macguffin.

<comment><USER13> According to this article, there's evidence to suggest that keeping orcas in captivity is detrimental to their well being. Why does having that evidence suddenly mean having an opinion on what to do with it is off limits?

<comment><USER12> I didn't say that. Of course it's detrimental to their well-being: Orcas are wild animals not bred for captivity. This is not new news.

</comment></comment></comment><comment><USER14> > Intercepted echolocation data could generate objects that are experienced in > more nearly the same way by different individuals than ever occurs in > communal human experiences when we are passive observers of the same > external environment. Since the data are in the auditory domain, the > "objects" they generate would be as real as human seen-objects than heard > "objects," that are so difficult for us to imagine. They could be vivid > natural objects in a dolphin's world.

Not directly related to the personhood question, but for me it was the highlight.

</comment><comment><USER15> > and mind-boggling sixth sense

Uhm... Usually that implies something paranormal. I assume what the author meant was sonar, which is somewhat less bogglesome.

</comment><comment><USER16> A lot of the comments here seem to be focusing on the definition of 'person'. The fact is, 'person' has always been a species-ambiguous term. Anything that exhibits 'personality' is a person, by some definitions.

That said, I get some very strange vibes from the way this article is written, especially give the subtitle that humans may not be superior. Some choice quotes:

>> Orcas, with their big brains, complex social structures, mysterious communications, and mind-boggling sixth sense, by their very existence, challenge the long-standing belief that human beings are the planet's only intelligent occupants

"by their very existence, challenge the long-standing belief"... really? Why are any of these a true measure of intelligence?

>> Social life for killer whales, as we have seen, is deeper and more omnipresent than it is for humans

This is supposition, at best.

>> If orcas have established empathy as a distinctive evolutionary advantage, it might behoove a human race awash in war and psychopathy to pay attention.

Let's just ignore the way they can turn on one another and fight against other pods. Not to mention the truly brutal ways they hunt other species. So they show what we perceive as empathy. Let's apply that idea across all Orcas as if it were a rule, and then compare it to the worst humans in existence. Great.

>> The ability to experience positive emotions, like love and attachment, would mean that dogs have a level of sentience comparable to that of a human child

This is used as supporting proof, but when read by itself seems more like someone pointing out the obvious flaw of anthropomorphizing the actions of animals.

>> The "social cognition" that arises from this kind of richly shared experience of the world would even lead to a different sense of self than humans experience [...] The communal experience might actually change the boundaries of the self to include several individuals [...] This clearly indicates that dolphins—and particularly killer whales [...] have powerful emotional and empathic connection

So we're jumping from 'could and might' to saying the evidence 'clearly indicates' something?

I'm not trying to be overly negative, this article just strikes me as someone who is trying to twist what we know to suit their own agenda.

</comment><comment><USER17> Here are a few things that would help humans begin to consider animals as their equals:

Seeing animals behaving as traders as in "this is mine, this is yours, I'll trade you mine for yours."

Seeing an animal contemplate art.

Seeing animals having a conversation.

Perhaps all of these have been observed, but if so we need to be more aware of them.

Edit

One more:

Saving and passing on records of previous events

<comment><USER18> Few things animals did that had me sitting:

# Instant group work, two monkeys having to analyse a situation to pull ropes (all rigged by researchers of course) with the right choreography to free some food. One came, saw that pulling either end alone wouldn't cut it, call his buddy, they look at each other and the rig for a second, then split each to its own end, synchronize then pull, profit. The 'no brainer' attiude killed me.

# Crows 'reverse engineering' and social hacking: [https://www.google.com/?gws_rd=ssl#q=ted+talk+crows](https://www.google.com/?gws_rd=ssl#q=ted+talk+crows)

# Pity bargaining, a puppy lab trying to guilt trip us into letting her go outside after being reprimanded

# An octopuss mother heating its eggs until near death, saving her last forces to swim as far away as possible so her dead body wouldn't attract predators. The sacrifice got me emotional.

# The 'lion hugging its savior' video on youtube. That lion looked overwhelmed... More human than a Disney antropomorphic lion character. Just thinking about it warms my heart.

None of this is abstract enough for us to stop thinking we're not above. I'll agree that I've never seen an animal contemplating the world the way humans do. But maybe there's no point in doing it and we're just full of ourselves :)

</comment></comment><comment><USER19> Can we arrest killer whales then? Or can Orca on Orca crime be allowed?

<comment><USER20> False equivalence. Should the police of human state A prosecute citizens of state B for something they did inside the territory of state B?

I realize that the answer is sometimes "yes", but I don't think that crimes against humanity (orca-kind?) or rendition agreements are applicable in this case.

</comment></comment><comment><USER21> Does this article add anything new to the animal-sentience discussion?

</comment><comment><USER22> Nice exception to Betteridge's law of headlines, IMO.

</comment><comment><USER23> The advertising on this was so obnoxious (a 5 second video popup that I couldn't dismiss) that I was just left with Betteridge's law of headlines here.

</comment><comment><USER24> If they are, I demand my own tank and as much fish as I can eat.

</comment><comment><USER25> That clickbait title though. Of course an orca is not a person; an orca is not human, which is most peoples' understanding of "person".

I understand if articles might have clickbait titles, but can we give a more reasonable title on HN? Even the second part of the article title, "The more we learn about orcas, the more our assumption of innate superiority looks like a presumption" would've been more effective.

<comment><USER10> The term person has established precedent, both for humans and non-humans. For humans, the legality of abortion is often thought of in terms of the humanity of the embyro. However, the actual legal issue is whether the law extends to the embyro the right of personhood.

Peter Singer has advocated both for the personhood of certain animals and the non-personhood of certain humans (including live infants below certain cognitive thresholds) for some time.

<comment><USER26> The abortion debate is largely orthogonal to the personhood of a foetus.

There is no precedent for making it illegal to refuse to risk your health, well-being and bodily integrity to sustain another person with your own body. If the risk is negligible, sure, everything else would be denial of assistance -- but pregnancy (to say nothing of birth) is extremely risky as far as biological processes go.

You could argue about a voluntary pregnancy being some kind of contract that suspends your right to bodily integrity but that still wouldn't apply to unwanted pregnancies, which represent the majority of abortions.

Arguing that a foetus' personal rights are violated by early stage termination of a pregnancy is just special pleading biased by religious ideas about the inherent sanctity of life. Most nefariously, the same people who argue for the rights of a foetus also oppose the welfare that would be necessary to address the social impacts of the unwanted birth. Or to put it more hyperbolically: "A human's life is holy, until they are born".

<comment><USER10> I'm only arguing that the term personhood has extensive use in definining rights for humans and non-humans, providing a prominent ethicist as an example. I'm not trying to open up an abortion debate in a comment thread, because those simply go no where, influence no one, and fail to advance a meaningful dialogue.

You can certainly disagree with applying personhood to the abortion debate and claim an unlimited number of nefaroious motives behind pro-life advocates, but those would be different discussions. The term personhood _is_ used widely for embyronic and non-human rights, that's the extent of my claim.

</comment></comment></comment></comment><comment><USER27> "Can an animal be a person?"

According to the definition, a "person" refers to a human [0][1]. Perhaps the better question is should we treat the whales better or differently based on what we learned rather than shoe-horn them into a word that literally means human.

[0] Oxford English: "A human being regarded as an individual" [1] Merriam- Webster: "a human being"

<comment><USER22> Under United States law companies are persons as well, so these definitions are a bit out of date.

It's perfectly reasonable to expand the term "person" to apply to non humans, companies and orcas alike.

<comment><USER26> True, but the legal definition of a person and the dictionary definition don't have to agree, so it's important which personhood we're trying to redefine.

Should orcas be legal persons? Probably not. They can't give consent and will never be able to, in principle. This is different from a mentally underdeveloped human or a human child because an orca will neither grow up to be able to give consent nor could they reach that capacity as a species (within human timeframes).

Could orcas evolve to become legal persons? Maybe, but there isn't any selection pressure guiding them in that direction.

We should however acknowledge that "personhood" is not a well-defined requirement for the rights we grant to persons. We should probably extend some of those rights to certain animals independently of whether we can consider them persons or not. They're autonomous and have some form of sentience -- it seems only fair to acknowledge that in how we treat them.

That aside, the real debate here is animal rights and what constitutes animal cruelty. Personally I think Sea World is criminally abusive because it is necessarily incapable of holding large water mammals like orcas in captivity in a way that minimizes suffering for them -- the tank size alone could not be large enough for that; the economics just wouldn't work out.

<comment><USER22> > _because an orca will neither grow up to be able to give consent_

Conjecture that I do not agree with. Orcas can definitely give consent, it depends on the situation.

> _nor could they reach that capacity as a species (within human timeframes)._

More conjecture with which I disagree. Orcas can talk and they can indicate consent already.

> _there isn 't any selection pressure guiding them in that direction._

Conjecture. Strongly disagree.

> _Personally I think Sea World is criminally abusive because it is > necessarily incapable of holding large water mammals like orcas in captivity > in a way that minimizes suffering for them_

Finally, something we agree on.

<comment><USER26> I'm talking about informed, legal consent.

A child isn't able to give that, much less any non-human animal.

<comment><USER22> Here's an example of a grizzly expressing non-consent to being caged up:

[http://www.startribune.com/minnesota-zoo-bear-slams-rock- int...](http://www.startribune.com/minnesota-zoo-bear-slams-rock-into-glass- pane-shattering-it-like-a-windshield/311777801/)

That is sufficient for me and it should be sufficient for any decent human being.

If you require a grizzly or an orca to "sign on the dotted line for informed legal consent", you are a monster, and you are the one who should be caged up.</comment></comment></comment></comment></comment></comment>


Netgate offer new low cost SG-1100 for pfSense - <AUTHOR> https://store.netgate.com/pfSense/SG-1100.aspx <comment><USER2> Would be neat if something like this (3 ports, decent CPU) came with the ability to be PoE powered.

</comment><comment><AUTHOR> Wondering how performance is compared to PCEngines stuff.</comment>


Useless Use of Cat Award - <AUTHOR> http://partmaps.org/era/unix/award.html <comment><USER2> Mentally, I think of most Unix utilities as operating on STDIN and producing STDOUT. Therefore, to get the lines from a file into STDIN, I usually cat it. It's pretty common for me to write something like:

        cat file | grep xyz

Of course, this is completely unnecessary and a "waste" of using cat, as grep accepts as input a file or list of files to operate on, as do many other utilities. However, I don't care. It's additional mental clutter to have to remember the way to specify input from a file in addition to stdin when I know I can always cat the file and pipe it to whatever command I want.

<comment><USER3> As an alternative, you can always rewrite:

       cat file | grep xyz

To:

        <file grep xyz

<comment><USER4> No? Maybe you meant "grep xyz <file" ? In what shell does your line accomplish the same thing?

[edit: Ah, I had an extra pipe in there. "<file command args" does indeed work --- "<file | command args" does not]

<comment><USER5> >In what shell does your line accomplish the same thing?

Any descended from or cloning sh, or csh, or rc… i.e. pretty much all of them.

</comment></comment></comment></comment><comment><USER6> Fuck Google for the link rot, everything that points to Deja News is now useless. When will they start remembering their own corporate motto?

</comment><comment><USER7> My favourite seemingly-useless-but-actually-not-useless use of cat:-

        ls | cat

<comment><USER8> Or just

        ls -1

(that's a digit one)

<comment><USER7> Ah, but with the --color=auto option on ls (which I have set in my aliases) there's a difference between "ls -1" and "ls | cat"

Indeed there's even a difference between "ls -1" and "ls -1 | cat" if "\--color=auto" is specified.

</comment></comment></comment><comment><USER9> Yep, I see too many senior people violate UUOC/UUOG ie..

      cat file | grep bar | awk '{ print $1 }' | sort | uniq

which can be

      awk '/bar/ { print $1 | "sort -u"}' file

The best resource if you really want to be a better shell citizen (assuming you use Bash) overall is #bash on irc.freenode.net and Greg's bash wiki.

[http://mywiki.wooledge.org/BashFAQ](http://mywiki.wooledge.org/BashFAQ)

Honorable mention also for #awk on irc.freenode.net also which has taught me a lot.

<comment><USER10> I would still use the former.

Chances are, I'm not going to remember awk's somewhat weird, more unfamiliar syntax -- everyone knows about cat, everyone knows about piping, those two go very well together.

Using cat with pipes typically linearizes $x operation in our minds, it makes it easier to come up with solutions, and makes it easier to change them as modification is needed.

<comment><USER11> _Using cat with pipes typically linearizes $x operation in our minds, it makes it easier to come up with solutions, and makes it easier to change them as modification is needed._

Yes, definitely. Also it's easier to build up from simple to more complicated pipelines that way, testing whether each iteration does what you expect it to.

</comment></comment></comment><comment><USER12> The "for f in `ls * `; do" example is actually not useless. It has the quality that the loop will not run if there are no files, because ls produces no output. Compare:

        $ for i in `ls * 2>/dev/null`
        do
            cat $i
        done

        $
        $ for i in *
        do
            cat $i
        done
        cat: *: No such file or directory

Imagine that instead of cat we have a large, complex, expensive loop and don't want to pass a useless '*' to it if we can avoid it.

</comment><comment><USER13> I felt painfully ignorant when I realized this was nothing to do with felines.

</comment><comment><USER14> Another handy bit of syntax:

      $ command-name 2>&1 | less

This combines standard out and standard error into one stream so you can read all the output in less [1]. Piping just standard out leads to stray error lines popping up on the screen while less is running, and they aren't kept in less's buffer so you lose track of them.

[1] [http://www.cyberciti.biz/faq/redirecting-stderr-to- stdout/](http://www.cyberciti.biz/faq/redirecting-stderr-to-stdout/)

<comment><USER15> Be careful when redirecting STDERR to STDOUT if yo uare also planning to redirect STDOUT to a file. The order in which things are done affects the outcome. These are not the same:

      # Redirect STDOUT to file, and STDERR to file
      command >/tmp/command.out 2>&1

      # Redirect STDOUT to file, and STDERR to screen (as STDOUT)
      command 2>&1 >/tmp/command.out

The important thing to remember is that 2>&1 is redirecting to what STDOUT is _currently pointing to_ , not redirecting to STDOUT itself.

<comment><USER16> Recent version of bash support the (much nicer) csh syntax:

      command >& /tmp/command.out

<comment><USER15> I wanted to mention that in the original post, but I can never remember the syntax and was rushed. :(

</comment></comment></comment></comment><comment><USER17> _The fact that the same thread ( "but but but, I think it's cleaner / nicer / not that much of a waste / my privelege to waste processes!") springs up virtually every time the Award is posted is also Ancient Usenet Tradition._

</comment><comment><USER18> I will accept UUOC awards only from people who never use rsync when tar or cp will do.

</comment><comment><USER19> Though I've read this before, I've never picked up on the fact that you can do:

> <file command

It makes sense because the first statement is really saying "set up an input pipe" and not "This points at the command to my left."

</comment><comment><USER20>
        cat file | grep string

It's a _gratuitous_ use of cat, it's not useless.

 _gratuitous - uncalled for; lacking good reason; unwarranted_

        grep string file

Is all you need.

</comment><comment><USER21> Useless Use of Shell Award

When there are perfectly valid directives in your language, don't just shell out. We ruby people do this too often.

</comment><comment><USER22> Apparently, everything you do in bash is useless unless you're playing bash golf. Nevermind the fact that the commands still output what you want.</comment>


Learning the Web - t-3-k https://developer.mozilla.org/en-US/Learn <comment><AUTHOR> This looks like it will be a terrific resource for beginners and will help to fill in a lot of knowledge gaps. Beginners face a dizzying array of resources, opinions, languages. Knowing where to look, what to google, and even how to read the documentation is a skill set that can't be underestimated.

I've come to appreciate how far up the "literacy" ladder software development is: Basic Literacy, Digital Literacy, Computational Thinking, Programming Languages… Those of us who've managed to speak the language, and to do so with any degree of fluency, are a relatively rare bunch. But I don't believe for a moment that this stuff is "hard" to learn, so much as "inaccessible," and therefore, exclusive. I like to compare the situation we have today to the scientific community in the 17th century, when Latin was the "language of science". What's the language of computer science? Well it's Greek to the lay person (even if it is Ruby). Technical fields require a precision, but the net effect of all that jargon is just as dispossessing. Add to this the fact that software itself is invisible, compiled, minified, obfuscated, socked away on some corner of the internet, hiding behind a slick GUI, turtle turtles turtles all the way down, tea cups stacked, all the way up… It's no wonder that it's such a struggle to learn.

The flip side of all of this is an odd kind of colonialism 2.0, where our technology, with our QWERTY keyboards, and ASCII character sets, and the programming language itself are all spreading the English language like smallpox. But I digress.

Thank you MDN for the quality resources! It will be fun to see what happens if/when computational thinking really takes hold.

<comment><USER2> A good point overall, but I wonder if Mike Godwin would have anything to say about comparisons to smallpox :-)

</comment></comment><comment><USER3> Just a reminder that MDN is a wiki and thus a collaborative effort. Check out [https://developer.mozilla.org/en- US/docs/MDN/Doc_status/Lear...](https://developer.mozilla.org/en- US/docs/MDN/Doc_status/Learn) if you want to help make the Learn section of MDN better!

</comment><comment><USER4> I'm an advanced programmer, but I know very little about web programming in particular. Most web programming tutorials seem like they're designed for beginning programmers. Is there a resource designed for someone like me who already knows how to program and just wants to learn how to do it on the web?

<comment><USER5> Although it's still a bit aimed at beginning programers you might like Udacity's Web Dev course. I thought it was good. Taught by Steve Huffman who built Reddit. Python based.

[https://www.udacity.com/course/cs253](https://www.udacity.com/course/cs253)

</comment></comment><comment><USER6> I hate that resources on one topic are scattered everywhere, with no single path or centralized section, for example, from here [https://developer.mozilla.org/en- US/Learn/CSS](https://developer.mozilla.org/en-US/Learn/CSS) there is no path or easy way to get to another CSS resource on the site, like to this one: [https://developer.mozilla.org/en- US/docs/Web/Guide/CSS/Getti...](https://developer.mozilla.org/en- US/docs/Web/Guide/CSS/Getting_started) .

<comment><USER7> MDN is a wiki. If you want to add a link from one page of MDN to another, you're welcome to do so.

</comment></comment><comment><USER8> "So why do we need variables? Well, variables are needed to do anything interesting in programming. If values couldn't change, then you wouldn't be able to do anything dynamic, like personalize a greeting message to the user visiting your site, or change the image displayed in an image gallery, etc." — from [https://developer.mozilla.org/en- US/Learn/Getting_started_wi...](https://developer.mozilla.org/en- US/Learn/Getting_started_with_the_web/JavaScript_basics)

Well, I don't know much, but having only studied Haskell really, I know that statement above is nonsense. You don't need variables to change in order to do interesting things. You get the values from outside the program, you can then have them used in ways that don't have to have the same variable mutating all the time…

<comment><USER9> No, the statement isn't nonsense. If variables always had the same value and "never changed" in Haskell, they wouldn't be variables. They could be hard- coded literals.

You're just mistaking a claim about variables that change each time a program is run (which means they are initialized to a different value each time, whether mutable or immutable) vs. changing during the execution of a single run, which would require mutability.

The quote was referring to the former, not claiming that mutability is required.

<comment><USER10> The statement may not be nonsense, but it's certainly not at a level of detail required to be genuinely true.

Variables do always have the same value and never change in Haskell. They represent _constant_ abstracted unknowns. That said, a lambda binder which introduces a variable can be applied repeatedly and therefore each independent time it's applied the body of it, where the abstraction occurs, is now understood to operate with a new value for that variable.

That's very different from _change_ , though. The semantics of beta reduction clearly don't allow for change---merely substitution. The statics of it clearly demonstrate that even substitution isn't doing anything new---merely replacing like for like.

Even when your Haskell program responds to outside interaction---clearly, this is dynamic information, right?---it's still the same static artifact which is doing it. The variables at this point are all erased. It's merely the semantics of your program under outside intervention.

</comment></comment></comment><comment><USER11> This is sweet! Thanks Mozilla. I have waaaay too many things on my list that I want to learn, and I made a commitment to stop jumping around from one tutorial / site to another. So on the list it goes!

</comment><comment><USER12> That page is pretty overwhelming. No real calls to action on it other than the suggested links on the main page. I can really see this page being too much information at once for a beginner. Maybe get rid of all the information between the end of the Note and the footer; it seems like you could put that stuff at the end of the Getting Started tutorial in a sort of "where to go from here" section. Make sure they're interested first.

<comment><USER13> The Learning Area is still a work in progress, and contributions are more than welcome!

We're having a weekly IRC meeting on mondays at 19.00 CET, on irc.mozilla.org, #mdn channel.

</comment></comment><comment><USER14> Thank you Mozilla for this site. It has been my reference for a long while.

</comment><comment><USER8> Mozilla is doing an embarrassingly bad job of promoting software freedom here. They are promoting proprietary software often and making no distinction betwen free/open-source and no-charge/proprietary-freeware. Ugh.

<comment><USER15> meh

</comment></comment><comment><USER16>
      LEARN TECHNOLOGIES: HTML, CSS, JavaScript, Python

One of those does not belong.

<comment><USER17> Yup, that fourth one should be replaced with options.

        Learn these for the frontent: HTML, CSS, JavaScript
        Backend options: JavaScript (NodeJS or io.js), Python, Go, Ruby

All four of those backend options are reasonable options for beginners moving from the frontend to the backend or learning the frontend and backend simultaneously.

<comment><USER18> I've written some backend in C# and it was highly productive. I hate dealing with the uncertainty and mushyness that seems to show itself in dynamic or script-like languages in projects larger than a small script. Obviously they're viable choices according to their userbases but it wouldn't hurt to point out some more strongly or statically typed choices. There are solid frameworks in Java too, which has had a lot of industry use as a web backend. I'd probably also find your suggestion of Go nicer to work with than Python or Ruby.

And how did PHP get left out of this?

<comment><USER17> C# is also a legitimate option if you're using windows. Java is a good option too (although I would hesitate to recommend any language where you need to have an IDE to be productive). I should have included C# or both.

I left PHP out intentionally. If you're going to be immersed in a new community, you should at least be immersed in one where a greater percentage of the code you come across is of reasonable quality and is more likely to have tests. The PHP community is the epitome of cowboy coding and a novice programmer would pick up many bad habits from the code they come across in that community.

<comment><USER18> Mono works well enough that .NET languages can be a good option outside Windows as well.

</comment></comment></comment></comment></comment><comment><USER19> Mozilla is also a webplatform steward [0]. Duplicate effort?

BTW progress is quite slow on webplatform...

[0] [https://www.webplatform.org/stewards/mozilla/](https://www.webplatform.org/stewards/mozilla/)

</comment><comment><USER20> While this is great, I'd prefer the w3c wiki is kept up to date.

[http://www.w3.org/community/webed/wiki/Main_Page](http://www.w3.org/community/webed/wiki/Main_Page)

</comment><comment><USER21> While I applaud the effort, this just shows how disconnected Mozilla has become from the web in general. I wish they'd concentrate on making a great browser, an area they were leading until Chrome and the mobile web happened.

<comment><USER3> You're assuming that the time/money spent working on web literacy at Mozilla can just be taken and thrown at Firefox to make it better. I disagree, and think that web literacy is a good direction to put some effort towards as it relates pretty directly to our manifesto.</comment></comment>


PixFit - ultimate measuring tool for Mac OS X - <AUTHOR> http://pixf.it

<comment><USER2> This appears to be based on xScope -- or at least one small portion of xScope -- a product much better described as the "ultimate measuring tool".</comment>


Ask HN: Could U.S., work without a president for the next 4 years? - <AUTHOR> I live in Europe. I don't care much about U.S. But also I think, that the current US president election, takes about 10 years now! Really! How long does all this voting-voting-voting-voting-voting-voting-voting-voting-voting media campaign last? I think, is sick!
Isn't the country like US or any other country, about the people who live there? The same people who go to work each day? The people that pay taxes and create values, and have no return in the local environment for that tax…
Do U.S. citizens really have to spend years of they live, just by looking on president candidates?
After watching the debate yesterday, after all this time you have to absorb the ever-lasting media presentations for the last months. Is this really about Voting-BAD <vs> Voting-BAD? Is this all voting opportunity that a country like U.S. can provide to the people? Hmmmm. After all this, it's really just Coca-Cola VS PEPSI??? That sad!
P.S.: Who are the people who do organize those TV debates? Could those people run US for the next 4 years? As an experiment. I think they pay a role in all that execution and official stuff, the protocols, the representation of human and ethical barriers.
Let me know if I feel wrong about all this. Or anything else!
Thanks, t.d. <comment><USER2> The US can't work without a President because that position serves important functions as a tie-breaker, diplomat, and leader of the Executive Branch of our government. If you removed the President, no one would agree on who would get to take over those responsibilities.

> _have no return in the local environment for that tax_

We have enormous amounts of return on our taxes. We don't have to be afraid of getting sick and dying on the street because we have bad luck or lose our jobs. We have roads and bridges and free schools for any child.

> _Is this all voting opportunity that a country like U.S. can provide to the > people?_

Most Americans actively like and support one candidate or the other. They don't see it as a choice between two bad candidates.

There are also literally tens of thousands of other officials being elected at the same time. When we vote for the President, we're also voting for city and state officials, as well as Congress (which is much more powerful than the US).

> _Could those people run US for the next 4 years?_

The President doesn't run the US. They are the head of a large organization with thousands of people in it, and even that organization doesn't run the US. They have specific roles, and they share the task of running the US with hundreds of thousands of other people, including hundreds of members of Congress.

The President has a lot of control over foreign policy and a few other areas, but you shouldn't think of the President as being like the CEO of a company.

<comment><USER3> As part of the executive branch there is also the military. In times of war it's congresses job to declares war but the president commands the military because congress would operate to slowly.

<comment><AUTHOR> Mylitary could be based on A.I.! :)

<comment><USER2> That is either a joke or the worst, most terrifying suggestion I have ever read.

</comment></comment></comment></comment><comment><USER4> How can anyone complain about the most entertaining Presidential campaign season ever? Last night was quality entertainment.

<comment><AUTHOR> that solves my question. The exact point of view I must follow to this topic :P thank you sir. Anywone with karma 20+, please delete my post :)

</comment></comment><comment><AUTHOR> please YC, delete if its no-sense :) thx

<comment><USER5> When you get 20 karma you can flag offtopic post. With enough flags the story will be automatically killed.

When it's egregious, you can email the mods email@example.com .

Use both options wisely.</comment></comment>


Ask HN: How would you force scarcity on a distributed DNS alternative? - <AUTHOR>

I've been thinking a lot lately about the things that are broken with our current domain name system, and if there's any way we can build something that's truly decentralized.
The big thing I can't wrap my head around is how to build in some sort of scarcity without central control - how do we keep the botnets and domain squatters at bay?
A proof-of-work system similar to Bitcoin's is an interesting option, but it's weighted heavily towards the rich - is there anything better? <comment><USER2> A proof-of-networking system, wherein individuals get reputation points for spending more time connected to the system (with some sort of underlying system ping) might work. As an individual node spends more time connected, it gains reputation, and that reputation can be given to other individuals used to "purchase" a domain. Of course this his horribly weighted toward owners of botnets, so I'm not sure it's really worth anything.</comment>


Fighting the Last War - <AUTHOR> http://keithba.net/fighting-the-last-war <comment><USER2> One of the things that's interesting about this - and is good meat for further discussion - is how to react when you find yourself on a team with someone who's clearly fighting the last war. I think it's inevitable that people end up fighting the last war, but I'd love to know if there are ways to break the cycle for someone once you see it happening.

<comment><USER3> I'm kind of doing that right now--we've got that issue pretty badly, actually. It's surmountable, but annoying.

Here are some observed causes or environmental factors:

 _Using an older or low-level language_. If you're doing code in asm/C/C++/Matlab/Fortran (arguably Perl, PHP), odds are you aren't in a position to easily pull in other people's solutions. That means that you are probably trying to reinvent the wheel, because you don't know of a pre- existing solution, because you don't want to pull in the massive baggage of other solutions, or because you enjoy making the wheel over again yourself. Newer, more abstract languages don't have this problem, mostly I think because they come from a time of easy collaboration via the internet. The whole gem/npm/hex ecosystems simply couldn't be possible without easy internet access and github. I'm going to call out C++ specifically here, because using that language with old code is terrible because odds are that, even if you are doing things correctly, the library author isn't (from a strict software engineering standpoint).

 _Not understanding your problem space_. Oftentimes, being overly conservative about your design requirements (we must be webscale, fault tolerant, absolutely _have_ to support XYZ vendor integration) means that you overdesign --and when you do that, you are more likely to be fighting old wars. If you really grok and have cleanly defined your problem space, you know where you can cut corners, instead of overbuilding based on previous experience.

 _Not following de facto standards_. There's a bajillion ISO standards for everything you might want, and a lot of people will glibly explain "The great thing about standards is that there are so many to choose from". The problem is, those people will either go on to ignore standards in favor of their own (usually created to fight the last war), or pick one that isn't being used (usually something that is fighting a war that was already won/lost). The only thing worse than fighting the last war is fighting the last war from the losing side. JSON vs XML is a great example of this, as is RFC3339 vs ISO8601 vs <insert wrong in-house way of doing time here>. Another great example is REST vs SOAP, or Unix Way vs Not Unix Way, or ORM vs Not ORM.

 _Not being lazy_. The best wars are never fought, right? There's nothing worse than a developer who is super industrious and never pauses to think "Wait, is the problem I'm solving just a rehash of something I've done before, or is there a deeper conflict here?". Fighting the last war happens when these people continually reiterate on the last battle ("This time I've got time right!", "This time I've got better performance!", "This time I've got the right object model!"), all the while missing the important thing ("My customer still can't do X").

 _Not sharing knowledge_. Probably the biggest one of these other than the previous one is the problem of developers not letting other developers know about what's been tried before, and why it did or did not work. We already hate rehashing solutions--so if presented with a module that isn't explained, are you going to rewrite it, or just accept it? Almost all the developers I know would prefer to rewrite it (and only experience and wisdom holds them back from doing so). When you've got a large codebase, and you've got like three different exception handling systems built by different groups because they don't talk, you've fought the last war three times.

</comment></comment><comment><USER4> From working with an old PHP codebase, I'd like to offer: "Design for deletion."

This has important differences from "design for modularity" or "design for future change" or "design so someone can swap it out", because those phrases tend to make developers go off and engineer extra stuff, under the assumption that their current paradigm for how the software operates is going to continue to be accurate even if their implementation someday needs replacing.

... But what happens when it's not just "this code sucks", but also "we shouldn't even have any code that's doing this task"?

<comment><AUTHOR> I love this idea. If you can easily delete the code, you can easily refactor!

<comment><USER4> Thanks. When it comes to "easily refactor" I think there's a distinction to be drawn between "hard but understandable and verifiable" versus "maybe-easy but with unknown surprises."

The difficulty of replacing or refactoring code should come from the "inherent complexity" of creating its replacement, not from the "incidental complexity" of discovering its boundaries and influence.

</comment></comment></comment><comment><USER5> Nah ... not using async, not running with tests, these aren't "let's build a Maginot line" mistakes. These are "let's not make sure our troops can run 10 miles and shoot accurately" mistakes.

Sure there are plenty of strategic mistakes that will doom any army or enterprise - but the biggest one, the granddaddy of them all, is only listening to half of the proverb "hire great people then get out of their way"

So many generals want to be sure everyone understands it is their clever tactics that won the war they forget the lessons of generals who really do - logistics and economics. Everything is subservient to getting a well fed and trained soldier with a gun in his hand at the point he needs to be.

For a good example look at Spolsky - hiring good people, fixing up nice offices, handing over lunch - probably there is some office manager who acts as a general problem solver for the devs and magically makes boilers and landlords and IRS problems vanish.

Logistics.

Not even big guns.

</comment><comment><USER6> This is a problem of planning; I don't think more or more frequent planning is the answer.

Instead you need to make the minimum viable thing, even more minimally. Make sure the very first iteration is end-to-end usable to solve a real problem. Then you'll notice if you can't use async on the backend before putting async everywhere. You'll notice if you're testing too much. And you'll have a better understanding of your burn rate because you've done all the tasks, including the things like design and hosting and legal that can easily be forgotten.

</comment><comment><USER7> Great article and topic. But just FYI, I don't think building a Maginot Line actually qualifies as "fighting the last war". As the author explains, the ML actually worked -- the Germans had to invade through Belgium! And had they built the ML all the way to the sea, the blitzkrieg would have failed. Perhaps a better historical military analogy would be that of Billy Mitchell and the rise of Naval Aviation ([http://en.wikipedia.org/wiki/Naval_aviation#Interwar_period](http://en.wikipedia.org/wiki/Naval_aviation#Interwar_period)). Anyway great lessons here -- thanks for posting.

<comment><USER8> I groaned when I saw the Maginot Line thing yet again. People, your grade school history teacher lied to you!

There was nothing wrong with the Maginot Line. As part of the overall plan they intended to stop a German invasion through Belgium in Belgium. They had an agreement with the Belgians which had Belgian troops using forts and pillboxes to slow down the German invasion until French troops arrived.

But the French lost the war before it started when the Belgians decided they didn't want to fight the next Great War in Belgium and pulled out of the agreement. And they did so far too late for the French to make other arrangements.

I like your reference to naval aviation, which is a much better fit.

<comment><USER9> Interesting. Are there any references or good articles you've seen that go into those details about Belgium? Never heard that before.

<comment><USER8> The only one I can think of off the top of my head is Shirer's _The Rise and Fall of the Third Reich_.

</comment></comment></comment></comment><comment><USER10> My take away from "Do just enough" is the flip side - throw it away and start over. The second part is just as important as the first or you end up with crap prototypes in the heart of your solution. The first time doesn't have edge case handling and will be insecure, so toss it out when it starts to become a product, if not before.

<comment><USER11> You have to be willing to toss anything and everything if it isn't right. The hard part is convincing the boss people that this isn't stupid at all.

<comment><USER12> Similar advice is at least 40 years old. You could always point people at Brooks: [http://en.wikipedia.org/wiki/The_Mythical_Man- Month#The_pilo...](http://en.wikipedia.org/wiki/The_Mythical_Man- Month#The_pilot_system)

Brooks says that you should probably _plan_ to do that. But almost nobody does.

</comment></comment></comment><comment><USER13> > You need to watch the burn rate carefully, and have a clear plan for raising > more money (either by selling to customers or raising from investors.)

Following the latter leads to the fatal pinch.

[http://www.paulgraham.com/pinch.html](http://www.paulgraham.com/pinch.html)</comment>


Zediva Streams Movies From Physical DVD Players, Argues It's Legal - <AUTHOR> http://techcrunch.com/2010/11/24/zediva/

<comment><USER2> Brilliant. Makes me want to become a customer to support their sheer chutzpah. I guess they must have done at least some legal homework. Not that it matters much when you're baiting the attack dogs of the content industries, whose primary fear seems not to be loss of revenue but loss of control.

<comment><USER3> > the content industries, whose primary fear seems not to be loss of revenue > but loss of control.

As a matter of fact, this company is proposing to stream movies for half of what Netflix does. I'm pretty sure that the studies get less than half the money from this than they would get from Netflix. So yes, there is definitely a significant loss of revenue (or would be, if this company ever got anywhere.)

<comment><USER4> Loss of revenue _per rented movie_. Depends on the degree of saturation of the market whether it's true loss of revenue. The video streaming market in Europe has barely been touched; iTunes movie rentals only recently opened up to more regions, and at €3-4 per movie it's _very_ expensive compared to DVD rental.

<comment><USER5> It's also more difficult, and drastically more expensive than BitTorrent.

<comment><USER6> Yes yes, and paying for your groceries is more expensive than shoplifting too, can we please not have the discussion where people pretend that stealing stuff is just as good as buying it? Most people are law-abiding citizens.

<comment><USER7> Stop using the S word! Seriously. When you steal something, the rightful owner no longer has the item. You _cannot_ by definition steal digital content. You can merely copy it. Does that result in damages to the original owner? Maybe. Is it stealing? No.

<comment><USER8> honest question: do you think identity theft should likewise be renamed?

<comment><USER9> Since identity theft means that the person looses stuff (privacy, high credit score, etc) it seems like it was perfectly named.

<comment><USER10> "Identity theft" is merely a type of fraud. The victims are the creditors, and what you "lose" (the opinion they have of you) never belonged to you.

<comment><USER11> Identity theft is a much broader issue than just credit reports.

<http://en.wikipedia.org/wiki/Identity_theft>

Essentially it's a way to accrue benefits while pushing any negative consequences on someone else. Those negative consequences can be material and not merely opinion. (E.g., your actual bank account can be drained and your checks can bounce.)

Further, opinion does translate into material consequences. Your options largely depend on the opinion that other people have of you.

Even narrowly construed, a mere credit score is a source of opinion that can affect everything from housing (buying OR renting) to employment, to getting a cell phone or any other type of service. Straightening out your credit can be very difficult, and even if you are successful, the fraud was a denial of service attack against your time. Credit bureaus rarely if ever face penalties for maintaining inaccurate information, so the onus is on the person whose identity was stolen.

If you don't think the individual is victimized, I invite you to post all your credentials and see where the experiment leads.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> And just like that, the technological world takes a step backwards. It's akin to when Concorde was decommissioned; the standard way to sell streamed movies may become to have a physical copy, with all the limitations that causes. This time it's due to legal restrictions.

Whilst this change will hopefully benefit customers and help lower prices, anyone can see that this is not the optimal solution.

<comment><USER6> Actually I think it might work the other way.

At the moment Netflix can't get licenses to stream the vast majority of movies. But if this business model works and is legal then Netflix can say "Hey look, your fancy new movie is going to get streamed over the internet anyway, you might as well license it to us".

I imagine the studios make more money on average getting fifteen cents per watch from Netflix than selling a physical DVD to these other guys and letting them play it until it wears out.

So this business might encourage a shift that works out to everybody's advantage: the consumer, the studios, and the existing dominant player Netflix. Everybody's advantage, that is, except for this guy, who finds himself driven out of business as soon as Netflix starts streaming every title in their library.

<comment><USER13> Or they just charge $1000/copy for 'rental' DVDs with a license saying that the retail DVDs can't be rented.

That's what used to happen in VHS days - the rental copy to blockbuster was $100, then 6 months later the retail copy came out for $10.

</comment></comment></comment><comment><USER14> I'm curious to see wich kind of legal weapon the movie companies are going to use to fight this one.

I expect something like forbid playing rental dvds on players more than 10 feet away from the TV... This is going to be sick.

<comment><USER6> I think one could make a not-entirely-unreasonable argument that by streaming the DVD you're making an unauthorized copy of the data on it.

What are they doing, after all? They read bits off the DVD, make another set of bits which contains essentially the same information compressed, and transmit it to a remote location. Sounds like making a copy to me.

<comment><USER15> How do you play a DVD on a modern TV? HDMI. Same exact type of "copy".

If you "rent" the player from them as well as the movie, then it is the same fair use that allows you to play a DVD on your tv.

HDMI, or whatever--even via analog makes up to 5+ copies just to get out of a modern TV (D->A from your player, A->D to your TV, several copies and augmented copies into a buffer handling picture processing, scaling, and motion smoothing, and then pixel elements in an active matrix LCD store their values in embedded transitors, and the physical twist of the liquid crystals is another copy, not to mention the light travelling through the air, the copy your retina makes as it scans the TV, the persisted gradually degrading copy that makes it into your mind)).

<comment><USER6> The difference being that those copies are authorized by the copyright holder and this one is not.

You're right in that that's an obvious counterargument. I don't know how it would play out in court. I don't wish to argue that my "this is a copy" argument is undefeatable, but I think it's sufficiently plausible that this is what the copyright holders will argue when it comes to trial.

</comment></comment></comment></comment><comment><USER16> I guess, it's actually like renting a digital copy (since most of the time it will be served through cache, right?), just you aren't able to serve more copies at the same time than you legally possess.

That's smart.

<comment><USER17> I think if they had to argue it in court, they will present the cache as an irrelevant technical detail, just like how fleeting copies of frames from a DVD are stored in buffers and decoded when playing the DVD on a traditional player.

The Doctrine of First Sale allows people to rent out DVDs, and people in lawful possession of a physical object like a DVD to watch them (but not make a copy); if the transient data stored in DVD players for the purposes of decoding and playing a DVD don't count as copies.

US law explicitly gives the copyright owner exclusive rights to authorise who can "display the copyrighted work publicly" - but if it is only going out to one person, I suspect that they might not be able to prevent it.

</comment></comment><comment><USER18> Wow, that's not a very scalable business. You need one physical DVD player for every concurrent customer, inventory of all of the DVDs sufficient to handle peak demand, and a small staff of bored employees keeping the right DVDs in the drives.

In other words, you still have all of the worst features of owning a DVD rental store.

<comment><USER19> With a dvd player costing $30 or less retail, it shouldn't be hard to get 500 of them at $15. Hook up some IR remote infrastructure, automated switching of the output signals and you should be ready to serve 500 customers at a time for 25k. (for an order that size or a bit bigger a Chinese outfit may even be willing to wire the IR receiver so that there is a direct control line hanging out of it, ready to be hooked up the control server) He has a very small library says the article, so not even a need to actually switch dvd's; even if he does, two high school kids @ $7.25/hour (or nearshore to Mexico for even cheaper labor) can keep up with switching those 500 machines if he has automated the ejecting and sorting of the newly to insert dvd's (that is even assuming that there are no two customers who want to the same movie, and I think the movie rental is heavily long tail, so half of those machines will probably have the same movie in them for weeks on end).

I'd think it's massively scalable. Not enough capacity? Call your Chinese guy and you can double or triple it in two weeks. Or when worse comes to worst, drive around for an afternoon and empty the bargain bins of all Walmarts in the area.

So let's say you got labor costs of $1000/day if you keep a couple of spare employees at all times and have them work around the clock. Depreciation of inventory is 250/day (very generous - 50k costs depreciated in a year). Rent a warehouse, buy paper clips, 250 a day. Thing that I'm most uncertain about is bandwidth, let's say 300 a day? (2 gb/movie, 3000 rentals a day (see below), 0.05 cent per gb in bulk) His largest expense is going to be the lawyers, let's say a full time one at full rate, 1000 a day.

Total costs 2800 a day. Now let's say he's running at half capacity and at all times, only 1/2 of the players are active (on 2 hour movies). He charges $1 for each movie, way below market rate - premium content here in the EU is 6 euros, about 8 dollars, but let's say he goes for rock bottom prices. That's still $3000 a day, putting him in the black. Including 30k+ a month in legal fees. With every additional sale being 95% profit. If this sticks, which I doubt it will, he's got a good deal.

(this assumes 3000 rentals a day. I don't know how much this really is. Netflix has 10 mil subscribers, they claim; let's say each rents out one movie a year. That's 27k a day. So you'd have to be about 10% of Netflix's size to make that).

<comment><USER20> Why even bother having someone to switch DVDs if you can get the players so cheaply? Just assign a disk to a player and treat it as a unit, and don't touch it unless it breaks. You could even wire up the unit to be controlled by software and powered off when no one wants to watch that movie. I suppose it would increase space usage, but it would greatly simplify operations if you don't have to depend on a person to load and unload devices.

<comment><USER21> I imagine that the AV cabling and switches could get pretty expensive with that many players.

<comment><USER6> If it takes off, I imagine they'll start building some clever custom hardware. It's not going to be an enormous rack of Sony DVD players with big black cables coming out the back of each.

</comment></comment></comment></comment></comment><comment><USER22> So Zediva is pursuing the redbox strategy, except by streaming instead of physical rental.

</comment><comment><USER23> Most movies have a sticker on them saying not for rental (rental ones have a sticker saying not for resale).

They could also claim this was a public performance.

</comment><comment><USER24> I wouldn't mind if I could dump all my DVDs into a box, send it to someone and have them stream them to me when I want, to any device I want.

<comment><USER25> That's actually VERY similar to the system I am setting up... but with an added secret component. see an earlier post with some signup codes for the private test: <http://news.ycombinator.com/item?id=1825578>

as of right now I believe only 2 of the codes on that page have been used.

</comment></comment><comment><USER26> It would be nice if they could stream a digital version (non-optical copy), but still buy the physical copies and keep track of how many were in use at one time as to not "use" more than they own.

</comment><comment><USER27> Great! We need even more complex laws ...</comment>


Mozilla building mobile OS to battle Chrome - <AUTHOR> http://download.cnet.com/8301-2007_4-20083238-12/mozilla-building-mobile-os-to-battle-chrome/

<comment><USER2> Sensationalist title. The Ars article[1] was much better.

 _A foundational goal of the B2G project is to explore and remedy areas where current Web standards are insufficient for building modern mobile applications. Instead of haphazardly grafting vendor-specific markup or extensions into the application runtime, Mozilla will seek to propose new standards to address the challenges that emerge during development._

Nicely aligns with their main aim of promoting openness, innovation and opportunity on the web.[2]

[1] [http://arstechnica.com/open-source/news/2011/07/mozilla- eyes...](http://arstechnica.com/open-source/news/2011/07/mozilla-eyes-mobile- os-landscape-with-new-boot-to-gecko-project.ars)

[2] <http://www.mozilla.org/about/mission.html>

</comment><comment><USER3> I wish people would stop calling the act of scraping together a new linux distro "writing an OS."

</comment><comment><USER4> This may seem obvious but operating systems tend not to be replaced by other operating systems, but rather subsumed by the very applications built on top of them.

For example, DOS was not replaced by another OS but was subsumed by a DOS application, Windows 3.1, which eventually grew down and became a standalone OS in Windows 95.

<comment><USER5> DOS << Windows << Browser << Facebook

<comment><USER6> Great thread! So the next thing to expect after the Chrome laptop would be a Facebook laptop?

<comment><USER5> Or mobile phone

[http://m.ft.com/cms/s/2/8ead4e1a-b86b-11e0-b62b-00144feabdc0...](http://m.ft.com/cms/s/2/8ead4e1a-b86b-11e0-b62b-00144feabdc0.html)

</comment></comment></comment></comment><comment><USER7> My biggest problem with this is that the biggest problem with Mobile web browsers right now is that they pale in comparison (both feature and performance) to their desktop counterparts. Last time I checked the iPad browser (probably the best tablet browser) was something like 15x slower than Chrome desktop in javascript benchmarks.

This is the #1 blocker to mobile web app adoption. Try viewing a SVG on a mobile browser and see what happens. You're flipping a coin. Why doesn't Mozilla focus on bringing mobile/desktop feature parity before adding device level APIs?

<comment><USER8> With regards to performance, keep in mind that there is simply a difference in processor performance. A mobile architecture browser is just not going to be as fast as a desktop based browser.

There are additional optimizations that can be done, of course--the ARM assembly generated by current JITs is not of quite the same quality as the x86 assembly, because the architectures are structured differently and ARM was shoe-horned in afterwards. Different ways of performing operations do better on ARM than on x86--the architectures have different performance characteristics. In point of fact, some of the JS team at Mozilla has shifted focus to improving ARM code generation.

Second, you are assuming that everyone at Mozilla works on the same single project. This is simply not so. There will still be a significant team of people working on improving the current mobile Firefox. This new project is distinct.

<comment><USER7> Please educate me, I honestly don't know, but I've tested html5 games on an iPad2 and a 5 year old single core PC and seem the PC consistently outperform the iPad2. What is it about ARMs that are so slow compared to the equivalent or worse x86 chip?

I'm completely supportive of this project, and would probably use it on my personal phone, I just wonder if Mozilla isn't already stretched too thin.

<comment><USER8> There's a few aspects to discuss here.

Firstly, in 2006 (5 years ago), x64 chips were Core2Duos clocked at about 2.2Ghz. This is top of the line, but even a mid-level processor would be something like 1.6Ghz. A PC would probably have about 2GB of RAM.

An iPad2 is a 1GHz, dual core device. Further, it is built for a mobile device, and thus will sacrifice performance for the sake of battery life, at the very least in subtle ways. It has 512MB of RAM. That's not quite equivalent, not yet. Certainly the next round of mobile hardware will be above and beyond the level of said desktops by a good margin.

Second, there is the performance profile characteristics I mentioned before. I don't know much of the details of ARM, but for example: you can only load a 12-bit immediate. Larger constants must be loaded into a constant pool. The iPad's L1 cache is significantly smaller than that of a desktop processor. Both have 16 general purpose registers, but spilling to the stack will take more of a hit on ARM.

Then there is code quality. Current codegen for ARM is not as good as x64-- checking the tag and performing a conditional jump in Jaegermonkey currently produces 3 instructions where it could be done in 1 instruction. When an constant is loaded into the constant pool there is no check to see whether it was necessary to load it (was it already loaded in?) There was a lot of focus on code generation quality in x86-land which has only recently been shifting to ARM--I expect those pieces of the puzzle to be solved very quickly.

To address your other point, what information is indicative of Mozilla being "stretched too thin"?

(For my credentials when talking about Firefox's Javacsript JIT--I am an intern currently working on the next generation JS JIT, Ionmonkey. Code is here: <http://hg.mozilla.org/projects/ionmonkey/>)

</comment></comment></comment></comment><comment><USER9> "Mozilla will seek to propose new standards to address the challenges that emerge during development"

I'd love to be able to get excited about this, but sadly I can't. Here's why: <http://xkcd.com/927/>

Plus, like someone already said, Mozilla is maybe stretching itself a bit too thin.

</comment><comment><USER10> I dream of a future of sophisticated mobile web apps and no vendor lock-in to a particular mobile OS.

</comment><comment><USER11> Ok somewhat confused the article implies its to battle Android not Chrome..?

</comment><comment><USER12> Mozilla's biggest problem is not aligning with wants of mobile OEMs..

Right now a significant part of mobile OEMs wants mobile widget engine technology..such as BONDi..Mozilla could be ahead of the game by putting BONDi inside their engine for mobile..

My bias; exactly 18 months ago was interviewed by Mozilla for an xml dev job and suggested that very path.</comment>


Being a Beginner - <AUTHOR> http://davekiss.com/being-a-beginner/

<comment><USER2> I am in my first startup, and am very much the beginner in more ways than one. And the days that go well are the days when I feel like the environment I work in values learning above all else.

I think it's important to remember that teaching is a lifestyle more so than a job description. You see this in the best teachers, and as a beginner, it's important to find those people that enjoy for the sake of communicating knowledge.

Thanks for sharing!</comment>


Ask HN: Really afraid to start my own technical blog, any tips? - <AUTHOR> I want to start my own technical blog and share all the things I learned, but I am too afraid that I might write something wrong and fail my readers. Any tips on how to overcome this fear? <comment><USER2> You might take a look at Julia Evans' writing as an example of this, learn, write, learn some more. Your blog doesn't have to be a reference textbook on a topic, but a log of your explorations on whatever topics you find interesting. If you have something incorrect, the worst case is nobody reads it. Best case is you start a discussion with a reader and learn something.

[https://mobile.twitter.com/b0rk](https://mobile.twitter.com/b0rk)

[http://jvns.ca/](http://jvns.ca/)

</comment><comment><USER3> One way to work on this is by first posting comments on forums like HN on the topic you want to write about and see if it gets torn to shreds as wrong, stupid and dangerous. If so, figure out what you are doing wrong that it is getting that reaction. If not, start blogging. You will probably be fine.

</comment><comment><USER4> I am the King of the Internet. I hereby give you my official royal permission to go ahead and blog, even though you may write something wrong.

Oh, wait, I'm not the King of the Internet. Nobody is. There's nobody to give you permission or approval... except you. Go ahead and give yourself that permission - permission to write, and even permission to be wrong.

The thing is, everyone who writes on the internet has been wrong. _Everyone_. You aren't going to be this horrible exception, the one person who said one thing wrong on an otherwise-perfect internet. So go ahead. Write. Make mistakes.

But, as others have said, learn. When you discover that you have made a mistake, say so. Correct it, in public, because the mistake was in public. And don't feel horrible when you do. Instead, feel smarter than you were when you made the mistake.

You'll make mistakes. Do it anyway. Forgive yourself for the mistakes, learn, teach your readers, and move on.

</comment><comment><USER5> Might take a look at the book, "Technical Blogging: Turn Your Expertise into a Remarkable Online Presence"

[https://www.amazon.com/Technical-Blogging-Expertise- Remarkab...](https://www.amazon.com/Technical-Blogging-Expertise-Remarkable- Presence/dp/1934356883)

You could always publish under an pseudonym, then if things go well claim it under your real name.

Key really is getting people to read what you're postings and getting feedback. You might consider starting or including an option to get the posts via email, which will give you a direct way of contacting readers.

</comment><comment><USER6> I think every writer makes mistakes. Stay humble in your writing and people will correct you in the comments.

"develop the habit of letting small bad things happen" \- Tim Ferriss

</comment><comment><USER7> I have the worlds shittiest tech blog. Im actually proud of how shitty it is. You cant do worse than me. However, I enjoy blogging.

You blog will likely be ignored and never get more than a few visitors. Forget about being wrong because there is little chance anyone finds out. Also, who cares if you are wrong? What matters is that you dont stay wrong.

Here is my shitty blog:

[http://pablojuan.com](http://pablojuan.com)

Rejoice in the mountain of grammatical and technical errors.

</comment><comment><USER8> Just Do It.

Assuming you have any significant knowledge (and you probably do), the good you'll do by sharing that knowledge will massively outweigh the harm any mistakes may cause.

Just be open to corrections if they come up.

This sort of fear is very normal, and is what stops a lot of people from giving a lot of value back to the world by writing about their area of expertise. If you overcome it, you'll help not only yourself but also lots of other people.

</comment><comment><USER9> Worst case scenario, you write something wrong and somebody notices and put a comment. Simply acknowledge, correct the post and carry on.

Remember that many scientific papers published in peer-reviewed journals turn out to be wrong/not reproducible or contain errors .

</comment><comment><USER10> Life is too short to worry about details as small as that, just start.

If you're blog is about doing something that could be destructive (How to migrate data from X to Y) etc, just start with a disclaimer, and ensure you do as much testing as you feel obliged to do.

</comment><comment><USER11> Everybody makes mistakes, including bloggers. From my experience, if something is wrong or doesn't work your readers will let you know in the comments. Just be humble and ready to correct your mistakes and there should be no issues.

</comment><comment><USER12> What do you mean wrong? Technically inaccurate? Know your tech. Test, so you can be sure. Cite your sources (e.g., provide a "learn more" list.) You'll do fine! Go for it.</comment>


Show HN: Baseball Pitch Prediction with Deep Learning - <AUTHOR> https://medium.com/@matthewberland/pitch-prediction-with-keras-part-i-d2a3c28e6568 <comment><AUTHOR> I thought some people might be interested in a pet project: predicting the next pitch (in baseball) using Keras.

tl;dr: I can't predict the next pitch perfectly, but I can give a really believable distribution of possible next pitches.</comment>


Sony Sells Over 2 Million PS4 Units In Two Weeks - <AUTHOR> http://techcrunch.com/2013/12/03/sony-sells-over-2-million-ps4-units-in-two-weeks/

<comment><USER2> Original post: [https://news.ycombinator.com/item?id=6840157](https://news.ycombinator.com/item?id=6840157)

<comment><USER3> Nothing there.</comment></comment>


Facebook and Brand Engagement through Fan Pages - <AUTHOR> http://faven.net/blog/?p=1

<comment><USER2> I have to agree with that second to last paragraph. The number of fans means almost nothing when it comes to measuring "real fans". I for one ignore all fan page requests, while others on the other hand accept every request thrown their way, whether they know what it is or not.

However, there is some value in creating a space for "fans" on sites such as Facebook. It's a cheap easy way to put your name in front of potential customers. We have a fan page for two of our ventures and we've gotten sales and LOTS of traffic from our fan pages. Facebook is one of our top referrers, specifically our fan pages.</comment>