PEP 505: Bringing None-Aware Operators to Python - <AUTHOR> https://www.python.org/dev/peps/pep-0505/ <comment><USER2> Here's an example the PEP provides:

        if libpaths is None:
            libpaths = []
        else:
            libpaths =  libpaths.split(":")

After updating:

        libpaths = libpaths?.split(":") ?? []

Python is great for beginners for many reasons, two of which are: code is obvious when read, and we all write the same way so you can go read expert code and learn from it. There is so much more to programming and Python than just optimizing keystrokes and lines of code.

In my opinion, the PEP 505 version is entirely illegible to a reasonable python beginner. And this hurts the language more than spreading the instructions across a few extra lines.

I am concerned that PEPs are always written by experts who will, intentionally or not, bias towards an expert-friendly language.

<comment><USER3> are python devs the most curmudgeonly/conservative devs in the world? syntax is never a barrier to legibility of code because code is not meant to be parsed one character at a time (by programmers). the legibility always comes down to the semantics and abstraction. in my opinion a conciser ternary has very clear semantics and therefore is intelligible. I'm also of the opinion that it's very useful to save on things like `get(get(a, None), None)`

<comment><USER4> I think that a lot of the discussion of python problems is steered by the infinitely many python book writers and course instructors that have profited significantly by the current trend of "everyone must learn to code!".

If the recent changes to python syntax were to python educators would be the most affected ones since they would have to update their material or see it obsoleted. Of course there's the moral issue that they would have been misleading students if they were to say that python is as simple as it can be.

Every developer whom I spoke have similar feelings about the changes, they are minimal and if they use it, very frequent boiler-plate code could be dropped. These are of course developers that have been working with python for years and have significant code bases to maintain, novices are likely to feel otherwise.

<comment><USER5> Your conspiracy theory is mistaken; if anything instructors profit handsomely by language churn, as people are forced to come back after this or that update.

No, the problem is simple featuritis spurred by adoption. Python has reached a point where the language is basically feature-complete, but adoption keeps growing. That means that more and more programmers arrive to the ecosystem from other fields, and advocate for constructs they are familiar with or that map more closely to their problem domains. This influence is a good thing in some cases, and a bad one in others.

Operators in particular are a minefield. Python is traditionally inclined _not_ to use special operators, which helps readability quite dramatically. There are very few exceptions (basically only @ for decorators, which is outside code flow anyway). This is why people hate new operators so much: we work with Python to _stay away_ from unreadable, write-only code full of special characters. I understand the frustration of rote in some areas, and any professional is free to sharpen his own tools in the way he prefers -- just don't force the ecosystem at large to lower its code quality just so you can check out 10 minutes earlier from your 9-to-5 large-codebase CRUD job.

</comment></comment></comment></comment><comment><USER6> We have a lot of Django-based code similar to

      if getattr(obj, 'foreign_obj') is not None and getattr(obj.foreign_obj, 'field_name') is not None:

Would this turn into:

      if obj?.foreign_obj?.field_name

?

Does is look shorter? - YES!. Is it more readable? Arguably yes. Would I vote to see this feature in Python? HELL NO! In most of cases, we can have an in- house "maybe()" function, like

      maybe(obj, 'foreign_obj.field_name')

There is no need to update the language syntax for that.

From PEP description:

      From bisect.py:

      def insort_right(a, x, lo=0, hi=None):
            # ...
            if hi is None:
                hi = len(a)
            # ...

      After updating to use the ??= augmented assignment statement:

        def insort_right(a, x, lo=0, hi=None):
            # ...
            hi ??= len(a)
            # ...

Seriously? To me the "if hi is None" looks times more readable and easily comprehensible than "hi ??= len(a)".

Finally, The Zen of Python

      Special cases aren't special enough to break the rules.
      Although practicality beats purity.

This case does not look neither special enough nor so much practical to me. Could anyone please give a hint of where can one vote against this PEP?

<comment><USER7> ...why does everyone forget that `getattr()` has an optional `default` argument? It's helpful for stuff like this.

<comment><USER8> Same reason people forget min and max have key arguments: You mostly don't need them until you really do.

</comment></comment></comment><comment><USER9> I've found that operators boil down to saving time _writing_ (once) at the expense of later readability. They are also almost impossible to trace if operators are overloaded. And you have to hope that the overloaded operator has a meaning consistent with other uses of the operator.

Stop trying to shorten code by 2 lines. It's not that bad to write it out. If it helps, think ahead to the 1st or 5th revision of the code you're about to write and imagine where you'd even be able to add new code, given magical operators. In a case like this, it's easy to imagine a single "else" case with "?" needing to change into multiple else-if cases, requiring the entire fancy operator expression to be rewritten. No real saving.

<comment><USER10> "Stop trying to shorten code by 2 lines."

Agreed. Python code tends to be concise as is. There's no need to add little tricks to cut out a line or two at the expense of readability.

Along those lines, in a recent code review a developer balked at some proposed code and boasted how he could do the same thing in fewer lines. His "improved" code had a keyword parameter where the default was set to a lambda function containing nested list comprehensions plus a zip function... I voted against his "improvement" since it was the most unpythonic thing I'd ever seen. I'll take added readability and simplicity at the expense of a few extra lines.

<comment><USER11> > Agreed. Python code tends to be concise as is. There's no need to add little > tricks to cut out a line or two at the expense of readability.

I must say I agree fully, and even so, in cases where you really want to cut down verbose sections or boilerplate, there is so much you can do through defining your own classes and functions and overloading operators. Even then there is little need for new fundamental syntax.

</comment></comment></comment><comment><USER12> It will be interesting to see how this PEP is handled by the community with Guido off on a permanent vacation, and the mood among Python core devs seemingly "no major changes to syntax for the next little while" .

Personally, some of the examples using the new operators are in fact easier to read, but others border on illegibility, and I don't think the tradeoff is wise.

Then again, I felt the same way about Python's decorator syntax (ie. @) when it was proposed, and I still find it jarring.

<comment><USER5> _> It will be interesting to see how this PEP is handled by the community_

It was created three years ago, and it's still just a draft. Hopefully it won't go anywhere, with or without Guido around.

EDIT: Raymond Hettinger is on the ball as always: _" This PEP also shares some traits with PEP 572 in that it solves a somewhat minor problem with new syntax and grammar changes that affect the look and feel of the language in a way that at least some of us (me for example) find to be repulsive. This PEP is one step further away from Python reading like executable pseudo-code. That trait is currently a major draw to the language and I don't think it should get tossed away just to mitigate a minor irritant"_

<comment><USER12> And yet, PEP 572 _was_ recently accepted...

</comment></comment></comment><comment><USER13> Another +1 for rejection. Python is popular because it is easy to write idiomatic code that is easy to understand by humans, which I think is one of the features that separates bad from good code. This proposal would only add non-intuitive syntax (e.g. extensive operator chaining) that will make code more complicated to read, even if you are not a beginner, only to save 1-2 lines of code.

</comment><comment><USER14> Null-awareness is something that, once you start relying on it, you really start to miss not having it. I think having idiomatic and easy ways to shuffle nulls out of the system is practically required for any dynamically-typed language.

You need terse ways to do it because once your codebase reaches that point where the behavior is sketched out and now you need more correctness, you're going to be using it _everywhere_ , at least until you've discovered all the main sources of ambiguity so you can gateway those separately.

I'm a Rubyist, being dragged kicking and screaming into NodeJs world, so I don't have a dog in this fight, but this kind of thing and the reaction I'm seeing to it in this article makes me happy with my language choice.

Python seems to be seeking out a middle ground between a structured programming language and the web world. Which is fine and all, but it seems to be taking the worst part of both worlds. The verbosity and finickiness of syntax of structured languages and the performance of dynamic ones.

</comment><comment><USER15> Here's a write up of the chilly reception this recently received on the python-ideas mailing list: [https://lwn.net/Articles/760993/](https://lwn.net/Articles/760993/)

<comment><USER16> The whole endeavor seems a bit quixotic to me. This kind of change would no doubt cause such a stir that there'd be a fork before long.

<comment><USER17> No, it's not that drastic, especially considering prior art in other languages

Not supporting the change, but let's not be dramatic

<comment><USER16> I'm fairly well attuned to the sensibilities of Pythonistas and between this and the recent stepping down of the BDFL, it would definitely invite a fork, fuelled in no small part by the vacuum that exists in spearheading the Python project.

</comment></comment></comment></comment><comment><USER18> Please don't do this, Python!

I agree that the common patterns used for None values can be verbose; but, they're readable and clear. PEP 505 syntax looks like Martian.

IMHO, core developers should spend the next two years focusing on performance.

If they can just make cPython 50% faster (avg) and use 25% less memory (avg), Python can capture so much more marketshare; this increases the value of the ecosystem and economies of scale therein.

The language itself needs no changes.

</comment><comment><USER19> I am quite concerned about the kinds of PEPs that come up lately (edit: I now noticed it's three years old). Python is drifting farther and farther away from its nature and strength. The amount of complexity is constantly going up and I don't think it's a good thing. Please let this language be what is is.

A small amount of boilerplate in cases like this is fine and motivates you to restructure the code rather than hiding the mess in this way.

Why write

      data = data if data is not None else []

as

      data = data ?? []

if you could simply use

      data = data or []

which already exists and for all intents and purposes should achieve the same thing?

Need to make sure you can always append to something so you can drop some conditions?

      lst = get_log_list()
      lst?.append('A log message')

would have been

      lst = get_log_list() or []
      lst.append('A log message')

right now. In terms of reconsidering the structure of your code, I wonder if a log list not existing or being empty is a meaningful distinction. Perhaps it could return an empty list to begin with.

Even

      libpaths = libpaths?.split(":") ?? []

is fairly easy to deal with already if you absolutely want to it be short:

      libpaths = (libpaths or '').split(":")

Then again, if it is going to be treated as a string, why would it ever be None rather than an empty string? Is that distinction important? Being able to shove it under the rug by sprinkling some question marks over it, allows you to never stop and wonder about that, when in fact, you should.

<comment><USER20> > data or [] Unfortunately this kind of conditional assignment does not work > if `data` is a numpy array. This arguably more numpy's fault than python's, > though it is a mildly infuriating when it happens.

</comment></comment><comment><USER21> null in languages (or None in Python) is one of the few criticisms I hear from pure-functional minded evangelists that I have come around to. Projects started by novices tend to start with no null checks at all with lines like:

        some.object.other.method();

Then at some point after months/years of null pointer exceptions you get a code base littered with:

        if (some && some.object && some.object.other && some.object.other.method) {
            some.object.other.method();
        }

Or variants like assertions / try-catch blocks / etc.

This is even more cumbersome/ugly when needing to assign the result to a constant:

       const foo = some && some.method && some.method();

I would very much like to do away with null. There is some half-formed idea in my mind that this problem is related to how we allocate memory and the concept of the heap. I don't think syntax can solve this issue.

My main issue with syntax like:

       const foo = some?.object?.other?.method();

Is that it encourages sloppy error handling by making the conditional branches in the code implicit. I don't condone the (a && a.b && a.b.c) pattern so I don't really want a shorthand for it.

</comment><comment><USER22> I'm disappointed to see that everyone hates this PEP. I think null-conditional operators are pretty self explanatory even to beginners and they have the potential to remove a lot of boilerplate which actually could improve code readability in many cases. I wonder if this massively negative response isn't just a reaction to everyone having been burned by the PEP 572 debacle.

<comment><USER23> You have been deeply disconnected from beginners if you believe this. I absolutely assure you, someone new to programming will have no idea what in the name of god this is, and will struggle with it.

<comment><USER22> How can you say that with such certainty? Do you have an example of a similar construct where you've experienced beginners being confused by it, or are you just dismissing my opinion based on your opinion?

</comment></comment></comment><comment><USER24> _sigh_ no, what Python should actually have is a way to compose fallible computations such that if any one should fail, the entire composition short- circuits and returns the error; while not needing each one to check its input for such a case.

It could even be generalized so that it would work properly even for things other than the _ad hoc_ union-type formed by the billion-dollar mistake...

Why must so many languages incur upon themselves so much trouble by lacking such a simple thing as the monad abstraction?

<comment><USER25> Monad abstraction is a mere crutch to fulfill compiler greed. It is not needed in dynamically typed langs.

<comment><USER24> > compiler greed

What good compilers require, they repay hundredsfold in exhaustively eliminating entire categories of mistakes from every program that compiles without error.

<comment><USER25> > they repay hundredsfold

Most python apps is simple data proxies. Glue dicts from multiple sources into more complex dicts and pass further. If you will try to do proper modeling here you never accomplish a task.

<comment><USER24> On the contrary. A simple data proxy involves not much computation, but mostly reshaping; what _kind_ of thing you have becomes more important than _what_ thing you have, and eliminating confusion in the former realm is _precisely_ what static-typed code with proper modelling, excels at. And any competent static-typed language will have enough macro-like capabilities to generate the model code (along with as much of the boilerplate as possible) from a JSON Schema or similar.

(Confusion in the latter realm, on the other hand, is one of the most common sources of remaining bugs once typing errors and other footguns are eliminated-with-prejudice.)

<comment><USER25> If you will do proper modeling in each intermidiate processing unit you never accomplish a task. It is software design 101. We check invariants on the endpoints not in the middle.

</comment></comment></comment></comment></comment></comment><comment><USER26> Like many UI features, it is hard to get a feel for this without trying it.

Swift uses this syntax and I got quite used to reading and writing it.

I'm all in favor of it.

</comment><comment><USER27> I've always thought Python was a little too readable and obvious. I'm glad people are hard at work trying to fix that.

</comment><comment><USER28> This sort of functionality is at odds with the Zen of Python. It's not intuitive at all.

</comment><comment><USER25> Very strange PEP. Most `??` cases can be covered with simple `or`.

<comment><USER29> Not necessarily...

      x = 0
      y = (x or 42)

isn't the same as

      x = None
      y = (x or 42)

<comment><USER25> Yes, it isn't the same in a generic sense. But can be applied in many practical cases.

</comment></comment></comment><comment><USER30> On small trick that Pythonistas hate:

        x = x if None else x

Saves a ton of CPU time and is beautiful.

<comment><USER31> Huh, what's that do? It seems to assign x = x which is reminiscent of my pet "ugly" optimization: adding x = x to the top of a nested scope. It binds the x from a global scope to x in a local one. Local variable lookup can be substantialy faster given a hot enough loop.</comment></comment>


Show HN: Find your perfect home - our startup just launched! - <AUTHOR> https://www.dwellaware.com/

<comment><AUTHOR> We're an early stage startup with the mission of collecting, analyzing and presenting the information you need to find a home you'll be happy in. At this point we are just doing this for San Diego County.

We're hiring too!</comment>


Gravity Emerges…From Neutrinos? - <AUTHOR> http://blogs.discovermagazine.com/cosmicvariance/2008/12/27/gravity-emergesfrom-neutrinos/ <comment><USER2> I wonder if this is another Garrett Lisi ...

<comment><USER3> Because it sounds like it is in the process of being peer-reviewed and that he has actually presented his ideas to people who actually know what they are talking about, it seems quite doubtful.</comment></comment>


Ask HN: Dear Germans, where you emigrated to? - <AUTHOR> My question is addressed to all people from Germany who have emigrated to another country.
My questions:
Where did you emigrate to?
What do you work as?
How long do you live abroad now?
What is the bottom line? Was it worth it? <comment><USER2> Cluj, Romania - Founder/Freelancer - 1 year - totally worth (tax reduction from 45% to 6%)

</comment><comment><USER3> Where did you emigrate to? London, UK.

What do you work as? Enterprise Architect

How long do you live abroad now? 10years

What is the bottom line? Was it worth it? Totally. London is a big city and there is a lot of things to do compared to D (NRW). Pay is much better and you get to know people from around the world.

</comment><comment><USER4> UK - SWE - 3y - totally worth it (compensation wise)

<comment><USER5> Being in the UK, I'm surprised to see it on the good side of a SWE compensation comparison.

<comment><USER6> Take a look at the London contracting rates, you can fetch £600/day at the high(ish) end. Even Leeds I've seen people on £500+.

Permanent lead developer roles can also fetch £100k and above for the right company.

</comment></comment></comment><comment><USER7> As someone who is considering taking a job in Germany, this thread makes me reconsider that dream.

</comment><comment><USER8> Austria, End Developer and it's 2 years now. it was worth it because of the tax break</comment>


Blackberry App World Changes Name to Blackberry World - <AUTHOR> http://goodereader.com/blog/tablet-slates/rim-officially-changes-name-of-their-app-store-ahead-of-bb10-launch/

<comment><USER2> I like it. Feels like a stronger statement if anything.</comment>


Demographic Decline Is the Real Threat to the U.S. - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-04-10/trump-says-u-s-is-full-but-demographic-decline-is-real-threat <comment><USER2> > ...and to decreasing relevance, dynamism and power

Its funny how the author thinks we care about the elite's declining "relevance, dynamism and power"...as is I care about the end of the American empire.</comment>


"Particles and the Nature of Nothing" – laypersons overview of quantum mechanics - <AUTHOR> https://www.youtube.com/watch?v=-4Mz4OGVC_U&t=18m10s <comment><AUTHOR> Abstract: "I will give a crash course on particle physics, collider experiments, and quantum field theory. I will show that on the cutting edge of particle physics is the search for the description of the vacuum of spacetime and the nature of the laws of physics. Particle colliders are one of a handful of ways to explore these laws, and the worlds largest, the Large Hadron Collider (LHC) outside of Geneva, Switzerland, will have collected unprecedented amounts of data by the time of this lecture, revealing answers — and undoubtedly bigger questions — about the nature of reality. The previous run of the LHC revealed the Higgs Boson particle. I will explain its significance, its impact on the field, and the justification for featuring it in a documentary film. I will also tell a joke that, at best, physicists will find amusing."</comment>


Why Are Facebook, Instagram and Twitter Unbundling Their Apps? - <AUTHOR> https://www.sinch.com/opinion/test/ http://bit.ly/sunbundle <comment><USER2> Maybe they're just trying to make their dev teams move faster

<comment><AUTHOR> LOL!</comment></comment>


Free Software Foundation Privacy Policy - <AUTHOR> https://www.fsf.org/about/free-software-foundation-privacy-policy <comment><USER2> At least FSF is using an open-source analytics framework: [https://piwik.org/](https://piwik.org/)</comment>


WWII vet lay unclaimed at a morgue. Then neighbors did something beautiful - <AUTHOR> https://www.washingtonpost.com/local/a-wwii-vets-body-lay-unclaimed-at-the-morgue-then-neighbors-did-something-beautiful/2016/04/08/0418546e-fcf6-11e5-886f-a037dba38301_story.html <comment><USER2> I hate titles like this. I'm not even clicking on it.</comment>


New Pulumi Open Source Projects for Kubernetes - <AUTHOR> https://www.pulumi.com/blog/new-kubernetes-superpowers/ <comment><USER2> Every time I see this product mentioned, I get a fleeting moment of excitement before I realize that I don't really have any issues with YAML right now. I could probably spend 10 years fixing more important things in my stack versus having my infra in Go or something.

What are the use cases where having this sort of dynamic-ish declaritive-ish hybrid is a solution to an issue that people are having today?

<comment><USER3> think about huge CloudFormation yaml files with repetitive logic copy pasted, instead, you can build private subnet with couple of code and assign instances using OOP methods.

        subnet = aws.vpc.Create()
        subnet.Add(webServerInstance)
        subnet.Add(appInstance)
        appToDB = iam.create('name')
        appToDB.add(appInstance)
        appToDB.add(rds1)

and so on

<comment><USER2> Does that make this more akin to Helm for K8S then?

<comment><USER4> It covers many types of infrastructure outside of K8s. In the sense that you can use it to templatize infrastructure and inject many configs, it can work like helm. You can also use it in many other ways as well- creating your own classes, helper libraries, ternary operators, and all of the comforts of a general purpose language (often with a debugger).

Pulumi can deploy existing helm charts- just create a Helm resource, tell it where to look for the helm file, and it will deploy it and own its state moving forward.</comment></comment></comment></comment>


CVE Database in a Git-Like Repository - <AUTHOR> https://www.dolthub.com/blog/2020-04-22-national-vulnerability-database/ <comment><AUTHOR> Dolt is 'Git for Data'.

It's a tool to create SQL databases that you can push, pull, diff, branch, and merge. I created a Dolt repository to track the National Vulnerability Database. You can use SQL queries to find the latest security bugs, what software they affect, and how severe the issue is.

Try it out:

brew install dolt

dolt clone Liquidata/NVD

dolt sql -x "New CVEs Today"</comment>


Sharelock – Securely share data - <AUTHOR> https://sharelock.io <comment><USER2> From the "Security" page:

> _Urls are ephemeral, they are NOT stored anywhere (neither your secrets). > The content you share lives encrypted in the URL._

> _The decrypted content can ONLY be accessed by the people that you shared > shared the data with by means of login and email verification (as opposed > to, let 's say, Dropbox links which can be accessed by anyone who has the > link)._

(note: "shared shared" is present in the original. I hope that gets fixed)

> _Secrets are signed with HMAC SHA256 and encrypted with AES 256 CTR using > keys that live on the Sharelock server_

So it seems that the server holds the keys, and doles them out to users that prove their identity. And the URL holds the secret. So we're pretty much taking it on faith that the server never logs the URL anywhere (not just in the actual backend, but in access logs for any middleware or load balancers or anything else).

As for authentication, the animated slideshow on the front of the site says the user has to login with a Google, Facebook, Microsoft, or Twitter account (I assume that secrets shared with twitter handles must use the Twitter login, but for emails it presumably uses any of them).

I'm a bit concerned about the identity verification angle. If someone manages to compromise any of those 4 accounts, then that means they can then decrypt any URLs shared with that user (if they manage to get at the URL). Twitter accounts being compromised is not that uncommon. And it would be especially bad if the sharelock URLs are then sent via Twitter (say, Twitter DMs) to that user, because then the attacker has both the URL and the keys. Or perhaps the user doesn't even realize they have an old Microsoft account, one with a pathetically weak password, and the attacker breaks into that.

In fact, that may very well apply to me (I don't use anything that requires a Microsoft login, but I did once have a (rarely-used) Windows Live login, and if Microsoft converted those into whatever their current authentication setup is, then I probably have an account with a terribly weak password).

<comment><USER2> Regarding the access logs angle, the image shown on the front page shows a URL that starts with "[https://sharelock.io/1/cuwcRv64IR5ivYP..."](https://sharelock.io/1/cuwcRv64IR5ivYP..."). Presumably that garbage text is the start of the secret.

It would probably be a really good idea to move the secret into the fragment of the URL instead. Fragments aren't sent to servers, so they can't possibly show up in access logs. But the client can still access the fragment, and since the decryption presumably happens client-side, there's no reason for the server to ever even see the secret.

<comment><USER3> The decryption happens server-side - the server is the sole holder of encryption keys. Besides, it is the server that generated that ciphertext in the first place, so it already had access to the secret at that point.

<comment><USER2> Oh geeze, I didn't realize the server also did the encryption/decryption. The bit about the secret only being in the URL and not on the server made me think it was done client-side.

If it's happening server-side then it seems like this is only appropriate to use when you're hosting your own instance. Using anybody else's instance (for anything that actually needs to be encrypted) means handing your plaintext to the server operator.

</comment></comment></comment></comment><comment><USER4> I tried it from my browser to my cellphone. I use a Nexus 5 and it worked very well. I didn't have to install the app making it even easier.

Good job.

</comment><comment><USER5> As others have point out this just means you have to trust Sharelock. While its slightly less user friendly, and it has its own security issues would the following be viable:

1) Sender clicks 'share a file' and no file is uploaded yet. 2) Email is sent to recipient, explaining that they have an encrypted file waiting for them, and takes them through creating a public key done in their browser via JavaScript (biggest vulnerability....) 3) Original user receives email/notification with senders public key, and uploads a file that is encrypted with that public key. 4) Recipient receives notification that the file is now ready, and decrypt it with their client side JavaScript.

That way Sharelock or another service will never store the unencrypted files, and this service can be made more secure with open source uploader/key generation (e.g. for people more security conscious they dont use the webapp, but they use an API with their local app). Sharelock should commit to never holding backups of user data, and deleting all files after they have been 'received'.

It makes sending encrypted files as convenient as is possible, and be useful for many projects where the client doesnt want to share the plaintext data but it needs to be easy to use.

Thoughts?

<comment><USER3> You are right in your observation that the exchange of secrets through Sharelock.io is only secure if you trust the integrity of the service and the people behind it. To mitigate this concern we offer Sharelock as an open source project on GitHub, which allows anyone to create their own island of trust by hosting an instance and controlling cryptographic keys.

There are many ways to organize a secure exchange of secrets, each of them with different trade offs between usability and allocation of trust. With Sharelock we aspired to create a system that is maximally usable by leveraging existing social identity providers and remaining agnostic to the mechanism used to transfer ciphertext. We believe this approach makes Sharelock.io more widely applicable to a broad range of scenarios.

<comment><USER5> Then how is your service any more secure than any file upload service with ssl? It just seems misleading, whats the point of a safe when the key is glued to the door.

An encryption service that requires people trust its owners just isnt secure. You could be perfect with the utmost of integrity even under insurmountable legal pressure, but even then, if your system has a way of knowing the keys its leaving the door open.

<comment><USER3> We aspired to create a service that is _similarly_ secure to a file upload service with SSL, but _more usable_ at the same time by not tying the user to a partcular data exchange mechanism (you can sent the sharelock URL via e-mail, Tweet it, or publish in a New York Times).

Having said that, exposure of the user of sharelock.io can be argued to be lower than in case of a service which durably stores user's data. While sharelock.io keeps the cryptographic credentials, it does not durably store users' secrets or ciphertext.

<comment><USER5> Then to put it bluntly your service is misleading, and is the encryption equivalent of selling a leather jacket as a bullet proof vest.

</comment></comment></comment></comment></comment><comment><USER6> If it's text only, there's also zerobin ([http://sebsauvage.net/wiki/doku.php?id=php:zerobin](http://sebsauvage.net/wiki/doku.php?id=php:zerobin)) that has a lot of features and the added bonus of not storing the key on the server (it's using the anchor part)

<comment><USER7> Also created something similar a while back for fun, except for short text messages with the option for encryption in Javascript using an implementation of blowfish. It saves the data encoded (or encrypted) as part of the url.

Source with demo: [https://github.com/alfg/jot](https://github.com/alfg/jot)

</comment></comment><comment><USER8> Since this is limited to about the length of a tweet and requires to fully trust a third party (Sharelock), why not just send the message directly on Google, Facebook or Twitter?

What is Sharelock adding here other than a false sense of security? Are we supposed to trust Sharelock more than the aforementioned services?

</comment><comment><USER9> Does anyone here have experience with Tresorit? [1] They claim to offer something similar in terms of secure sharing, but with zero-knowledge encryption, i.e. without storing keys on the server. [2] Trouble is that the service seems very new, so not many reviews exist. The client being closed- source doesn't help, and I'm not in a position to evaluate their bounty program.

[1] [https://tresorit.com/features](https://tresorit.com/features)

[2] [https://tresorit.com/files/encrypted-link- whitepaper.pdf](https://tresorit.com/files/encrypted-link-whitepaper.pdf)

</comment><comment><USER10> No comment on the underlying technology or security, but damned if that isn't one of the best "explainer" animations I've ever seen. I'm adding this to my personal "awesome onboarding" catalogue.

<comment><USER11> Would you know any tool to quickly create such onboarding animations?

<comment><USER10> This one looks like it's done with GreenSock, but you could probably get away with using Abode Edge Animate (more WYSIWYG, Flash-like editing experience).

</comment></comment></comment><comment><USER12> Sign in with google? Facebook?

So you have to trust them, since they can get your data. No?

If anything, Apple's iMessage already lets you send secure data this way. Apple doesn't hold the keys, and messages are encrypted locally.

The site doesn't scroll properly on iPhone 5. Probably was designed with iPhone 6 in mind.

Otherwise - this is a cool concept! Just fix the auth.

</comment><comment><USER13> Strange coincidence that we share same name with bit similar concept under different tld. Mine is [http://sharelock.co](http://sharelock.co) Kudos for nice ui

<comment><USER14> Starts asking for location on load, tab closed :(

</comment></comment><comment><USER15> How are keys shared between users?

<comment><USER16> Keys live on Sharelock server [1]

      Secrets are signed with HMAC SHA256 and encrypted with AES 256 CTR using keys that live on the Sharelock server

[1] [https://sharelock.io/security](https://sharelock.io/security)

<comment><USER17> So one have to trust sharelock. That's not very convincing, unfortunately.

<comment><AUTHOR> Read my response above.</comment></comment></comment></comment>


Apple co-founder Steve Wozniak speaks out on tax - <AUTHOR> http://www.bbc.co.uk/news/uk-northern-ireland-22645403

<comment><USER2> With all due respect, but comments like these make Steve seem out of touch with reality. Yes there are some strange business expenses deducted, but to make a tax on revenue would be so hostile to starting businesses that only large incumbents could survive.

<comment><USER3> It's not unheard of, Washington state has one, to e.g. capture money from Boeing whatever the business climate is. Don't know if it has a floor to help startups, but it is thought that's one of the reason the state doesn't have all that many of them, especially really big ones, and why Microsoft moved there sometime after the point where they hired a professional CFO who was semi-horrified to find that prior to that whenever they had another 100K to sock away they'd just buy a US Treasury instrument.

<comment><USER4> The City of Portland (Oregon) has a revenue tax as well, with a floor of $50,000, regardless of incorporation (so it affects freelancers as well). It was actually $15,000 until 1998, jumped to $25,000 for 1999–2006, then $50,000 since.

</comment></comment></comment><comment><USER5> Large corporations in the U.S. want to be treated like individuals (or better), e.g. the Citizens United prosecution and decision (unlimited political spending).

At the same time, they don't want to be treated like individuals: Taxes, prison time for criminal offenses, etc.

I have little sympathy for them.

This includes because, as a corporeal individual, I am in competition with them. And they've stacked the deck.</comment>


Google hosted videos shutting down - <AUTHOR> http://video.google.com/support/bin/answer.py?hl=en&answer=1233300 <comment><USER2> Given that it's shutting down, what's HN's favourite videos? I'll start.

<http://video.google.com/videoplay?docid=-9077214414651731007> \- The Union: The business of getting high

[http://video.google.com/videoplay?docid=-8653788864462752804...](http://video.google.com/videoplay?docid=-8653788864462752804#) \- The Fog of War. Incredible war documentary

[http://video.google.com/videoplay?docid=-5968506788418521112...](http://video.google.com/videoplay?docid=-5968506788418521112#) \- If you only watch one, watch this. This is a Horizon's documentary 5 years after Chernobyl when they were still worried about a second explosion. The people there are all working under massive radiation doses, and there's loads of camera artifacts that are a result of radiation exposure (trails caused by the CCDs being exposed to radiation, white flicks of light on film etc.)

[http://video.google.com/videoplay?docid=-5267640865741878159...](http://video.google.com/videoplay?docid=-5267640865741878159#) \- Robert Newman's History of Oil

[http://video.google.com/videoplay?docid=-3323021761394989726...](http://video.google.com/videoplay?docid=-3323021761394989726#) \- The human animal

<http://video.google.com/videoplay?docid=3840459477996788886#> \- A blank on the map

If you want to download the videos to keep then you can use a service such as <http://keepvid.com/> or if you're using firefox, search for the flashgot extension. The resulting files can be played with a player like VLC (<http://www.videolan.org/>).

</comment><comment><USER3> There's an effort to archive the videos, similar to the one to download Yahoo's videos before they shut down. To check it out go to #googlegrapes on EFNet.

</comment><comment><USER4> too bad, there are lot of good documentaries there..</comment>


Growing Independence - <AUTHOR> https://www.jefftk.com/p/growing-independence <comment><USER2> I really love this particular example:

"About a year ago I brought Lily to an amusement park. Near the end of the day there was a roller coaster she wanted to go on, but it was too scary for me, so I told her I wouldn't go on it with her. She asked if she could go on it by herself, but you needed to be 48" to ride alone. She told me she was going to find someone else to ride with her, and I didn't object. She wandered a bit with me until she identified someone who I think she thought was sufficiently non-threatening (middle-aged woman hanging out with family) and Lily asked me if I would be willing to ask on her behalf. I declined, expecting Lily would be too shy, but Lily went up, explained the situation, and asked if they would go with her. They were a bit confused, confirmed the situation with me, asked me if I was ok with it, and I emphasised that it really was fine if they said no. They decided to do it, and as far as I could tell both had a really good time."

This is just such a great example of what we're losing in society and community, the ability to put some trust in others, even with things that are really important to us. I'd love to work on ways to help people regain and build that ability to trust in others.

</comment><comment><USER3> Many great examples here, and my wife and I do many of the same things, but it's not always this easy. If your child is receptive to these things, like the children in the article, that's great. Our younger one is receptive and our older one is getting there as he ages. If we judged ourselves as parents based on just the younger, we'd think we were amazing parents making all the right choices. If we judged ourselves just on the older, we'd think we were completely ineffective at, e.g., fostering independence.

I just hope nobody's reading this and feeling bad about their parenting. The personality of the child is critical.

<comment><USER4> Before I became a parent, I was always a believer in 'nurture' over 'nature'. I believed that our personalities and our behaviors were mostly shaped by upbringing and environment and very little by genetics.

Now, as a parent, I've done a 180.

My three-year-old has a distinct personality that clearly draws on elements of mine and my wife's, but he's been exhibiting little behaviors all his own since infanthood that have become more fully formed as he's grown into a little kid. In the moment, we didn't recognize that those behaviors were 'personality', but with hindsight it's clear that that's what we were seeing.

We do our best to nudge him in the right direction (sometimes very firmly), but like the OP and like you, we've come to realize that our job isn't to mold or shape him (or anything that active) but rather to be a set of guardrails that help to keep him safe and a step stool he can use to flourish into a fuller version of the person he already is.

</comment></comment><comment><USER2> This is great and applies equally well as advice for managers (and especially executives) of how to work with their employees. For a more job-oriented set of similar advice, I highly recommend "Turn the Ship Around" by Capt David Marquet.

The core premise of both of these is not letting responsibility gravitate by default to those in power above you. It prevents a mentality of "I just take orders" or "I just do what I'm told." Granted, it requires the support of those above you (as seen with the parent in the article being very supportive of this way of thinking) and it also requires people to be open to learning to work in this way (some people have gotten so rigid in how they work they won't be able to make the leap).

<comment><USER5> It's Your Ship by Abrashoff is really good too.

</comment></comment><comment><USER6> > "As soon as our kids could walk we started teaching them how to stay out of > the street. This was some work, but when we fully trusted that they would > stop at the corner they gained the freedom to run ahead on their own. When > they were little I couldn't let them get too far ahead, though, or other > adults who didn't know that these particular kids knew to stay out of the > street would get worried and try to protect them."

i did this with my dog, largely for the same reasons cited:

> "Not only does it make their lives better, because they can meet their own > needs how they want, but it makes my life easier, because they can handle > more on their own."

also, to give her a measure of freedom and develop self-confidence. she's a rescue, likely abused by her previous owners, and had lost all confidence in herself and trust in others. it's been great for the both of us.

</comment><comment><USER7> The second bullet point, forcing them to wait before he answers, is basically "Ask the Duck" ([https://hwrnmnbsol.livejournal.com/148664.html](https://hwrnmnbsol.livejournal.com/148664.html)). It's been invaluable for me (and for the colleagues who ask too many easy questions).

</comment><comment><USER8> This blog is an absolute treasure. Bookmarking for future reads.

</comment><comment><USER9> > When they were little I couldn't let them get too far ahead, though, or > other adults who didn't know that these particular kids knew to stay out of > the street would get worried and try to protect them.

You have to love the phrasing of the problem: "other adults" reinforce the wrong lesson about independence for the author's children.

How do _the general concerns of people who aren 't us_ factor into these lessons about independence?

<comment><USER10> I'm not really sure what you're asking?

I don't blame adults who don't know these specific children for being concerned for their safety, even though it might mean I need to visibly parent more than I would prefer.

</comment></comment><comment><USER11> There's some subtle sexism in that story.

<comment><USER12> I'm not sure why you're being downvoted. If the text had said white person, it would have obviously been racist.

Perhaps because sexism in this instance is completely acceptable? I'm not objecting to that, by the way.

<comment><USER13> My family watches CinemaSins. Instances of racial depictions are often tagged with a verbal, "That's racist!" when, sometimes, it's "race-ial" content or even the mere mention of race. "-ist/-ism" usually connotes negative orientations, or heavily biased presentations.

Can't imagine how to navigate this these days, but maybe there's a layer between.</comment></comment></comment>


Lektor – A flat file content management system - <AUTHOR> https://github.com/lektor/lektor <comment><USER2> I've been really getting into the flat file CMS's recently. I just did a quick project using Grav and its use of twig and yaml made the set up a breeze. With NGINX and not having to muck around with a database I was able to stick the whole thing on a Raspberry Pi and physically handed them their server to plug into the router. I won't dread the next build if these lightwieght CMS's keep popping up.

<comment><USER3> Yeah, i'm the same with the non-SQL HTML generators like Hugo etc. I can't believe how many websites get owned through a blog when all they need is static HTML.

It's almost like people are getting used to the idea of reducing their attack service...</comment></comment>


Artsy Hacks: Art by Sebastian Krüger - <AUTHOR> http://vospe.com/2010/09/21/artsy-hacks-art-by-sebastian-kruger/

<comment><USER2> Apparently 'personality portrait' is what you call a caricature if you want to sell it as high art.</comment>


Instagram's Wannabe-Stars Are Driving Luxury Hotels Crazy - <AUTHOR> https://www.theatlantic.com/technology/archive/2018/06/instagram-influencers-are-driving-luxury-hotels-crazy/562679/?single_page=true <comment><USER2> I have a sibling who has 20,000 followers on Instagram, doesn't save a penny, and blows everything on superficial bullshit to paint a life she doesn't have.

I don't have sympathy for my own family member. The obsession with portraying yourself as someone your not and getting validation from people you don't even know is a cancer. I blame my parents but I also blame these platforms and their jackass developers who think they're saving the world with their "innovation". Again, I blame my parents on this mostly.

<comment><USER3> They're "changing" the world, not "saving" it. Change can always be for the worse.

<comment><USER4> As Margaret Atwood wrote: "Better never means better for everyone... It always means worse, for some."

</comment></comment></comment><comment><USER5> I'm sorry, the tone of this article is a joke."How do we deal with all these fake wannabe influencers cold emailing us and asking for free stuff."

I don't know, maybe do what all of us do and filter out spammers, delete emails, and follow up quickly with anyone who seems promising?

Or maybe ignore all of the requests? I mean damn, it's not like a hotel manager is a demigod.

</comment><comment> andrew-dc Yeah, uh hi, I'm interested in your...uh...Self-Absorbed Jackass package. What does that entail?

<comment> andrew-dc "...part of an ever-growing class of people who have leveraged their social media clout to..."

"OK. I'm out." (splash) ~Maui</comment></comment>


Living with Lag [video] - <AUTHOR> http://livingwithlag.com/

<comment><USER2> "you wouldn't accept lag offline, so why do it online? get up to 1000 Mbit/s fiber today."

I find this contradicting. They talk about lag, but offer bandwidth. What about latency? Shouldn't they talk about milliseconds of delay from your computer to the server and back?

<comment><USER3> You're both right and wrong. You're right because serious internet lag issues stem from problems along the line, or simple physical distance. However they're also right to advertise with bandwidth, because bandwidth does impact lag. On a 10MBit line, you will need 10 ms to upload 12.5kbyte, and another 10 ms to download the same as the response from the server, making turnaround time for such a package 20 ms. That's more than one whole frame for an application running at 60 fps. With a 1000 MBit line, the turnaround time for the same will be 0.2ms, basically nothing. On the other hand: For both cases you need to add the distance as a flat factor, so whether you notice it or not depends on whether you're communicating to a server close by (20-50ms) or one a continent away (150-300ms).

<comment><USER4> "With a 1000 MBit line, the turnaround time for the same will be 0.2ms, basically nothing"

How do you figure this? That doesn't follow at all. The proverbial[1] van full of microSD cards may have much more bandwidth than a 1Gbps line, but it will never turn around in 0.2ms.

[1] [http://www.tidbitsfortechs.com/2013/09/never- underestimate-t...](http://www.tidbitsfortechs.com/2013/09/never- underestimate-the-bandwidth-of-a-station-wagon-filled-with-backup-tapes/) \- 67Tbps estimated bandwidth for a station wagon going between LA and NYC.

<comment><USER3> Please read the sentence following the sentence after which you paused to comment. :)

</comment></comment></comment></comment><comment><USER5> This is completely ridiculous, like those TV commercials where some clumsy person nearly severs their own hand with a knife because they're not using the infomercial's special chopping tool. The guy making pancakes was especially egregious. His friends were laughing at his stupidity, and he likely hammed up the remainder of his "performance"... who swings an egg by half a meter to crack the shell on the edge of a bowl? It's as if they went out of their way to find people who have absolutely abysmal proprioception and watch them bumble along even more as their inability to perceive the world they live in gets magnified.

<comment><USER6> Next on the front page of HN - "Living with weight". A video showing "experiment" where people are going on with their daily lives, except they have 4 bricks strapped to their face and it's hard for them to keep head straight, they are laughed at, one is fired from office. At the end, text "Living with weight is hard. Samsung New Phone. Weights 10g less than iPhone."

</comment></comment><comment><USER7> Cool idea! I would have liked to see a control experiment with no lag.

</comment><comment><USER8> Wouldn't you be able to combat some of the misalignment by going really slow?

<comment><USER9> I think in the long term you'd learn to cope with this, a lot of the user issues seemed to do with depth perception more than lag.

I'd love to try this for a day but I think after a few minutes with the dev Rift you tend to strain your eyes in my experience. Fantastic ad though.

<comment><USER10> Yeah the use of a single forward looking camera seams to be the main cause of most of the problems.

1\. No depth perception

2\. Everything seams to be a bit closer than they actually are.

3\. The camera view field is allot smaller than your eyes view filed.

Cool nonetheless.

</comment></comment></comment><comment><USER11> The idea of having the camera on the front is powerful. I have heard people complain with the rift about the fact that they cannot see their arms. I.e. that their "virtual arms" do not match up. it would be cone if their was a way of filming the arms, extracting then from the background (possibly by playing in front of some kind of green screen), and overlying this on the display.

The potential would be great if the games could then query the arms locations and allow the use to interact with the game. I.e. hold a fun, or manipulate menus Minority Report style.

<comment><USER11> And a unrelated question here: Is there a way to edit my comment? I typed it on my phone, and reading it back, it appears the auto-correct did not favour me.

I couldn't find any information on this in the faq or the "Unofficial Hacker News FAQ".

<comment><USER12> The edit link stays open for a limited time window. (I forget how long, but it's 2 or 3 hours.) If you want to email your corrected text to email@example.com, I'd be happy to put it in for you.

</comment></comment></comment><comment><USER13> This is an incredible piece of advertising and the very definition of advertising done correctly.

It's funny, relatable, and immediately makes you want to buy the product they're selling. Also, very cool use of hot new technology.

</comment><comment><USER14> I bet many people on wallstreet will (not) order internet service from them for their HFT (high frequency trading)... their lag is measured in nano- seconds (they even disable firewalls and such to decrease latency)

</comment><comment><USER15> Ever been owned by a HPB? High latency can be compensated for.

[http://www.urbandictionary.com/define.php?term=HPB](http://www.urbandictionary.com/define.php?term=HPB)

<comment><USER16> Only in the same sense that you can "compensate" for deafness by learning to lip-read.

Source: Played all my games across the Pacific ocean in the 90s with 300+ latency.

</comment></comment><comment><USER17> I like the creativity, but for me the slogan sounds like "Living with AIDS/Cancer" and such. Maybe it's just me.

<comment><USER18> I'd bet that was intended.</comment></comment>


Ask HN: Anybody Interested in Collaborating on a F# App? - <AUTHOR>

I was thinking about writing a small application as a proof-of-concept.
The application will allow users to post one entry to multiple places on the net -- FaceBook, MySpace, Twitter, YouTube, Wordpress or MoveableType blog, etc.
After posting, the app goes back to each place and catches all the replies and puts them in a place of the user's choosing -- perhaps as comments on his blog, perhaps as just a list in the app, perhaps as comments on FaceBook, perhaps as tweets to his phone, etc.
So it's kind of a switchboard where users can both post and track entries without having to visit dozens of "channels" on the web. I guess you could call it a poor man's wave.
Right now I'm thinking it will be a Win32 F# app. I'd like to make it a webapp, but I think screen-scraping is much more legal when done from the user's computer instead of a centralized service.
Anybody interested in doing some F# work over the next month or two? Let me know. I don't see any reason several of us couldn't collaborate over the net on this. <comment><USER2> That sounds very interesting. I guess you'd need some kind of abstraction layer to bridge the app and the individual websites, with one implementation for each community.

What would that API look like? _getListOfTopics_ , _getListOfCommentsForTopic_ , and _submitCommentToTopic_ are the primary methods, I guess.

But some forums have hierarchical topic-trees, some sites have nested comments, some sites are so high profile that you'd need some kind of filtering, etc.

I can't think of any abstraction layer that would work for both Twitter, Google Groups and StackOverflow.

<comment><AUTHOR> I don't think the abstraction layer needs to be tough at all. To make things simpler, you'd only tackle a small problem first, then incrementally move towards the uber-app.

For instance, as a first pass, you'd just allow the user to post to various services and retrieve comments on their post in one place. So you'd have getPostLength, postMessage, and getReplies

I think that'd be about it.

Ideally you'd have a meta-language that described how to find things on each service. I've already done some work with that as part of another project, so I know it's workable.

Like I said, this is so easy a caveman could do it, which leads me to think that the gnarly part of the problems lie somewhere else besides the technology -- perhaps finding the right initial niche for growth or dealing with lawyers from the social sites.

</comment></comment><comment><USER3> We have been doing this for a while at <http://friendbinder.com>

There are also a number of others like PeopleBrowsr, SocialThing (bought by AOL now AOL lifestream), Threadsy, EventBox and Ping.fm (for posting) that are trying it.

<comment><USER4> I dont think thats what he is talking about... and I would put a video demo on your site right where the pic is...</comment></comment>


NSA Unlawfully Surveiled Kim Dotcom in New Zealand - <AUTHOR> http://thehill.com/policy/cybersecurity/344742-nsa-unlawfully-surveiled-kim-dotcom-in-new-zealand <comment><USER2> The only mention of NSA seems to come from Kim... His logic appears to be that as a Five Eyes member the NSA and GCSB have some shared resources and that means the NSA used those resources to spy on him. That might be true, but he has no evidence that the NSA cares one bit about him. I seriously doubt the NSA was tasked with working a non-terrorism related piracy case, but that's me.

[http://www.nzherald.co.nz/index.cfm?objectid=11897719](http://www.nzherald.co.nz/index.cfm?objectid=11897719)

> Dotcom, who should have been protected from GCSB surveillance as a New > Zealand resident, said the GCSB did not know because its equipment was being > used by the NSA, which was "directly involved".

> The GCSB documents do contain an admission of NSA involvement, although it > was not made outright. In response to the accusation the GCSB had accessed > NSA networks, the bureau refused to answer on national security grounds and > acknowledged that under High Court rules that doing so would be seen by the > court as an admission it had.

> Dotcom said the details showed some other party was using GCSB systems and > he believed it would be the NSA."The US government has requested my > extradition. The NSA is clearly the most interested party."

> "The NSA has unrestricted access to GCSB surveillance systems. In fact most > of the technology the GCSB uses was supplied by the NSA."

<comment><USER3> Worth pointing out at this point that Kim is a heavily-documented liar.

If he told me the sky was blue, I'd go outside to check.

<comment><USER4> Don't worry, he has been meticulously collecting evidence and can prove everything! Unfortunately he can't post it just yet, but he'll definitely post it soon! Maybe next week! Or next month! But it's gonna be huge!!!

<comment><USER5> (Right after he gives Hannity his other scoop: [https://twitter.com/seanhannity/status/866016183815942144](https://twitter.com/seanhannity/status/866016183815942144))

</comment></comment></comment></comment><comment><USER6> Since when did the NSA become the copyright industry's police? There were no security implications of Kim's operation; why was he targeted by the NSA?

<comment><USER7> The US intelligence apparatus exists to protect the interests of the citizens of the United States. A foreigner who violates millions of dollars of intellectual property belonging to American citizens and companies is a threat to our interests, and also of the interests of the nearly 200 nations that participate in the global copyright regime, whose copyrights he was also violating. Foreigners on foreign soil have no rights as far as US law is concerned.

<comment><USER8> You are right, or something resembling right, as regards Kim Dotcom in relation to the US.

But there is still something troubling here for Americans, because it means that there is an existing mechanism (and/or set of social relations) in place by which American copyright interests can turn the intelligence agencies into their servants. Once such machinery exists, it is at least as dangerous to Americans as it is to foreigners.

<comment><USER9> I am not usually in the "if you have nothing to hide..." crowd, but this isn't some kid in Minnesota who downloaded a Metallica album. This is someone who created a business enterprise to circumvent US law. This is someone who pulled in tens if not hundreds of millions of dollars from this business. For a time this business was the single biggest source of pirated content in the world. All of this was done basically in the open. If this guy was an American citizen I doubt there would have been any resistance to getting warrants for this information. The slope would have to be very slippery for it to get to the level that the average American citizen would be the target of this type of investigation.

<comment><USER10> So what happens when a US citizen starts publishing stuff China (or Russia, or the UAE, or England, or any other state that doesn't protect free speech as we do) doesn't like?

What happens in 40 years, when the US is on much less-firm footing as de facto World Cop?

<comment><USER7> Never forget Thucydides' wisdom from 2500 years ago, as true today as then and as in 2500 more years:

 _" Right, as the world goes, is only in question between equals in power, while the strong do what they can and the weak suffer what they must."_

Tying our hands today will do nothing to help us when we are the weak and someone else is the strong.

<comment><USER11> Of course, acting with moral authority extends the lifespan of leaders, because such leaders get more support than the nakedly self-interested. And thus tying your hands today does in fact put off the day when you're weak.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> As long as the US wastes tax payer dollars doing investigations and enforcement of Hollywood copyrights, I'd like to see them pay some dumb as agent to do a comparison of the total number of copyright violations on YouTube vs the total number of copyright violations on Mega servers.

For fun they could do a comparison of the number of copyright complaints both YouTube and Mega received and the number of those complaints they have acted on. Maybe for extra bonus we can also compare the number of counterfeit products on Amazon (violating copyright or trademark).

<comment><USER13> But is it a waste? The export of American values through their media is an incredibly powerful tool. Ignoring their goals and values, which I disagree with, the tactics and strategy make complete logical sense.

There is a reason that military agencies get to edit scripts before they allow the use of their resources in movies and it's not because they're stupid people.

<comment><USER12> >The export of American values through their media is an incredibly powerful tool.

If American made media is such a powerful tool you think American tax payer dollars would go to something like Mega maximizing distribution of American values through this media, rather than spending (tax payer) money to limit the distribution of said American values.

<comment><USER13> True, if America had the same propaganda goals but a much more socialist attitude. As it is, one of those values is that the people who own this media should be incredibly rich. And those rich people should have more of a say over what is allowed, and they love copyright - the longer the term and the more violent the enforcement the better.

</comment></comment></comment></comment><comment><USER14> I'm not shocked in the slightest - spying is likely the most harmless of actions performed by US and NZ against Dotcom.

It's still much more shocking to me how NZ authorities de-facto renounced their sovereignty, by letting US agents free to walk all over their laws when they raided him. They did that with glee, with the happiness of a servant who knows he's making a great job for his master and rewards will ensue. It made a mockery of the NZ justice system, all involved police chiefs and politicians should have been thrown in jail for treason.

</comment><comment><USER15> Unlawful in New Zealand. I'd be surprised if what they did wasn't legal under US law.

<comment><USER16> Short of political assassination, is _anything_ done by the US government outside the US illegal under US law?

<comment><USER17> It should be, the US Constitution should apply to government actions ANYWHERE not just actions on US Soil, the US Constitution was never designed to be geographically limited, it was designed to limit what the government was allowed to do, period, in all cases in all lands, everywhere

Sadly the US Court Systems has stated it does not have the authority to apply the Constitution to the US Government when the US Government is acting outside US Soil, it is a ridiculous standard but....

<comment><USER15> >It should be, the US Constitution should apply to government actions ANYWHERE not just actions on US Soil, the US Constitution was never designed to be geographically limited, it was designed to limit what the government was allowed to do, period, in all cases in all lands, everywhere

No. There's no support for this view in constitutional law.

<comment><USER17> How so, the entire purpose of the Constitution is to be a limiting document on what the States and we the people have authorized the government to do on our behalf, not just do on our behalf with in the Geographical regions commonly known as the United States

</comment></comment></comment></comment></comment><comment><USER18> Can someone state in a nutshell why this guy keeps getting bullied by the government?

<comment><USER19> Piracy. MegaUpload was a huge warez distributor around the same time as RapidShare. File Hosters over HTTP

<comment><USER18> So why are rapidgator and uploaded or any other upload services getting off the hook

<comment><USER20> I'm not sure they are, they're just not nearly as public. Kim Dotcom is / was notoriously boastful about his actions, and all the money he made off those actions. I've never heard similar things about the founders of any other file hosting service founder/owner that is well known for piracy. Makes him an incredibly appealing target I think.

<comment><USER14> Same as PirateBay, which made its name when they publicly replied to copyright enforcement letters with insults. Refusing to be humbled by established authorities is the real crime, because it corrodes their legitimacy and hence their whole existence.

It's a bit like being homosexual in countries with harsh state-religions but tolerant attitudes: keep it quiet and nobody will bother you, but if you flaunt it then the law will crack down on you, because you're attacking the basis of the whole legal edifice.

<comment><USER21> Don't make fun of the state.

</comment></comment></comment></comment></comment></comment><comment><USER22> Oh look, the NSA using its extraordinary capabilities solely to ensure the military security of the United States. Kim Dotcom surely represented a strategic threat to our interests. /s

</comment><comment><USER23> Was Kim dotcom considered a national security risk because of Megaupload or because of other things he did / or planned?

</comment><comment><USER24> Putting aside the target of the surveillance -

Yes, the NSA is a spy agency. It's their job to spy outside the country. And of course the spying is illegal outside of the country - no country endorses being spied on by foreign governments.

<comment><USER25> > And of course the spying is illegal outside of the country - no country > endorses being spied on by foreign governments.

Isn't this _exactly_ what the Five Eyes surveillance agreement is? It certainly seems extremely relevant and may also explain why the NSA's surveillance here was possible.

<comment><USER26> It's illegal for these countries to spy on their own citizens so they get their friends to do it instead.

</comment></comment></comment><comment><USER27> And now waiting for the other shoe to drop: FBI doing parallel construction with evidence obtained through that illegal NSA surveillance.

<comment><USER2> Except for the part he's not an American so it wouldn't be illegal for the NSA to snoop his emails and no parallel construction is needed to know that Kim Dotcom ran a massive pirate site. He boasted about it and his wealth from it openly!

Kim's great at getting press and that's about all there is to see here.

</comment></comment><comment><USER28> Thinking about it, Watergate came after we left the gold standard. The more money being spent on the NSA, the more government debt increase and benefit contractors like Snowden.</comment>


Mark Zuckerberg lost $6B and his head of security in one day - <AUTHOR> https://www.fastcompany.com/40546764/mark-zuckerberg-lost-6-billion-and-his-head-of-security-today <comment><USER2> Just started the process of deletigg my accpunt last night. Love this news.</comment>


Magic and the rise of science - <AUTHOR> http://www.the-tls.co.uk/tls/public/article1666588.ece <comment><AUTHOR> Relatedly - anyone interested in this topic should check out Keith Thomas's _Religion and the Decline of Magic_ (1971), hands down one of my favorite history books ever. Here's a recent essay about it by the novelist Hilary Mantel:

[http://www.nybooks.com/articles/2012/06/07/magic-keith- thoma...](http://www.nybooks.com/articles/2012/06/07/magic-keith-thomas/)

<comment><USER2> Seems to be paywalled.

<comment><USER3> [http://www.fauxvictorianrag.com/2012/12/religion-and-the- dec...](http://www.fauxvictorianrag.com/2012/12/religion-and-the-decline-of- magic.html)

</comment></comment></comment><comment><USER4> i believe the world is made up of excitations of quantum fields. Is this a scientific belief?

i haven't done the experiments.

it would take me weeks to work through a single path integral from even the best pedagogical textbook (I have Zee [1] in mind).

Why do I believe that? Because it makes 'sense'? QFT as physicists do it is mathematically inconsistent. can i interpret the immense amount of accumulated experimental data from bubble chambers to the LHC with any reasonable chance of saying something sensible?

i'm not a scientist; how could my beliefs be scientific? what exactly are people saying about their beliefs when they say that they hew to rationality and science? it doesn't seem materially much different from magical beliefs in how the world works. it just so happens, yeah, the world is probably a bunch of excited quantum fields because that's what makes me laptop run, or so i've been told.

ultimately, most of us are trusting an authority, and the strength of science always must be that there is no central authority: that all that is true is freely observable by anyone. there's no special rites that need to be observed (though if you were to go to grad school, you'd say otherwise), there's no purity that must be established. you don't have to be a man, or white, pharaoh or a priest. science is defined by this egalitarian radically free epistemology, and it is important not to take that for granted because it is constantly under assault by those who would seek to claim exclusive authority over truth.

the idea of science can easily be used to smuggle in magical ideas. science itself is defined not by its rhetoric, its jargon, its sociopolitical structure, whose paying for it, all the property rights and patents that enable it to be hoarded, etc. but by the ability to observe an experiment and ask another human being to reproduce it. science is mutual trust, good faith, and cooperation in the search for truth.

[1] [http://press.princeton.edu/titles/9227.html](http://press.princeton.edu/titles/9227.html)

<comment><USER5> absolutely right. how do you translate from the strings "excitations of quantum fields" to "math with a lot of greek symbols"? Very illuminating is the attempt to convert higher math into computer programs (Bertrand Russell tried this 100 years ago). What is mathematics not reducable to programs, and why isn't physics written in a logic language? It would look like this: [http://us.metamath.org/nfegif/mmnf.html](http://us.metamath.org/nfegif/mmnf.html)

Ultimately you end with set theoretic axioms. But what about functions over time? Category theory is more philosophic than one would think. The true mystery to me is why unconventional thought is so rare. I guess it doesn't pay well to think about things from scratch, certainly in business and also not in science driven by peer-review.

<comment><USER3> I'm still hoping for something like the "calculus of statement" described in Heinlein's "Blowups Happen." I think that a plurality of axiomatic approaches and formalisms is always better - consider the dialogue between those advocating a change to category-theoretic axioms for modern math and those that want to retain the set-theoretic ones. The debate is very productive.

So I think the world needs more thinkers-from-scratch. Shinichi Mochizuki is one such, regarding his work on the "abc conjecture." But his case makes obvious one other reason there's not more from-scratch unconventional thought: it often requires Von Neumann-level intellect to pull off.</comment></comment></comment>


Portable Simula Revisited - <AUTHOR> https://portablesimula.github.io/github.io/ <comment><USER2> As a reminder, there is also a Simula compiler provided by GNU ([https://www.gnu.org/software/cim/](https://www.gnu.org/software/cim/)). A gist for installing and running the compiler is available from [https://gist.github.com/mclements/706fcb68047f7f8c07014c70f9...](https://gist.github.com/mclements/706fcb68047f7f8c07014c70f9472521).

</comment><comment><USER3> > _The project was initiated as a response to the lecture held by James > Gosling at the 50th anniversary of Simula in Oslo on 27th September, 2017._

This made me realize that I actually have never read any articles or seen any contalks by James Gosling. Surely the guy behind Java must have some interesting thoughts and ideas to share. Will give that presentation a listen later!

</comment><comment><USER4> Interesting work! Judging from the commit history, it seems to be entirely the work of one person, Øystein Myhre Andersen, whose GitHub profile contains the following bio blurb:

> Veteran Software Developer, born may 1946. Worked with various Simula teams > from the very beginning. Speciality: Runtime Design and Code Generation.</comment>


Show HN: Test your internet connection speed from the command-line - <AUTHOR> https://github.com/sindresorhus/speed-test <comment><USER2> This sounds immensely more appealing than dealing with their ad-ridden site.

</comment><comment><USER3> Quite similar to [https://github.com/sivel/speedtest- cli](https://github.com/sivel/speedtest-cli)

<comment><USER4> Which echoes its results to stdout, making it useful remotely, too.

</comment></comment><comment><USER5> I very much prefer this over installing the python package, thanks! I think it'd be useful to additionally display the location of the server it chose.

</comment><comment> rkuykendall-com Absolutely beautiful UI. Well done.

You should also consider a flag for simple JSON output as well, without loading indicators.

</comment><comment><USER6> Works on Windows :-)

          Ping  5 ms
      Download  140.7 Mbps
        Upload  123.1 Mbps

</comment><comment><USER7> bonitas, mas não gostei.</comment>


Omnilinks, AppLinks and the State of Mobile Deeplinking - <AUTHOR> http://blog.urx.com/post/84368956069/omnilinks-applinks-and-the-state-of-mobile-deeplinking

<comment><USER2> When I click an omnilink on my iPhone, and I don't have the relevant app installed, I am shown a dialogue box 'Safari cannot open the page because the address is invalid'. However, it goes away in less than a second (before I have time to react and click 'OK'), and I'm taken to the relevant web page.

I guess that's the intended behaviour.

<comment><AUTHOR> yes, that is WOI. Unfortunately, web standards haven't allowed for complete pop-up suppression cross-platform and cross-browser. Fortunately, there are clever ways to make it suck less.

<comment><USER3> IMHO, the hard part in deep linking is connecting existing web app content w/ views inside the mobile app. But, not sure if that can be delivered as a SaaS/proxy service + SDK (since it is too specific to each site).

</comment></comment></comment><comment><USER3> May be I am missing something. Isnt Omnilink just detecting the user agent (eg Google/Twitter crawler) and presenting the right content to the crawler? Is there something else to this solution?

<comment><AUTHOR> yes, check out how the routing works: [http://urx.com/getting- started](http://urx.com/getting-started)

</comment></comment><comment><USER4> More interesting than a third-party deeplinking service (URX, AppLinks) would be a directory of deeplink schemes/uris so we could just use them as-is instead of proxying through some other guy

<comment><AUTHOR> what would you be interested in doing with that data/index?</comment></comment>


Three Myths on the World's Poor - <AUTHOR> http://online.wsj.com/news/articles/SB10001424052702304149404579324530112590864

<comment><USER2> Of_Prometheus, you've been hell-banned for over 500 days, apparently. Here's the text of your comment because it seems informative, although I don't think all of it is to the point.

</comment><comment></comment><comment></comment><comment></comment><comment>====

The Gateses don't account for inflation in their prediction. Income may be higher in the future, but so will be living costs. The standard of poverty will simply be shifted. Furthermore, I think it's hard to reasonably expect a world in which almost no people are poor without considering the changes in consumption that will have to occur first. Present consumption levels won't be sustainable with more countries consuming at the level of the US, for example, unless new food/energy production innovations are able to mitigate it. (To that end, I admit to wishing the level of consumption of many western countries would be reduced.)

An anecdotal piece about income levels:

Currently, I'm in southeast Asia, and have seen first-hand income disparity. The city in which I'm living has seen a drastic increase in hotels over the past decade (someone reported 32 were approved in 2013, but they did not provide evidence), and many large roads have a hotel (or two) under development somewhere along them. These hotels are pristine and obnoxious. Beyond these main roads, within the bowels of the city blocks with narrower, labyrinthine, and occasionally unpaved streets, houses are barely adequate. With the chickens and other animals running between these houses, you feel like you're in a rural village. This is not specific to the entire city, but that you see it in a not-very-poor neighbourhood reminds you that poverty exists just behind the walls of rich hotels.

Food is incredibly cheap, $1 if you want something affordable; the most expensive meal I've had was $3, although I'm sure you can find more expensive food. Cooking isn't very efficient and cheap here, so most of your lunch and dinner comes from stalls or restaurants. Clothing is uneven; a branded T-shirt is $4, good shirt $30, and discounted shorts $10. Housing is cheap unless you want western amenities; I have a comfortable apartment in a quiet alley, with all the furnishings, a balcony, free drinking water, free laundry service, and free cleaning service for $230 a month. Tech doesn't appear to be very different; Laptops are 50% cheaper, as was an OTG cable, and when it was first released the S3 was $500.

The designation of all this as "cheap", however, depends on perspective. When comparing it with a country where good meals cost $20, especially ones that are relatively bland in comparison with the food here, one may view living comfortably here as an easy thing to do, but that's only if you earn a western-level amount. Instead, a good income here will barely cover my rent, which, seen from a local perspective, is actually quite obscene. And the longer I've lived here, the more I've found paying $3 for ribs harder to stomach. Earnings are commensurate with living costs, so when I think about whether I want to live here permanently and earn money here instead of in Europe, I have to consider that what would be a good income here would make it hard for me to return to the west with much pocket change. (For that reason, a friend works in the UAE and visits his wife here only every few months.)

If income levels increase here, so will restaurant bills, electricity, and the price of a laptop. The cost of everything will be higher, and everyone will be left with the same (in relative terms) amount of money to spend. The people who beg for 10 cents today will start begging for $1. Everywhere I've gone, it's been the same story: there's a balance between what you earn and what you pay; the only difference is the bracket surrounding those two numbers. To me, the issue here isn't of income, but of prosperity. For many people, earning 10% of what they would in the west for often harder work is not a problem, because it's enough to support their families. What breaks my heart is that I can't drink tap water, am weary about my health, the rivers and air are heavily polluted, education depends on the interest levels of jaded teachers, and earning that 10% carries with it a significant cost to the environment. I desperately want the people here to be able to view the price of lunch for their family as flippantly as I did, but what I think they want more is to be able to assure that their children will be able to recover from sickness at a reasonable cost (for free in a perfect world), get a good education and hopefully make it to university (which is expensive but more prestigious here than in the west), have clean water and enough food, fewer power outages, and after that, enough money to afford the trinkets every modern human wants to show off to their friends. I believe they will take all that before higher income in 20 years to afford the same amount of what they get now.

I don't know whether any of this adds any value to the discussion or has too many fallacies (I think there is some appeal to emotion), but hopefully it was worth reading. Full disclosure: many of the people with whom I've worked here are in conservation and political science; I likely have an environmental bias, as well as bias relating to corruption and gender/class equality.

<comment><USER3> This is of course true; money is a means to an end. What we care about is that people have access to good food, sanitary living conditions, and so on. But I think progress on those fronts is real; if you compare the living conditions of people in Brazil, Thailand or Shanghai to what they were 40 years ago, they really are that much better off.

</comment></comment><comment><USER4> > Here's our prediction: By 2035, there will be almost no poor countries left > in the world. Yes, a few unhappy countries will be held back by war, > political realities (such as North Korea) or geography (such as landlocked > states in central Africa). But every country in South America, Asia and > Central America (except perhaps Haiti) and most in coastal Africa will have > become middle-income nations. More than 70% of countries will have a higher > per-person income than China does today.

Woah - I would love to see some data visualization of this. If that's true - that's really, really something.

<comment><AUTHOR> _I would love to see some data visualization of this._

Hans Rosling, who runs the Gapminder website, produces some great visualizations of world economic trends.

"The River of Myths" (a famous visualization, short)

[http://www.gapminder.org/videos/the-river-of- myths/](http://www.gapminder.org/videos/the-river-of-myths/)

"DON'T PANIC — The Facts About Population" (an hour-long documentary, including interesting visualizations)

[http://www.gapminder.org/videos/dont-panic-the-facts- about-p...](http://www.gapminder.org/videos/dont-panic-the-facts-about- population/)

</comment></comment><comment><USER5> I know correlation is not causation, but one has to put side by side the NAFTA treaty and Mexico City's transformation since the 1980s. And on a more anecdotal note, and also as a +1 for international free trade and a freer job market, there's the story of my brother who was raised by my paternal grand- parents in a mountainous village in the Carpathians.

He actually lived on raising cows and selling home-made palinka until a couple of years ago, he had never been abroad. But then he managed to get a job as a lorry driver and got to see half of Europe as a bonus, and he actually made decent money. He used part of that money to buy an American-branded car manufactured in Germany (his first ever car) and a Taiwanese-branded laptop manufactured God-knows-where (his first ever computer, and he's 35). But then I got to read a letter sent to the Financial Times a couple of weeks ago where some Swedish lorry-drivers' representative was complaining of an "unfair" jobs market in his field of work (meaning East-European transport companies like the one my brother is working for) which got me to worry that my brother's prospects will not be so bright anymore.

<comment><USER3> What seems unfair to me is that the companies are free to produce the products I buy with cheap labour in, say, India. But I'm not able to buy the cheaper versions of their products that they sell in India (individuals are allowed to buy and personally import such products, but if you do it on a commercial scale then that's illegal). If trade is free then it should be free for everyone, not just when it benefits the big companies.

<comment><USER6> If we were able to buy at their local price, we would have effectively merged two formerly separate markets. And the now _one_ market price would likely be much higher.

To my layman's knowledge, it would be analogous to building a canal between a low-lying lake and the ocean.

</comment></comment></comment><comment><USER7> "Today, Mexico City is mind-blowingly different, boasting high-rise buildings, cleaner air, new roads and modern bridges. You still find pockets of poverty, but when we visit now, we think, "Wow—most people here are middle-class. What a miracle."

\-- Bill and Melinda Gates

<comment><USER8> They should visit the other 99%

<comment><USER9> Do you have any links to the fact that 99% of Mexico City is poor? Most information I can find on the subject say households have a comparable level of expenses to the average household in Germany or Japan which would seem to be pretty middle class to me.

I found some other statistics that said that the average salary in Mexico City is 32K/year which seems like it could easily be middle class there.

<comment><USER8> I meant the other 99% of Mexico. From Wikipedia:

From the late 1990s onwards, the majority of the population has been part of the growing middle class.[156] But from 2004 to 2008 the portion of the population who received less than half of the median income has risen from 17% to 21% and the absolute levels of poverty have risen considerably from 2006 to 2010, with a rise in persons living in extreme or moderate poverty rising from 35 to 46% (52 million persons).[95][157] This is also reflected by the fact that infant mortality in Mexico is three times higher than the average among OECD nations, and the literacy levels are in the median range of OECD nations. According to Goldman Sachs, by 2050 Mexico will have the 5th largest economy in the world.

<comment><USER10> "The 99%" is an ultimately meaningless statistic that doesn't describe a real problem or imply a real solution...even in your follow up you acknowledge that "the 99% of Mexico" is actually the 21% (except not really because < half of median income is not definitionally poverty). So what does "99%" have to do with anything except slacktivism?

<comment><USER8> I don't think you're quite reading those numbers right.

> But from 2004 to 2008 the portion of the population who received less than > half of the median income has risen from 17% to 21% and the absolute levels > of poverty have risen considerably from 2006 to 2010, with a rise in persons > living in extreme or moderate poverty rising from 35 to 46% (52 million > persons).

21% receive less than half the median income. That means that 29% receive between half the median and the median, because the median is defined as the level where half the population makes more than and the other half makes less.

This is a really ugly distribution. Yet the percentage of people living in extreme or moderate poverty is 46%. Since poverty is defined by income, what that means is that the median income level is somewhere around the moderate poverty level. This also implies that there's a 'light poverty' level whose income level is somewhere north of the median.

These two figures add up to a lot of poor people.

</comment></comment></comment></comment></comment></comment><comment><USER11> What about foreign aid putting local producers out of business? Have that been solved already? If so, how? The article is quite vague on that point: "We also hear critics complain that aid keeps countries dependent on outsiders' generosity. But this argument focuses only on the most difficult remaining cases still struggling to be self-sufficient."

<comment><USER12> You can avoid a lot of that by using the money where there are no local producers - schools where there are no schools, hospitals where there are none, water purification where no one is bothering and the like.

</comment></comment><comment><USER13> The fact that wealthier countries and people have fewer children is truly one of the great paradoxes of the human condition, from a biology point of view. I've occasionally wondered if it isn't a partial solution to the Fermi paradox. Rich humans have fewer children for many reasons, the most interesting one to my comment here being that on the "numerous vs. expensive offspring" spectrum, primates & humans have basically gone all the way to the "expensive" side, hard, and we continue to make children ever more _de facto_ expensive in various ways.

Every other biological sample we have says increased resources leads to increased reproduction; suppose humans really do have a very bizarre, very unusual biological niche here and indeed most species really _do_ fall into an uncontrollable Malthusian trap because they don't go all the way to the "expensive" side, and end up getting crowded out by the "numerous". I mean, it is not as if this is some sort of conscious choice we have made to contain our population, it just happened, which in some sense is why it works. If it were anything less than nearly universal, it wouldn't be able to save us. Nor, abstractly, is the Malthusian argument that bad... its only flaw is that it is observationally wrong (for population), and reality trumps theory, no matter how pretty the theory.

<comment><USER14> I don't understand why you think it is a paradox. If a family is poor, without good health care for example, then more children will die or fail and it will hurt the family harder. Their employment is also more likely to be manual labor based where children quickly supplement their capabilities (e.g. farming, retail). It's simple economics.

<comment><USER13> "More resources -> less reproduction" has, to the best of my knowledge, one example in the entire animal kingdom: Us.

You're looking at the reasons, which are also interesting, but the next layer of abstraction down from the point I'm making. (Though I'm not sure you're not explaining why poor people have fewer (surviving) children, which is the opposite of the data....)

</comment></comment></comment><comment><USER15> > In the course of just two decades, Thai women went from having six children > on average to having just two. Today, child mortality in Thailand is almost > as low as it is in the U.S., and Thai women have an average of 1.6 children. > This pattern of falling death rates followed by falling birthrates applies > for the vast majority the world.

I'm left wondering if stats like this lead to the "foreign aid workers will sterilize our women" propaganda that groups like the Taliban spread.

<comment><USER16> While Thailand's family planning initiatives may have been inspired by similar programs in other countries, the people who spearheaded the movement were Thai. I don't normally like TED talks, but this one[1] does a great job of explaining the program. Although not all developing nations can accomplish something like this, it's good to see that it can be done.

[1] [http://www.youtube.com/watch?v=EL9TBKSdHXU](http://www.youtube.com/watch?v=EL9TBKSdHXU)

</comment></comment><comment><USER17> "A new class of middle-income nations that barely existed 50 years ago now includes more than half the world's population."

I found this sentence confusing as:

\- I read 'middle-income' to mean 'median income'

\- I read 'middle-income nations' to mean 'nations whose mean per capita income is at or close to the world-wide median per capita income'

Can anyone provide an alternative (less confusing but still specific) reading?

<comment><AUTHOR> Here is a link to the World Bank classifications of countries by income:

[http://data.worldbank.org/about/country- classifications](http://data.worldbank.org/about/country-classifications)

<comment><USER17> OK, so:

\- they use mean within countries (GNI per capita is GNI divided by population)

\- middle-income is GNI per capita from 1036USD to 12615USD

By those definitions, the sentence isn't a very strong one because: (i) 1036USD is pretty low in most places, and (ii) (I'm guessing) the median incomes in those countries are lower than the mean incomes used to classify the countries, the means will be dragged up significantly by outliers like Carlos Slim.

</comment></comment></comment><comment><USER18> What a unique and fascinating perspective. Realizing that I have no idea how the rest of the world lives makes me want to travel more. The vast cultural differences between parts of the US are mind-boggling on their own. Really makes you wonder how our actions are so predicated off of what we understand about the world.

Can you imagine Bill's current day to day involves helping the worlds poor thrive and create societies. And he's retired. What am I doing with my life, haha.

</comment><comment><USER19> I'm skeptic about myth #2

Foreign aid is a fragile process. If the country you're aiding is having political problems or poverty problems, aiding a country won't mean a lot. It will have an overall positive effect, but on the long run, I have my doubts.

Political instability, poverty, illiteracy: relieving the pain of those problems can't be done without a minimum of politics, and when I mean that, I'm talking of both the country you aid and the country the help comes from.

I agree with most of what they say about foreign aid, that we should not stop, but that doesn't mean I should blindly trust charities. Democracy and free markets doesn't bode well with generosity. Our governments don't have any interests in getting into the politics of charities.

I really think it makes a difference when billionaires comes at those countries's help, rather than common citizens, but I wish there would be lobbies that work in the interests of charities. I wish there would be a true political debate about how governments could care about charities.

</comment><comment><USER8> It's hilarious, watching the WSJ pretend to have a social conscience.

<comment><USER20> Are you for real? It's a piece adapted from Bill Gates foundation.

<comment><USER21> It's still a bit ironic to see it in the WSJ.

</comment></comment></comment><comment><USER22> "cleaner air"...so if one city has cleaner air, and we think(?) on average that the air is getting dirtier...who's getting/creating the super dirty air?

<comment><USER23> Beijing, last I checked ;)

</comment></comment><comment><USER24> @Of_Prometheus

You're hellbanned. Wouldn't normally bother to say anything, but you've gone to a lot of effort there, and most won't see it.</comment>


You don't need a better tool for managing e-mail - <AUTHOR> http://zeninbox.com/2012/02/15/better-tool-for-managing-email

<comment><USER3> Well I feel completely scammed out of my email address by ZenInbox.

I usually never sign up for these pre-releases, but after I read through the intro, I "signed up for the beta" expecting to actually see some of the app that was described as so amazing. Instead I am now subscribed to a mailing list.

I just don't think that is cool. At the very least you disclose this before I gave you my email.

<comment><AUTHOR> Apologies motoford, we are currently building this thing and are opening it up to other people in phases. To make sure we are not just building yet another nice-to-have tool but something that actually improves the way people communicate, we wanted gather people's genuine feelings on this issue - <USER2> just collect email addresses.

Of course, I'm happy to remove you (and anyone who signed up by accident) from the mailing list - send me an email to ben at zeninbox dot com :)

<comment><USER3> I'd rather you just go ahead and let us look at it :) Sounds like a very neat product, and something I was just wishing for last week. That's the reason I went ahead and tried to sign up.

The point I was trying to make (rather poorly as usual), is that the reward for the email address is misleading. I was expecting access to a beta product, not an automated email from MailChimp that told me I was now subscribed to a newsletter.

You response here is classy, and I have no problem -- but I think you ought to change the wording to be "sign up for our newsletter and be alerted when you can participate in the beta".

Good luck and I'll try to remember to check back.</comment></comment></comment>