Alfred Anaya Put Secret Compartments in Cars. The DEA Put Him in Prison (2013) - <AUTHOR> http://www.wired.com/2013/03/alfred-anaya/all/ <comment><USER2> Alfred Anaya is yet another example of magical thinking about how the law works. Just avoiding certain words doesn't prevent rational people (in this case, a judge) from concluding that he did, in fact, know what he was doing when he built hidden compartments for drug dealers.

This isn't a guy who built one thing for the wrong person, but many over the course of multiple years. It blew up in his face, but that is the risk of working with very dangerous people at the edge of the law.

<comment><USER3> The bottom line is that what he did was not against the law. There are supposed to be laws written against activities that are prohibited, to prevent prosecutions based on the whims of prosecutors and other individuals, outside of the normal legislative process. If one wants to argue that this type of activity should be precluded by law, then that's a valid argument. That still doesn't put Anaya in jail however, because even if it were passed, ex post facto laws are expressly forbidden by the United States Constitution in Article 1, Section 9, Clause 3.

The bottom line is, Anaya didn't play ball with the DEA. They went after him to punish him for not cooperating, not because he broke any laws. It's a travesty and a scathing indictment of the current legal situation in the United States that he could even be charged with this crime at all in a state he'd never set foot in, much less to have a conviction against him.

<comment><USER4> Everything which is not forbidden is allowed. A very important principle, however it doesn't seem to really be the case anymore.

[http://en.wikipedia.org/wiki/Everything_which_is_not_forbidd...](http://en.wikipedia.org/wiki/Everything_which_is_not_forbidden_is_allowed)

<comment><USER2> It is an important principle, but doesn't seem to apply in this case:

* Distribution of cocaine, methamphetamine and marijuana are explicitly forbidden by federal law, dating back at least to the mid-1900s.

* Conspiring to violate federal law has been explicitly illegal since 1867. [1]

The prosecution showed that Mr. Avaya knowingly participated in a conspiracy to violate laws related to drug trafficking. He wasn't prosecuted just for making "traps" in cars, but rather for knowingly making "traps" in cars for the specific purpose of transporting illegal drugs.

[1] [http://fas.org/sgp/crs/misc/R41223.pdf](http://fas.org/sgp/crs/misc/R41223.pdf)

</comment></comment></comment></comment><comment><USER5> This thread is a sad reminder of just how irrational HN has gotten when it comes to the government.

Yes, the war on drugs is probably unnecessary and ill-conceived. And no, it's not illegal to put a secret compartment in your car.

But it's patently obvious that Anaya is a criminal and engaged in criminal conspiracy to traffic narcotics. He quoted the capacity of his compartments in "kilos." He witnessed $800,000 in the compartment and subsequently increased his rates specifically because he knew it was a shady affair. Most damningly, he tried to isolate himself from information (if you don't suspect a client of being a criminal, you don't instruct them to avoid talking of their usage). In what world is someone who willfully helps drug dealers to conceal drugs not an accomplice?

Do the people in this thread think that getaway drivers on bank robberies should get off scot free because driving a car is not itself a crime?

Also, the Wired editorializing is way off base. If you are truly operating in an information void from your clients (without suspecting them of being criminals), that's not illegal. (Toyota can't be prosecuted for drug trafficking just because some drug dealers use it for that.) But when you have a personal relationship with clients who make it pretty obvious that they're engaged in criminal activity, you absolutely have an obligation to stop assisting.

<comment><USER6> They probally have enough information to convict him. But you know that Kilos is just how most of the world handles weight? If I wanted to put lets say a speaker or computer in there, id also be interested in what weight it can hold. If they actually wanted to carry money, they would also need to know as money is pretty heavy.

<comment><USER5> > But you know that Kilos is just how most of the world handles weight?

Yes, but not Americans. 9/10 times, if an American is talking about kilos they're talking about drugs.

<comment><USER7> Or they're in science, or engineering, or in a trade business where kilograms are more common than Imperial units, or they're a recent immigrant, or they're being silly because they want to _joke_ that they're a drug dealer, or...

</comment></comment></comment></comment><comment><USER8> The article mentions he will appeal. That has happened and he lost. Link to the PDF of the appellate court opinion: [http://cases.justia.com/federal/appellate- courts/ca10/12-301...](http://cases.justia.com/federal/appellate- courts/ca10/12-3010/12-3010-2013-08-16.pdf?ts=1411095378)

Something is mentioned there that either was not mentioned in the Wired article or I missed it: Anaya admits that he knew particular customers were buying compartments for illegal purposes. He just didn't know what particular illegal use they were going to be put to. He's basically arguing that to "knowingly" join a conspiracy, you have to know its objectives and scope, and he says he lacked that knowledge.

It's probably a bad idea to do business with people who want to use code words when they talk to you on the phone. The appeals court mentions an intercepted call where Anaya told the drug traders he could put "3 speakers" in a Camry for $2,500, where "3 speakers" meant a compartment to hold 3 kilos.

His sentence is way too long. He's not the lynchpin of the drug trade the prosecution made him out to be, but he does not appear to be quite the innocent bystander Wired makes him out to be either.

<comment><USER9> > His sentence is way too long. He's not the lynchpin of the drug trade

1\. Drugs should be legal and sold out of liquor stores to anyone 21 and older.

2\. His sentence isn't about trying to cripple the drug trade, but about punishing someone the government does not like.

3\. The same motivation could someday be used to prosecute people who serve cheeseburgers to drug dealers at a restaurant under the theory that they were helping those drug dealers to deal drugs (you can't deal drugs if you're starving).

4\. It won't be necessary to passed legislation so fucked up as that, existing legislation can easily be twisted to allow for such travesties, and judges rarely put a stop to it.

<comment><USER10> > 1\. Drugs should be legal and sold out of liquor stores to anyone 21 and > older.

What about Rohypnol?

<comment><USER11> Woah, let's not bring up actual dialogue about the grey areas involved in deregulating substances :)

</comment></comment></comment></comment><comment><USER12> This is the most disturbing part of this:

> _...he will likely spend the next two decades in prison for doing something > that isn't specifically forbidden by federal law._

He was prosecuted in a state he'd never set foot in, for doing something that wasn't against the law as contracted by people whose plans he did not know; and he was convicted, and sentenced to twice the term of the actual lawbreakers. That's not how the rule of law works.

<comment><USER13> First, there is nothing about the rule of law that says you can't be prosecuted in a state you've never been to. In this case, Anaya aided a criminal act that took place in Kansas. The fact that he's never personally been to Kansas is neither here nor there.

Second, the fact that a particular act might be legal does not mean that it is legal to do it in connection with a crime. There is nothing illegal about driving a car. There is something illegal about driving robbers in a car away from a crime scene.

Third, willful blindness is not a defense to any charge that requires showing knowledge. Anaya purposefully profited from criminal activity, and even if he didn't know the specifics of the plan, it's only because he purposefully tried to avoid learning of them. The law simply imposes a higher level of social responsibility than that.

Now, it's a fair criticism that drug enforcement is a waste of resources and drug sentences are too long. But that's quite a separate issue to the points you raise. Say that instead that Anaya was installing traps to help members of child prostitution rings convey cash around. The analysis of his involvement would be the same.

<comment><USER14> I thought venue was a huge part of US law. Wasn't that how Weev's conviction got overturned?

<comment><USER2> It is an important part of US law. In conspiracy cases, individuals may be prosecuted in any district in which an overt act in furtherance of the conspiracy occurs, by any of the conspirators. In this case, some of his alleged co-conspirators trafficked drugs in Kansas.

In weev's case, the court rejected New Jersey as venue because no overt act in commission of the crime occurred in New Jersey, since neither weev nor the AT&T servers were in the state. The prosecutors argued that NJ was proper since many of the victims (AT&T customers) were in New Jersey, an argument the court didn't buy.

</comment></comment></comment></comment><comment><USER15> _He was initially denied bail, in part because an illegal assault rifle and a bulletproof vest had been discovered in his house during a police search._

Lovely. This "illegal assault rifle" was likely only cosmetically different than a completely legal rifle. Hell, that rifle is probably legal in most of the other 50 states.

And who cares about a bullet proof vest? Or are those illegal in CA?

The guy certainly isn't a saint, but holy crap this is a great example of the gov't punishing someone using confusing laws against victimless crimes when they can't nail him for what he's actually doing because it's legal.

<comment><USER15> _...when Anaya had glimpsed more than $800,000 in cash. The prosecutor contended that seeing such a large sum was tantamount to seeing drugs, since Anaya surely must have deduced the source of the money._

Wow! It just gets better!

What next? If a friend buys an expensive car when I know he has a low paying job, am I guilty of not turning in a "drug dealer"?

Even if you don't think drugs should be legal, it should be abundantly clear that the War on Drugs has resulted in a significant loss of individual rights.

This article really ruined by evening...

<comment><USER2> From the decision of Anaya's 2013 appeal [[http://caselaw.findlaw.com/us-10th- circuit/1642115.html](http://caselaw.findlaw.com/us-10th- circuit/1642115.html)], here's a synopsis of the evidence that swayed the jury to believe he knew what he was doing. Its not just the 800K.

3\. Sufficient Evidence of Knowledge

At trial, the Government presented evidence that Mr. Anaya

• built multiple hidden compartments in vehicles for the DTO that were insulated to mask the smell of drugs;

• witnessed $800,000 in one of his compartments in a DTO vehicle;

• used "kilos" as a unit of measurement for building compartments;

• communicated by phone with the DTO through a secret code to discuss compartment sizes; and

• warned Mr. Crow not to discuss the compartments or how they worked with anyone to avoid police detection.

<comment><USER15> Thanks for posting that info.

I honestly have no idea if he's guilty of conspiracy to traffic narcotics.

What gets me is this incremental loss of rights that is occurring in the name of the War on Drugs.

Let's see where we are now...

1\. It is illegal to sell certain drugs - OK seems reasonable (if you think they should be illegal)

2\. It's illegal to have drug paraphernalia - umm that seems like a stretch; so legal stuff is now illegal if it's used to administer drugs (i.e. a pipe)?

3\. It's illegal to create hidden compartments in cars - now that's just dumb

What is happening here is that the gov't can't really control drugs. Sure they lock up a few big dealers (and a lot of small-time users), but nothing changes! So what do they do? Cast a wider net! Let's start locking people up who are only marginally involved with the drug trade. What will happen? Nothing! Hundreds of tons of drugs will still make it across the border.

</comment></comment></comment></comment><comment><USER16> Such is the nature of the war on drugs. It starts with outlawing drugs, and as the tentacles spread, you have laws on drug paraphernalia (basically, laws against _whatever we deem illegal, subject to change without notice_ ), millions of wiretaps and cases like United States versus _a bucket load of cash_. All in the name of the _cause_.

<comment><USER17> There will always be legal loopholes that allow federal prosecutors to try someone in a state in which they never set foot, and they'll always have the funds to put together a pro team that's smart enough to convince a jury that you're worse than Hitler because they're the friggin' federal gov't, and even if you aren't already bankrupt, they can freeze your accounts so you can't pay your own team.

The fundamental problem is their incentive for doing this, which is based entirely on convictions and time behind bars, and has nothing to do with fairness. I don't claim to know what the _right_ basis for prosecutor incentive is, but I do know that if it's throwing people in jail, we end up with a lot more people in jail (which has happened/is happening in the US).

</comment></comment><comment><USER18> It's a shame how much inconsistency there is in applying the letter of the law in different cases.

Did Anaya suspect illegal activity with his traps? Probably. But, perhaps he doesn't agree that drugs should be illegal and was intentionally trying to sidestep the law as written.

That happens _all the time_ for a variety of different laws. Heck, it's the cornerstone of tax avoidance techniques used by the rich and connected.

When Illinois tried to ban payday loans by prohibiting loans less than 120-days in duration, did that get rid of payday loan companies? Nope. Payday loan companies simply offered loans up to 121-days in duration. Was that sidestepping the intent of the law? Yep. But, they got away with it because they're wealthy and connected companies.

We should always strive for consistency in justice. Either everyone should be able to "get off on a technicality" or no one should.

Personally, I'm in favor of restrictive justice where people can get off on technicalities. It's makes convictions harder, slanting the system towards "letting 100 criminals walk free to prevent convicting 1 innocent". It also leads to laws evolving via legislative deliberation, not arbitrary reinterpretation via case law.

Of course, I can also live with the "intent of the law" crowd. But, please, can we consistency apply that to all cases?

<comment><USER19> Tax avoidance is not illegal.

<comment><USER20> Tax avoidance is literally synonymous with tax compliance.

</comment></comment></comment><comment><USER21> I think it's worth highlighting that, even if you think you are doing something entirely legal, when a customer mentions your product or service in the context of their illegal operation, you need to politely ask them to leave and sever the relationship, as a matter of self defense.

Take, as a cautionary tale, the case of people teaching other people to beat polygraph tests. [http://www.mcclatchydc.com/2013/08/16/199590/seeing- threats-...](http://www.mcclatchydc.com/2013/08/16/199590/seeing-threats-feds- target-instructors.html)

Legal and interesting, but when a "customer" shows up and says "wow, this will really help me beat my government polygraph test", you're apparently supposed to know that that they're talking about an illegal act and that you're being set up. It sucks, but there it is.

Paranoia might lose you some business, but there are worse things.

</comment><comment><USER22> I run a reasonably successful service buying and selling Bitcoins for cash, an act which is completely legal where I live. I have absolutely no idea where my clients get their Bitcoins or what they use them for and there no way I could find out. It isn't inconceivable that some of these people are using the coins I sell to commit crimes or that the ones I buy are the proceeds of crime. I always fear I could be a victim of this kind of overzealous prosecution for running a legitimate business and it causes a chilling effect in my industry

<comment><USER23> Because you acknowledge the possibility, the question is now: Do you practice due diligence? It's easy to point the finger.

<comment><USER22> I have on a few occasions refused to sell Bitcoins to people. One time a man brought $5,000 of crumpled bills in a carrier bag and I told him to take a hike and never try to buy from me again. I refuse to sell to anyone who tells me they're going to use the Bitcoins to buy drugs and I try to buy directly from miners.

I'm doing everything I can reasonably do because I really don't want to get involved with criminals, but all of these safeguards are trivial to sidestep

<comment><USER24> And that's the difference. You are actively turning away people who you think might be involved in criminal activity. Anaya attempted to be willfully ignorant, but it's clear (to me, at least) that, from gathered evidence, he knew exactly what his clients were doing with his work.

The sad thing is... the government _still_ could go after you if you -- completely innocently and without your knowledge -- sold to someone doing something shady, and if they _really_ wanted to make it stick, it's likely they could, or could at least intimidate you into doing their bidding.

</comment></comment></comment></comment><comment><USER25> Apparently we hate the metric system so much using kilo as a unit lands you 24 yrs in prison

</comment><comment><USER26> I don't know why, but I saw parallels with the Aaron Schwartz case.

<comment><USER27> The gov hates intelligence that doesn't bow to it.</comment></comment>


Losing a dog can be harder than losing a relative or friend - <AUTHOR> https://theconversation.com/why-losing-a-dog-can-be-harder-than-losing-a-relative-or-friend-68207 <comment><USER2> A few years back, when our favorite family dog died, I wrote about it. As much as it hurt (and it was _crushing_ ), something that stood our for me was our choice to euthanize. We found a vet who had a specialist end-of-life practice. She offered hospice care for terminally ill animals, and in-home euthanasia services for when the time comes. She spent over an hour with us in our home, with Rubu, listening to our stories about him and helping us get ready. She then took him for cremation, and hand-delivered the ashes back to us. She was on a mission, a wonderful mission.

And I keep thinking that's how I want to go... not in a hospital, wasting money on last-ditch efforts. I want to be at home, surrounded by the people who love me, listening to them tell each other stories about me. And when it's time, I want a doctor to deliver a painless injection to stop my heart and let me go in peace.

There's something greatly fucked up about our society when we help our dogs die with more dignity than we do ourselves.

(fwiw, Rubucac died of hemangiosarcoma, a dog-specific cancer. It attacks the cells lining the inside of blood vessels, causing them to grow random, structurally deficient ways. It usually starts in the spleen, and spreads very quickly. The new blood vessels rupture, causing internal bleeding. By the time it is discovered (usually due to weakness from the bleeding, or often, the dog just dying right on the spot), it has already spread throughout the body due to circulation. Dogs only last a few weeks at best before they die of internal bleeding, heart attack, or stroke, and treatment options are invasive and largely ineffective. I'm glad humans don't get it.)

<comment><USER3> Sorry for your loss.

> There's something greatly fucked up about our society when we help our dogs > die with more dignity than we do ourselves.

And I agree! I've said it for years: our animals die more dignified deaths than many humans.

<comment><USER4> Maybe the dogs would prefer to stay alive if they had a choice.

<comment><USER5> On that note, my gramma-in-law is pissed(& in agony) right now because her DNR was not respected. She is 95yo and suffered a stroke 2 weeks ago. She spent the last 9 months rehabbing a broken hip and said she would not choose to do it again. She is currently drugged to the gills, mostly paralyzed and still manages to cuss & plead for mercy.

Dr Jack Kevorkian should have been lauded, instead he was given jail.

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

</comment></comment></comment></comment><comment><USER6> The title makes a bold claim but the article does not back it up, the main argument about it being harder is that you are losing a companion that provided uncritical unconditional love. I suppose humans can be quite critical. That aspect may be true but I have lost my dad and my dog and the loss of my dad is infinitely more harder, no question - I still think about him every single day, I don't do the same for my dog, who I also loved very much.

One aspect of the death of my dog that was very hard was that I had to make the decision to go ahead with euthanasia at the vet, because he could not longer get up and was in pain (he just lay on his side due to his extreme stage of cancer). That was hard, knowing that I made the decision to end his life at that moment, that haunted me and I wish he had just died by himself. That is hard, but it's the complexity of a human relationship and the critical feedback and love that we get from a human loved one that allows us to grow and learn and a big reason I think why I miss my human relatives more than my dog.

<comment><USER7> Yeah I don't mean to get in to a "which death is harder to overcome" pissing match, but I've lost dogs as well as close relatives and friends and the two weren't even remotely close in difficulty.

I get that it's possible in some circumstances that for some people losing their dog will be harder than losing a relative, but I think for the vast majority of people and circumstances this is not going to be the case.

The article even ends with:

>While the death of a dog is horrible, dog owners have become so accustomed to the reassuring and nonjudgmental presence of their canine companions that, more often than not, they'll eventually get a new one.

You can replace the love a dog gives you, and most people end up doing just that. You can't replace the love your father gives you. You can't replace the love your best friend has given you since you were 8. You can't replace the 50 years of life you were planning to share together.

<comment><USER8> I've lost many beloved pets throughout my life, it's devastating for sure but i've also felt the pain of losing both of my parents, for me, it's not even close. You make a good point about irreplaceability. It doesn't bother me that my kids didn't get to meet my childhood dog, but it really hurts they will never get to meet their grandparents.

</comment></comment></comment><comment><USER9> It's been two years since my Samson died, and my whole family is still shaken up. He literally died in my arms an hour before we wore going to take him to get put to sleep. He had a tumor around his heart that was causing fluid to build up around the heart. He basically suffocated with his lungs working perfectly, his wheezing in that last hour still haunts me.

And he was such a good dog. "Obedient" doesn't do him justice: he actively tried to please us. He'd learn cues from us about our routines, and we'd train him without even realizing it. Like how he could lay in the bed with my Dad before my Mom came in and was ready to go to sleep, then she would nudge him off the bed. Within a month of this routine, he would just get off the bed on his own when he heard my Mom finish brushing her teeth, no matter how tired he was. And he had a special love for kittens, which we had in the house a lot because we provided foster care for cats, and he doted on them like a proud parent.

Rest in peace, boy

</comment><comment><USER10> Can confirm. No loss of a relative or friend has yet affected me the way putting my dog to sleep did. I raised him from a pup and he was with me through years of relative social isolation. He was so strong, then weak then I had to make a decision. It took years to get over it. I'd cry when I thought about him, even when certain songs played. Yes it's embarrassing when the death of your dog bothers you more than the death of your father, but that came after years of dementia. I dunno, I guess it isn't a contest

<comment><USER11> My dog died in my arms waiting to put her down. This was during my divorce from my first wife.

As bad as the divorce was, nothing will ever come close to losing that dog. She was always there for me like no human ever can or would be and I was a mediocre owner to say the least.

I would like to get another dog, but after my childhood dogs passed away, getting her I knew it would eventually come. Dogs are better than any person I've ever known, including my current wife and myself. I wish I believed in dog heaven, sadly we just get to be blessed for the time they're here with us.

<comment><USER12> I'm not religious, but I heard someone once say something to the effect of "when you die, all of the dogs you've ever known come rushing up to you at once."

<comment><USER13> If you're bad, then when you die all of the cats whom you've mildly pissed off - which is probably all of them - rush you instead.

</comment></comment></comment></comment><comment><USER14> Dogs seem to love us in a completely guileless way. Humans don't really do that. It always seems at least a little contingent between people. I think that's what makes it so hard when dogs go. No one will ever love you like that.

<comment><USER15> Why wouldn't they? You are giving them everything they want to and don't ask anything in return, why would not dog love such owner?

<comment><USER16> It's not true that "giving them everything they want to and don't ask anything in return" is necessary to receive an emotional response as the ones that have been described here. That's not even a good approach to educating a dog.

A dog will be very happy to comply with any of your commands just to see you happy with him/her/it, no treats required (although these help in early stages).

But I think the point is that you can treat any other animals in the way you mentioned ("giving them everything they want to and don't ask anything in return") and you don't get the same kind treatment from them than you would from a dog.

</comment></comment></comment><comment><USER17> I'm so afraid of coming to the day when I have to euthanize my dog. I'm hoping she dies of some natural cause before I have to do that. No matter how irrational the thought is I will have a hard time coming to terms with the fact that she trusts me and relies on me for everything and I am making the decision to end her life, even if it's to ease pain and suffering. The idea that I'm unilaterally making that decision and that I have no way to communicate to her about what is going on and why is going to be so difficult for me.

<comment><USER18> I'm with you.

With cats, I find it's different. They tell you when it's time by withdrawing and being very reclusive, nearly catatonic. When we had to put down our last family cat (this would be our third over the course of my life) I decided I wanted to face it head-on and offered to take the cat to the vet to be euthanized. I held her as it happened and it was very, very hard. But at least I knew it was the right thing to do, if not the right environment to do it in.

With dogs, they might be in terrific amounts of pain, but they still want to be with you no matter what. When I try to put myself in that situation, I still want to be with my family through to the bitter end. I don't think I want to be euthanized unless I'm a vegetable. But, a dog doesn't have that higher understanding of what is happening or what the options are.

A very difficult decision to make, but it's difficult because we love them. I think your dog would always appreciate you for that.

<comment><USER19> My cat stayed by my side to her last day, whereupon she decided to hide in the box I had prepared for her body a week earlier.

She had wasted away to 2/3 her normal weight and was having a horrible time breathing, it was time, and it sucked, even recalling it sucks.

</comment></comment></comment><comment><USER20> > _Dogs recognize people and can learn to interpret human emotional states > from facial expression alone._

I've always just mimicked my dog's smile by opening my mouth wide. They seem to recognize and respond to that easier than an actual human smile, at least in absence of any vocal cues to work with.

In fact, the very last interaction I had with my previous dog was doing just that with the smile being instantly reciprocated, despite her severely labored breathing at the time.

> _I remember making eye contact with Murphy moments before she took her last > breath – she flashed me a look that was an endearing blend of confusion and > the reassurance that everyone was ok because we were both by her side._

I had this exact same experience, up until whatever blue-colored fluid the vet injected my dog with seemingly hit the brain/CNS, causing her beautiful puppy dog eyes to suddenly flutter uncontrollably in the moment before death. The effect was rapid, but it had a certain unsettling violence to it that I didn't care for at all. God only knows what that shit felt like before it had fully perfused throughout the brain.

I suggest talking to your vet before any euthanasia and discussing exactly what they're going to use and how it works. If you have the money, opt for sedation that renders your pet gradually unconscious prior.

<comment><USER2> I once trained a totally deaf dog we were fostering. I taught him thumbs-up as "good dog", and everything just rolled from there. Years later, I still do thumbs-up gestures all the time. That dog trained me!

(I'm glad we only had him for a week. Another week, and I don't think I would have been able to let him go! But we really couldn't have three full-time dogs then.)

<comment><USER20> Hah. Come to think of it, I usually give a thumbs up in conjunction with the aforementioned "dog smile". Turns out the two gestures go really well together, or at least I think they do. Dogs probably think I'm an idiot. :)

<comment><USER2> We've always trained our dogs with hand gestures rather than words anyway, so it made sense. I was really glad to help out Dusty! He was about a year old, a kind of misbred Australian shepherd that Aussie folks call a "lethal white". Lethal whites (a product of breeding two merle-colored Aussies together, 1/4 of which are like this) are often blind, deaf, or both. Dusty could see okay, but he was totally deaf. And being a herding dog, he _needed a job_. He wanted so hard to be a good boy, to contribute some how, but had no idea what to do. (He had been rescued from a dangerous domestic violence situation, where the owner's boyfriend hated that stupid destructive dog of hers.)

He was able to move on to his next fostering knowing how to sit, lay down, and stay, and how to be taught more. It was amazing to teach him! It was like Helen Keller come to life in my house.

</comment></comment></comment></comment><comment><USER21> For me, the most gut wrenching part was the feeling that I couldn't do anything to help my dog understand what was happening. A dog becomes a pseudo child over the course of your life together. As any parent could tell you, losing a child, and having to see that child pass away, is the worst feeling imaginable. It's been over five years and it is still painful to think about the last moments that I spent with my little buddy. You just don't get over it.

<comment><USER22> > to help my dog understand what was happening

Fear of death can be worse than death itself. I actually think it's a blessing that my dogs didn't understand what was happening, so they didn't suffer as much.

</comment></comment><comment><USER23> I read somewhere years ago that "a pet is a child that cannot speak" and oh how true that is and feels!!

I grew up having both cat & dog. I was still a kid when they passed and I was gullible enough to believe my parents that they "got married and started their own families so they moved to their own houses".

A very touching comic (WARNING: extreme risk of tearing up): [1] [http://anescapewithinthepages.tumblr.com/post/135364684513/c...](http://anescapewithinthepages.tumblr.com/post/135364684513/chrome- void-fuckyeahcomicsbaby-good-boy)

(apologies for the f-word on the URL)

<comment><USER24> I'm curious; do you have a child of your own? Having one myself, it's hard for me to equate my dog to my son. It's not even close.

<comment><USER8> I tend to agree here when i hear people equating love of animals with love of children and it kind of bothers me when people make such an equivalence. I've had many pets throughout my life, and my love for them pales in comparison to the love for my children. I'm certain i would give my own life to save any of my children, i can't say the same for my dog.

</comment></comment></comment><comment><USER25> There's a lovely Kipling poem called "The Power of a Dog":

THERE is sorrow enough in the natural way From men and women to fill our day; And when we are certain of sorrow in store, Why do we always arrange for more? Brothers and Sisters, I bid you beware Of giving your heart to a dog to tear.

More here: [http://www.bartleby.com/364/335.html](http://www.bartleby.com/364/335.html)

</comment><comment><USER26> I've had the luxury of never losing a family member. All of my grandparents are still alive even. I'm actually really terrified that "I'm due" to lose a bunch of people relatively quickly.

In 2015 I had to euthanize my cat. He was the most dog-like cat I've ever met, which was amazing. The vet attempted to give me "one more weekend" by sending him home with relatively powerful pain medications so I could have two more days with him before having to say goodbye, but when I got home the pain medications were ineffective and he was in horrible pain. I walked him right back to the vet and went through the euthanasia process. It was easily the saddest I've ever been; I collapsed in the vet's office when they finally took him. They let me hold him the whole time, which, as a fiercly protective cat father, was the only thing I'd have allowed anyway.

Anyway, I'm really scared that I'll have to go through this or worse over the next few years. I don't know that I can handle it.

<comment><USER27> My nan was the one constant in my life growing up and always loved me unconditionally even if she had a somewhat flexible approach to use by dates, there was always a sandwich and a hug.

Losing her was the hardest thing that ever happened to me but I got through it, she'd known the end was coming and had written letters to each of her children and grandchildren, mine still chokes me up but I read it occasionally.

I've spent a decade trying to be the man my nan described in that letter, funny really she made me a better happier person in life and in death.

If anyone has kids or grandkids I'd recommend writing similar letters.

Don't dread the end, enjoy the time you have, death comes for everything so worrying about an inevitability will sour the time you have.

</comment></comment><comment><USER28> I had a very sociable Golden Retriever for about 13 years. Loved to fish and swim for hours and smart as a whip. The last and final ride to the vet, he just knew. I think he completely understood what was about to happen. He was old, and noticeably more on edge than normal during the ride. I can't even think about the walk from the parking lot to the front door even today. I met my parents and siblings inside. He went around the room in a circle resting his head in everyone's lap for a minute, as if to say goodbye. We stood by him as he was put down.

My brother, whose a burly, bearded car mechanic and tough as nails, was the one to break down. My sisters were the ones consoling him for once. The passing of that dog showed more emotion from my family than even my grandparents dying.

</comment><comment><USER29> A few years ago we had to put down our first family dog due to an previously- unknown spinal disorder. It was fucking gut wrenching for me to make the decision. I recall thinking that there are family members (cousins, maybe an uncle or two) that would upset me less upon their passing.

</comment><comment><USER30> Last spring we had to put our dog Milo to sleep, he had mitral valve disease and we could not bear to see him suffer. I have dealt with a lot of death in my life: close friends, family, etc. Suicide, accidents, disease, all kinds of stuff.

None of the grieving periods I've had after other deaths even comes close to the kind of grief I had after losing Milo. For a week straight, I couldn't get through a day without bursting into tears. A year later, we have a new puppy, but I still sometimes cry about Milo, and I am not someone who usually cries easily.

</comment><comment><USER31> We had a dog (Rambo - yes, the name was my fault) when I was growing up. Honestly, as a kid sometimes I was a bit of a shit to him, but I loved him.

He was put down whilst I was spending a few months in America before university because he'd gone for my brother who, at the time was a little more than 18 months old. I was OK with it at the time; I understood why it was necessary, and I didn't miss him so much because I wasn't at home. That was 1995.

It was only later it hit me, in dribs and drabs of sorrow, and I still think about him today, and miss him quite regularly. I've never had a dog since because I always lived in rented accommodation where pets weren't allowed, and then when I did finally get my own place (planning to get a dog), I realised I still couldn't because I was out too many hours a day and there was nobody else to take care of it.

I still dream that one day I'll have a dog again, and be able to take care of it properly.

</comment><comment><USER32> I've put dogs down in the past. They get sick or old, and I think even they know it's time to go. I'm fine with that. Always cry at the time, but I mostly get over it by the time I get home.

But about a year and a half ago we had to put an otherwise lovable, smart, super-trainable guy down for dangerous behavioral issues that just weren't going to get fixed. That devastated me. I always thought that with enough training, enough money spent, and the right environment that he'd come out of it. But after several years it was clear that he wouldn't. So for the safety of the community, and for our own safety as well, we put him down. I can't recall anything in my life that crushed me more. It's one thing to put down someone who's already on their way out. Quite another to execute your friend because you can't up with any other solution.

</comment><comment><USER33> I agree that for many folks the death of a dog _is_ harder than the death of a human being — but I don't agree that this is a good thing. I love my dog, who is wonderful, fun and always eager to please, but at the end of the day she's an animal and I'm her owner: a dog's not a human being. When my dog dies, if I feel that loss more keenly than I do that of a family member, then I hope I'll consider that a sign of inverted priorities, an emotional problem which should be corrected, not celebrated.

Granted, I may feel differently when the black day comes …

I am reminded of a column I read years ago about how people don't care much if an innocent man is killed by the police, but _really_ care if a dog is. Human life is worth more; I'd hope that is self-evident.

<comment><USER34> This has been studied. The issue is that people view dogs as helpless and dependent. You get a similar reaction if someone with say, extreme downs syndrome is killed.

Normal people have agency. Most of the "innocent man is killed by the police" stories involve some very stupid behaviour by the "innocent man" leading up to his death.

<comment><USER35> What about killing millions of pigs because they're tasty? Do they have agency? What about stepping on an ant for the fun of it? Does it get a negative reaction equal to the killing of a dog? It's an animal's life...

The only reason killing a dog would be bad is because the dog may belong to someone, so it's like burning their house: it's property vandalism. Everything beyond that is down to aesthetic: most people in your culture think dogs are cute, so they want to care for them. In some chinese places, a dog is food, so it's alright, just like it is alright killing millions of pigs in our culture.

</comment></comment></comment><comment><USER36> Well, "relative or friend" is different from "spouse, child, or parent".

My dog got cancer. We had to put her down. It wasn't easy. (The vet, in trying to be nice, made it worse. They sent us this sympathy card that had a dog on it that looked almost like ours. I just lost it when I saw that.)

But, you know, if you told me that someone in my household was going to get cancer and die, and I could get away with it being the dog, I'd take that in a heartbeat. It's not the same as my wife. It's not the same as one of my kids.

</comment><comment><USER37> Reminds me of a story my Dad once told me about growing up poor in the Pacific Northwest - he raised a piglet into a full grown Sow, it followed him around and it was like a pet to him until my Grandfather decided they needed the meat and butchered it. It's not like they were farmers and it was part of life...that I can understand in its own realm...years and years later I still have a hard time trying to fathom how that much have been an emotionally disturbing experience.

</comment><comment><USER38> This is a great article and set of comments, but jesus it's making me sad. I'm going to go throw the frisbee to my Aussie Shepherd for 2 hours now and try not to think about what happens when he's a few years older.

</comment><comment><USER39> What really gets me is one dog grieving the death of another.

I knew a stray who was like a protective (but respectfully distant) shadow to another female dog. Then the female dog died.

I think I learned a thing or two about relationships from these two.

</comment><comment><USER40> I grew up on a cattle ranch, and we always had 5-6 dogs. None of them were "pets" \-- they slept outside, their names were more descriptions, and they seldom lived to be more than 5-6 years old before getting run over, or kicked by a horse, or bit by a rattlesnake. Note that most of these injuries didn't result in death, that came in the form of a bullet to the head. Dad would say, "Better for him not to suffer, once he gets injured once it'll just keep happening. A dog that can't work doesn't have a purpose."

When I was 11 or 12 I had a dog that I really liked. I had raised her since she was a puppy, always gave her special treatment, and she followed me all over when I did my chores. Like just about every kid with their first dog though, I didn't do a good job of training her. She quickly developed bad habits -- she would jump up on people (knocking down kids), she would steal food from tables, and chase cats and chickens.

Dad let it slide because I really loved the dog, but as a compromise I had to keep her locked up in an old tool shed when we weren't home. One day she got out and killed just about every chicken we had... and a few cats. Dad told me to pick up all the half-chewed caucuses and throw them in the burn barrel -- there were about 50 dead chickens and 3 dead cats. And we'd been gone for probably 8-10 summer hours... the smell wasn't pleasant. It was clear that the dog had been killing for fun, she wasn't trying to eat these animals.

When I got done cleaning up the mess, Dad handed me a .45 and said, "Since it's your dog, you should be the one to take care of it." It was hard, I cried, and pleaded, promised to train her better... Dad wouldn't budge, "You know you can't fix this -- once she has a taste for killing, she'll do it again. Only a matter of time before she bites a person." I took the dog out for a walk around the place, gave her a bunch of meat scraps, and then, with Dad's help telling me where to aim, I shot her in the head. It was instantaneous. We buried her in the back yard.

The next day Dad said he heard one of the neighbors' dogs had puppies and wanted to know if I would like to go pick one out. I didn't want a new dog, I was still pretty shaken up. Dad pushed the issue, "Those puppies don't know about your last dog, and they need to be trained now. If they don't get adopted by someone with time to train them, then they'll just end up chasing cattle or killing chickens and getting shot. Who better to train them than you?"

That puppy I picked, a little Mutt Heeler, ended up being my best friend for over a decade (which is a very long time for a ranch dog). He learned over 50 commands, could work cattle, was even good at training other dogs... And when he got too old to work, he would still ride around in the pickup with us. Couldn't picture my life now without him in it. Dad had a strict "no dogs in the house" policy, and that dog was the only one who was allowed to break it.

On one hand, it's very sad to put a dog down. On the other, it's an opportunity to get a new dog. You're only going to have a finite number of dogs in your lifetime, there's no sense wasting time grieving. Did your old dog have a good life with lots of hikes and muddy feet and sloppy kisses? And do you have a lot of good memories? Great, then that dog accomplished his mission and he wouldn't want you to feel down. Who's to say you won't love the next dog just as much... or more?

There are a lot of dogs out there that need homes, and if you invest your time and affection you can turn just about any of them into an amazing companion.

* Jimmy Stewart Reads a Touching Poem About His Dog Beau on Johnny Carson's Tonight Show - YouTube || [https://www.youtube.com/watch?v=mwGnCIdHQH0](https://www.youtube.com/watch?v=mwGnCIdHQH0)

<comment><USER41> "You know you can't fix this -- once she has a taste for killing, she'll do it again."

Yep, and that's sad. It reminds me of a certain cruelty that truly ticked me off about people. Sometimes when people get cute puppies for Xmas and the puppy grows, people will ditch the now-dog in a rural area expecting them to be found and grow up on a farm[1]. These dogs will turn feral and start killing small animals. Sometimes they group up into a pack and then attack larger animals (sheep, sometimes horses, and well kids). The only recourse is to hunt them down. Its a sad end that shouldn't have to happen.

1) yes, this sounds stupid when I write it but many of your fellow humans live in a bit of a fantasy land.

<comment><USER40> This is accurate for the rural area I grew up. It was never clear where the dogs came from, there was a small town about 10 miles away, we assumed many of the dogs had gotten loose... or picked up some other poorly trained dogs from other ranches. But... entirely possible people were letting dogs loose that they just didn't want to take care of. The end result was a pack of 5-10 dogs that loved to chase cattle.

What was always hardest about shooting those dogs was that it was hard to get in a clean shot. Typically it took a few shots to bring them down, and often you'd have to go up close to finish it off. Once it was hurt, it stopped being a ferocious animal that was attacking your livestock and turned back into someone's whimpering pet. By the point you had shot it in the back hip, and side... it knew you were coming to kill it. In the end it was confused, and hurt, and scared, and alone.

Couldn't help but feel that people had failed those animals.

</comment></comment></comment><comment><USER42> You'll never find a more loyal partner than a dog.

</comment><comment><USER43> Funny: losing a _god_ , on the other hand, can be so casual as to be barely perceptible. Looking back across the years, you can hardly pinpoint the time of death.

</comment><comment><USER44> Damn article made me cry just reading it</comment>


Tech giants don't want Obama to give police access to encrypted phone data - Peter-Franusic http://www.washingtonpost.com/world/national-security/tech-giants-urge-obama-to-resist-backdoors-into-encrypted-communications/2015/05/18/11781b4a-fd69-11e4-833c-a2de05b6b2a4_story.html?hpid=z5

<comment><AUTHOR> Holy cow! I thought that the title was a little leading, but that's what WaPo editors chose for the article. I bet Ellen Nakashima is a bit peeved by that title. I bet she's also unhappy with the editing on the text of the article. It appears that someone edited the article to make it more he said/she said style of fake-objective "journalism". Comey, the FBI and the DoJ are wrong on this issue, and the reporter should be allowed to say so.</comment>


Anyone ever make an email client? - <AUTHOR>

Where should i start. I interested in making a new application client. Thoughts? <comment><USER2> Aim for the high end. What would a client look like that allowed you to process between 1,000 and 10,000 inbound messages a day, answering 1-10% of them, in 2-4 hours of clock time. E-Mail is not going away, but the metaphor of the inbox and folders is obsolete and needs to be rethought from the ground up. Here is one place to start: [http://www.43folders.com/2008/03/12/patterns- email-conversat...](http://www.43folders.com/2008/03/12/patterns-email- conversation)

Please feel free to contact me directly if you would like to continue the conversation. I think this is one area that is overdue for a significant change in paradigm, the evidence that the current approach isn't scaling can be found in every successful blogger who can no longer find time to read and answer E-mail.

<comment><USER2> More evidence (appears to have been posted after above comment, at least I wasn't aware of it).

[http://www.techcrunch.com/2008/03/23/a-crisis-in- communicati...](http://www.techcrunch.com/2008/03/23/a-crisis-in- communication/)

second YC thread here: <http://news.ycombinator.com/item?id=144127>

</comment></comment><comment><USER3> _"... Where should i start. I interested in making a new application client. Thoughts? ..."_

To learn how email was invented

\- <http://www.livinginternet.com/e/ei.htm>

To get an idea of how the specifications started

\- <http://www.faqs.org/rfcs/rfc822.html>

and how they are now interpreted

\- <http://www.faqs.org/rfcs/rfc2822.html>

and to program a simple client in python read the source code from Programming Python by Mark Lutz ~ <http://www.rmi.net/~lutz/about-pp3e.html> I mention Python & Lutz specifically because they are covered in detail as a CLI then GUI app in _"Programming Python Ed3"_ , pp 766 - 911 ~ <http://www.oreilly.com/catalog/python3/> You can download the source examples here ~ <http://examples.oreilly.com/python3/>

<comment><AUTHOR> great, thanks for the feedback.

</comment></comment><comment><USER4> Hi, I am the author of _Overcome Email Overload_, and I watched a LOT of people use email and interviewed them about their practices. I have distilled what I think is needed into <http://www.emailoverload.com/philosophy/PerfectClient.php>

If you want to check out my book online, see <http://emailoverload.com/eudora/html/index.php> for the Eudora 5 version and <http://emailoverload.com/outlook/OEO-O.complete.pdf> for the Outlook 2002 version. (They are very similar, but use different terms and reflect the slightly different features of Eudora and Outlook.)

IMHO, the most important part to read is the beginning of Chapter 2.

I have also written some email clients. I would agree with dazzawazza that you should not try to write your own POP/SMTP/IMAP code. It is really easy to write a simple POP/SMTP email program, and incredibly difficult to write a _good_ email program. (For example: attachments can be recursively nested, yuck! For example: IMAP clients must be able to accept input from the server at any time.)

All the popular languages -- C, C++, Java, Python, Perl, PHP, and undoubtedly Ruby -- have robust email libraries. I wouldn't be surprised if even some of the lesser-known languages like Erlang and Squeak have good libraries as well.

I would suggest building on top of Firefox, GMail, SquirrelMail, or Evolution, depending upon what your goals are. You might also think about contributing to the Chandler project.

Good luck!

</comment><comment><USER5> It would be ideal if you're a serious email user or you can become one.

Whatever you do, dogfood it. Use it for your day to day email as much as possible as soon as the probability of it losing/corrupting messages is low. If you find yourself going back to your old client, write the code you need to so you don't have to.

Decide what's going to be the most important things about your app and work hard to get those right. All the "it would be cool if.." stuff can wait till later. Only focus on the essence to begin with. Then, release it and see what people think and go from there.

</comment><comment><USER6> Never built an email client but I used to do my email checking by telenting to port 110 logging in and retrieving the messages.

I think that'll be a great place to start. Learn the protocol and start playing with it directly instead of using an email program.

<comment><USER7> I don't think any of the common mail protocols are especially complex. If you're trying to do anything interesting with a mail client, it probably doesn't involve doing anything special with the protocols. Find a good library and tweak if you really need to.

<comment><USER6> I agree that everything he'll need can be found in a library but I believe that you always should get to know the internals of stuff, especially when it is as accessible and easy to learn as SMTP/POP/IMAP are.

That is half of what being a hacker means, striving to understand and tinker with the world&technology around us. It's why most of us took apart watches, radios & computers as young kids.

</comment></comment></comment><comment><USER8> yes, it was a long time ago though. I used powerplant (old style macos class library from Metrowerks). The best thing was it had classes to deal with POP/SMTP.

What I learned: * don't write POP/SMTP/IMAP - it's been done * don't write for the home user, it's been done (IMHO) * the corporate world loves Exchange and Lotus Notes but they are not ideal solutions so you could look there. You will find it hard to get corporate customers to move from exchange/notes for company email though. * maybe look at customer support systems where emails are handled by many, many people. A lot of them have clever pre processing and flow control heuristics in them. You may have a new angle to help those guys.

The app I wrote was for fun because surely it can't be that hard. Well it was and I was a fool.

good luck.

</comment><comment><USER9> Have you looked at Thunderbird? <http://www.mozilla.com/thunderbird/>

Or Alpine (terminal-based gui but guts are there): <http://www.washington.edu/alpine/>

<comment><USER10> I always use Thunderbird, but I think where Thunderbird really sucks is the address book and mailing lists management. I am not really a power user for that, but when I tried to use it for mailing list, it was horrible. So there is definitely room for improvement.

</comment></comment><comment><USER11> The absolute key concept is "Be strict when sending and tolerant when receiving."

It's from RFC 1958: <http://www.faqs.org/rfcs/rfc1958.html>

Everything else will fall into place.

</comment><comment><USER12> >>Anyone ever make email client?

Nope, I don't think anyone ever has. You should take that idea and run with it.

<comment><AUTHOR> i like snarky. thanks, but i meant had experience with.

<comment><USER12> Sorry, couldn't resist :)

More seriously, if you're looking to invent a better UI for an email client, you might find it easier to build it first as an add-on for Thunderbird. This would get you a working prototype without having to worry about the nuts-and- bolts problems that you'll face if you start from scratch. You could use this to hammer the kinks out of your concept with reasonably little coding effort. Even if you don't want to use Thunderbird in the end, it would help you find out whether your idea will work and if it is worth the effort of reading all those bloody RFCs.

<comment><AUTHOR> Good point. I was thinking of actually taking the long route and when all I really want to do is integrate new api's. Thanks.

</comment></comment></comment></comment><comment><USER13> For desktop (Windows): yes. I've used Delphi + Indy components

</comment><comment><USER14> Find and follow the RFCs related to email.

</comment><comment><USER15> if you do Java try javamail api

<comment><AUTHOR> exactly what i needed. thanks.</comment></comment>


Stealing passwords from McDonald's users - <AUTHOR> https://finnwea.com/blog/stealing-passwords-from-mcdonalds-users <comment><USER2> Great example of storing/decrypting passwords on client-side is bad.</comment>


YC NYC Challenge: Hack your way to the top - <AUTHOR> http://ycnyc-challenge.herokuapp.com/

<comment><USER2> Done: <http://ycnyc-challenge.herokuapp.com/hackers/1>

</comment><comment><USER3> Interesting except that it seems to keep going down on me.

</comment><comment><USER4> damnit I think I don't know enough about rails to exploit the hole at step 2 :(</comment>


The CEO of Morgan Stanley took a shot at th - <AUTHOR> http://www.businessinsider.com/morgan-stanley-ceo-on-roboadvisers-2017-7 <comment><USER2> Still, when you stack up everything that a human adviser provides, according to Gorman, they're actually not that much more expensive for the client than a robo-platform. Here's Gorman:

If you look at the average basis points paid from the various robo-platforms, they range, in general, I think, from something like 20 to 40 basis points. If you look at the average basis points for full-service advisory, like ours, just divide our revenue into our assets, including everything, you get somewhere in the 70s, low-70 basis points.

>>What? 20-40 basis points for robo-platforms verses the low 70s basis points for full service. Not much different?

That is triple on the low end to almost double. He would be better talking about the value added aspects of full service that trying to base it on the difference in basis points, IMO.</comment>


Show HN: Find the best area to stay in any city - <AUTHOR> http://www.staybl.com

<comment><USER2> neat idea. i'm going to chicago in a few weeks and took the recommendation from your app.

the interface is clean and easy to use, the idea itself i also quite clever, however, i don't know if it will be survive/used on its own. it seems as if it's an accessory service, something that compliments a primary service. maybe if i book a trip to visit a city, using another service, say a travel service, this would automatically serve me your app's recommendation.

either way, good luck, seems like a cool idea.

<comment><AUTHOR> Awesome. Glad you liked it. I used to live north of Chicago and actually put that one in myself. I agree that it's kind of hard as a stand alone service. I haven't even decided which direction to go with it. Initially, I was looking at giving people the option of booking directly on the site and providing much more detail about each area. It may still go that way, but it's off and on the back burner these days.

</comment></comment><comment><AUTHOR> OP here. This is an off an on weekend project. People can suggest the best place to stay in any city. I've posted it once before, but was hoping for a bit more of response this time around. Looking for any feedback, advice, and improvements.</comment>


Bitcoin vanity address hall of fame - ryan-c https://bitcointalk.org/index.php?topic=90982.0

<comment> ryan-c Seemed relevant given the hubbub about Facebook's Tor vanity address. I hold the record for longest "real word, proper case" prefix. This was done by loading an entire dictionary into oclvanitygen.

Unlike Tor addresses, you can actually do bespoke generation for other people without being able to get the private key. There are a few vanity pools that facilitate this, but unfortunately they don't reward partial work and aren't very popular.

I actually came up with a way to make a vanity address pool that would reward partial work, and got fairly fare along implementing it before I realized that the market for it is probably too small to be worth the trouble.</comment>


Show HN: Hunger Crunch – Fight Hunger in a game and the real world too - <AUTHOR> http://hungercrunch.com

<comment><USER2> Hah, I've only played this once or twice with my young daughter, but she still remembers it - very charming, polished game with a good cause.

<comment><AUTHOR> Thanks! Hope it inspires her to fight world hunger, either with Hunger Crunch or by some other means.</comment></comment>


Show HN: Deploystack – Curated list of tools to make launching websites easier - <AUTHOR> https://deploystack.io <comment><AUTHOR> Hey everyone,

I have created this website after struggling with deploying my website for the first time (which one of the 1000+ hosting companies to chose? How to get a cheap domain? etc.) and I thought it might be useful for others. There are no advertisements and it was not sponsored by any company, I did a lot of reading, checked different services and picked up those that offer the best value for money and are recommended by other developers. I will add more tools in the future. Let me know what you think.</comment>


Windows 8 said to be a necessary gamble for Microsoft - <AUTHOR> http://www.bgr.com/2012/09/24/windows-8-analysis-microsoft-making-needed-risky-changes/

<comment><USER2> > Microsoft eras seem to run about 20 years, so the technology underlying > Windows 8 will last a long, long time."

Isn't Win8 still NT kernel? <http://en.wikipedia.org/wiki/Windows_NT#Releases></comment>


Play a Ruby + AI Coding Game in Your Browser via Bloc - <AUTHOR> http://www.trybloc.com/courses/ruby-warrior

<comment><USER3> Really, really cool concept. I'm a sucker for in-browser coding, and wrapping it in a little game with 'AI' is a great idea.

But as someone who knows other languages and doesn't know Ruby, it does a pretty poor job of teaching the language. Take, for example, level 3, where you need two if statements (check health, then check for an enemy): it took me ten minutes to realize that ruby uses 'elsif' instead of 'else if' or 'elif' because the error thrown by the in-browser compiler was vague at best ("Oops, looks like we found a syntax error in your code. Try again and click "Grade it!" does not exactly illuminate any issues.)

I echo other commenters re: animation but I think in terms of actual didactic potential you need to add more actual coding documentation so newbies aren't lost. Still, huge amount of potential and I'm excited to see this develop.

<comment><USER4> The syntax highlighting shows that 'else if'/'elif' aren't valid but it's pretty subtle.

</comment></comment><comment><USER5> The site is running kind of slow so I just did the first couple levels...

The directions (e.g. forward vs left) were a little confusing as you can't tell which way the character is facing at first. Not a problem after level 1 though.

I second gerggerg's suggestion of step-by-step animation, along with highlighting as it runs each line of code. That would really help drive home the point for non-coders.

Are you capturing incorrect responses to see what common sticking points are? For example, I thought .feel() returned a string at first before eventually having to look at the tip.

Awesome idea though! I've been working on something very similar that I hope to share soon.

<comment><AUTHOR> got a huge traffic spike, increased our dynos so it should be a little snappier now. glad you like it though!

</comment></comment><comment><USER6> > Oops, looks like we found 0 errors in your code. Try again and click "Grade > it!"

hmmm.

Also, when you have a syntax error, you need to copy it to a file on your system and figure out where the error is because the game doesn't even tell you what line it's on, let alone what the error said.

edit: Also, "a" is an archer, but it's not in the legend so you can't know what it is until you die from it: <https://skitch.com/llimllib/gsi36/ruby- warrior-beginner-bloc>

<comment><USER7> I just got that, not quite sure what the cause of mine is. It happened immediately after I recursed though, so I wonder if that has something to do with it?

edit: apparently not, that's working now. Still not sure what caused it, though.

edit2: you can get it by calling non-existent methods on RubyWarrior classes - try .feel.archer? for example. I don't remember if this is what I did for my exact error, but it's likely it was something similar.

</comment></comment><comment><USER8> Pretty cool, my issues:

      - The code box can't be resized.
      - You have to read the 'tip' every time. It contains core api and not just tips.
      - Some characters aren't in the map key (archer)
      - It's a little shy on instructions.

What would be awesome:

      - To see it run through your code in realtime with the healths and points displayed.

But honestly it's a really awesome concept and was fun to play even for someone who already knows ruby.

<comment><AUTHOR> thanks for the feedback! we're working on adding a reference section on our site with the API.

the realtime thing would be awesome, hadn't thought of that.

<comment><USER9> Could you please differentiate between an error in the code and the player dying?

I just spent ages trying to figure out what the error ("Oops, looks like we found 1 error in your code") was and it wasn't until after some amount of frustration that I realised there was more information below the fold showing the problem was my player was dying and not my syntax

</comment></comment></comment><comment><USER7> FYI for confused:

      * you face 'forward', which is to the right.
        .walk! or .walk!(:forward) is what you want until later.
      * you can feel walls: .feel.wall?
      * you can print: p "Feels: #{warrior.feel}"
      * add this to the bottom of your file to get .archer? and .wizard? methods on look:
        class RubyWarrior::Space
          def archer?
            self.unit.kind_of? RubyWarrior::Units::Archer
          end
          def wizard?
            self.unit.kind_of? RubyWarrior::Units::Wizard
          end
        end

Thanks for the original monkeypatch go to numle at <http://news.ycombinator.com/item?id=3435382>

It's beatable w/o hand-coding each action - I ended with a fairly-general setup that only took a couple changed lines to solve the last task (a should_shoot? method, basically). But the 'course' as a whole needs a LOT of work. And better documentation. And fixes for the missing methods. And a better progression - if you don't set up something fairly flexible early on, you'll be re-writing a lot each time; the steps don't encourage you to generalize very well. And / or hints as to how to design something good to do this - there are absolutely no suggestions, no _learning_ , just 'tips' that tell you half the API available to you.

If anyone wants a cheat-sheet for my setup for the end: <https://gist.github.com/1574167> though it was tweaked at each level slightly, and grew into that. Definitely not my best work, but it works.

</comment><comment><USER10> I think there is insufficient information on the pages on what to do, since you require very specific commands and there are no hints whatsoever.

I love the idea though. If someone would be interested on working(for fun and as a learning experience) on something like this with html5 canvas and some graphics and all with a Ruby or Python back-end, tell me :D

</comment><comment><USER11> As someone with zero programming skills, I find the course pretty frustrating for a complete beginner (not sure the segment you're targeting tbh).

I like the concept of in-browser coding as it removes the set-up barrier for noobs like myself, who struggled with setting up Python on Windows!

It would be great if there are better instructions as to what one needs to do. The tips aren't really tips when the info provided are essential to progress. It's pretty daunting for a beginner to go through the github page when I only need a couple of lines on the key need-to-knows for that particular level.

I echo gerggerg and trun's suggestion of step-by-step animation as the output failures leaves me none the wiser as to what went wrong as it's gibberish to me just now.

</comment><comment><USER12> Unfortunately, I have had some problems with Bloc's website every time I've tried to use it. This example took 3 minutes to load the initial page. Earlier today I was running through some Ruby code tutorials, and it got hung up on evaluating the code. Their site runs pretty quick, until it doesn't.

I don't know if it's just under heavy load every time I try to use it (admittedly only when it's on the front page of Hacker News, but it's seemingly always on the front page) or if I'm doing something wrong. Love the site, hate the performance.

<comment><AUTHOR> sorry about that :(

it's definitely because of hacker news, I just increased our Heroku dynos by _a lot_ though so it should be quicker

<comment><USER12> Hey thanks for a response. I've been meaning to visit some time when it's not on the front page, so I can give your poor servers a break while I learn. Troubles of being a popular web app, I guess :)

</comment></comment></comment><comment><USER13> A monkey patch for the archer:

      class RubyWarrior::Space
        def archer?
          self.unit.kind_of? RubyWarrior::Units::Archer
        end
      end

<comment><USER7> Similarly, include this in the patch for .wizard?:

      def wizard?
        self.unit.kind_of? RubyWarrior::Units::Wizard
      end

</comment></comment><comment><USER14> I think this'd be really helpful if it was documented better. As it is, it assumes you already know what you're supposed to be doing. It tells you part of what you need to do, but buries the rest in the github page.

Some better error reporting, even providing the interpreter in JS (as suggested by another commenter), would allow people to run the app offline without leaving their browsers. Having the ability to install the gem is great, but I would say the browser opens it up to people who might not want to - or can't - do that.

Finally, the layout of the page means you have to keep scrolling up and down to refer to the level details and get back to the editor. There's a lot of horizontal space wasted with the fixed-width layout, when it could be used to present the level details and the editor side-by-side (thus allowing the editor to assume the full height of the browser).

This could be a really good tutorial with a bit more polish :) if I understood it all and knew Ruby well enough I'd gladly contribute.

</comment><comment><USER15> My attempt at Level 1:

      class Player
        def play_turn(warrior)
          warrior.walk!(:right)
        end
      end

The warrior keeps bumping in to a wall, and the code fails.

This is counter-intuitive, because the exit is to the right of the warrior. I can't endure another N levels of nonintuitive frustration, sorry.

<comment><USER16> actually the warrior starts facing right (which is not specified but could be supposed). so :right is actually moving down, since all movements are relative, which is inferred by :forward and :backward being present and :up :down missing, which I suppose would rather be :north :south :east and :west. Once you also understand that tips really are not, but the necessary API doc, well, it's smooth sailing.

</comment></comment><comment><USER17> It kept saying I had syntax errors. I copied the code and checked it with `ruby -c mycode.rb` and it passed. Not sure which version of ruby they are using here. I was just trying to make the game fun with a little meta programming, guess that is not allowed.

</comment><comment><USER18> Probably a good idea to speed up the ruby by compiling a ruby binary to javascript (through emscripten) similarly to how <http://repl.it> did it. That way you don't need a server.

</comment><comment><USER19> It would be nice to have some syntax hints. I dont know ruby so I dont know what the syntax for an if/else statement would look like even if it's obviously simple to someone that's seen it before.

<comment><USER9>
        if warrior.feel.empty?
          warrior.walk! :forward
        else
          warrior.attack!
        end

Edit: if you're new to ruby syntax, then it's probably worth pointing out that the ? and ! on the end of the method names has no special function (they're both valid characters for using in method names). By convention, methods that return a boolean end in ? and methods that modify the object end in !. For example, Array has two sort methods - sort and sort!. some_array.sort will return a sorted copy of some_array but leave the original unsorted. some_array.sort!, however, will sort aome_array

</comment></comment><comment><USER20> Syntax errors could use a bit of help. I know Ruby and haven't made an obvious error, so it'd be nice to see some kind of exception/description rather than "try again".

</comment><comment><USER21> I love this idea and learning from it, but I thought I could move left and right and instead I bump into walls.

Damn you archer!

<comment><USER21> Actually level 5 is kinda wonky. The tips tell me to rescue captives, but regardless of what I do, it just says this:

        > Oops, looks like there was a syntax error in your code. Try again and click "Grade it!"

Without anything for me to look at. Weird.

<comment><USER22> I had the same problem, for some reason

        get '/:short_code' do
        end

got inserted at the end of the textarea.

</comment></comment></comment><comment><USER23> It says I can use warrior.health, but that doesn't seem to be true - <USER2> constantly get

player.rb:5:in `play_turn': undefined method `health' for #<RubyWarrior::Turn:...> (NoMethodError)

Not sure if it's supposed to be added in later levels or what, but it's a bit frustrating. This looks really fun.

</comment><comment><USER24> I really like the high level concept, but I dislike the poke the mutable state, disregard Demeter, nested if-else style of programming that the warrior api encourages.

Don't take it too harshly, I definitely like what you are trying to do with the service and I'm interested to see how your classes evolve.

<comment><AUTHOR> completely agree, in the next iteration we'll allow you to create and edit multiple files to try and encourage you to use better programming practices

</comment></comment><comment><USER25> I did the available levels a few years ago, if anyone's curious: <http://github.com/akkartik/brooks-ruby-warrior>

</comment><comment><USER26> As a side note (for all of you who've typed :wq in the code entry field), you can 'gem install rubywarrior' and play Ryan Bates's original locally. A little snappier, too.

</comment><comment><USER27> Gonna have to echo that the code box needs to be much bigger or auto-adjusts.</comment>


Flux Application Architecture - <AUTHOR> http://facebook.github.io/react/docs/flux-overview.html

<comment><USER2> From first-hand experience, I can say that React+Flux has scaled well to 8+ developers over 800+ JS files and ~60k lines of code in a large single page app here at Facebook. I'm happy to answer any questions! Some things that we've struggled with:

1\. All data should be kept in stores. You may have some local component state, but it shouldn't be anything you want to persist if the component is unmounted. We have tried using state several times, and always go back to keeping it in singleton stores. It also works better with the action- dispatcher pattern.

2\. Now all your data is in stores, but how do you get it into the specific component that needs it? We started with large top level components which pull all the data needed for their children, and pass it down through props. This leads to a lot of cruft and irrelevant code in the intermediate components. What we settled on, for the most part, is components declaring and fetching the data they need themselves, except for some small, more generic components. Since most of our data is fetched asynchronously and cached, we've created mixins that make it easy to declare which data your component needs, and hook the fetching and listening for updates into the lifecycle methods (componentWillMount, etc).

3\. Actions don't have callbacks, as they are by design fire-and-forget. So if you need to be notified when some item has finished being created, for example, you need to listen for the follow up action that the CREATE action fires (yeah, actions firing actions, a bit ugly). Even then, how do you know that CREATE_COMPLETED action correlates to the CREATE that you fired, and not another? Well, actions also come with a payload, so what we ended up doing was passing a context object into the payload and plumbing it all the way down into the CREATE_COMPLETED and CREATE_FAILED actions. Being really strict about actions is a major reason why Flux has scaled well for us.

<comment><USER3> do you just not use react state at all then? I have a similar sized app as you, we started off naively using state at various levels, over time we refactored the state higher and higher, and now we are at the point where _all_ the state is kept only at the root of the view hierarchy (we use cursors). We're about one step away from lifting even that state out of react and into a store layer that has no react dependencies.

<comment><USER4> > (we use cursors)

I'd love to hear some more about the design of your data store: are these cursors basically paths to data? Are they similar to Om's concept of cursors? [https://github.com/swannodette/om/wiki/Cursors](https://github.com/swannodette/om/wiki/Cursors)

<comment><USER3> Yes, like Om. Cursor is a read/write view of a subtree of an immutable tree.

[https://github.com/wingspan/wingspan- cursor/blob/master/js/C...](https://github.com/wingspan/wingspan- cursor/blob/master/js/Cursor.js)

</comment></comment></comment></comment><comment><USER5> I really like this architecture - it's clearly based on lessons learned from the same types of pains that I myself encountered w/ non-trivial jQuery, and the unidirectional data flow makes it a lot easier to reason about the code. It's very similar to what I'm doing with my own micro mvc framework Mithril ( [http://lhorie.github.io/mithril](http://lhorie.github.io/mithril) ).

One thing that raise my eyebrows about this article though is how says that Flux eschews MVC, and then goes on to say that it has stores that are "somewhat similar to a model", and "the dispatcher exposes a method that allows a view to trigger a dispatch to the stores", which, as far as classic MVC goes, is the exact definition of a controller. What they call controller- view is, imho, just an implementation detail within the view layer: in classic MVC, views were responsible for subscribing to model observables, or, as the article puts it, it "listens for events that are broadcast by the stores that it depends on".

When talking about this architecture with the Mithril community, I find that referring back to the MVC pattern makes it even easier to reason about the flow of data: it's basically M -> V -> C -> M ...

It's unfortunate that the general understanding of the MVC pattern became misunderstood over the course of many frameworks. The whole point of design patterns should be that we could just name them for people to "get" it, rather than having to reinvent new ways of naming things and having everyone relearn the nomenclature.

<comment><USER6> Thanks for Mithril - we're experimenting with it vs react.js for production use. There's a lot of very smart design decisions there expressed in very terse code.

One thing that threw me off was startComputation() / endComputation(). It seems you have to be explicit about when properties are being updated for views to update. I worry this might be error-prone vs react.js - if you forget an endComputation(), or an exception occurs outside of a try/finally, your views will freeze forever, no?

<comment><USER5> That topic was brought up here:

[https://github.com/lhorie/mithril.js/issues/68](https://github.com/lhorie/mithril.js/issues/68)

Generally, you only need to manually call start/endComputation when integrating to 3rd party code that needs to update Mithril managed bindings.

In the latest release, I tweaked the rendering aggressiveness to allow redraws after exceptions in event handlers, and I updated the docs wrt `try/finally` blocks in integration scenarios.

One other thing people could do that I don't think should go in Mithril core is to call m.redraw inside window.onerror.

Of course, I'm open to other suggestions, if you have any.

<comment><USER6> At least in my application, views are always bound to either an `m.prop` or an immutable value. What if you tracked when an `m.prop` was updated and queued up a redraw automatically? Redraws would be rate-limited via requestAnimationFrames/setTimeouts as usual.

I imagine this could have a significant performance impact, but don't know the mithril internals well enough to say.

EDIT: Thinking about it, the virtual DOM must be re-constructed on every redraw since the props aren't tied to a view. This probably wouldn't work well then.

<comment><USER5> The topic of side-effect incurring getter-setters was also brought up a few times in various forms. I wrote about my thoughts on it here ( [https://github.com/lhorie/mithril.js/issues/78](https://github.com/lhorie/mithril.js/issues/78) )

As far as redrawing impact goes, Mithril does rate-limiting, so even attempting to subvert m.prop to force it to spam redraws should still perform ok.

</comment></comment></comment></comment></comment><comment><USER7> The functional flux/react architectural style is truly excellent. Over the last few months, Andrey Popp implemented a declarative form engine using React and it's much simpler to reason about than our older JQuery equivalent. Having undo/redo emerge as an almost-free feature from this architecture is super useful.

[http://prometheusresearch.github.io/react- forms/](http://prometheusresearch.github.io/react-forms/)

<comment><USER8> Agreed, we found that property really nice too - optimistic updating and rolling back on error were similarly easy

</comment></comment><comment><USER9> I don't know web client development very well.

I could figure out jQuery back in the day pretty easily.

Then we started using Angular and I have tried and tried to understand all its concepts my brain just couldn't keep track of list of: dom transclusion, scopes, controllers, directives, services, dependency injections and so on. More experienced JS developers loved and had no problem picking it up.

But after watching a few videos about React.js and worked through tutorials, I really started to understand better. I really like the concepts and how this library is put together. So far this is looking really good.

</comment><comment><USER10> I like the approach to managing information flow that is outlined here, but it's over-stating the case to say that lack of such control is a failing of the Model-View-Controller architecture. There are patterns you're supposed to use with MVC such as the 'V' pattern, where information flows from the views via the controllers to the models, where the models update themselves, and then update the controllers which then update the views. Visually it looks like:

      View receives event</comment><comment>-\..../----views render new state
      Controllers handle event---\../--controllers mediate new state
      Models react to new data----\/--models update controllers

The Sproutcore javascript MVC framework espouses this, for example, and I'm sure many other MVC frameworks do too.

I'd be _really_ interested to see how Flux would augment statecharts...

<comment><USER10> I should have added - these are the only actions you can take at each level, so no arbitrary updating of views when you're in the left-hand side of the controller stage, for example. That stops the arbitrary circular information flows cited in the flux introduction.

</comment></comment><comment><USER11> Video seems to start discussion of Flux just after the 10 minute mark.

Direct Link: [http://youtu.be/nYkdrAPrdcw?t=10m21s](http://youtu.be/nYkdrAPrdcw?t=10m21s)

EDIT: So far, the video is much more helpful to me in terms of bringing the concepts of Flux to life. Jing does a terrific job explaining in my opinion.

<comment><USER12> Jing did an amazing job explaining Flux. She should do a lot of more of those talks.

</comment></comment><comment><USER13> Seems like the dispatcher is a more manual version of the Ember/Sproutcore run-loop. The advantage I see to the run-loop is that it batches all UI updates so they happen only once, where the dispatcher simply batches up model changes to reduce the number of redraws. Maybe I didn't fully understand what the dispatcher does though...

<comment><USER14> In this architecture the batching occurs at the seam between flux and react (setState) which can be flushed with an arbitrary strategy (ie the default react run loop, or famous, or your own etc)

</comment></comment><comment><USER15> I intuitively designed a very similar architecture to Flux & React, last year. It's a lightweight PHP+JS framework. (used in this pet project: [http://www.youtube.com/watch?v=-Lta5xSj4mY](http://www.youtube.com/watch?v=-Lta5xSj4mY) )

Is there a name for such a pattern?

<comment><USER16> Is your framework available anywhere? I'd be curious to take a look.

<comment><USER15> I will write a blog post about it in the next days.

</comment></comment></comment><comment><USER17> Someone in the video asked a question about how AngularJS compares against Flux+React.

Anyone has a more detailed explanation?

<comment><USER18> For a long explanation, Pete Hunt gave a talk [1] as the extended justification for using React.

[1] [http://www.confreaks.com/videos/3221-mwjs-be-predictable- not...](http://www.confreaks.com/videos/3221-mwjs-be-predictable-not-correct)

Flux is just Facebook's internal usage pattern. Doesn't really have an Angular equivalent other than the somewhat nebulous Angular best practices.

<comment><USER19> Really good video. Made me clearly understand that React is Javascript as if it were to natively support the spreadsheet / reactive programming model. Update a cell, dependent cells / signals get updated automagically. The huge upside is that cells / signals are plain JS values that can be composed using plain JS functions, and all the JS tooling just works.

Technically, this is done by simply using an unique dirty bit, which triggers the recomputation of the rendered scene. Which is fast enough in practice, and even supports unchanged hints to reduce the costs of expensive DOM updates.

This is eerly similar to 3d scene rendering. The unchanged hints are the equivalent of viewport clipping, though require more work from the coder to setup right.

</comment></comment></comment><comment><USER20> Watching the video I heard the speaker say unit testing is rather easy, since state is always sitting next to code in your components. This is great and sounds logical: test different input states and check against expected / consistent output.

What I'm wondering, given the unidirectional flow and the design of flux as a whole: would Integration Testing be needed at all anymore?

I mean, there's no state outside of the component that could possibly influence the component's consistency. Therefore, all needed testing could be done by simply unit-testing all components in isolation.

That sounds pretty huge.

</comment><comment><USER21> It seems you could just pass the stores into the components as data - that's really what they represent. I'm not clear why this approach is eschewing that basic principle in favor of singletons.

<comment><USER8> The stores contain the data, but they also include the logic for updating that data. For example, a store of all the comments would also subscribe to events for new comments and add them into the comment thread at the correct location. We've found it more maintainable to keep the application logic for a set of data and the data itself in one place rather than having a model that external pieces can modify.

</comment></comment><comment><USER22> Can this architecture implement the client-side offline update while network is down? (User clicks a "Like", its marked as Liked even if network is down...)

<comment><USER23> This architecture describes how data affects presentation and vice versa. Your question is a bit off, it involves implementation, not structure.

<comment><USER22> Ok, I also don't quite understand if the Store has any relation to the server- side database.

<comment><USER24> It's just a store. You could write your implementation to store the data anywhere - localstorage, a REST service, the one in the example just keeps it in memory as an array.

</comment></comment></comment></comment><comment><USER25> This looks good. I'm wondering has anyone combined react and meteor in a real project?

</comment><comment><USER26> I would like to see a boilerplate example of this architecture, especially the dispatcher.

<comment><USER27> There's a TodoMVC example that you might find helpful: [http://facebook.github.io/react/docs/flux-todo- list.html](http://facebook.github.io/react/docs/flux-todo-list.html)

It'd probably be worth having a barebones starter kit though.</comment></comment>


What To Do After Accidental "rm -rf *" - <AUTHOR> https://medium.com/dev-genius/what-to-do-after-accidental-rm-rf-ba544a6b2564 <comment><USER2> "To keep reading this story, get the free app or log in."

Why are people using this horrible platform?

<comment><AUTHOR> sorry, i thought i shared the paywall-free link, here it is [https://medium.com/dev-genius/what-to-do-after-accidental- rm...](https://medium.com/dev-genius/what-to-do-after-accidental-rm-rf- ba544a6b2564?source=friends_link&sk=aa27829ff396797f1f86d73d1e4a1059)

</comment></comment><comment><USER3> Reach for your backups?

<comment><AUTHOR> at that time i did not have regular backups, so i had to find alternatives</comment></comment>