Apple CEO Tim Cook challenges Obama with impassioned stand on privacy - <AUTHOR> http://www.theguardian.com/technology/2015/feb/13/apple-ceo-tim-cook-challenges-obama-privacy <comment><USER3> I don't get it. Why is everyone (including Snowden) talking about personal moments, privacy, intimacy etc when the problem is clearly about tyranny, dictatorship and misuse of power? We have very specific and numerous evidence that in the past the state used its powers to spy, threaten and discredit ideological opponents and activists, from M. L. King to all anti-war movements since Vietnam. Since the dawn of history the "state" was always the biggest threat to the safety of it's "citizens", not external aggression. We need to stay safe from our own state, that is why we must not give up our privacy, not because of some silly naked pictures on your phone.

<comment><USER4> For the average person, they've grown up in a world where they've learned through school, the media, their parents, and 95% of other sources of knowledge about this world that the State (in an abstract form, not with an R, D, or other political party affiliation tied to it because of those currently in power) is a protector, friend, keeper of order, etc. To attack or criticize the State (in abstract terms) and say that it could potentially abuse it's power, is like saying that your parents or some other loved one could potentially betray you.

If someone tells you your mother or father could potentially steal from you because their name is tied to your bank account, how does that make you feel? Do you feel like this person is right, or you do get defensive and say that could never possibly happen? Most defend their parents and their parents' trustworthiness. The same goes for their view of the State.

The difference between your parents and the State though, is that different individuals of varying trustworthiness move into and out of power. As this happens, eventually some bad actors will gain power, and those who depend on that established trust will be badly hurt.

<comment><USER5> > For the average person, they've grown up in a world where they've learned > through school, the media, their parents, and 95% of other sources of > knowledge about this world that the State (in an abstract form, not with an > R, D, or other political party affiliation tied to it because of those > currently in power) is a protector, friend, keeper of order, etc. To attack > or criticize the State (in abstract terms) and say that it could potentially > abuse it's power, is like saying that your parents or some other loved one > could potentially betray you.

This is cringeworthy. I knew HN had a Ron Paul bent, but has it been completely overtaken by 15 year olds?

Go ask ANYONE, your cashier, your hairdresser, or the random joe working on your car -- the standard line of thinking isn't that the government is some nice friend and protector. The standard line of thinking is that government is dysfunctional and politicians are corrupt. You people pick up a copy of 1984 and suddenly you're all mini-orwells running around spewing your "insights" to whoever will stand around long enough to pretend they care.

> If someone tells you your mother or father could potentially steal from you > because their name is tied to your bank account, how does that make you > feel? Do you feel like this person is right, or you do get defensive and say > that could never possibly happen? Most defend their parents and their > parents' trustworthiness. The same goes for their view of the State.

Oh, wise sage, please enlighten us with more of your wisdom. Tell us the story of the bunny going to the store to buy milk this time!

<comment><USER6> > The standard line of thinking is that government is dysfunctional and > politicians are corrupt.

That may be the standard response you get, but doesn't mean that is what they think. I'm sure that if you asked them how their day was going, you'd get a "fine" \- which doesn't mean anything either. It makes more sense to look at actions than words: people still call the police if they get shorted a chicken nugget. Mothers still call the police to scare their rebellious teenagers straight. People still vote. So it is more likely that people are unhappy with the present government, but if they could just get their guy in office - <USER2> everything would be great. Give us a kindly king :)

<comment><USER7> Calling upon government services and voting isn't a show of faith in the government, it's just a matter of practicality. Do I fundamentally have faith in the police to protect people's safety instead of jeopardizing it? No, because they murder people all the time and get away with it. But I'm still going to file a police report when my laptop gets stolen because that's the only way I can make an insurance claim for it.

As for voting, I'm to the point where I just vote on ballot measures and leave the actual races for elected positions blank, unless there's a socialist running in which case I vote against them.

<comment><USER6> > Calling upon government services and voting isn't a show of faith in the > government, it's just a matter of practicality.

Intelligent people can disagree on the ideal way to transition from our present system to a more preferable solution - but your statement isn't absolutely true. Voting does demonstrate a faith in the government. That faith may only be that the present system allows for a transition through the mechanism of majority rule, but it is faith none the less. As far as police interactions, I chose my examples carefully - they demonstrate a belief in the state beyond practical needs such as insurance claims.

</comment></comment></comment></comment></comment></comment><comment><USER8> I'm not sure what the US government is complaining about. If the baseband has direct memory access, they should be able to grab any cryptographic key off the phones without Apple or the user ever noticing, that is unless Apple has been getting stroppy lately about who gets to talk on their PCI bus.

As for Apple doing the right thing, even if they manage to keep the government out of people's business today, they still hold the key to the universal back door and might give it away tomorrow. Apple certainly has the resources to develop a completely liberated phone, but NeXT and post-merger Apple has always been incredibly hostile to software freedom, and this speech doesn't change any of that.

I don't think they are afraid that they won't be able to spy on people, but they are worried about maintaining the public opinion that privacy is for creeps and terrorists. But another interesting effect of closing every back door but the baseband is that there will likely be a power struggle within the intelligence and law enforcement agencies. Only the highest ranking officers will be able to push malicious firmware updates, regular police will have no choice but to stick with traditional police work.

<comment><USER9> > they still hold the key to the universal back door and might give it away > tomorrow

Care to elaborate? Do you mean assumption that they can have it if they want to, or is there some information about it?

<comment><USER10> Your encrypted iMessages is one iOS update from being non-encrypted. As far as I can tell.

<comment><USER11> And one iOS update from a TLS implementation with low entropy in key generation, allowing the NSA to decrypt all traffic with minimal computational effort.

As is Windows, Linux, all open source projects, and all proprietary projects.

All software is one update away from completely changing it's purpose, so I think your point is far more general than just Apple's messaging app.

<comment><USER12> It would be nice if the updates came from a source that wasn't directly under the thumb of the US government as all commercial businesses are, and wasn't amoral and beholden to profit motive. Not having to worry about intentional subterfuge would free up my time to worry about implementation flaws.

</comment></comment></comment></comment></comment><comment><USER13> I recently taught a small module on cryptography to some 13 year olds.

In one lesson, I asked them to write down what they thought of companies being forced to weaken encryption.

This was a very typical response from the group.

"I think that encryption should still be allowed because I should have some privacy in my life and everyone else can. No one wants to be watched, stalked, etc. just because a couple of criminals may be able to start a (rare) terrorist attack, there should be other ways to stop them apart from making everyone elses life uncomfortable. You might aswell have no passwords for any website, it's basically the same thing."

If kids get it, I fail to see why politicians don't.

<comment><USER14> The problem with that is that when asking kids you get sunshine. I mean, I have an opinion on this, but that's beside the point.

You ask kids, what do we do about global warming --stop polluting the atmosphere!

Yes obvious, it's just that things aren't as simple as that.

<comment><USER15> Actually, things are exactly that simple.

Look at how the WWII generation responded to the need for behavior change in order to supply raw materials and labor for the war effort. If our generation cared about the environment as much as they cared about winning WWII then we could make similar sacrifices, pay a little extra for fuel, pay a little extra for solar infrastructure, change our diets to be more sustainable, and be well on the way to reversing damage to our environment.

<comment><USER16> >then we could make similar sacrifices, pay a little extra for fuel, pay a little extra for solar infrastructure, change our diets to be more sustainable

I haven't done the study, but I'd wager that those small price hikes would push the five most marginal percent currently able to afford rent into homelessness.

Things are never that simple. A person who presents anything as black and white either hasn't thought about it or is lying to you.

<comment><USER17> So... design your policy such that they don't affect the most poor (fund things by raising taxes on the wealthy, etc). It in fact is that simple, yet we lack the political will to make policy that disproportionately affects the wealthy.

That isn't because we can't, it's because our ideology ensures we won't.

<comment><USER18> Why should global warming taxes be also an instrument to rebalance wealth? That's exactly what discredits them when I push for them as a debate: The middle class feel very insecure about "redistribution".

<comment><USER19> The OP has responded to the problem of "push[ing] the five most marginal percent [..] into homelessness". Your blowing his modest proposal out of proportion when talking about rebalancing wealth. He only suggested to design the policy in a way that prevents the poorest to become homeless.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> It's worth remembering that Apple have stated that "conversations which take place over iMessage and FaceTime are protected by end-to-end encryption so no one but the sender and receiver can see or read them. Apple cannot decrypt that data."[1]

I suspect that Cook is anticipating legislation that would require that Apple re-engineer its services to support "lawful" interception of the content of messages/conversations, but is hoping that adopting a aggressive stance now will result in a compromise end state whereby interception must happen proactively and by exception (and within a clear legal framework - e.g. authorised by a warrant or court order) as opposed to a mass surveillance regime where everything is hoovered up (i.e. intercepted and stored).

1: [https://www.apple.com/apples-commitment-to-customer- privacy/](https://www.apple.com/apples-commitment-to-customer-privacy/)

<comment><USER21> id suspect that is the case pity that the other invited tech leaders didn't go - but Tim always struck me that he understands politics in a way Larry Sergei, Eric and Zuckerberg just don't get

<comment><USER22> The business model of Facebook and Google is about getting to know as much as possible about you. Apple makes most money without your data.

</comment></comment></comment><comment><USER23> This is likely a jab at Obama, since Tim Cook is probably sick of all the NSA and FBI spooks plugging black boxes into his servers, not to mention how it's illegal for him to even complain about it publicly. The scary thing is that I'm no longer a bonafide paranoiac for expressing an opinion like this. I'm probably right.

<comment><USER17> This is certainly a jab at Obama, who came to Silicon Valley today to tell us all that the government can "keep us safe" if we just let them take our personal data from private companies. Obama has been pushing a plan for "cybersecurity" that involves expanding the NSA spying program and making legal many of the things Edward Snowden revealed them to be doing apparently illegally.

I'm politically liberal and voted for Obama twice but the man is fucking lying to us about cyber security. The real solutions to security involve encryption and what Obama is suggesting is that they can protect us by monitoring more.

Tim Cook is calling him out as a liar without expressly saying it. I wish he would. We need more prominent people to call attention to how much we are being lied to, because too many people buy the BS as truth.

<comment><USER24> I would be careful about calling policy disagreements "lies".

Keep in mind Bill Clinton and his admin did plenty of horrible stuff as well (communications decency act, DMCA, the clipper and v-chip shenanigans, high strength crypto as a munition, the hounding of Phil Zimmerman and PGP, operation sundevil, etc.

My point is that digital privacy is not a "liberal" or "conservative" issue, it's a new concern that seems to have adherents across the political spectrum. Both democrats and republicans have been strong supporters of government surveillance and stomping on digital privacy rights. There is no mainstream political party taking up the privacy mantra yet en large because the people of the USA apparently don't want it.

It's our job to change that, but that requires changing people's minds that their privacy is worth risking a successful terrorist attack (which is how everyone in the mainstream US perceives the trade off).

<comment><USER17> Thanks for those examples from Clinton Era, I was 15 when he left office so I know only a little of his legacy.

I am hard on Obama on cybersecurity because, after watching Citizen Four and countless CCC talks with Jacob Appelbaum et al, I just don't believe he is unaware of the damage to security his proposals will make. I suppose he could genuinely believe that more state intervention in our digital lives is ultimately the right call for our security, but I feel like the president would be informed enough to know better. But perhaps he is just in a bubble that makes it hard to see how harmful their security measures are.

Either way I agree that the issue is a citizen's issue and not a liberal or conservative one. Both parties have been failing to look our for their constituents and I feel like a true people's progressive party would be an important force to disrupt that pattern.

I guess I should be careful about accusing people of lying however, as it could derail my message when the specifics of lie vs bad idea are really not at issue. Thanks for the comment.

</comment></comment></comment></comment><comment><USER25> Tim Cook just earned a lot of respect today.

<comment><USER26> How? Apple does not care about privacy. If they did, they would not possess the keys to decrypt anything, even stuff stored on their servers.

I am sure apple cares about privacy from government, but they don't seem to care about privacy of their users from them.

<comment><USER27> even Schneier thinks they do a decent job: [https://www.schneier.com/blog/archives/2013/04/apples_imessa...](https://www.schneier.com/blog/archives/2013/04/apples_imessage.html)

<comment><USER28> If you read the details of schneier's post , he basically says "we don't know".

<comment><USER29> Jesus Christ, unless you etch your own chips and build a computer from scratch, the answer is always "we don't know".

There might be a backdoor in the cpu you buy, or in the baseband, or in a driver, or in an open source component that you didn't audit, or in your compiler, or even in your USB stick. You always need to trust somebody.

<comment><USER30> Pragmatism tells me it's easier to trust my cpu than it is to trust someone's server in the other side of the planet.

</comment></comment></comment></comment></comment></comment><comment><USER31> >> "The Apple boss, who last year publicly acknowledged he is gay, added that "history has shown us that sacrificing our right to privacy can have dire consequences"

Why would this detail possibly be relevant to the point Tim Cook was making?

<comment><USER32> In the (democratic) Weimar Republic, the authorities collected "pink lists" naming homosexuals. Homosexuality was technically illegal, but not prosecuted, and in fact, the Weimar Republic was known for its tolerance.

When the Nazis came to power, they used those previously obtained lists to round up the homosexuals and send them to death camps. A lesson that privacy matters even if you think your current government and/or its use of data is benign.

[http://www.ushmm.org/wlc/en/article.php?ModuleId=10005261](http://www.ushmm.org/wlc/en/article.php?ModuleId=10005261)

<comment><USER33> This is a really key point. Obama and Cameron are telling us that it's ok to let them snoop on all our private communications because we can trust them and they can protect us. Even if we can trust them, they can't protect us. Also, who knows about the next president of the USA, or the next UK Prime Minister? What if we get another Nixon or worse? These things have happened and will happen again.

Beyond that, by saying it's ok for governments to snoop on private communications, it's normalising that same behaviour by China, Russia, Saudi Arabia, etc, etc. It's not good enough to say that it's alright for the West to do it because they are good guys and not ok for despotic regimes to do it because they are bad guys. It's a matter of principle that it's wrong for everyone to do it.

That is the only way to set a standard and hold every government to it. We should figure out what line in terms of privacy and respect for personal rights we would like China, Russia, etc to abide by. It's only ok for our governments to do things that we would accept as being legitimate for those governments to do. That is the only way to normalise respect for the individual and protect our personal freedoms in the long term.

</comment></comment></comment><comment><USER34> "We should not share the control we have over our consumers with the NSA!"

<comment><USER35> Apple, unlike other major tech companies, has a business model which is completely compatible with privacy. If anything, I suspect they would prefer a world where consumers demanded strict privacy and fewer online services.

<comment><USER36> Bullshit. iOS devices have only one way to do wireless backups, and that's with the Apple cloud. Apple could decide that it only does wireless backups with a little home server that you put into your own home, but they decided against that.

Apple also could allow users to secure their cloud backups against anybody. But they decided they include mandatory key escrow by Apple itself. The mud puddle test proves that Apple and the NSA can access all your backup data.

How is that a business model "completely compatible with privacy"?

<comment><USER37> iOS lets you do backups wirelessly and wired with iTunes, the former while you are within reach of your own network. Their business model can potentially be compatible with privacy since it does not rely on personal data gathering. Their profit is generated by actually selling devices and digital goods.

<comment><USER36> I should have been a bit clearer. Your iOS devices are mobile - you may not be at home for days. iOS does indeed offer wireless backups, but only if you're at home.

And by the way, I find that downmodding that hit me appaling and a sign of unhealthy group-think.

</comment></comment></comment></comment></comment><comment><USER38> I think it would be convenient if Apple just 'bent over' and started selling NSAPhones, but nothing will kill foreign customers who value privacy [1] more than to know the KGB, or MI6, etc (or Madagascar Intel, it doesn't matter who, just not _their_ country) runs their phone. I mean, what American would buy a KGBPhone? Apple's just defending a now largely foreign customer base, it seems to me. I'm sure they'll comply with requests, but they can't be a pushover.

[1] [http://www.cnet.com/news/china-likely-to-top-us-for-apple- ip...](http://www.cnet.com/news/china-likely-to-top-us-for-apple-iphone- sales/)

</comment><comment><USER39> That little "namaste" gesture that he ended it with - I wonder if he picked up that habit from Jobs?

</comment><comment> luke-stanley Doesn't the latest OS X share to Apple what people are searching for on their own computer? (By default).

<comment><USER40> Yes, they send your queries out to their servers (not to be confused with sending information about files on your machine out) but the 'session key' they use is apparently not tied to your identity by them or third parties they work with. In their words:

 _You can always opt out of Suggestions and continue to use Spotlight solely for local search on your device. You are also free to opt out of having Spotlight use Location Services any time you want. If you opt out, Spotlight will still use your IP address to determine a general location to make your searches more relevant. Unlike our competitors, we don't use a persistent personal identifier to tie your searches to you in order to build a profile based on your search history. We also place restrictions on our partners so they don't create a long-term trail of identifiable searches by you or from your device._

[https://www.apple.com/privacy/privacy-built- in/](https://www.apple.com/privacy/privacy-built-in/)

</comment></comment><comment> k-mcgrady Much better response imo than just not going to the event like some other tech CEO's.

</comment><comment><USER41> Definitely

</comment><comment><USER42> clickbait title tho

</comment><comment><USER43> Yea so apple doesn't store and use my information and do creepy shit with stuff i never explicitly gave them my permission to use. Dont fucking insult me, cook.

<comment><USER44> He's not insulting you, he's protecting their back-end from exposure & scrutiny. NSA has become a problem, but Apple, et al, corps' data collections have been eroding & infringing our privacy all along... in the name of monetization/profit, which is quite a bit more nefarious than security, IMO.

</comment></comment><comment><USER45> This mean if can continue using my iPhone without risk! Lol

<comment><USER41> Yeah!</comment></comment>


Russian female astronauts asked how they would cope without men and makeup - <AUTHOR> http://www.theverge.com/2015/11/1/9648718/russian-space-agency-women-cosmonauts-moon-mission-sexism <comment><USER2> The video clip from Russia is interesting. The text of the article is total crap.</comment>


U.S. Plans Curbs on Chinese Investment, Citing Security Risks - <AUTHOR> https://www.bloomberg.com/news/articles/2018-06-24/u-s-plans-curbs-on-chinese-investment-citing-security-risks <comment><AUTHOR> > _Under the plan, the White House would use one of the most significant legal > measures available to declare China's investment in U.S. companies involved > in technologies such as new-energy vehicles, robotics and aerospace a > threat..._

Can anyone here speak to the ($) volume of Chinese investment in these areas? Is there _actually_ a lot of ($) demonstrated interest or should this be understood more as a political ( _press_ ) opportunity?

Thanks.</comment>


Starbucks and Angry Birds - A Match Made in Confusion - <AUTHOR> http://www.techvibes.com/blog/starbucks-and-angry-birds-a-match-made-in-confusion-2011-09-21

<comment><USER2> Theory: Starbucks has partnered with Angry Birds to educate the public about NFC payments. Angry Birds: Magic is a new NFC toy which is about to be released. It makes sense for both companies that this toy is pitched at the checkout counter where a small placard invites all coffee drinkers to try a Starbucks branded NFC keyfob/giftcard combo.

Prediction: This campaign works better than Via. They struggle to give that stuff away at the store I...attend.

<comment><USER3> One the perks of being a regular at my usual Starbucks is that the barristas will quite frequently comp your drink if you buy a 3-pack of Via. With the Via being about 19 cents cheaper than my usual drink, it's a win-win for my wallet, and the barristas' sales quotas. Not sure how Starbucks itself makes out in that deal though.

My desk drawer at work is full of Via packs.

<comment><USER4> I was sucked into one of in-store customer taste comparisons, when Via was launching. The Via was better than the brewed coffee -- no surprise to me; I've consistently found Starbucks in-store brewed coffee to be lousy. (I can do a lot better at home, with the same beans.)

I never purchase Via, and neither do many others, I suspect, because at $1 or more per 8 oz cup, it just seems ridiculously expensive for instant coffee. (Even if it's comparable to the in-store price for a brewed cup -- and, as I mentioned, tastes better. If customers ever learn the latter.)

I've read that they use a centrifuge to "dry" it, and so I don't know what the production costs are. But when I read that they are grinding beans very finely, rather than concocting an extract, and when I look at the physical quantity they are selling you, I can't help imagining that the margin on Via (minus marketing and all that crap) is exhorbitant.

Perhaps one problem is that if they dropped the Via prices, they'd undercut their in-store sales.

Anyway, Via's a decent product, but it seems to have limited opportunity under its current marketing.</comment></comment></comment>


Asm.js in Firefox Nightly - <AUTHOR> https://blog.mozilla.org/luke/2013/03/21/asm-js-in-firefox-nightly/ <comment><USER2> Actual numbers from the Groups link at the bottom:

        So I discovered from Alan today - asm.js was everything I hoped it would
        be.

        One of the more intensive examples in OpenSCAD
        (https://raw.github.com/openscad/openscad/master/examples/example006.scad)
        gave me these metrics:

        Native: 402 seconds,
        asm.js version: 605 seconds,
        asm.js version in Chrome: 3724 seconds

And the exciting part? Backwards compatibility even with IE6, forwards compatibility with optimizations that haven't been invented yet – and no 80s era blob+VM architecture in sight. All without inventing any half baked new language, file format, virtual machines or whatever else, and building on a language spec that's already an ISO standard. Eat your heart out Native Client!

<comment><USER3> I'm not sure why you think asm.js _isn't_ a blob: in order to achieve those performance levels that you see in Mozilla, you have to interpret JavaScript as something that _is not_ JavaScript, which requires having a spec in hand, dealing with potentially ambiguous encodings, and interpreting the asm.js as a bytecode, rather than as standard JavaScript.

At that point, the only difference between "asm.js" and a "blob" is that asm.js is unreadable ascii, which the blob is unreadable binary.

<comment><USER2> But it's not, by your logic a compiler producing machine-generated K&R C in the late 70s would also be a blob.

Only as anyone mining the web for esoteric code will attest, anything written in standard C since probably the mid 80s and using only the ANSI C standard library can still be fed to a compiler today and produce perfectly functioning code, taking advantage of every advancement in compiler technology in the 30 years that have followed.

Those C source files do not, for example, make assumptions about Harvard/von Neumann architecture, stack layout, calling conventions, the presence or absense of SIMD instructions, and so on. C is called "high level assembler" for a reason, just as "asm.js" is called "asm.js" for a reason.

Even if we had some standard binary format for describing software available since the 80s, it would almost certainly lack sufficient descriptive power to capture constructs that could be vectorized, or otherwise transformed using more modern compilation techniques that simply didn't exist at the time. Lowering to a binary form throws all that semantic information away. And the more you add back the more the binary form starts to look like a pointless transformation of the original source code.

Then there is the idea that such a format could ever have been designed in the 80s that would have lasted us to present day. Native Client proponents and similar such "VM fundamentalists" are effectively claiming that we can invent such a format, when it has never been done before in the history of computer science.

(Pre-emptively rejecting boring VM counterexamples like Java for reasons that can be extrapolated from what I just described. Every comment on this thread brings it closer to HN's "controversiality" scoring penalty, and I'd very much like for this link to stay on the front page all day)

<comment><USER4> > Only as anyone mining the web for esoteric code will attest, anything > written in standard C since probably the mid 80s and using only the ANSI C > standard library can still be fed to a compiler today and produce perfectly > functioning code, taking advantage of every advancement in compiler > technology in the 30 years that have followed.

Have you ever actually tried this? It doesn't work.

<comment><USER5> I have. When I started at Arbor Networks in the early 00's, we needed a fine- grained timer library that was millisecond-granular and could efficiently manage thousands of scheduled events. I stole mine from the MIT-licensed Athena codebase, which dates back to the '80s.

<comment><USER4> But was it generated code? I've had pretty bad luck with old scheme/lisp implementations that compile to C.

</comment></comment></comment></comment></comment></comment><comment><USER6> I am so excited about it. It's worth noting that I'm porting LLJS to compile to asm.js already, and I have basic code already working with it: <https://github.com/jlongster/LLJS>

I plan on polishing it up tonight and publishing/blogging about it tomorrow.

<comment><USER7> Wow, your project looks amazing. My evenings plans just got cancelled.

<comment><USER6> It's worth noting that LLJS itself came from a few smart guys from the Mozilla Research team. I work for Mozilla but as a web developer and I'm just doing the port.

The asm.js branch is highly unusable as is, but it should be somewhat stable tomorrow!

</comment></comment></comment><comment><USER8> This post mentions IonMonkey, which is the newest enhancement to Firefox's Javascript engine. According to <http://arewefastyet.com/> , it appears to be doing pretty well so far (red is old Firefox, purple is current Firefox, black is future Firefox, green is Chrome, lower is always better). Excited to see what'll happen once OdinMonkey gets added to the mix.

<comment><USER9> Small correction: purple is current Firefox, not red. Red is not shipped in any build.

<comment><USER8> Ah, I had no idea that IonMonkey had made its way to the stable release. Very cool.

</comment></comment></comment><comment><USER4> Worse really is better. Asm.js fulfills the promise of formats like ANDF, except by going through one of the shittiest intermediate languages you might imagine.

<comment><USER10> Already adopted is better than not already adopted.

<comment><USER4> Hence my reference to: [http://www.stanford.edu/class/cs240/readings/worse-is- better...](http://www.stanford.edu/class/cs240/readings/worse-is-better.html)

</comment></comment></comment><comment><USER11> Quick test on the BananaBread benchmark: Without asm.js

      preload : 53.698 seconds
      startup : 11.904 seconds
      gameplay: 369.86 total seconds
      gameplay: 196.538 JS seconds

With asm.js

      preload : 55.513 seconds
      startup : 7.093 seconds
      gameplay: 75.848 total seconds
      gameplay: 54.318 JS seconds

</comment><comment><USER12> Hoisting my comment up: Executable != useful. Saying asm.js runs in VMs that have no special support for it breeds a false sense of portability.

If Firefox is the only browser that implements asm.js, it'll have about the same issues as Dart or NaCL. That is, Dart also compiles to JS, but if Dart2JS were 6x slower on Firefox than Chrome, no one would be cheering, and in fact, this is a complaint Mozilla themselves raised in the beginning (that if DartVM has an enormous performance advantage compared to Dart2JS it would make other browsers look bad and fragment things)

If I'm writing a game in C and compiling it to asm.js, and it's gonna run 6x slower everywhere else, I'm effectively developing it for Firefox only no differently than if I had compiled C to NaCL/PNaCL.

For this to be effective, it has to be cross browser. At least, Mozilla and WebKit/Chrome. (honestly, without WebGL support, I don't think it helps IE with games anyway)

<comment><USER13> I agree with your point; while functionality portability is important, we really want performance portability too.

A big challenge we seem to have with any of the available options is convincing all the major browser makers to agree on _something_. And even though asm.js won't have perfect performance portability at first, it looks like it should be a much easier sell to browser vendors than Dart or NaCl were.

With asm.js, browser vendors won't need to add a _new_ VM. They'll just need new optimizations within their existing VM. There's no new security model to understand, no API from someone else's browser to emulate, and no large set of features which will be redundant between VMs.

And, asm.js has a lot lower risk of becoming a legacy nightmare if it doesn't catch on. Or if the specification changes. It's just optimizations, so there's room to maneuver when customers with old code demand that you support them forever.

<comment><USER12> On security, I'm not sure I agree. Part of achieving optimizations is making enough assumptions to perform them, and that leaves you open to holes in your validator. If validation isn't correct, then you could potentially trigger the optimizer to create bad code that would be exploitable.

We've basically moved to Java bytecode verification to asm.js verification. This is just speculation, but I'm actually concerned about the potential security implications.

</comment></comment></comment><comment><USER14> ASM.js is easily the hack of the year. Every hacker should walk around with a smile on their face today.

</comment><comment><USER15> I think that compile-to-JS languages are going to explode in popularity even more than they already have when they can compile to an optimized asm.js. I might be misunderstanding its impact, but I'm hopeful.

<comment><USER16> it doesnt really change the game for traditional web development though. Thinks like GWT might be faster with asm.js but it didnt take off for other reasons than speed.

</comment></comment><comment><USER17> This is huge. Never heard of Asm.js until now but this is the first time I'm really excited about Javascript.

I feel like dropping everything right now and start playing with this.

</comment><comment><USER18> Ok, everybody, Javascript is over. Now everybody will be able to use their favorite language and chances are that it will be faster.

</comment><comment><USER19> Sorry I'm late to the party.

Could someone explain what this is? All I've found in search is talk about how much faster it is. Devs write code in C/C++ and target js? Is that it?

<comment><USER20> asm.js is a low-level statically typed subset of javascript, roughly equivalent to C (that's not exactly it but close).

As a result, it can be AOT-compiled to machine code rather efficiently and lead to excellent performances with special support, while still being 100% compatible with browsers providing no special support (as it's a subset).

The idea is to make it an efficient (if low level) language to use out of the box, and an efficient compilation target for higher-level non-javascript languages (C and C++ are used for comparisons but e.g. clojurescript or elm could compile to asm.js as well instead of their current javascript target).

Basically, as the name implies asm.js tries to be an assembly for the web, but a backwards-compatible one (as opposed to NaCl)

</comment></comment><comment><USER16> For traditional web development this wont change too much does it? i mean you could write the business logic of your app in whatever compiles to asm.js(which in pratice is mostly done server-side) but in the end you would still do DOM manipulation using JS or not?

makes alot of sense for rich apps and games though.

<comment><USER21> Yes, I would love to see an adapation of MVC frameworks like Ember and Angular to use asm.js - not really sure if it's necessary though, since they are already that fast.

</comment></comment><comment><USER22> There are some speed comparisons in the comments here; it would be really nice to see some compiled-code-size comparisons between native and asm.js.

<comment><USER23> See [http://mozakai.blogspot.com/2011/11/code-size-when- compiling...](http://mozakai.blogspot.com/2011/11/code-size-when-compiling-to- javascript.html)

Comparable with native after you gzip.

Note that this wasn't asm.js, however, just vanilla Emscripten output. asm.js output will be somewhat larger due to the strict type system.

<comment><USER22> > asm.js output will be somewhat larger due to the strict type system.

That's the part I was wondering about.

I'm hoping that we'll see rust compile to asm.js! ISTM that there's some similarity between web worker "transferable object" semantics and rust unique pointer semantics. If ES "binary data" objects end up being "transferable objects", maybe rust unique pointers can map onto transferable objects in rust tasks that are compiled to asm.js and run as web workers.

</comment></comment></comment><comment><USER24> I approve of this link, just for the Amon Amarth reference!

That said, I'm somewhat excited about this, but also discouraged by the lack of commonality between major browsers in this regard. Now Firefox has asm.js, Chrome has NaCl, and Microsoft has ??? and Opera has ???. Uugghh...

Still, anything that stands to make the web experience faster and more useful is a good thing, I guess..

<comment><USER8> The only reason that I'm excited for asm.js is the fact that it's cross- browser, since it's literally just a subset of JS. Theoretically something transpiled to asm.js would be executable even in IE6, though I'd really like to see someone try.

<comment><USER12> Executable != useful though. This breeds a false sense of portability.

If Firefox is the only browser that implements asm.js, it'll have about the same issues as Dart or NaCL. That is, Dart also compiles to JS, but if Dart2Js were 6x slower on Firefox than Chrome, no one would be cheering, and in fact, this is a complaint Mozilla themselves raised in the beginning.

If I'm writing a game in C and compiling it to asm.js, and it's gonna run 6x slower everywhere else, I'm effectively developing it for Firefox only no differently than if I had compiled C to NaCL/PNaCL.

For this to be effective, it has to be cross browser. At least, Mozilla and WebKit/Chrome.

<comment><USER25> I agree that if that were the case, it would be a problem.

However, I don't think we will see a 6x slowdown here. JavaScript engines are _already_ very fast on compiled code, because they have already been optimizing for typed arrays and so forth for a while now. Google even added a compiled C++ benchmark to Octane, for example.

In current benchmarks, asm.js gives you a speedup of anywhere from 1x (where normal JS optimizations already got us very close to native) to 6x. So 6x is the worst case, and there are plenty of cases in the middle. A 2x-3x difference is not big enough to make something a false sense of portability, the web has tolerated 2x-3x speed differences for a long time now, and these things also change a lot in terms of who is fastest, on what, and by what.

Furthermore, I would not expect a 2x-3x difference to last very long, again, because browsers have been competing on performance of this type of code for a while now (Octane, etc.), and will continue to do so.

<comment><USER26> Much of the discussion of asm.js focuses on Emscripten-compiled code. Would asm.js be useful for other tools that generate JS, such as CoffeeScript or Dart2JS?

<comment><USER25> Possibly yes, depending on the language. For CoffeeScript likely not, it is very close to normal JS, and lacks types.

For Dart, I don't know enough about how the VM works.

But in general, a language like Dart could work. For example, LuaJIT or PyPy could be ported, the C parts compiled into asm.js, and the JITs would need a new backend that emits asm.js instead of x86 or ARM. This could potentially make a language like Lua, Python, Dart, etc. very fast on the web. However, how feasible it is would depend on the VM architecture.

I hope to work on this kind of stuff later this year.

<comment><USER12> The problem is, you'll end up porting those language's Garbage Collectors as well. I don't think it's that practical to compile GC'ed languages to asm.js until GC support is added. The GCs that are in Firefox and Chrome are very efficient low pause collectors, and IMHO, you really don't want to reimplement collector in JS, especially since you can't take advantage of OS/MMU features, and can't do multithreaded collection, etc.

Also, if you consider something like the Java Virtual Machine, it's practical to make it work on NaCL, but JS doesn't support blocking/synchronous calls, and how earth would you make all of those synchronous APIs, and multithreaded APIs work in that context?

asm.js is not isomorphic to NaCL in terms of feature set, but asm.js + something like OpenCL could probably work well for games.

<comment><USER25> GCing is a concern, yes. With the Binary Data API and some extensions, it might be possible down the road to have GC'd objects in asm.js compiled code. Definitely an interesting area to investigate.

Multhreading is another concern, if you want shared state (with the JVM would need). It can't currently be done, but again, is worth thinking about and perhaps new web APIs could enable it some day.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> This is exciting. I hope Google (and eventually Microsoft, Opera and Safari) jump on this.

</comment><comment><USER28> Slight offtopic: if anyone installed Nightly to have a look at this, and the UI is scaled strangely (might just be a windows thing related to HiDPI) you can set the devPixelsPerPx in about:config to 1.0 to get the scaling back to normal.

</comment><comment><USER29> Tried the demo in Chrome and FF-nightly like everyone, and like everyone I guess, I was really impressed. it's visually twice faster in Firefox. Firefox seems to have come a long way.

</comment><comment><USER30> From the comments: "This can give a second life to the JS backend of PyPy."

That would be incredible. Any PyPy devs care to comment on this possibility? :3

</comment><comment><USER31> I'd like to see a python->asm.js compiler. Then I throw that in my resource generation pipeline and I am a happy programmer.

<comment><USER32> But could Python really take advantage of asm.js? I think that this is more useful for compiling statically typed languages (C/C++/... maybe TypeScript?) to JavaScript.

<comment><USER33> It's been said elsewhere, but you musn't forget that the python interpreter itself must be compiled. The pypy project is a python interpreter written in a restricted subset of python (rpython), and it would be doable to make the rpython compiler output asm.js.

</comment></comment></comment><comment><USER34> How does this affect us "normal" JavaScript developers who don't know anything about low-level stuff?

<comment><USER35> From what I can see, it means you write your code in another language, and then it is "compiled" into performant JavaScript. Basically it would create much more efficient JavaScript than you could write yourself. Nothing to stop you from continuing to write regular JS, though =]

</comment></comment><comment><USER36> This could be very useful for getting numerical and other high performance code into the browser.

</comment><comment><USER37> Why can't we just have a universal bytecode that can be interpreted by any browser.

<comment><USER38> because politics, control, money, power.

<comment><USER37> chrome compiles javascript into an intermediate language already, they just need to allow that intermediate code directly from a script tag.

</comment></comment></comment><comment><USER39> Nice! I really need an environment to test asm.js.

</comment><comment><USER40> Just learned about asm.js , awesome ! but other browser vendors need to support it ! great work again -moz ;)

</comment><comment><USER41> friendly reminder that google's dart dev team has made claims that dart is already 30% faster than js, and they plan to release VMs capable of surpassing 100% faster than js, so yeah.

keep in mind that if asm.js is half of native speed, dart is capable of bridging the gaps of js.

<comment><USER26> How will a fast Dart VM help Firefox and IE users?

<comment><USER41> I don't understand how that's supposed to make sense. A competing product doesn't have to take care of its other competitors.

<comment><USER29> you seem to really care about standards! so basically, ActiveX is faster than dart. you should probably use that. you know. its actual native performance:)</comment></comment></comment></comment>


Why is Russia so good at encouraging women into tech? - <AUTHOR> http://www.bbc.com/news/business-39579321 <comment><USER2> dupe of [https://news.ycombinator.com/item?id=14164600](https://news.ycombinator.com/item?id=14164600)

<comment><USER3> Yep ... only .com instead of .co.uk

Strange that bbc doesn't have some resolving setup for that ... dupes supposedly being bad for SEO and all ...

</comment></comment><comment><USER4> The article is somewhat ironic, in light of the fact that in comparison to Western Europe, Russia is a very sexist society. Gender stereotypes are extremely common here (one can safely express them with no fear of getting a reprimand from local PC officer), gender identity politics is non-existent, and feminism is ridiculed, mocked or considered weird by the majority of people I've met.

<comment><USER5> I think I must be misunderstanding you...when you say the article is ironic, do you mean it is wrong?

To me it is the behavior of non-Russian societies behavior towards women that is ironic, acting as if there was this huge conspiracy from society to "keep women down", which I've always felt was utter nonsense but you dare not say such things in polite company, whereas according to this article, it is actually these do-gooders who think they are trying to help women who are _actually the ones harming them_!

That must be what you were thinking as well and I just misinterpreted you?

<comment><USER4> Ironic in a sense that "misogynist" Russian society is "better" at "encouraging women into tech" than enlightened Brave New World of the West.

</comment></comment></comment><comment><USER6> Because they have to?

" in Russia, even the very youngest were extremely focused on the fact that their future employment opportunities were more likely to be rooted in Stem subjects."

In the west, women/girls can choose what they _want_ to do, rather than what they feel they _have_ to do out of economic necessity.

</comment><comment><USER7> Most of those girls were born not long after soviet union fall apart. Upcoming generation is similar to the rest of the world, all girls want to be models, lawyers or economists.

</comment><comment><USER8> How do duplicates work? Just wondering which one should be considered duplicate. I am seeing that this was the first article submitted

</comment><comment><USER9> I've worked with a number of eastern European female engineers and developers. Their math skills were excellent. They were educated during the soviet era and it appears that they were not encumbered with the educational sexism that we see in the states. Math, science, and technology were subjects to be explored not avoided.

</comment><comment><USER10> Was just on the front page a few minutes ago

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

</comment><comment><USER11> Very interesting article , shows how young a persons interests develop.

</comment><comment><USER12> That's an easy answer: Russia is now and has always been a Matriarchy.

<comment><USER4> The majority (if not 100%) of Russia's ruling oligarchy are men, but many laws are indeed biased in favor of women. Woman will likely receive less severe punishment for committing a crime than man does, the mandatory conscription into the military is applied to males only, etc.

<comment><USER13> > Woman will likely receive less severe punishment for committing a crime than > man

Is there a country in the western world where this isn't the case?

</comment></comment></comment><comment><USER14> Because Russia doesn't have a culture where money and food fall out of the sky and everyone is a winner.

<comment><USER15> No, because the attitude of "X field is for Y gender doesn't really exist". But people are as sexist as ever

<comment><USER14> How does that statement even make sense?

If sexism exists, and Russia is top-dollar chauvinist, why would that not transfer to the workplace?

Russian people objectify women perhaps more than in the West, but they don't treat them as sex objects in the way that demands they be good for nothing except sex. Which is what you find in the West and other parts of the world. They're fine with them being sex objects, but they're also fine with them going out and being people and getting paper.</comment></comment></comment>


Black or White Lenses – Canon Professional Network - <AUTHOR> http://cpn.canon-europe.com/content/education/infobank/lenses/black_or_white_lenses.do <comment><USER2> … and I always thought it was just the canon marketing department, but thinking about it, that actually makes a lot of sense!</comment>


Boston Dynamics New Wheeled Robot Called Handle - <AUTHOR> https://m.youtube.com/watch?v=eU4i6RIN-pU <comment><AUTHOR> Linked video was deleted, here's a repost: [https://m.youtube.com/watch?v=giS41utjlbU](https://m.youtube.com/watch?v=giS41utjlbU)

Main thing I see no commenting about is the robot appears to be able to walk on two legs AND roll on two; the arm/leg layout matches their robots that walk in four legs.

<comment><USER2> That would make sense to me: in rough terrain, block the wheels and walk; on a flat surface, roll for better efficiency or speed.

</comment></comment><comment><AUTHOR> Anyone know what happened to Google's plans to sell Boston Dynamics?

[https://www.bloomberg.com/news/articles/2016-03-17/google- is...](https://www.bloomberg.com/news/articles/2016-03-17/google-is-said-to- put-boston-dynamics-robotics-unit-up-for-sale)

<comment><USER2> The wheeled robot said "no" and no one dared.

</comment></comment><comment><USER3> You have 20 seconds to comply!

</comment><comment><USER4> The coolest thing on wheels since Rodney Mullen.

</comment><comment><USER5> I've been wondering what would remind me to rewatch BSG, here we go!

</comment><comment><USER6> robocop is nigh!</comment>


Ask HN: Smart news/political commentary YouTube channels? - <AUTHOR> For my life, I cannot find a source of commentary on current events that isn't both vapid and clearly partisan. Dan Carlin's Common Sense podcast used to fit the bill, but that seems to be finished now.
Any good Youtube channels to recommend?
With all the content created there, the must be at least s few amateur commentators with thoughtful and intellectually honest views. <comment><USER2> Tim Pool

[https://www.youtube.com/user/Timcasts](https://www.youtube.com/user/Timcasts)</comment>


Show HN:Semantic markup based bookmarking/dynamic form creation, worth pursuing? - <AUTHOR> http://www.markreadygo.com/

<comment><AUTHOR> Started off as a side project to broaden my horizons. I wanted to learn more about semantic markup while learning RoR and various javascript frameworks. I stuck with RoR & knockoutjs to produce this. I've grown pretty attached to it now but I'm wondering what others think.

I'm not a designer/copywriter so please excuse the noobishness in those departments but feel free to give whatever feedback you want.</comment>


Virgin Media: 100Mbps access across entire network next year - <AUTHOR> http://www.geek.com/articles/news/virgin-media-to-offer-network-wide-100mbps-access-to-uk-in-2011-20100225/ <comment><USER2> Ah yes, but you'll only get 1Mbps or 2Mbps for your upstream (if past and current offerings are anything to go by).

Not game-changing... I never tax my 50Mbps connection because without a decent upstream I cannot take advantage of what I have.

I imagine I'll downgrade my package when they bump me up so that I just continue with what I have for less cost.

<comment><USER2> Actually I'm wrong... more digging around and I've found this: [http://www.ispreview.co.uk/story/2010/02/25/virgin-media- uk-...](http://www.ispreview.co.uk/story/2010/02/25/virgin-media-uk- tops-4-1m-broadband-isp-users-and-preps-100mbps-service.html)

"Trials of faster upstream speeds, including up to 20Mbps, are also underway as they prepare for increasing demand for faster broadband."

</comment></comment><comment><USER3> Whilst you may technically be connected at ("near") those speeds, you'll really be at the mercy of their exchange equipment load.

I just closed my broadband account with Virgin Cable due to breach of contract on their part. Their equipment at the exchange was overloaded with too many subscribers in the area, leading to about 90% packet loss at peak, and 20-50% loss at other times. 2 months after reporting the issue and they hadn't upgraded their network, so I left.

</comment><comment><USER4> The nice thing about this is that they only keep three pricing tiers so folk on lower tiers get bumped for free:

10 -> 20Mbps

20 -> 50Mbps

50 -> 100Mbps

And unlike DSL you don't get some fraction of this dependant on your location, you basically get what's advertised, consistently.

<comment><USER5> I recently upgraded my Virgin Media 10Mbps broadband to 20Mbps to get a price reduction, and to be honest, I don't notice it being one bit faster.

I seem to get about 3 - 4Mbps max download speed, which is what I got before. Maybe there is something wrong with my setup, but I have one box connected directly to the modem with 100Mbps ethernet and I have never seen it go even close to 20Mbps unfortunately.

<comment><USER4> First, are you on Virgin ADSL? Or "Virgin National Broadband" as they brand it. If so you're going to get the same speed variability as any other ADSL provider. I'm talking about their cable service.

Anecdotally, any time I've measured I've got almost bang on what I'm paying for (at several speed rates and in three different houses over several years, though all in one general area).

More scientifically the Ofcom report about the poor performance of ADSL compared to advertised speed noted that it didn't really apply to cable based systems.

<http://www.ofcom.org.uk/media/features/broadbandspeedsjy>

They got a table there that shows on ADSL you're getting 50% of the 8MB they advertise on average, on Virgin Media you're getting 85% of the 10MB advertised speed.

Obviously if some folk are getting 100% then other's can be on 70% and it'll still average out but I'd say it's worth getting your line checked if you're only getting 20% of what you're paying for.

<comment><USER5> I am on the cable national broadband for sure - def not ADSL. My bill tells me I am on the XL 20MB package.

I am still running one of the really old grey modems though. They sent me a new black one ages ago, but I have not activated it as yet. Maybe I should give that a try (have held back for fear of it knocking out my broadband for a few days if things go wrong!) and see if things get better.

My speed is pretty good, but I have never been able to push it toward even 10Mbps no matter how many downloads I have going.

</comment></comment></comment></comment><comment><USER6> The problem with this is that (AFAIK) there are no 100Mbps wifi routers around over here in the UK, so unless you want trailing cables or to have cables fitted professionally you're still only going to get approx 54 Mbps

<comment><USER7> The people who spring for 100Mbps will hopefully be aware of this already- they will hopefully be techies!

And, finally, maybe one day people will understand that 'wireless' is not a kind of internet, and it does not even necessarily correlate to fast internet. (For a few years everyone I spent time with used 'wireless' to refer to any fast internet, and also presumed if it was wireless it was as fast as money could buy. GAHRGH!)

edit: hell, it's already an issue- Virgin offers 50Mbps, and wifi only offers it's (theoretical!) max of 54 when you've got excellent signal strength.

</comment></comment><comment><USER8> But probably still capped at 2GB/day before 8pm. If you go over that amount before 8 they throttle down to something very slow for 5 hours (even if you just went over at 7:59 PM, how does that make sense?)

</comment><comment><USER7> There is only one question that remains: How do we get Virgin Media onto US soil!?

That kind of competition is exactly what we don't have today.

<comment><USER9> Or even: how do we get Virgin Media onto the rest of the UK's soil?

Their network coverage, being made up of piecemeal local networks built in the '80s and '90s that have slowly merged and been taken over until they eventually became one company, is rather sporadic. They cover some towns and not others, and I even know of some people who have Virgin cable access down one side of the street and not the other!

They don't appear to have any plans to cable any further areas on top of their existing coverage. So while it's fantastic competition in cabled areas, in much of the country BT still have carte blanche to continue their half-arsed "let's perpetually do a trial here and a pilot there and never actually launch anything" approach to fast broadband.</comment></comment>


Show HN: Trump news today - <AUTHOR> http://www.trump-news.today/ <comment><AUTHOR> It's a really hacked together rails app. I had a similar project that I used as a base for this one, so I didn't have to write everything from scratch. There are workers that will crawl subreddits, twitter accounts, youtube accounts, etc. It also uses a news api called [https://newsapi.org](https://newsapi.org) and clearbit for the news icons. It is open source on github.

</comment><comment><USER2> What APIs you are using to fetch the data and what technology and programming language?

It is opensource?</comment>


How browsers safely run untrusted WebAssembly code - <AUTHOR> https://webassembly.org/docs/security/ <comment><USER2> In response to the security articles going around?

>Changes in WebAssembly Could Render Meltdown and Spectre Browser Patches Useless</comment>


A Quick Look at the Rust Programming Language - <AUTHOR> http://www.bluishcoder.co.nz/2011/03/31/a-quick-look-at-the-rust-programming-language.html <comment><USER2> I'm glad that systems languages are getting a little more love these days. However, I'm a little saddened to see that no one seems to want to write a language that can also be used at the write-a-kernel level. Both Rust and GoLang have expressly made this a non-goal[1][2].

[1] <https://github.com/graydon/rust/wiki/Project-FAQ>

[2] [http://groups.google.com/group/golang- dev/browse_thread/thre...](http://groups.google.com/group/golang- dev/browse_thread/thread/72c5c5c355cf1262/0e473006b386a185)

<comment><USER3> I think you could write a kernel in Rust (though you'd need to add unsafe pointers, direct calls, and possibly other stuff to the language), it's just not a _goal_ of the project. There's no reason why I wouldn't accept patches to the language that would help in that effort as long as they didn't wildly conflict with the main goals of the project.

<comment><USER2> +1, Thanks for making that distinction.

</comment></comment></comment><comment><USER4> Since Rust implements a typestate system, here is a link to the classic 1986 paper by Strom and Yemini which introduces the concept of typestate: [http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestat...](http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf)

LtU has a thread on Rust: <http://lambda-the-ultimate.org/node/4009>

</comment><comment><USER5> > Multi-paradigm. pure-functional, concurrent-actor, imperative-procedural, > OO.

Can sombody please explain how "pure-functional" (where I think that "pure" means "without side effects") mixes with "imperative"?

Or do I misunderstand the "pure" part?

<comment><USER6> As long as you don't mix your functional code with imperative code you can stay pure.

<comment><USER5> To me, multi-paradigm always was about mixing the styles, so this sounds a like quite a radical restriction, and a bit weird.

<comment><USER7> Well, _inside_ a function, you can have as much imperative code as you like, with mutable local variables and what-not, the function overall is still pure as long as it does not cause side-effects.

Eg, functional code could looks something like this:

        foo a b = if a < b then quux (map bar a) else b

while a pure imperative function could look something like this:

        int foo (string a, int b) { // since a is passed by value, mutating it below will not modify the original
            if (a < b) {
                for (int idx=0; idx<a.length; ++idx) {
                    a[idx] = bar(a[idx]);
                }
                return quux(a);
            } else {
                return b;
            }
        }

Obviously this example is contrived and dumb, but both do the same thing and, besides the syntax difference, the first is written in a functional style, the second in an imperative style, but both are still _pure_ (as long as bar and quux are also pure).

So you _can_ mix functional and imperative without making functions impure.

</comment></comment></comment></comment><comment><USER8> I love destructors and RAII. They're more elegant than "with" constructs and much safer (unless you have a fancy type system that warns you when you create a resource object outside a "with.") They're the only thing about C++ that I really miss in other languages.

<comment><USER9> If anyone else who doesn't know C++ is curious about RAII (Resource Acquisition Is Initialization), the C2 wiki article was enlightening: <http://c2.com/cgi/wiki?ResourceAcquisitionIsInitialization>

Keep this in mind (from the wiki article):

        One problem with the name Resource Acquisition Is Initialization
        is that it is inaccurate: it's not always about resources, and
        it is nothing to do with initialization -- what makes the idiom
        tick is finalization.

</comment></comment><comment><USER10> For those who are interested, here's a 9 minute audio where Brendon Eich talks about new programming languages and Rust: <http://www.aminutewithbrendan.com/pages/20101206>.

</comment><comment><USER11> I hate to sound extremely petty, but I just can't stand a modern language that insists on using semicolons. Just Don't Do It, please.

<comment><USER3> Rust developer here.

In Rust, the semicolon is the expression sequencing operator (like in ML), not a statement terminator. "a;b" means "evaluate a, throw away the result, and return the result of evaluating b". So the semicolon is more than just boilerplate.

I guess we could do some sort of automatic semicolon insertion like JavaScript, but I'm not sure that the benefits outweigh the complexity.

<comment><USER12> There was a longish discussion on the bitc language development list on exactly this issue. I think this is the first message: [http://www.mail- firstname.lastname@example.com/msg02389.ht...](http://www.mail- email@example.com/msg02389.html). Looks like they ended up with automatic insertion: <http://www.bitc-lang.org/docs/bitc/spec.html#layout>

<comment><USER11> Cool; interesting to see how it's done elsewhere. In go:-

<http://code.google.com/p/go/source/browse/src/cmd/gc/go.y>

      /*
       * Go language grammar.
       *
       * The Go semicolon rules are:
       *
       *  1. all statements and declarations are terminated by semicolons.
       *  2. semicolons can be omitted before a closing ) or }.
       *  3. semicolons are inserted by the lexer before a newline
       *      following a specific list of tokens.
       *
       * Rules #1 and #2 are accomplished by writing the lists as
       * semicolon-separated lists with an optional trailing semicolon.
       * Rule #3 is implemented in yylex.
       */

But obviously this is very language-specific and given the case discussed above likely not to work in quite the same way.

</comment></comment></comment></comment><comment><USER13> An line from a stacktrace:

      rt: d884:main:main: upcall fail '.t0 < 3u', ts2.rs:5

Yikes!

<comment><USER3> Yeah, rustboot's pretty printer leaves something to be desired. We have a much better pretty printer in rustc (see src/comp/pretty/).</comment></comment>


Ask HN: ReadBoard User Onboarding Process Review - <AUTHOR> I have been trying to get the user onboarding process right for my recently launched product "ReadBoard" based on following insight.
"Please review your current onboarding (what do users experience during their first time inside your product and in the first week, including emails) and assess how much is about WHY vs. HOW."
from following article
https://uxdesign.cc/dont-assume-new-users-want-to-learn-how-to-use-your-product-6ef9042efbca#.7n26n25hs
I would really appreciate if HNers can help me improve it further. Here is a link to review it.
www.readboard.io
Continue as guest (or sign up:)). Am I doing it right? WHY vs. HOW?
Further if you can tell me.
Are my users leaving because they can't figure it out or because they don't care to?
Thank YOU :) <comment><USER2> 0: If it meets the guidelines, this might make a good "Show HN" because Show HN is for feedback on implementations submitted by the person who built them. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

1\. Amazing progress since the last time we talked about ReadBoard. Congratulations.

2a. Having to pick five topics to try out the site is a distraction. I just want to see how it works.

2b. There appears to be a topic for every possible tag. There are far too many for a new user to parse.

2c. The tags are someone else's not mine, and therefore the tagging is editorial. But the editorial work does not create a hierarchy of importance. India, Startups, Philosophy, etc. are all given equal weight even though surely some have better content than others.

2d. My suggestion is to narrow down the number of topics and focus on providing excellent content for a few...or in the extreme eliminate topics and just focus on good content. Either way this means deciding who the target users are and are not.

3a. The user interface of cards takes up a lot of screen space. For me, it does not provide enough stories per screen to easily decide what is or isn't good. Or rather, because there are so few stories and I am selective, there is a high probability for a screen to contain nothing I am interested in. So my choice is to dig deeper or navigate away from the site. Not seeing anything interesting makes navigating away more attractive and digging deeper less attractive.

3b. My advice: make it as easy as possible for the user to find something interesting because marginal quality content consuming significant screen space makes work for the user. If I want that, I can go to Facebook.

4\. Reproducing the content from other sites on ReadBoard did not add value for me because: there was latency while the site was loaded and it the text was still surrounded by web widgets rather than standing alone. My advice: look at Firefox's Reader Mode [and consider talking to an attorney about copyright and looking into Google's definition of content farming].

5\. The Chrome extension is not a bad place to start app development.

6\. I'm not sure I want to share all my contacts.

7\. The guest experience was mediocre, since I could not try out the discussion feature, and that's the core of the site. My advice is to allow commenting without registration during the "Feedback" periods. Maybe a unique URL that logs people into temporary accounts automatically when the "guest" link is clicked might work.

8\. ReadBoard looks like the result of significant effort. My comments 3, 6, and 7 all hit on what I see as the biggest challenge: focusing on the interests of the user over those of ReadBoard as a business.

9\. Comment 5 indicates a way in which the interests of ReadBoard as a business and the interests of [some] potential users align to mutual benefit. Finding more such alignments is hard because it requires change, but the easier path is by changing ReadBoard toward the user's interests.

Good luck.

<comment><AUTHOR> Awesome! Thank you so much for taking time out and write such a detailed feedback. Let me work on each of the points to improvise ReadBoard.

I will check "Show HN" guidelines and see if this is a right fit.</comment></comment>


Stuck between a rock and a hard placem: An explanation of Apple's new MBP - <AUTHOR> http://macdaddy.io/apples-new-macbook-pros/ <comment><USER2> Stop defending Apple using the RAM myths floating around. If Dell XPS 15 with 32GB DDR4 ram that's also thin and light can manage 5 hours battery life with a 56Whr battery, Windows, and HQ series intel processors, there's no reason Apple couldn't manage more.

Also, the 1.2v SO-DIMM DDR4 ram vs 1.2v LPDDR3 they used have close power consumption.

<comment><USER3> Maybe 5h is enough for you, but Apple fans are used to a 10h minimum, likely more. And very thin hardware.

<comment><USER4> "Very thin" is not a professional criterion. There is no context in which an extra millimetre of bulk means that you're unable to get the job done.

Apple no longer has a truly professional mobile workstation. By focussing obsessively on size and weight, the whole product line has shifted downwards in relative performance, leaving a gaping void at the top end. The most powerful machine in the Apple lineup competes with mid-range PC laptops.

A Windows user can choose from some extraordinarily powerful mobile workstations. If you need it, you can have 64gb of RAM, a desktop-class CPU, two desktop-class GPUs and quad M.2 RAID. You have the choice of ultimate performance or light weight. Apple offers no such choice.

It may be a perfectly rational business decision, but Apple has decided to abandon the high-end. It has been nearly three years since the Mac Pro was updated; even on their supposedly high-end desktop workstation, Apple have traded performance for compactness.

As we have seen on HN, Apple is risking an exodus of professional users. This exodus has already happened in many fields; I know a great many people in video and audio post-production who could not tolerate Apple's indifference towards the needs of media professionals. The abandonment of Final Cut Pro 7 and the inadequacies of FCPX were the icing on the cake. These users were Apple's mainstay in the difficult pre-iPhone years, but Apple seem happy to let them go.

<comment><USER5> _" Very thin" is not a professional criterion. There is no context in which an extra millimetre of bulk means that you're unable to get the job done._

To argue that thin-and-light is _never_ a valid criteria for professionals is a bit out of touch.

Many professional designers/developers work from coffee shops, workspaces, the couch, the airplane, the client's office and so on. Remote workers and digital nomadism (I hate that phrase) is a huge thing right now. And growing.

The question is whether they've gone too-far in this respect and I agree that they have. But, that doesn't mean that thin-and-light isn't a perfectly valid criteria for many professionals.

</comment></comment></comment></comment><comment><USER6> What was the author smoking?

"This is also why the only laptops currently available which support >16GB RAM are huge, like this one which weighs 17 pounds (8KG). "

Except that ThinkPad T460 can be ordered with 32 GB memory and weights something like 3.8 lbs (1.7 kg)

(of course the upside of the specs being essentially the same as the old one is that you can use the old MBP until USB-C is widespread enough to make it worth switching)

<comment><USER7> What is the battery life of the TP460?

<comment><USER6> This page claims 17 hours (with the test described as "Laptop Mag Battery test, which involves continuous surfing over Wi-Fi at 100 nits of brightness")

[http://www.laptopmag.com/reviews/laptops/lenovo- thinkpad-t46...](http://www.laptopmag.com/reviews/laptops/lenovo- thinkpad-t460)

</comment></comment></comment><comment><USER8> The article gets some stuff wrong.

1\. Though macbook pro battery capacity has been reduced to 76Wh, he still attributes not adding more RAM to 100Wh ceiling by FAA

2\. States that only laptops with 32GB is as heavy as 17 pounds and bulky. But Dell XPS 15 comes with 32 GB and weighs only 4.5 pounds. [https://www.microsoftstore.com/store/msusa/en_US/pdp/Dell- XP...](https://www.microsoftstore.com/store/msusa/en_US/pdp/Dell- XPS-15-9550-Signature-Edition-Laptop/productID.326871600)

3\. Dell XPS 15 comes with 1 USB-C, 2 USB-3.0 ports, HDMI and SD card reader and thus don't need dongles and is reasonably slim.

Seriously, if Apple had released something like XPS-15 in features, there would have been no criticism.

<comment><USER9> 1\. I believe you got the first point wrong. The claim is that they needed more than 100W to go to 32GB, and not going for 16GB, they didn't need the extra 26W. 2\. You are partially right. Yes, 4.5 pounds is very different from 18kg, but if you care about portability, it is still a big different from 3 pounds. 3\. The argument he presents is that you need dongles for now, but in the long term, you will need less dongles. So a bit different from what you are arguing.

<comment><USER10> 4.4 _pounds_ for xps 15 vs the macbook's 4.02 pounds (15" version). (and if you want a smaller battery for portability on the xps 15, you can get one at 3.9 pounds)

Looks like the article author was either blinded by fandom or intentionally misleading.

[https://www.apple.com/macbook-pro/specs/](https://www.apple.com/macbook- pro/specs/) (choose 15") [http://www.dell.com/en- us/shop/productdetails/xps-15-9550-la...](http://www.dell.com/en- us/shop/productdetails/xps-15-9550-laptop)

<comment><USER9> I will be suspicious of any opinion in a website with the word mac or apple in it's url. First, the mbp is 3 pounds (from your own link). Second, I looked up the xps 15 also. Not only it is 50% heavier, but it is also much thicker and in bigger in general. Finally, battery life seems to be 5h vs 10h of the mbp. These are different compromises that will please different people and not be acceptable for others.

<comment><USER10> You forgot the "choose 15 inch" on the apple site:

MBP13: 3.02 pounds (1.37 kg) MBP15: 4.02 pounds (1.83 kg) XPS15: 4.4 pounds (or 3.9 pounds with smaller battery)

MBP15: 15.5mm 349.3mm 240.7mm XPS15: 17mm 357mm 235mm

But I agree - if you're wanting maximum portability, go with the smaller 13" device, which is 33% lighter.

But then you may want to compare the XPS13, which is smaller, lighter, newer CPU, has a larger battery (dell mentions 18h, reviewers tested 10h+, but actual battery life comparisons TBD), and is also limited to 16gb.

Yes, different compromises.

<comment><USER9> My bad. I got mixed up with kilos and pounds. Thought 3 pounds was 1.8kg. 4 pounds. I stand corrected.

The thing is. I'm really not an apple fan boy. I've only had one mac. I've had one iphone and moved back to android. I would never have a desktop mac. However, the usability, portability and reliability of the mac laptop has made a huge difference for me. All the little details from the os to the hardware make it the only laptop that I've had that has been great from my productivity, even when I was doing physiotherapy twice a day for 6 months and carrying my laptop between hospital beds.

The Dell XPS13 does have numbers that are interesting, however, if I've learned something from my experience with a mac laptop is that numbers are only part of the story. I wouldn't want a windows os and despite still enjoying linux I really enjoy that I don't need to worry about anything working properly on the mac, it just does, and I can focus on my work. Then it's the trackpad (in conjunction with the os)... Minor things, that make a world of difference.

So...I really really would like to buy something other than a mac, but I just can't see it.

<comment><USER8> Same here. I don't like windows at all though to be fair I haven't used Windows 10 at all.

But the new MBP is not for me. I really need the USB port and SD card reader. I'm using a 2010 MBP and I think I will buy the 2015 MBP. It's cheaper, has all the ports I need and I like the older keyboard. So I will be happier with it than the latest MBP

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> At the end if the day, people are expecting too much from a slab of aluminum. If Apple also announced 64Gb RAM iMacs with all the bells and whistles, perhaps the MacBook Pro backlash would have been less.

I for one will be getting the new MBP. I love MacOS. I love the multi touch pad. I love the vibrant screen.

If I want to train a neural net, I spin up my Core i7 leaf blower next to my desk and drink coffee at home.

<comment><USER12> I'm a Python developer, and I've been worried about upgrading to MacOS Sierra, after hearing a few anecdotes about bugs, etc.

Are you a coder, and have you noticed any things that you wish they'd fix; things that hamper you as a coder?

I love El Capitan, esp how they've finally absolutely perfected full screen mode / swipe to switch, half-screen, etc. at this point. Is that all still great?

<comment><USER13> I've been running Sierra for the last month or so and think it's on par with prior macOS releases. There's been no standout feature that's wowed me, but there haven't been outstanding bugs driving me crazy either.

Since I don't use the new Siri integration, I couldn't tell you a single difference between this and El Cap (maybe dark mode?)

I'm a .net developer running vs code and docker most of the time, for reference. I'm running on a late '13 rMBP.

</comment></comment></comment><comment><USER14> I'm glad someone is being a bit more positive about this. I was a little disappointed at first, but all of the compromises on this machine are fully explained by lead time, battery life and pushing industry standards forward. The first I can't control, the second I don't want to sacrifice, and the third I'm fully in support of.

The only real issue for me with this laptop is the price increases in the UK. We're paying about $500 more at current conversion rates than the US price.

<comment><USER15> You're a little off with the UK prices.

The US price, pre-tax, for the base 15" model is $2399. At whatever Google thinks is the current exchange rate, that's £1948.43 GBP. Add 20% VAT and it's on the shelf at £2338.12.

The UK price for this model is £10.88 more than the direct exchange rate.

<comment><USER14> You are correct, I was not accounting for VAT, I guess as the US price does _not_ include sales tax. Thanks!

<comment><USER15> They almost never do - US sales taxes vary by state, often city, and sometimes county. The combination of these is basically a list of tax by zipcode, so publishing them has more in common with calculating shipping than it does for us.

I know it doesn't really help (I'm facing the same problem @ 21%!), but the current conversion is a lot fairer than they've been in the past.

</comment></comment></comment></comment><comment><USER16> For me the GPU (even the 460) is the biggest disappointment. Doesn't look like it's good enough to support the VR hardware by Oculus or HTC. Maybe that was just a pipedream but I seem to recall Apple saying something along the lines of the next MBP will be "VR ready"

I'll probably still get a 15" MBP as my development machine but I'm not pre- ordering as initially planned and waiting on some reviews first.

Edit: I just remembered that the Razer Core external GPU adapter has USB-C so maybe getting one of these to get around this problem could be an option. A pricey option though.

</comment><comment><USER10> My main skepticism on the touch bar is the fact that Apple is not making it a standard component across the board ( _ahem_ ).

When a user-interface device is non-standard, it tends to not be supported very well, because companies/developers don't have time to spend designing and testing the interaction, much less the actual code, for the relatively few users who have the device.

Apple may have more success with this, because MacOS developers will be more likely to have it and may want to play with their new toy...

</comment><comment><USER17> > _In the long term it's doing the exact opposite: It's finally setting USB-C > /thunderbolt as the standard._

It's not going to set a new standard if it doesn't sell.

<comment><USER9> Do you realistically think it won't sell? Between fanboys and those for which the portability (and usability of macos) beats the absolute top performance you could get...it will still sell enough.

<comment><USER17> You may well be right. I guess we'll see how much of the MacBook Pro market is made up by actual professionals.

</comment></comment></comment><comment> mark-r When I saw the limit on battery size my head screamed "citation needed", so I went out and found it for myself: [https://www.faa.gov/about/initiatives/hazmat_safety/more_inf...](https://www.faa.gov/about/initiatives/hazmat_safety/more_info/?hazmat=7)

Is this something new? Have laptop batteries _always_ been less than 100Wh?

</comment><comment><USER18> Meanwhile, Apple is vertically integrating the whole semiconductor industry for production of iPhones. If this continues, I'm guessing the price for non- Apple hardware will go up. What will this mean for general purpose computing?</comment>


New NoSQL Language Unveiled As Debate Rages On - <AUTHOR> http://visualstudiomagazine.com/blogs/data-driver/2011/08/new-nosql-language-unveiled.aspx

<comment><USER2> This is the language mentioned, it's an attempt to provide a common query language for NoSQL. Couchbase and Sqlite are involved, amongst others.

<http://www.unqlspec.org/display/UnQL/Home>

<http://groups.google.com/group/unql/?pli=1></comment>