Pets Allowed: Why are so many animals now in places where they shouldn't be? - <AUTHOR> http://www.newyorker.com/magazine/2014/10/20/pets-allowed <comment><USER2> It is sad how we allow rude people to get away with selfish behavior and make life for difficult for everyone else. Doing so encourages rude people to be even more selfish and we get the kind of behavior you see discussed in the article.

Addressing the issues directly is often challenging. That is my guess on why we allow degenerate behavior to impose costs on others until it reaches epidemic proportions when we finally attempt to address it.

It also encourages people to isolate themselves in enclaves where people that share certain expectations of behavior can shut out others and deal with those that are at least somewhat considerate of whatever behaviors the group cares about.

Allowing the rudest people to abuse society degrades the public square and tears at the benefits that can strengthen the social contract. Sadly it seems to be a pretty dominate trait in our society these last few decades and it seems likely to just keep getting worse. Hopefully I am wrong.

<comment><USER3> Right on spot.

My personal opinion: I don't have nothing against dogs but I hate to hear them barking. I know that you can't completely control that but way many owners do not teach manners to their dogs and they are barking all the time.

Now before someone says "what's up with this guy expecting manners from dogs" I actually adopted two dogs last year and without prior experience I educated them really well. Now I'm pretty sure that a messy dog is absolutely the fault of the owner's behavior.

And you're right about the social contract. The damage that irresponsible owners are doing to society far extends the trivial situation of "that dog is making a lot of noise"; that thing easily becomes a "I hope the owner gets it back" and those collective feelings fuel a more hostile society in general.

<comment><USER4> As someone else said, different breeds are very different in behaviors, and it's not as simple as you make it out in any way, shape, or form.

<comment><USER5> A bad dog is the fault of a bad owner. You should try watching Cesar Millan sometime.

<comment><USER6> It's not about "bad dog" or "good dog", it's "your dog doesn't belong in the grocery store sniffing the lettuce I'm trying to buy", or "your dog doesn't belong in the clothing store shedding hair all over the pants I'm trying to buy".

Neither are things that a "good dog" wouldn't do or a "bad dog" would, they're both natural things that the dog can't help... ie. it's not the dog's fault it's shedding.

The problem is the owner that invites the situation.

It's just plain rude for the owner to think everyone else has to put up with their animal. I love animals, always have (since I was a kid I've never not owned a cat or dog, or both, sometimes multiples of both), but I would never think it sane to force my animal upon others, especially at a store.

</comment></comment></comment></comment></comment><comment><USER7> For reference it costs about $25,000 over a period of 6 to 9 months to train a service dog. If you see somebody with a service dog it's because they absolutely _need_ it.

There are waiting lists, background checks, interviews, even the owners themselves are trained. There is nothing in the process of getting a service dog that is taken lightly.

 _EDIT: 6-9 months may be on the low side for training a service dog. This place does 9-12 months not including the initial physical /behavioral testing: [http://en.wikipedia.org/wiki/Freedom_Service_Dogs#Training](http://en.wikipedia.org/wiki/Freedom_Service_Dogs#Training) _

<comment><USER8> Are you referring to service dogs that help the blind? Or those that offer emotional support? Clearly there is a difference in training.

<comment><USER7> I'm referring to service dogs for severe disabilities: multiple sclerosis, muscular dystrophy, traumatic injuries from war, things like that.

The "Emotional Support Animals" referenced in the article certainly are not receiving the training of a full-blown service dog.

</comment></comment></comment><comment><USER9> Unlike the Emotional Support Animals, service animals have to undergo a large amount of training and certification in order to be considered as such. This ensures that they are well behaved in situations where animals would not normally be allowed (like airplanes).

This is very unfortunate for those with disabilities that really do need service animals. I'd put the ESA-abusers in the same class of people that use their relative's handicapped parking permit to get a better parking spot.

EDIT: Furthermore, there are only two species of animals that can be recognized as a service animal: dogs and miniature horses. There doesn't seem to be a species restriction on ESAs.

<comment><USER10> There are a limited number of handicapped spots. Not so with ESA dogs. Though, I'm very very careful to make sure mine isn't a pain in the ass, and not everyone goes to such lengths.

<comment><USER7> False. Society has a certain amount of patience for people taking their dogs everywhere, it's not unlimited. Not everybody likes dogs, some people have had traumatic experiences, some people are allergic, there are health codes to worry about, etc. The more people take their ESA's around, which inevitably causes problems, the lower that level of patience becomes.

I'm all for ESA advocates getting together and coming up with a system to regulate them and ensure it's low impact, but printing off certificates from the internet isn't going to cut it.

</comment></comment></comment><comment><USER11> I almost never mind as long as they are well-behaved. Just like kids. If your dog or your kid is making noise and stinking up the place, I don't much like it. Otherwise, why would I care? They're cute and funny (dogs moreso than kids), and they have shared human spaces for thousands of years.

I purposely live in places that are pretty lax about stuff like that, and one of the things I liked least about Silicon Valley is how horribly dog-hostile the housing market there is, though once you've got housing, there are, at least a few patio-equipped restaurants and coffee shops that are dog-friendly (not on par with an actual dog-friendly city like Austin, but liveable).

<comment><USER12> I am not sure if you read the article, but it goes far beyond dogs. It's about people abusing the concept of an emotional service animal. People do it to get their pets to fly free as well as other things. The main portion of the article is about the author seeing how far she can go by claiming random animals are ESA's for her. She used turtles, snakes, pigs, alpacas and a few others successfully.

I am a dog lover. I own one dog and plan to adopt more in the future. But it's pretty ridiculous that people take advantage of this. Not everyone is a dog person, let alone comfortable with the number of animals this women used as ESA pets. It's unfortunate that there are actually people at such a state emotionally where they don't want to leave the house unaccompanied by their pets, but it's not exactly fair for everyone else who now has to potentially put up with their animal.

<comment><USER10> I think at the end of the day it should be about discretion. A store should be able to say "oh sure, Fido is awesome" and "uh, no, he ate my childs arm last time, fuck off Marty" without any worries. Banning animals in places that serve food city wide is quite silly. Let the stores set their own rules. I'd love a coworking cafe that charged by the hour and let my dog run around.

<comment><USER12> I agree completely! Widespread ban is silly, but so is a certificate that allows people to basically bring their animals where ever they want.

I have been to plenty of stores and restaurants that are dog friendly(some go so far as to have water bowls and treats around the establishment for them). It's neat and people going there know exactly what they are getting into. If I was at a movie theater and someone has a dog that freaks the fuck out every time there is ambient animal noise in a scene then I am not going to be happy. I have no expectations of any animals being at my local AMC theater, I don't see why a $200 dollar certificate allows that.

</comment></comment></comment></comment><comment><USER10> Confession time. I have an Emotional Support Dog that flies with me for free. The certificate cost $250 per year (or rather, the airlines require a prescription letter dated within 1 year of your flight). I obtained it without lying. I answered every questions honestly, though I am capable of flying without my dog. Yes, I have anxiety, like any person. Yes, my dog makes me feel better, like (I assume) anyone with a dog. Boom, certificate.

Technically this means I can bring my dog literally anywhere, but I only use it for flying. When on the train, the dog resides in a backpack that meets the "carrier" qualification. I don't take her in restaurants or movie theaters like a huge douche.

Why do I think it's OK? Well, it's a long list. First, the airlines will not allow dogs over 17 pounds as carry-on, even in a carrier. They won't let you buy an additional seat for the dog, even in a carrier. 18lbs = under the plane. 2 hours early, dog fucking terrified, so you probably have to Benadryl the pup, and they've been known to freeze to death under there. Nope Nope Nope.

This all makes no sense. If I buy a second seat, the size of the dog should not matter. Tiny dog in carrier is just as loud as big dog in carrier.

Toddlers fly for free and scream like fucking maniacs. 5 year olds buy a seat and scream and play iPad games on full volume.

My dog sits underneath the seat in front of me and doesn't move. I've had a 2 hour flight where people in my row did not know a dog was on the plane until we got off.

My dog's extremely well trained. She doesn't have breakfast on flight days, and I feed her a few ice cubes so she isn't crazy thirsty the whole trip. No chance of a mid-aisle poop, any more so than the old lady two rows up might. She doesn't bark, etc.

I do get that it's hard to have rules such as "your dog can fly with you if they aren't a huge fucking pain".

Two years ago tons of dogs were flying for free. Now you have to pay an extra $50 to have your doctor answer calls from the airline to confirm, and it's back down to where I rarely see another dog in the airport.

<comment><USER13> > Why do I think it's OK? Well, it's a long list. First, the airlines will not > allow dogs over 17 pounds as carry-on, even in a carrier. They won't let you > buy an additional seat for the dog, even in a carrier. 18lbs = under the > plane. 2 hours early, dog fucking terrified, so you probably have to > Benadryl the pup, and they've been known to freeze to death under there. > Nope Nope Nope.

Have you considered getting a dog sitter, or pet hotel?

</comment></comment><comment><USER14> The key point here is that the government forces businesses to accommodate Emotional Support Animals through the Fair Housing Act, the Air Carrier Access Act and the Americans with Disability Act. This is not an issue of modern society not being able to control assholes. It is a matter of government legislation intended to protect the rights of disabled people, being (allegedly) misused. The difficulty in drawing this line directly brings into question whether the government should be forcing businesses to accommodate people with disabilities.

<comment><USER15> IMO the difficulty in drawing the line suggests that the existing laws aren't quite there yet and some refinement is probably needed. I'm sure that sounds like a really boring, milquetoast opinion to a lot of people but that makes a lot more sense to me than using ambiguous or annoying ESA laws as Exhibit A for why the government shouldn't be allowed to force businesses to accommodate the disabled.

<comment><USER14> Are you really disagreeing with me? I simply read an article, and noted that the real issue was the government intervention, not private businesses inability to make good judgments, or individuals lack of restraint in assholish behavior. I didn't list this as "Exhibit A" I just noted that if we're talking about this article, this is the main issue.

<comment><USER16> The problem with a "screw the government intervention" mindset is that wheelchair bound people make up a significant minority, so I won't say no one, but a vanishingly small number of businesses would care if they moved to a non-ADA compliant building. To be a bit flip, playhouses and theaters with their generally elderly patrons, and wheelchair stores are the only ones I can think of. So yes, this is a place that government intervention is necessary. Specifically, if you look at many old buildings built pre-ADA (1990) you'll find a disturbing lack of accessibility.

It's worth discussing whether the government should ban dogs from businesses that serve food. And it's worth discussing whether the regulations which essentially prevent businesses from validating a service animals papers (so to speak) should be relaxed. However, it seems that it's really a lack of understanding of the law when it comes to the difference between a trained service animal and a companion animal, not horrible government intervention.

</comment></comment></comment></comment><comment><USER17> Dog owner and cat owner here (I love them!) but my question is, why do we needs pets at all? Is it right to put a bird in a cage or a cat in a small apt or having a dog and bring him out just 3 times a day? Why we are so selfish to prevent birds from flying or cats from hunting? Should we rethink in general about the pet in general?

<comment><USER18> Certainly, yes. Most people don't treat their pets properly.

If you have a dog you should have it with you all the time; they're pack animals and get anxious and neurotic when left alone. This means there are very few lifestyles that lend themselves to dog ownership. Farmers tend to make great dog owners, because the dog is fully integrated with the lifestyle.

The social problem is that a lot of pet owners conflate the needs of their pet with their own personal rights. "I own a dog," and "Dogs need to be with their owners," therefore "I should be able to take my dog with me everywhere." No, you should have to stay with your dog in an appropriate environment. If you don't live in such an environment, don't own a dog.

<comment><USER19> > they're pack animals and get anxious and neurotic when left alone.

Get a second dog.

> No, you should have to stay with your dog in an appropriate environment. If > you don't live in such an environment, don't own a dog.

How do you know dogs prefer to be put down than occasionally left to chill home alone?

<comment><USER18> The alternative is not putting them down, but rather to stop breeding them.

Also "occasionally left home to chill" does not describe a typical domestic dog's life. More like "left at home all day, five days a week."

<comment><USER20> Dogs breed themselves just fine - ever been to a shelter?

<comment><USER18> They breed because irresponsible people (breeders and owners alike) let them breed.

</comment></comment></comment></comment></comment></comment><comment><USER21> Another example of well-intentioned laws (the ADA and associated acts, in this case) having unfortunate semi-predictable side effects.

When you muddy the legal waters, you make it very difficult for your average Joe, who has no legal training, to protect themselves from legal abuses like those demonstrated in the article.

You're not going to stand up to assholes if you're afraid you might get sued for discrimination.

</comment><comment><USER22> I look at this from a slightly different perspective... Why shouldn't animals (mainly dogs, really) be allowed in many of these places, assuming they are well behaved?

When I lived in the UK, you would often see a dog or two in pubs or outside areas of restaurants. Even occasionally in the grocery store (they were smaller ones, though, and always in a cart). There was never any commotion over them.

In Norway, dogs aren't even allowed in the outdoor area of restaurants unless the waiters are willing to look the other way. The same goes for pharmacies and grocery stores (some grocery stores look the other way if you are carrying the dog). The explanation is always that the Norwegian food authority (which also has jurisdiction over pets, for some odd reason) bans them because people might have allergies.

I think Norway is an example of taking things way too far. Why not allow the shop owners to decide for themselves whether they are more interested in catering to dog owners or people who might be allergic? People with allergies have to worry no matter what, because a service dog is still allowed in, so they have no guarantee of not encountering a dog, and if they have a severe allergy, the dog hair on my clothes could be enough to set off an allergy attack (if it isn't, my dog probably won't cause the person any problems unless she jumps on them, which I always do my best to prevent).

In the end, people need to stop abusing the system, but the system needs to be relaxed to allow more flexibility.

<comment><USER23> Unfortunately it seems that, especially in US, most problems end up an "us vs them" problem. People pick sides and do whatever it takes to win battles.

For example I'm baffled to know that in US, some "pet forbidden" apartment buildings exist. Come on, people not allowed to have pets at their own house??

<comment><USER24> This is also the case in the UK.

Here in the UK, in general (I don't know about the US), renting a property allows you the right to just about live there, grudgingly, and it is definitely NOT your house or home.

This is true more of the lower end of the market than the higher.

<comment><USER25> Although a lot of listings say "no pets allowed" in the UK, many will let you have a pet if you ask (if it's a large pet they're likely to ask for a higher deposit fee, but that seems fair enough).

</comment></comment></comment></comment><comment><USER26> tl;dr: Emotional-support animal (E.S.A.) are not allowed in places they shouldn't be. Exceptions are:

>The rights of anyone who has such an animal are laid out in two laws. The Fair Housing Act says that you and your E.S.A. _can live in housing that prohibits pets_. The Air Carrier Access Act _entitles you to fly with your E.S.A. at no extra charge_ , although airlines typically require the animal to stay on your lap or under the seat—this rules out emotional-support rhinoceroses. Both acts stipulate that you must have a corroborating letter from a health professional.

So anywhere else these animals are it is not legal. It is different for service dogs that are trained for a specific purpose (i.e. blind people's dog)

> They defend the practice by saying [...] that Europeans gladly accept dogs > everywhere.

I'd love to see them trying it in Europe :)

However, here in the US I've never seen animals in uncommon places, is it really a trend ?

<comment><USER27> Somewhere someone mentioned that normal pets are not allowed on planes unless you pay more but if you get your pet labeled emotional support then its free AND they mentioned getting that classification is easy and people abuse it to get a break...

<comment><USER26> ... this is just sad to abuse it like this. I feel sad for people who _really_ needs their animals for this particular reason.

Some people are allergic to some type of animals though, how do you handle that?

If I happen to sit next to a pet owner, can I claim that I'm allergic to it and this is a threat to my well being?

<comment><USER28> > Some people are allergic to some type of animals though, how do you handle > that?

The same way people allergic to other things handle it. They do their best to avoid it and they keep an epi-pen on themselves in case they're accidentally exposed.

I was once at the Los Angeles airport, and a fellow passenger walked up to the counter and told the person there that they have an airborne peanut allergy, and to please announce that nobody in the concourse could eat nuts. The person behind the counter did so, but realistically, this did very little. Between the vast majority of people ignoring most announcements, and the literally thousands of people per hour coming and going from other areas in the airport and planes, there was no way you could keep everyone in the area from eating peanuts. It's on the person with the allergy to make sure they can safely go wherever they're going. You can't expect the rest of the world to magically know, or comply with procedures for your particular issues.

</comment></comment></comment></comment><comment><USER29> As someone with both allergies and a child with life-threatening allergies, I have noticed this trend and find it disturbing. There are stores I cannot go to anymore because of this sh*t. That's about 5% of the population and rising.

</comment><comment><USER30> I hate the now common occurance of the store and office dog, which is always a yapping tiny viscious ball of fur that immediately runs at you barking when you walk in. Leave precious at home so I can negotiate a sale without the sound of endless barking drowning out our conversation.

Get a big fat store kitty and buddy will lie in the window all day quietly if you must surround yourself in animals.

I also didn't realize how much people from the middle east despise dogs, there's stores some of my Kuwaiti and Saudi friends won't go into because theres a dog running around, and they consider dogs unclean barn animals. They won't even go into a coffee shop if somebody is in the line with a dog as they expect that place is unhygienic.

</comment><comment><USER31> because there are fewer and fewer children. [http://reason.com/blog/2014/12/05/us-birth-rate-hits-all- tim...](http://reason.com/blog/2014/12/05/us-birth-rate-hits-all-time-low- total-fe)

<comment><USER32> >1.86 babies, well below the 2.1 needed for a stable population

Should it not be 3 babies or over? Maybe my lack of statics knowledge is my problem.

But if two parents have two kids that's zero population growth if they have three kids that means they've replaced themselves plus added one more person to create population growth.

<comment><USER33> "stable" here means zero population growth over the long term, which actually requires a little above 2 per couple to account for people who die before being old enough to parent children. 2.1 is the common approximation for that.

<comment><USER34> But people live after they reproduce. Having 2 children, and every 2 in the next generation have 2 more, etc, means population continues to grow. A steady state is reached, but as lifespan increases so does population. The obvious limit is, if lifespan is infinite, then 0 children is the only number that permits a stable population.

<comment><USER35> Eventually the older generations die. That stabalizes things.

</comment></comment></comment></comment></comment><comment><USER36> Just made an account to reply. I have absolutely nothing against dogs or other pets whatsoever. Sometimes I expect to be sitting in the library or in a cafe, usually a confined place, for a while. To do some work or chat with a friend etc. The issue is, I am extremely allergic against dogs (only horses are worse but I hope nobody will bring a horse into my go-to cafe).

So now somebody enters with their dog, lets it run around freely (!) and I have nowhere to go. Dogs are about the only things that reliably induce allergic asthma in me if exposure time is > 1 hour. So thankfully that rarely happens. But I get immediate massive hayfever symptoms. Sneezing 8 times in a row, runny nose like there is no tomorrow, itchy eyes, all that jazz.

I find it irresponsible of people to bring their pets into confined public spaces such as cafes and even more so of the owners to allow it. I like dogs a lot, sadly I cannot own one. But please don't bring it into a place like that for more than a few minutes. That's just my perspective.

Same reason I hate subway musicians btw. I mean the one inside the trains. You can't get away from them. You are forced to listen to them. Playing on the street? Ok with me, I can keep walking. But doing it in the train is rude beyond anything and I don understand why people put up with it.

</comment><comment><USER37> If so many animal companions visit places where they weren't allowed before, and the fabric of the society shows no signs of collapse, maybe the problem is not "cheating" but overabundance of restrictions? Maybe people are afraid of other people's pets out of ignorance and lifting the veil of ignorance is a good thing? There are, of course, bad apples - as there are among people. In a restaurant I'd be more worried about a waiter not washing their hands after visiting bathroom (the fact that there are placards saying they ABSOLUTELY MUST DO IT everywhere is kind of unnerving - if they insist on it so much is it the case that one reminder at the start of the employment is not enough?) than about the quiet dog under the table on the other end of the room. There are also things like poorly trained dog doing "what the dogs do" in the airplane, and the owner not thinking about dog's needs on a 5-hour flight. There are also sanitary and other concerns - e.g. in some places, it is clearly not appropriate to come with animals (most of these places, though, are not exactly open to public either). But I see no problem for a well- behaved dog (or other like animal, of course bengal tigers require an exception here) to accompany its owner to a restaurant or similar establishment - provided they don't smell offensively, shed, make loud noise or otherwise disturb people. Of course, the responsibility should be on the owner and if the companion pet misbehaves or makes trouble, they both should be out, but as a consequence of a problem, not as a pre-determined conclusion.

Our family has pets and I have witnessed how many establishments view pets negatively - e.g. renting with a pet is a constant problem since many landlords, both private and corporate, want nothing to do with it. I understand why it may be (bad apples) but in my case it was just ignorance and refusal to consider even the possibility that it would be OK.

So, I personally take an issue with the author conclusion that the only sensible thing for a person with a pet is to "get lost". I think most people she encountered actually did the sensible thing and accommodated their fellow human being and her companion, however weird it may seem. And I'm sure it didn't require any extraordinary effort, extraordinary cost or major inconvenience - just being ready to tolerate something that is a bit unusual.

<comment><USER38> "and the fabric of the society shows no signs of collapse"

That's a remarkably high bar to not do something!

<comment><USER37> There should be a high bar to for prohibiting people from doing something that does not infringe anybody's rights.

<comment><USER38> I agree. I mean I am assuming your referring to my right to runa private business and not allow animals on my property if I don't want them there. Yes? That's the right to which you were referring? Ok good.

<comment><USER37> I do not dispute the right of private business to not allow any animal, human, plant, bacteria, archaea or space alien on their private properties. However, these rights are routinely infringed right now, so if you want to stand for them, please stand for them without exceptions. I.e. if the owner is the sole authority in determining who gets into their property, they can refuse anybody for any reason whatsoever, and no regulation or policy can stand in the way, that should be the case and all regulation concerning any such limitations should be removed. That's fine, consistent approach which has my full sympathy.

On the other hand, if you allow exceptions, such as different handling of "public places", even privately owned, if you accept regulation that limits the exclusive authority of the owner to exclude anybody they wish for any reason, then you have to be consistent and have some rules that would guide such regulation, and then what would be your reason to exclude people with (well-behaved) animals accompanying them, not infringing on anybody? "I don't like them, and that's enough" wouldn't cut it anymore - not unless you agree to go all the way. I would prefer the former approach, but it's not the world we live in now, so either we strive for that world, or we go with one we have now, but we can't do both at once.

Also, regardless of that, I think it is important for people to be a bit more accommodating to each other even if nobody forces you to. Let's assume you have full right to kick out every person with a dog out of your place of business. Why should you? Do they make any trouble? Every one of them, always? If not, why would you assume they are troublesome before any sign of trouble appears? Why not instead show some kindness and politeness and give people and dogs a chance to be good? If they don't, you can always kick them out later (ok, on the plane you can't but that's rather exceptional situation, in most situations resolution is very easy).

<comment><USER38> O_o

It's not, nor should it be, all or nothing. The default state is that you can allow or not allow whoever or whatever you want. However there are a list of classes that protected. Race, color, religion, national origin, age, sex, and a handful more [1]. Pets are not, and again should not be, a protected class.

[1] [http://en.wikipedia.org/wiki/Protected_class](http://en.wikipedia.org/wiki/Protected_class)

<comment><USER37> Why choice of religion can be protected but choice of companionship can not be? If one can define protected classes, why pet owners can't be protected? In fact, ESA is doing just that - and the only claim of the article is that it's too easy to get into the class. But why should it be hard?

<comment><USER38> Anything _can_ be protected. It's just a law. Protecting a class restricts the rights of other people. We tend to prefer having more freedom and less restriction. Therefore a law that limits freedom should only be passed after carefully considering if it's worth it or not. Protecting people based on th color of their skin? Worth it. Protecting someone's right to go anywhere they want with their smelly pet? Not worth it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER39> SFWeekly covered the similar proliferation of 'support animals' in San Francisco back in 2009:

[http://www.sfweekly.com/sanfrancisco/service-with-a- snarl/Co...](http://www.sfweekly.com/sanfrancisco/service-with-a- snarl/Content?oid=2172980&showFullText=true)

</comment><comment><USER40> Most interesting. I know a fellow who works in retail, and has done so for many years. I remember from a brief bit of conversation a couple of years ago that he must have been unclear on the distinction between service animals and emotional support animals.

</comment><comment><USER41> I can't even believe Emotional Support Animals are a thing. People are so feeble.

To paraphase the saying, we will go out not with a bang but with a whimper, when people have their ESA animal taken away from them.

</comment><comment><USER42> To look at this from the perspective of animal owners: animals are not "pets" to them, they're family. To deny them bringing a dog in an airplane is like denying them bringing a baby in a airplane.

That argument cannot be randomly disregarded because it is a valid one. Dogs bark, babies cry. Dogs are unhygenic, and babies are little balls of filth.

Why should a dog fly in cargo because you don't like a dog inside the airplane? I don't like babies, does that mean we should put babies in a crate in the cargo section?

<comment><USER43> Pets != humans. There is no other perspective.

<comment><USER24> Yes there is. [http://www.oswego.edu/~delancey/Singer.pdf](http://www.oswego.edu/~delancey/Singer.pdf)

<comment><USER44> Did you read the paper? Because the paper doesn't contradict the claims that "Pets != humans".

The argument that the paper made, and I quote "I argue that we should drop the belief in the equal value of human life, replacing it with a graduated view that applies to animals as well as to humans.", emphasize the first half of the sentence (sidenote: the claim shouldn't be a surprise to anyone that know about Singer's utilitarian stance, he's super consistent in being an utilitarian :-) ). He isn't saying that pets is equal to human in moral status, he's saying that the difference shouldn't be explained just by species.

<comment><USER24> Oops.

I felt that the context of the claim "Pets != humans" meant that the commenter was claiming more than just the bare bones of that statement.

I interpreted my parent comment as dismissing the grandparent comment by saying that pets are not in the same 'moral class' as humans, without further justification.

It was this (probably imaginary, I now realise) distinction that I was trying to provide an alternative point of view for.

Sorry for attacking a straw man.

I have read Singer, yes.

</comment></comment></comment></comment></comment><comment><USER45> Awhile back I was chatting with one of my friends who was working security at the local Whole Foods, when a woman walked by the produce section literally dragging her defecating dog through a pile of its own crap.

This is why pets aren't allowed in grocery stores. Yesterday, I counted 5 dogs inside another local grocery store. Some of them may have been legitimate emotional support dogs (although none of them appeared to be service dogs), but surely the others were just people behaving badly.

</comment><comment><USER43> > emotional-support animals

As an European: wat ?

<comment><USER46> Exactly. If I go to the local tabac/bar/newsstand and proclaim that I need an emotional support animal, I'd be laughed out of the country. Or, more likely, they'd pour me a Pastis and tell me to find a woman.

</comment></comment><comment><USER47> My god, the author comes as annoying. Something about the voice, whether it's pretentiousness or condescension, grates at my brain.</comment>


Git v2.14.0 released - <AUTHOR> https://lwn.net/Articles/729918/ <comment><USER2> > * The "indent" heuristics is now the default in "diff". The > diff.indentHeuristic configuration variable can be set to "false" for those > who do not want it.

Nice. I set this when I found out about it a few months ago, and had kind of forgotten.. Diffs were just better at not showing new functions as being inserted inside the bottom of another function. Good improvement as a default.

</comment><comment><USER3> Does anyone here have suggestions for git GUI? I used SourceTree for a few years, but a while back they started adding a bunch of tracking scripts, which I'm uncomfortable with. I can generally get by fine with the CLI, but whenever I need to do anything even slightly unfamiliar, I like being able to put on training wheels and have a GUI guide the way.

I think git would benefit from a type of "training wheels" config, where no action is destructive or irreversible. I've had a few close calls where I almost lost some code due to a git screw-up. Luckily, my local Time Machine backups have always saved my ass.

<comment><USER4> magit. Worth installing emacs just for that.

<comment><USER5> +1 this

Does more than putting buttons on existing commands

Improves discoverability of interesting combinations of commands and option flags to make higher order commands

</comment></comment></comment><comment><USER6> Heads up - Gitlab doesn't support this release, 9.5.0 should support it.

[https://gitlab.com/gitlab-org/gitlab- ce/merge_requests/13344](https://gitlab.com/gitlab-org/gitlab- ce/merge_requests/13344)

<comment><USER7> To be clear, this is only relevant for Windows. Otherwise, GitLab will work fine with clients on 2.14.0.

See [https://gitlab.com/gitlab-org/gitlab- ce/merge_requests/13344](https://gitlab.com/gitlab-org/gitlab- ce/merge_requests/13344)

<comment><USER8> Just FYI: GitLab 9.5 that works in all cases will be released in two weeks on August 22.</comment></comment></comment>


Ask HN: Who's hiring? (march 2010) - <AUTHOR>

It's that time again! <comment><USER2> We currently have 7 positions open in San Francisco in technical, community, and product roles.

<http://www.wikia.com/Hiring>

</comment><comment><USER3> I think this happens every 90 days, the last one was 41 days ago</comment>


A Curated List of Awesome Infosec Courses(and More) - <AUTHOR> https://github.com/onlurking/awesome-infosec <comment><USER2> Here are some more courses to add to that list: [http://overflowedminds.net/foro/viewtopic.php?f=14&t=36#p116...](http://overflowedminds.net/foro/viewtopic.php?f=14&t=36#p1161)

Also in open books I'd add this work in progress: [https://crypto.stanford.edu/~dabo/cryptobook/draft_0_2.pdf](https://crypto.stanford.edu/~dabo/cryptobook/draft_0_2.pdf)</comment>


Ask YC: Review my Startup (HN with a business/fundraising focus) - <AUTHOR> http://mystartupnews.com/

<comment><AUTHOR> Alright, so if I understand you guys right, (1) the logo sucks, (2) it's not really a "startup" because it's not very innovative and it's running on open source that took me about an hour to launch, (3) the logo sucks, (4) the logo really could use some work, (5) it's just a website, and it's crappy, & (6) there's no reason for it to exist.

No worries, I agree with all of your comments. You're right, I should have put "Review my website." I think I might have been tempted to say some of the same things that were written, though I hope I would have been a bit more polite. I think I've been so antsy to make _something_ public that I threw this together and it's been a great learning experience. I just learned SQL about 2 months ago & I just started with Java about 6 months ago. PHP is slowly coming into focus as well. Although I'm not writing out SQL queries by hand or anything as I work with this site, it has been cool to see how a database-driven site functions. For most of you, this stuff isn't exciting because you've progressed to a much higher level. But for me, it's awesome! And my wife thinks I'm crazy because it's all I ever talk about. :-)

I don't know. I'm fairly new to open-source software, so when I found out that I could launch this thing in an hour, I got excited -- didn't really have any great ideas, so I just went with something I'm really interested in (startups/venture capital/angel investing, etc.)

I know it will never become the next Google or anything, because (a) at the moment there's no business model -- although Google had no biz model for a couple years -- but they also had an incredibly simple way for solving a really really big problem, and I don't -- not with this site anyway, and (b) it sucks.

But for me it's a way for me to keep track of my favorite articles from the startup community, find articles that come from similarly entrepreneurial people but with a different focus, & organize them so that others can have access also.

P.S. My friends and I are working on a _real_ startup also. When we have a functional prototype I'll post it here and let you guys give a crack at it.

P.P.S. I appreciate the honesty. I look forward to that for next time.

<comment><USER2> I may have been a little mean in my other comment - but you're on the right track to having a _real_ startup. I've had probably 5 serious projects that eventually got abandoned because a) no business model, b) no users, and c) stupid idea. But the knowledge I gained by creating these projects? Priceless.

It's better to fail & learn on crappy projects so when you find a great idea you can just knock it out of the park.

<comment><AUTHOR> __I may have been a little mean in my other comment - but you're on the right track to having a real startup. I've had probably 5 serious projects that eventually got abandoned because a) no business model, b) no users, and c) stupid idea. But the knowledge I gained by creating these projects? Priceless.__

No worries Dave. I don't take stuff like that personally. I have appreciated the experience of getting all the feedback. Creating this crappy project makes me super-excited for the next one, and I agree about the learning. I've learned a great deal from this.

 __It's better to fail & learn on crappy projects so when you find a great idea you can just knock it out of the park.__

Totally agree.

</comment></comment></comment><comment><USER3> Sorry, but the logo is burning my eyes out. Also, can we please go back to calling them websites?

</comment><comment><USER4> Since you're calling it a startup, I might as well ask: What's your business plan? Because it looks a lot like a webapp and not a startup ;)

The logo really could use some love from a designer. It doesn't fit into the rest of the page at all.

The FAQ needs some linebreaks.

The site doesn't fail gracefully, so <http://mystartupnews.com/live_unpublished.php> doesn't work without JavaScript. I just got an empty section with NoScript :)

<comment><AUTHOR> You're right, not a startup. See my other comments.

</comment></comment><comment><USER5> Isn't HN an HN with a business/fundraising focus?

</comment><comment><USER2> Why do so many people insist on labeling their crappy websites as a "startup"

Your website is just another clone of 1000 others out there. I could clone your clone in about 4 hours.

<comment><USER6> That could have been put a little more politely. ;-)

<comment><USER7> Posting a site/startup for review means that the user is ready to take the sweet cake "cool stuff!" reviews and even the bad "you built shit" kinda statements right in the face.

P.S: That was just IMO. I don't know what others think of review threads.

<comment><AUTHOR> 100% agree.

</comment></comment></comment></comment><comment><USER8> I had the same idea, still just learning PHP

Good Luck, freemium is hard.

</comment><comment><USER9> Neat idea but I don't think there's a reason it needs to exist.

</comment><comment><USER10> Way too much whitespace, way too few articles/vertical inch.</comment>


Python Tutor Needed in Harlem High School - <AUTHOR>

ScriptEd (http://www.scripted.org) is looking for a volunteer to tutor Python to a small group of advanced students this school year. Please contact us at email@example.com if you're interested!<p>ScriptEd is a New York based nonprofit that brings computer programming classes to students in low income high schools and places students in summer internships with tech firms. <comment><AUTHOR> Hi all! Sorry for the delayed response. Time commitment is twice a week for 1.5 hours each time. We have additional volunteer spots opening soon -- I'll post another solicitation about that shortly!

</comment><comment><USER2> I would so get on this if I were near Harlem! This has actually encouraged me to seek out opportunities to do this sort of thing closer where I live.

</comment><comment><USER3> Brilliant idea. What is the time commitment for helping out?

</comment><comment><USER4> bulletproof vest provided</comment>


Tell HN: "Proper News" - <AUTHOR>

As an experiment after this post: http://news.ycombinator.com/item?id=888251 I have set up a version of news.arc that covers "hard news" in any topic. There's the usual thing that trolling and spamming will not be tolerated.<p>http://www.propernews.tk (Temporary until I can think of a good domain) <comment><AUTHOR> Direct link: <http://www.propernews.tk>

</comment><comment><USER2> Is there a list of HN spinoffs anywhere?

<comment><USER3> * newmogul.com

* hndir.com

* More official than a "spinoff": <http://arclanguage.org/forum>

Anyone know any others? There has to be tons more.

</comment></comment><comment><USER4> An iframe on all clicked links? Really? Why?

<comment><AUTHOR> Will need to fix that - that's because of the .tk "domain name" frame.

<comment><USER5> You could do something like this for the time being:

$("a").bind("click", function() { document.location = $(this).attr("href"); });

(jQuery)

<comment><USER6> Or just add to the head of the document

        <base target="_top" />

Then it works for those without JS

</comment></comment></comment></comment><comment><USER7> cool!

Thanks as well, it's always nice to see people get up and do stuff instead of just talk about it.

</comment><comment><USER8> Nice! Well done.

</comment><comment><USER9> Very nice idea. I think I'd use something like this - and I like the name!

</comment><comment><USER10> Excellent.. What's on the backend?

It's fairly slow here in CA though.

<comment><USER11> It's not even working for me. Also CA.</comment></comment>


Stanford's Cryptography Class is Excellent - <AUTHOR> https://www.coursera.org/crypto/class

<comment><USER2> The Cloudera courses I tried were very disappointing. Barely skimming the very basics of the subjects.

<comment><AUTHOR> This is a Stanford course. Coursera is merely the platform.

<comment><USER3> CourseRA has one class from the University of Michigan and two from UC Berkeley -- the rest are Stanford.

These are all reputable universities, so I think the complaint might stand? I'm enrolled in the crypto and algo courses and haven't had an issue yet.

Source: <https://www.coursera.org/landing/hub.php>

<comment><USER2> Oops, Coursera.

</comment></comment></comment></comment><comment><AUTHOR> The first week's lectures are up, and are nicely broken up into < 20 minute pieces.</comment>


The design and implementation of the Meteor platform [video] - <AUTHOR> https://www.youtube.com/watch?v=tqLbodVH3dw

<comment><USER2> Meteor should publish more videos like this explaining the fundamentals. I feel like a lot of people miss the thinking behind the platform and end up comparing Meteor to other libraries and frameworks they already know, such as Ember, Angular or React, when Meteor is actually something completely different.

For instance, if you visit the "projects" page on the Meteor website ([https://www.meteor.com/projects](https://www.meteor.com/projects)), you're faced with the following introductory paragraph:

> The Meteor Project is a little bit like the Apache Foundation or the Free > Software Foundation in that it is an umbrella organization that stewards the > development of a set of open source projects. This page has information on > each of the subprojects currently being sponsored by the Meteor Project.

It would be interesting to hear more about their philosophy on simultaneously building an organisation like this and designing a software platform.

<comment><USER3> Agreed, I'm lucky enough to know the founders personally and it is quite inspiring to hear where they're going and why they decided this was what needed to be built.

</comment></comment><comment><USER4> Looks like this is from a CS course at UC Berkeley on cutting edge web technologies: [http://inst.eecs.berkeley.edu/~cs294-101/sp15/](http://inst.eecs.berkeley.edu/~cs294-101/sp15/)

Good talk from Pete Hunt on React as well. More talks from others will be coming in the near future.

</comment><comment><USER5> Very interesting talk, but being in the process of building a similar architecure at the moment, i think the person dismiss OT and other kind of merging technics a bit too fast. "Latest to write wins" isn't manageable in every case , such as google doc, or github. You sometimes needs locking and atomic complex updates for which a stack only built on top of mongo and pojo, and no other knowledge of the relations between data parts may be insufficient.

But i sure hope they'll prove me wrong and solve the problem in a generic way.

<comment><USER6> You can always use an existing OT stack within Meteor, such as this package I wrote integrating ShareJS: [https://github.com/mizzao/meteor- sharejs](https://github.com/mizzao/meteor-sharejs)</comment></comment>


Show HN: Squally – A Game to Teach Low Level Computer Science - <AUTHOR> After many months of development, we are releasing Squally as early-access on Steam! This game teaches low-level computer science; topics such as data types, data structures, bin/dec/hex, and x86 assembly are gradually introduced through puzzles and gameplay.
https://store.steampowered.com/app/770200/Squally/
It's still very early in development, we currently have only released a card mini-game that teaches binary operations:
https://i.gyazo.com/0a33bbac5bbb5421f7eb120edd3ff6bb.gif <comment><USER2> With kids stuff, it's generally conventional marketing to put "ages x-y" or "ages x+" front and center. I think this attracts parents, who are a time- starved lot.

<comment><USER3> I feel like the attraction isn't that it saves time, so much as it saves thinking. At least for me (kid-less), it's really hard to imagine the difference between something appropriate for a 5 year old and an 8 year old; particularly things that straddle the line

Things are a lot easier if the producer just tells me the intended audience, which I can take with a grain of salt and decide from there

<comment><USER4> The gap between what is appropriate for a 5 year old and what is appropriate for an 8 year old is surprisingly large if you don't have kids or otherwise deal with them day in and day out.

<comment><USER5> Agree - I have a 5-year-old and an 8-year-old, and yes, enormous difference even though only 2.5 years apart. Suggested age range is definitely helpful for parents even though I often take them with a pinch of salt. Also if a developer hasn't tested enough to know what is a good suggested age range, then they haven't tested enough full stop!

I'm certainly happy with idea of a game teaching low-level cs concepts, although I don't tend to spend too much money on kids' games unless they have really good recommendations/reviews (or they have enjoyed other games from the same developer e.g. we have all the DragonBox games) as I can't guarantee what my kids will decide is interesting. I also don't think I'd get early-release stuff for kids as their tolerance for non-finished products tends to be limited.

</comment></comment></comment></comment><comment><USER6> I'd love to try this out. However I see Linux isn't supported. Will there be Linux support in the future? I wonder if this game would work through Proton.

<comment><AUTHOR> Yes! Linux support should come by the end of this week.

<comment><USER6> Thank you for the update. Looking forward to it!

<comment><AUTHOR> Linux support was added :^)

</comment></comment></comment></comment><comment><USER7> Hey! I love the idea but I just registered to HN to tell you that my 5yo would actually be too scared of your caracters to enjoy!

Also the universe feels strongly masculine and won't bring girls in CS.

<comment><AUTHOR> I don't think we anticpated people wanting younger children to try this game, originally we were thinking 12+. Clearly we were wrong based on the posts in this thread, so we'll have to think about a path forward.

The storymode of this game was intended to have RPG elements, which tend to be branded as masculine. I wish more girls were encouraged to play RPGs, but I get that this isn't the world we currently live in. However, the game will have good representation as far as NPC gender/race breakdown.

<comment><USER8> > RPG elements, which tend to be branded as masculine

It seems weird that RPGs tend to be branded as masculine, since, if I remember right, there's more female players (in proportion) than sport and FPS games

<comment><USER9> Is it really any wierder than gaming (almost) exclusively targeting men? There's some data here on what kind of numbers we are talking about. [https://en.wikipedia.org/wiki/Women_and_video_games#Genre_pr...](https://en.wikipedia.org/wiki/Women_and_video_games#Genre_preferences)

</comment></comment></comment></comment><comment><USER10> Are you planning on working on the visuals at all? The graphics look nice, but the aesthetic seems off: the main character seems a little, well, out of place in some of the scenes. The concept is pretty cool though, and I can see myself picking the game up.

<comment><AUTHOR> Yeah, we actually don't have a full-time artist yet, so there are quite a temporary pieces of art dropped in right now

</comment></comment><comment><USER11> This game should really be Linux supported so all the kids learning Comp Sci through the Raspberry Pi can try it out.

<comment><AUTHOR> It is now :)

</comment></comment><comment><USER12> Honest question: why? Why is low level computing the right thing to teach kids? Most people take the exact opposite approach to the extent they create very high level languages

<comment><USER13> For what it's worth, I struggled for so many years understanding what higher level programming actually is, while simultaneously doing it. It never felt complete.

I went through Crash Course Computer Science (from John Green / PBS...) and it really helped me feel grounded.

Maybe this is attempting the same, just starting at one end of the abstractions.

<comment><USER14> High level, low level formally refers to the level of abstraction of the virtual machine of the programming language with respect to the "target" model of computation. We say assemblers are "low level" since it adds very little abstraction to the von neumann machine it's intended to run on, on the other hand, python programs compile to a long set of instructions. One can formalize this concept using Kolmogorov complexity. (i.e. what's the size of smallest assembler program implementing python)

</comment></comment></comment><comment><USER15> > card mini-game that teaches binary operations

[https://esolangs.org/wiki/Lambda:_the_Gathering](https://esolangs.org/wiki/Lambda:_the_Gathering)

<comment><USER16> That had nothing to do with binary, wasn't a mini-game and was generally "out there" in terms of complexity. Definitely a good tool to scare children away from programming.

<comment><USER15> I guess that depends on age.

I just linked it, because it's also a low-level computer science in a different sense.</comment></comment></comment>


Quiet Linear Mechanical Keyboard Switch Designed by the Open Steno Project - <AUTHOR> https://www.crowdsupply.com/open-steno-project/mechanical-keyboard-switch

<comment><USER2> So it's an ALPS/Matias switch. Of which there already exist quiet versions.

Why do you want money again?

The claim that it's easier to get Custom Key Caps for these is an absolute joke. There is very little available in the market for Alps style keycaps vs Cherry MX which is ubiquitous. Injection molding shops would have to have tooling available to make these keycaps. Most of them don't. That's what makes getting custom keys easy or hard, not the mounting shape. I don't even think you can get them in PBT anymore unless you pop them off an SGI Granite keyboard or older Apple keyboards (or with a Japanese layout).

Cherry MX Reds are also not out of wide circulation at all. Reds and Browns are their most popular switch right now! These comparisons are totally disingenuous.

Not to mention Matias switches are super wobbly...Have fun doing those sticker mods.

<comment><USER3> This and the other Cherry comment capture my cynicism as well.

And the _reason_ I'm cynical about it is that they story they offer doesn't seem to make sense to anyone who has purchased key switches for projects.

So lets break it down. $50 donation gets you 150 switches, they are looking to raise $1000. That is twenty $50 chunks, or 3,000 switches. So what they are really saying is that our vendor has a minimum order quantity (MOQ) of 3,000 switches, and if you all buy some, together we'll get switches and you'll get switches. That at least would be an honest narrative. And hey its helping the Open Steno project so its got that going for it.

<comment><USER4> The economics of this project aren't based on funding the entire MOQ, which is much more than 3,000 switches. We'll be using many of the switches for our own project, but think there will be plenty left over. The $1,000 funding goal is the amount that makes it worth going through the effort to sort, package, ship, and other logistics. I'll make this clearer on the campaign page. Thanks for the feedback!

<comment><USER3> That is awesome Howard. If I had a use for 150 switches I would certainly consider contributing. Something else you might add to this page which may help would be an STL file that could be 3D printed for a keycap. Looking at what is provided I don't think there is quite enough information to make one and you would definitely want to test fit it for validation before releasing something like that but it would give folks most everything they needed for building a custom keyboard.

<comment><USER4> We plan releasing the source files for all custom hardware, including key caps, that we're designing and making for our own keyboard. We have prototypes that we're mostly happy with, but haven't yet nailed down the exact dimensions. Also, our files are in the form that a CNC mill could understand, but as far as I know not suitable yet for a 3D printer. I really like that idea, though, and will keep it in mind for when we do offer our keyboard.

</comment></comment></comment></comment></comment><comment><USER5> I just picked received the CODE Keyboard with the green switches yesterday and while I was swapping some caps I wondered why they didn't just make the housing clear for the backlighting. This looks cool!

</comment><comment><USER6> Cherry does have clear housing.

[http://www.cherry.de/cid/keymodules_CHERRY_MX1A-LxxA_B.htm](http://www.cherry.de/cid/keymodules_CHERRY_MX1A-LxxA_B.htm)

And the following claim seems a bit dubious to me.

> The other contact, pictured above, is gold-plated only on the small area > that will actually physically touch the other contact. The reason for this > is simply that the process of gold plating weakens the metal being plated, > which would reduce the longevity of the key switch.

<comment><USER2> I'm almost certain they originally wanted Cherry Reds for this project but couldn't get their order qty filled by Cherry either due to lack of availability (they're very popular right now) or there being a high MOQ (Cherry's MOQs are super-duper high).

If they were really serious about ultra-low activation force, Topre has 30g switches available (not that they could have negotiated that contract), but that's unusably low, IMO.

The project may be "open" but they've gone with a key type that's only still supported by one manufacturer...

<comment><USER4> We evaluated Cherry Reds for the project, but there were several things wrong with them. In order of our priorities:

1\. It's very difficult/expensive to make custom key caps that mount to Cherry MX stems. By custom key cap, I mean a completely new shape, like this:

[http://3.bp.blogspot.com/-g_Bi0FseNUk/VGBKMdshu-I/AAAAAAAAAe...](http://3.bp.blogspot.com/-g_Bi0FseNUk/VGBKMdshu-I/AAAAAAAAAeg/i2PoOoql6zU/s1600/cnc- keys-complete.jpg)

We actually did come up with a method for doing this with Cherry MX switches, but the cost was prohibitive. I'll add more detail on the campaign page to make this clear.

2\. The actuation force of Cherry MX Reds was just a bit too high. We're making a stenotype keyboard, which should have a very light touch. The Cherry MX Red might have been marginally acceptable, but we're much happier with the lower actuation force of our switch.

3\. As you pointed out, the availability of Cherry MX Reds isn't great.

4\. The price of Cherry MX Reds is much higher.

Regarding the Topre switches, I agree that 30g is almost too low. Also, the mounting post for the Topre switches seemed challenging from the perspective of creating custom key caps, though we didn't actually try.

As for the openness of the project and there being only one manufacturer, is your concern about availability, control of the IP, or something else?

<comment><USER2> Okay. Interesting response here. There's some points I hadn't considered.

1\. I see your argument here but I also wonder if there are processes that you have not considered. I don't know if you're familiar with ClickClack's keycaps, but that's an artist who does custom shaped keys. I'm 99% positive, as I've done the same process myself, that he sculpts a master, makes a mould and pours resin keycaps. You can make these in huge bulks quickly for cheap this way. Getting the Cherry MX backing is as simple as cutting the stem off a key and gluing it to your top. It makes choices of plastics/resin more difficult (you can't just mix and pour PBT...) but this process is super cheap. Cheaper than 3d printing and cheaper than machining. You can build a vacuum degasser for $50 + an air compressor.

2\. Cherry switches can be spring modded to much lower actuation forces. There are places where you can buy 30g-45g switches, in bulk, and it's probably cheaper than tooling them yourself. I honestly can't imagine using less than 45g and maintaining accuracy, especially on something that's basically close to being a chording keyboard like the Stenotype (but then again, I'm not a steno).

4\. I guess it doesn't matter for your use case because you have to make your own keycaps, but for someone who will be using the switches for something else this is not true. Regular keycaps for ALPS switches are either going to be substantially more expensive or someone trying to dump old/excess stock. I don't even know where you could get ALPS keycaps made in a group buy -- people have tried. The campaign page is advertising advantages that really don't exist outside of your specific use case.

That's really my only gripe. I don't see where there would be a use case outside of your specific project. I know folks sitting on huge bulks of ALPS switches that are sitting doing nothing because usually nobody wants them. Forgive my myopia.

Alps is an interesting choice for your project, especially since you don't have to worry about stabilizers at all.

<comment><USER4> 1\. The problem wasn't in creating the shape we wanted - that's easy with CNC. The problem was creating the cross mounting post for Cherry. The process that ended up working was somewhat as you suggested: we basically used a lathe to remove material from a standard key cap until just the post was left and then we attached the post with a good adhesive to our custom key caps. The problem with this process is that it is very expensive in terms of labor/time and requires a high degree of precision to ensure uniformity. I think I might eventually make a keyboard using Cherry MX switches using this process, but for the current project the goal is to produce at least 100 keyboards while keeping the cost down. We tried for several months to make the Cherry MX Red work, but ended up deciding Matias was the better option in this case.

2\. Modding key switches works well for a single keyboard, but really causes costs to soar if used in production. This wouldn't work for us because one of the main design points of the keyboard we're working on is making it financially accessible to a wide range of people.

4\. This is a fair point. Honestly, I'm not too deep into the mechanical keyboard world beyond this one project, so I don't have a good feeling for other people's use cases. My hope, though, is that people do some really strange things with these switches and start innovating in ways I wouldn't have thought of.

Thanks for all your feedback - it's been really helpful. I haven't yet updated the campaign page to reflect it all, but I will soon.

</comment></comment></comment></comment></comment><comment><USER7> I've owned a Cherry MX Red keyboard for a few years, and while I like the keyboard itself, I wish I had browns. The tactile feedback of a keypress is really needed for error-resistant typing.

<comment><USER8> For me, the tactile feedback is what allows me to not bottom out when typing. I feel like a can allow myself to type more lightly on browns than reds.

</comment></comment><comment><USER9> For $50 you can get a bag of 150 keys. That comes out to $0.33 cents per switch which is really close to their estimated unit price without shipping of $0.30.

<comment><USER2> Because of the low popularity of ALPS keycaps, the cost and MOQ of the caps themselves are significantly higher.

This is the more expensive way to go.

<comment><USER4> Since we're manufacturing the key caps ourselves, it's actually a much cheaper way to go for us.

</comment></comment></comment><comment><USER10> This seems like it might be useful in defending against acoustic side-channel attacks.</comment>


Teaching Programming the Way It Works Outside the Classroom - <AUTHOR> http://cacm.acm.org/magazines/2013/8/166303-teaching-programming-the-way-it-works-outside-the-classroom/fulltext <comment><USER2> My impression at school was they were teaching CS more like math, rather than aiming for anything useful. The professors were looking more for beauty than real world applicability. Nothing is wrong with that goal, but one shouldn't confuse that with practicability. One professor even mentioned that students going to corporate jobs weren't as important as those going to Phd programs.

We had one two semester sequence that involved a real world project of our choice, and that did involve all of the listed steps from the article. And more - we had to do real documentation: requirements, design, test cases, etc.

<comment><USER3> >> My impression at school was they were teaching CS more like math, rather than aiming for anything useful.

Why wouldn't math be useful?

But yes, your professor was an idiot. Just because someone has letters after their name doesn't make them smart.

<comment> w0rd-driven I took that phrasing to mean something like: "CS is taught more in abstract principles like data structures than actual core mechanics for something like PHP"

A former co-worker about lost it when the CEO asked "Does GA Tech teach PHP?" because one doesn't get a CS degree revolving around specific languages and semantics, but abstract concepts that surpass _all languages_.

Having said that, there does need to be at least some portion that teaches on the real world concepts. Things like documentation, requirements gathering, and yes specific language implementations not just whatever they decide to use to propel a class along. I've found a lot of the language-agnostic portions of the CS degree I took part in weren't nearly enough to handle the application of that CS knowledge. I had to get my hands dirty and it had to be quick.

The sad reality is, a lot of kids and people today just don't want to "get their hands dirty" and expect that a degree means they're a Ruby black belt or some shit.

<comment><USER3> >> I took that phrasing to mean something like: "CS is taught more in abstract principles like data structures than actual core mechanics for something like PHP"

And what is not a core mechanic about data structures?

I don't agree that A) the math that is being taught is not a real world concept, and B) that syntax is so difficult once the math is understood that it elevates to the level of needing instruction. If one were to take the approach that syntax were a major differentiator between programming languages, then a 4 year degree program with gen ed requirements is not enough time to teach programming. There are just too many programming languages to be able to cover them all, and there is not enough agreement on programming languages to be able to define a core set.

All of that math is what the core concepts of every programming language are built on. The fact that these things have to execute on deterministic computers guarantees it. Syntax is nothing. Syntax should take a cheat sheet and a project to cruise through to get down. Core concepts of type theory, object orientation, functional programming, hell, even algebra, are all the same, regardless of programming language.

I see programmers all the time who are perfectly capable of satisfying the syntax, as modern compilers are very good about telling them what to do, but who have no idea what they are doing with it. They do things like call "ToString" on string objects, or ParseInt on an object that they've ToString'ed, when that object was itself already an integer.

 _That_ is why software projects fail. There is a fundamental lack of understanding of basic concepts in most programmers. They stuck to this concept that the "math isn't practical" and they code by taking random shots in the dark against the compiler. It's not because they only learned how to write a linked list in C++ and not PHP, it's because they never learned the linked list in the first place.

But, Computer Science departments around the world have been pressured to produce code factory workers who hit certain Human Resources-produced bullet points. It's _because_ of the time taken to study so-called real-world issues of trivial import that sacrifices the fundamentals. And it has been an emphasis on graduation rates that have pressured professors to pass students who have not fully grasped the fundamentals, erroneously certifying them as trained and suitable.

HR doesn't know what makes a good employee, because most of them are pretty bad at their jobs, too. If they were any good at their jobs, they would realize that most of what makes a good employee cannot be quantified on a resume. So instead they stick to the resume bullet point mantra. Industry yells at universities for not making enough students that fit their bullet points, and parents yell at universities for not making their kids fit the hiring company's bullet point. The problem is the bullet points.

</comment></comment></comment></comment><comment><USER4> This is pretty much how my "programming class" goes (it is an junior college intro to microcontrollers course). We usually start with a fresh OS install, Linux, VirtualBox, Windows VM, a bunch of other stuff, lots of hand-holding, step-by-step list. It is sometimes a very annoying disaster. There are always a few do-overs, sometimes from the clever ones, usually though it is the ones who are marking time.

Show them what a file is (look at it with a hex editor). Then work through the first couple chapters of K&R. Some scripted tasks. Try to get them to notice a little bit about what's really going on. Try to get them to understand the work flow (write, compile, test, etc). Show them some common pitfalls with data types, integer division, etc. Then on to "blink" with an Arduino, (working out the bugs of introducing hardware as we go). Work through a few examples, of increasing complexity. Start working on examples with external hardware. Then they propose an individual mini-project. We keep working on Arduino stuff, eventually involving serial comms with the device via Python, or Java (Processing) while coaching them through their mini-project. Also do some, data logging, plotting their data, pushing data out to the web (Pachube/Cosm/Xively).

Several times during the semester, students will be given a task, but not given any direction (at least not at first) on how it is to be done. Some students do exceptionally well. Some "A" students wind up with their first "B" or "C" because the format/structure is completely foreign to them. Others fight tooth and nail against the format, and probably against some of the other things I do that they were not prepared for.

</comment><comment><USER5> I tried to comment on the article but the comment form wasn't working with chrome or firefox, but:

The article is forgetting a couple of things - in the real-world you also have a purpose, a goal for what you are trying to create or a problem you are trying to solve. You also have a wealth of background and tacit knowledge about the constraints and affordances of programming. If you just had students mimic the actions of how programming is done in the real world, they would be doing it without understanding the reason for it.

Another point: none of this is new - there is actually a field of study for education research. Search for example for "problem-based learning" for more information on approaches in education that have students work on real-world, messy problems.

</comment><comment><USER6> We don't really need more 'hack a stack' programmers. Somebody needs to write that code in the first place, and that is the hard, but rewarding work. Teach students how to program, how to reason, how to run experiments (yes, a semester in physics lab or EE lab (I did both)), how to code in assembly, and so on, will take them much further. It's not that hard to google and download a bunch of API's, just tedious. If you don't understand why a one choice might be worse than another, you have no chance. If you understand algorithms, math, design, and so on, you will probably make a pretty good choice even if all you are doing in this specific instance is gluing a bunch of code together.

</comment><comment><USER7> I don't think its a good idea. There's value in doing things from scratch when you are learning. It helps you learn to stay organized.

There's plenty of people who can tweak and cajole code into working. There's a lot fewer people who understand the principles behind software and can manipulate those principles to create what they want, instead of tweaking little bits of code and copy-pasting.

Yes, most of your time in industry will involve working from an existing codebase, and a lot of time will be spent cajoling and tinkering, but if you have experience building semi-large projects from scratch, that isn't hard to pick up. Going the other way, on the other hand, forget about it.

</comment><comment><USER8> This style of programming also goes by the name "code quilting". Part of the difficulty with moving this workflow method into the classroom is that it requires schools to redefine "cheating."

<comment><USER9> Your comment about "cheating" is quite true. More specifically speaking, it's an issue with assessment in terms of confirming that a student has sufficiently demonstrated the skills/knowledge taught by the course.

For a lot of programming courses, the idea is to teach programming skills considered to be representative of various levels of ability. This is usually assessed by presenting a specific problem that requires a particular solution (i.e. program a linked list or implement the observer model). In this way, the course is treated like a math course, which is not a realistic representation of general programming work.

However, what the articles describe is something I think is attempted a fair bit by software engineering courses. The issue is though, in order to make it "fair" on students, they are generally given a problem with a couple of obvious solutions that are not too complex. Within an Australian context, there are several reasons for this:

1\. We only have 12 week semesters, so a project can be approximately 10 weeks long at most. Generally students have one or two weeks to drop/enrol so projects cannot start on week 1.

2\. The idea is for a course to require 10 hours of commitment by a student, with 3 to 4 hours taken up by class time. This leaves about 6 hours of individual work time, so 60 hours in total. For a real full-time programming project, 60 hours is basically 1.5 weeks.

3\. Students are expected to take on 4 courses to represent a normal 40 hour week. Generally, I don't have too many friends that are expected to work on 4 projects simultaneously, it's simply not a good way to manage mentally straining activities like programming. But within a university setting, we have to deal with this reality.

4\. Students are not all the same. If a project is very open ended, it's possible for students to select very simple projects for themselves and learn nothing. On the other hand, a student may attempt what appears to be a simple project, but have been tremendously challenging for them personally.

I have found this disparity occur frequently with some high schools producing students that have experience with a range of programming paradigms and design concepts, while others produce students with no background at all. Those with experience in high school have quite the advantage compared to others when you are talking about the limited level of knowledge expected of undergraduate students.

Another version of this can occur when students are given exemptions for prerequisite courses due to immigration or other graduation timing constraints. On the topic of international students, they can also come from very different cultural backgrounds and upbringings; for example, I have had students that had no idea what a stock market is.

5\. Cheating and fairness. If multiple students take sample code from the same sources, it's much harder for an instructor to argue plagiarism. On the other hand, if we force students to ensure they use different sources, there exists a fairness issue with some sources perhaps offering a better, more complete solution that requires fewer customisations to solve the assignment problem.

6\. Monitoring, mentoring, admin, etc. A project needs to be able to be broken up into 2+ assessments so that an instructor can identify struggling students.

If a student is given a lot of flexibility and choose something like a component based software engineering approach, with most of the time spent on research, and basically implements the wrong solution, they may end up failing the course. Alternatively, they may leave everything to the last minute and turn in rubbish for open ended projects, which require a lot of planning and management.

An instructor generally has to explain why a student has failed if the student chooses to appeal his/her grade; this is where evidence concerning poor understanding and documentation demonstrating attempts to help clarify the assessment is important.

All of the above (and really there are many more subtle issues) mean that projects need to be simple, clearly outlined, and have clear expectations and deadlines. Given that, it's much easier to avoid the whole cheating and fairness problems by constructing an assignment that do not require additional resources, or to force students to create everything from some standard set of libraries/tools.

I think wbillingsley's 100+ person project idea is very good, however, that requires a lot of work on the course planner's part. Within the universities that I have taught, the course planner also coordinates/admins, sets exams, and teaches the course. This leaves very little time for doing anything more than iterative changes to an existing course. It also appears to require relatively competent students, which is not always the case.

</comment></comment><comment><USER10> We've had a course running for a couple of years now that seeks to addresses these issues, as well as the inherently collaborative nature of software engineering.

It's a second year course that in its first two iterations had approximately 70 students working on a common code-base: tinkering, extending, integrating their work, etc. This year we have 170 students. And we're on a path towards opening the course to the world.

(This also means that rather than have students work on small greenfield exercises, they're working on a project that in terms of numbers-of- programmers is possibly larger than some of them will work on in their first post-degree jobs.)

It's a follow-on to a more introductory programming course -- we expect students to come in to our course knowing the basic syntax of the language.

papers for those who might be interested:

Billingsley, W. & Steel, J. 2013. A comparison of two iterations of a software studio course based on continuous integration. ACM conference on Innovation and technology in computer science education (ITICSE). 213-218

Süß, J.G & Billingsley, W. 2012 Using continuous integration of code and content to teach software engineering with limited resources. International Conference on Software Engineering (ICSE). 1175-1184

(I also posted this as a comment on the article itself, so apologies if you see it in two places.)

</comment><comment><USER3> Well, I personally start most of my projects from scratch. To me, there are 4 phases to a project cycle, and the cycle is always repeating:

First, is information collection: I want to know as much about the problem as possible. I'm not even looking at code yet.

Second, is fitting that information together. This could involve code to test theories, or writing documentation to communicate them to others. I'm trying to understand how the constituent parts of the problem fit together. I'm usually working with a subject matter expert on the problem domain, as the subject matter expert on software development. I'm usually going to end up telling the person I'm working with that some aspect of their problem or how they do work--as currently stated--will be difficult to encode as a program, but a small change in business practice would make it simpler.

Third, _we_ come to a decision on how to progress. At this point, we basically have a few proposals for how to proceed, involving some initiatives for writing code and some initiatives for changing business practice. It _has_ to be that way. You can't write code to completely synthesize an organic process. The best human processes will seek to build redundancy into the system. The best computer systems will seek to eliminate redundancy.

And finally, we act on it. We don't second guess our decisions until we're done doing it. We don't add to it, we don't take away from it, because that would all be changing the plan without collecting new information and understanding it in the greater context.

Then we start over from scratch. We always, _always_ need to go back to collecting as much information as possible, which now includes "how well does the current software fit our expectations".

</comment><comment><USER11> When i code like that, it can feel a lot more miserable. It is a process of constantly wrangling and finagling rather than creating. I always wonder if I should have done more from scratch.

<comment><USER3> I feel the same way. There is always that nagging feeling that you missed a corner case, or there are defects in the 3rd party code that you won't have easy access to.</comment></comment>


Feedback me: A file system that can calculate? Thx - <AUTHOR> http://www.solebase.com

<comment><USER2> I hate it when my formulas break when I add new rows to a spreadsheet. If your product can solve it, then it has potential, especially in financial apps and stuff. I'm gettin a beer.</comment>


The Enemy Within: What is Conficker's Botnet For? - <AUTHOR> http://www.theatlantic.com/magazine/archive/2010/06/the-enemy-within/8098/ <comment><USER2> A yield to no man in the gravity and intensity of my fanboyish appreciation for Mark Bowden's writing, but this article is _so_. _bad_. Not just in the details, which, come on it's a lay piece in The Atlantic, but in its warped conclusions.

 _If the right order were given, and all these computers worked together in one concerted effort, a botnet with that much computing power could crack many codes, break into and plunder just about any protected database in the world [...]_

"Just about any protected database". Ow, my brain!

 _It pits the cleverest attackers in the world, the bad guys, against the cleverest defenders in the world, the good guys (who have been dubbed the "Conficker Cabal")._

The best in the world! On _both sides_! My precious brain!

 _It exploited a specific hole, Port 445, in the Microsoft operating systems, a vulnerability that the manufacturer had tried to repair just weeks earlier. Ports are designated "listening" points in a system, designed to transmit and receive particular kinds of data. There are many of them, more than 65,000, because an operating system consists of layer upon layer of functions._

So that's how it got in! There are too many ports!

 _If everyone applied the new patches promptly, Windows would be nigh impregnable._

%y b$&tifu111 br4in ow it burns.

 _Conficker had an answer for that. Instead of using the infected computer's clock, the worm set its schedule by the time on popular corporate home pages, like Yahoo, Google, or Microsoft's own msn.com._

 _"That was interesting," Ligh said. "There was no way we could turn the clock forward on Google's home page._

MAKE IT STOP.

 _"All of this was impressive—but something else stopped researchers cold..."_

No, Mark. Please. Don't go here...

 _So when the new version of Conficker appeared, and its new method of encrypting its communication employed MD-6, Rivest's_ proposal* for SHA-3, the cabal's collective mind was blown.*

 _Needless to say, this is a very arcane game. The entries are comprehensible to very few people. According to Rodney Joffe, "Unless you're a subject-matter expert actively involved in crypto-algorithms, you didn't even know that MD-6 existed. It wasn't like it was put in The New York Times."_

WHY, MARK, WHY! I BUY ALL YOUR BOOKS. MY BUGS! My Bugs! My bugs! my bugs! my b&gz! m&4nc bugs...

The only thing that is good about this piece is the clear-eyed description of how worms infect computers and how hard it is to detect and clean them out. Unfortunately, Bowden wrote those grafs using a Star Trek metaphor, which in a technology piece is the stylistic equivalent of serving mashed potatoes topped with risotto.

The rest is horrible. What's special about Conficker? Probably not that it's especially clever; no, what seems to have thrown everyone for a loop is the fact that while it spreads aggressively, it does little afterwards to piss people off and provoke an immediate response. That's its contribution to the state of the art.

MD-6 is so important that it deserves a subhed? What? The first piece of crypto _every hacker comes into contact with_ is MD5. The trials and tribulations of MD5 are legendary. The MD6 sample code was right there on the Internet. Just like the people who used "reverse-engineered" RC4 in their sniffers in 1995, this is nothing but a vanity feather in the worm author's cap.

What could you do with crypto to impress an analyst skilled in the art?

* You could have taken a well-known strong algorithm and jumbled the constants slightly to create an unpredictable but strong variant.

* You could have implemented an algorithm that was published only in papers and only in diagrams and equations.

* You could invent your own algorithm and have it at least come close to holding its own against the state of the art.

The notion that Conficker is one of the most important things happening in security is very likely not going to stand up to hindsight years from now. The "best and brightest" are _not_ killing themselves figuring out the Conficker problem. That may be a mistake, but the conventional wisdom as I perceive it is that Conficker will eventually blow up to be someone else's very painful operations problem that we read about in The Register and promptly forget about.

<comment><USER3> It's really too bad the technical stuff is weak, because I _love_ these longer pieces about computer security/crypto.

Can anyone suggest similar reads that get the tech right?

</comment></comment><comment><USER4> _It uses an encryption code so sophisticated that only a very few people could have deployed it._

I have a hard time believing that. Sophisticated and effective encryption techniques are well-documented. There are thousands of bored teenagers who could write malware that uses sophisticated encryption. Successfully spreading over the whole Internet while being unobtrusive enough to not be noticed by most victims is, perhaps more impressive.

<comment><USER5> It's layman writing. The worm uses RSA and RC4. SHA1 or MD6 as a hash. Designing these would obviously take a very skilled cryptographer (actually many, many cryptographers). Implementing it just requires a smart programmer who knows a decent amount about cryptography.

<comment><USER6> And deploying it only requires someone who can import a library and follow instructions.

<comment><USER5> Eh, not really. If you were talking about a fully defined cryptographic protocol like SSL I would say you were right, but if you're talking about actual cryptographic implementation I would say that it requires a little more knowledge.

See tptacek's post about "Typing the letter's A-E-S'" into your code and cperciva's many post about improper use of secure cryptography.

</comment></comment></comment></comment><comment><USER7> It sure is hard to keep the general public's attention when there are no dramatic, overt symptoms yet.

Who knows _what_ sort of pain they're going to inflict (or cost they'll exact) once they choose to monetize?

<comment><USER8> Should we assume this is a question of venality? What if it is being controlled by a foreign superpower with no qualms about conducting cyber- intelligence gathering or disruption?

<comment><USER9> If we want to think very bad of the bad guys, it scares me to think to the Joker in "The Dark Knight" and a quote from Alfred: _some people just want to see the whole world burn_.

It's quite extreme and it is questionable that people so smart are looking for something like this, but it often surprise and scares me to what extent humans are able to go.

I surely hope that ultimate disruption is not the plan behind Conficker.

</comment></comment></comment><comment><USER10> Long entertaining article (which I intend to finish), but as usual short on actionable information.

Here's what I would like to have access to:

Input-

1) OS

2) patch level (for simplicity I should be able to input "current")

3) the AV software(s) on my box

Output-

1) known vulnerabilities for this system configuration

2) what could be lurking on the system that hasn't been detected

3) methods of detection for items under (2)

4) remedies (including rebuild your box, in the worst case)

</comment><comment><USER11> if you're curious and want a technical read not filled with BS about how amazingly foreign and magical MD6 must be, just read this or the equivalent from mcaffee or whoever you prefer - [http://tools.cisco.com/security/center/viewAlert.x?alertId=1...](http://tools.cisco.com/security/center/viewAlert.x?alertId=17121)</comment>