Ex-Google Employee Urges Lawmakers to Take on Company - <AUTHOR> https://www.nytimes.com/2018/09/26/technology/google-privacy-china-congress.html <comment><USER2> This "broad pattern of unaccountable decision making", also called permissionless innovation, is the reason why America has a culture of innovation. For those unaware, the United States runs on what I call "Air Bud rules", named for this scene from the children's movie.[0] To summarize, as long as there isn't a rule forbidding you from doing something, you can do it.

While I applaud his personal stance on refusing to work on a censored search engine, any solution that requires foregoing independent corporate decision making would be foolish. For those who have been tasked with building tools that support authoritarian regimes, grow a spine, make your voice heard, and quit if necessary. Don't give me any bullshit excuses for continuing, if you know it's wrong stop supporting it!

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

<comment><USER3> We don't even have to go back very far to find examples of American companies exploiting people to the point of knowingly killing them.[0]

> any solution that requires foregoing independent corporate decision making > would be foolish

Whether you think less regulation or more regulation is better, you can't in good faith advocate for _no_ regulation. Corporations have demonstrated many times over the years that they are profit maximizing algorithms with no regard for human life.

> For those who have been tasked with building tools that support > authoritarian regimes, grow a spine, make your voice heard, and quit if > necessary.

Once again, this makes very little sense in the context of history. Individual people are largely powerless when standing up to large organizations. Corporations do not self regulate and individuals cannot stop them. They are effectively a form of "very slow rogue AI" and the only way we seem to be able to control them, at least for a little while, is with central governments.

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

<comment><USER2> I made no such argument for no regulation. My argument is that we have a set of rules, and we should not interfere with decision making if rules have not been broken. If in response to some exploitation of the rules which you deem as unhealthy to society you may pass new rules to deal with that behavior. You can't just mess with someone because you don't like them.

<comment><USER4> I take issue with the spineless bit. If a corporation is undermining basic human rights that's a problem. You also can't expect exployees to stand up to a corporation because they may need the job desperately. There are certain things a government must do. I'd say protecting human rights is the role of government.

<comment> another-one-off > You also can't expect exployees to stand up to a corporation because they > may need the job desperately.

If an employee thinks their job security is more important than the human rights of the population of China then I personally have no problem with that. This is because we have a lot of evidence about how much the average employee values human rights and anybody who expects great things from them is going to be disappointed, so I don't.

But to say the government must be responsible for the moral aspects is profoundly irresponsible. "Just following orders" got a lot of Nazis hanged at Nuremberg. If an employee does something they have a personal moral responsibility. Maybe don't bring the law in because it is happening in a foreign country, but claiming that moral responsibility doesn't factor in because people like money is not how we want to run our values system.

</comment></comment></comment></comment></comment><comment><USER5> I actually applaud Poulson for leaving Google in protest of Google's Chinese business practices.

Having mentioned that, I think I have to part ways with him when he implies that the correct way to "fix" this is to have the government come in and make these sorts of business decisions _for_ the company. I don't believe in the government obliging businesses to do things. Especially when it looks like this whole thing is Google specific. That's unfair to Google.

What about all the other American companies doing business in China? Do they get to keep doing business because they are politically popular companies but Google is not? Or would this be a government mandate of a broad based American pull out?

Or just forcing Google to let its employees have a say in how it's run? (But again, you gonna force _every_ company? Or just Google?)

Etc etc etc.

Once government gets involved and starts playing favorites, everything gets messed up.

<comment><USER6> > Once government gets involved and starts playing favorites, everything gets > messed up.

OK.

Is it more or less messed up than that a private corporation can and is willing to perform surveillance on foreign citizens on behalf of those citizens' government that would be unacceptable anywhere else?

<comment><USER7> A company complying with the laws of the country it does business in seems fairly uncontroversial to me, even if you may not agree with those laws.

Do you want your companies to be extensions of US foreign policy?

<comment><USER8> Ah right, "following the laws", because discussions of morality can be reduced to whether it "follows the law" or not? No, that's absurd. Google is _objectively_ abetting an authoritarian regime and providing it with extremely useful tools to maintain and strengthen totalitarian control over 1.4 billion people, and this is wrong.

<comment><USER9> Objectively, Google is extending its services to a billion people while maintaining the status quo of censorship. Stopping Google from expanding to China is basically another form of censorship, which is wrong.

<comment><USER10> taking initiative to participate in maintaining a malicious status quo is being malicious. google isn't being coerced here, they're volunteering to help with oppression.

put differently:

what do you call an accountant who sings up to perpetuate the status quo of a criminal enterprise by updating their books?

guilty.

but they were "just extending the services of accounting to a new organization while maintaining the status quo of criminality".

<comment><USER11> US and Canada sell weapons and military equipment to Saudi Arabia. Sufficient moral outrage is hardly bandied about in the case of such deals.

<comment><USER10> actually there is an abundance of moral outrage with regard to these deals. it doesn't make the press. i'll give you one guess why.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> My take in the issue is that Google is being mismanaged. China will not allow a foreign company to compete against its home grown search engines, so why bother? By bowing to Chinese censorship, Google hurts its public image. Google's management should have expected that its employees, who joined Google on the premise of "Do not evil", would leak this to the public. In short, the people at the top of Google look like fools to me.

<comment><USER13> We don't have the whole picture. Chinese might be open to some kind of a deal that could give Google share of the pie for a long time. If Internet really bifurcates and Chinese one spreads across most developing countries, it could pose a risk for Google to be left out of areas with majority of world's population.

<comment><USER14> Eric Schmidt said in a recent interview that the internet is going to split in two with China's version (censorship) v US's version (openness.) So...company behavior is matching that. I think the problem is that I firmly believe that freedom will win out in the long run. Chinese leadership will lose its grip once reality hits its economy, and Google's view is shortsighted in this regard imo. People will remember who helped suppress. A LOT can change in a decade.

<comment><USER15> Will the other tech companies be remembered for never resisting in the first place? IIRC Microsoft and Yahoo we're both like "censorship and tracking? HELL YEAH, where do we sign?" from day one.

<comment><USER14> That's quite different than Google tying search queries to a phone number. Though I also don't agree with censorship in Bing's regard either. Also from my understanding a lot of Bing/Yahoo results aren't "official policy" and the reports of censorship from 2014 have been addressed, a lot having to do with simplified Chinese characters/bad translation. Google even has higher share in China than Bing. Google already operates in China with .cn domain through Hong Kong, the new action is an entirely different posture.

</comment></comment></comment></comment></comment><comment><USER16> Fundamental issue is the expectation that all public companies must keep growing and show profits quarter after quarter, year after year. This is obviously unsustainable.

It is like a treadmill that keeps increasing speed. If you slow down, you are thrown out.

If consecutive quarterly results are not good, CEO is typically thrown out. This pressure forces management to make unnatural decisions that might help short-term, but will hurt long-term. What we are seeing with Google with all of these recent events/decisions is a result of this, IMO.

<comment><USER17> > Fundamental issue is the expectation that all public companies must keep > growing and show profits quarter after quarter, year after year. This is > obviously unsustainable.

Hey, feel free to invest your retirement savings in a company that _doesn 't_ grow profits year after year, I'm sure you'll do great!

<comment><USER18> Not all companies exist solely as an investment vehicle.

<comment><USER19> They are literally government sanctioned investment vehicles. If they don't return profits to their owners, they are non-profits/charities, not corporations.

</comment></comment></comment></comment><comment><USER20> Google has a specific division, Jigsaw, previously Google Ideas, dedicated to advancing the interests of a group more or less synecdochic with the US State Department. They paradropped in a company of engineers to save the signature Obama administration policy proposal, at massive effective subsidy. We have just seen video and documentary evidence of them attempting to rig US elections to their favored result by massive, illegal, in-kind contributions to the Democratic party.

They are as much of a de facto agent of the deep state at this point as Lockheed, and probably more pernicious due to their attempts to cultivate self-reinforcing political power to manipulate policy.

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

[https://wikileaks.org/google-is-not-what-it- seems/](https://wikileaks.org/google-is-not-what-it-seems/)

[https://www.washingtonexaminer.com/news/emails-show- google-e...](https://www.washingtonexaminer.com/news/emails-show-google- executive-discussing-effort-to-encourage-latino-vote-surprised-so-many-voted- for-trump)

<comment><USER21> > We have just seen video and documentary evidence of them attempting to rig > US elections to their favored result by massive, illegal, in-kind > contributions to the Democratic party.

Your Washington examiner article falls short of saying that Google made any kind of illegal contributions. It also falls short of providing evidence that Google tried to rig any elections.

<comment><USER20> When a Google executive describes altering search results to achieve a favored electoral outcome, that qualifies under any reasonable reading as an in-kind (a good or service provided directly, rather than a bundle of cash) campaign contribution. Whether you consider covert attempts to use their market power in search to achieve unrelated political outcomes as "rigging" I guess depends on your viewpoint.

</comment></comment></comment><comment><USER22> A good thing to keep in mind is that there are hundreds of thousands of ex- googlers. The fact that one or more of them holds this belief is virtually assured.

</comment><comment><USER23> Does the New York Times have any conflicts of interest in its coverage of Google and Facebook? I can't recollect anything positive the NYT has written about those two in maybe a decade.

</comment><comment><USER24> Brian Acton or anyone else feeling guilty about their ad-tech wealth: use your winnings to lobby for a federal privacy bill that is as strong and comprehensive as GDPR (and other EU privacy regulations).

The industry is moving to enact something that maintains the status quo [1].

[1] [https://www.nytimes.com/2018/08/26/technology/tech- industry-...](https://www.nytimes.com/2018/08/26/technology/tech-industry- federal-privacy-law.html)

<comment><USER25> Why the sudden concern over tech companies mining our habits?

Advertisers have been doing it for years, using government funded research in military propaganda that made it's way into universities after WW2 as marketing and journalism programs.

This rhetoric is something like "Kill this particular witch!" without questioning whether the belief we hold on how the world works is rational.

EDIT: let me re-state:

Why is the public conversation around data mining limited to west coast tech?

Media be capitalizing on the public mistrust in the air after the election, and government is leaning in.

Why should any big brand or corporate master be enabled to collect and analyze my behavior in an effort to get me to buy more of their widgets without my explicit approval?

<comment><USER26> I think after the last election, the moral panic du jour was aimed at tech companies. Russian hackers on Facebook, clickbait...it's all lead to this. And the dialog is manufactured to make Google a villain.

I'm not sure who the bigger villain is here: Google, or whoever wants to cut them down.

<comment><USER27> More specifically, the political pundits latched onto a thing that has been around for over a decade. Tor has been around since 2006, and mixmaster is even older than that.

The anti-adtech privacy movement is not new, but the interest coming from mainstream political talking heads is.

<comment><USER28> The difference is that after the Russian interference thing, politicians realized all of this Internet stuff they didn't understand can cost them re- election.

<comment><USER29> > realized

Or, in a continued fit of misunderstanding, they came to that assumption and are shaping their narrative/attacks around it.

</comment></comment></comment></comment></comment></comment><comment><USER30> last week

>Google hushing employees on Chinese search engine

[https://www.axios.com/google-china-dragonfly-employees- searc...](https://www.axios.com/google-china-dragonfly-employees-search- engine-20da9795-ff79-4fb9-a8c1-f8160b7b8607.html)

<comment><USER31> >The search engine requires users to log in to use its search features and tracks user's locations. It shares user's history with a Chinese partner. All searches would be connected to a personal phone number and user movements, along with the IP address of the device they used, would be recorded.

How is this at all different from the US version?

<comment><USER32> In the US you don't get disappeared for your searches (yet).

<comment><USER31> You kind of do though. [1] The government sends national security letters to tech companies all the time. Interest in certain topics can land you on lists. [2] The US absolutely intercepts anything they can in plain text (and does their best to break the encryption on things that aren't).

1\. [https://www.zdnet.com/article/top-374-keywords-the-u-s- gover...](https://www.zdnet.com/article/top-374-keywords-the-u-s-government- monitors/)

2\. [https://en.wikipedia.org/wiki/XKeyscore](https://en.wikipedia.org/wiki/XKeyscore)

</comment></comment></comment></comment><comment><USER33> Megacorporations are a massive threat to democracy.

If we ever get into a situation where the only companies that exist are megacorps, democracy will cease to exist; not only that but it will be impossible to reform the system in the future. The government will be too weak to regulate companies and people who work at those companies will not be able to protest for change because if they lose their jobs, there will be no alternative jobs for them to survive on.

It will be permanently locked in this dysfunctional state until the end of humanity.

</comment><comment><USER34> Google isn't nice to the little guy innovators ... invite them out to discuss buying ones technology only to bait and switch you and kick you out saying the race is on. Later getting patents for what you met/discussed with them.

I've noted my story before and everyone says that's just how it goes. Ummm that's how it went for Harvey Weinstein and Bill Cosby til it didn't.

Wrong and horrible behavior will eventually catch up to you or any company!

</comment><comment><USER35> Look, if anyone wants to business in China, they would have to comply to the demands of government there, that's no question. It's common sense and nobody can avoid this. I think the question we need to ask is what motivates Google to return to this market? Does the costs and benefits analysis report show enough evidences to justify this action?

<comment><USER36> The question, rather, is whether we should _change_ the costs and benefits such that they will have to rethink this decision.

</comment></comment><comment> Lin-Den The issue I see is that the United States government consistently attacks internet freedom, much more so than Google has historically. The decision to make a censored search engine may not be the best one, but it's definitely a lot better than what Alphabet would get up to if it were under the control of Congress.

</comment><comment><USER37> I don't get BigCo attitude; They say Consumer doesn't know what is good and not good for them. So we will decide.

</comment><comment><USER38> Isn't this out side the jurisdiction of US courts? This product isn't operating in the US, so I'd be surprised if the court would do anything...

To clarify I'm not a google Stan, I don't even use gmail, it's just that Google isn't the only American business to launch in China, why is google being singled out here?

<comment><USER39> To answer your question without expressing an opinion myself: the people protesting Google's decision would probably cite the company's longstanding "Don't Be Evil" marketing, and the good publicity the company has sought in the past for refusing to do exactly what they are now doing.

Also, as far as timing, Google is being focused on now because they've just announced a major new product. Lots of other companies have been criticized in the past for complicity with China's brutal dictatorship.

</comment></comment><comment><USER40> Detractors have probably infiltrated the company

</comment><comment><USER41> He should have just published the source code.

</comment><comment><USER42> "Hey US lawmaker, Google is trying to follow Chinese laws when operating in China, we need to stop this!"

</comment><comment><USER43> For these who support google's business in China, I want to ask there FxxKers, how about apply the services for you? There's an old saying in China: "What you do not want done to yourself, do not do to others."

</comment><comment><USER44> > _"It should be pretty obvious that they should be asked what changed between > 2010 and today," said Cynthia Wong, a senior researcher at Human Rights > Watch._

What changed is Android, Google is losing a lot more than search, I've heard Android phones don't even work properly there. Apple phones work though.

<comment><USER45> And Apple phones work because they gave iCloud keys to Chinese government (and became a trillion dollar company as a reward).</comment></comment>


You Don't Necessarily Need Data for Data Science - <AUTHOR> https://medium.com/capital-one-tech/why-you-dont-necessarily-need-data-for-data-science-48d7bf503074 <comment><USER2> I am finding it very hard to avoid saying 'Bullshit data for bullshit analysis', but I do get it, from a security perspective it's not a bad idea.</comment>


Want to quit your job by text? This app can help - <AUTHOR> http://news.cnet.com/8301-17852_3-57616811-71/want-to-quit-your-job-by-text-this-app-can-help/ <comment> at-fates-hands "In an age when nearly everything can be done from the convenience of your smartphone, we thought job resignation was an area that needed some attention."

CAN be done, but sometimes SHOULD NOT be done. This is a prime example of something that really shouldn't be done over a text.

Am I to infer the young kids nowadays like to burn their collective employment bridges more often than simply putting in their two week notice? The best advice I ever got from my Dad was never, ever, ever, ever, burn a bridge with an employer, you never know when you might need that job, co-worker, manager to help you out down the road.

<comment><USER2> "Always burn your bridges behind you. You never know who might be trying to follow." -Enabran Tain(DS9)

Cardassian quotes aside, this is obviously a joke. I would be really surprised if someone actually used it to quit a job. Except maybe something like McDonald's

</comment></comment><comment><USER3> This is the sort of thing professionals do in person.

More confusing to me, I don't even see the problem this app solves. If I wanted to quit without a face-to-face meeting I'd just send an email, text, chat, DM, PM, or letter. If I needed help phrasing it, I'd use Google. Am I missing something here?

<comment><USER4> Yes, it's a stunt to get some PR for a job listing website.

</comment></comment><comment><USER5> Are people really taking this seriously? The sample output addresses the putative manager as Lucifer...

Or am I missing something?

<comment><USER6> I'm amazed at how many people here seem to think this is even remotely serious.

</comment></comment><comment><USER7> Or, you can act like a grown up, go and see your boss to tell him that you quit. Also works for breakup.

</comment><comment><USER8> Perhaps this is a clever attempt to apply natural selection to the employment pool: Anyone who uses this has voluntarily flagged themselves as someone you probably _shouldn 't_ ever consider re-hiring or recommending.

</comment><comment> vezzy-fnord _People aren 't used to staring each other in the face anymore._

Solution: Make an app for that.

</comment><comment><USER9> I propose they rename it to Bridge Burner ... Much more appropriate given the after effects :p

</comment><comment><USER10> In lew of work, the "quit-your-job" app toys around with the idea of quitting without actually following through. Great idea for corporate zombies.

</comment><comment><USER11> By what method would you then ask for a reference? Probably begging, or asking with an expensive bottle of alcohol. This seems to needlessly burn bridges.

<comment><USER12> Well, if you want to make absolutely sure you'll be blacklisted in whatever you're doing and don't want to commit a felony, this is definitely an option.

</comment></comment><comment><USER13> I recommend reading the article before commenting. It is clearly a joke app-- the sample text leaves no doubt about that.</comment>


Simpli.fi Raises over $2MM - <AUTHOR> http://launchdfw.com/news/simpli-fi-raises-over-2mm/ <comment><USER2> Two million million dollars is a lot of money.

<comment><USER3> That's a pretty common abbreviation. Bankers use M for thousand and MM for million.</comment></comment>


Ask HN: Where to learn more about CSS? - <AUTHOR>

I have been working in the web for about 10 years both doing front end and back end development. My focus over the past few years has been back end work. So while CSS has exploded, I have been working on the logic that drives websites and have missed a bunch of what makes websites look so nice. <comment><USER2> Basics: <http://www.codecademy.com/tracks/web> & <http://learn.shayhowe.com/html-css/> (Though I am sure you already knew that, but still...)

Advanced: <http://cssdeck.com/codecasts> & <http://thecodeplayer.com/> (Do awesome stuff with CSS3!)

Finally: <http://learn.shayhowe.com/advanced-html-css/>

</comment><comment><USER3> I am also kinda in the same boat as you. One thing i have figured out is to just try and play around. When you want to do something with CSS just search for it and try it out. If you have source code control or your own local dev environment, you can play around and it will help to learn new things.

</comment><comment><AUTHOR> Crud. My second paragraph didn't post. Adding it below:

I am open to any suggestions for resources to get caught back up with CSS. Books, websites, mailing lists, whatever. Please provide your favorite CSS resources.

</comment><comment><USER4> <http://css-tricks.com/> covers pretty much everything: from beginner/conceptual things, to advanced fancy tricks.

</comment><comment><USER5> Just go through Bootstrap and you'll be fine <http://twitter.github.com/bootstrap/></comment>


Ask HN: Would you pay $5 for a CRUD app? - <AUTHOR> If so, what stack? If not, why not?
I was thinking about building a Code Generator that built the initial crud pages for a given data model.
And I was thinking I would pay about $5, to save a couple of days worth of work. To get a head start on an MVP. <comment><USER2> It puzzles economists and certainly me that people often behave as if the value of their time is zero. This turns up in mysteries such as why people commute so far, why grandmothers make scarfs out of acrylic instead of wool yarn, etc.

A "couple days of work" could be 3 to 5, U.S. minimum wage is $7.25 an hour, and if you work 8 hours a day that is $174 to $290.

A real wage for a developer in the U.S. is probably 10x that. A company I worked for charged $2000-$3000 for a simple interactive web site, probably more like $20,000 for a serious application with a fair number of screens.

I rarely do "free trials" of products, particularly when I am working for somebody else. Giving a product a fair evaluation could be week or more of work, which won't pay off unless I buy the product. If I am working for someone else I have to not only convince myself but may also need to convince my boss, convince my boss's boss, ...

Similiarly I see all kinds of hand-wringing from people who are afraid that they are going to exceed the free tier on AWS and get a bill for $2.

I am a big fan of low code, I think the world still needs a web-based version of the old Microsoft Access. Why that doesn't exist is beyond me, but I will say (1) Firebase isn't it, and (2) whenever somebody does make one they seem to quickly get bought and shut down.

<comment><USER3> > behave as if the value of their time is zero

I see this in my home kitchen and it has come to drive me batty. I think it's related to general innumeracy. Maybe the fear of numbering thing.

In the kitchen I've seen people saving butter wrappers to use the little scraps of butter on them to grease up pots and pans for cooking. That couldn't be a tenth of a cents worth of butter. Same with sauces and leaving only the last little table spoon in them. Why not use it all up and get a new one? I think it's also an inherited behavior back from Depression era days. Shrug.

<comment><USER4> It's also about reflecting your own values, such as remembering when you lived in less abundant times, not consuming more environmental or financial resources than you really need to, and demonstrating those values to other family members in the hope they are remembered.

Personally I stopped working 10 years ago and have plenty of financial resources, but I still take the train or bus as much as possible, or if I must drive, walk a block to avoid paying for parking. It has nothing to do with money and everything to do with living the values that I care about and trying to communicate those to our kids.

</comment></comment></comment><comment><USER5> I would pay $5 for a CRUD app. I would pay a great deal more than $5 for a CRUD app that meets all of my specifications. I would pay a considerable amount less for tooling to help me create a web app to my specifications. In order for me to pay it would have to be better than existing tools like Django and ROR which are free.

</comment><comment><USER6> I'll plug [Prefab]([https://github.com/neighborhoods/Prefab](https://github.com/neighborhoods/Prefab)), the project I've been working on for the last year and a half that was recently open sourced. We use it to generate most of our HTTP backend services and it's been really successful. It makes it extremely easy to generate actors and the related machinery to expose them over HTTP.

<comment><USER7> I generally dislike when people jump in with their own projects or products, but your project is relevant, useful, in PHP which I use, well documented, and the OP hasn't actually posted a project (Show HN) but is asking for a market (Ask HN).

Thanks and good job!

<comment><USER6> Thanks! If you try it out, let me know what you think and feel free to let me know if you run into any problems.

</comment></comment></comment><comment><USER8> I've already seen github repos with a free MEAN stack template. I've seen various others over time that have been posted here.

Maybe create it, and make it free.. but also give people the ability to donate to you because your time is valuable.

<comment><AUTHOR> Do you have those repos?

<comment><USER8> I have a list somewhere.. but I just found these:

[https://github.com/wlepinski/generator- meanstack](https://github.com/wlepinski/generator-meanstack) [https://github.com/agonxgashi/MEAN- template](https://github.com/agonxgashi/MEAN-template) [https://github.com/DaniVSainz/MEAN-stack-authentication- Temp...](https://github.com/DaniVSainz/MEAN-stack-authentication-Template) [https://github.com/manishrw/mean-starter- website](https://github.com/manishrw/mean-starter-website)

Angular: [https://github.com/angulartemplates](https://github.com/angulartemplates)

</comment></comment></comment><comment><USER9> I would think that for the code to be useful, the developer will know how to use the framework it was generated in and thus is easily able to quickly generate the same thing as you are (be it with ROR scaffold or using a boilerplate in Django, Node.js, etc).

</comment><comment><USER10> Kind of like Ruby on Rails?

</comment><comment><USER11> There are quite a few no-code / low-code companies that are trying to do this. I like the idea in general, but haven't found one that actually works for the products I try to build

</comment><comment><USER12> The badly named grocery crud for php is pretty decent. I would target something similar on another stack for devs who won't touch php.</comment>


How to Design Programs - <AUTHOR> http://www.htdp.org/ <comment><USER2> Second Edition is online and follows Racket's versioning:

[http://www.ccs.neu.edu/home/matthias/HtDP2e/](http://www.ccs.neu.edu/home/matthias/HtDP2e/)

I have a hard copy of the first edition. The square format single column layout reduces readability. But the methodology seems to be based on sound engineering principals.

I'd probably recommend Kiczales's _Systematic Program Design_ MOOC as a good extension of the HtDP program methodology. [https://www.edx.org/course/how- code-systematic-program-desig...](https://www.edx.org/course/how-code- systematic-program-design-part-ubcx-spd1x)

</comment><comment><USER3> How does it compare to SICP? It's hard not to see the similarities : an introductory MIT book about programming written in Lisp.

<comment><AUTHOR> > How does it compare to SICP?

Both are intended for beginners, but HTDP probably a bit easier as compared to SICP.</comment></comment>


The View from the Front Seat of the Google Self-Driving Car, Chapter 2 - <AUTHOR> https://medium.com/@chris_urmson/the-view-from-the-front-seat-of-the-google-self-driving-car-chapter-2-8d5e2990101b <comment><USER2> These cars could be so freeing for so many segments of society. I agree with everyone that reducing the commuting annoyance would be awesome - imagine not having to worry about parking your car in the city anymore. You drive in on a highway at 90mph, get dropped off and then the car goes home or onto another task or gets shared out. Amazing. I'm even more excited about getting the elderly out of their homes safely, and getting drunk people off the road altogether.

It's easy to play out the use cases and see why Uber is investing in this area and why it feels threatened by this technology advance.

<comment><USER3> I think Uber sees self-driving cars much more as an opportunity than a threat - unless they are afraid they won't be able to buy self-driving cars from anyone but Google, and Google won't sell to them. But I'm sure there will be quite a few suppliers by the time they need the cars [1].

[1] - [https://www.yahoo.com/autos/s/uber-ceo-tesla-sell-half- milli...](https://www.yahoo.com/autos/s/uber-ceo-tesla-sell-half-million- autonomous-electric-110000053.html)

<comment><USER2> Short term I agree with you, but longer term I'm not sure. Short term, they lower costs massively.

Longer term, a majority of people have self-driving cars. If I live in the suburbs, I either keep it all to myself, or loan it out when I'm not using it. If I live in the city, then I likely don't own a car - but instead call on a car as I need to. These probably come from both individual lending their car, and from groups/companies that are setup as a service.

Either way, these cars are likely to be network agnostic - meaning they'll lend themselves out to Uber, Lyft - whoever. So while costs will go down, it could lead to a big margin compression. Meanwhile, the arms seller (Google, whoever) makes money on each car being sold.

Makes sense, therefore, for Uber to continue to focus on capturing the market - their installed consumer base (and their brand) is their strongest asset going forward.

<comment><USER4> I think people focus too much on Uber replacing consumer transportation. I think they're going to branch out into transport of goods and eat into the trucking industry in a major way, in addition to whatever they do with consumer transportation. A lot of the commoditization concerns that you'd have with transportation don't apply as much to transport.

</comment></comment></comment></comment><comment><USER5> One of my good friends is a veteran of the USMC, who served two tours in Afghanistan. While deployed, he sustained injuries to his hip and brain. As a result, his mobility is impaired, and he has lost half of his field of vision.

Until his town succumbed to the taxi lobby and banned ridesharing, he was able to run errands, get groceries, and take care of himself. Now, he is counting down the days in captivity, waiting until he can once again be self-sufficient thanks to autonomous vehicles. Keep up the great work, Google et al, and let's hope that day comes soon :)

</comment><comment><USER6> The experiment's been going on for 6 years, so when can I have one?

I absolutely hate driving - a complete waste of 30+ minutes of my day, every day, and stressful too dealing with all the idiots on the road.

<comment><USER7> This is precisely why I take public transit. I know it's not an option for everybody, but if it's available in your area, take another look. I'd much rather spend 45 minutes reading a book than 20 minutes staring at someone's bumper and hoping I don't get killed. And I do.

</comment></comment><comment><USER8> Chapter 1: [https://news.ycombinator.com/item?id=9526602](https://news.ycombinator.com/item?id=9526602) / [https://medium.com/backchannel/the-view-from-the-front- seat-...](https://medium.com/backchannel/the-view-from-the-front-seat-of-the- google-self-driving-car-46fc9f3e6088)

tl;dr: most accidents with Google cars were caused by distracted human drivers. Drive safely! Watch the road!

</comment><comment><USER9> It seems like the vast majority of collisions with google's AVs are rear-end collisions at intersections. I'm surprised that they haven't put any technology in place to attempt to avoid, or at least reduce the impact of these collisions. Clearly, predicting the trajectory of other vehicles should be second nature for the AVs.

In the video, there appears to be a shoulder with plenty of escape room.

Is there any attempt made to un-distract the driver? Flashing brake lights? Horn?

The June report from Google ([http://www.google.com/selfdrivingcar/reports/](http://www.google.com/selfdrivingcar/reports/)) contains some interesting language:

"The Google AV had been stopped for about 11 seconds at the time of the impact"

The cynic in me thinks they are intentionally avoiding technology to address these types of accidents so that they can unequivocally prove the the AV had no fault (i.e., had been stopped for x seconds).

<comment><USER10> _Is there any attempt made to un-distract the driver? Flashing brake lights? Horn?_

This sounds too similar to victim blaming. In my opinion any action taken by someone who is about to be hit from behind in a low speed crash is likely to make the problem worse. I don't think that is the time to have a quick jerky motion into the shoulder of the road. Even honking the horn could distract or panic another driver that then causes a crash.

To me the solution is to eliminate distracted driving.

<comment><USER11> There's a middle ground here where the car sees it's about to be rear-ended and softens the hold on the brakes just enough to convert some of the impact energy to forward motion.

It knows the distance to the car in front and has a good idea of the rear car's speed. The only real variable is the weight of the approaching car but a pessimistic estimate could leave more margin to avoid touching the car in front.

<comment><USER12> That's the total opposite of what the car should do if it knows it's going to be rear ended. It should lock the brakes and tension the seat belts.

<comment><USER13> It depends on how fast the incoming car is travelling. If you are about to be rear ended by someone traveling 60 miles an hour (happens sometimes in rural areas where people don't pay attention and are traveling highway speeds on narrow two lane roads), then it would actually be safer to accelerate the car to 30mph and crash into the person in front of you so that it is a 30mph impact to front and 30mph impact to rear rather than a massive 60mph impact to the rear of the car.

<comment><USER12> You're demonstrating perfectly the urgent need for self-driving cars.

</comment></comment></comment></comment></comment></comment><comment><USER14> It's interesting to see Google's display of the situation.[1] Some of that has to be guessing by the software. They don't have an aerial view of the situation; that's reconstructed from their LIDAR scanner. That view is subject to occlusion by other vehicles. Their scanner is high enough that they can see over most small cars, but they can't see their far side. They show a map of all the vehicles in the intersection as if they had all that info, but if there's a truck or an SUV blocking their view, they can't see through it.

I'd like to see the video (they have cameras) that goes with the LIDAR reconstruction.

The CMU/Cadillac/Uber self-driving effort doesn't have a LIDAR on a tower, so they don't have as much information. They haven't been reporting accident data, which would be interesting.

[1] [https://www.youtube.com/watch?v=WtLp2f-vM14](https://www.youtube.com/watch?v=WtLp2f-vM14)

<comment><USER15> TED Talk explaining how the car sees: [https://www.youtube.com/watch?v=tiwVMrTLUWg](https://www.youtube.com/watch?v=tiwVMrTLUWg)

</comment></comment><comment><USER16> > National crashes-per-miles-driven rates are currently calculated on police- > reported crashes.

This made me curious; wouldn't it make more sense to get that kind of data from crashes reported to insurance companies? At least here in Italy, most minor-but-with-small-damages crashes are reported to insurance companies, but not to the police.

<comment><USER17> On my case in France (countryside, don't know about large cities), most small damages are not even reported at all since both driver are fearing that the insurance would increase their monthly fee so people are giving cash to each other, it's quite common.

<comment><USER18> Very much the same in the UK as well. Most folk will try to avoid going through insurance. I'd rather be out of pocket for a few hundred £ than pay extra on insurance for the next few years.

<comment><USER19> Not reporting a crash to your insurance company is a bad idea - especially if you do it with the intention of reducing your insurance bill.

It means you are currently underinsured and maybe committing fraud.

<comment><USER20> Could you please provide legislation for that? I would not believe, that you would commit fraud when not reporting an accident and paying for repair yourself. At least not in Germany, where I am from.

<comment><USER19> [http://www.which.co.uk/consumer-rights/problem/ive-been- in-a...](http://www.which.co.uk/consumer-rights/problem/ive-been-in-a-car- accident-do-i-have-to-claim-on-my-insurance)

It's part of almost every insurer's terms and conditions.

They use your driving history to set your premiums. Thus they want to know every accident you've been in because that affects how much they charge you - it affects how risky you are.

If you know you've had an accident, and they ask you to report all accidents, and you do not report an accident with the intent to keep your premiums down you've possibly committed fraud.

<comment><USER21> I have absolutely never heard of such a thing in the US and I've been driving for a long time. I mean, people get little dings and whatnot in parking lots or wherever all the time--which they may or may not do something about at some point. I've never heard of sending a letter to the insurance company in the absence of a claim. I'm not saying there isn't some fine print in some contracts but it's just not something I've ever heard of someone doing.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> a quick question. heres the situation I am in a self driving car driving full speed on the highway, a little girl crosses the highway (highly unprobable but still possible) what will my car do? maintain high speed and kill her? or try to avoid her knowing that any attemps to avoid collision at this speed would likely injure me if not kill me? then how the car would react if it is a deer? then how the car will be 100% sure its a deer?

this is where self driving cars are limited and shoudlnt decide for us.

<comment><USER23> I trust a highly trained algorithm to make better and faster decision than a human driver. The algorithm is even aware of all the cars around it and their speed and can decide to take evasive action with a way better chance of success than I ever could.

<comment><USER15> It should be a three tier decision. First, preserve the life in the vehicle. Second, preserve life outside of the vehicle. Third, minimize property damage.

Deer vs little girl does not really matter, that is just an emotional ploy.

<comment><USER23> I'd hope the algorithm was designed to crash the car instead of running over a pedestrian. A pedestrian has little chance to survive getting run over compared to a passenger in a car with a seatbelt, airbags, crumple zones, etc.. to protect him.

</comment></comment></comment></comment><comment><USER24> I wonder how many of these driver errors are due to the assumption that the self-driven car will behave just like a human driven one?

It wouldn't take much — an unnecessary hesitation, a slow pull away or (on the other end of the spectrum) super-human reactions to cause me to rear-end someone.

Most of my near-collision experiences have been at a junction where I've judged a situation to be safe to pull into the road for both myself and the car in front, and I start to manoeuvre while doing my one last check into the oncoming traffic to verify its clear. My assumption is that the car in front will do the same but occasionally they don't and I have to stop suddenly to avoid collision. Every time I feel surprised and embarrassed. Why didn't I check? Truth is the other 400 times we all behaved as expected.

My point being, if the cars are still being limited in their speeds and are (as sometimes reported) a little ponderous in the middle of a manoeuvre maybe it is their behaviour that is causing some of these 'driver' errors.

<comment><USER19> > It wouldn't take much — an unnecessary hesitation, a slow pull away or (on > the other end of the spectrum) super-human reactions to cause me to rear-end > someone.

If you rear end someone it is almost always[1] your fault, and in the examples you give it's definitely your fault.

I'm a little bit surprised that you describe this as the fault of the Google cars.

[1] ALMOST

<comment><USER21> As I understand it, from the perspective of an insurance company, rear-ending is basically always your fault no matter what the extenuating circumstances are. I couldn't stop on glare ice a number of years back (brakes basically did zero) and eventually kissed the bumper of a car I was following a good 100 ft. behind that had skidded and eventually came to a stop in the middle of the road. No damage but I mentioned this to a friend who worked at an insurance company and he said I'd have been considered at fault if a claim had been necessary.</comment></comment></comment>


UX Lessons from Game Design - <AUTHOR> http://blogs.msdn.com/msmossyblog/archive/2008/10/24/ux-lessons-from-game-design.aspx

<comment><USER2> That ignores the context, especially the mood of the user. In a game, you can use the joking/whining/playful messages, the user after all wants to play games and is probably in a playful mood. In the OS UI, that would be a big no, as the tone of the dialog could conflict with the mood of the user, over which you have no control. This could further aggravate the user, who is just trying to get something done.

</comment><comment><USER3> Funny. I'd love to see an emo version of Vista. Or maybe not :P

<comment><USER4> God, the current version manages to inflict damage on itself with ease, not to mention all the "fatal" errors. If this isn't an emo operating system, I don't know what is.</comment></comment>


A porn site ranked first in Google Scholar - <AUTHOR> http://www.skimnote.com/a-porn-site-ranked-first-in-google-scholar/

<comment><USER2> How does Google Scholar work? Is there some algorithm guessing whether some site contains scientific papers or is there some manually kept list of sources? Or some other way?

(By the way, if your employer makes a fuss because of search results for a innocent search term your employer is the problem, not missing NSFW warnings.)

<comment><USER3> I was just wondering about how Google Scholar works the other day. It does seem like they can't just have a manual list of sources, because in many cases, it picks up papers from the websites of their authors, not just from large sources like the ACM or the NIPS proceedings or whatever. But even if you are able to pick out research papers when you crawl the whole web, and get author/title/citation information out of them, how do you rank them? In particular, they have citation links between papers -- but presumably any paper can only cite to older papers, so papers form a DAG, where it seems like PageRank shouldn't really work (because the most 'authoritative' papers would end up being old ones).

<comment><USER4> PageRank already has some regularization (essentially epsilon of outgoing links to everything). Also, papers don't form a DAG because people frequently forward-cite or cross-cite (because authors and their friends often have relevant work in various states of preparation/review).

</comment></comment></comment><comment><USER5> At least the journal doesn't require a subscription.

</comment><comment><USER6> Seriously, who cares? So it's not what you're looking for... move on.

</comment><comment><USER7> Is it any good?

<comment><USER8> I'd say it's lacking in originality and doesn't contribute anything particularly new to the field. I doubt it will attract many citations. No wonder they couldn't get it published in a decent journal.

(Narrowly avoided: a "seminal contribution" pun)

<comment><USER6> Winner!

</comment></comment></comment><comment><USER9> Some peeps just need to be taught...</comment>


YouTube Acquires Next New Networks, Introduces 'YouTube Next' Training Squad - <AUTHOR> http://techcrunch.com/2011/03/07/youtube-acquires-next-new-networks-introduces-youtube-next-training-squad/

<comment><USER2> I dont know the technical issues behind youtube, but I can say, subjectively, that the service as it currently stands sucks from a streaming perspective.

It is constantly buffering/pausing even when all other content, pages and connections work fine.

Anyone with information on why youtube is always so slow care to comment?

I stream daily from netflix, full screen and HQ - so I dont know why Youtube is just so bad by comparison.</comment>


Removing The Model-View-Controller Straitjacket  - <AUTHOR> http://www.pointy-stick.com/blog/2008/11/30/removing-model-view-controller-straitjacket/ <comment><USER2> Great article - because the MVC has a place, but not as the only way to make robust, easy to code and recode, web applications. MVC is not the same thing as a framework either - and because Rails,Cake, or Django chooses an implementation strategy, the "design pattern" origins of MVC get lost. Agile gets thrown in there, and it's messy definitions time. At least MVC being tossed around doesn't offend me as much as the "Enterprise" and "OOP" Java bureaucrat's rabidness.

At least with electrical engineering there are blueprints and "parts". UML does't let me work the way I think (although, when I have enough time, I don't mind it). Can anyone recommend something better than wireframing, IA, and psuedo code for code design? I think that's what's required when you need to pacify those afraid of venturing beyond MVC.

<comment><USER3> _Can anyone recommend something better than wireframing, IA, and psuedo code for code design?_

1\. A whiteboard.

2\. Code.

</comment></comment><comment><USER4> I'm glad Malcolm wrote this because I was starting to think that I was the only person who thought that the term MVC was not well understood and differed from the original meaning.

When it comes to most people's use of the term, MVC means little more than separating business logic from display logic, plus an ad hoc definition of controller.</comment>


A call for source code CSS - <AUTHOR> http://www.twobraids.com/2013/05/a-call-for-source-code-css.html

<comment><USER2> It sounds like an editor that works in abstract syntax trees and writes out screen (styled) and disk (pep 8) representations.

<comment><USER3> Yup. And there are editors that work along those lines.

I like the idea but I don't think it goes far enough.

One comment about the thing with the 80 character limit. I would say that it is less about people's minds working differently than it is about having different belief systems.

For example, there are a lot of people that grew up learning the belief that long lines are bad programming practice. And that's how they see the world.

Often what happens is that technologies evolve but our beliefs do not. This is one example: it used to be very hard to manage editing code with long lines, simply because editors did not have scroll bars. In that case, it was bad practice.

However, modern editors have scroll bars.

Now, on to something a little more controversial: it is a near-universal belief that programming must be authored in a textual language, otherwise it isn't programming, or cannot be effective.

I believe that this is another belief that has become outdated. In fact, I believe that source code is the number one thing holding back software development.

Source code is not a structured data format. It is a textual format where the presentation and data and together. HTML and CSS separate the presentation (CSS) from the structure data (HTML).

I actually believe that building web pages and web applications by manually coding HTML and CSS, even though that is what I do since everyone does it and it is practical given current tools and belief systems, is very stupid and based on outdated beliefs.

Back when we started programming, we didn't used to have graphical user interfaces at all. Therefore, editing programs as text was our only option.

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

<http://lambda-the-ultimate.org/node/3033>

</comment></comment><comment><USER4> That is a good idea! One difference from CSS though is that code presentation rules should be reversible. E.g. when you author a Python code with more than 79 characters in line, your environment should seamlessly convert it to PEP-8 compliant source before checking it into the repository.</comment>


'Juice Jacking' Criminals Use Public USB Chargers to Steal Data - <AUTHOR> http://da.co.la.ca.us/community/fraud-alerts/juice-jacking-criminals-use-public-usb-chargers-steal-data <comment><USER3> Somewhat more specific info on Wikipedia[1]. Easy prevention is a "USB Condom", a USB cable with the data lines blocked[2][3].

Edit: those devices seem to be only for USB 2 type A connections. Anyone know of other format "condoms" eg mini-A or type 3?

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

[2] [https://www.usbcondom.org/](https://www.usbcondom.org/)

[3] [http://syncstop.com/](http://syncstop.com/)

<comment><USER4> My solution is a usb- chargable backup battery.

<comment><USER3> That's good. Plug in the battery at the station, "here, jack this." Plug your phone into the output jack of the battery.

<comment><USER5> They usually say not to charge the battery and draw from it at the same time. They never say why.

<comment><USER6> So, get two batteries, and charge one while using the other to charge. Plus, you then have a charged backup battery...

</comment></comment></comment></comment></comment><comment><USER7> I don't get how this works. When my phone connects to USB data it always asks me if I want to talk to that machine.

Does it emulate a keyboard or something like that?

<comment><USER8> Android didn't always work like that. A few years ago it used to allow access to internal storage as soon as you unlocked the phone so if you ever used the phone while it was charging you would be exploited.

With how horrible phone makers are at updating things I would not be surprised if there was a significant number of old android versions hanging around.

<comment><USER9> Even so, I don't see how you exactly you go from internal storage to loading malware or exfiltrating passwords. Exposing internal storage doesn't let you access the isolated app storage where private app data and passwords would be stored, only common areas like downloads and media.

Lacking any technical details, this article reads like one of those scary chain forwards.

<comment><USER10> When I still used Android, lots of apps would put all sorts of data on the "SD card" storage. This could've included credentials.

</comment></comment></comment></comment><comment><USER11> Unfortunately there's no information as to the specifics, which in this case would possibly make a huge difference.

Amusingly, the video starts with the same exact music that I use to put my kids to sleep at night. It's used in one of the more popular sleep music videos on YouTube. I just thought this was pretty funny. Ideally a municipality would arrange for some music standards and source something that's not also usable by a random video publisher like that...

<comment><USER12> "Ideally a municipality would arrange for some music standards and source something that's not also usable by a random video publisher like that..."

I think you vastly overestimate the amount of thought that goes into things like this. Also, I don't think such level of detail is a good use of (finite) resources.

</comment></comment><comment><USER13> This is fucking stupid.

Please give one example on planet Earth where this has happened.

If you can't do this, please name how it would be done.

IE what devices it would work on and what data you would take? Specific, what versions of Android does it work on?

Not a generic I'll take all your "banking data" magic BS, is it actually possible to access my banking data? Where is it stored and can your thing access it?

If you need to open up the public device in the airport and install your thing, please say this.

Since you could also put a small IED in there, it might be tricky. Al Qaeda probably would pay you more than some stolen bank data you can buy off a open web hacker forum.

</comment><comment><USER14> Has anyone looked into data blockers such as "PortaPow" on Amazon.com? If they're a scam that's fine, but I will never forgive myself if they turn out to be loaded with exploits...

Also can anyone comment on how feasible defenses are against outlet power hacking at say a hotel? Is there any tool under $100 available to the masses? $200?

<comment><USER15> If the budget is $100, then bringing a compact mains charger seems easiest. E.g. [https://www.themu.co.uk/collections/collection/products/amer...](https://www.themu.co.uk/collections/collection/products/american- traveller)

<comment><USER16> Not to mention most people are likely to have a drawer full of the things from past phones.

</comment></comment></comment><comment><USER17> Headline just reminded me to disable USB debugging. Though I wonder how many exploits are available for more modern Android phones. Between USB debugging authorising the host, and the "Use USB for charging" option, how much space is left for this? I'll still be attempting to use my own chargers though.

<comment><USER18> > how much space is left for this

Why would a bad actor bother searching for greener pastures?

[https://www.shodan.io/search?query=android+debug+bridge](https://www.shodan.io/search?query=android+debug+bridge)

<comment><USER19> but adb has to be explicitly enabled through developer options hidden in the about phone settings of the device. Even then an explicit trust must be authorized between the adb server and device, via a dialog displayed upon the screen (containing the fingerprint of the server).

Both Android and iOS have protections against this kind of attack, I would be really interested to hear the technical nature of how these work - <USER2> there is some bizarrely widespread 0 day exploit in all these chargers, this attack primarily affects old devices, or this article is primarily bait.

<comment><USER18> Some devices ship with it turned on by default, this was prominent a year ago, it's horrendous and still very real.

[https://www.bleepingcomputer.com/news/security/tens-of- thous...](https://www.bleepingcomputer.com/news/security/tens-of-thousands-of- android-devices-are-exposing-their-debug-port/)

</comment></comment></comment></comment><comment><USER20> Reminds me of the OMG cable [https://techcrunch.com/2019/08/12/iphone- charging-cable-hack...](https://techcrunch.com/2019/08/12/iphone-charging- cable-hack-computer-def-con/)

</comment><comment><USER21> Ask HN: What about cutting data+ and data- lines on a charging cable?

<comment><USER22> If you do you may have a hard time getting 1.8 amps out of the charger. D+- lines are used to negotiate, they're also used to identify various chargers. Apple is a prime example of a unique 'footprint' a charge chip can look at to know it's attached to an Apple switch mode power supply and can draw more than 100mA.

I recently selected a charge chip for a work project that took care of the negotiation, so I can't quite remember the details but it was something I had to pay attention to, and definitely needed to layout the board to use the data lines even though we don't take data in.

<comment><USER21> Do you remember the chip type?

<comment><USER22> max8895. amazing chip. saved us a lot of dev time. only major downside other than cost is you need really good fab for you pcb since it has a tiny footprint and needed to be placed on top of micro vias. It even really confused KiCad since the tolerances are unusual. I wouldn't want to hand solder this chip either...

[https://datasheets.maximintegrated.com/en/ds/MAX8895V-MAX889...](https://datasheets.maximintegrated.com/en/ds/MAX8895V-MAX8895Y.pdf)

</comment></comment></comment></comment><comment><USER23> why don't phones implement a "charge-only mode"

<comment><USER24> My bog standard two year old sony's android says "allow data connection?" when the phone is plugged into something that has a data channel. I'm assuming it's essentially in "charge only mode" until I tap "allow".

<comment><USER25> I would assume so. But is it actually?

(The ancient Xperia I had did report with a different USB ID and device class when in charge-only mode, but it _did_ obviously communicate over data, at least as far as enumerating its endpoints.)

</comment></comment></comment><comment><USER26> I don't think criminals are actually doing this.

</comment><comment><USER27> I know the Pixel phones prevent this. By default, USB connections are for charging only. The user has to explicitly enable data every time the phone is plugged into a PC

Even if USB debugging is enabled the user has to manually accept the RSA host key for any debug access to occur.

<comment><USER28> Don't get distracted, if they are exploiting an USB vulnerability the "don't allow" feature by default will do nothing.</comment></comment>


US demands social media details from visa applicants - <AUTHOR> https://www.bbc.com/news/world-us-canada-48486672 <comment><AUTHOR> Does that mean people have to hand over their personal information at airport or something?

<comment><USER2> The State Department regulations say people will have to submit social media names and five years' worth of email addresses and phone numbers.

When proposed last year, authorities estimated the proposal would affect 14.7 million people annually.</comment></comment>


Unofficial Google Cardboard Kit - <AUTHOR> http://www.dodocase.com/products/google-cardboard-vr-goggle-toolkit

<comment><AUTHOR> Happy to answer any questions people have on the kit, our product page seems to be hiding the description so here are some more details.

We did the math and it costs over $45 to order all those bits and pieces Google suggested, and that doesn't even include shipping from 4 different vendors.

We are gathering all the pieces you will need to assemble your own Google cardboard VR goggle (minus the smartphone). We precut the cardboard and you should be able to assemble all the pieces in under 5 minutes. Easy Peezy. Get cracking and place your order.

Here is what comes in your kit.. \- Precut cardboard \- Lenses \- Magnet \- Velcro \- Rubberband \- upgrade for optional NFC tag (not included in base kit)

estimated delivery 4-6 weeks

<comment><USER2> As it stands right now, it seems to be highly misleading. If I hadn't read your comment I could be misled to believe that you are selling the 'Official' version for the following reasons:

1- Using Google's own images.

2- Nothing indicating that it isn't official.

It is at worse maliciously misleading, at best misguided. You should correct that.

<comment><AUTHOR> All of that copy in my comment is suppose to be displayed on the product page but Shopify seems to be broken at the moment. We are not trying to mislead anyone.

Google released all the drawings and is encouraging people to build these, we just want to help make that easier.

<comment><USER3> Will it be identical to the one from Google? I don't want to buy it blindly.

</comment></comment></comment></comment><comment><USER4> Your turnaround on this is awesome. Down with people complaining on the delivery time. :)

<comment><AUTHOR> Thank you, I appreciate the support. We are lucky enough to have our own factory here in San Francisco so can hop on oppurtunities like these quickly, one of the benefits of DIY manufacturing.

</comment></comment><comment><USER5> $23 to ship to Australia. Just a bit too steep sorry mate.

<comment><AUTHOR> yeah, sorry about that. international shipping is pretty difficult. Let me look into it and see if we can adjust that.

<comment><AUTHOR> sorry, nothing we can really do about that unless we get a ton of orders from australia and stock a wearhouse there.

<comment><USER5> No problem. If you do get a ton of orders from Australia and set up a warehouse, let me know!

</comment></comment></comment></comment><comment><USER6> Wow, that was really fast. I kind of suspected someone would do this, I even considered doing something similar myself after I heard the announcement. Really clever and nice work guys. Curious to see how these actually fare and if we'll see an enthusiast community is spawned from Google Cardboard and the community itself works to improve the insanely simple and awesome concept.

</comment><comment><USER7> I had heard rumors that regular use of Oculus can cure motion sickness that people experience in cars/etc through desensetization. Anyone have any first- hand reports on this question?

If so, I'm tempted to buy a kit like this (from these guys or someone else) and use that to self-medicate.

</comment><comment><USER8> Placed my order, can't wait to try it out. I think what you guys are doing is great, I can see how it would take a bit of time to mass produce. Besides, you save money and don't need to go to ebay and spend $100 on official ones. Keep rocking it gents!

</comment><comment><USER9> can you sell just the lenses without the rest of the setup for a lower cost/faster ship time? Many people (including myself) want to build their own, but are having a massive amount of trouble finding the lenses as the original set google linked to sold out almost immediately. Also, what are the specifications of the lenses you use? Thanks

</comment><comment><USER10> Kudos on impressive turnaround time.

Being in UK, I will not order. Hopefully somebody will make those here.

</comment><comment><USER11> so why do we need that? there are a lot of origami examples, but this one from google, and you all start to bustle.

<comment><USER4> I'm too lazy^H^H^H^Hbusy and I don't want to be sourcing the lenses, NFC tag, etc. This is great for me.

</comment></comment><comment><USER12> Are the folds going to be pressed in?

</comment><comment><USER13> Wow that was quick.</comment>


Choosing an API framework for Django - <AUTHOR> http://pydanny.com/choosing-an-api-framework-for-django.html

<comment><USER2> > I don't want to say anything negative, but let's face it: django-piston is > dead.

Typical "I don't want to be rude or anything..." bullshit. Django Piston is not a dead project. It is stable and not buggy, which may explain why there is not a flurry of activity ... but even then, the project has a dozen commits in the past six weeks.

Django ROA depends on Piston. Bitbucket is using Piston. Piston is not going anywhere.

\---

Edit: A commenter on the blog voiced a similar opinion.

> Jon Morton:

> How is django-piston dead? it seems big websites like bitbucket are actively > using it and it has had several recent commits: > <https://bitbucket.org/jespern/..>.

>> pydanny:

>> Show me docs and test coverage improvements and I'll reconsider.

So, it seems we assess a project's liveliness by code coverage and thorough documentation. Sounds like the author is wrong and is grasping for other reasons to not like Piston. Of course, the fool's too lazy to find the docs (right there on the project page) at [https://bitbucket.org/jespern/django- piston/wiki/Documentati...](https://bitbucket.org/jespern/django- piston/wiki/Documentation) , or to see the many tests for the code at [https://bitbucket.org/jespern/django- piston/src/7c90898072ce...](https://bitbucket.org/jespern/django- piston/src/7c90898072ce/tests/test_project/apps/testapp/tests.py)

In short, don't listen to the author. People like him are the reason we'll have three more web service libraries targeting Django within a year.

<comment><USER3> I'm curious where you saw that Bitbucket is using Piston. I'd be really interested to hear where and how extensively.

<comment><USER4> Given that Piston was developed in-house at Bitbucket, it's hardly surprising.

<comment><USER3> Thanks for dropping that knowledge. I didn't realize :)

<comment><USER4> No worries, sorry if I came across as a bit dickish

</comment></comment></comment></comment></comment><comment><USER5> There is a mention of `json.dumps` being too naive to be used in an API, and there's good reason for that. If you want a more advanced JSON serializer for Django, here's what I use on NewsBlur.

From [https://github.com/samuelclay/NewsBlur/blob/master/utils/jso...](https://github.com/samuelclay/NewsBlur/blob/master/utils/json_functions.py):

        def json_encode(data, *args, **kwargs):
            """
            The main issues with django's default json serializer is that properties that
            had been added to an object dynamically are being ignored (and it also has
            problems with some models).
            """

            def _any(data):
                ret = None
                # Opps, we used to check if it is of type list, but that fails
                # i.e. in the case of django.newforms.utils.ErrorList, which extends
                # the type "list". Oh man, that was a dumb mistake!
                if hasattr(data, 'to_json'):
                    ret = data.to_json()
                elif isinstance(data, list):
                    ret = _list(data)
                # Same as for lists above.
                elif isinstance(data, dict):
                    ret = _dict(data)
                elif isinstance(data, Decimal):
                    # json.dumps() cant handle Decimal
                    ret = str(data)
                elif isinstance(data, models.query.QuerySet):
                    # Actually its the same as a list ...
                    ret = _list(data)
                elif isinstance(data, models.Model):
                    ret = _model(data)
                # here we need to encode the string as unicode (otherwise we get utf-16 in the json-response)
                elif isinstance(data, basestring):
                    ret = unicode(data)
                # see http://code.djangoproject.com/ticket/5868
                elif isinstance(data, Promise):
                    ret = force_unicode(data)
                elif isinstance(data, datetime.datetime) or isinstance(data, datetime.date):
                    ret = str(data)
                else:
                    ret = data
                return ret

            def _model(data):
                ret = {}
                # If we only have a model, we only want to encode the fields.
                for f in data._meta.fields:
                    ret[f.attname] = _any(getattr(data, f.attname))
                # And additionally encode arbitrary properties that had been added.
                fields = dir(data.__class__) + ret.keys()
                add_ons = [k for k in dir(data) if k not in fields]
                for k in add_ons:
                    ret[k] = _any(getattr(data, k))
                return ret

            def _list(data):
                ret = []
                for v in data:
                    ret.append(_any(v))
                return ret

            def _dict(data):
                ret = {}
                for k,v in data.items():
                    ret[str(k)] = _any(v)
                return ret

            ret = _any(data)
            return json.dumps(ret)

You can get the imports from the link above, but the point is that you want to normalize any data structures into something that `json.dumps` can handle easily. Things like datetimes, models, and querysets.

A trick that I use is to give each of my models a `Model.to_json()` method, which looks something like this:

        def to_json(self):
            return {
                'date': self.date,
                'category': self.category,
                'title': self.title,
                'content': self.content,
                'with_user_id': self.with_user_id,
                'feed_id': self.feed_id,
                'content_id': self.content_id,
            }

</comment><comment><USER6> I used django-tastypie to create our restful API at work. It turned into a "round peg square hole" situation. In over half of my end points I had to over ride the default behaviour. This goes right down to how URL are generated. I spent a lot of time reading code.

So while it is very powerful, I probably won't be using it again for a large project.

<comment><USER7> This is exactly my experience. When we were writing the first version of the API for MobileWorks I chose django-tastypie. Within a few months we had overridden most of the default behavior and a lot of my time was spent studying the code-base of tasypie (which is fantastic BTW).

When it was time to write a new version, I decided to start from a clean slate and write it ourselves from grounds-up. We don't have some of the functionality that tasty-pie provided us out of the box but the maintenance and new features are extremely fast to write.

<comment><USER6> We are about to do the exact same thing. Tastypie was a good decision to begin with, but as our project evolves it becomes unrealistic.

</comment></comment></comment><comment><USER8> I decided to use rest-framework after using tastypie for some time. Primarily because it seemed like less code and resources could be nested pretty easily, which is strongly adviced agains in tastypie.

Well, i must say that tastypie is just more mature, reliable, documented and support-friendly.

</comment><comment><USER9> One of the comments on the original post complains about extra boilerplate with CBVs using django-rest-framework. I'll admit that I was concerned about this as well, but after working with it for a while, I have to say that mixins are a very natural pattern for API writing. You can string together a bunch of them to get auth, pagination, etc., in a very clean way.

<comment><AUTHOR> I like the django-rest-framework CBV design, finding them much more elegant (and documented) than Django's own CBVs.

</comment></comment><comment><USER10> Honest question - Why do you need API framework for Django? I've created APIs for couple of Django products and never felt a need to use any framework. I felt Django's MVC framework is robust for creating any APIs. May be using some API framework will save some lines of code. But the joy of creating your own stuff can beat that anytime.

</comment><comment><USER11> Using tastypie for two projects currently, it really is a great framework .. for REST. But if you need a more RPCish style API (say, like what Twitter has), it really is forcing a square peg into round hole and can get really ugly.

</comment><comment><USER12> I just started working with Tastypie, and am really enjoying it. I'm in the process of writing an adapter to DynamoDB, and it's coming along very smoothly.

</comment><comment><USER13> django-tastypie is nice and new, but it does not yet handle file uploads natively [1] which is why I went with django-piston for my project.

There is plans to support file uploads, but this was a deal breaker for my API.

[1] <https://github.com/toastdriven/django-tastypie/issues/42>

</comment><comment><USER14> Also perhaps, is to choose Tastypie if you want API Key Authentication, and Django-Rest-Framework if you want oAuth.

That's the reason I chose Tastypie over everything else, but I really like the user-facing interface to Django-Rest better than I do Tastypie. Not enough to forego our preferred authentication-schema mind you, but I wouldn't hate having Class-based APIs either, but I haven't found that to be limiting in Tastypie either.

Also, there's a Tastypie implementation for Mongo floating around out there somewhere as well.

<comment><AUTHOR> django-rest-framework doesn't come with OAuth out of the box, django-tastypie does. ;-)

<comment><USER14> Gah, you're right -- I was thinking of something altogether different.

Thanks for the correction.</comment></comment></comment>