Ask HN: Moving to Mountain View CA – Places to go to hang with fellow geeks? - <AUTHOR> I'm looking to see where geeks hang out in mountain view? Coffee shops, co-working spaces, etc.<p>Suggestions? <comment><USER2> Not to be flip, but literally anywhere. Mountain View is a pretty small place with just one main street - Castro St. You'll see people coding on laptops at every cafe and restaurant around there.

It's the same way in Palo Alto around University Ave and to a lesser extent, Menlo Park around Santa Cruz Ave. Your biggest problem with be the inability to escape the "tech world" since nearly everyone you meet will work in tech.

But if you want to meet up with someone to code or chat, the suggestions for both RedRock Coffee (Mountain View) and Philz Coffee (Palo Alto) are great.

<comment><USER3> How exactly _do_ you escape the tech world when you want? Just visiting SV for a couple days was borderline oppressive to me! Everyone has an idea for an app, nearly every bar or restaurant patron was discussing something technical. How do you overcome the lack of professional diversity, or am I just hypersensitive to it? Chicago is admittedly not all that diverse (we have lawyers, accountants, consultants, or tech) but the jump from ~1 profession to >1 profession results in a wildly different experience for me.

<comment><USER4> Not to be flip, but you don't. You just finally get sick of it, and you move away. Even niche interest groups in the bay area are dominated by people who work in tech.

The problem of diversity in the tech industry will not be solved until the industry is forced by its employees to relocate.

<comment><USER5> > Even niche interest groups in the bay area are dominated by people who work > in tech.

I don't think this is true. In San Francisco 12% of the population is tech workers, while the valley is closer to just 30%. I live in Oakland and outside of work encounter almost no one that works in tech.

<comment><USER6> I also agree, living in the east bay. In cities like Hayward, Union City, San Leandro, Castro Valley, you will most likely find that most people you meet locally don't work in tech. I can see the same for San Francisco, but chances are people on HN tend to hang out in neighborhoods like SOMA where it's a lot more tech, than neighborhoods like Sunset where it's not.

<comment><USER4> While I agree that there are better and worse places in the bay area, they mostly self-partition based on the pain of transportation to tech centers. Sure, you can always choose a more painful commute to escape tech, but that's implicit. You can commute from Fresno or Marin, too.

East bay neighborhoods that have "easy" access to SF/Facebook/Google are just as clogged with tech people as anywhere else, modulo the pain of a daily BART commute.

(Also, arguing about exact percentages isn't relevant. It doesn't matter if it's 12% or 30%, if the group overlaps substantially in lifestyle and interests. If I have to change my entire lifestyle to avoid being surrounded by tech bros, I'd rather just move somewhere where I can go out and not be surrounded.)

</comment></comment></comment></comment></comment></comment><comment><USER7> People will say "literally anywhere", and its true that those are the places that geeks hang out (they outnumber non-geeks by 5:1). But finding geeks that are actually open to conversations is harder - there isn't really a place that people hang out where they're open to new people except bars or interest meetups.

<comment><USER8> I've not yet been there despite donating to them but I assumed somewhere like [https://hackerdojo.com/](https://hackerdojo.com/) could fit the bill.

</comment></comment><comment><USER9> You'll see a lot of people say "Red Rock", and there is a reason why. It's very friendly to tech meetings. They have an upstairs with a bunch of power and wifi, and they don't seem to kick anyone out even if they stay for hours.

I've attended multiple meetings there as both a founder and investor. It's kinda funny actually how much of a default meeting place it is.

Also the office for 500 startups is right down the street, so you'll see a bunch of the 500 startups people roaming around.

<comment><USER10> Their espresso is ridiculously bitter. You've been warned.

<comment><USER11> I mean, it's espresso. It's supposed to be bitter.

<comment><USER10> A better term would be _tart._ It's extremely acidic.

</comment></comment></comment></comment><comment><USER12> Isn't this like asking, "I'm going to a Major League Baseball game. Where can I hang out with baseball fans?"

<comment><USER13> Most people who live in Mountain View, and silicon valley in general, aren't tech workers. There are a lot of people working in the services industry, management, finance, marketing, etc or just not working in general (kids spouses or retired persons).

Here is a quora post that illustrates this: in 2013 only 12% of people who lived in SF were actually tech workers.

[https://www.quora.com/What-percentage-of-SF-inhabitants- are-...](https://www.quora.com/What-percentage-of-SF-inhabitants-are-tech- workers-Those-who-commute-from-SF-should-be-included-But-do-not-include-those- who-commute-to-SF-for-work)

</comment></comment><comment><USER14> 1\. Red Rock in downtown Mtn View - great place to work / meetup / chat with fellow geeks. Best thing - great Wifi! 2\. Data St Coffee is also great - though Wifi isn't as good 3\. Mtn View Library is also good - but my experience with Wifi wasn't as great 4\. Hacker Dojo, when it was in Mtn View, is a great place. Now it's moved to Santa Clara

<comment><USER15> "Data St Coffee" with bad Wi-Fi? They had one job

<comment><USER16> Data St. Coffee is, I believe, actually referring to _Dana_ St. Roasting Company. So the bad Wi-Fi is marginally more forgivable.

<comment><USER17> Dana St. is more basic, open, casual, and old-school. Live music here and there (with loud salsa music bleeding over from next door otherwise).

Years ago, they were the first to have WiFi at all in downtown (except perhaps Printers Inc.'s upstairs cafe).

</comment></comment></comment></comment><comment><USER18> Hana Haus in Palo Alto is a great co-working space, and is about a 15 minute drive from MV. Otherwise I really enjoy the Mountain View public library, just make sure to get there early before it gets flooded with engineers and Stanford students. The study environment there is even more intense than my old college library.

<comment><USER19> I live in the east bay, but I have stopped here when visiting my grandparents and it's a nice place.

</comment></comment><comment><USER20> The Bierhaus and Steins are fine establishments but Mountain View is a strange place and I soon left for the City. As an expat, I absolutely recommend the best way to meet people is to go out on a bike ride with a local group (try Alto Velo) nobody cares who you are or what you do, but everyone is pleased to see you. Do well.

</comment><comment><USER21> Check out the meetup.com scene in the South Bay Area; lots of fun events hosted at Google, LinkedIn, Nvidia, various small startups etc close enough to Mountain View. Search for a piece in a tech stack of interest and you'd usually find some hits. Check their recent calendar of past events to gauge how active they are.

<comment><USER17> SVLUG meets at Cavium in San Jose nowadays, although they used to meet at the Symantec cafe space for years.

</comment></comment><comment><USER22> It's pretty incredible how many people rock climb (at Planet Granite in Sunnyvale). People are interested in talking there as well, as opposed to lots of cafes where people are heads down.

Meetup groups for things like Ultimate Frisbee, Spikeball are good too.

</comment><comment><AUTHOR> Thanks for the suggestions!

I curated a list based on the feedback.

\- RedRock Coffee 9x \- Philz Coffee 2x \- Olympus Caffe & Bakery \- Coffeebar \- HackerDojo \- Dana St Coffee \- Coupa Cafe \- Y2E2

I talked to a friend who recently moved to MV, and she told me Red Rock does have poor wifi; too many people using it?

When I move to Mountain View - I'll be sure to post it on Hackernews so I can meet up with some folks.

I love programming and I also enjoy playing bullet chess. :)

</comment><comment><USER23> Try the Hacker Dojo, was in MV, now in Santa Clara. [https://hackerdojo.com/](https://hackerdojo.com/)

</comment><comment><USER17> Another option is Specialty's (the built-in typo always makes me cringe) on Ellis St by 101. It's more of a bakery/cafe. Symantec is down the street. Parking is a problem anytime around lunch. WiFi was a problem for months on end; I haven't tried it lately.

Trivia: when Moffett Field was still a thing, that 101 exit was known as Moffett South Gate.

</comment><comment><USER24> Welcome! RedRock is a nice place to work out of, although it gets busy and hard to get a seat if you turn up after ~10am, but gets quiet again in the afternoon. I also like working (on [https://ipinfo.io](https://ipinfo.io)) from the library, which has tons of desks and great wifi.

</comment><comment><USER25> Anywhere is the truth, if you really want to actually meet people who share interests then go to those sorts of places (cycling events, rock climbing gym, etc).

Red Rock is a great coffee shop, I'm partial to Dana St, there's the hacker dojo, but for me I enjoy the friends I've found outside of the "forced" situations.

</comment><comment><USER26> Afternoon hangout is Red Rock cafe, as many have mentioned. Evening hang out is Steins Beer Garden (usually on the outdoor patio - you'll find a lot of big groups there).

</comment><comment><USER27> I'll be surprised if human's communicate with each other in Silicon Valley?

Do update this thread in few months if you happen to really connect with fellow geeks :)

</comment><comment><USER28> Philz Coffee on Middlefield Rd. is an excellent place to work. I wrote large portions of WebTorrent and StandardJS at that coffee shop.

<comment><USER29> I think that location was also shown in an episode of Silicon Valley.

</comment></comment><comment><USER30> \o/ welcome!

<comment><USER31> \o/

</comment></comment><comment><USER31> Hit me up, we can go for lunch and socialize :P disclaimer: i work in tech

</comment><comment><USER32> Coupa Cafe on Ramona St. in Palo Alto, or the one in Y2E2 at Stanford.

</comment><comment><USER33> Umm.. This new place called anywhere!?</comment>


China launches robotic mission to orbit, land, and drive on Mars - <AUTHOR> https://spaceflightnow.com/2020/07/23/china-launches-robotic-mission-to-orbit-land-and-drive-on-mars/ <comment><USER2> This makes me sad, i would like a democratic country to occupy and set laws on mars not authoritarian.

</comment><comment><USER3> Any parts made with chinesium?</comment>


Mamoru Oshii ruined the Ghost in the Shell franchise - <AUTHOR> https://movietime.guru/how-mamoru-oshii-ruined-the-ghost-in-the-shell-franchise-c8d3671a7ae <comment><USER2> The author here doesn't Get It and prefers the original manga. He thinks the movie should have been a straight translation and is unhappy about it. He likes the idea the recent live-action movie may do to the anime what the anime did the manga. It's a pointless diatribe motivated by pettiness.

<comment><USER3> it's also pretty funny to read after having witnessed the train wreck that was the live-action movie.

'A much larger market will be introduced to the franchise by the 2017 film, and by the same logic, will prefer the even dumber version'

Well, that didn't happen. I guess there IS a limit to how far you can water down a franchise.

Author is more-or-less upset about Oshii being Oshii. Christian symbolism, birds (of course), engineering technicals, and the removal of most sexuality is par for the course.

You can say it truncated the story -- of course it did, it's a movie. I have to agree, but there wasn't any choice. The 95 GiTS movie remains as some of the most beautiful cinematography style artwork in any anime I've ever watched. The realism and atmosphere that's built in to that movie in such a short time (1h 25m) is simply amazing to me.

Many of those great cinematography elements are also in Oshii's Patlabor entries. More manga stories butchered, sure, but I guess my personal reason for liking Oshii's work is an ability to judge it separately from the previous work on which it's based.

That ability still didn't save the newest GiTS live-action movie for me, though. That one was just a bit too far gone.</comment></comment>


High-Res Cutout of a Boeing 747 - <AUTHOR> http://www.flightglobal.com/assets/getasset.aspx?ItemID=32377

<comment><USER2> It never ceases to amaze me how incredible a piece of machinery the 747, or really most any commercial airliner, is. There is a quote that Mark Shuttleworth cites on his blog:

"When once you have tasted flight, you will forever walk the earth with your eyes turned skyward, for there you have been and there you will always long to return." — Leonardo da Vinci.

And I believe this to be true to a certain degree. Every time I see a plane in the sky I take a little time out to admire it. Anyway, this is a very good submission. Thanks for sharing!

<comment><USER3> Unfortunately I can't link it of course, but it's even more amazing when you have access to the CAD data that goes into one of these.

Can't go into too much detail, but we do aerospace/defense work, and these things are marvels of engineering.

Doing Seadragon-style navigation through the entire aircraft is amazing.

Hope that doesn't give away who I work for, or I may be in trouble, since this stuff is still under wraps, no-one else does navigating 120GB models well...yet ;)

</comment></comment><comment><USER4> Very cool. That site has a large number of cutaways, and aviation related images:

<http://www.flightglobal.com/airspace/media/21/default.aspx>

</comment><comment><USER5> It's sort of arbitrary how they decide to label things. They label two sets of ailerons, two sets of flaps, and spoilers, but not the elevators and rudder?

</comment><comment><USER6> What about it?</comment>


Show HN: A dev. oriented, real-time administration and dataviz service for Redis - <AUTHOR> https://redsmin.com

<comment><AUTHOR> Hi, FG from Redsmin here. We publicly launched a little more than one month ago and we will gladly appreciate any feedbacks from you guys!</comment>


Justice Department goes nuclear on Google in search warrant fight - <AUTHOR> https://arstechnica.com/tech-policy/2017/09/justice-department-goes-nuclear-on-google-in-search-warrant-fight/ <comment><USER2> Today, the first thing we have to check when sourcing some saas solution is where the data is stored and weather the company has a US department (I work in a Norwegian bank).

So far, if the data is stored physically in the EU and we get a list of names with access to said data, we have been able to use the service, however if the DoJ wins this case we can never use a US based saas type company again regardless of where the data is stored.

Is this on the agenda at all? I think a ruling like that would be most harmful for the US IT industry.

<comment><USER3> I don't understand how it can possibly be the case that google doesn't have to produce data under a valid court order because, well, they don't feel like it. If the data is in google's possession -- which it is -- then google needs to produce it. I understand this is not necessarily great for google's businesses abroad... but it remains ludicrous for a US corp to tell a US court to piss off.

<comment><USER4> _> but it remains ludicrous for a US corp to tell a US court to piss off._

Assume I build a storage box business with headquarters in the US. After a few years of good business I decide to expand and open a subsidiary in Ireland with a local CEO in charge. I now get an order from a US court saying I need to hand over the contents of box #371 that's sitting in Ireland. I consult my lawyers in Ireland who tell me handing over those contents will be a breach of Irish law and very likely to be prosecuted. As the US based CEO do you think I should go to jail or I should send my Irish CEO to jail?

<comment><USER5> Tech company backend systems aren't independently owned/operated/engineered silos like a storage company's subsidiaries.

Any notion of data having a geographic home, unless specifically created to address a regulatory requirement, is a performance optimization. In any realistic architecture, there are are a million exceptions to "this Irish user's data is stored in Ireland": offsite backups, cross-datacenter requests within backend systems, offline analytical stores, queries, derived tables, etc. The same engineers who build and operate code for the US would build and operate code for Ireland, and in fact the developer platforms would be designed to hide differences between datacenters as much as possible.

If an Irish citizen logs into GMail in the US, they're not going to hit a frontend proxy in Ireland. Their data is going to be processed, and at least cached, by Google servers in the US.

Data having a geographical location is an incoherent concept in the context of the architectures of modern multinational tech companies. That much is obvious from simply reading their engineering blogs and whitepapers.

It would be a coherent legal standard (and one I favor) to say that an EU citizen's data is subject to EU protections regardless of where it's stored. It would also be coherent (and the one we unfortunately seem headed for) to say that anything an American employee can get over any remote access tool, he's required to hand over in response to a valid court order.

But pretending that data has a location is a weird hack, nowhere near as clear cut as your analogy suggests. Can you imagine, arguing in the courtroom over which member of a trans-continental Paxos group was master at the time a warrant was processed?

<comment><USER4> I know the case was a massive simplification on the technical side, that was on purpose. It wasn't a simplification on the jurisdiction side though. Google does have a subsidiary in Ireland and so handing over the EU data does put you in that conundrum as you definitely are subject to Irish law when dealing with the data of Irish users. That you decided to architect your systems so that data is not geographically separate is your own problem.

<comment><USER5> To my understanding, neither US nor EU law give a crap about the data's geography. And rightly so, because data doesn't have geography. EU privacy laws apply to all EU citizens, and US warrants apply to all US persons capable of facilitating them.

The exception for US-owned databases in European datacenters was a bizarre, short-lived loophole created by case law which maps poorly onto the realities of the situations.

I'd say it's the companies which have twisted themselves into knots to take advantage of this loophole, and expected that to be an enduring investment, which are having a problem.

<comment><USER6> > To my understanding, neither US nor EU law give a crap about the data's > geography

How do you think search warrants and national espionage programs are carried out? ... That's where the law comes in: data is just "property". The law gives many craps about property :)

> I'd say it's the companies which have twisted themselves into knots to take > advantage of this loophole, and expected that to be an enduring investment, > which are having a problem.

The business conundrum is whether to cede massive, growing, markets to regional players or to try and straddle multiple legal regimes. That straddling means trying to reconcile different legal requirements, and that's what we're seeing: saying no to party A to respect the demands of party B.

Far from a problem, this is a consequence of expansion and profitability. Far from a "pretzel" this is par for the course for multinationals, and a key area of legal precedence for the current IT behemoths (read: impacts billions in revenue).

There are other corporate solutions to this issue, they're just much less profitable than todays approach from MS, Google, and others.

<comment><USER5> >How do you think search warrants and national espionage programs are carried out?

Based on the citizenship of the targets.

>Far from a "pretzel" this is par for the course for multinationals, and a key area of legal precedence for the current IT behemoths

Well, not anymore if this ruling stands.

<comment><USER6> > To my understanding, neither US nor EU law give a crap about the data's > geography ... [search warrants... are carried out] based on the citizenship > of the targets.

Executing a legal search warrant involves using legally binding power on a legal entity within a specific jurisdiction. If property or entity is outside that jurisdiction then the laws do not apply. US and EU law give very, very, much a crap about their jurisdictions, and where property is (ie where data is located).

<comment><USER5> Whether US jurisdiction applies to data held by US companies outside the US has so far depended on which court you ask, and appears to be leaning towards "yes."

Certainly the citizenship of the entity holding the data matters, and from the GDPR's perspective, the citizenship of the data subject matters, but the "location" of the data itself has (maybe) mattered for about 2 years, and may not anymore after this works its way through the system.

See, for example: [https://arstechnica.com/tech-policy/2017/09/feds-google- stop...](https://arstechnica.com/tech-policy/2017/09/feds-google-stops- challenging-most-us-warrants-for-data-on-overseas-servers/)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> The government's arguments are awful. And I would like to point out that their efforts started when Obama was in office, so the awfulness cuts across party lines.

<comment><USER8> > across party lines

The two wings of the U.S. owners party, as the late Gore Vidal used to put it rather accurately.

<comment><USER9> "There is only one party in the United States, the Property Party … and it has two right wings: Republican and Democrat"

</comment></comment></comment><comment><USER10> > The government, meanwhile, accused Google of fashioning a system that kept > consumer data stored on various servers across the globe—just so it could > defy court orders.

GGG? (Good Guy Google) ? For all the hate that Google gets on HN, it should also get some kudos for trying to protect the users' data.

<comment><USER11> Engineering-wise, data dup and replication is worldwide for guaranteed access times, availability and DR. This particular legal advantage is a bonus of good design :)

<comment><USER6> Point of order: the accusation is not that Google duplicated and replicated data, some of which is outside the country.

Google is being accused of intentionally obfuscating their control of the data explicitly to avoid court-orders (and _not_ technical reasons and common engineering approaches).

... what you're talking about should result in a logical amalgamation: data here AND data there. Google is being _accused_ of going out of their way to create an artificial barriers to the legal system by only having data "NOT here".

</comment></comment></comment><comment><USER12> Why can't anybody work on some kind of blockchained database software? I wonder if it would be doable... The Silicon Valley TV show had this. I've also thought about it, but I'm not sure it would be fast enough and redundancy could be tweaked... so only for backing up data...

I don't know but storing data in a cloud which resides in user computers sound like the perfect solution to those kinds of legal issues. The whole feature is having data that cannot be suppressed or accessed by a private party.

</comment><comment><USER13> There was a desire for globalization, people to people connection and one world fantasy that a whole generation was brought up on that early tech companies leveraged.

But a lot of this is coming from the post 60-70 generation and events have completely discredited the idea of globalism.

Nation states, politics and parochialism is as alive and kicking and far from uniting people our companies are just a way to exercise unilateral power and further national interests.

No county can afford to be dependent on others for food, it's always used against them. It's the same for technology, both software and hardware and this will lead to a more divided splintered world and limit US opportunities but also increase local opportunities.

Until globalism is a social and political reality based on mutual respect and humanity and not exploitation and capitalism this can't change.

</comment><comment><USER14> I hope DOJ realizes that if they win this Google, Microsoft and Amazon will lose a very large chunk of their clients.

</comment><comment><USER15> Just wondering, is it possible to design software where the data is visible to the software but not to a human (the programmer). I could see a system where the private key is generated and stored in RAM and all the data is encrypted but the first update or power event would destroy the data. Just a thought experiment.

<comment><USER16> No, there is always a programmer, a sysadmin or an operator who is in control of a program. Software cannot deploy and maintain themselves.

It's possible to completely cut access to a system, for example you lose the only SSH key. It would continue to run and service users, but it is inoperable on an operational point of view.

<comment><USER15> What about a shared key (like launching a nuke) so long as everyone in the key-list distrusts each other wouldn't something like that work ?

(Totally outside my technical comfort zone here so forgive stupidity!)

</comment></comment></comment><comment><USER17> In this article, the government directly accuses Google of deliberately storing data overseas, so that they don't have to comply with certain court orders.

How is it a crime to store data internationally?

Am I a criminal for storing my photos on a Russian VPS?

Does this enrage you?

Also absolutely insane that one ruling in one Fed District Court is non- binding to the other Courts.

<comment><USER18> You aren't a criminal for storing photos on a Russian VPS but you might be a criminal if you store data related to your money laundering activities on that same server. If the government can meet a reasonable standard for a warrant and prove that there is likely evidence on that server, should they be unable to secure access? What if that data were related to an imminent attack?

I'm in favor of protecting data privacy and hope that the courts side with Google/Microsoft but I don't think that the arguments are as crazy as you describe them. From the government's standpoint, tech companies are enabling criminal's efforts to circumvent the law and endanger citizens.

Offline laws are struggling to keep pace with the internets, nothing new.

<comment><USER19> > If the government ... access? What if that data were related to an imminent > attack?

We can always play the game of upping the consequences but it's always the case that people are willing to throw out the rule of law when there's enough danger and I think that's the standard we should hold.

If there's an imminent attack I think the argument should be that the danger is so great that the police/military must be given an exception to the law, not constantly expanding their power just in case.

<comment><USER20> When "the rule of law" can be changed at whim by one side to the detriment of the citizens, without recourse by the citizens to fix those changes, then "the rule of law" is a farce and has already been thrown out.

Too often, the group who is currently in charge of a government gets a free pass to play havoc with both constitutional interpretations and general reasonableness of the societal rules and laws simply because they are the government. They are not held to any standard of responsibility for the changes they force upon the citizens.

How often do we find that governments create more and more law and regulation solely for the benefit of that government and its "backers"? These laws and regulations end up being to the detriment of the citizens, those for whom, ostensibly, that regulation and law is supposed to protect and benefit.

I should make note that irrespective of any imminent threat, law enforcement and military should always be held to the highest possible standard and never given any exception in following the law, that is the path to them never following the law and becoming a "law" unto themselves.

<comment><USER19> Which is fine, but my hope is that giving the police and military a method to deal with 'national security' threats by seeking exceptions on a case-by-case basis that generally applicable law can be reigned in unburdened from dealing with exceptional cases and add a bit of additional transparency because people would start paying attention when it's invoked.

> never given any exception in following the law

But my point is that in your world the law needs to explicitly handle exceptional cases and remain consistent which I think leads to an unnecessary expansion of power. For example I think there is a strong case that when faced with a credible bomb threat that the police should be able to compel suspects to unlock their phones. But outside of literal states of emergency I would be very uncomfortable with police having that power and I think asking the court to effectively instate temporary martial law to acquire powers like this would actually reduce their power most of the time.

* It means we can write laws without having to worry about exceptional cases that can be used as loopholes.

* It's an incredibly high bar to meet. I think the courts would rightfully be reluctant to grant these powers.

* There would be little chance of these powers setting a precedent since it's by definition since they're suspensions of the law.

* It would be an incredibly loud signal that would be obvious to anyone and everyone if it was being abused.

<comment><USER20> The problem is that this exists already and doesn't work. The fundamental problem is that "suspect" is based on assumption of guilt first and not on assumption of "innocence" first.

We already have enough evidence that the "haystacks" are far too big. Law enforcement should required very highly trained individuals that have extremely high standards of protecting the citizenry without requiring exceptions to obeying the law. Yet, what we see is LEO's of all description who are self-entitled, above the law and are only concerned about what they want, they kill, they steal, they destroy with the courts (in many cases) just giving them a free pass.

Society at large, doesn't trust them and these non-trusted groups are not interested (on the whole) to change to gain that trust back. So, until they change there is no logical reason for giving them any leeway.

In terms of your exceptional cases, there are laws already on the books that handle this. There is no need for additional specialised law to cover these cases.

The problem of "crime prevention" is that this is not an add-on feature. "Crime prevention" is a fundamental feature of a society that is responsible. Yes, there will be instances of a crime happening and you need to deal with this after the event with the appropriate action. Unfortunately, in today's society, many things that are "crimes" only because a section of society think they should be are treated as more serious than things that are really crimes. So copying a film is more punishable than taking a life. Go on from there.

[edits to correct spelling]

</comment></comment></comment></comment></comment></comment><comment><USER21> Nice attempt of a PR stunt. "Google resists to hand hover 22 mail accounts" when in truth they hand over ALL of your email and surf data to the NSA, for later abuse. (willingly or not)

<comment><USER22> Yeah, I don't really understand why DoJ doesn't ask the NSA/PRISM for the data, and lie about its origin (parallel construction).</comment></comment>


Neuroscientists Battle Furiously Over Jennifer Aniston - <AUTHOR> http://www.npr.org/blogs/krulwich/2012/03/30/149685880/neuroscientists-battle-furiously-over-jennifer-aniston

<comment><USER3> Understanding the brain isn't only about collecting data, it is about our basic perception of the world around us, the way we arrange data into coherent structures. There's a fundamental barrier between code and its output - <USER2> brain's structure and our subjective experiences, our genes and our physical traits, DNA structure and cell differentiation - in order to relate one level of data to a different, more subjective, manifestation of it we need to find new ways of conceptualization, which might be impossible to do on purpose, and might be inherently related to the way we live our lives.

</comment><comment><USER4> What a great title. Completely impossible to not click on this and figure out what is going on.

<comment><USER5> Yeah, it's rare to find the kind of headline that's both completely relevant and complete click-bait.

</comment></comment><comment><USER6> Interesting reading only I expected to learn more. It ends up with the simple concept of memories being mapped to cells, which I didn't know, but it also doesn't surprise me - the brain must store the information somehow.

And Jennifer Aniston is just an example of a memory, so nothing special about her.

</comment><comment><USER7> I saw Sebastion Seung speak at my college. I highly recommend his book the "Connectome", or just watch his TED talk.</comment>


FaunaDB 2.5.4 - <AUTHOR> https://jepsen.io/analyses/faunadb-2.5.4 <comment><USER2> So excited to see this; this is the culmination of three months of very hard work by both teams.

FaunaDB 2.5 passed the core linearizability tests for multi-partition transactions immediately. To my knowledge no other distributed system has done this. Zookeeper was the strongest candidate on initial testing in the early days, but it does not offer multiple partitions at all, as discussed in the FaunaDB report. And Jepsen itself was much less comprehensive at the time.

All other issues affecting correctness were fixed in the course of the analysis, and FaunaDB 2.6 is now available with the improvements.

We're happy to answer questions along with @aphyr. Our blog post is here: [https://fauna.com/blog/faunadbs-official-jepsen- results](https://fauna.com/blog/faunadbs-official-jepsen-results)

<comment><USER3> I greatly appreciate any distributed system that subjects itself to jepsen. It shows real commitment to honesty and a genuine desire to improve a db tech.

One thing that seems to fall by the wayside frequently is a followup. Often the problems found are declared solved after a couple point releases in a blog. Elasticsearch did this to my disappointment, and so did Cassandra.

Reading your stuff, it appears you scale with complete replicas of a database on individual nodes. Is that still true?

<comment><USER2> > One thing that seems to fall by the wayside frequently is a followup.

Yeah, I agree. We worked very hard to fix all major issues during the evaluation period so that Kyle could test the fixes himself, and we are a planning a formal followup on the remaining items and some planned improvements as well, once we are ready.

</comment></comment></comment><comment><USER4> I hadn't heard of Fauna before. What's the use case?

Looks like it's not open source, and the pricing isn't very clear if I want to host it locally. The "Download" page requires you to provide your contact info first.

Why should I go through all those hoops?

<comment><USER5> TLDR: FaunaDB is a distributed database that offers multi-partition ACID transactions and is optimized for cloud / multi-cloud deployment. This is a big deal because there aren't many other options with this level of data integrity at worldwide scale.

Use cases include financial services, retail, user identity, game world state, etc. Basically anything you'd put in an operational database.

In addition to the download (free for one node), you can get started with FaunaDB Serverless Cloud for free in moments. It's a fully managed version that is used in production by some major sites and many smaller apps.

<comment><USER4> Sorry, I'm not trying to be snarky, but that sounds like "it's good for everything" and doesn't help me determine when I should look at Fauna and when I shouldn't.

Perhaps alternately - when is Fauna NOT a good choice?

<comment><AUTHOR> A few other points to consider!

FaunaDB is a unique database: its architecture offers linear scalability for transaction throughput (limited, of course, by contention on common records and predicates). That sets it aside from databases which use a single coordinator for all, or just cross-shard, transactions, like Datomic and VoltDB, respectively.

It's also intended for geographic replication, which is a scenario many databases don't try to handle with the same degree of transactional safety-- lots of folks support, say, snapshot isolation or linearizability inside one DC, but between DCs all bets are off.

FaunaDB also does _not_ depend on clocks for safety, which sets it aside from other georeplicated databases that assume clocks are well-synchronized. Theoretically, relying on clocks can make you faster, so those kinds of systems might outperform Fauna--at the potential cost of safety issues when clocks misbehave. In practice, there are lots of factors that affect performance, and it's easy to introduce extra round trips into a protocol which could theoretically be faster. There's a lot of room for optimization! I can't speak very well to performance numbers, because Jepsen isn't designed as a performance benchmark, and its workloads are intentionally pathological, with lots of contention.

One of the things you lose with FaunaDB's architecture is interactive transactions--as in VoltDB, you submit transactions all at once. That means FaunaDB can make some optimizations that interactive session transactions can't do! But it also means you have to fit your transactional logic into FaunaDB's query language. The query language is (IMO) really expressive, but if you needed to do, e.g. a complex string-munging operation inside a transaction to decide what to do, it might not be expressible in a single FaunaDB transaction; you might have to say, read data, make the decision in your application, then execute a second CaS transaction to update state.

FaunaDB's not totally available--it uses unanimous agreement over majority quorums, which means some kinds of crashes or partitions can pause progress. If you're looking for a super low latency CRDT-style database where every node can commit even if totally isolated, it's not the right fit. It _is_ a good fit if you need snapshot isolation to strict serializability, which are strong consistency models!

<comment><USER6> Hey I am curious what does it use in place clocks for safety and quorum? Is there a paper

<comment><AUTHOR> Yes, there IS a paper! Check out Calvin: Fast Distributed Transactions for Partitioned Database Systems. FaunaDB uses Calvin with some changes to allow more types of transactions, and to improve fault tolerance. :)

[http://cs.yale.edu/homes/thomson/publications/calvin- sigmod1...](http://cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf)

</comment></comment></comment></comment></comment></comment><comment><USER7> From the post, FaunaDB initially had several issues, which they've generally resolved. Jepsen is open source, so I'm curious why a database company wouldn't run Jepsen internally, work out as many problems as they can, and then engage aphyr in order to get the official thumbs up. Given how important data integrity is, I would assume that any database company would be running Jepsen (or something equivalent) regularly in-house. If they are doing that, then how is it that aphyr finds so many previously unknown issues? And if they aren't running Jepsen in-house, why not?

<comment><USER2> This is a very good question, and to a substantial degree, this is what we did. We have internal QA systems that overlap Jepsen that catch most issues. We also ran our own Jepsen tests on the core product properties last year, fixed some issues and identified others, and reported the results on our blog.

However, correctness testing is fundamentally adversarial, like security penetration testing. Building a database is not easy, and testing a database is not easy either. It is a separate skill set, as anomalies that lingered for decades in other databases reveal. The engagement with the Jepsen team is explicitly designed to explore the entire product surface area for faults, not to apply Jepsen as it currently stands. Thus, a lot of custom work ensued on both sides to make sure that the database was both properly testable, and properly tested. The result of that work is what you see in the report.

The typical Jepsen report implicates not just implementation bugs, but the entire architecture of the system itself. Jepsen usually identifies anomalies that cannot be prevented even with a perfect implementation, which didn't happen here.

Some vendors restrict their engagement with the Jepsen team to only what they have tested themselves already, although those tests are not always valid. This was not our mindset—we wanted to improve our database by taking advantage of Kyle's expertise, not present a superficially perfect report that failed to actually exercise the potential faults of the system.

<comment><AUTHOR> To follow up on this a little bit--many of my clients do their own Jepsen testing, or have analogous tests using their own testing toolkit. When they engage me, the early part of my work is reviewing their existing tests, looking for problems, and then expanding and elaborating on those tests to find new issues in the DB.

Companies _are_ finding bugs using Jepsen internally, which is great! But when they hire me, I'm usually able to find new behaviors. Some of that is exploring the concurrency and scheduling state space, some of it is reviewing code and looking for places where tests would fail to identify anomalies, some of it is designing new workloads or failure modes, and some is reading the histories and graphs, and using intuition to guide my search. I've been at this for five years now (gosh) and built up a good deal of expertise, and coming at a system with an outsider's perspective, and a different "box of tools", helps me explore the system in a different way.

I do work with my clients to determine what they'd like to focus on, and how much time I can give, but by and large, my clients let me guide the process, and I think the Jepsen analyses I've published are reasonably independent. If there's something I think would be useful to test, and we don't have time or the client isn't interested in exploring it, I note it in the future work section of the writeup.

It's not like clients are saying "please stick ONLY to these tests, we want a positive result." One of the things I love about my job is how much the vendors I work with care about fixing bugs and doing right by their users, and I love that I get to help them with that process. :)

</comment></comment></comment><comment><USER8> Tried Fauna once with their « Cloud » versions.

I was absolutely shocked by the poor performance of the service.

In my case I prototype some simple CRUD queries with NodeJS ,within the same datacenter region.

Insert took well over a second to complete and reading a simple document with one field took also half a second.

I was also unable to make « join » between document because how complex their query language is and their support basically encouraged me not to use « join » but to use « aggregate » like mongo ... Why offer this feature if I can't use it ?

Has it changed since then ? It seems very clear for me that Fauna is entirely focused on Enterprises customers ( after all this is where the money is ) the cloud version seem to be just a gimmick.

<comment><USER2> Hmm, when did you try it? FaunaDB and the cloud service have changed a lot in the last few years, and performance is always improving.

Typical write latencies in Cloud are in the 100ms range because the data is globally replicated. Typical read latencies are the 1ms-10ms range, because global coordination is not required, discounting the additional latency from the client to the closest datacenter.

If you experienced something worse than that recently, maybe there is some other issue going on.

<comment><USER8> I will give it a second shot then.

But just to confirm , is doing « join » something that is still not recommended ? Aggregation is tedious and lead to queries that are difficult to read and maintain.

<comment><USER9> It's definitely recommended, depending on what you're trying to get out of the result. Happy to help out with query patterns on our community slack [https://publicslack.com/slacks/fauna- community/invites/new](https://publicslack.com/slacks/fauna- community/invites/new)

</comment></comment></comment></comment><comment><USER10> Fauna's writeup heavily emphasizes the fact that it doesn't rely on atomic clocks. My understanding is that both AWS and GCP use atomic clock based timekeepers since 2017, so it's not like this is some exotic technology.

The primary advantage described in the Calvin papers is that it's the only distributed transaction protocol that can handle high contention workloads. But Fauna never seems to bring this up. Does that mean that Fauna's current implementation isn't fast under contention?

<comment><USER9> It does handle contention well, we haven't emphasized that point well enough yet. Writes never contend on conflicting reads, and serialized reads never contend at all.

Accurate clocks are not enough... to really get the benefits that Spanner alone enjoys, you have to have a TrueTime equivalent service available, and it has to be rock solid. As well once your system is sensitive to clock skews in the milliseconds, you start having to care about things like the leap-second policies of your clock sources. All in all, the resiliency tradeoffs are a significant downside to relying on clock synchronization, which is why we did not pursue a transaction protocol dependent on it.

<comment><USER10> My understanding is that AWS TimeSync and the current GCP time daemon implementation are the equivalent of TrueTime, is that incorrect?

I guess what I'm saying is it seems like Fauna is using atomic clocks as FUD against Spanner and CockroachDB, when they aren't really a problem. Based on my reading of the Calvin paper, the main advantage of Calvin style systems is higher throughout under contention. But for some reason the Fauna marketing team has chosen not to emphasize that, which makes me suspicious that maybe Fauna hasn't yet realized that advantage in its implementation.

<comment><USER2> If only this were the case! Unfortunately it is not practical to reliably maintain single-digit millisecond clock tolerances in the public cloud as an end user via NTP. The entire software/hardware/network stack has to be tightly controlled, not just the clock source itself. And atomic clocks across multiple cloud providers are not in sync with each other, either.

Thus, databases that rely on clock synchronization recommend configuring tolerance windows of 500ms and above, and cannot reliably detect if those windows have been violated. Additionally, this window affects latency for serializable local reads all the time, even if the clocks actually fine, because there is no way for the system to know.

<comment><USER10> AWS has GPS/atomic clocks in each datacenter that provide an accurate reference time. Recent linux distros use chrony instead of ntpd to synchronize with the reference time, which should introduce only microseconds of error between the reference time and the system clock.

Am I missing something? I am not an expert, I'm just not seeing where the 100s of ms of error is going to enter this system.

(edit: thanks for the great explanation aesipp!)

<comment><USER11> I spent some time looking at TimeSync and my primary takeaway was simply that while it was nice, there's no actual hard numbers on how accurate it really is. I suspect it is very accurate but proving this (to yourself) is going to be challenging if you want to rely on global clocks to avoid consensus without details or insight. You are essentially making a _huge_ bet on performance considerations by trading consensus for clocks, at the expense of a far, far higher bar for correctness.

It seems very likely based on when it was rolled out that it underpins AWS tech like DynamoDB Global Tables -- so it almost certainly powers critical infrastructure. But there's no SLA or reports on what the tolerances you can expect without doing a lot of work on your own. It's more of a nice bonus rather than a "product" they offer you, in that sense, so being wary maybe isn't unwarranted.

IIRC from the original Spanner/TT paper, they had a general error window of ~10ms from the TT daemons, and I would be extremely surprised if Google hasn't pushed that even lower, now, so your job is much more cut out for you than 100s of ms of error. And yes the clocks are in the same DC at a very precise window, but bugs happen through-out the stack, your hypervisor bugs out, systems get misconfigured, whatever, your process will fuzz out, especially as you begin to tighten things. You don't have the QA/testing of Spanner or DynamoDB, basically.

None of this is insurmountable, I think, though. It's just not easy any way you cut it. Even a few people doing the work to test and experiment with this would be very valuable. (It would be even better if AWS would make it a real product with real SLAs/numbers to back it up.) It's just a lot of work no matter what.

The fact that it is limited to AWS (for now) is a bit of a shame. I do hope other cloud providers start thinking about providing precise clocks in their datacenters, as well as accompanying software to go with it.

> Recent linux distros use chrony instead of ntpd to synchronize with the > reference time, which should introduce only microseconds of error between > the reference time and the system clock.

To be fair not everyone uses chrony; a lot of systems still use just ntpd or timesyncd (I spent a lot of time working on fixing time-sync related issues in our Linux distro lately across all our supported daemons, so I can at least say Chrony is a very wonderful choice, accurate, and so very easy to use! I actually found out about it when looking up TimeSync)

<comment><USER12> If you need strongly consistent data, you must write to a global table in only one region, and then clocks don't matter because replication does not create conflicts.

If you can survive lost writes, clock skew just makes a zone win more or less often. Even if the clocks were in perfect sync, you still wouldn't observe causality across regions (changes to different items can replicate out of order).

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> This actually reminds me a lot of how Ethereum transactions are represented as code as well.

Anyone else see a parallel there?

Seems like a good idea, overall. One annoying thing that affects pretty much every database with transactions is that the effort of retrying failed transactions is pushed onto the user, by necessity.

But if your transactions are airtight chunks of code... then the DB can retry them for you and provide a simpler interface to your app code.

<comment><USER14> > One annoying thing that affects pretty much every database with transactions > is that the effort of retrying failed transactions is pushed onto the user, > by necessity. > > But if your transactions are airtight chunks of code... > then the DB can retry them for you and provide a simpler interface to your > app code.

Building an FaunaDB query is more difficult than just writing session-based DB code.

But if you are willing to build FaunaDB queries, it should be strictly easier to write session-based DB code as "airtight" chunks that are easy to retry.

</comment></comment><comment><USER15> Looks great but why did you decide to develop your own query language instead of just using SQL? Even no-sql transactional database solutions started to adopt SQL lately and learning a new language is not really easy for the application developers.

<comment><AUTHOR> Ooh, I'll bite! For one, they're different data models. FaunaDB is a document store, so records are fundamentally trees, whereas SQL is oriented around processing tuples. FaunaDB records have queryable metadata; SQL rows (I think?) don't. You can extend SQL (look at JSON support in Postgres) to deal with arrays and maps as core datatypes, but a special-purpose language can be better suited to the purpose.

Second, FaunaDB's transactional model precludes interactive transactions, whereas SQL transactions are designed for interactive use. Imagine if every transaction was a stored procedure--that's the query structure you'd be looking at. It's certainly possible to do, but stored procedures are sort of an imperative language grafted on to the relational algebra of SQL, and support isn't as standardized as SQL's core.

Third, FaunaDB is a temporal store--you can ask for the state of any query at any point in time, and even mix temporal scopes in the same query expression. SQL doesn't have a first-class temporal model.

In general, using SQL offers advantages, including user familiarity, code reuse, and easier migration from other SQL stores. None of the things FaunaDB does are impossible to express in SQL, and they _have_ been tackled by various DBs' extensions to SQL, but the familiarity+reuse advantages aren't as applicable once you start thinking about the distinct properties of FaunaDB's data model.

</comment></comment><comment><USER16> FaunaDB uses Calvin, a transaction protocol developed by Daniel Abadi. Their blog post explains it nicely, after a bit of a slow start:

[https://fauna.com/blog/consistency-without-clocks-faunadb- tr...](https://fauna.com/blog/consistency-without-clocks-faunadb-transaction- protocol)

But in summary:

1\. A 'transaction' is a self-contained blob of code which reads input, does deterministic logic, and writes output (so not like a traditional RDBMS transaction, where the application opens a transaction and then interleaves its own logic between reads and writes)

2\. When a transaction arrives, the receiving node runs it, and captures the inputs it read, and the outputs it wrote

3\. The transaction, with its captured inputs and outputs, is written to a global stream of transactions - this is the only point of synchronisation between the nodes

4\. Each node reads the global stream, and writes each transaction into its persistent state; to do that, it repeats all the reads that the transaction did, and checks that they match the captured input - if so, the outputs are committed, and it not, the transaction is aborted, and retried

The key idea is that because the process is deterministic, the nodes can write transactions to disk independently without drifting out of sync.

It's pretty neat. And it's exactly what Abadi wrote about a couple of months ago:

[http://dbmsmusings.blogspot.com/2019/01/its-time-to-move- on-...](http://dbmsmusings.blogspot.com/2019/01/its-time-to-move-on-from-two- phase.html)

This is also what VoltDB does (which Abadi worked on, along with Michael Stonebraker):

 _As an operational store, the VoltDB "operations" in question are actually full ACID transactions, with multiple rounds of reads, writes and conditional logic. If the system is going to run transactions to completion, one after another, disk latency isn't the only stall that must be eliminated; it is also necessary to eliminate waiting on the user mid-transaction._

 _That means external transaction control is out – no stopping a transaction in the middle to make a network round-trip to the client for the next action. The team made a decision to move logic server-side and use stored procedures._

[https://www.voltdb.com/product/data-architecture/no-wait- des...](https://www.voltdb.com/product/data-architecture/no-wait-design/)

It's also similar to, although categorically more sophisticated than, the idea of object prevalence, which is now so old and forgotten that i can't find any really good references, but:

 _Clients communicate with the prevalent system by executing transactions, which are implemented by a set of transaction classes. These are examples of the Command design pattern [Gamma 1995]. Transactions are written to a journal when they are executed. If the prevalent system crashes, its state can be recovered by reading the journal and executing the transactions again. [...] Replaying the journal must always give the same result, so transactions must be deterministic. Although clients can have a high degree of concurrency, the prevalent system is single-threaded, and transactions execute to completion._

[https://web.archive.org/web/20170610140344/http://hillside.n...](https://web.archive.org/web/20170610140344/http://hillside.net/sugarloafplop/papers/5.pdf)

</comment><comment><USER17> I recommend first reading bits of the Jepsen report, because the company blog paints quite a different picture.

> We're excited to report that FaunaDB has passed: > Additionally, it offers > the highest possible level of correctness: > In consultation with Kyle, > we've fixed many _known_ issues and bugs

vs.

> However, queries involving indices, temporal queries, or event streams > failed to live up to claimed guarantees. We found 19 issues in FaunaDB[.]

<comment><USER18> Your comment doesnt seem fair at all. The blog post is from after they worked hard to fix everything. The comment from Jepsen that you are quoting is from before any of that fix work was done.

You are comparing two very different situations.

<comment><USER17> I know they worked hard, I appreciate that. But I got a wholly different feeling about the state of things from those two sources.

Also, does everyone run the very latest version of all their software? What use to me is that my vendor has fixed everything in the newest release that I am not using?

Oh and yes, I'm only quoting bits of each (fully knowing you all have links to both and can read it in full), but that's to illustrate the omission from the PR piece. I know that aphyr concludes that work has been done, "By 2.6.0-rc10, Fauna had addressed almost all issues we identified; some minor work around availability and schema changes is still in progress.", but that doesn't change the fact that the blog post doesn't address their past shortcomings.

<comment><USER19> Approach like yours causes companies not to submit to Jepsen testing and try to hide shortcomings. They did submit, they found problems (it is rare for the Jepsen suite not to find any), and they fixed them. This is a fantastic result and definitely one to be proud of.

Additionally, I am not sure if you fully appreciate the complexity of Jepsen and distributed databases in general.

As for me, I've actually been waiting for this result to recommend the use of FaunaDB in a commercial setting.

<comment><USER17> Oh I do appreciate it - I've read Martin Kleppmann's book cover to cover and then watched all of the speeches Kyle Kingsbury has given in the past three years or so. I love this area, my absolute favourite is deterministic testing of FoundationDB [0].

It's _because_ I appreciate this work that I felt the blog post didn't do it justice. And I know Jepsen hardly ever passes (ZooKeeper, I believe, did). And I don't take FaunaDB's hard work for granted.

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

</comment></comment></comment></comment></comment><comment><USER19> I know this is slightly off-topic, but I'd be very interested in Jepsen testing FoundationDB. They claim to have developed the database test-first (starting with simulations), and it would be great to be able to compare the claims to reality using an external (by now becoming an industry standard!) testing tool.

<comment><USER20> This was done a few years ago. See [https://web.archive.org/web/20150325003526/http://blog.found...](https://web.archive.org/web/20150325003526/http://blog.foundationdb.com/call- me-maybe-foundationdb-vs-jepsen).

</comment></comment><comment><USER21> That was pretty great. Does anyone have links to tests of FaunaDB write performance?

<comment><USER2> We are working on new benchmarks.

</comment></comment><comment><USER22> If they added a standard SQL layer I'd be onboard. Interesting project though.

<comment><USER23> They are adding a GraphQL layer in. It's in prototype mode right now, I believe, but we should see it soon.</comment></comment>


Eliezer Yudkowsky asks about automation - <AUTHOR> http://marginalrevolution.com/marginalrevolution/2013/08/eliezer-yudkowsky-asks-about-automation.html

<comment><USER2> I'll cop to being a bit ideological here (mostly in the form of not fully justifying the statements here), but I don't think automation is displacing labor... _yet_. I think _this time_ that the explanation that we grossly increased regulation, taxation and even more so the fear of _future_ taxation, government spending and benefits, and just in general have significantly raised the both the direct cost of hiring someone, and the reasonable expectations of future cost of hiring someone is a sufficient explanation. I find the idea that raising hiring costs can be done without resulting in lowered hiring to be, shall we say, something that can only be rationalized by a brain in "politics" mode, rather than "rational" mode.

(The test to this theory is that if we elect a regime that tones all of this back, and the economy comes roaring back 1980s-style, then this theory was essentially correct. If we do that, and it does _not_ come roaring back, then my theory here is incorrect. I believe in treating politics scientifically, at least, my personal politics. My highest allegiance is ultimately to what works.)

However, lest this sound like a raw ideological rant, I do think it is near inevitable that either by the 2020s or the 2030s at the latest, that this automation displacement will be a real problem. We're looking at a world where trucking is gone as a viable job. Where fast-food will probably be rapidly in the throes of total roboticization. Where what farming jobs are still available will be rapidly falling to yet more sophisticated robots that have human-like dexterity and ability to detect ripeness. Taxis, gone, in favor of heavily capital-based self-driving car rent pools. I think this whole automation argument is premature _today_ , but it's going to be a real problem in a relatively small number of election cycles. How is anyone who is not suitable for college and has no useful artistic talent combined with enough work ethic to use it profitably going to make it? I don't know.

<comment><USER3> >(The test to this theory is that if we elect a regime that tones all of this back, and the economy comes roaring back 1980s-style, then this theory was essentially correct. If we do that, and it does not come roaring back, then my theory here is incorrect. I believe in treating politics scientifically, at least, my personal politics. My highest allegiance is ultimately to what works.)

Except that the economy only "roared back" in the 1980s for a narrow subset of the population. If we're on a labor-replacement curve where rehiring and growth are going to just keep getting less and less egalitarian, then _an increasingly large majority_ of the population has the exact same problem as if jobs were just disappearing outright. The "selectivity" only gives you personally a fear more years to bury your head in the sand before _you 're_ the one standing in the dole queue.

(Of course, on Hacker News we're _even more goddamn privileged_ , since so many of us are programmers doing AI-complete jobs.)

<comment><USER2> We'd kill today for any of the 1980s employment numbers during its height. A generally middle-class lifestyle was still possible on relatively low skill jobs, the idea that unions would price themselves out of work was still laughably absurd, etc etc. I really don't think this attempt to project 2010 political rhetoric that far back in time is practical.

It may not have been entirely egalitarian, but that's a chimera anyhow, so I would consider that a very weak criticism. Failing to achieve impossible goals is not a useful criticism.

</comment></comment></comment><comment><USER4> I recommend reading gwern's response, as it refutes the major question in Eliezer's thesis:

[http://lesswrong.com/lw/hh4/the_robots_ai_and_unemployment_a...](http://lesswrong.com/lw/hh4/the_robots_ai_and_unemployment_antifaq/9fw8)

When someone asks "what's different now?" the answer is sometimes "thresholds, sweet spots, and tipping points." So often these things are overlooked in so many areas of life; things don't always turn out the same way _because the state of things (environment, economy, culture, laws, development, wathever) is not the same._

</comment><comment><USER5> So in other words, the theory is that unemployement due to increased automation is still not a systemic problem - it will just take a number of years (perhaps decades) for the economy to readjust. The somewhat obvious corollary to this theory would be that in the meantime, you want to make sure you're employed in the field which is causing the disruption. This is where the fruits of the increased automation will be seen first.

I can accept this theory. Personally, I believe we'll eventually get to a point where the economy will have to do a dramatic shift in the direction of greater taxation of the richest and more leisure time for most people ("most work is automated"), but we might not be close to that point yet. As of right now, these two outcomes are indistinguishable.

<comment><USER6> I think we'll eventually get to that point as well. We might even need some form of base salary for everyone. But until we get to that point I think we're gonna see a transition to more creative work. Design, art, music, movies, ect. are all things that will probably take the longest for computers to get as good at as humans. Even when computers do get better at creative work, I think there will still be a large market for art created by humans and not some AI.

<comment><USER7> Or do we just need fewer people in the world? Once much is automated, you no longer need a lot of people to sustain the luxurious life styles of the rich (with fewer people: of everybody).

<comment><USER8> "Fewer people in the world" solves a lot of employment problems - we're a dime-a-dozen right now.

</comment></comment></comment></comment><comment> alan-crowe Here is a counter-example to the general validity of the "it was all right in the past" argument.

Think about the iteration x_n+1 = a * x_n * (1 - x_n)

Usually one rushes to examine a > 2, where there are interesting phenomena of bifurcation, period doubling, and chaos. Go back and look at a < 2\. The iteration converges and defines a function f(a).

It is a rather strange function. For 0<a<1 f(a)=0. Then for 1<a<2, f(a)>0\. Imagine if this were some kind of theory of technological unemployment, with the parameter a being the level of technology. Technology grows and grows 0.2, 0.5, 0.9, without any problem of technological unemployment, but there is a threshold at a=1, and boom! at a = 1.1 there is lots of technological unemployment.

The most general argument, that technology didn't lead to unemployment in the past, so it will not do so in future, is at heart a claim that functions like f never arise naturally. But clearly they do!

On the other hand, showing that an argument is invalid doesn't help with working out whether the conclusion is true. Indeed, the counter example also serves as a challenge to believers in technological unemployment. There are toy models in which things are zero for a good while, then a threshold is crossed and things start to happen. Is there any model of technological unemployment with a threshold arising naturally out of the dynamics?

</comment><comment><USER9> Judging by how often this meme gets upvoted on HN, a lot of entrepreneurial- minded people are thinking about it.

My initial reaction, conditioned by years of reading startup news - and it's probably the same reaction many of us have to these articles - is "how would someone make money off this trend".

I'd like to see how someone can make money off reversing this trend of human unemployment.

Meaning to say, can entrepreneurs create profitable businesses by finding ways, or creating markets, for average humans to stay _genuinely_ productive and _feel valuable and independent_? A world where those basic needs aren't being met isn't going to be safe for anyone, except maybe those rich enough to maintain their own (robotic?) security force.

We see a lot of activity in the "train to be a hacker" arena, but as has been mentioned, probably not everyone who wants to make a living is fit for that type of work.

There are comments in this thread about how it's better to be on the side that's winning than the side that's losing, and there's a sense of resignation.

</comment><comment><USER10> The reason automation won't replace a human workforce is because it's far easier to program a person than to program a computer.

There's a cost to automating any task: the time spent designing and testing the system. So if it doesn't make economic sense to automate a task, then employment will occur instead.

People are also conservative by nature, so society tends to shun radical new ideas. That conservatism is why it's usually necessary to start your own company in order to put such ideas into practice: almost no one believes it'll work until it's shown to work, so it's rare for big companies to make huge changes to their established business model.

Most new companies aren't huge successes on the scale of Google because success is distributed according to a power law. There are only a few big winners, and big winners are the only companies that can influence a whole society. Therefore it seems mathematically unlikely that most jobs will disappear to automation because most companies won't automate unless they're economically forced to. So even if some work could theoretically be done by a machine, most companies will choose to employ people right up until competitive pressure forces them to embrace automation or go out of business. And that competitive pressure is necessarily infrequent due to the rate of new and hugely-successful companies being infrequent.

<comment><USER8> > There's a cost to automating any task: the time spent designing and testing > the system.

Good point, but, once something's automated, it's automated (and cheaper) forever.

</comment></comment><comment><USER11> If you want to take a more systematic approach then you could look at the ratios of intellectual to manual labour over time (they're not strict categories, but approximations would do) then you could also make an estimate of the rates at which both kinds of labour are being replaced by automation.

In the limit everything turns into fixed capital, but that wouldn't work unless the machines themselves become independent economic actors and displace humans entirely.</comment>


Untangling the Tale of Ada Lovelace - <AUTHOR> http://blog.stephenwolfram.com/2015/12/untangling-the-tale-of-ada-lovelace/ <comment><USER2> I thought this was a wonderfully written account of Ada and Babbage's role in modern computing. It was delightful to see how someone from Victorian society would express the frustration of debugging:

 _I am in much dismay at having got into so amazing a quagmire & botheration with these Numbers, that I cannot possibly get the thing done today. …. I am now going out on horseback. Tant mieux_

Stephen Wolfram does add a few self-congratulatory remarks, but by and large it didn't really bother me for this article. Perhaps this is all part of some grand scheme to inflate his own work, but I learned a lot of history reading the article that I might not otherwise have by researching it myself. I think this piece was well-written enough to be taken at face value.

<comment><USER3> I think I'll have a New Year's resolution to write quagmire in bug reports where I would have written spaghetti.

Might be harder to get the impact assessment to choose from: crash, error, incorrect function, botheration.

But I'll give it a go.

</comment></comment><comment><USER4> I absolutely love the parallels between this story of Ada and Babbage and modern startup dynamics.

Early on, "Babbage was slightly distracted in 1824 by the prospect of joining a life insurance startup". Later, Ada "proposed to take on the role of CEO, with Babbage becoming CTO", where the CTO in this case had a personality that "pushed others away" and the CEO was a "Steve-Jobs-like figure who would lead the vision of the Analytical Engine".

My favourite excerpt from this piece, though, hits home for us programmers who prefer to automate annoying tasks. I found it hilarious, and will probably use this quote in my next commit message: _Babbage is said to have exclaimed, "I wish to God these tables had been made by steam!"—and began his lifelong effort to mechanize the production of tables._

</comment><comment><USER5> There is an excellent webcomic called The Thrilling Adventures of Lovelace and Babbage, that describes what would have happened if they had successfully completed the Analytical Engine and gone on to fight crime. [http://sydneypadua.com/2dgoggles/](http://sydneypadua.com/2dgoggles/)

More impressive than the comic itself is the amount of research put into it and the footnotes that go along with it. The author often takes inspiration directly from primary sources. For instance, a whole series on Babbage's strange hatred of street musicians.

<comment><USER6> I am a very happy owner of a print copy of the comic, and I recommend it at every opportunity possible:

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

It is an amazing work of art and scholarship. It's so much fun. It is indeed thrilling to imagine Ada as an accomplished horsewoman and lady of adventure, wrangling engines both within and without. In one of the stories, she's something of a parkour artist running through the gears of the difference engine. And it's all full of footnotes to primary sources that explain more about her actual life.

I find it more fun to read than Wolfram's blog post. Certainly more fun than, "in apparent resonance with some of my own work 150 years later, he talks about the relationship between mechanical processes, natural laws and free will."

</comment></comment><comment><USER7> _But back in 1826 Babbage had invented something he called Mechanical Notation—that was intended to provide a symbolic representation for the operation of machinery. [...] Undoubtedly people didn't understand it._

So, Babbage invented VHDL?

</comment><comment><USER8> This is really well written and researched. I can't imagine reading so many century old letters and papers.

The most interesting part of this was getting a glimpse of a totally different society. Little details, like all these notable people that knew each other. And how many of them published in widely different fields. Or their totally different style of speech. Or how Babbage had 8 children, and all but 3 died.

</comment><comment><USER9> Is it okay to mention [https://ideas.lego.com/projects/102740](https://ideas.lego.com/projects/102740) ?

<comment><USER10> The certificate for that site has expired (assuming it's yours).

<comment><USER9> not awesome! will tell them :)

</comment></comment></comment><comment><USER11> [https://www.youtube.com/watch?v=7K5p_tBcrd0&feature=youtu.be...](https://www.youtube.com/watch?v=7K5p_tBcrd0&feature=youtu.be&t=2190)

</comment><comment><USER12> It might be the lack of coffee and food, (I read this before breakfast), but the mental image of a flower describing how it got watered kept popping into my head - the flower can't decide whats more impressive, the watering can containing the water, or the water itself. And in the middle of telling the story, every now and then, the flower says "But look how pretty I am !!"

</comment><comment><USER13> I like history and particularly the history of computing, but given how little respect Wolfram had with regards to the history of mathematical ideas that preceded his own work (and then claiming credit for those ideas), how can I trust any historical analysis he authors?

<comment><USER14> Every Wolframy thread turns into the same discussion about Wolfram himself. Let's not let that happen here.

It's enough that the article is Wolfram's attempt to decide for himself what the story is. Idiosyncrancies aside, he obviously has the mathematical and computational background to understand the material. The main obstacle is putting in the time to understand it, which he did.

The article is replete with historical information, he explains why he concludes what he does, and the result is an order of magnitude more substantive (and technical) than any other Lovelace/Babbage article I recall seeing on HN. I think it can stand on its own. The content is fascinating and is what deserves discussion.

<comment><USER15> I disagree strongly with this. Wolfram himself litters the entire essay with asides in which he compares and contrasts his own place within science history with both Babbage and Lovelace. If Wolfram wanted to write a neutral historical account, he could have, but instead _he_ opened the door for the continued derision of NKS-style pomposity by specifically tailoring this historical account as if it too must serve to underscore his own career efforts, which _he_ chooses to frame as longsuffering attempts to have his work be granted the correct degree of awe.

Until he begins writing things in which he doesn't infuse that sort of ploy to underscore so-called credit he perceives he should be given, I think it's not only fair but highly useful to the community at large for criticisms of any work he produces to center on these aspects.

The only counter-argument I could see would be if the historical content of the article were so story-breaking and important that we should all put up with the pomposity in order to consume the never-before-explained-as-well historical side, but w.r.t. the history of Ada Lovelace and Babbage, that's just not true, and there are many other historical accounts that don't try to coyly shoehorn in comparisons to Wolfram products, Wolfram computational achievements, or credit/recognition that Wolfram believes he deserves.

<comment><USER14> Yes, I know about Wolfram's asides, tics, and shoehorning, as does everyone who reads a thing he wrote. But the Wolfram Derangement Syndrome it provokes in internet forum threads isn't interesting either. It's a mirror image of the thing it is annoyed by.

We're not going to ban what Wolfram writes because (a) he's a good writer, (b) however one evaluates him, Mathematica is significant, and (c) his best pieces—which this is one of—are interesting. That's enough to belong here, and I think we can expect HN to have the discipline to focus on the substantive bits and resist the hypnotic pull of the trollish ones.

<comment><USER15> Who is talking about banning what he writes?</comment></comment></comment></comment></comment>


Ask HN: Which language would you learn this year? - <AUTHOR>

It's well known that Pragmatic Programmer advices to learn a new language every year, which would you learn this year?<p>I'm doubting about scheme/clojure/other-lisp-dialect because it's a really different world, java because there are lots of interesting projects and libraries for java, and smalltalk because it blown my mind when I first saw it. Which would you choose? Why? <comment><USER2> Actually im advising not to learn a new language this year, but act using what you already know to built cool stuff.

I realised sometime last year I was spending more time learning stuff like Django/Rails etc... then building stuff with the excuse "Oh it will make me more productive in the future." Only this never happend.

For the moment I learn new things but only as I need them. Right now I don't need Clojure, so I am not learning it. I am plodding along feeling productive with PHP/Python/MySQL.

To each their own, but I am finding this works better for me at the moment.

<comment><AUTHOR> I feel confident an productive with LAMP and the Open Web/HTML5, and have been building some cool apps with them, mostly as a freelance developer.

I wanna learn something new mostly to stop feeling that I might be missing something cooler than building webapps, and to make me a better programmer (also for webapps) by using other language/community's concepts and best- practicies.

</comment></comment><comment><USER3> Javascript. I mean, learn javascript really well. While I like python much better than js, the prospect of writing the same language for both the server and client side is very appealing.

Also, things like jquery templates, sproutcore, capuccino, and the node.js ecosystem are just starting. In a couple of years, these will likely be good technologies to be an "expert" in. (just like it paid very handsomely to know how to do iphone development in ~08).

</comment><comment><USER4> Although technically it's an API rather than a language, I am going to make an effort to learn WebGL. The Chrome Experiments (<http://www.chromeexperiments.com/webgl/?f=webgl>) are simply mindblowing. I have always had interest in 3D programming and I know JavaScript, so no more excuses.

</comment><comment><USER5> I don't understand your misgivings about lisp. Particularly since you are citing PragProg as your inspiration for this question.

One good reason to learn a language is because it is radically different to the languages you currently know. Exposure to different paradigms will make you a better programmer.

Regarding learning Java, it's not a bad idea. Another good reason to learn a language is because it is used in a specific project you want to contribute to, or because you think that a novel project would best be achieved using it.

If you know one squiggly bracket imperative language, there's little point in learning another one prior-to-need. Anything you can pick up going through dry tutorials, you should be able to pick up on-the-job quickly enough. To achieve mastery, you need to really be using it, so learning it one year for its own sake, without a reasonably complex project, won't get you there.

<comment><AUTHOR> Lisp attracts me just because it seems different to me, and my only experience with functional programming is with Haskell, so trying a loosly typed FP language seems cool. Particularly, I have seen Scheme used in the PL community and some books about that; and Clojure seems to have been gaining popularity lastly, mostly because of it's concurrences features.

I know learning another language of a paradigm I already know is more or less usless, and although you can put Java and Smalltalk in that category, Java has an enormous community, full of different projects, libraries, frameworks, and more, which IMO would teach me a lot. And smalltalk, just for fun :)

About using a language to achieve mastery, I totally agree.

<comment><USER5> I've just reread your original post, and now I understand what you mean by "doubting". When I first read it, I thought you were discounting it because it was so different, now I see that it is one of your options.

<comment><AUTHOR> Sure it is, after reading a little about it in the book The computational beauty of nature ( <http://bit.ly/fEJ8Cn> ), I've been quite attracted by it, and Scheme and Clojure are the dialects which seem more promissing to me.

</comment></comment></comment></comment><comment><USER6> I'm currently working on Haskell. Others on the short list would be Go and Clay (since it sounds nice to have a systems language other than C, and they look interesting), OCaml (to go with Types and Programming Languages), and Objective-C (since I'm primarily on OS X). It probably wouldn't be hard to talk me into working on a Lisp either.

</comment><comment><USER7> What languages do you already know? You should learn a language in a paradigm you're unfamiliar with. i.e., if you've only worked with Ruby, either Haskell or C would be good choices, etc.

I'd definitely suggest learning C, especially if you've only used more abstract languages. It will teach you a lot more about low level details that other languages handle for you, and many popular languages today are implemented over C.

<comment><AUTHOR> I used to be a somewhat good ANSI C programmer, I've never used third party libs, so the applications I have done where fairly limited, but I liked it.

And in the university (CS student) I have to face all the time with C, C++ and asm, so I don't know if it would teach me that much.

</comment></comment><comment><USER8> I am constantly trying to improve my Python and JavaScript. I haven't programmed in C/C++ for a very long time. I think I will learn some Scheme by the time I finish reading SICP and some other texts. I am also learning Common Lisp when I am away from the Internet.

</comment><comment><USER9> Hardware. Seriously. I have been programming since I was 11 (I'm 34 atm). Couple of years ago I came to conclusion that designing your own hardware + software drives much more fun and it's not as difficult as it seems.

</comment><comment><USER10> Well, depends on a few factors:

a) What languages do you currently know b) What do you want to program

These 2 factors are different for everybody, as such, there is no one answer for your question.

<comment><AUTHOR> Most of my expirience is in web development, but I'm interested in many more topics, like PL, game development, "low-level" systems, and else.

Being mostly a web developer, I have spent the last five years developing PHP applications, and I feel very confident with the language and it's environment.

For the last year I've focused more in javascript (although I0ve been fiddle with it much more years) and it's probably my favorite language.

I have some experience with ANSI C, which I really like, but never used it in a production project, also C++, but I don't like it that much.

I wanna learn a new language to gain new experience and discover different concepts and practices from them, and also because I'm a PL enthusiast.

</comment></comment><comment><USER11> Objective C for me.

It's not 'new new' in a sense that I use C# regularly enough, but it is new enough that I can get lost in it without being demoralised (so far..)

</comment><comment><USER12> Spanish and Common Lisp most likely. The former is a transfer requirement for the UC system and the latter will be needed for The Paradigms of AI book I purchased.

</comment><comment><USER13> Def Clojure.

It's gaining immense traction, and I'm definitely looking into doing my next web project with it.

</comment><comment><USER14> Starting to learn Ruby and JavaScript.

</comment><comment><USER15> Python (Django), definitely.

</comment><comment><USER16> Scala. I'm saving clojure for last :-)</comment>


Microservice Discovery with SkyDNS - <AUTHOR> http://blog.getadmiral.com/communication-between-microservices/ <comment><USER2> Seem like a pretty neat dev set up. I wonder if this can be expanded more for if you have a bunch of internal APIs and want to connect to production for one of your micro services.</comment>


Redpoint Invests $4.4 Million In Fast Growing Posterous - <AUTHOR> http://techcrunch.com/2010/03/05/redpoint-invests-4-4-million-in-fast-growing-posterous/

<comment><USER2> Congrats! Posterous is a downright fantastic product and they very much deserve this after the hard work they've put in. To anyone from Posterous here on HN: Keep up the good work.

<comment><USER3> thanks! we're psyched

<comment><USER4> congrats! Fantastic service.

</comment></comment></comment><comment><USER5> Congratulations posterous! I switched to you guys from Tumblr as a way of cross-posting to various services (IMHO the most awesome part of the service), and love it.

I hope you can use some of that money to put together a new iPhone app with more capabilities. Even just posting status updates would be nice. :)</comment>


Urine-soaked eggs a spring taste treat in China city - <AUTHOR> https://mobile.reuters.com/article/idUSLNE82S01P20120329 <comment><USER2> I don't mind this cultural practice. Mildly amusing and that's what makes this world fascinating to visit. What I do mind about Chinese (and East Asian) culinary culture is the insatiable demand for rhino horn. That's gotta stop.

</comment><comment><USER3> How does something like this evolve to start with? I'm out of water, so I'll pee on it instead?</comment>


Show HN: rss-box, a simple web-based rss reader you can host yourself with node - <AUTHOR>

Two weeks until Google reader goes away.
I've been building a replacement for myself: https://github.com/harold/rss-box
Idea:
 - Really Free & locally hosted (trivially)
 - A node app runs locally to fetch feeds and serve up the web interface
 - No database at all, everything stored in files on the file system
 - This means that if you host the node app in your dropbox, every machine syncing that dropbox stays up to date automatically (read items, etc...)
I've just been hacking here and there in my spare time, but it's become usable, (I've been using it for the last week, and am now ready for Google reader to go away) but the codebase is quite fun to hack so I thought I'd invite yous to come play.
(My first post here, apologies if I've violated any mores of this community.)
Take care, -Harold <comment><USER2> Also, you may want to look into node-webkit. You can now build cross platform "apps" using html/css/node.js

<comment><AUTHOR> Thanks for the pointer.</comment></comment>


200 Million Indian Workers protest for two Days - chupa-chups https://thewire.in/labour/bharat-bandh-central-trade-union-strike <comment><AUTHOR> As of this point, this is not something new</comment>


GitHub Censors Catalonian App Tsunami Democratic - <AUTHOR> https://www.elconfidencial.com/tecnologia/2019-10-29/github-bloquea-tsunami-democratic-aplicacion_2305027/ <comment><USER2> Takedown notice is discussed at [https://news.ycombinator.com/item?id=21395629](https://news.ycombinator.com/item?id=21395629)

<comment><USER3> Most comments moved thither. Thanks!

</comment></comment><comment><USER4> While it's fair to call out the owner of any property when something like this happens, the emphasis of "Microsoft" in the headline seems to imply that this is some newly introduced policy since the acquisition.

As far as I'm aware, Github has been honouring government takedowns of this nature since long before they were acquired by Microsoft.

<comment><USER5> The way I read it on the article, with punctuation, I don't think it was necessarily intended like that? It's in parentheses "Microsoft (GitHub)". I don't read Spanish fluently, though, so perhaps I'm not grasping it entirely. It felt like they were just adding context.

<comment><USER6> > Microsoft (GitHub) blocks the Tsunami Democràtic to avoid the issues of > their 'app'

Is how I'd translate it and depending on who you are, you might just ignore the GitHub bit if you have no idea who that is and just assume Microsoft's doing this outright. It is confusing, but the subtitle specifically calls GitHub a service owned by Microsoft. They then mention since when Microsoft has owned GitHub, which I'm not sure how accurate it is or isn't. Is it wholly owned by Microsoft at this time? Though as others have said, it's an existing policy.

<comment><USER7> Yes, GitHub is 100% owned by Microsoft. The date in the article is correct.

<comment><USER6> Thanks, I wasn't sure the state of the buyout.

</comment></comment></comment></comment></comment><comment><USER8> [https://github.com/github/gov- takedowns/blob/master/Spain/20...](https://github.com/github/gov- takedowns/blob/master/Spain/2019/2019-10-23-GuardiaCivil.md)

</comment><comment><USER3> We have deep respect for languages other than English, but HN is an English- language site, so this is off topic here.

[https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...](https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=by%3Adang%20%22english%20language%20site%22&sort=byDate&type=comment)

[https://news.ycombinator.com/item?id=21395629](https://news.ycombinator.com/item?id=21395629) was posted earlier, so we'll merge (most) comments there.

</comment><comment><USER9> > Microsoft Spain sources have confirmed to Teknautas that they have not > received any request from the security forces and bodies of the State to > close Tsunami repositories

Note, this is a translation. If I understand it right, GitHub is a wholly owned subsidiary. That means it may have been (likely?) GitHub legal rather than Microsoft legal that received the request.

Did the reporter not know to check with GitHub or was it something else?

There is a little bit of organizational dynamics at play here. We may know how these companies are organized but do the masses? How much of the international reporters should we expect to know this?

</comment><comment><USER10> OT, but some headings with all capitalized words are impossible to decipher. Where does one put the groupings here? Looks like a gibberish sentence to my (non-native) eyes.

> _Microsoft 's GitHub Censors Catalonian App Tsunami Democratic_

<comment><USER11> (Microsoft's GitHub) censors (Catalonian App (Tsunami Democratic))

Some quotes around the app name, "Tsunami Democratic", would have helped a lot. The structure of the original Spanish headline delineates the app name from other nouns a lot better.

</comment></comment><comment><USER12> From a machine translation of the article: "announced through its Telegram channel that the US company had thrown access to the Tsunami repository from our country. You only need to go to one of their last available web links: tsunamidemocratic.github.io to see that it is true. In a warning message written in English , the system alerts that "the repository is not available in your location"."

I'm not in Catalonia, and was able to click through to the repository. Surely no developer would be deterred by a simple IP ban?

<comment><USER13> > Surely no developer would be deterred by a simple IP ban?

Except it's not just for developers; it's the homepage for the app.

Though part of me has a feeling that GitHub complies with these takedown notices in the way that they do because they know how easily circumvented they are. Pretty much everyone involved with a modern protest movement has been taught some basic level of digital OpSec by the organizers.</comment></comment>


Because I forgot to set my DVR, I'm a pirate. - <AUTHOR> http://rondam.blogspot.com/2012/01/absurdity-of-online-piracy.html

<comment><USER2> I think the author is singling out IP-Law when his problem is with our legal system in general. For better or worse our modern legal system is built around overly strict limits that are, by design, rarely enforced.

To give an example consider the freeway. Where I live most cars drive 70 to 75 mph without causing a safety risk and I know it's CHP policy to ignore anyone driving less than 10 miles over the limit. But they could pull over all those people because the official speed limit is 65 mph. So they've established a speed limit that's stricter than it needs to be and have encouraged the breaking of that limit. This allows them to pull over virtually anyone they want for any cause they feel like.

This is true throughout our legal system. There's actually a recently published book called "3 Felonies a Day: How The Feds Target the Innocent" that makes this case quite well. The premise being every American inadvertently commits 3 felonies a day just by living a normal life.

So while the blog post is right to point out the illogical nature of IP-Law he should understand it was written that way by design to allow for easier prosecution.

(prosecution might not be the right word since IP issues are civil but you get the point)

</comment><comment><USER3> This is a great example of what deeply bothers me about these sorts of IP rules. The best description I've read of the mindset of those who support these rules, but still not a sufficient argument to convince me: "What Colour are Your Bits?" at <http://ansuz.sooke.bc.ca/lawpoli/colour/2004061001.php>.

</comment><comment><USER4> The author is simply wrong. You can get episodes for Fox shows on Fox's website & episodes appear for free on Hulu as well. I've watched other Fox shows on my cable's "On Demand" feature, so maybe The Simpsons is on that too. That's three other ways to watch The Simpsons legally.

I agree the letter of the law can be silly & content owners tend to cling to old business models rather than innovate, but please give credit where credit is due. Fox & others are making programming available to us via different methods.

<comment><AUTHOR> (NOTE: I am the author.)

I did try to get the episode from the Fox site. (I watch South Park on line this way all the time.) It didn't work. I also tried -- successfully -- the get it from iTunes. It cost me $6 (because I somehow accidentally downloaded it twice). But then IT WOULDN"T PLAY because my display is a DVI display and not an HDMI display!</comment></comment>