Facebook ordered to delete illegally collected data by Belgian court - <AUTHOR> https://www.theguardian.com/technology/2018/feb/16/facebook-ordered-stop-collecting-user-data-fines-belgian-court <comment><USER2> That's still pretty mild compared to what will be possible past May 15th. FB better count its blessings that this happened now.

[https://www.gdpreu.org/compliance/fines-and- penalties/](https://www.gdpreu.org/compliance/fines-and-penalties/)

No cap, up to 4% of worldwide annual revenues for these kind of transgressions of the law.

<comment><USER3> I really think that all of you who are salivating at the prospect of the GDPR destroying FB should prepare yourself for disappointment. The intent behind the law might be good, but it's unlikely to accomplish what you want it to.

1\. It's a bad law, because it's so overly broad and vague that it's going to be impossible to be fully compliant. For example, an EU resident hits your server while they're on vacation in Australia. You've stored analytics, IP addresses, etc. Congrats, you're now in violation. That's the tip of the iceberg. The law also broadly contradicts loads of other laws about how data must be _retained_ for legal and compliance purposes. So now that everyone is breaking this law, regulators are free to just decide who they want to punish and how much. That's incredibly damaging to the fundamental idea of the rule of law.

2\. It sets a really bad precedent regarding jurisdiction and the internet. So now any jurisdiction in the world can declare that if you do something they don't like that even remotely affects them, you owe them whatever they want. What if some oppressive regime passes a law that if your website is shown to one of their citizens and doesn't have a message praising their leader, you owe them 100% of your global revenue in perpetuity. Why not? You've violated their laws regarding behavior towards their citizens!

3\. As item #2 gets at, countries can pass whatever laws they want, but they're limited by their ability to enforce those laws. If the EU gets overly broad and punitive here (as I'd argue they have), then companies will either just leave, or shift their digital operations to jurisdictions where courts can't enforce those laws.

Ultimately, I think that the realistic path here is that Google and Facebook will fundamentally change almost nothing. The user experience will just get worse, because we'll have to constantly be agreeing to a long list of terms about how our data will be used, etc, etc. And people _will_ just agree and move on. Look at the cookie thing. Yes, I know you think it's different this time because of X, Y, and Z, but I'm skeptical. We'll see.

Regardless, the idea that we're suddenly going to live in a new golden age of digital privacy because the GDPR has good intentions is laughable.

<comment><USER4> You shouldn't be storing anything without first obtaining consent. Why are you using analytics indiscriminately?

The GDPR does actually have exceptions for cases where local law requires you to store data.

Any jurisdiction can already enforce their laws upon you if you affect their citizens. There's nothing new here.

<comment><USER3> _You shouldn 't be storing anything without first obtaining consent. Why are you using analytics indiscriminately?_

Sorry, I find this ludicrous. Using analytics "indiscriminately"? What does that even mean? The most basic use case for analytics is to use them indiscriminately to see how visitors are using your site.

Not to mention that this is basically impossible, since storing IP addresses in Apache log files is also probably a breach. Someone in the EU sends you an email, now you're in violation because the header info is PII. A german walks into your hospital in Miami and signs in; if you don't have a special snowflake data management process for them that runs alongside your standard HIPAA-compliant one, you're probably in violation.

 _Any jurisdiction can already enforce their laws upon you if you affect their citizens._

No, they can't. They can _declare_ any law, but that doesn't mean they can enforce it.

I really think that basically every business around the world who doesn't have a direct EU presence in terms of office, employees should (and probably will) just ignore the GDPR. It's a huge violation of sovereignty, the freedom and ideals of the internet, and a great example of how people will be pleased to let their governments enact policies no matter how harmful or dangerous as long as they're against an "enemy" that they hate.

<comment><USER5> > Any jurisdiction can already enforce their laws upon you if you affect their > citizens.

Isnt't that already done by the US? The case against Kim Dotcom comes to my mind.

<comment><USER6> Kim Dotcom made the mistake of operating servers in the US jurisdiction. New Zealand made the mistake of complying with the US requests to extradite him. The US could not have effectively enforced its laws upon Kim Dotcom without New Zealand's assistance.

If China comes after me for something terrible I say about Mao (stray absurd example), and the US turns me over to China because they're influenced and or intimidated by China, that would be a similar premise: the US would bear immense, near total responsibility for capitulating, showing no backbone.

</comment></comment></comment></comment></comment></comment><comment><USER7> I think it is now time for society to regulate Facebook, Google, and whatever other company out there, that seeks to collect information on people.

Facebook and Google, are now collecting and tracking users across the Internet, just so that they can make a few extra dollars per person, but on aggregate, they will make billions.

They have essentially removed the right for us to browse the Internet anonymously.

This is what the libraries tried to protect for so long: your privacy on what books you check out. But now, with the Internet, there is no anonymous browsing anymore. It's all recorded.

It is already terrible enough that the government is doing it. But at least we know that the government is doing it.

But for a commercial enterprise to do it, without proper regard for consumer information, privacy, and protection. Then, this is a step too far. In fact, we don't even know what these private companies are doing. And the people that they employ don't have any special training, or any security clearances to handle such private information.

When Facebook goes bankrupt, like Yahoo did, then what is the first thing that they will do? They will immediately sell off all that valuable data that they have collected on the population for nearly 20 years.

What they have taken from us, is the right to be forgotten. The right to control the privacy of our lives, after we die. Sure, some people may not mind having all of their private digital history published, for all the world to see. But for some other people, we want to maintain that privacy, and take it to our grave.

<comment><USER8> > It is already terrible enough that the government is doing it. But at least > we know that the government is doing it.

This argument feels so weird to me. We have a group of self-interested companies that that will sell your privacy for a nickel (Google, Facebook, etc...) and then we have a government that values your privacy at nothing. The government views even trying to keep your matters private (like encrypting your phone, as advocated by the big, self interested companies) as being inherently linked with crime and terrorism. And we now we want the government (you know, the "if you have nothing to hide you have nothing to fear" guys), to be in charge of regulating internet privacy? Thanks, but no thanks.

Given how much the majority US congress cares about privacy (almost 0) and how little they understand technology, I am quite sure whatever they create would be a giant cluster fuck.

In Germany or some other place with enlightened politicians? Yes, please, go ahead. But dear god if the FCC or some such is put charge or regulating privacy it's going to make the TSA look like geniuses.

</comment></comment><comment><USER9> How can I pretend to be from the EU so that I get better protection from Facebook? Are there any cheap and trustable VPNs (I don't use Facebook a lot, and certainly not to watch bandwidth/traffic intensive videos) that would help for this? Any other solutions? How can such solutions be spread around so that more users get these protections, regardless of where they physically live?

<comment><USER10> > How can I pretend to be from the EU so that I get better protection from > Facebook

You don't have to. You can start today by not giving facebook any more information (stop using their service). If facebook bleeds enough users, maybe they'll become motivated to change. I seriously doubt, at least in the US, that we'll see any legislation that forces them to change here.

<comment><USER11> Facebook will still have a lot of data on you, even if you don't use their services.

Their Like-Buttons that are spread on a lot of the web, allow them to track your IP-address and what webpage you're on (thanks to the HTTP referrer). They also have an analytics library that some webpages use, giving them the same data and more.

And your friends probably have you in their contacts on their phones, which is uploaded to WhatsApp's server (unless none of them uses WhatsApp).

<comment><USER10> > Facebook will still have a lot of data on you, even if you don't use their > services.

That doesn't mean you should not stop giving them even more information by you directly using their services.

There are various mechanisms to preventing tracking like using an ad blocker to prevent loading tracking elements, preventing 3rd party cookies from being set, using something like noscript to block javascript from facebook/google/etc, and using Tor. Many of these don't take long at all to configure.

<comment><USER11> Which is definitely not what I was trying to argue here.

You implied that one does not need governmental help to protect against Facebook. That's what I argued against. No matter how informed you are about Facebook's practices and no matter how technologically skilled you are, you cannot be sure that Facebook doesn't have your data.

<comment><USER10> It's not that I don't agree you don't need governmental help to protect against facebook, but rather that it's very unlikely to come from the US government any time soon. You'd be better off taking active steps to protect yourself as much as possible (admittedly won't be complete protection) than sitting around hoping someone in DC will care enough to protect you. The current trend is that things will get worse before they get better (if ever). Write your congress folks, etc etc, I guess.

</comment></comment></comment></comment></comment></comment><comment><USER12> How is this different than Google Analytics?

Both companies are tracking users and Google is doing this even more than Facebook.

<comment><USER13> As long as tracking is not connected to personal information (name, IP, email) it is OK by GDPR. So Google Analytics is not affected (as long as you specify the anonymizeIps option) as it does not associate a user with their actual identity.

<comment><USER14> Actually, the law is defined quite broadly, not restricting itself to "name, IP, email".

Have you considered how a combination of innocuous data points, such as "browser + city + top 3 popular sites" can make a person uniquely identifiable?

Or any other of the billions of combinations of your browsing patterns or seemingly random daily activities. Your entropy fingerprint, if you will.

Check out "differential privacy" to learn more [0].

We've built a product to help companies identify the more obvious "private data" cases ([https://pii-tools.com](https://pii-tools.com)), but we're not fooling ourselves that we've solved "personal data". Or that the task is even solvable. A dedicated person or algorithm can identify people from surprisingly little information (in the extreme, think Sherlock Holmes). Identification is a matter of degree, rather than a binary "name, IP, email" thing.

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

<comment><USER13> > Have you considered how a combination of innocuous data points, such as > "browser + city + top 3 popular sites" can make a person uniquely > identifiable?

While this is certainly the case. As long as you do not use the data in that way it is not illegal to collect it. Intent and actions are very important in GDPR.

Standard law: Purchasing a knife is not illegal, but using it to kill is.

GDPR: Collecting browser, behaviour and city is not illegal, but correlating it in order to connect collected data to a single person is.

</comment></comment></comment></comment><comment><USER15> Regardless of whether this is a good idea or not, how will it possibly be enforced against a multinational giant like Facebook, with private source code and machines to store data all over the world?

<comment><USER16> _Generally_ by leveraging the fact that Facebook probably wants to remain on reasonable terms with most governments. Modulo appeals etc, once they've finally lost (provided that's the final decision), they'll probably just comply.

If they refuse, the government can seize any assets Facebook might hold in Belgium, possibly other EU countries, they could block or fine Belgian companies and individuals that do business with Facebook and such things, and escalate all the way to issuing warrants for Facebook executives' arrests, which with the European Arrest Warrant could be effectuated across the EU.

[https://www.bloomberg.com/news/articles/2017-01-09/volkswage...](https://www.bloomberg.com/news/articles/2017-01-09/volkswagen- executive-arrested-in-miami-in-u-s-emission-probe)

</comment></comment><comment><USER17> Is the Court of First Instance like a district court/appeals court? Because I remember Facebook winning here:

[https://www.reuters.com/article/us-facebook- belgium/facebook...](https://www.reuters.com/article/us-facebook- belgium/facebook-wins-privacy-case-against-belgian-data-protection-authority- idUSKCN0ZF1VV)

Or is this a different case?

<comment><USER18> Not a lawyer and I had to translate from Dutch, but the first legal encounter involved the Privacy Commission looking for interim measures. Facebook first lost, then won the appeal. This is (sort of?) the same case, but now they're looking for a final judgment on the merits of the case.

The current process started a couple of months ago: [https://deredactie.be/cm/vrtnieuws.english/News/1.3080677](https://deredactie.be/cm/vrtnieuws.english/News/1.3080677)

</comment></comment><comment><USER19> I'm not sure why any mega-companies bother with running EU business units. Just put your offices and data centers outside EU jurisdiction (Hello Switzerland, Turkey, Morocco and now England) and pay your engineers enough to compensate for being in a less desirable location (in some cases) and you're still way ahead of the game.

<comment><USER20> 1-2k€ vs $10k salaries?

At least that's what they do in my EU country.

</comment></comment><comment><USER21> Recently facebook pixel started collecting information on pretty much everything a user does on the website naming them "microdata". Those users have no clue they are being tracked in that manner.

</comment><comment><USER22> I'm looking at this on mobile, and the cookie policy footer is taking up more than half the screen. Oh the irony.

</comment><comment><USER23> I'm curious - if I have a clean browser history(no Facebook login ever), and Facebook still tracks me, how does that information benefit Facebook?

Alternatively, how does it affect me?

<comment><USER24> Their official stance is that these cookies are used for fraud detection: [https://www.facebook.com/notes/alex-stamos/preserving- securi...](https://www.facebook.com/notes/alex-stamos/preserving-security-in- belgium/10153678944202929) In theory, Facebook could also sell these ghost profiles to web sites that have the Facebook like button or Facebook comments and want to show personalized ads.

</comment></comment><comment><USER25> just wondering here, but what would stop them -or any other multinational big corp- from say redirecting any web connection from a country A where X is illegal to one of their servers in country B,C,D etc. where it is legal, do all number crunching there and send unrecognizable results back to A?

<comment><USER26> The relevant laws generally don't care about server locations, or only in a negative sense (data processing in jurisdictions with weaker protections requires additional steps to be acceptable)

Since in general evidence for these things is not collected by grabbing local servers and searching them, this doesn't really give them any benefit.

</comment></comment><comment><USER27> Why was the Belgian court illegally collecting data in the first place? ;-)

</comment><comment><USER28> Ethnic cleansing was so much easier with the church records.

</comment><comment><USER29> Best part about this article is that the Guardian has Facebook tracking code that collects user data on it. [https://imgur.com/a/UrSyt](https://imgur.com/a/UrSyt)

<comment><USER30> Why is that the best part?

<comment><USER31> because we are being socialized to over-react to even the hint of hypocrisy as invalidating rather than engaging in meaningful evaluation of information sources quality.

<comment><USER29> It doesn't invalidate the article at all. Quite the opposite.

</comment></comment></comment></comment><comment><USER32> If someone can suggest a non-translated article we can update the link here.

<comment><USER33> [https://www.theguardian.com/technology/2018/feb/16/facebook-...](https://www.theguardian.com/technology/2018/feb/16/facebook- ordered-stop-collecting-user-data-fines-belgian-court)

<comment><USER32> Thanks! Updated from [https://translate.google.co.uk/translate?sl=auto&tl=en&js=y&...](https://translate.google.co.uk/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fwww.demorgen.be%2Ftechnologie%2Fbrusselse- rechtbank-veroordeelt-facebook-voor-schending-privacy-b460a887%2F&edit- text=&act=url).</comment></comment></comment>


Dismantling the Space Shuttle Program - <AUTHOR> http://www.theatlantic.com/infocus/2011/04/dismantling-the-space-shuttle-program/100045/ <comment><USER2> <http://www.youtube.com/watch?v=3po2gdQNgqk>

I remember watching the episode of Top Gear where James May drives the new moon buggy, then sits down and talk about the old moon buggy.

[Kind of a spoiler] The old one, which served everyone so well, was left behind to collect dust on the surface of the moon for the rest of eternity. And then, he says, "But if you ask me, it's not half as sad a moon buggy that will never get up there at all." I tear up just thinking about it.

<comment><USER3> Thank you. That was amazing.

</comment></comment><comment><USER4> Can't help feeling a little sad. The same feeling when the Concorde was retired.

Its not sad that these awesome machines are being phased out. Machines/designs become old and obsolete all the time. But in this case, there is simply nothing better to replace it. It is as if this was as far as mankind could go and have to turn back.

Here's to hoping that some day there will something more ingenious that will be a worthy successor.

<comment><USER5> This one was obsolete well before its first flight. Astronauts could be delivered to LEO with expendables for less money. Satellites and supplies to the ISS could be delivered without risking human lives and, again, for less money. By using expendables you would end-up building modular spacecraft, iterating designs and improving them on every launch. By using less money you get to build more expendables.

The shuttle is a beautiful machine, but it's even less practical than the Concorde. And many, many orders of magnitude more expensive.

Sadly, a Saturn/Apollo stack would be more ingenious and a worthy successor.

That said, the SRBs, the tank and the engines could be put to good use. I guess the tank could be adapted to LOX/Jet-1 and engines and payload could be fitted on it.

The orbiter is the problem.

</comment></comment><comment><USER6> It breaks my heart that we didn't have a replacement lined up years ago. I fear it will take China landing on the moon until the US gets serious about funding NASA to do some hands on space exploration. Granted I'm happy that we live in an era when space science is booming, but getting humans off this rock more often shouldn't be that hard to do in the 21st Century...

<comment><USER7> NASA's budget has been pretty steady at about half its boom-time moon-landing 60's budget for several decades. <http://jeffreyellis.org/images/NASA_budget_history_2.png> That's $15 Billion a year - not a ton of money when the shuttle costs a billion per launch, but I'll bet it's plenty in the hands of a more efficient organization such as SpaceX, with costs 1/5 - 1/10th as much.

<comment><USER8> Exactly, and when there is a good commercial _reason_ for going to the moon (or anywhere else).

<comment><USER9> I think there have been good commercial reasons for decades. The problem isn't inherent to the task, the problem has been legislative and regulatory uncertainty. The only way around that would be operating from a more open jurisdiction (difficult due to so many of your potential workers being banned from working with you due to ITAR) or having so much personal wealth that you can afford to take the risk, which is the path it seems to be happening on.

<comment><USER8> "I think there have been good commercial reasons for decades"

What commercial reason would you have for going to the moon at the moment?

<comment><USER9> The moon is an excellent source of raw materials for orbital work: silicon, oxygen, aluminum, and potentially the rare earths also needed to turn these into communication satellites and solar power satellites. We're on the cusp of being able to do these things entirely through automation and occasional remote operation, but it would have likely been profitable to do it with on- site humans in the 80s if political fear hadn't gotten in the way.

</comment></comment></comment></comment></comment></comment><comment><USER10> One of the great boondoggles of our history is finally wound down. The sentiment should not be nostalgia, but rage for all those wasted resources. Consider just the kind of unmanned probes that could have been sent out there.

<comment><USER11> Wait until you hear how much the military costs. Just consider the kind of foreign aid we could provide if we weren't shooting injured civilians from billion-dollar helicopters.

The point is, the amount of money the space shuttle wastes is nothing compared to what the rest of the government wastes. Things get funded because they appeal to people -- the space shuttle is the reason NASA gets funded at all. Sending people to space is _cool_.

<comment><USER12> Sending people to space is cool. But sending people AND stuff to space at the same time is simply a stupid waste of money. The Apollo program docked space ships launched from the moon. If the shuttle was designed for 8 people + air filters + some water and no cargo it could have added a lot more redundancy and with a better Mass to surface area ratio it could have returned to earth a lot cooler. They could have even added some air breathing engines and landed an airplane vs a falling brick.

We needed a 6-8 seat aircraft and built a 737.

</comment></comment></comment><comment><USER13> Looking at this photo:

[http://cdn.theatlantic.com/static/infocus/shuttle041311/s_d0...](http://cdn.theatlantic.com/static/infocus/shuttle041311/s_d06_20112187.jpg)

I can't help but picture a storied old workhorse complicity plodding to it's demise. Just think of the places this thing has been! It's somehow a sad picture.

It's going to be dismantled (killed), 'made safe' (sterilized), and put on public display (put up in stocks). Outta go out with a bit more glory.

<comment><USER14> It's appealing to romanticize and anthropomorphize machines, but you really shouldn't. They only exist to suit the whims and needs of people, and any romance or feelings between man and machine are strictly one-way.

<http://www.youtube.com/watch?v=TsQXQGaasUg>

<comment><USER3> That picture is meaningful to me because of what it represents.

</comment></comment></comment><comment><USER15> Open source it! Not happening, I know, but wouldn't that be sweet?

<comment><USER16> Doing so would be in violation of ITAR among other laws:

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

<comment><USER17> Are you sure? The space shuttle has classified secret communications tech on board?

According to your link Intelsat 708 had classified systems. I find it highly unlikely that the space shuttle has militarily sensitive secrets unless you're suggesting that the shuttle program itself was militarised?

<comment><USER16> The level of scrutiny to get an approval to release any meaningful part of the Shuttle flight software would be almost insuperable. "Open-sourcing it" is utterly out of the question.

However, this is not because there is secret communications tech on board.

It's because any "space-based technology" is covered by ITAR, and the US government has signaled (in the case I referenced, and others) that the gloves are off. It's not just fining the companies concerned, it's filing criminal charges against the involved individuals. This has been true for some years now, and the crystallizing event was the Intelsat incident above, which caused a multifaceted furor that resists summarization.

A case in point. I worked on a project to analyze ISS (space station) engineering data. We needed to look at the currents flowing through a motor on ISS that controls orientation of the solar panels. For publications released in the open literature, we were not allowed to label the axes on any of these motor currents. We were not allowed to have foreign nationals (such as, say, a Canadian grad student) working on the project.

The point being, any information about space-based systems is covered by ITAR, and the standard of scrutiny is very high.

<comment><USER17> I hesitate to say this but that sounds moronic.

What, in your opinion, are they trying to achieve with this sort of "scrutiny"?

Are they trying to stop Iran from developing a range of super-shuttles with lasers?

Presumably they're now going to pension off all NASA staff to avoid them sharing such expertise (like which way round to wire a motor) with outsiders?

<comment><USER16> I suppose they're trying to limit Chinese technological competition, and to delay Iran's getting long-range missiles (to choose two examples).

Legal solutions like ITAR are always coarse-grained, and the whole thing ends up looking silly because parts of it are silly.</comment></comment></comment></comment></comment></comment>


Ember.js 2.7 and 2.8 beta released - <AUTHOR> http://emberjs.com/blog/2016/07/25/ember-2-7-and-2-8-beta-released.html <comment><USER2> I remember seeing the blog post about Ember 2.0 being released around this time 1 year ago. Previously I was edging towards React and the built tools du jour. I started a new job which needed a rewritten frontend, so I went with Ember and am super happy. The CLI tools are fantastic, and coming from Rails the integrated test suite, generators and opinionated framework is such a breeze. I am super excited about what the future holds, and having a community working together on one project and goal is amazing.

Even though they don't have a huge commercial backing, a lot of medium-large companies are using Ember and improving the ecosystem. The core team are really smart people, and I am amazed at the smart stuff they build, yet how they have found a way of working to iterate so fast.

<comment><USER3> I'm in the same boat, it's one of the only tools I feel almost fanatical about sharing and spreading. It's really nice and it's a shame it doesn't get more love on HN.

The only downside is it takes a while to get your head around its object model and how to structure your apps in terms of computed properties and observers. Once that clicks though your in a nirvana of productiveness, and having toyed with the react ecosystem I've got to say that Embers learning curve is a lot nicer.

There is Glimmer 2 comming out soonish, fast boot taking off and the Ember engines RFC implemented in the next version. Things are looking good!

<comment><USER4> > it's a shame it doesn't get more love on HN

Probably because it feels a bit like "the old way" for many. A big framework that covers all and brings its own tooling. Today, everyone uses its own stack to build. WebPack, Browserify, Rollup, tsc, Gulp, Make etc.

When I was using Ember, I used it with Gulp, Emblem, LiveScript etc.

Then they pulled this Ember-CLI stuff and some modules told me, that they depend on it. Suddendly I had to learn a new tool and tell it to do my bidding or else I couldn't use Ember add ons (painlessly).

I don't think it's a inherently bad idea, especially for a Framework as old as Ember, which reinvents itself constantly.

<comment><USER5> Ember was around well before Ember-CLI became a thing and it still didn't get much love.

Seems to me the obvious answer is the obvious. Lack of marketing muscle that is provided by being part of a Google or a Facebook.

</comment></comment></comment></comment><comment><USER6> Over-reliance on strings is a pattern that I've seen a lot in the Javascript environment. For example:

      var arr = [{ value: 'a' }, { value: 'a' }, { value: 'b' }, { value: 'b' }];
      arr.uniqBy('value');  // [{ value: 'a' }, { value: 'b' }]

Wouldn't be better to do something like this ?

      var arr = [{ value: 'a' }, { value: 'a' }, { value: 'b' }, { value: 'b' }];
      arr.uniqBy(element => element.value);  // [{ value: 'a' }, { value: 'b' }]

You have to write a little bit more (I could have used "e" instead of "element", though) but if you do a typo in the name of the property, it can be caught by a linter/compiler, and you don't get the feeling you're relying on Vodoo magic.

Are there any advantages to use a string instead of a "static" way of accessing the property ?

<comment><USER3> EmberJS uses strings as property paths. You can use 'foo.bar.firstObject.baz' as a unique key the same as any other function that takes a property paths (like a computed property). In Ember you write a _lot_ of these so any small overhead like a lambda is a bit of a waste.

Also I don't think ember would work with functions instead of strings, the whole point of the strings is that the unique function is _only called when one of the items in the property paths changes_ , and you can't get that from functions. You can only evaluate them.

<comment><USER6> Thanks, I didn't know that Ember did more than just fetching the value.

About time wasted, I feel like in the long run, you gain more time by writing statically analyzable code. If you make a typo in the string, you would have to build/transpile+launch the code in order to see the error. Additionaly, if you ever refactor the name of the property, the linter will directly tell you that "value" in the lambda must be changed.

<comment><USER3> I agree and one of the downsides is exactly this. I've felt this pain before :(

But there is no way around it - property keys are strings because they can be many layers deep (`foo.bar.test.abc`), and if any of those are undefined then the result is undefined. Also any of those properties (`foo`, `bar`, `test` or `abc`) could be themselves computed properties that depend on others. You also get features like `@each`, used for arrays like `foo.@each.bar`.

Perhaps a good middleground would be to do something like C#'s LINQ stuff, where the lambdas are analysed and the values extracted.

</comment></comment></comment></comment><comment><USER7> How does Ember fit into today's web ecosystem especially as it relates to React?

<comment><USER2> Ember is moving to a similar view model as React (though still having templates separated from logic) but isolated components with immutable state being passed down. React has a really vibrant ecosystems with lots of batteries to choose from, whereas Ember comes with batteries included. For example routing, test runners, controller/view logic concerns.

Ember also has an optional data package called ember-data, with the goal of being the defacto way of dealing with server side state. It's fairly opinionated, but swappable with other alternatives.

</comment></comment><comment><USER8> I am really excited to see Engines getting some more recognition in this release. We are building [https://tripcloud.io/](https://tripcloud.io/) entirely with Ember and the application is starting to get bigger and bigger.

We have been waiting to see it stabilize a little so we can adopt it. Can we safely use it in production now?

<comment><USER9> Developers from several large public-facing sites have already told me that they're using engines in production. In fact, Kacey Coughlin is giving a talk tonight at the SF Ember meetup about LinkedIn's experience using engines [1]. Granted, the talk is titled "On the Bleeding Edge with Ember Engines", which fairly points out that there are some rough edges left to smooth over.

Still, I think it's a pretty good time to start exploring engines. I'd say that the feature should be quite stable by the time 2.8 stable ships. Plus, we should have a preliminary lazy-loading story finished by then, which has the potential to really impact your app's perceived performance.

[1] - [http://www.meetup.com/Ember- SF/events/231368426/](http://www.meetup.com/Ember-SF/events/231368426/)

</comment></comment><comment><USER10> I used Ember once, took over an Ember project from a very good Ember programmer. I found I have to duplicate the models from database, to ORM in backend, and Ember. Everytime I have to modify/add a database column, I have to modify 3 places. So I end up get ride of Ember and use Flask-Admin only. Even better, I get ride of the ORM in Flask too, using reflection. Then my code is 3 times less, and I feel happy.

<comment><USER11> if your project was capable of running as just a series of backend driven pages, Ember probably wasn't the right choice to start with. That isn't really what it is for.

</comment></comment><comment><USER12> Does Ember offer something similar to React Native for React or NativeScript for Angular 2?

<comment><USER13> I don't believe so. My opinion is that well optimized hybrid apps can often compete with the quality of native apps. It is not easy crafting a good hybrid app, and few good ones exist. Many of the low quality hybrid apps have given hybrid apps a bad reputation. Ember + cordova can be a good toolset for creating good hybrid apps.

<comment><USER14> Which one is it? "Hybrid apps can often compete", or "few good ones exist"?

<comment><USER13> LOL. I can see how that could be confusing. In theory a hybrid app could compete, if it was written well; yet, there are plenty of bad hybrid apps that give hybrid apps a bad name. I think it is a matter of effort that developers are willing to put into making a hybrid app. With a hybrid app, having good UI design is more of a challenge because they can not always leverage OS UI components, and when they try to mimic OS UI components, they never look quite right. With custom UI design, many users may never know if they are using a hybrid app or native. Obviously, hybrid apps are not an option for all types of apps, but I'd argue that hybrid is a viable option for many if not most types of apps. So long as the performance of the hybrid app is not noticeably slow to the end user, hybrid apps can be great apps.

</comment></comment></comment></comment><comment><USER15> This will be awesome

</comment><comment><USER7> Why does Ember matter?

<comment><USER16> Why wouldn't it matter? It's an actively developed framework which many people really like. I'm actually baffled that it doesn't get mentioned more often.

<comment><USER17> A fair amount of posts on HN deal with the negative sides of things, so it could be a good sign that Ember does not get mentioned more often while growing >)</comment></comment></comment>


$1B locked in Ethereum's DeFi - <AUTHOR> https://imgur.com/a/1WZdqam <comment><USER2> It's mostly because the price of Ether has been going up lately.

On the other hand, the amount of Ether locked has started to go down. That's because as the price of Ether goes up, less is needed to be locked as collateral.</comment>


The biggest hackathon in the blockchain space is to launch a new token HKG - <AUTHOR> https://www.cryptocoinsnews.com/ether-camp-announces-hacker-gold-tokens/? <comment><USER2> A token to fuel an accelerator isn't a bad idea at all. Most accelerators would have loved to do the same, but don't have a blockchain they verify on. This project is the first of a kind in terms of the tech.

<comment><USER3> Back in the 90s this was a wet dream to many people. Like the article mentioned, this could have been done on a native token (btc/eth) but best of luck with the experiment.</comment></comment>


HPN-SSH: High Performance ssh and scp - <AUTHOR> http://www.psc.edu/index.php/hpn-ssh <comment><USER2> They apply cleanly when building for OSX and work well with the Homebrew patches infrastructure. Get them with

        brew install --with-hpn https://raw.githubusercontent.com/FiloSottile/homebrew-dupes/423f9eed0e557f4a63947b04f5dbe22c895ff6f7/openssh.rb

Or, once the PR [https://github.com/Homebrew/homebrew- dupes/pull/358](https://github.com/Homebrew/homebrew-dupes/pull/358) is merged,

        brew tap homebrew/dupes
        brew install --with-hpn openssh

EDIT: fix, thanks dkubb

<comment><USER3> Did you mean "brew install --with-hpn openssh"?

</comment></comment><comment><USER4> This is buggy. We had it deployed on a small number of servers , basically our backup server and a few servers that needed to backup to the backup server.

We would run into problems with standard SSH connecting to HPN-SSH these bugs were confusing and difficult to debug until we realized that the difference was HPN-SSH and reverted to standard SSH all problems went away quite quickly.

<comment><USER5> Could you tell me what sort of problems you were experiencing? I'm more than happy to take bug reports at email@example.com.

</comment></comment><comment><USER6> What is the license of these patches? There doesn't seem to be anything on the website, nor in all of the patches available for download.

Are there other reasons apart from licensing why this has not been merged into mainline OpenSSH?

Edit: At least the multithreaded AES-CTR cipher has license information in the header, which seems to be standard BSD. It stands to reason that the rest of the patches have the same license?

<comment><USER7> The Sourceforge page says the project is BSD-licensed. But if the license isn't applied to all the files, and no other root-directory file says that all the files contained within are licensed as such, i'm pretty sure you're not legally covered. If I were a distro I wouldn't include these without asking the authors to put a license declaration covering all the patch changes at the beginning of the file.

<comment><USER5> I am the author. Honestly, I initially released them without any sort of license - entirely free from any sort of license restriction. People don't seem to understand that so I said they have a BSD license on them. Personally, the license is kind of a moot point (in my view) as the once you patch OpenSSH with them the code is subsumed by the license used by OpenSSH. The only but that might be up in the air is the aes-ctr cipher. In any case I'm trying to find the cycles to include the license and then incorporate it into all of the bits and then build new packages for sourceforge. In the mean time, take my word (as the author) regarding the license. It's free and open. Just keep the attribution. Send me mail at email@example.com for identity confirmation if you like.

</comment></comment></comment><comment><USER8> Why isn't this merged upstream, I wonder? Here's a thread I found for Debian: [https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=693424](https://bugs.debian.org/cgi- bin/bugreport.cgi?bug=693424)

<comment><USER8> There's an Ubuntu PPA: [https://launchpad.net/~w-rouesnel/+archive/ubuntu/openssh- hp...](https://launchpad.net/~w-rouesnel/+archive/ubuntu/openssh-hpn)

</comment></comment><comment><USER9> ESNet has a good website for high-performance data transfers: [http://fasterdata.es.net](http://fasterdata.es.net)

In addition to host and network tuning guides they also have a list of data transfer tools, including HPN-patched sftp and scp, but they recommend GridFTP because it supports parallel streams: [http://fasterdata.es.net/data-transfer- tools/gridftp/](http://fasterdata.es.net/data-transfer-tools/gridftp/)

</comment><comment><USER10> I've been using this a lot recently - [https://github.com/LabAdvComp/UDR](https://github.com/LabAdvComp/UDR) \- A UDT wrapper around rsync - No need to patch _anything_ , therefore no maintenance woe

</comment><comment><USER11> After finding that using scp to copy stuff over my local network (and before finding out about hpn-ssh) I wrote this icky script to get better performance copying moving stuff around: [https://github.com/toofar/fcp](https://github.com/toofar/fcp)

It just wraps ssh+netcat+tar. The ssh connection is just used to setup the netcat (actually nc) connection like in mosh.

It doesn't have much dependencies (although it can use pv if installed on the local machine) and so should work on most platforms (didn't work on android last I checked, but I think I know why). It's a pretty ugly script (in particular errors are not propagated back to the terminal and backgrounding pv can lead to offset output) but it works and can even use scp's bash_completion script for completion on a remote filesystem.

<comment><USER12> no need of netcat: tar c . | ssh user@host tar x -C destdir

<comment><USER11> The need to use netcat is that it is faster. It gets better throughput in the presence of plentiful bandwidth. The whole point was to avoid using ssh for bulk transport.

<comment><USER12> ssh user@host "nc -l 1234 | tar x -C dest_dir"

and in another terminal:

tar c . | nc -p host 1234

If you do not care about security, why not using rcp ?

</comment></comment></comment></comment><comment><USER13> Gentoo has this as a USE flag for openssh and is enabled by default. Be aware that the multithreaded AES-CTR patch has compatibility conflicts with some libssh versions and possibly other implementations. XBMC and Synology in particular have both been unable to connect to servers using that patch.

<comment><USER5> Honestly, I'm not aware of these connection problems. If you have any further information please send it to firstname.lastname@example.com.

</comment></comment><comment><USER14> I wonder what the current performance difference is to OpenSSH6.1+? I think those graphs they have might be very old, and there's been a lot of improvements in the core OpenSSH code since then.

</comment><comment><USER15> Native OpenSSH performance seems quite good these days- are you certain this is still necessary? Either the SSH client and server I used had this patch, or the windowing code in SSH was removed/modified.

<comment><USER5> The main problem is that the internal buffer size for OpenSSH is limited to 2MB (actually it's closer to 1.25MB in real world terms). This is pretty good for a lot of home users. However, HPN-SSH was written for the HPC communuity where we have have BDPs of well more than that (8MB is not uncommon). So if you have a BDP of more than 2MB HPN-SSH is still going to be a win for you.

</comment></comment><comment><USER16> 2 questions: 1) would this work with mosh? 2) lzo/lz4 has lower latency then zip, is there an ssh patch supporting this and would it be noticable in a 2k4 scenario?

<comment><USER17> I don't think mosh-type scenarios are what HPN-SSH aims to improve. It is more targeted at high-bandwidth, high-latency scp transfers.

(say, 300Mb+ connections with 30ms+ latency)

</comment></comment><comment> matt-attack I'm drooling over this. Will this ever show up in RedHat?

<comment><USER14> Not likely. The OpenSSH team is very conservative, and RedHat isn't likely to make such an invasive change into a core utility.

PSC has been maintaining these patches for a long time. I'm pretty sure I was using this nearly 10 years ago. If you have a need for this, it's not hard to build it yourself.

Ah, found the initial release date: July 7, 2004; yeah 10 years.

</comment></comment><comment><USER18> check out bbcp if you are interested as well.

<comment><USER19> Do you mean bbftp?

[http://www.nas.nasa.gov/hecc/support/kb/bbftp_147.html](http://www.nas.nasa.gov/hecc/support/kb/bbftp_147.html)

<comment><USER20> I'm guessing they meant this:

* [http://pcbunn.cithep.caltech.edu/bbcp/using_bbcp.htm](http://pcbunn.cithep.caltech.edu/bbcp/using_bbcp.htm)

* [http://www.slac.stanford.edu/~abh/bbcp/](http://www.slac.stanford.edu/~abh/bbcp/)

* [http://www.slac.stanford.edu/~abh/bbcp/bin/](http://www.slac.stanford.edu/~abh/bbcp/bin/)

I've not tried it, though.</comment></comment></comment>


Young Men Are Playing Video Games Instead of Getting Jobs. That's OK. (For Now.) - <AUTHOR> http://reason.com/archives/2017/06/13/young-men-are-playing-video-ga <comment><USER2> This is one of the best articles I have ever read on understanding what video games are:

 _> Games, with their endless task lists and character-leveling systems, their choice architectures and mission checklists, are purpose generators. They bring order to gamers' lives.

> Even the most open-ended games tend to offer a sense of progress and > direction, completion and commitment. In other words, they make people > happy—or at least happier, serving as a buffer between the player and > despair. Video games, you might say, offer a sort of universal basic income > for the soul.

> What exactly does it mean for a game to be appealing and engaging? What does > it mean for games to be fun—so much fun, in some cases, that players will > devote hundreds or even thousands of hours a year to playing them? [...] One > way to do that, it turns out, is to give people a sense of earned > achievement. "What games are good at—what they are designed to do—is > simulate being good at something," Wolpaw says.

> "It's a simulation of being an expert," Wolpaw says. "It's a way to fulfill > a fantasy." That fantasy, ultimately, is one of work, purpose, and social > and professional success._

<comment><USER3> Not sure I agree that it simulates being good at something. To make that point, you would have to agree on what a simulation is. Is it a non-physical game, so chess would be included, or would it be any game, which would mean football etc. are also included?

Or, perhaps more likely, the author is talking about computer games only. Let's assume that. That means that the only difference between a "simulated" game and a "real" game is that one is done on a computer of some sort.

I don't feel any different emotions when I play WoW than when I play chess or football with my friends. To me, they're the same thing, only experienced through different means. The only reason people don't play football for "hundreds or even thousands of hours" every year is because there's a physical limitation to it.

I can only make the assumption that the author of the article is making a jab at computers at it's core, and that's troubling because what would that mean for us developers? I see programming almost as a game, it releases the same kind of feelings of progress, completion and commitment as the author talks about in his article. Does that mean that being good at programming is just a simulation of being good at something?

<comment><USER4> Games often involve rituals that are symbolic of real-world activities. Crafting a cake in Minecraft is nothing like baking a real cake. Crafting is really just an abstract puzzle, but the theming makes it more satisfying than learning to solve such a simple puzzle would normally be.

Similarly for other games. Game combat can be fun and there can be real skills involved, but they are often unrelated to why the ritual is satisfying. It's possible to learn real-world skills from games, but you need to be clear- headed about what those skills actually are and whether they will transfer to anything else.

In comparison, sports provide physical exercise and tend to have a lot less theming. But consider the relationship between martial arts and real fighting. There's often some ritual there, no?

</comment></comment></comment><comment><USER5> Games can suck your life away. I've spent a week in a room doing nothing but playing games on multiple occasions when I was in High School or College. It's just too easy to say yes and spend the rest of the day doing it. I know a lot of people manage to have a healthy relationship with games, but at this point I have too many negative associations that I'm hesitant to even own a desktop. Over a summer back with my parents, I played games instead of calling up my friends or getting a job or exercising more. At the end of a Summer I had lost my social skills and had no new real world experiences. I wasn't even comfortable going out any more. It was pretty sad in my opinion. On the flip side, I have had a wonderful time playing Starcraft with people while at school and made new friends that way. Games are like a gas that fill up however much space you have to let them fill up. If you already have a social life and work to do, they are not going to take up much space, but if you find yourself with weeks of free time they could very well take up all of it.

<comment><USER6> I hear you. I don't allow myself to play MMORPGs, 4x strategy, or building/management games for this reason. Not only is it so easy to get sucked into them, they don't ever end, as there is always more to do or the opportunity to optimize some aspect of your gameplay.

I only play games that are either finite in nature or are unlikely to remain interesting for hours upon hours of gameplay.

</comment></comment><comment><USER7> I wonder if this author considers being good at chess a simulation of being good at something.

regardless, there are many different types of game, and the author makes the claim that young unemployed people play a specific type of game for a specific type of reason. He doesn't make this claim because the evidence is particularly compelling, but because that was the type of game that he played last march. The reason comes second.

How would this article have read differently if he had instead picked up starcraft?

This seems like very poor reasoning to me.

</comment><comment><USER8> _> Those living with and off of their parents are, in effect, already receiving a kind of basic income, administered privately at the family level. That is enough to survive, but for most people it is not enough to feel content._

 _> That's where games come in. They don't put food on the table. But they do provide, at least in the short to medium term, a sense of focus and success, structure and direction, skill development and accomplishment._

I think this is the best prediction of what most people would do with their time if they were on a society-level basic income. The idea that there would be an enormous wellspring of art, culture, and technological progress is not supported by what is happening now.

</comment><comment><USER9> So long as they don't turn into the equivalent of Japan's Otakus or parasite singles generation. If this automation thing starts taking away jobs in earnest (net absorption) then it definitely will not "be ok".

</comment><comment><USER10> Excellent interesting article, I had not realised that so much of the time playing the latest popular video games, has to be spent on mundane boring tasks, such as cataloging items! This was a real surprise to me, I'd wrongly assumed they were all about shooting and fast reactions and constant explosions.</comment>


Ask HN: Almost) Serverless Bank Possible? - <AUTHOR> What do you guys think?<p>Most software needs to scale down / up fast, has billing days or other external / internal events. And doesn't rely so much on permanent compute. What do you guys think? <comment><USER2> I'm not quite sure what you are asking? Are you asking if a bank/credit union (e.g. Ally, MITFCU) could go serverless? Assuming that is your question, here is my response:

Maybe. Note that there is more to the bank than the customer site. On the backend you have processing of incoming and outgoing ACH/wire transfers, data storage and retrieval for loan origination and collections, ATM processing, processing of branch transactions, and fielding support calls. That's just what I have come up with in the last 30 seconds. I'm sure larger banks do a lot more (e.g. check processing).

All of these systems could, to some extent, be architected around some form of event system that runs functions. That's how some fintech companies approach these problems. If I were making the decision, I would weigh the costs of deployment/management with the potential savings in compute usage. Deploying a single monolith, or a handful of microservices is much easier (to me) than dealing with a plethora of "nanoservices".

<comment><USER3> In AWS you would do it like this:

AWS Cloudformation to construct the system from a template so you could build a test system, do an upgrade, build one for another bank.

AWS Step Functions to deal with "business rules" situations and long-running workflows that run at human speed.

AWS Lambda for what you can easily do procedurally in less than 1s.

Time-delayed processing mediated by SNS, SQS, MQ and similar services. You will probably use a few different AWS databases from DynamoDB to Oracle.

Amazon has approaches to business facing authorization, audit trails, all sorts of things.

The thinking you attribute to fintechs and hedgies has been applied since the 370 in ordinary banks, it's very conventional and very correct.

</comment></comment><comment><USER3> I don't see any reason why not.

There are reasons that some people don't trust the cloud but I don't you'd have trouble convincing regulators that it's OK. (e.g. they use GovCloud, Bridgewater does everything in AWS, etc.)</comment>


Language and Structure in Non-Programmers Solutions to Programming Problems [pdf] - <AUTHOR> http://alumni.cs.ucr.edu/~ratana/PaneRatanamahatanaMyers00.pdf <comment><USER2> Perhaps the coolest thing about natural language is just how completely unstructured it is compared to programming languages (which are of course 100% structured). No one ever declares variables up front, tells you what state to record, or really gives you any specifics at all. Natural language is _additive_ , an immensely powerful feature to have and one I've never seen in a programming language. People use natural language to build up contexts, with various details, which I presume the brain then must infer structure from in order to 'execute' the idea being discussed.

For me this is why new languages such as Rust, Go and so on don't really interest me; sure they fix a lot of problems with some new structures, but the real power is a language which can _infer structure from your inputs_. I believe in the future we would write software like researchers currently write thesis'; separating out functionality into separate document sub sections, and then using natural language to build the idea up over the course of a number of pages.

<comment><USER3> > People use natural language to build up contexts, with various details, > which the brain then must infer structure from in order to 'execute' the > idea being discussed.

Most of that simplicity comes from the years of built up information and context you have. You can just say "want to go to the movies?" And be understood because that person knows of your dropped "do you" in "do you want", that "to the" very likely means "via motorized transport in either an independent or shared manner" and that "the movies" refers to a physical theatre, with a to-be determined showing.

NLP is a huge field and even the big names in the industry (Google, for example) are far off from anything resembling basic communication, beyond preset responses/dialogue trees.

The fact of the matter is, you're probably not getting anything resembling intelligent human communication, til we have AI. Something that can think for itself and create true context.

<comment><USER4> Context is king. "Kill the man with the knife!" Who? The guy holding a knife? How? With this knife I have right here? We can't say anything at all, unambiguously, without immense context.

<comment><USER5> This reminds me of old style text adventures, that frequently have to deal with this kind of ambiguity, and only manage it to a limited degree. For example:

> kill the man

Which man?

> the one with the knife

I don't see that here.

> kill the man with the knife

You don't have the knife.

and so on...

</comment></comment></comment></comment><comment><USER6> Recently discussed at [https://news.ycombinator.com/item?id=11508313](https://news.ycombinator.com/item?id=11508313)

</comment><comment><USER7> An interesting point - a lot of people explain their solutions using "when ...", but very few languages use 'when' as a keyword (coffeescript being one of the few popular ones).

<comment><USER8> How should it work? Should it work like "if," define an event handler? The word itself is very natural but assigning it a definite meaning isn't as natural.

</comment></comment><comment><USER9> Date of publication?

Ah, 2001. Thanks for posting this, I hadn't come across this.

</comment><comment><USER10> Is there a more updated article that people can recommend? This article is from 2001, with most references from the 80's</comment>


Did Amazon Just Kill Open Source? - <AUTHOR> http://iguaz.io/2016/12/02/did-amazon-just-kill-open-source/ <comment><USER2> Kennu, projects like OpenStack & Cloud Foundry struggle doing 10% of AWS. unlike AWS & Azure, OSS doesn't have central control. if we learn from Linux the stack is composed of many independent elements (storage, networking, configuration, security, ..) and the way they all work together is because the community agreed on abstractions/APIs between those elements. that's what i suggested in my post, in most cases linux can have few file systems, few protocols, .. since in an open environments people can innovate, but all those adhere to the layers & APIs of the stack

BTW the problem is that you use AWS APIs in small scale, than you grow and have to pay quite a bit to AWS, and its too hard to move to the half-baked open source frameworks

Yaron Haviv (iguazio)

</comment><comment><USER3> The point raised in the article is in my opinion quite valid. Most services offered by Amazon are practically free for personal use and extremely convenient (no need to install, update and manage anything), so there is less and less incentive to use open source in small scale. By deploying equivalent open source solutions in small scale you basically just waste time and effort.

I disagree with the proposed remedy. The writer argues that open source will be more useful if components are more interchangeable. In my opinion a bigger transformation is needed. In the long run, open source software projects must turn into open cloud services, offering the same level of convenience that the commercial cloud does. The paradigm shift from software to services is already happening and traditional open source is falling behind.

</comment><comment><USER4> No.

<comment><USER5> The title is a question. So yeah, "no."

</comment></comment><comment><USER6> NO, they didn't.</comment>


Razer's first ultrabook wants to be your only gaming PC - <AUTHOR> http://www.theverge.com/2016/1/6/10719182/razer-blade-stealth-ultrabook-specs-price-ces-2016 <comment><USER2> Curious on battery life since the battery (45 Wh) is smaller than other comparable laptops. Wish there was a 16GB RAM option.

Price is $999 for lowest configuration (QHD + 128GB) going up $200 for each upgrade (256GB, then screen, then 512GB), so it seems reasonable for the cheaper models I think. No tax in some states unlike most other laptop companies/Microsoft Store.

Here's a quick list of specs from Razer's sites:

\- 12.5-inch IGZO QuadHD (2,560 x 1,440 / 70% Adobe RBG) or UHD (3840 x 2160 / 100% Adobe RBG) resolution touchscreen

\- Intel HD Graphics 520

\- Intel Core i7-6500U

\- 8GB of RAM

\- 128GB/256GB PCIe M.2 (QuadHD display model)

\- 256GB/512GB PCIe M.2 (Ultra HD display model)

\- Chroma-lit keyboard (Individual RGB per key according to theverge article)

\- 0.52-inches thick

\- 2.75 pounds

\- Two USB 3.0 ports

\- USB-C Thunderbolt 3 port

\- One combo headphone/microphone port (like the single port ones in Macbooks)</comment>


Poll: What app would you like to have at (whatever).lo.gy and (whatever).olo.gy? - <AUTHOR>

<comment><USER2> <http://news.ycombinator.com/newpoll>

</comment><comment><AUTHOR> A question and answer website on your topic of choice - from archelogy to zymology

</comment><comment><AUTHOR> Your own third level domain name (eg, bio.lo.gy, psycho.lo.gy, zoo.lo.gy)

</comment><comment><AUTHOR> A custom application for each third level domain name

</comment><comment><AUTHOR> News about your topic of choice (entomology, anyone?)

</comment><comment><AUTHOR> An enterprise URL shortening service (e.g., <https://lo.gy/>)

</comment><comment><AUTHOR> Other - please, specify

</comment><comment><USER3> beer ! beer.olo.gy

Pandora for beer!</comment>


Yeah, it's still bad for you - but see how good it can look - <AUTHOR> http://www.fancyfastfood.com/

<comment><USER2> Best example I've ever seen of something HN-worthy that someone new to HN might comment "why is this here"

</comment><comment><USER3> It's a fun read but the whole time I was thinking "If I had the time and skill to pull any of this off I wouldn't be eating at places like Pizzahut and Burger King to begin with"</comment>


Ubuntu Touch OTA-11 Release - <AUTHOR> https://ubports.com/pt_PT/blog/ubports-blog-1/post/ubuntu-touch-ota-11-release-252 <comment><USER2> This is a great project.

I ran Ubuntu Touch a few years ago, when Canonical supported it, and eventually gave up because I didn't think it was polished enough.

I came back to Ubuntu Touch a month or two ago out of frustration with Android, and it is much less buggy than it used to be, I'm very pleased with it.

My only issue is that the best phone (AFAIK) to run it on is a OnePlus One, which is quite old and slow compared to more modern phones.

But it's such a breath of fresh air to be using a mobile OS that isn't nagging you to sign in to Google, sign up for a Samsung account, install the latest OneDrive app, accept location sharing, agree to the terms and conditions, etc. And it's all open source and hackable, the Terminal app is a first-class citizen. It's great.

<comment><USER3> I bought my OnePlus One (second-hand, last year) specifically to run Ubuntu Touch. I tried it out, and really what drove me to putting LineageOS on it wasn't the battery life or the lack of apps (lack of apps was a plus in my opinion) but the fact that the browser couldn't display Slack in a way that I could use it. I am going to try out this new version and if Slack works, I'm keeping it.

It seems ridiculous that one webapp would cause a change in OS, but it really is an essential tool for me.

<comment><USER2> Slack was working in the browser recently (albeit slowly), but they have recently rolled out a change which just point-blank refuses to run on Morph's user-agent :(

<comment><USER4> The good thing about everything being a web app is that it's inherently cross- platform. /s

</comment></comment></comment></comment><comment><USER5> Congratulations to UBports! Keeping Ubuntu Touch going as a viable project, and expanding the community and range of devices has been a real achievement.

It's interesting to note that the number of developers involved has grown recently - and I would expect that to continue.

I think the opportunity to buy a new device with UBports UT preinstalled, as the Pinephone and later iterations of the Librem5 should offer, will be a real shot in the arm for the project.

Congratulations again!

</comment><comment><USER6> Archive.org mirror [https://web.archive.org/web/20191024100132/https://ubports.c...](https://web.archive.org/web/20191024100132/https://ubports.com/pt_PT/blog/ubports- blog-1/post/ubuntu-touch-ota-11-release-252)

</comment><comment><USER7> [https://github.com/ubports/ubuntu- touch/blob/master/README.m...](https://github.com/ubports/ubuntu- touch/blob/master/README.md)

The devices supported are quite old. What are the blockers for a recent phone? Are bootloaders not unlockable? Are drivers not available?

Supported Devices:

Devices device: arale: This issue affects the Meizu MX 4.

device: bacon: This issue affects the Oneplus One.

device: cooler: This issue affects the Bq M10 HD tablet

device: deb: This issue affects the Nexus 7 2013 LTE.

device: flo: This issue affects the Nexus 7 2013 Wi-Fi.

device: FP2: This issue affects the Fairphone 2

device: frieza: This issue affects the Bq M10 FHD tablet.

device: hammerhead: This issue affects the Nexus 5.

device: krillin: This issue affects the Bq E4.5.

device: mako: This issue affects the Nexus 4.

device: manta: This issue affects the Nexus 10 tablet

device: turbo: This issue affects the Meizu Pro 5.

device: vegetahd: This issue affects the Bq E5.

device: w7: This issue affects the LG L90.

<comment> cm-t WIP: The Librem Phone devkit can run Ubuntu Touch (the ubports teams is waiting the final device to make sure everything inegrates well, so it need more work)

WIP: The Pine Phone is, too, having ubuntu touch

blocker? when you want to port a new device, you will need time, patience, and knoweldge. The team always welcome new people that want to port a new device ;)

So yep if there is a need of more contributor to port anywhere the project, you also need good devices documentation from manufaturers, hoping there are no dark blobs (spoiler-alert: everywhere), etc. To avoid most of this, ubuntu touch use lxc, many things, and halium, if you are interested into that stuff, have a look at [http://docs.ubports.com/en/latest/porting/introduction.html](http://docs.ubports.com/en/latest/porting/introduction.html)

</comment></comment><comment><USER8> I used Ubuntu touch once and liked it. It just didn't have an app or two I needed or else I would have stuck with it

</comment><comment><USER9> I had tried this for over 2 months in my Moto G(2014) (my secondary phone). The experience was good as I only needed the phone for text and call. But, battery life was bad as compared to say lineage or other ROMs.

Happy to see, it's still in development. Might give another try if it's getting developed for titan.

</comment><comment><USER10> I like how the server crashed even though the website has CloudFlare... They could've easily added caching for HTML resources...

</comment><comment><USER11> A (working) syncthing app is still the major thing missing from Ubuntu Touch for me to be able to use it in a serious way.

<comment> cm-t You can use you rsync, or you use the great NextCloud syncyng app "ubsync" : [https://open-store.io/app/ubsync](https://open-store.io/app/ubsync)

edit: didnt read "syncthing" as a existing cloud solution, but just as any "syncing" solution

<comment><USER12> Syncthing is an opensource tool to sync between machines. It's like rsync in cron.

I don't see any reason why it won't compile for Ubuntu, it's GNU Linux.

</comment></comment></comment><comment><USER13> Down for me.

I'm always puzzled when sites that provide static content go down.

Is there a reason _not_ to use a CDN these days?

Is it for privacy reasons, so the CDN providers do not get the info who accessed that page?

</comment><comment><USER14> The server is another victim of HN traffic</comment>


The R language, for programmers - <AUTHOR> http://www.johndcook.com/blog/r_language_for_programmers/ <comment><USER2> An "R for programmers" style book is Hadley Wickham's glorious "Advanced R" (available at [http://adv-r.had.co.nz/](http://adv-r.had.co.nz/)). R never made too much sense to me till I read through this. Reccomended.

</comment><comment><USER3> To my mind some of R's plusses are data frames and the ability to indicate missing values in vectors of any type. Some of the weird stuff is the lazy evaluation of arguments, the ability to know the names of variables bound to function arguments, and the ability to snoop up the environment stack. Some distinct minuses are the changing of types (dropping of dimensions on select), semi-reserved terms, and c()'s squashing of complex types. One of my articles on the topic: Survive R [http://www.win- vector.com/blog/2009/09/survive-r/](http://www.win- vector.com/blog/2009/09/survive-r/) .

<comment><USER4> And plotting, especially ggplot2!

</comment></comment><comment><USER5> The biggest "gotcha" for learning R as a programmer is that R interprets character vectors of data frames as factor vectors _by default_ , which will usually break something in your code.

If you're learning R, learn to use dplyr for data manipulation and ggplot2 for plotting. Both will save you a _lot_ of time.

<comment><USER4> > If you're learning R, learn to use dplyr for data manipulation

I had been learning data.table, but I really like dplyr's % operator and the compositional functions better. I think I'm going to make the move to dplyr.

<comment><USER6> FWIW The performance difference is insignificant unless your working with >>10 of millions of rows.

<comment><USER4> I thought dplyr (note, not plyr, dplyr is the next iteration of plyr implemented mostly in native code) was pretty much as fast as data.table.

</comment></comment></comment></comment><comment><USER7> R is one of those languages that looks like it was designed in a vacuum by a very smart person. It has many common, modern PL constructs, but they're expressed syntactically in a way that in no way resembles any other language I've seen. The entire syntactic legacy of Algol, Pascal, C, etc, all are thrown by the wayside. Familiarity with any of those syntaxes felt to me like more of a liability than a help. That's not to say that the concepts don't apply, just the syntax.

<comment><USER8> I agree, and I think that's exactly why an article like this exists. The R learning curve seems to be much gentler on people without too much serious programming experience in another language.

Have you looked at Julia at all? I'm only mildly familiar, but it looks super promising and I'm curious if the syntax there seems more normal or predictable for an experienced dev.

<comment><USER7> Yeah, I should have mentioned that - R for Programmers is exactly the kind of thing I'd need, even if it's not useful for my friends and family (largely scientists rather than programmers for whom the legacy of programming language syntax is completely unknown).

Julia looks cool; I think the syntax is meant to look familiar to people who've used Matlab or Octave extensively. I don't do tons of scientific computing, but Julia is on my list of tools to learn.

</comment></comment></comment><comment><USER9> I actually quite like the R language. A buddy of mine is in his University's PoliSci program and one of the requirements is to learn R for statistical and trend analysis. He could not stop complaining until I offered to help him learn it by learning it with him. After doing his first assignment, we were both impressed with what could be easily done in R to visualize data. I think he now realizes how useful of a tool R can be in his future career.

<comment><USER10> I actually really like it too. The programming language features of it are quite different from what's going on in a Java/C++/C# world, but they are super convenient.

Argument matching is really amazing and useful for prototyping. No doubt there's a penalty, but it's exactly the type of power that's needed to build expressive and useful reusable components with rapidly changing designs. And pattern matching like that really helps with the REPL because it allows far faster exploration with fewer keystrokes. Best programming practice in library code would be to have things more fully fleshed out however.

<comment><USER11> I've said for several years now that most complaints about R's syntax and idioms really boil down to "this isn't doing things the way I'm used to doing them, i.e. the C/C++ branch of the language family tree"

</comment></comment></comment><comment><USER12> I find R to be a great language for exploring a data set and doing some prototyping. There are a lot of wonderful statistical tools available through the core packages and even more through the various community extensions. It does have some significant issues that I've found limit the usefulness outside of prototyping

\- pass by value only means code tends to end up as monolithic functions

\- very slow in loops so lot contorting to move things to matrix operations

\- they just last year got a version out that starts support for vectors and matrices with > 2^31 -1 elements which limits larger data applications.

I find the plotting with ggplot and statistical functionality to be second to none though.

<comment><USER13> > pass by value only means code tends to end up as monolithic functions

I've actually found R works very well as a functional language with very lean functions. It's perhaps worth noting that R doesn't copy a dataframe in a function call if you don't modify it, which is a very common use-case for me. (I'm not sure if this extends to other datatypes)

> very slow in loops so lot contorting to move things to matrix operations

This is a fair criticism, I think more modern languages like Julia will win out here. That said, R has huge library support, I've often found there are compiled versions for a lot of what I want to do.

> they just last year got a version out that starts support for vectors and > matrices with > 2^31 -1 elements which limits larger data applications

Again, a fair criticism. I've never considered R a "big data" tool, my workflow is usually a funnel where each step involves reducing data size by 1-3 orders of magnitude. For example, I may have 1 PB of transactional data, aggregate it in Hadoop to 20 TB of daily aggregated data, run a query that filters and aggregates it further, and then run my analysis in R on final data. In the end I may end up with 20 GB of data, which R can very easily handle.

<comment><USER12> Python has better and better support for R with Rpy2 and R like data frames with Pandas, which is helping me take advantage of the incredibly useful analysis libraries in R.

Also note that loops are slow enough that it is really worth learning the *apply() functions in R to avoid iterating over collections. For a relatively in depth explanation check out Hadley Wickham's book [http://adv-r.had.co.nz/Functionals.html](http://adv-r.had.co.nz/Functionals.html)

<comment><USER14> *apply functions are loops underneath -- they only look better and save you time possibly wasted on growing some dynamically sized output structure. The way of solving slow loop in R is to find package which implements it in C/Fortran (or write your own in case there is none).

<comment><USER12> It'a actually a little complicated but if you're interested in the details check out this stack overflow thread [1]. High level summary is that lapply() and functions built on top of it do some work in native C and so are generally faster but not all of the *apply() functions are faster.

[1] [http://stackoverflow.com/questions/2275896/is-rs-apply- famil...](http://stackoverflow.com/questions/2275896/is-rs-apply-family-more- than-syntactic-sugar)

<comment><USER14> The problem here is not the for-loop itself but the time used by the R runtime on executing the mapped function multiplied by the number of iterations (this is BTW the main source of advantage for dynamic and GCed but JITed languages like JS or Julia).

</comment></comment></comment></comment></comment></comment><comment><USER15> I'd like to see a detailed explanation of R's scoping. It's not just lexical scoping; callees can deliberately manipulate the scope their arguments are evaluated in, for example. So you can call a function and pass arguments that are available in local scope, but the arguments are lazily evaluated, and the callee might evaluate them in an entirely different scope.

Typically this is done for manipulating datasets. You might have a data frame with columns Width and Height, and so you want to be able to call do.stuff(Width, Height, data=foo), and have Width and Height automatically taken from within foo. But sometimes it crops up in unexpected places.

<comment><USER8> Are you familiar with Hadley's Advanced-R book? You can buy a hardcopy, but it's free online: [http://adv-r.had.co.nz](http://adv-r.had.co.nz) There's a section on lexical scoping, and lots of other non-basic stuff that is hard to find covered elsewhere at all, much less well. From what I've seen, this is absolutely the best reference for deep R stuff that exists.

<comment><USER15> I've seen it but haven't read in depth. Now that I see the scoping section I'll have to read through it.

<comment><USER8> Now that it's in print I suspect updates are less frequent, but until a few months ago sections were being added and rewritten pretty frequently, so it might have things now that it didn't when you looked last

</comment></comment></comment></comment><comment><USER16> Why no discussion of dataframes? I find these to be the most useful aspect of R which I miss the most in other languages.

<comment><USER17> If you use Python, have you checked out Panda's dataframes? It's not quite the R experience, but pretty close plus you get all the benefits of the Python ecosystem.

</comment></comment><comment><USER18> I love pandas much more than R but GOD I love Rstudio. Such a great IDE. Rstudio server, actually. My equivalent is running ipython notebook on an ec2 instance, which....is fine, but is a lot of scrolling.

<comment><USER8> As an every-day R user but only-occasional python user, everytime I do a python project I spend some time looking for a comparable IDE. Closest i found was Spyder, but random lock ups made it unusable. Back to terminal+ipython and sublime. Sublime REPL + ipython doesn't cut it either.

What do you love about pandas, is it performance, syntax, access to other python modules? If performance, take a look at R's data.table package: almost any manipulation can be done by reference.

<comment><USER18> Now if we can only get sublime text 2 within an ipython notebook on the cloud.....

For me, R was my first language, and then I learned Python, and beautiful things like list comprehensions, and it just clicks with my brain a bit more.

In pandas, a group by operation is beautiful

dataset2=dataset1.groupby([stuff], as_index=False).mean()

Same with pivot table...

When I did this with dplyr2 my work flow would be a few more steps, creating the "summarise" object and so forth and so on, which seems like more steps.

</comment></comment></comment><comment><USER19> To me writing tutorials for teaching R these days is same as writing tutorials for Fortran (and I'm sure Fortran still has some nice goodies not available elsewhere). It misdirecting people eager to learn something to a wrong thing. As you can see in this article, every 3rd section of R book or tutorial is often dedicated in gotachas to deal with. We have iPython, Notebook, sci- kitlearn, numpy etc and massive number of R-packages already migrated. I hope there is little need to take trouble of learning R for most people new to it.

<comment><USER20> In the Python portfolio I'd mention matplotlib.

Then Sage (sagemath.org) just dazzles me. It's a grand integrated environment using Python with lots of math/stat software built in (including NumPy and R) and lots more optional (including Matlab). You can just go see it and try it at cloud.sagemath.com. If you like it you can continue to use it there or you can download it - it's free open-source software.

</comment></comment><comment><USER21> I've been looking at a variety of R packages, mostly for the purposes of rewriting them in C++ for greater speed, and my assessment is that most of them are of very low code quality. I don't mean that they don't work (they usually do), or that they are too slow (they usually are, but this is explained by selection bias given the reasons I'm looking at them), but that there is little standardization even with a given package, and the 'foundations' seem weak.

Variable names are a hodgepodge of unhelpful single letter abbreviations theSecondArgumentToTheFunction; functions alternate between camelCase, dots, and underscores; and any form of architecture seems at best an afterthought. It seems like the base language encourages this, or at least does nothing to prevent it. It's commonplace to pick on Perl, but the overall quality of popular packages seems considerably lower on CRAN than CPAN. Perhaps this is because Perl is so conscious of its reputation at this point that the remaining programmers take great pain to write clear code?

I feel like R is currently in the stage where Perl and PHP were as the internet was just when the internet started to explode. The first-to-market CGI scripts and libraries, often written by domain expert non-programmers, became the default choices which the rest of the infrastructure was built on. At some point, the weight became too great for the shoddy[1] construction, and most people moved on to languages with better attention to maintainability and foundational detail (Python, Ruby).

Those who remained with the language evolved it in similar directions, by replacing the earlier libraries with better designed ones and by setting a higher standard for community norms. I'm not sure about PHP, but contrary to reputation, modern Perl is often a really clean and consistent language. Julia seems to be playing a parallel role for R, although the new-found strength of Python in the data analysis space complicates the analogy.

But I wonder: is R undergoing (or about to undergo) a similar renaissance? Are there already examples of "Modern R" out there to serve as templates for the future direction of the language? Or is R happy where it is?

[1] Did you know that 'shoddy' was originally a legitimate but low grade of wool, and wasn't necessarily pejorative?

<comment><USER11> I'll admit that as someone who has a package on CRAN, has been using R since ~2001 and who is a normal software developer in their day to day job that the lack of standardization is something I'm guilty of.

For me what happened was that my thoughts on appropriate naming, structure, etc has evolved over the 6 (I think?) years of the package's existence but I simply haven't had the time to make the wholesale changes necessary. It's on my todo list, but frankly things like "fix actual bugs" have been sitting on that list for a very long time as well.

In general though, I've always found that most packages are pretty crappy and not just for code quality. With a relatively small amount of exceptions what I found over the years was that if you needed to do something it was almost always better to write something yourself than shoehorn someone else's junk into your system. There's an exception w/ Bioconductor, particularly the packages created and maintained by the core devs.

And on your point about the renaissance, yes I believe that has been happening, largely driven by Hadley Wickham.

<comment><USER21> Could you suggest some examples of packages using current best practices that I could try to pattern mine after?

<comment><USER11> I should be clear that there's not yet a One True Way in terms of coding standards and such, but things are improving.

Anyways, a good place to start would be the Hadleyverse: [https://github.com/hadley](https://github.com/hadley)

One could do a _lot_ worse than following his lead.

</comment></comment></comment></comment><comment><USER22> The language might experience the 'peak R' point right now.

'Badass' statistic packages but R always felt a bit 'hacked together'. With Julia on the other hand, I get the impression that there are developers in charge which have a deep understanding about programming languages and computer science. It's (too) early times for Julia but I wouldn't be surprised if in two years many users will (partly) switch.

</comment><comment><USER23> When reading this article, I started to wonder whether it would be plausible to create a REPL or a compiler from some "real" programming language (like, I don't know, C#, C++ or Python) to R to utilize R's statistical libraries without going insane. This might be a fun exercise as an LLVM backend. :)

</comment><comment><USER24> I'm curious for others thoughts on what to use for complex statistics if you needed high performance/speed.

Running an R script on a server to process data isn't efficient, but does that mean you have to roll your own stats package if you want to have a Java (for example) back-end?

<comment><USER25> Not sure how complex your use case is, but I've found Pandas (on Python) to be just as powerful and much more performant than R for working with scientific data. It's built on Numpy so you can use Scipy's statistical functions with it seamlessly.

<comment><USER6> Recent benchmarks show the performance of pandas, data.table and dplyr to be pretty similar, with data.table usually being the fastest.

</comment></comment></comment><comment><USER26> For me the main problem with R is that I find it hard to break lines nicely. I tend to end up with massive one-liners, and no matter where I break it never looks quite right.

</comment><comment><USER27> TL;DR: Tragically, R has a lot in common with old-skool PHP and MS Excel, at the same time.

<comment><USER23> I don't know why exactly you're getting downvoted. I've tried learning R many times, but the resemblance to PHP problems is just too much.

<comment><USER27> Probably there aren't legitimate semantic or syntactic similarities between the three.

But for proposes of a TL;DR, I believe that a qualitative description of the situation should suffice.

I'll try again:

TL;DR: The language R lacks the quality without a name.

Or:

Jeeze, now I know why none of my previous attempts to learn a little R were fruitful.

Or:

The language R seems to have been developed in isolation and thus it fails to adhere to any particular convention--it is its own beast. Further, it sometimes lacks self-referential integrity and coherence.

Or:

haha cf. PHP or Excel.

:)

<comment><USER21> I voted you up here because you were below zero and I was also about to post a comment comparing R to PHP, but I'll mention that I frequently downvote one line posts that start with "TL;DR". The concept of "too long didn't read" implies (to me, and probably others) that that the article isn't worth reading. If I think the article is worth reading, and the short comment isn't incredibly insightful, I'd usually prefer such comments to be at the bottom of the page and grayed out.

<comment><USER27> Oh, I hadn't considered "too long, DON'T read". Hm. This article is worth reading if you're interested in R but not yet well acquainted with it.

</comment></comment></comment></comment></comment><comment><USER28> One thing I don't like about R is the OOP part of R.

I don't see any reason of R including OOP into its design and sometimes it just creates confusions.

<comment><USER11> R didn't include OOP into its design, it was all grafted on later, are there are multiple systems.

There's the S3 OOP system, the S4 OOP system, reference classes and at least one add on package on CRAN which does something different.

So which one are you complaining about? :)

</comment></comment><comment><USER29> Haskell is better than R, for both programmers and data analysts.

<comment><USER30> It's going to be harder to do just about anything related to data analysis in Haskell than in R. In R I can load a dataset, do some formatting, and produce a well designed plot in fewer than 5 lines of code. Haskell might run faster, and it's certainly more versatile, but for data analysis it isn't even comparable.</comment></comment>


Minneapolis Will Dismantle Its Police Force - <AUTHOR> https://www.nytimes.com/2020/06/07/us/minneapolis-police-abolish.html <comment><USER2> I'm sure this will go swimmingly</comment>


Ask HN: How do you read and understand, reason about multi services source code? - <AUTHOR> If you get into a micro services env without too many resources except for many projects sources codes, large code bases, spread as different services, how do you go about reading and understanding the source code? <comment><USER2> Get a big piece of paper and start mapping the service boundaries, inputs, outputs, what calls what, keep the services themselves pretty much black-box until you're ready to dive deeper.</comment>


Ask HN: Would you switch to a privacy- and security-focused credit union? - <AUTHOR> The Problem: I care about privacy and security. I live in the U.S.A. Where should I do my personal banking?
The idea: Start a credit union with a focus on privacy and security. Build the credit union as a template for other credit unions to follow. Open source as much as possible. Recruit smart people like HN readers to become members and give feedback on what we do to make it better. Require an EFF membership to join the credit union.
That's the start. What do y'all think? What questions do you have? <comment><USER2> Sell me on why I would use your credit union.

I don't know why I should be concerned about my bank or credit union and use your credit union.

Concerns about your idea:

\- Banking laws / regulations are very detailed in the US don't allow for much anonymity for traditional consumer banking accounts. (there are some legal ways to do that aren't traditional consumer banking, it but it is hardly fool proof and legally complex and I'm not sure about rolling that out at scale)

\- Once you introduce a credit / debit card the privacy may be out the window as 3rd parties are involved.

\- People might simply not care / will be a hard sell to get them to understand / care.

<comment><AUTHOR> Thanks for the reply.

> Sell me on why I would use your credit union. > I don't know why I should be > concerned about my bank or credit union and use your credit union.

Here's an article about how your banking data is probably being sold: [1]

Concern for privacy would be the main selling point. But it would also have to be a great banking experience too. Great website and mobile apps. And rates that beat the competition.

> Concerns about your idea: > \- Banking laws / regulations are very detailed > in the US don't allow for much anonymity for traditional consumer banking > accounts. (there are some legal ways to do that aren't traditional consumer > banking, it but it is hardly fool proof and legally complex and I'm not sure > about rolling that out at scale)

It sounds like you know more about this than I do. Any resources you can direct me to so I can learn more?

> \- Once you introduce a credit / debit card the privacy may be out the > window as 3rd parties are involved.

I'm hoping there will be a technology solution we could develop that would make credit/debit transaction data private. Perhaps a card that generates a new credit card number for every transaction?

> \- People might simply not care / will be a hard sell to get them to > understand / care.

Agreed. I wanted to test the idea here because I thought HN would have more people who care about privacy.

[1] [https://www.forbes.com/sites/petercohan/2018/07/22/mastercar...](https://www.forbes.com/sites/petercohan/2018/07/22/mastercard- amex-and-envestnet-profit-from-400m-business-of-selling-transaction-data/)</comment></comment>


Eye-Opening Chart Breaks Down Reward Program Costs - <AUTHOR> http://lifehacker.com/5376167/eye+opening-chart-breaks-down-reward-program-costs

<comment><USER2> I think Tim Ferris wrote somewhere about how to take advantage of this. The trick is to run the normal business expenses you would had to pay anyways through these cards. For example, instead of purchasing a $100 set of headphones, you spend $1,000 in Google Ads in which historical data shows will net you $10,000 in revenue.

<comment><USER3> huh? Somehow I'm choosing between spending $100 on headphones, and making $9000? And these are related how? I think what you're getting at is making the $100 off the credit card rewards (10%... not going to get that, but anyway), but I still don't really see the connection.</comment></comment>


Chinese Spies Hacked IMF Computers - <AUTHOR> http://nationalcybersecurity.com/2011/07/chinese-spies-hacked-imf-computers/

<comment><USER2> The secretary is going to have a lot of disavowing to do...</comment>