GDPR Hall of Shame - <AUTHOR> http://gdprhallofshame.com/ <comment><USER2> "Whoops, we can't secretly sell your data anymore! That means you can't control your smart wifi lightbulbs from now on!"

For me, this is a refutation of the "If you don't pay for the product, you are the product." There is no inherent reason why a company would only do that for a free product. If it works for free products, it works just the same for paid products.

Even if GDPR has flaws, and is gonna cause some disruption, I think we really needed something like this.

<comment><USER3> For sure, GDPR is causing headaches for companies that were secretly selling your data. But it's also a big problem for companies that were (perhaps sloppily) logging & storing data for their own reasons or maybe even for no real reason. I think the latter is much more common than the former.

<comment><USER4> A lot of smaller sites don't necessarily know everything that they're collecting. Arguably, this is a good opportunity to figure that out. However, it's equally arguable that in many cases it's just easier to cut off EU access if there's any doubt and the EU just isn't important to their business (or hobby). If I ran a US centric ecommerce site, for example, I'd be very tempted to just stop selling in the EU for now.

<comment><USER5> What if EU citizens who are visiting US make purchases from your site?

<comment><USER4> Almost certainly does not apply. [1] For that matter, the same FAQ suggests that it's probably not necessary to block IP addresses if you're not located in the EU and aren't actively marketing to EU residents. But I can certainly understand small companies taking a better safe than sorry approach if they don't do material EU business.

[1] [https://www.gdpreu.org/the-regulation/who-must- comply/](https://www.gdpreu.org/the-regulation/who-must-comply/)

<comment><USER6> It wouldn't apply if you explicitly ask user if he/she is an EU resident, preferably by checking ID and route to /dev/null if user is.

</comment></comment></comment></comment></comment></comment><comment><USER7> I nominate Slate [https://slate.com/privacy](https://slate.com/privacy) for a creative interpretation of GDPR article 7.3 "It shall be as easy to withdraw as to give consent" (the "consent" happens through an uncloseable window with no other options where a single click sets that cookie):

"The Right to Withdraw Consent. If you would like to opt-out at any time, please delete the "gdpr_consent_1" cookie from your browser window. You will have to opt-in again in order to view Slate content."

<comment><USER8> I'm pretty sure that no European court would accept that. I doubt most users (and most judges) even know how to delete cookies. I don't even know how to do that on my phone (not sure if that's possible?). And not allowing users with mobile browsers to withdraw consent is definitely a violation.

<comment><USER9> It would be acceptable if consent involved _manually_ adding a specific cookie (slightly harder than deleting an existing cookie).

Thinking of it, adding cookies manually and maintaining a cookie whitelist could be a useful browser feature in the coming years. Most cookie-based tracking would be forced to disappear.

</comment></comment></comment><comment><USER10> The Yahoo! one [1] is definitely in violation of GDPR, right? GDPR doesn't cover me as I'm neither in the EU nor am I an EU citizen, so I really hope someone lets the regulators know about this. The first major penalty will be example setting.

Which made me curious: could a service exist where citizens not covered by GDPR submit complaints, so that a GDPR-covered citizen could put the complaint in formally?

[1] Hidden opt-out is non-compliant, but Yahoo! went ahead and opted you in to a hundred different ad services automatically: [http://gdprhallofshame.com/content/images/2018/05/ouch.jpg](http://gdprhallofshame.com/content/images/2018/05/ouch.jpg)

<comment><USER11> Yahoo is bad, especially concerning the opt-in, but by far not the worst. Those are Google and Facebook, which have made all of their services "all-or- nothing". If you don't accept every single bit of data processing, your only alternative is to delete your account. Literally runs counter to everything the GDPR stands for.

<comment><USER12> > Literally runs counter to everything the GDPR stands for.

If the idea is that no one should be able to avoid complying with the GDPR, even if they decide they no longer want to do business with whomever it is exactly that's covered by it, then maybe the whole thing was a bad tradeoff. I'll grant that Google and Facebook _might_ be acting in bad faith – hell, I'll just assume they are – but surely, for some not-necessarily-insignificant number of other entities, it should be perfectly fine if they decide that the costs of compliance exceed the corresponding benefits.

</comment></comment></comment><comment><USER13> Of these, the worst are the "embedded" ones: the IoT lightbulbs and the Razer devices. Nobody ever expected their lightbulbs to be processing personal data on behalf of third parties.

The one that might be legitimate is the "cheap flights" one; after all, they require your consent for email marketing, and they can't offer you a discount flight without it.

<comment><USER14> I must admit, even as a critic of the GDPR in some respects, as an individual I am hoping that its heavy-handed approach will mean I can buy everyday things again without having spyware, telemetry, and so on coming as standard. I don't want a "smart" phone or a "smart" TV or a "connected" car, where the scare quotes denote entirely unnecessary invasion of privacy and/or security and safety risks. I buy a phone to communicate, a TV to watch stuff, and a car to get from A to B, and it will be nice if we can get back to doing those things better instead of tacking on all the user-hostile extras.

<comment><USER15> Then just buy older stuff nobody says you need a smartphone.

<comment><USER14> Have you tried buying a non-smart TV or a non-connected car recently? Or even a feature phone that is basic in features but good quality? I do have quite a few devices from just before the madness became almost inescapable, but it has become increasingly difficult to get hold of these things in recent years. Aside from the sales and marketing aspects, there are other pressures that are forcing older models into obsolescence prematurely, such as changing encodings and DRM mechanisms for video, changing standards for wireless communications, and environmental and safety issues that drive older cars off the roads.

</comment></comment></comment></comment><comment><USER16> The Instapaper one - #1 - is troubling for a non-obvious reason. One of the tenets of GDPR is that you have to be told how your data is being used. So the only explanation for this behaviour is that there's some shady shit going down that they want to stop before they have to admit to it.

If I used Instapaper I'd be filing a complaint with my local DPA about this.

<comment><USER17> > So the only explanation for this behaviour is that there's some shady shit > going down that they want to stop before they have to admit to it.

No, it can something as simple as "we cannot guarantee that all your data is deleted with our current storage system". It would be a lot better if people stop being so alarmist.

<comment><USER14> _It would be a lot better if people stop being so alarmist._

Indeed. It's odd looking at discussions about the GDPR on HN.

On the one hand, we have people who argue that compliance isn't really that big a deal if you're not doing anything horribly wrong, most ethical businesses would already be mostly compliant anyway, etc.

On the other hand, we have people who argue that even if that is the case, the length and ambiguity of the regulations and guidance combined with the potential penalties still cause significant overheads and risks, particularly for smaller businesses without dedicated resources to deal with compliance matters.

There is some truth behind both of those positions, I think.

But then I've seen so many comments now on HN and other geek-friendly forums that seem to be based on the premise that most/all businesses are somehow doing evil things with personal data and they must be stopped. A noticeable number of people are advocating obviously vexatious use of the new subject rights, not in response to any specific concern or after some unsatisfactory attempt to resolve concerns reasonably, but as a weapon with the clear goal of causing maximum disruption and cost to organisations. I wonder how anyone can think giving so much "legal ammunition" to these people is a good idea.

<comment><USER18>
        > so many comments now on HN and other geek-friendly forums that seem to be based on the premise that most/all businesses are somehow doing evil things with personal data and they must be stopped

I think it's pretty reasonable to have that premise when those businesses can't tell their users what they did or will do with personal data. No one could even tell whether it's evil or good if you don't show me some details. And sometimes, you assume it's good for me, but I think it's bad for me. Thank you for your good intention but all I want is just an opt-in option, not opt- out, is that so hard to accept? When you drag me into something I don't want, why would I assume you are doing something good? Users being alarmist is not users' fault, data companies' unethical use of data made users react this way.

        > "we cannot guarantee that all your data is deleted with our current storage system".

If so, just say it. But after that, you may want to explain to me why you can't even take care of my data while claiming you respect it. Did you collect my data then just forget where you store it? If the deletion is that hard, why should users trust such company in the first place?

GDPR is an action of defense, not a weapon for invasion. Only predator would think it's a weapon and be afraid. GDPR is not perfect for now, but complaining the ambiguity of it doesn't make internet companies' vague ToS or Privacy Policy clear as crystal. Let's not play double standards here.

I'm quite aware HN is full of people work in data industries, I just have to say it.

</comment></comment></comment></comment><comment><USER19> Hey! I made this, mostly just to poke fun at my inbox being here in Europe and experiencing it first hand. Feel free to fire me a reply with any good ones you've spotted; I'll be actively adding through tomorrow and beyond.

<comment><USER20> The Endomondo app is a doozy. They require opt-in to two items to carry on using the app, but then also say that by clicking continue, you're agreeing to their privacy policy, which indemnifies them against GDPR. It's slightly clever misdirection, in my opinion. I clicked 'OK' in the end because the EULA appears to be invalid anyway; by borking the consent process they have no legal basis for processing my data.

<comment><USER19> Wow - got a screenshot of that one?

</comment></comment></comment><comment><USER21> The EU Commission's very own website deserves an honourable mention at least.

Last time I looked (just a few days ago) it was the epitome of "What you're not allowed to do anymore according to GDPR.": Tracking and other cookies with no way to opt out, no privacy policy etc.

Then again, GDPR of course doesn't apply to them. The very least they could do in my opinion, however is to lead by example.

</comment><comment><USER22> My favourite at the moment is sendwithus. They said their service will never be GDPR compliant. But fortunately they have a new "enterprise grade" product called sendwithus dyspatch. Same feature set, new price plus GDPR compliance. This is a price jump from $79/Month to a minimum of $24.000/year. And this is with discount for former sendwithus users. I would consider this to be mafia methods.

<comment><USER23> Why? This seems like good behavior. They're original product is supported by a business model that relies on user data. Now they are offering a similar product that doesn't make money off of user data but instead charges the user. I am all for the GPDR, but the regulations don't say you can't suck up all user data _and_ you still have to provide your service for free/discounted

<comment><USER24> So you're saying user's data is worth $23052 per year?

<comment><USER23> Maybe, maybe not. If it's not I assume they'll be forced to lower their prices and go out of business. I don't have a problem with a company charging money for their product though.

The GDPR appears to be doing its job here because it's forcing a company out of a business model that is unethical and into one that's better for society, regardless of it's better or not for the company and some of its customers

</comment></comment></comment></comment><comment><USER25> Could somebody help me understand the criticism in this article of companies like Instapaper blocking EU users? When you face fines of up to 20M EUR, you're not going to take on that liability if you have a choice.

Most companies outside the EU will eventually block EU traffic. GDPR is just too big of a liability. It has nothing to do with "selling user data" or bad intentions with user privacy. I won't take EU traffic for the same reason that I don't drive at 140mph in a 25mph zone - it's irresponsibly dangerous.

<comment><USER26> Blocking EU users temporarily doesn't remove the need to comply - they're still holding data from these users.

</comment></comment><comment><USER27> CCleaner deserves a special spot in this hall after the recent change with the "You cannot opt-out" privacy option in the free version of the program.

[1][https://www.ghacks.net/2018/05/24/ccleaner-update- introduces...](https://www.ghacks.net/2018/05/24/ccleaner-update-introduces- privacy-options/)

[2] [https://forum.piriform.com/topic/51913-ccleaner-5436520-cann...](https://forum.piriform.com/topic/51913-ccleaner-5436520-cannot- opt-out-of-privacy-exposing-compulsions/)

<comment><USER28> That's not how GDPR works. You're not allowed to make use of your product / service require acceptance of collection of data. You must either offer it without data collection as an option, or simply refuse service.

<comment><USER12> I'm guessing, if that's enforced, that a lot of these same organizations will opt to refuse service.

<comment><USER28> A lot are. GDPR Hall of Shame looks like a list of these companies.

<comment><USER12> Which ones? The list looks like a bunch of organizations trying to do a clumsy end-run around the intent of the law instead of refusing service.

</comment></comment></comment></comment></comment><comment><USER29> It'll be interesting to see how the EU reacts to all of the companies like Oath that, by default, share your data with 300+ ad agencies.

After the GDPR hype has died down, hopefully new tech companies will think twice about data privacy

<comment><USER30> To me, that one was the most striking. It shows how widespread data sharing is. In the end to whom did they NOT sell user data?

</comment></comment><comment><USER29> Mirror: [http://archive.is/BCZCB](http://archive.is/BCZCB)

EDIT: Updated with new post

</comment><comment><USER31> Came here to mention Oath, but it seems the site has already covered it:

[http://gdprhallofshame.com/5-techcrunch-engadget-and-oath- co...](http://gdprhallofshame.com/5-techcrunch-engadget-and-oath-cookie-gore/)

Great idea for a site. I'm sure it won't lack content for quite some time.

<comment><USER9> I defied RSI to click all Yahoo partners, and opening a random sample of privacy policy links I found one that was written in Chinese. So much for consent.

</comment></comment><comment><USER32> I want to know if credit card companies Mastercard, Visa, etc. are subject to GDPR. They definitely sell or use your purchase data for purposes unrelated to the service.

<comment><USER33> On another note, does GDPR mean you can request credit report agencies to delete all their data on you?

<comment><USER7> "Credit reporting agencies" in the USA sense aren't really a thing in EU, there are similar but substantially different (and nation-specific, not EU- wide) mechanisms of verifying the creditworthiness of customers, often with specific national laws regulating the usage this data which would override GDPR.

Furthermore "please delete my data" doesn't really mean "delete _all_ my data", it means something like "I revoke whatever consent I gave and delete all my data that _you now have no right to use_ " \- so the company is allowed to keep all the data for which the GDPR gives them a right to use without your consent.

<comment><USER34> I'm curious, in what sense do you mean "Credit reporting agencies" in the USA sense aren't really a thing in EU"?

I've lived in both the UK and USA and used credit products in each, and your access to such credit appears to me almost entirely determined by a handful of credit reporting agencies "scores" in both countries in a pretty similar way. Heck it's even often the same company - Equifax (one of the largest) operate in the UK as well.

<comment><USER7> There are many differences; it's hard to generalize because each EU country is different (there's no harmonization for this, and there are major differences especially along the "ex-Warsaw-Pact" border; half of EU had their whole financial system [re]built in 1990s), but you'll often see the following differences:

1) There's no "EU score", each lending market is somewhat separate. Past history in one location may or may not influence your score in another location.

2) Instead of a general/universal "credit score" calculated by an agency, there's often a concept of "credit history" which (depending on the country) may or may not list the amounts of existing loans, of previous loans, and history of late payments. The difference being that instead of lenders getting a score calculated by some agency, the lenders get the data and make their own decision, with possibly very different opinions on which factors are important. Not everywhere, of course, some countries (e.g. UK or Nordics) are more like USA.

3) The process tends to be highly regulated. If you're providing factual data as opposed to an opaque score, each item better be correct - distributing to all lenders "Bob defaulted on a loan in 1999" is libel if it's not true; the dispute process tends to be more consumer-friendly than USA - e.g. a requirement to remove the disputed items immediately and return them only if the debtor can prove its validity), maybe a requirement to expire entries of missed payments within x years, etc.

4) In some countries, that agency is run by the gov't, i.e. purely a central official registry of loans and/or bad loans, which is somewhat sufficient to verify creditworthiness. In others, it's like Equifax.

5) There often is a principle that the credit reporting agencies _can 't_ give/sell that data to anyone - you must give explicit permission for every company before they can gain access to that data.

6) In many countries there's no concept of "building credit" \- where there only information provided is about _negative_ events (e.g. defaults or missed payments), so having never taken a loan combined with good income gets a perfect rating, as it's not distinguishable from a long credit history and having never missed a payment.

So it's quite tricky - similar but different.

</comment></comment></comment></comment></comment><comment><USER35> The #2 one seems a bit off. "RE:" stands for Regarding. Yes it makes people look at your email, but it isn't "fake."

<comment><USER36> Nitpick, but re is a word

[https://en.oxforddictionaries.com/definition/re](https://en.oxforddictionaries.com/definition/re)

<comment><USER35> It's not nitpick, it's trivia!

</comment></comment></comment><comment><USER15> OK but maybe your website should not use cookies without asking? You don't have a privacy policy either so not clear how u re going to use them. And maybe don't use google analytics without a privacy policy? Or at least anonymize the IP?

</comment><comment><USER37> It looks like the witch-hunting is about to start.

<comment><USER38> It's about time.

</comment></comment><comment><USER39> I've been in the internet since the 80s.

Man what a nice thing we've built.

We have turned the internet into a network where people snitch on each other to marketers for fractions of a penny.

<comment><USER40> The 80s? Were you involved in ARPANet or something?

<comment><USER41> I first went onto the internet in 1990 when my BBS got a connection. It was quite well developed by the end of the 80s.

<comment><USER4> 80s were still fairly early for Internet access. I was on the ARPANET as early as 1979 or so but just trading the occasional email in a lab. "Real" internet access, first at work and then through my BBS, was probably more like the early 1990s.

<comment><USER41> Oh yeah, I didn't do anything on the Internet in 1990 apart from typing 'go internet' into CIX (my BBS at the time), sitting there wondering what you could do with it, then killing the connection when my dad pointed out that we paid by the minute for the phone line :) I don't think I knew anyone online that wasn't on CIX either.

<comment><USER42> People don't understand just how expensive early online access was.

Here's a page from 1988 Whole Earth Catalogue "Signal - Communication tools for the Information Age"

[http://tinypic.com/view.php?pic=2janfrd&s=7#.WwcJwiAh200](http://tinypic.com/view.php?pic=2janfrd&s=7#.WwcJwiAh200)

Compuserve, charging $11 per hour, had "more than 250,000 subscribers".

The Source, charging $8 per hour, was popular for its conferencing system "parti".

Delphi, charging $6 per hour had a loyal but small (less than 10,000 users) following.

BIX, $9 per hour, grew from a magazine. I like the quote: "This is the computer industry as it used to be: people sharing ideas and solutions without the greed and grit with associated with today's corporate driven, litigation- laced, industry" (written 30 years ago).

[http://www.wholeearth.com/issue-electronic- edition.php?iss=1...](http://www.wholeearth.com/issue-electronic- edition.php?iss=1300)

<comment><USER41> CIX supplied Ameol (a most excellent offline reader) which could connect quickly and disconnect. In the UK we didn't have the luxury of the US's free local calls, so that was an added expense on top of that.

<comment><USER4> >In the UK we didn't have the luxury of the US's free local calls

Although free local calls could be quite limited in area. Intrastate long distance (which could be as little as 15 or 20 miles away) could actually be more expensive than interstate long distance. I don't remember the details but I used a private BBS service in the nearest major city in the 80s. I had some sort of phone plan that optimized for this but I still used offline tools to minimize my online time. (i.e. Login, suck down content, logoff, read and reply offline)

I used similar tools for Compuserve. As you say, it was extraordinarily expensive by today's standards. People complain about the pricing of a lot of things but telecoms and pretty much everything related to computing is incredibly cheap.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER43> Ive been enjoying all the emails from companies and watching them put on a show how they support user privacy and just needs me to continue agreeing to accepting being the product.

I dont think so. There are very few companies I actually use in my life, and less than a handful of them are online. The rest - bugger off.

<comment><USER44> > Ive been enjoying all the emails from companies

I've been receiving so many "here is our policy, if you continue your use, you accept it, kbye" emails... I truly hope EU will take the default-opt-in problem seriously.

</comment></comment><comment><USER45> I'd love an RSS feed of this site :)

</comment><comment><USER46> Hugged to death already?

<comment><USER19> Sorry, had to go up a few sizes on DigitalOcean

<comment><USER10> Curious: what tier were you using and what tier did you move up to? In case I ever get to the frontpage, I'd like to be prepared :)

And usually, what is it that causes outages like HN/reddit's hug of death? Number of open sockets / file descriptors? RAM? CPU? Network congestion?

<comment><USER47> If you have a static site, being on top of reddit/HN will barely be visible on the smallest instance you can find.

</comment></comment></comment></comment><comment><USER48> shaming seems to be down currently.

<comment><USER5> yea, still down

</comment></comment><comment><USER49> GDPR and policies like it are an existential threat to a Big Data future where so much can be possible if we are able to amass as much data as possible without fear of consequences.

GDPR should be resisted by as many companies and startups as possible.

<comment><USER50> Whatever the case might be, companies have shown themselves to not handle people's personal data properly, as shown by the massive leaks in the past. Whatever utopia you're thinking of, it's not happening anytime soon, and GDPR is a rightful measure to slightly apply the brakes on rampant data collection and misuse.

<comment><USER49> Massive leaks are a security issue, and have nothing to do with users being able to delete their data at will.

<comment><USER51> Well, if it's their data, shouldn't they be able to delete it at will?

<comment><USER49> If you know something about me why is it my right to make you forget about it?

<comment><USER24> human memory isn't data storage.

companies aren't humans.</comment></comment></comment></comment></comment></comment>


Scala's Option monad versus null-conditional operator in C# - <AUTHOR> http://www.codewithstyle.info/2016/02/scalas-option-monad-versus-null.html <comment><USER2> C# has native support for monads (LINQ), so it's trivial to implement an Option monad.

Or you can go the whole hog like I have my language-ext project [1][2].

In C# it would look like this:

        var city = from author  in article.author
                   from address in author.address
                   from city    in address.city
                   select city.ToLower();

Which is arguably even more elegant than the Scala 'for' notation.

As an aside, there was a discussion [3] on one of the language-ext issues about my Try<T> implementation, and I was asked to compare it to Scala's Try monad. The crux of it was that it's perfectly possible to capture the majority of the use-cases, but may be of interest in the context of this discussion.

[1] [https://github.com/louthy/language- ext](https://github.com/louthy/language-ext)

[2] [https://github.com/louthy/language- ext/blob/master/LanguageE...](https://github.com/louthy/language- ext/blob/master/LanguageExt.Core/Option.cs)

[3] [https://github.com/louthy/language- ext/issues/33#issuecommen...](https://github.com/louthy/language- ext/issues/33#issuecomment-146557934)

<comment><USER3> Implementing a monad is only 30% of the deal.

Being able to abstract over monads (and other type constructors) ... that's the part that really matters.

C# is not expressive enough for that.

<comment><USER2> It doesn't do higher-kinded polymorphism, no. If you're referring to something else, please elaborate on what it can't express. But for the example given in the blog piece it's exactly as expressive and concise - so it's not giving C# a fair hearing.

It _is_ actually possible to get most of the way to HKT using extension methods. But it involves a hell of a lot of typing. In my project I used a template generator to do it. It's still pretty limited though, and there isn't a single type-class called Monad.

<comment><USER3> > It doesn't do higher-kinded polymorphism, no.

That's what I referred to.

> ...

The point is that you can't leverage all the existing monad/functor/applicative/free/yoneda... libraries out there–they don't exist, because they can't be written in a way that would allow re-use.

<comment><USER4> Just out of curiosity what kind of reusable monad libraries are out there for Scala/Haskell? Given the scope of everything between Maybe and IO, I've never understood what one could make that would be useful to "monads" in general (beyond the sugar for do-notation).

<comment><USER5> [https://github.com/scalaz/scalaz](https://github.com/scalaz/scalaz)

Monad Transformers for one. Traverse/Sequence are another super common (amazing) pattern that requires abstracting over types.

[http://eed3si9n.com/learning-scalaz-day12](http://eed3si9n.com/learning- scalaz-day12)

is a nice tutorial series on it.

<comment><USER4> Ah, light bulb moment (perhaps).

So in F# I've been using specialized asyncSeq and asyncMaybe libraries. With monad transformers (and thus HKT's), would those come largely for free?

And you could traverse a list<maybe<list<_>> combo like [Some [Some [1; 2]; None; Some [3]]; None; Some [None; Some [4]]] with no more difficulty than a regular list-of-lists?

<comment><USER5> Exactly!

You can also write a generic "sequence" over a list, for instance, so that any 'monad' (task/future, maybe/option, state, either/disjunction etc.) can 'swap places'.

So your List<Future<A>> can become Future<List<A>>. But you only need to write it _once_. Then it doesn't matter what the inner type of the List is, as long as it's a monad (applicative, really, but all monads are applicatives).

<comment><USER4> Crazy, I'd always considered monad transformers a sore thumb on, well, all that stuff. The fact that monads weren't enough but then you had to go reproduce all that stuff in monad _transformers_ as well. The whole thing just reeked of code duplication and bad smells so I didn't really look into it further.

Now looking at the Scalaz impl, the transformers are actually the core thing, and monads themselves are just transformers over Identity. So it all fits and isn't redundant. Certainly changes a lot of perspective.

<comment><USER4> That said, I'd still put LINQ as 99% of "the deal" per the original comment. The extra abstractions allowed by HKT's, while "necessary" mathematically, still only save me about 1% of the work required to implement asyncSeq and asyncMaybe, and in 15 years of pro experience those are the only real uses of HKT's I've ever had the need for.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> As usual when someone tries to get into explaining monads, mistakes happen.

First, on the scala standard library and monads: Scala very carefully avoided creating a Monad trait, on purpose. So while List and Options are monads, we can't just go and say that everything that has a flatmap is a monad.

Also, the reason we can combine options and lists in a for comprehension is not really that they both have a flatmap: Try doing that with Future instead, and it will not work quite so easily! The reason those two have such easy interoperability is that in Scala's Predef there is a conversion that turns an Option into a Traversable, which is being called under the covers. For comprehensions are very powerful, but switching from one monadic context to another without help isn't one of them. In the case of Future and List, for instance, we'd have to use some of the utility methods in the Future object that can help transform a future into a List[Future], and a List[Future] into Future[List]

Don't get me wrong, it's great to see people trying to explain this kind of stuff, but it is so very hard to cover the topic in a way that is both approachable and that doesn't leave people with intuitions that will fail them outside of the given example.

<comment><AUTHOR> [Author] Thanks for your remarks.

I agree on the first point. As to the second, I didn't mean that having flatmap is the reason why we can combine Options and Lists. I meant that Options are composable with other Options and Lists are composable with other Lists.

I understand the problem of working with different monads. I looked into monad transformers at some point and found them difficult to work with so my approach now is to avoid mixing monad types (for example instead of having Future[Option[T]], just use a failed Future instead of None).

</comment></comment><comment><USER7> The same can be accomplished in F# for those who want this power in the .net ecosystem

        type Address = { street : string; city : string option }
        type Author = { name : string; email : string; address : Address option }
        type Article = { title : string; content : string; author : Author option }

        let printCity (article : Article) =
            article.author
            |> Option.bind(fun author -> author.address)
            |> Option.bind(fun address -> address.city)
            |> Option.iter(fun city -> printfn "%s" city)

<comment><USER4> Better to do with the maybe workflow from Fsharpx:

        maybe {
          let! address = author.address
          let! city = address.city
          printfn %s city
        }

</comment></comment><comment><USER8> Scala version can be written as one-liner as well; losing readability, but it might be ok for fast hacking / prototyping:

article.author.flatMap(_.address).flatMap(_.city).map(_.toLowerCase).foreach(println)

And in for-comprehension version there is no need to use yield, as we don't need result of println.

<comment><USER9> We work with Scala at our company and this is the style we use. I think that it's something that even a new person to Scala can easy understand.

<comment><USER10> Hell, I've never used Scala at all, and I can read that.

<comment><USER11> You can tell that "_.author" is a parameterless lambda?

<comment><USER10> Um, no? It takes one parameter.

Wouldn't fit into the map type signature otherwise.

</comment></comment></comment></comment></comment><comment><USER12> Why not just use less dots to begin with? Or, in other words, apply the Law of Demeter[0]. To me, diving so many levels deep into dependencies is a code smell because it tightly couples code to sub-dependencies and makes refactoring more difficult.

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

<comment><USER4> This is important for typical OO chaining

i.e. you should avoid:

serviceX.getServiceY().getServiceZ().getSomeValue();

But for just structured data it's not constructive to write accessor wrappers at each level. And for things like recursive data structures, it's not even possible.

</comment></comment><comment><USER13> The differences go far beyond syntax.

Option/Maybe can represent _arbitrary_ optionality, while null is limited to a sentinel value.

I wrote a blog post about null ([https://www.lucidchart.com/techblog/2015/08/31/the-worst- mis...](https://www.lucidchart.com/techblog/2015/08/31/the-worst-mistake-of- computer-science/)) and this one of the examples:

Suppose you have a generic key-value store. If a value is not present, the lookup returns null. You use it for a cache that maps user IDs to phone numbers. Some people don't have phone numbers, i.e. their phone number is null. But now you can't represent that in your cache. (JS "fixes" this -- if you want to call it that -- by using a second type of null: undefined.)

Option is generic and can applied arbitrarily deep; null/Nullable is a sentinel that can be used once.

Option is arbitrarily composable, and the superior choice.

</comment><comment><USER14> The null-conditional operator is a language feature. The Option monad is a class in the standard library.

You can have Option in C# and use it with linq to get more or less the same feature and syntax. There are a few implementations on nuget if you don't want to write your own.

</comment><comment><USER15> In case anybody is interested, this is how you would do this in clojure:

        (println (some-> article :author :address :city upper-case))

<comment><USER16> (some-> article :author :address :city upper-case println)

So that you don't print nil if some-> returns nil.

</comment></comment><comment><USER17> Why not just use F#, it's better than Scala and C# at these sorts of things and functional first and immutable first.

<comment><USER5> It's really not. I worked for a .NET shop that migrated some new projects to Scala. We evaluated F#, but decided the power of Scala was worth the platform switch. F# lacks higher kinds and implicit parameters, meaning you can't really use the type class pattern. This hurt our productivity.

<comment><USER18> > F# lacks higher kinds and implicit parameters, meaning you can't really use > the type class pattern. This hurt our productivity.

Genuinely curious, but what are you doing that the lack of type classes hurts productivity so much?

<comment><USER5> It's just annoying to have to re-implement sequence/traverse and every combination of monad stacks you want to for each type. It's doable, but bug prone and frustrating.

I now work for one of the largest scala teams in the US. We make heavy use of the Scalaz project and regularly use monad transormers or free monads and both require higher kinded types.

</comment></comment></comment></comment><comment><USER19> I think this is the first time I've ever _really_ understood what the hell flatMap is for. So, thanks!

<comment><AUTHOR> [Author] That's awesome to hear that, thanks :)

</comment></comment><comment><USER20> Actually in scala for just getting the city and lowercase it I would write that: article.author.flatMap(_.address.flatMap(_.city.map(_.toLowerCase)))

I know that's by far not as good looking as the c# version, however at the end all comes down to syntactic sugar.

</comment><comment><USER21> tl; dr: Scala Option monad is more elegant :)

</comment><comment><USER22>
      Console.WriteLine(article?.Author?.Address?.City?.ToUpper());

That is actually a bit different than the first piece of code, since it calls Console.WriteLine.

</comment><comment><USER23> Much better than the usual terrible patterns of pyramids of doom.

Another reason to set tab stops to 4+ characters: make PoDs impractical and better code legible.</comment>


Tesla Gets Crushed in Germany by EVs from Volkswagen, Renault, and Hyundai Group - <AUTHOR> https://wolfstreet.com/2020/08/10/tesla-gets-crushed-in-germany-by-evs-from-volkswagen-renault-hyundai-group-it-woke-up-the-giants/ <comment><USER2> Tesla ships cars to different regions in waves.

The previous months were primarily going to US customers (partly due to an ongoing pandemic). Notice how deliveries to Europe will spike in follow-on months as ships arrive.

Tesla tends to have very vocal fans and haters. Each month there is a different article highlighting how Tesla is in dire straights due to the precipitous fall in sales in X country. The next month an article will say how Tesla crushes competitors in X market.

Source: [https://docs.google.com/spreadsheets/d/10Uh_GSkShwPPlrE5mOJc...](https://docs.google.com/spreadsheets/d/10Uh_GSkShwPPlrE5mOJcrkZ-T3NmLkLnTo6xqbdtaOI/htmlview)

[https://electrek.co/2019/09/18/tesla-model-3-best-selling- ca...](https://electrek.co/2019/09/18/tesla-model-3-best-selling-car- netherlands/)

"With another wave of deliveries in the Netherlands, Tesla Model 3 has become the best-selling car in the country for the year as it now surpasses 10,000 units.

Since the European launch of the Model 3 earlier this year, the vehicle clearly reinvigorated Tesla's sales on the continent."

<comment><USER3> What's your source for this?

edit: in case it sounds accusatory I want to clarify: your statement is totally plausible to me, I just want to learn about where you got the information (and learn more myself)

<comment><USER4> _" The automaker didn't do as well in Europe, but that's because it barely had any supply for the market in Q2."_

[https://electrek.co/2020/08/13/tesla-sales-sliding-europe- co...](https://electrek.co/2020/08/13/tesla-sales-sliding-europe-competition/)

</comment></comment></comment><comment><USER5> This is... rather surprising to me.

My perception until now was that EVs from "traditional" car manufacturers like VW, Renault, and Hyundai are not really competitive with Tesla's offerings on range, efficiency, advanced features, and value/price. I would not have expected Tesla's share of EV sales to drop so precipitously in any market. From the OP:

      German EV registrations by Automaker

      Automaker       July 2020  YTD 2020  YTD Share
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----
      Volkswagen Grp      6,023    23,400      38.3%
      Renault             2,851     9,917      16.2%
      Hyundai Grp.        3,214     7,353      12.0%
      Tesla                 203     5,306       8.7% <--
      Daimler Grp.        2,105     5,305       8.7%
      BMW Grp.            1,499     4,898       8.0%
      Groupe PSA            301     2,026       3.3%
      Nissan                304     1,475       2.4%
      Jaguar                 73       386       0.6%
      Honda                  43       144       0.2%
      All others            182       886       1.4%
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----
      Total EVs          16,798    61,105     100.0%

In particular, I would not have expected _Mercedes /Daimler's and BMW's_ respective shares of the EV market to be so close to Tesla's this year in Germany or any other market. Remarkably, it seems that Mercedes and BMW EVs combined outsold Tesla by 18x in July (2,105 + 1,499 vs 203). Those two brands compete in the same segments and for the same affluent customers as Tesla's existing models (S, 3, X, and Y).

Perhaps there's something unique about the German market? Or perhaps there's something unusual about the July figures, e.g., Tesla supply issues? Is there anyone from Germany here who can shed light on this?

\--

EDIT: It appears that supply issues were a key driver of the loss of market share. See [https://electrek.co/2020/08/13/tesla-sales-sliding-europe- co...](https://electrek.co/2020/08/13/tesla-sales-sliding-europe-competition/) (copied from gardaani's comment here [https://news.ycombinator.com/item?id=24144057](https://news.ycombinator.com/item?id=24144057)).

<comment><USER6> It's only a matter of time. These companies are huge, with massive infrastructure, partnerships, supply chain strength, R&D power and wisdom, etc... they also do not want to see Tesla eat their lunch.

Electric vehicles are also not rocket science. A company who has been making vehicles for a century will have a substantial leg up once they get some momentum. They're far more simple as far as the driveline goes than an ICE powered vehicle would be. No transmission. No oil coolant lines. No engineering the engine and trans to work together. No fuel tank, no fuel lines, no injection system, no fuel pumps. The list goes on.

With an electrified powertrain it's basically just a motor and juice (I'm over simplifying, electric motors and batteries require cooling as well for instance).

These companies are going to eat Tesla for breakfast as soon as they get caught up.

<comment><USER7> You're ignoring Tesla's software and super charging network, neither of which the legacy automakers seem capable of duplicating.

<comment><USER8> 1\. super charging network

2\. brand name , a car is still a status symbol, owning a bmw, kia ect is not a social signal.

3\. autonomous driving and software

<comment><USER9> Wait, I must have missed something. Is BMW's image bad? That wouldn't explain them able to survive some of the high price points, they sell cars at.

<comment><USER10> Depends which BMW :D

In Poland, BMW can mean "expensive luxury sports car", or "Bolid Młodzieży Wiejskiej", a pejorative name that means "Village Youth Vehicle", as a lot of used BMW from specific series were available cheap and with good performance. To the point that road police started stopping cars based on them being specific BMW models.

<comment><USER9> I think this sort of image, high end car plays like Jaguar, Lexus avoid to an extent. I don't see how Tesla would maintain an edge of luxury over them if they can get good performance in their EVs.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I welcome competition but I am very skeptical of this. The article feels like is using some shady stats. All cars are not the same. The price point absolutely matters, even more so in EVs. The correct way to compare them is in the appropriate market segment. Nissan Leaf sells in droves in the US but it doesn't mean they lose a threat to Tesla. I want to see the breakdown by segment and if people are actually choosing a comparable car over a model 3 or S or X.

Also the biggest advantage Tesla has is their supercharger network. I haven't seen it replicated anywhere and it takes years to do so. I would give the edge to Tesla and only buy their cars as long as they have that insurmountable advantage.

<comment><USER12> I agree. This article is basically rage bait for the fanboys.

Of course a bunch of EV compacts entering the market is gonna detract market _share_ from the big EVs because all the "I'll only buy a compact" people just entered the market and cast their lot in with the compact.

Tesla might be losing market share but EVs are very much a "rising tide lifts all ships" situation as they slowly replace more and more ICE vehicles so that's not necessarily indicative of anything. This is very far from a zero sum game.

<comment><USER13> Tesla's current valuation is predicated on it essentially becoming the new Toyota (it's worth more than $TM right now). There's little doubt that Tesla can be a sustainable, successful electric automobile business in the "big EV" segment, but a big question is whether it will replace the Toyota Corollas, Camry's, and Priuses of yesteryear. If the answer to that question is "No", then maybe the market cap of TSLA is inflated.

<comment><USER12> I know that what you're portraying is every online fanboy's wet dream but it's really unlikely to happen.

Tesla's thing is bleeding edge tech. Bleeding edge tech is not what you fill a car full of if you want to sell cars to hordes of people who just want A to B transpiration and are willing to pay a hefty premium for consistency.

</comment></comment></comment></comment><comment><USER14> It is not surprising to me at all. Tesla are bad at servicing their cars in Europe. Model 3 and X are FULL OF ISSUES. Embarrassing issues, solved decades ago by brands like VW. I myself live in Europe, liked a Tesla, went to see it and compared it to my 10 year old German car. Decided to stick with a German car in the end.

<comment><USER15> Conversely, we live with the minor fit and finish and service issues with our Teslas because we prefer it to legacy automaker offerings (and, of course, the Germans are going to defend BMW and VW to the bitter end like Wirecard minus the accounting fraud because it's a significant amount of their economy).

Going to a dealer? Nope. Supporting emissions cheaters? Nope. Supporting automakers who had to be dragged to develop EVs by Tesla? Nope!

Different strokes, the market will sort it out. As long as Tesla does well in large markets like the US and China [1], they'll be fine. Europe isn't exactly a car centric society.

[1] [https://electrek.co/2020/08/11/tesla-dominates-electric- car-...](https://electrek.co/2020/08/11/tesla-dominates-electric-car-sales- china/) (Tesla still dominates electric car sales in China, over 11,000 deliveries in July)

EDIT: @bzb4 [https://www.prnewswire.com/news-releases/study-americans- fee...](https://www.prnewswire.com/news-releases/study-americans-feel-taken- advantage-of-at-the-car-dealership-300301866.html)

> One clear takeaway: people are fed up with the old-school experience of > buying and selling a car at a dealership. 87% of American adults dislike > something about the process of purchasing a vehicle at a traditional car > dealership.

> More than three in five Americans (61%) feel like they're taken advantage of > at least some of the time when shopping at a car dealership.

> Over half of Americans (54%) would love the ability to buy or sell a car > without ever leaving home.

> Two in five (42%) would be comfortable purchasing a car online without a > test drive if certain assurances (like a money-back guarantee) were in > place.

<comment><USER16> >Going to a dealer? Nope. Supporting emissions cheaters? Nope. Supporting automakers who had to be dragged to develop EVs by Tesla? Nope!

Seems like things 0.1% of buyers care about. Really, not buying the car you want to avoid talking to a dealer? Is that some kind of social phobia?

<comment><USER17> You must be be among the few that that have had a positive experience with the dealer monopoly.

<comment><USER16> How are dealers in Europe a monopoly?

<comment><USER18> That's the key. In Europe most dealerships are _brand_ dealers. They sell and service one or two manufacturers at most, and have a brand to uphold. That is not the case in much of the world: dealers are independent, and sell whatever they want at the price they want without a single fuck given to your feelings since you won't be coming back in a decade and they will most likely go out of business by then.

The buying experience can be incredibly painful, especially if you go to a dealer know for better prices (there is no such a thing with Tesla).

</comment></comment></comment></comment></comment></comment><comment><USER12> No surprises here.

In markets where all cars are taxed a lot and fuel is taxed even more an expensive EV will do good because of the fuel savings relative to a comparably equipped ICE vehicle (basically it's more car for your dollar over time).

In markets where all cars are taxed a lot, fuel is taxes more and there exists cheap EVs those cheaper EVs are gonna steal a substantial market share from the expensive EVs (all the people who were over-served by the expensive EV but bought it anyway because it was still cheaper than the ICE vehicle).

Basically just roll fuel cost and taxes into ownership cost and this makes perfect sense. Teslas are cheap (relative to similar ICE cars) in Europe. Other EVs are cheaper still (because the lower the purchase price the more the operating cost dominates) so of course people buy them and that steals share from Tesla.

Also, drive-trains and prices aside, Tesla doesn't sell compacts and Europe buys a lot of compacts.

Edit: Since apparently this doesn't go without saying, I'm not making a value judgement on fuel cost+taxes, car taxes or anything else. I'm just saying that these things contribute to the total cost of ownership and that you have to look at total cost of ownership in order to make sense of the stats the article presents. It doesn't matter where the number comes from, just what it is.

<comment><USER19> Teslas are not cheap in europe, they are top expensive.

However for leasing they have become the cheaper choice.

Private owners often for more affordable cars such as BWM i3.

</comment></comment><comment><USER20> Tesla was significantly supply limited in Europe because of COVID-19. Traditionally the first month in a quarter is for European builds, so they can get on a boat and be delivered before the end of the quarter. Which is what happened in January. However, in April their factory was shut down. And because being profitable in Q2 was super important to Tesla because 4 consecutive quarters of profitability would allow them to join the S&P 500, the cars they manufactured in May & June were shipped in North America rather than to Europe.

Until Tesla becomes demand limited rather than supply limited, any analysis of any particular market is prone to error -- spikes in one direction or the other may be just due to shifting shipping choices.

So the drop may mean nothing, or it may be significant. I suspect the answer is somewhere in the middle.

</comment><comment><USER21> Here is a nice page to check on current EV models: [https://ev- database.org](https://ev-database.org) (They also include measurements on real-range).

</comment><comment><USER22> Tesla is extremely overhyped Silicon Valley darling. In the real world, they have tons of struggles, like: \- quirky interior \- very limited model selection \- dated outside design \- quality issues \- polarizing CEO \- very limited features (outside of computer tech) \- limited service capacity \- expensive \- all is their cars are huge

And list goes on. It's not hard to see why they won't dominate market. Doesn't mean they don't have place there, but there's basically 0 rational reasons to expect them to be a leader in a maturing market.

<comment><USER23> Wait, Tesla has a dated exterior design? I must be new here because when I look at what's on the road, Tesla strikes me as a very modern looking car.

<comment><USER24> Beauty is in the eye of the beholder. Car designs change every few years to keep sales up. Teslas look the same since the S was introduced (except for minor differentiations in updated lights/grill etc).

</comment></comment></comment><comment><USER25> Looking at both the EV sales number by auto manufacturers and by auto brands, you can see that EV sales is no different than all automotive sales, the cheaper the cars, the more sales number they would have.

Cars (EV included) under VW and Hyundai brands are mostly affordable low-end to mid range vehicles, so it makes sense that they are sold more than luxury brands like Porsche, Audi, BMW, Mercedes Benz and Tesla. Yes, Tesla is still a luxury brand with majority of the models selling at close to $40k USD or above (the $35k USD Model 3 standard range version was removed from their website, even though you can still technically order them by talking to a sales rep.)

Until Tesla can make their cars at below $30k range, they are not going to be competing head to head with VW and Hyundai, or in other words, they won't enjoy the sales number that VW or Hyundai has. There just aren't many who can afford Tesla. This is basic economics.

PS: Nissan Leaf sales numbers low is probably outlier due to the charging port (Nissan uses ChadeMo instead of CCS for fast charging, but they reverse course at 2021 model year since ChadeMo is dead outside of Japan) and the charging infrastructure issues.

PPS: Tesla manufacturing quality is also another issue - comparing to mature automotive manufacturers like VW and Hyundai. VW has 80 years of history of making cars, Hyundai has 50. Tesla is FAR behind in terms of the operational and manufacturing quality control than traditional automotive competitors, especially the German ones and Toyota (too bad, Toyota is betting big on hydrogen fuel cell and hybrid technologies, not on EV).

</comment><comment><USER26> Tesla's current vehicle portfolio doesn't suit the current market trends in Europe. Only the Model 3, S, and X are currently available. Two are sedans which are losing market share to SUV type vehicles and the model X SUV is very expensive for most consumers.

Most vehicle sales in Europe are in the B or C car segment (relatively small vehicles by North American standards). Increasingly the sales of B and C cars are moving away from hatchback models to CUVs (crossover utility vehicle) models which offer a raised seating position and more interior space. Tesla offer nothing in these segments which the likes of Volkswagen, Hyundai and Renault do.

The Model Y should do well once it launches but I can imagine competitors who can offer a lower price albeit compromising the range doing better in this segment. Given that the distances driven in Europe are on average lower, the additional range Tesla can offer is not massively compelling unless they can undercut their rivals on price.

On a slight tangent, the other threat is the increasing hybridisation of powertrains in Europe. Due to EU rules on the EU fleet -wide average Co2 levels of 95 gCo2/km coming into effect from 2021, vehicle manufacturers are now offering hybrid options on many name plates to reach this target. These PHEV and FHEV hybrid powertrains come at a significantly lower price compared with full electric vehicles with the benefit of short range electric driving only mode. Previously PHEV and FHEV were separate name plates which had unique (read: polarising) designs. Now PHEV and FHEV are pretty much available in all C car and above class vehicles in body styles not dissimilar from their combustion powertrain counterparts. These hybrid powertrains offer the short range electric only range consumers want for everyday driving with the potential for long range driving using the combustion engine all with no threat of range anxiety.

</comment><comment><USER27> BREAKING NEWS: During a recession people will try to save by buying cheaper but lower quality goods.

There likely is also a non-trivial nationalism effect here. I don't think this has anything to do with the relative quality of product.

</comment><comment> blaser-waffle Heard good things about the Kia Soul Electric and the Hyunadi Kona EV. If I lived somewhere that is not deeply involved in oil production -- and thus not friendly to EVs -- I'd consider the Kona. Not a lot of storage space, though, and I don't believe the performance matches Tesla.

I'm still not sold on Teslas, too much hype and questionable behavior on Musk's part, but if they keep delivering I'd think about them in the future (again, pending leaving Oil Country).

VW lost my trust after Dieselgate.

<comment><USER28> I think the Kona looks great and I've heard good things about Hyundai in general. But the exploding battery pack gives me pause. [1]

Hopefully it was a one-off thing and their recent update [2] will prevent future problems. But still, I won't be buying one until a couple years have passed with no more incidents like this.

1: [https://www.carandbike.com/news/hyundai-kona-electric- explod...](https://www.carandbike.com/news/hyundai-kona-electric-explodes-in- owners-garage-in-canada-automaker-launches-investigation-2078409)

2: [https://insideevs.com/news/428159/hyundai-updates-battery- mo...](https://insideevs.com/news/428159/hyundai-updates-battery-monitoring- system-fire/)

</comment></comment><comment><USER19> Tesla is still biggest in Netherlands, but mainly because for Leasing it got tax incentives until 01- 2020

[https://nederlandelektrisch.nl/actueel/verkoopcijfers](https://nederlandelektrisch.nl/actueel/verkoopcijfers)

Tesla cars are still considered expensive and viewed as having low build quality.Especially the first model 3's and the Model X's.

German cars are hard to beat regarding build quality.

<comment><USER18> Doesn't the tax benefit apply to all EVs? Why would it benefit Tesla alone?

<comment><USER19> All EV's below a certain price point. But the tax benefit has been cut partially.

</comment></comment></comment><comment><USER29> VW are offering the Up and Golf which are small and mid-sized EV vehicles which are a lot cheaper than Tesla's larger saloons.

They're town cars, vs. motorway/freeway/autobahn Teslas. I suppose it's also about range too. You don't need the range in a town or city, so a smaller cheaper EV works fine.

<comment><USER30> The Golf is not a town car in Europe

</comment></comment><comment><USER31> even model 3 is huge compared to most cars on the road here.

</comment><comment><USER32> It's the iPhone atory all over again.

<comment><USER33> Who is the iPhone manufacture in that framing? Is it BMW? Or Tesla?

<comment><USER32> Tesla, having the first real breakthrough game-changer product in a new category. Various clones then start to appear at lower price points, then start to compete on quality. iPhone/Tesla continues to sell well, but is no longer dominant.

</comment></comment></comment><comment><USER34> Does anyone know exactly what is happening here? It feels like some of their competitors may be selling their cars at a more affordable price due to levies/import costs + perceived brand value for European, Korean and Japanese products. I might be off the handle on this one. Also, if this trend continues, how will TSLA pricing remain so high once the hype simmers.

<comment><USER9> I think it might just be simply cars available at different price points which give a good value proposition for that price. Tesla starts at 44k euros in Germany, there is plenty of space to undercut that. It is happening in a lot of countries now with a myriad of automakers coming up with EV models.

Also, not all of them have to match Tesla on either range/performance. If they can get 90% of the performance at say 70% of the price, it is a good buy. Auto market has always been competitive on price.

</comment></comment><comment><USER35> As a Tesla owner, I welcome the competition and hope it comes to America soon. I like my M3 but do not like driving an expensive car seen as a status symbol. My criteria are 300 miles of range and large enough for a family and unfortunately there aren't many options today.

</comment><comment><USER17> Tesla is being CRUSHED because a bunch of new entrants started selling EVs in lower price points, causing the market to GROW 68% which is BAD for Tesla for some reason.

Will the shorts ever quit? Sure Tesla sales dropped 20% in one unique market that is home to their biggest competitors. Those competitors finally got their EV act together and are targeting bigger markets with cheaper cars. But German consumers are going to be especially biased towards VW, BMW, and Hitlers Staff car maker. My dad worked for VW in in the US, so I never drove a non German car till I was in my late 20s.</comment>


Show HN: Sputlytics an open-source analytics platform built with Meteor - <AUTHOR> https://sputlytics.com <comment><USER2> blogers?

There's zero information in this landing page. Why Meteor for such a resource- intensive application that doesn't need realtime collaboration UIs at all?

<comment><AUTHOR> Sorry, we are working to improve the landing page, but this project is similar to Google Analytics, and the reason to use Meteor is because this framework is very productive to build prototypes and it's provides realtime resources which will be used in the main dashboard.

<comment><USER3> If you want normal people to use it, do not advertise it as a Meteor/Django/Rails/etc project. It is an Analytics platform. Backend details doesn't matter.

<comment><USER2> Yes, they do.

</comment></comment></comment></comment><comment><USER4> I don't really understand what it offers.

<comment><AUTHOR> Sorry about that, we improve the landing page, added some screenshots about the project.</comment></comment>


Lloyd S. Shapley, 92, Nobel Laureate and a Father of Game Theory, Is Dead - <AUTHOR> http://www.nytimes.com/2016/03/15/business/economy/lloyd-s-shapley-92-nobel-laureate-and-a-father-of-game-theory-is-dead.html?hpw&rref=obituaries&action=click&pgtype=Homepage&module=well-region&region=bottom-well&WT.nav=bottom-well <comment><USER2> Here are some interesting references to him that have appeared on HN over the years:

 _Nobel Prize in Economics awarded to Roth and Shapley for matching algorithm work_

[https://news.ycombinator.com/item?id=4656185](https://news.ycombinator.com/item?id=4656185)

 _Flash game illustrating the Gale-Shapley algorithm_

[https://news.ycombinator.com/item?id=2760332](https://news.ycombinator.com/item?id=2760332)</comment>


Easy CLI JSON Formatting - <AUTHOR> http://www.binarysludge.com/2012/11/09/easy-cli-json-formatting/

<comment><USER2> Couple dozen other ways to do it: [http://stackoverflow.com/questions/352098/how-to-pretty- prin...](http://stackoverflow.com/questions/352098/how-to-pretty-print-json- script/5006476)

</comment><comment><USER3> A problem with piping curl output through "python -mjson.tool" is that you can't include the response headers, which is sometimes useful.

(This was enough of a problem for me that I wrote a simple curl replacement in Python so I could have pretty-printed JSON or XML _and_ response headers, _or_ send the response directly to a Python REPL console as an object: <https://github.com/cobralibre/hotpotato> )

<comment><USER4> Emit the headers to stderr?

      curl -v -s "$url" | python -mjson.tool
      curl -D /dev/stderr -s "$url" | python -mjson.tool

</comment></comment><comment><USER5> Here is Paul Irish's .function dotfile solution: [https://github.com/paulirish/dotfiles/blob/master/.functions...](https://github.com/paulirish/dotfiles/blob/master/.functions#L55).

Really recommend setting up his dotfiles. After you back up your dotfiles, you can install his (which overwrites yours) just by writing

        git clone https://github.com/paulirish/dotfiles.git && cd dotfiles && ./sync.sh

</comment><comment><USER6> This is another good one for formatting / filtering json: <http://stedolan.github.com/jq/>

</comment><comment><USER7> Here is the bash alias I have been using for CLI JSON formatting, and as a bonus, my random password generator:

alias jsonpp='ruby -r json -e '\''puts JSON.pretty_generate(JSON.parse(STDIN.read))'\'''

alias md5pass='dd if=/dev/random bs=100 count=1 2>/dev/null | md5'

</comment><comment><USER8> I've done something similar a while back. A simple "works-for-me" package. Feel free to try it out:

<https://github.com/exhuma/braindump/tree/master/jsonformat>

</comment><comment><USER9> httpie is a nice replacement for curl which, among other things, has built-in formatting so you can get pretty JSON / XML responses without giving up your ability to do things like displaying response headers:

<https://github.com/jkbr/httpie>

</comment><comment><USER10> I use jazor and coderay for that:

gem install jazor coderay

curl $SOMETHING | jazor | coderay -json

</comment><comment><USER11> Or with jsonlist in NodeJS.</comment>


A Plan to Stop Breaches with Dead Simple Database Encryption - <AUTHOR> https://www.wired.com/story/field-level-encryption-databases-mongobd/ <comment><AUTHOR> MongoDB Offers Field Level Encryption: [https://www.schneier.com/blog/archives/2019/06/mongodb_offer...](https://www.schneier.com/blog/archives/2019/06/mongodb_offers_.html)</comment>


Is Aluminum Magnetic? (2013) - <AUTHOR> http://terpconnect.umd.edu/~wbreslyn/magnets/is-aluminium-magnetic.html

<comment><USER2> On the subject of interesting magnetic effects, a lot of people don't know that pretty much all matter is magnetic, just that the strength of the interaction is a lot smaller than what we're used to with ferromagnets.

All materials exhibit a diamagnetic (pushes against the field) effect, but in many materials, that effect is overwhelmed by a competing paramagnetic (pushes in the direction of the field) effect. Most of the things we call "magnets" exhibit ferromagnetism, which typically produces much stronger forces than either of the previous two.

H2O is particularly interesting, because it's actually diamagnetic, and will push away from magnetic fields. Given a strong enough magnet, you can have a lot of fun with this effect by putting common water-filled objects in its field: [http://www.ru.nl/hfml/research/levitation/diamagnetic/](http://www.ru.nl/hfml/research/levitation/diamagnetic/)

<comment><USER3> Another fun fact: Magnetic fields are a consequence of relativity and length contraction of electric fields.

[http://physics.weber.edu/schroeder/mrr/MRRtalk.html](http://physics.weber.edu/schroeder/mrr/MRRtalk.html)

This video also talks about it: [https://www.youtube.com/watch?v=1TKSfAkWWN0](https://www.youtube.com/watch?v=1TKSfAkWWN0)

<comment><USER4> Nitpick: relativity can _explain_ magnetism, not _cause_ magnetism.

<comment><USER3> True, it explains them in terms of electric fields, but we still don't know what those are.

<comment><USER5> We know:

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

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

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

 _An electric field is generated by electric charge and time-varying magnetic fields_

 _Charge is the fundamental property of forms of matter that exhibit electrostatic attraction or repulsion in the presence of other matter. Electric charge is a characteristic property of many subatomic particles._

<comment><USER6> Nitpicking again - the fields are a working mathematical description but, as far as I know, we don't know if or in what sense they are real things, whatever real thing even means. The electrical and magnetic fields change when you switch reference frames, so that does not sound like something that really exists independent of an observer. The vector potential on the other hand does not change but it does not seem real either because it has gauge symmetry.

<comment><USER3> We know that the A field is more fundamental (at least Feynman thought so):

[http://en.wikipedia.org/wiki/Aharonov%E2%80%93Bohm_effect](http://en.wikipedia.org/wiki/Aharonov%E2%80%93Bohm_effect)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I don't think any of these examples actually imply anything about whether aluminum is "magnetic" (for any definition of magnetic).

All the demonstrations rely on a changing magnetic field, either because the magnet is moving, or because the aluminum is moving. This induces an electric field in the aluminum (as it would in any conductor) which moves the aluminum, induces a magnetic field which moves the magnet, etc., but is independent of whether aluminum is ferromagnetic, paramagnetic or diamagnetic.

</comment><comment><USER8> I think the way to say it is that All is diamagnetic.

</comment><comment><USER9> Too bad the videos are not done by Bill Nye.

Electromagnetics is awesome, nonetheless. :)

</comment><comment><USER10> you mean AL-e-um? (w/ British overtone.. :)

</comment><comment><USER11> The one thing I really took away from this (and unfortunately not entirely relevant) is that American English also has it's own SPELLING of Aluminium, not just pronunciation.

It makes the difference in pronunciation make a lot more sense to me. Are there (m)any other cases of this, where both the spelling and pronunciation are different? Leisure, herbs, etc.? (Lift/Elevator doesn't count)

<comment><USER12> [http://en.wikipedia.org/wiki/American_and_British_English_sp...](http://en.wikipedia.org/wiki/American_and_British_English_spelling_differences#Different_spellings_for_different_pronunciations)

<comment><USER11> I was hoping for a bit more with regards to significant pronunciation differences. Not just spelling differences.</comment></comment></comment>


Distributed Valley, Maybe - <AUTHOR> https://medium.com/@gerstenzang/distributed-valley-d7dfdf13abc <comment><AUTHOR> It is my impression that due to the Valley's housing and immigration blunders, more good startups are being founded in London and Berlin, which perhaps would have started in Silicon Valley, given the choice. But it'd be obviously be very hard to quantify.</comment>