PlayCanvas, the Web-first game engine - <AUTHOR> https://playcanvas.com/ <comment><USER2> For what it's worth, when I was working at a mobile game studio, we looked at this as an engine for a project. At the time we decided not to go with it since all your code needs to live on their server and there's no easy local dev environment.

Not sure what the state of play for this product is now, but at the time we considered it too risky a proposition (what if they go out of business tomorrow?) and too limiting for the cost they were asking to use their platform.

<comment><AUTHOR> what did you guys end up using?

<comment><USER3> I also went down that route and opted for three.js The downside is no decent game engine nor IDE, you end up writing your own engine and tooling.

<comment><USER2> Same cons that we came up with too. Which means it's that's much harder for anyone who isn't a developer to make contributions to things like level design.

</comment></comment></comment></comment><comment><USER4> Interesting to see that PlayCanvas is now owned by Snap Inc recently: [0]

[0] [https://techcrunch.com/2018/03/23/snap-reportedly-buys- its-o...](https://techcrunch.com/2018/03/23/snap-reportedly-buys-its- own-3d-game-engine/)

<comment><USER5> I wonder how this has affected the development of PlayCanvas. I don't see any statements about the acquisition or even just a roadmap or statement about the future.

It looks like Snap bought it + a game studio and then launched a few html5 games inside of Snapchat. But I dont see anything after that. Seems like maybe gaming inside of snapchat just fizzled out? That doesn't bode well for PlayCanvas development...

<comment><USER6> Their lenses I think are all JavaScript, not sure if it's WebGl rendering though, but it would make sense to do that to be cross platform

</comment></comment></comment><comment><USER7> An example of what could be done with it: [http://venge.io](http://venge.io)

A competitive FPS shooter made in Playcanvas.

</comment><comment><USER8> Could someone explain the USP of utilizing the browser platform for game dev? As far as I know, the usual suspects in the game engine world can compile to web as well as the other major platforms. Wouldn't relying on web runtimes and all the bloat associated be a detriment?

Is it the JS ecosystem and [insert framework] UI that's tempting? Or just the shared dev environment?

<comment><USER9> You don't see the USP of websites, apps, and games that run at a browser url instead of requiring app download? I encourage you to throw out your prejudices and try to answer that one yourself.

Runescape is a good example. It ran on the school and library computers when nothing else could (much less anything that needed installation). Runescape is finally beta-testing native mobile apps, and it's hard to imagine it rising to so much fame for such a long time without its decision to run in the browser.

<comment><USER10> > You don't see the USP of websites, apps, and games that run at a browser url > instead of requiring app download?

Unity, Unreal, Godot ... they all support the web as publishing targets. Without downloading a plugin. supporting the web is not unique. but if you design for the web, the engine will run better than compiling to it.

> Runescape is finally beta-testing native mobile apps, and it's hard to > imagine it rising to so much fame for such a long time without its decision > to run in the browser.

They've had a mobile version of "Old School Runescape" for over a year now I think, and it certainly did get me to play again for a bit. Mostly out of a curiosity of how they managed to fit all that UI on a mobile screen (turns out, pretty well).

<comment><USER11> Unreal no longer supports the web as a publishing target. They've marked that feature as deprecated. Unity still does, however, from what I've heard it's not a great platform to use for the web. Godot's wasm compile target is very new, I'm looking forward to seeing what comes from it.

</comment></comment></comment></comment><comment><USER12> Interesting. I assume you can hook whatever javascript into it you want?

<comment><USER13> Yes. You can use it in conjunction with pretty much any other JS framework available.

</comment></comment><comment><USER14> I'll admit to being one of those anti-JS stick in the mud's, I really hate when people overload what should be a text doc with JS. However, this looks really cool.

I think partially it's that once you are doing something at this level, you are no longer just turning a document into an app, you are writing an app that can be deployed almost anywhere.

I think the future will trend in this direction to be honest.

edit: tend -> trend

</comment><comment><USER15> It is a very nice engine, specially for those focused on Web only as target.

<comment><USER16> I wouldn't call it "web only", since the web runs everywhere. What PlayCanvas is king on, is having the same codebase and being able to play it on your desktop, laptop, mobile, and even smart tvs.

<comment><USER9> Well, surely web-only means that it didn't make concessions to work on other targets like UIKit.

</comment></comment></comment><comment><USER17> Apple still blocks multitouch in fullscreen unfortunately.

<comment><USER18> Really? For webviews?

<comment><USER19> In Safari

</comment></comment></comment><comment><USER19> I'd love to be able to use their scene editor offline, uploading assets is a deal breaker

</comment><comment> swagasaurus-rex Is there support for networking/multiplayer games using this framework?

<comment><USER13> There's no networking built-in to the core engine but there's a tutorial to get started with Node.js: [https://developer.playcanvas.com/en/tutorials/real- time-mult...](https://developer.playcanvas.com/en/tutorials/real-time- multiplayer/) PlayCanvas also works great with third party networking solutions like Nakama from Heroic Labs: [https://heroiclabs.com/](https://heroiclabs.com/)

</comment></comment><comment><USER20> Anyone know how compares to Godot webasm target?</comment>


Google's Green Agenda Could Pay Off - <AUTHOR> http://www.nytimes.com/2008/10/28/technology/internet/28google.html?_r=1&hp=&oref=login&pagewanted=all

<comment><USER2> Equally accurate headline: "Google's Green Agenda Might Not Pay Off"

</comment><comment><USER3> bs. Anyone with a clue on large computing centres know, that today any "green agenda" in practice is only PR. Physical constraints of today's realities forbid anything "green": it is not viable economically, therefore doomed.

<comment><USER2> Possibly true, but "anyone with a clue knows that X" is a really annoying conversational gambit.

<comment><USER3> What is annoying, is the way "green" is being abused of - and the posting is no exception. Let's get back to this conversation, when there will be something of substance to speak about, when something substantive "green" has been delivered.</comment></comment></comment>


Ask HN: A developers opinion of Treehouse - <AUTHOR>

Hi all, I love web apps and want to start to build my own. ive been doing graphic design and motion graphic work for years and have purposefully put off learning any sort of code because i think its better to make money doing something you love and pay someone to do something you dont. But recently I've decided that I need to bite the bullet and learn how to code (HTML,CSS and rails) looking at a lot of the training sites out there I'm leaning towards using Treehouse. I was wondering who else has used it and if any developers have used it would you recommend it? Thanks <comment><USER2> i'm not a treehouse user, and while i hear awesome stories about their company (like having a 4-day work week, or getting funding although they don't plan an "exit"), I don't know anything about the quality of their lessons...

but I do know two free resources for learning rails, and having used both of them I can wholeheartedly recommend them:

<https://class.coursera.org/saas/lecture/preview>

<http://ruby.railstutorial.org/>

after completing these two you will be able to build your own web app, and go from there. afterward it's not so much about learning rails in general. it's more about coming across a very specific problem that you encounter while building your app, in which case google is your friend.

i really don't want to bad mouth treehouse, but i feel like there are enough free resources out there to get you started. especially for rails. on the other hand, paying 25$ dollars a month, might keep you committed.

<comment><AUTHOR> Awesome thanks for that!</comment></comment>


Ask HN: Is it just me, or has youtube become uselessly slow in the last month? - <AUTHOR>

I'm on the East Coast of the U.S. and have been noticing the last month or so that youtube has simply become fantastically slow. 1 minute videos take several minutes to buffer, anything longer is virtually unwatchable. Other video sites, (vimeo, hulu, etc.) seem entirely unaffected.
I post this today because the problem seems particularly acute today. I had a couple 2 minute videos (each with over a million views, so they're popular) take 15 minutes each to queue up today.
Is this a scale issue? Has youtube simply gotten too much video to properly cache? Any lessons to be learned in the startup world?
(I'm on fios) <comment><USER2> I've always had a problem with YouTube where the first 10% or so of a video will load, then it will just stop loading. It's really frustrating and the only solution is to reload until it doesn't stop.

Recently, though, a lot of videos haven't even been getting that far!

</comment><comment><USER3> I recently saw a similar question. Someone suggested try using the Google DNS (18.104.22.168 and 18.104.22.168) and it worked. YouTube has loaded horribly on my Comcast Internet for years. Never have an issue with streaming HD Netflix though.

</comment><comment><USER4> I'm also on Fios (in Massachusetts). I'm having the same problem.</comment>


The Slants Win Supreme Court Battle Over Band's Name - <AUTHOR> http://www.npr.org/sections/thetwo-way/2017/06/19/533514196/the-slants-win-supreme-court-battle-over-bands-name-in-trademark-dispute <comment><AUTHOR> More detailed legal analyses, including repercussions for the Redskins case and controversies regarding hate speech, from the Volokh Conspiracy:

[https://www.washingtonpost.com/news/volokh- conspiracy/wp/201...](https://www.washingtonpost.com/news/volokh- conspiracy/wp/2017/06/19/the-slants-and-the-redskins-win-the-government-cant- deny-full-trademark-protection-to-allegedly-racially-offensive-marks/)

[https://www.washingtonpost.com/news/volokh- conspiracy/wp/201...](https://www.washingtonpost.com/news/volokh- conspiracy/wp/2017/06/19/supreme-court-unanimously-reaffirms-there-is-no-hate- speech-exception-to-the-first-amendment/)

</comment><comment><USER3> In the polarized and racially tense environment we find ourselves in, I wonder how the supreme court would have ruled had the band members not been Asian American. Personally, given the circumstances and the intentions of the band members, it feels ridiculous that the government would have refused to trademark the name, however I'm sure a lot of people would feel differently if it was a white supremacist band named something egregiously racist towards minorities.

I'm sure some alt-right types will take full advantage of this decision to do what they do best - <USER2>

<comment><USER4> I don't think it would. The justices are smart people, they know full well the precedent they have set can be used by white supremacists et al. Their decision explicitly affirms that hate speech is not exempt from First Amendment protections.

As an aside, this is why the judicial system is probably my favorite branch of government. Debates in Congress are not real debates; congressman are using them to score political points, not convince the other side of their argument. Same with the executive branch, it's all about re-election which means they have to concern themselves with the optics of their actions. Only in the judicial branch do we at least try to make decisions based on reason and rational argument. It's how we got legal interracial marriage at a time when something like 90% of the population thought it was immoral. The justices don't care about the optics of the case, only the facts, because establishing a precedence means these decisions can have broad consequences.

<comment><USER5> Lots of people in this thread are equating smarts to a lack of inherent human bias. I agree that there is a relationship there, but if you read enough cases, you get the feeling they often stretch to get to the conclusion they had (knowingly or unknowingly) predetermined.

<comment><USER4> Oh justices are absolutely biased, it's impossible to have a human being who isn't. The point is that the justices have to defend their decision with some sort of rational argument, while congressman simply vote yay or nay on a bill without qualifiers or precedent being set.

</comment></comment></comment></comment><comment><USER6> For backstory, here's NPR's Planet Money podcast about the situation prior to the SCOTUS ruling:

[http://www.npr.org/templates/transcript/transcript.php?story...](http://www.npr.org/templates/transcript/transcript.php?storyId=530252213)

</comment><comment><USER7> Kudos to ACLU for fighting a good fight. This excerpt from their official statement[1] sums it up pretty well.

         Censorship doesn't just violate the First Amendment —
         it often doesn't produce its intended results. As many
         activists who lived through the civil rights era, or
         protested in the streets just this past year, could tell
         you: Restrictions on free speech are often applied most
         stringently against groups trying to challenge the
         status quo.

[1]: [https://www.aclu.org/blog/speak-freely/victory-slants-are- of...](https://www.aclu.org/blog/speak-freely/victory-slants-are-officially- rock-stars-first-amendment)

</comment><comment><USER8> If N.W.A could be trademarked, I don't understand how anyone thought it was right to deny The Slants.

<comment> Trill-I-Am Would their trademark have been the full name spelled out or is it literally "N.W.A.?" I'd imagine that would have previously made a big difference.

<comment><USER9> Well if it was written out would it matter? In general free speach should be absolute (yelling fire in a packed movieis not). It does not matter if someone thinks the speech is offensive. If that was the case can we ban Fox News? Conan sense won here, for once.

<comment><USER10> > Well if it was written out would it matter?

Yes, if N.W.A had been used as a precedent to support the Slants it would matter whether or not N.W.A. was written out. The more fundamental question of whether slurs _should_ be protected is separate from the precedential question of whether slurs _have been_ protected in the past.

</comment></comment></comment></comment><comment><USER11> The set of concurring opinions already gives me a headache.

> ALITO, J., announced the judgment of the Court and delivered the opinion of > the Court with respect to Parts I, II, and III–A, in which ROBERTS, C. J., > and KENNEDY, GINSBURG, BREYER, SOTOMAYOR, and KAGAN, JJ., joined, and in > which THOMAS, J., joined except for Part II, and an opinion with respect to > Parts III–B, III–C, and IV, in which ROBERTS, C. J., and THOMAS and BREYER, > JJ., joined. KENNEDY, J., filed an opinion concurring in part and concurring > in the judgment, in which GINSBURG, SOTOMAYOR, and KAGAN, JJ., joined. > THOMAS, J., filed an opinion concurring in part and concurring in the > judgment. GORSUCH, J., took no part in the consideration or decision of the > case.

</comment><comment><USER12> This is a win for a free society

<comment><USER13> I dunno, I think it's something about which reasonable people can disagree. It's not a free speech question, it's an intellectual property rights question. Should the government provide IP coverage for potentially offensive product names? Apparently, yes, but I don't think opponents are very far out on a limb, either.

<comment><USER14> It's an intellectual property law question based on the emotional reactions of people to speech. It's possible that this is both a free speech case and an intellectual property rights case.

Do we want to be in a society where only things deemed non-offensive are protected? Seems maybe a little arbitrary and capricious?

Personally, I'd rather ditch most IP entirely, but that's rather a different issue.

<comment><USER15> > Do we want to be in a society where only things deemed non-offensive are > protected?

Well, offensive to whom? There's obviously "Nigger"... But wait. It's offensive if a white person calls a black person that. But many a time, blacks will call each other that to 'own' the word and reclaim its power. So we have an immediate example of an offensive word that isn't offensive in many cases.

Or in recent years, simply asking "Are you a man or woman?" is offensive if they pull the 'not gender binary'-card. Yeah, we can ignore the fact that you either have sperm or eggs, or genetic anomalies that have interesting medical conditions.. But the question in certain groups is "Offensive".

Then there's the last group of people who are, what I call, professional victims. I've not seen a conservative one of these yet. They primarily are in the extremist liberal camps, and the smallest innocuous things will set them off in tirades. To them, everything they don't do is "Offensive". And this "Offensiveness" changes as per person. I usually treat these people by ignoring them. You cannot win. (An example of one of them is demanding to have others use some pronoun like hir or zir or zem. And they will get angry if you ask, don't ask, use a different one around other people or... )

Edit: I try for a variant of the Robustness Principle. Unless someone is intentionally mocking me, if they get some term wrong or use no longer "politically correct" terminology, I try to look past that for their underlying idea.

<comment><USER16> _I 've not seen a conservative one of these yet._

Ive seen plenty of them. They rail against any sign of diversity as an attack on their white, heterosexual normalcy. Check out the forums on IGN. They are outraged by the sight of a penis in a tv show (American Gods) or a person of colour cast in a leading role.

<comment><USER15> Well, point made.

I've seen a bit of these types, but usually they wore iron cross rings, or white robes (KKK). Even some of the more extremist Christians I know haven't acted quite like that. Yes their preference is very much against homosexuality and more liberal policies of "Do what you want as long as you don't harm others", but I haven't seem them go out of their way like the extremist liberal ones do.

I've even been screamed at by some extremist liberal woman because I (a male <shudder>) dared to walk through a door and hold the door open for her, err, hir, err, "it". And note, even if you can't see it, am a bisexual male.

<comment><USER17> Your comments here are ironic because while claiming to have only ever witnessed "professional victims" on the progressive side, you're displaying the conservative version of the same thing. You don't recognize that's what it is, you just think you have legitimate complaints about how you've been treated due to your identity. That's exactly what the people on the other side think as well.

<comment><USER18> I think you just said that anyone who was ever "victimized" by a professional victim is, themselves, a professional victim.

I want to believe that's not what you're saying, but I'm having a hard time parsing something different out of your comment.

<comment><USER17> What you're missing is that I don't think that there is such a thing as a "professional victim". I think it is just a term some people use to delegitimize any slights perceived by the "other side".

<comment><USER18> That's a perfectly reasonable point and position to take but at the same time, I think I could point at some professional victims and you'd concede that they are them.

Like the guy who goes to places and gets himself into horrible situations on YouTube Live or Twitch, when people call in a Swat Team onto his location.

And I don't even know anything about his politics, I just know that he has a following, and he literally makes (was making?) money off of his streams, which people were attracted to based on wanting to see harm come to him!

Literally inconveniencing airplanes and airport concourses full of people so that he could get some more media attention on his scam.

So, I think that's despicable and I've never looked up his streams as a result, because I don't want him to profit. Like I said I don't even know his politics, and I won't say anything about mine.

But to argue the singular point, I think there are some professional victims and it is well... dismissive, to be dismissive of them.

<comment><USER17> That seems like a different definition of "professional victim" than the one implied up-thread.

<comment><USER18> I guess maybe, but I don't think that advertising revenues or even actual cash values are a necessary component of "profit." Different people do things for different reasons.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> I heard a podcast about this and the singer of the Slants said by naming the band that, they were "reclaiming" the disparaging word.

<comment><USER20> It begs to ask the question "who is the word really disparaging to"?

I grew up in Canada in the 70s, and was called all sorts of epithets, and "slant" isn't even remotely the most disparaging of the things I've been called.

Note my handle as well -- I've been using a variant of it for 30+ years. A white guy gave me the handle "slant" in the mid 80s during the BBS days... and yes, it had something to do with my ethnicity. But I wasn't offended, and decided to own it.

Fast forward to the 90s, and the word "slant" was too common to be able take as an alias anywhere on the Internet, so I innocently added the suffix "YYZ" (the three letter code for Toronto's Pearson International Airport). I didn't even realize for a few years that it phonetically sounded like "Slanty Eyes" until a friend pointed it out.

I've been lucky to not get any flack for my handle in most places, with the exception of one instance. Some of a white friend's twitter friends (also white) saw a twitter conversation I had with him and told him to tell me they found my name offensive. Which I found to be incredibly bizarre.

\-- edited fixed grammar issue

<comment><USER21> > Some of a white friend's twitter friends (also white) saw a twitter > conversation I had with him and told him to tell me they found my name > offensive. Which I found to be incredibly bizarre.

It's another form of this:

[http://imgur.com/aqnfsVa](http://imgur.com/aqnfsVa)

I have a white friend who is extremely sensitive about the word "nigger". So much that he wouldn't join a black person's Discord server named "The Real Niggaz" and got upset that someone in a game had the name "TheNiddaSteve". That's not a typo. Nidda. He was upset about "Nidda" because he believed they really meant "nigga".

<comment><USER22> Turns out that that the human brain doesn't seem to make a strong distinction between the meanings of words and the determination of the appropriateness of words used in context (i.e., their moral value.) Understanding this has taught me a lot about human behavior.

Or maybe it's just primed me to expect certain kinds of misunderstandings.

</comment></comment></comment></comment><comment><USER23> On the one hand, this is a great win for Freedom of Speech in the United States as it relates to commerce, and on the other hand, The Slants is a terrible fucking band name and deserves to be made fun of at every opportunity. Which, coincidentally, also is a nice Freedom of Speech benefit. In other news, Radio, Satellite, or Internet broadcasters still not compelled by law to play their music or mention their name.

<comment><USER24> What's terrible about it? It's concise, memorable, and apparently nobody else is using it. Perhaps it's terrible because some people use the word offensively, like "Queen"?

</comment></comment><comment><USER25> I am a die hard Redskins fan (if you're in the bay area and want to watch games with me, reach out).

This is a win for the redskins but I think the majority of us don't care anymore about the name that strongly. Pretty interesting to see this resolved though, especially since there was a ton of fake-news when this case first started about a name change being imminent.

<comment><USER26> To me it seems like whether it should be possible to trademark that team name and whether it's a name the team should feel proud sticking with in 2017 are two pretty different questions.

I am happy with this legal decision because I don't want the government to be in charge deciding what is offensive and what's not. I also think it's long past time for them to pick a new name. Just because they can legally have that name doesn't mean they should keep it.

<comment><USER25> I agree with you on all counts. It's hard to get a new name though after 100 years of history. I don't think it will change under Snyder, since the name recognition is one of the things that makes it one of the most valuable franchises in all of professional sports.

</comment></comment></comment><comment><USER27> Never go up against a guy named Simon Tam.

</comment><comment><USER28> Perfect outcome. In the USA you're free to name your band any stupid, offensive thing you want... and just as free to make no money selling zero albums because you offended everyone.

<comment><USER29> You ever hear a black man call another black man nigger? This band made up of Asian people wanted to name their band "The Slants."

<comment><USER30> Constitutionally irrelevant, as the justices are well aware.

</comment></comment></comment><comment><USER31> The Butthole Surfers were arguably more well known than The Slants. I'm reasonably sure that the name was a homophobic slur. They appear to have had a trademark back in the day, since expired/abandoned.

[https://trademarks.justia.com/758/05/butthole- surfers-758053...](https://trademarks.justia.com/758/05/butthole- surfers-75805395.html)</comment>


Did you know that Oracle owns the trademark to JavaScript? - <AUTHOR> https://dev.to/theoutlander/oracle-owns-the-trademark-to-javascript-1fil <comment><USER2> Where do you think the "Java" part of "Javascript" comes from?</comment>


DutuPHP: A unified, object oriented API for PDO and mysqli - <AUTHOR> https://github.com/tafadzwagonera/dutuphp/blob/master/README.rst#dutuphp

<comment><USER2> Why is there count() and rowCount()?

Why does where() only accept a string? This means the dev has to build their own where clause, and means they can't use prepared statement placeholders in the where clause.

On a less db specific point, why are you not writing namespaced code?</comment>


Theft, the TSA, and Blind Faith - <AUTHOR> http://pauldeas.com/pauls-random-writings/234

<comment><USER2> I had a similar experience with some cologne. The TSA agent read the label and claimed the amount was 0.5 oz over the allowed limit (despite me having used it several times and it almost certainly being within legal bounds) and said I would have to get my bag checked in. She made a remark about how expensive it probably was, zipped up my bag, and even escorted me to the bag check-in area. When I was passing through the scanners this time, that same women was nowhere to be seen.

I thought nothing of it at the time, but when I arrived at my destination, my cologne was gone. The agent had never returned it to the bag. What frustrated me the most was my inability to do anything about it.

</comment><comment><USER3> [Spoiler Alert]

Wow, unexpected ending. Kudos to the person that returned it. I'd be curious to see some follow-up on this. If the buyer could describe the seller to the TSA, maybe they could identify him; after all there are only so many people working at one airport. This is, of course, assuming that the seller was the thief and not an accomplice.

<comment><USER4> TSA tends to protect it's employees allowing them to get away with almost anything.

They are really on a power trip. And they are in a position where if you resist you will loose lots of money. Its brilliant and fucking evil.

</comment></comment><comment><USER5> This article keeps saying that the TSA stole the machine. That's possible, but why not any of the other people who have control of the luggage? Why not baggage handlers?

Also, there's a whole bunch of other searches turning up before you get "TSA Theft", and there's not much left that "TSA th" could be. "TSA Thatching"?

<comment><USER6> Well, "TSA threat level", which was #3 on the list.

</comment></comment><comment><USER7> Checking a laptop in your luggage? Forget being stolen, it seems like a great way to get your laptop broken.

</comment><comment><USER8> This is why I won't buy anything from Craigslist unless they have the original receipt. I keep all my receipts/warranty information for electronic devices just in case I need to sell it. The buyer also always has my name and address/phone number just in case issues arise. I ask for the buyer's driver's license as well when exchanging information. When traveling, always keep expensive items with you at all times with a carry-on bag. Always recheck your bag when searched to make sure the agent doesn't steal it. I am kind of baffled as to the shock the writer experienced when he had his item stolen. Unless you live in a country like Canada, where whole neighborhoods don't even lock their door, this unfortunately happens all the time in the states.</comment>


Chemists thrilled by speedy atomic structures - <AUTHOR> https://www.nature.com/articles/d41586-018-07213-3 <comment><USER2> Good commentary by a chemist here that should be understandable to non- chemists with some scientific background:

[http://blogs.sciencemag.org/pipeline/archives/2018/10/18/sma...](http://blogs.sciencemag.org/pipeline/archives/2018/10/18/small- molecule-structures-a-new-world)

It's interesting that both these new techniques and recent antecedents rely on a lot of computing power as well as new concepts and instruments. Cheap, powerful computing is the so-common-it's-invisible enabler for a lot of analytical techniques.

<comment> dan-robertson I'm not sure how cheap this computing is. I suppose maybe it is cheap in comparison to the electron microscope but I would guess that a large computer (but possibly not a supercomputer) would be needed to get some of these results. I guess that's fine for universities though

<comment><USER2> According to the supplementary information in the Jones paper, they processed data using the XDS package.

[https://strucbio.biologie.uni- konstanz.de/xdswiki/index.php/...](https://strucbio.biologie.uni- konstanz.de/xdswiki/index.php/Main_Page)

Here are some XDS benchmarks:

[https://bl831.als.lbl.gov/~jamesh/benchmarks/](https://bl831.als.lbl.gov/~jamesh/benchmarks/)

It looks like XDS will easily process a data set in well under an hour on any reasonably modern multicore CPU, and within a few minutes on a modern system with 16 or more cores. According to those numbers it looks perfectly usable on a laptop.

<comment> dan-robertson Oh wow, thanks for that. I was expecting it to need a lot more work than that.

</comment></comment></comment></comment><comment><USER3> These discoveries remind me very much of this "discovery" from a few years ago that promised equally astonishing shortcuts to solving chemical structures. I hope it turns out better though. Our lab was understandably never able to replicate the Japanese group's work and how simple they described the "crystalline sponge" method to be, no matter how hard we tried.

[https://www.nature.com/articles/nature12527](https://www.nature.com/articles/nature12527)

We have plans to try these new methods also. Hope springs eternal...

</comment><comment><USER4> Small Molecular Structures: A New World - Derek Lowe

[http://blogs.sciencemag.org/pipeline/archives/2018/10/18/sma...](http://blogs.sciencemag.org/pipeline/archives/2018/10/18/small- molecule-structures-a-new-world)

On HN: [https://news.ycombinator.com/item?id=18273970](https://news.ycombinator.com/item?id=18273970)

</comment><comment><USER5> This is truly astounding stuff. A huge chunk of analytical equipment for chemistry is concerned solely with determining the answers to two questions: what is a monomolecular substance made out of (e.g. elemental composition, chemical bonds, etc.) and what is the 3D atomic structure of this substance. That includes things like mass spectrometers, infrared spectrometers, raman spectrometers, NMR machines, and on and on. Some of these machines cost hundred of thousands or millions of dollars. Much of the rest of the analytical equipment is for separating mixtures of chemicals into separate monomolecular isolates.

These new techniques won't replace all of that equipment, but they will probably become just as common. X-ray crystallography is one of those things that is not as routine as all of the stuff above. Undergraduate chemistry students use GC-MS, and IR or NMR spectrometers, they do not generally do x-ray crystallography. Because it's a ton of work and the equipment is expensive. But if these techniques work as well as they seem to then we could be seeing a new addition to the list of analytical equipment in the vast majority of chemistry labs, and the addition of a new technique for routine chemical analysis.

And that's pretty astounding when you think about it because if you can take some sample that falls out of a chromatography column and then run it through the equipment listed above _and_ this new process which provides atomic structures with small crystalline samples then you can learn basically all you need to know about a chemical within a few hours of "easy" work. That means Joe Blow amateur chemical lab can churn through tons and tons of samples and pump out structures of them like it was nothing. That means you can have a small footprint of lab equipment that you send to Mars or Ceres or the surface of a comet or what-have-you and you can investigate collected samples in situ to a degree that would have required returning them to Earth before.

It's very difficult to overstate just how transformative this innovation is going to be if it pans out at anything close to its apparent promise.

</comment><comment><USER6> This has the potential to bring affordable chemical assays into reach of the average consumer.

The nootropics community will love this, making it easy to verify the composition of the bulk powders ordered from India or China.

<comment><USER7> It looks like the technique relies on the beam from a transmission electron microscope in the 200 kV range. These voltages, in turn, require very high vacuum compared to (e.g.) a more-common scanning electron microscope that's within reach of smaller labs and serious amateurs.

The sample must be maintained at cryogenic temperatures, presumably to make it stay put at the molecular level. Last but not least, they apparently need to rotate the sample stage to keep the sample from being blasted to pieces by the electron beam.

So unfortunately, the hardware isn't going to be easily packaged into something that consumers can afford.

If I had to come up with a drug-identification device, I would probably look into low-field NMR. You aren't trying to visualize the structure, right, just figure out what elements are present in what proportions?

<comment><USER8> If you want to match chemicals against a database, particularly organic ones, the easiest thing to build would be an IR spectrometer. You get a lot of random peaks in the sub-2000 cm¯¹ that is pretty damn unique, even for fairly close analogues. It's not going to be useful to determine a compound if it's not in the database, but that's usually not what you want in a identification device for consumer use.

> You aren't trying to visualize the structure, right, just figure out what > elements are present in what proportions?

Elemental analysis is both rather easy (just burn it and measure out the CO₂/H₂O/NO₂/SO₂ + other impurities) and rather useless (a cyclohexane and a hexene both have the same chemical formula yet have very different structures and very different reactive potentials).

Inside chemical labs, NMR is the go-to method for identifying "is the compound in this jar what the label says it is?" But that's largely because every chemical lab has an NMR machine already, NMR makes all the functional groups pop out without much work, and if it's not in your database, you can still do a reasonable start on identification with just ¹H NMR. Considering the expense of NMR versus IR spectroscopy, database matching applications probably suffice with IR.

</comment></comment></comment><comment><USER9> A friend of mine showed me the chemRxiv paper and I realized that although I do research in protein biochemistry, it never occured to me that techniques other than NMR could be used for structural determination of organic molecules.

Its cool to take a look at some of the papers linked to realize that the structures are not at all what you would expect from intro level chemistry courses - an all sp2 hybridized molecule doesn't end up being perfectly planar in the crystal structure, it has a slight curvature to it ([https://onlinelibrary.wiley.com/doi/abs/10.1002/anie.2018113...](https://onlinelibrary.wiley.com/doi/abs/10.1002/anie.201811318) paywall sorry), which is probably super important to know if you are trying to design protein inhibitors for therapeutic use.

</comment><comment><USER10> Unless I misunderstand something, "a billion times 100 nanometers" would be 100 meter crystals (!) ?

<comment><USER11> Three dimensions. 1000 times larger in each dimension, so 100 micrometer crystals.

<comment><USER10> That would be it, good catch.

</comment></comment></comment><comment><USER12> Wow, this is actually an incredible breakthrough, even though it's really only a breakthrough in information sharing between discplines.

But I look forward to using this technique for quickly identifying the structure of unknown organic molecules. Just gotta wait on the hardway now I guess.</comment>


Ask HN: Contract sample to provide service to company in Egypt - <AUTHOR> We are based in Dallas Texas legally, and we just closed a deal with companies in Egypt, and we want to know how should the contract look like with them? <comment><USER2> Step 1. Ask your lawyer. Step 2. See Step 1. ;)

But seriously, congrats on your new client. I think this really does seem like something that would be best served by speaking to a lawyer specializing in contract law, and specifically with international business. I'd be willing to bet there are all kinds of factors involved.</comment>


Beauty baryons strike again - <AUTHOR> https://cerncourier.com/a/beauty-baryons-strike-again/ <comment><USER2> I find the choice to use "beauty" over the more standard "bottom" interesting. Perhaps it's because LHCb(eauty) uses it, in which case I guess my question transfers to that experiment?</comment>


New York incubator requires participants to grant IP rights - <AUTHOR> We were invited to participate in this program:
https://transitinnovation.org/challenge/covid
https://transitinnovation.org/terms-and-conditions
https://transitinnovation.org/covid-terms
The contract includes:
"7.2. Limited License to Your Intellectual Property. Although you retain ownership in your Intellectual Property, you hereby grant to us a limited license to exercise any Intellectual Property that you hold in the Submitted Technology, both patented and non-patented intellectual property, <snipped due to HN post length limit>"
The license could extend a couple of years. They can copy your hardware --as many as they want-- and use it.
Then...
"7.2.5. Sublicenseable. We are entitled to permit our contractors, consultants, and other interested parties to exercise the licensed rights on our behalf <snipped>"
Sub-licensees can copy your hardware, as many as they want.
Later...
"you hereby irrevocably agree to grant us, at a minimum, a non-exclusive, irrevocable, sublicenseable, Full-Service Use license on terms that are fair, reasonable, and non-discriminatory (so-called "FRAND" licensing terms). Such pricing shall be competitive with (or more favorable to us than) comparable third party solutions available on the market."
And...
"9.2. Permitted Use of Name and Likeness. If you become a Proof of Concept Finalist, you agree to permit the MTA to use for publicity, advertising and promotional purposes ("Publicity Purposes"): (a) your name and likeness, (b) your town or city and state, (c) Submission information, and (d) statements you make about the TTL, all without additional permission or compensation."
...no time limit.
You have to be registered to do business in NY state. If you are not it's $300 to register so you may participate.
This seems like a really odd way to put together an incubator evaluation.
Is this normal? What would you do? <comment><USER2> I haven't seen enough contracts from incubators to say what is normal, but I can make a few points:

1) If you don't like a contract, don't sign it. Tell them your problems, see how they respond. I've seen attorneys put clauses in contracts that they just expect you to fight, but try to throw them in case people are timid. Don't be. Speak up and discuss these points.

2) Don't sign a contract that has vague terms. If you are going to agree on a business relationship, then talk through the terms now. Saying you'll grant fair and reasonable terms in the future is too vague to even know what you are agreeing to, and is just asking for future legal arguments. Either be specific, or remove it from the contract.

<comment><USER3> That's impossible for most people. Imagine following through with that in daily life, or even for your business. How many contracts have we all been forced to agree to that say "we can amend these terms with no notice and it's binding"?

<comment><USER4> It's a little different between that liability waiver you might sign when you sign up for your gym, and some significant ongoing business venture you're entering into with another party. I do consultancy work from time to time, and contract negotiations are actual negotiations. If I had a client with objectionable terms in their contract, and their response was "this is standard and you need to sign this, no ifs, ands, or buts" I'd take that as a major red flag, and if they were seriously objectionable (like the above), I'd tell them to pound sand.

<comment><USER3> Those are negotiations between semi-equals still. If you had to join Nvidia's developer program, or use a commercial game engine, or take part in some other lopsided professional partnership, your negotiotaion potential is basically limited to complaining to their support in an email.

</comment></comment></comment></comment><comment><USER5> This is a misleading title and everything else under. From the site:

"How does the Transit Tech Lab work?

Applicants participate in a rigorous selection process that may include in- person presentations. At the conclusion of the application process, the MTA will select companies to participate in an 8-week accelerator to learn about the MTA and modify their technology to meet the transit system's needs. Following the accelerator, the MTA will select the most promising companies to deploy a 12-month, unpaid pilot with the transit system. The Transit Tech Lab offers companies an opportunity to demonstrate their technology in the nation's largest transit systems and receive mentorship.

Do companies receive compensation for participating in the Transit Tech Lab?

There is no compensation for participation in the Transit Tech Lab, and pilots are unpaid. Companies may apply for limited grant funding from NYSERDA."

This is not an "incubator evaluation" to anyone but the author of the comment. It's a technology evaluation for MT(S)A that is designed to not waste their time through a selection process of applicants with a defined path of application and trail.

<comment><AUTHOR> You really need to read the two contracts. One of them being an addendum related to COVID-19. That's why I provided links to everything. The only reason I had to summarize my findings is that HN limits posts to 2,000 characters...so it's hard to explore corner cases in an initial post.

For example, if we take the text you posted, we are looking at a 12 month unpaid pilot, during which you agree to grant an irrevocable (etc...) license to your IP that explicitly allows them to build, replicate and use your product without paying you a dime. Furthermore, you grant an extension of this license for 9 to 12 months (depending on how you read it) past the pilot period. And, to make it even more fun, you grant them the right to transfer this license to anyone else.

In our case the product is hardware with software and an ML/AI component. It represents a non-trivial amount of investment in both time and money --self funded. In order to participate in this program we have to be willing to watch a random entity reproduce our system and USE IT for basically two years, potentially without compensation. What do you want to bet that the market for these specific COVID-19 devices is very different 18 to 24 months from now?

And then there's the potential for them to grant our IP license to <insert large well-embedded company here> and effectively cut us completely out of the loop.

The more I read and extrapolate these terms the more they seem to stink.

</comment></comment><comment><USER6> As mentioned by other people, this is a call for proposals to initiate a pilot project ([https://transitinnovation.org/challenge/covid](https://transitinnovation.org/challenge/covid)) with various transit entities in NY state. The phrase "proof of concept" on the page refers to determining how the prototype or product would be implemented with each transit partner.

There is a demo day with judges, however this is for startups or teams that have a prototype or later stage, not for validating an idea or discerning product-market fit (which is normally where an early stage incubator or accelerator would fit). They did have an accelerator program - but the deadline for that was Dec 19 2019 ([https://transitinnovation.org/lab](https://transitinnovation.org/lab)).

As with anything legal, have your own lawyer review it prior to signing.

If you meet the criteria and have been invited to apply, contact them and set up a meeting to ask them detailed questions. Best of luck!

<comment><AUTHOR> You conveniently skipped over the part where they require you to grant an irrevocable and transferable license to your IP for up to two years with the express ability of reproducing and using this IP.

That is _not_ a trivial matter at all. For example, they could take your IP and transfer the license to company B. They could then ask company B to make 1,000 of your widgets for "testing"...which really means using. They could do so for about two years. At the end of two years you have derived zero benefit from a thousand of your widgets being manufactured and used to solve a problem, the market changes, someone circumvents what you created (maybe company B) and you find yourself filing for bankruptcy protection.

This isn't a small matter at all. If we remove this requirement your comment might be applicable. Otherwise, you are posting a comment about something this thing is not.

</comment></comment><comment><USER7> Fundamentally the tech startup scene is structurally similar to Modelling, Movie Casting and Influencer Marketing - a giant sieve to find the few diamonds while taking advantage of youthful optimism bias and a lack of experience.

Not a thought the HN crowd will love but the power differential involved guarantees exploitation.

</comment><comment><USER8> I think competitions like this exist so city governments can get cheap or free labor in exchange for a pat on the back.

And take a look at who the "judges" work for (most are from venture capital places). They're only there to see if there's any possible way to profit off any of the ideas.

<comment><USER9> It's not free. They are soliciting proposals for paid contracts.

<comment><AUTHOR> Once you grant them a license to your IP it might as well be free. This in the sense that they can transfer the license to someone else, manufacture your device, use it and you won't see a dime for it. From your perspective, the IP owner, they got your product for free. The investment in time, money, R&D and risk you put into the product produces no returns for you.

<comment><USER10> If you don't like it then don't participate. That's it.

<comment><AUTHOR> Amazing that I never thought of that. Thanks.

</comment></comment></comment></comment></comment><comment><USER11> I think this is the key point: "The COVID-19 Response Challenge calls for technologies and approaches that help to make New York's public transportation system safer, healthier and more responsive to customer and workforce needs."

The main purpose here is to deal with a pandemic. Giving IP is not common incubators, but in this situation, it's trying to push a solution out as fast as possible to deal with one of the hardest hit cities, giving you an express line to transit companies.

They probably waiver a little legal security here for speed. It does look a little shady, but I suppose trust is essential here.

</comment><comment><USER9> Seems normal. It just says that if they work with you then both you and they have the right to use what you give them. What's the problem?

And why are you calling it an incubator? It looks like a Call For Proposals for business propositions.

> limited license to exercise any Intellectual Property that you hold in the > Submitted Technology

What's the "limit"? What's the "submitted technology"?

Why do you think they can "copy your hardware"? What hardware?

<comment><AUTHOR> > And why are you calling it an incubator?

It's terminology they used during conversations. On the site they also call it "accelerator".

Don't focus on semantics. As is the case for patents, where the blah-blah doesn't matter, only the claims matter, the only thing that matters here is the contract you sign. We could call this thing "A trip to Disneyland" and still the contract terms would rule the relationship.

<comment><USER12> > Don't focus on semantics

Semantics is the meaning of what you say. It isn't some subordinate type of communication; it is fundamental to communication. If we don't focus on semantics, we don't focus on the meaning of what you said, and we aren't able to judge whether or not what you've said is true.

You used a word, presumably to make a factual statement about a thing. We need to know why you think the word applies given the context in order to know what you're trying to communicate.

If you don't want to communicate with people, you're free not to. But you did try to communicate with people, so don't be surprised when they ask you to clarify what you said.

<comment><AUTHOR> It's about the contract, not what you choose to call the thing. Sorry if I offended you. We could call it "Mickey Mouse Playhouse" and it would still not matter. The contract is the only important language here. If you'd like to read and comment on that (links I provided in my post) I am would be very interested in your opinion. I don't care about what the program is called...because in court the contract is what will protect you or hurt you.

And, yes, the semantics part is deriving a meaning that does not exist or is irrelevant from my use of the term "incubator" (which, as I explained, the contract authors used with me during email conversations).

It's about the contract.

</comment></comment></comment></comment><comment><USER13> The entire startup ecosystem is exploitative by design. It's a dream of exiting big that sells. Few very few do exit big. Others provide cheap labour and generate lots of intellectual property for virtually no compensation.

</comment><comment><USER14> Just don't sign.</comment>


Quantlib: Library for valuation and risk algorithms - <AUTHOR> https://github.com/MikaelUmaN/quantlib <comment><USER2> Some more documentation would be nice to catch the user's attention.

I gave it an overlook and while it seems it can be interesting I really don't have the time to go digging around.

An expanded readme would be very useful.</comment>


CLion, the new C/C++ IDE from JetBrains - <AUTHOR> http://www.jetbrains.com/clion/ <comment><USER2> I have to say, I'm a big fan of JetBrains products. I use PyCharm pretty much every day and love it.

The _only_ thing that I am not a big fan of though is having to install Java to run any of their IDEs. I'm not a Java developer, and have no need to install it on my system, so having to install it just to use my IDE is a bit of a pain. Small price to pay I guess for an otherwise great product.

Congrats to the team on another great-looking IDE.

<comment><USER3> I dislike dealing with the JVM as much as all the non-java programmers but this is trivial on Mac OS X + Linux and is what allows JetBrains to launch on virtually every platform from day 1.

On OSX the JRE installs on demand and requires very little from the user other than clicking OK and a password. On Linux package managers are there for you. In practice, I'd rather not have Java if I don't need it but it's fairly painless to get setup for this sort of thing.

Sidenote: JetBrains makes a great IDE, I always hear python programmers praising pycharm and java programmers praising intellij.

<comment><USER4> I seriously don't understand the "I hate Java" meme. My job and hobby languages are all JVM, front-end notwithstanding, but I cannot get a firm grasp on where the hate is coming from. This is about as sensible as me saying "I hate Python" or "I hate Ruby" so I will avoid installing it on my machine. It's just a language and a runtime.

If you don't like writing it or working in it, then sure, we all have opinions on what makes a language good. Not wanting to install a piece of software because it runs applications written in that language just strikes me as a bit silly.

Maybe I just have Stockholm Syndrome after all of these years.

<comment><USER5> Why so many people hate Java ? Let's start with the fact that it installs an auto-update system that tries everthing it can to trick you into installing adware (ask-bar).

<comment><USER6> in addition to aardvark179's tip of installing the JDK to not get the sponsor message, there's also a well hidden option in Java's Control Panel to prevent them from asking you to install the sponsor:

[http://i.imgur.com/buSi4lx.png](http://i.imgur.com/buSi4lx.png)

<comment><USER7> What version are you using? I don't have that option in 1.7.0_60

</comment></comment></comment></comment></comment></comment><comment><USER8> I don't want an IDE. I want an IDE service. Something like GoCode for Go or Omnisharp for C#. IDE's miss the point. What a programmer edits code in becomes more and more personalized as time goes on. An IDE can never hope reach the level of customization we crave. But a service that our editor of choice can consume? That is where the future is at.

When JetBrains releases an IDE as a service then I'll be excited.

I do admit that of all the IDE's I've used IntelliJ was definitely the least annoying. But it still doesn't hold a candle to Emacs in Evil Mode for me.

<comment><USER9> > IDE's miss the point.

No, because IDE are more than just coding.

They offer an integration of services that one usually requires in large scale projects.

I want:

\- semantic refactoring

\- background compilation as I type

\- static analysis

\- integration with bug tracking software and source control

\- visual debugging of data structures, threads

\- ability to change code during debbuging sessions

\- navigation of binary artifacts

\- debugging unit tests

\- semantic code navigation

\- GUI designers

\- XML build tools

\- visual navigation of databases

\- UML dual way generation

\- ...

And above all, avoid trying to make Emacs or VIM do half of these features, every time I install them.

<comment><USER10> zaphar's point, and I agree with him, is that most of the features you mention should be offered as services that can be used by whatever UI suits your fancy. It is a shame to have to switch to shallow editing tools to be able to benefit from all this machinery.

<comment><USER9> Did you miss the visual part?

<comment><USER10> did you miss the "most" part?

<comment><USER9> No I did not.

A great part of an IDE worflow is the visual experience. Having some kind of service, while forcing each client application to create their own UIs, kind of beats the purpose.

This is why on UNIX world the developer experience feels half-baked to those of us that could step a bit into the world as imagined by Xerox PARC.

<comment><USER8> It's a great part of the workflow for you. For me it's constant visual interruption of flow state.

Nothing about having a service prevents offering that visual experience. IntelliJ/Eclipse the IDE can still exist while consuming the same backend that my Emacs consumes. You get your visual experience that helps you achieve flow state. I get my highly configurable/optimized editor that helps me achieve flow state.

win/win

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> This looks really interesting, glad to see some new development in the area of C++ IDEs.

That said, it's disappointing that they have explicitly tied this into CMake. This limits it's usefulness / ease of adoption for anybody working on a larger project with some other build process. Hopefully more generic support gets added as this matures out of EAP.

<comment><USER12> As for the first 1.0 release, we'll go with CMake. After that we have big plans: [http://youtrack.jetbrains.com/issue/CPP-274](http://youtrack.jetbrains.com/issue/CPP-274)

<comment><USER11> Awesome! I certainly get wanting to keep the feature set more limited while you gather feedback. I look forward to trying this out at some point in the future.

</comment></comment></comment><comment><USER13> I wonder why they took GDB instead of LLDB, which was designed specifically to be nicely integratable with IDEs.

other than that, CMake is ok for a start, but some kind of support for good- old makefiles will still be needed. most of the projects won't be bothered to switch to CMake just to be compatible with IDE

<comment><USER12> We are planing LLDB integration: [http://youtrack.jetbrains.com/issue/CPP-359](http://youtrack.jetbrains.com/issue/CPP-359)

As for the other build-systems: [http://youtrack.jetbrains.com/issue/CPP-274](http://youtrack.jetbrains.com/issue/CPP-274)

</comment></comment><comment><USER14> I'm honestly not sure what it does that QtCreator doesn't (for free!). Especially since I'm not particularly fond of CMake.

Congrats, thought. C/C++ could use more powerful and cross platform IDEs.

<comment><USER9> Thankfully thanks to native code resurgence and also Clang's work, it is changing.

IBM had a version of Visual Age for C++ that tried to offer Smalltalk like developer experience, but it used lots of memory back then, and it failed to get enough customers.

There was also another company selling a similar product, that used to sell Lisp Machine software, but I don't recall the name any longer.

C++ Builder is also quite good, but thanks to Borland/Inprise/Embarcadero mismanagement gets ignored outside big enterprise projects.

Currently QtCreator refactoring seems to be quite limited still.

<comment><USER15> > There was also another company selling a similar product, that used to sell > Lisp Machine software, but I don't recall the name any longer.

Are you thinking of Lucid and their "Energize" environment? If you're interested, Richard Gabriel (founder of Lucid) published a set of essays about the failure of Lucid. You can get them here (linked from the author's site): [http://dreamsongs.com/Files/PatternsOfSoftware.pdf](http://dreamsongs.com/Files/PatternsOfSoftware.pdf) The section on Lucid is called "Into the Ground".

<comment><USER9> Yes, that is it! Thanks.

</comment></comment></comment></comment><comment><USER16> This is great...I am already a subscriber for most of their product they just found a new way for me to give them more money.

I would love to see them implementing a C# (Mono/.Net) IDE for Linux and Mac. Monodevelop/Xamarin Studio is ok, but I love the power and flexibility of intellij idea.

<comment><USER17> Given their investment in ReSharper, and that almost everyone who uses .NET is using VS, I would be surprised if they think it's worth their while.

Having said that, I wouldn't have expected them to put out AppCode, either but maybe it's because Xcode sucks _so amazingly much_ whereas it seems everyone sings the praises of VS.

<comment><USER16> I agree, but I am also waiting to see if they are brave enough to do the same thing they did with AppCode but with C#.

</comment></comment></comment><comment><USER18> Interesting, they came up with ReSharper for C++. I wander how that compares to Visual Assist.

<comment><USER19> Compared to VAX, R# is aiming at 100% code fidelity. This means not skipping on macros and the like when performing analysis.

</comment></comment><comment> squeaky-clean This is really exciting to me, I've been waiting for this since their update in February And I just picked up C++ again last night after a long break from it. Perfect timing! I was already missing that Alt+Enter functionality.

Apparently Resharper for C++ has been in public EAP for a little while already (first time I've heard of it). I'm definitely going to try both, but does anyone know the differences? It seems like CLion is more mature that Resharper for C++?

Edit: Does anyone know of a good way to convert a Visual Studio solution to cmake? The only thing I use C++ for anymore is VST plugin development, which is pretty Windows-centric, and everyone uses Visual Studio.

</comment><comment><USER20> Ah, so not a vaporware, it seems! Great to hear and congratulations to JetBrains.

Caveat: apparently published under an "Early Access Program" as of now, where _" EAP build doesn't require any license and can be used freely for 60 days."_, and _" Please note that the quality of EAP versions may at times be way below even usual beta standards."_

Now, my most important question, that I couldn't find answer for on the pages, is: does it provide "Find all references", and one that would correctly resolve references in advanced templates? (i.e., better than Eclipse CDT's)

<comment><USER21> It definitely provides "Find all references" \- as to how well it'll work in the presence of templates, that's anyone's guess. But I'd definitely bet it's better than CDT's, or will be soon.

<comment><USER20> Awesome! And I confirm it does provide from looking through bug reports. As to whether better, I'd be wary to any claims, but I think I might give it a try!

edit: argh, yes, now I see that it's mentioned in the original blogpost; haven't read it to the end :/ _this- >facepalm();_

</comment></comment></comment><comment><USER22> Great news~

Only minor disappointment for me was that you can only use it on windows with gcc via msys, and you have to struggle through that install yourself. Given that there's a build of clang* out there for msys already that would have been nice to support... but I guess it's still EAP.

* [http://sourceforge.net/projects/mingw-w64/files/Toolchains%2...](http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/clang-3.2-release/)

<comment><USER23> Try these one-click installers; the experience is much better.

mingw-builds to install gcc:

[http://sourceforge.net/projects/mingwbuilds/](http://sourceforge.net/projects/mingwbuilds/)

msys2 to install the rest of the build environment:

[http://msys2.github.io/](http://msys2.github.io/)

(as well as a growing number of packages, managed with a port of pacman from Arch)

</comment></comment><comment><USER24> i see that JetBrains people are in this thread. Is there an "everything" license? I can justify PyCharm, and perhaps CLion; but if the (combined) price was right I'd also get IDEA.

For the majority of programming languages/environments (e.g., IDEA) I suspect the community edition will be enough for me. But I would be happier if I could pay a reasonable price and get all JetBrains products in one install.

</comment><comment><USER25> This is timely for me. I'm still new to C++ and have been using vim so far. I'm having trouble figuring out a way to easily refactor C++ code (e.g. renaming things across multiple files). In Python there are vim plugins which do a good job of this, but I haven't found any good plugins for C++ refactoring.

It might be worth learning a new environment if it makes this easier.

</comment><comment><USER26> I had a look at the video and it really seams nice, but for me the cost (learning yet another tool, integrating it into your workflow, dependance on yet another big-size software project) is too high.

The fancy stuff they show you are in my opinion just short-comings of C++ [activate flame-war prevention system] or not THAT important in development. E.g.

\- implementing getters/setters: just make the thing public, the whole private/public bullshit is too shallow

\- implementing methods: inheritance is normally used with caution and is just a small part of your application (e.g. a core that uses it); you will think about getting this abstraction right (your inheritance tree) and the time it needs typing the text to implement the methods is often small in comparison to the thinking over inheritance.

\- completion: IMHO there are different modes you are in, while coding: (0) prototyping (researching the problem, reading API documentation) and (1) implementing a robust solution; In the first case, again, the time it takes you is more constrained by the thinking you do, and in the second case you probably know the API and important functions already (from the previous step) so the auto-complete is not needed anymore.

The coolest thing is the renaming which really might help you tackle one of the hardest CS things (naming things). Furthermore I would not use the Shape example as it is too far fetched from reality. It's like the "let's implement fibonacci numbers" in the FP world. And how do they manage "Makefile" only projects?

<comment><USER22> Sounds like you've never used a jet brains product before. Seriously, it's worth a download just to play with even if you only do it for ten minutes and then throw it away.

You may be surprised at how much of a productivity boost it is (and yes, intelliJ can be slow; but it's nothing like as rubbish as visual studio).

<comment><USER2> I use PyCharm quite a bit, and I find it great. To me though slowness is a big issue. I often switch back and forth to vim, and occasionally find the slowness of pycharm quite jarring. Had I not been using vim, perhaps I would not have noticed, but it does have quite an impact at first.

Their autocomplete is second to none, however. And once that has parsed the codebase it is lightning fast. Definitely recommend giving it a try.

<comment><USER27> I was suffering slowness in PHPStorm, but I've disabled all of the plugins that I wasn't using (mostly things like support for frameworks I don't use) and it's now much more responsive.

</comment></comment></comment></comment><comment><USER28> What project types are possible to add? I'd like to work on projects that doesn't have, say, a XCodeProj directory or CMakeLists.txt. Something like a Makefile would suffice. Is this technically impossible to do? Sorry in advance for my ignorance. (By the way, I love PyCharm).

<comment><USER12> For now only CMake is supported. After 1.0 release we'll consider more: [http://youtrack.jetbrains.com/issue/CPP-274](http://youtrack.jetbrains.com/issue/CPP-274)

</comment></comment><comment><USER29> I'd gladly queue around the block to get mine! Too bad it's somewhere in Central Europe.

More seriously, I have made my employers buy most of their products over the years, and when I have no job I pay with my own money for their products to do personal stuff.

</comment><comment><USER30> This fails to launch with the 1.8.0_20 JRE installed on Yosemite (the only supported version, now that Apple Java 1.6 is gone). Fails with "No matching VM found." Anyone from JetBrains: how does this work with newer Java releases on OS X?

<comment><USER31> I had this problem with PyCharm. The solution was to edit Info.plist inside the executable pseudo-dir, and change the property inside JVMVersion to 1.8 from 1.6. This appeared to work totally fine for me w/ java 1.8 and osx 10.9.

</comment></comment><comment><USER32> Looks promising, but disappointing it only supports the (more or less abandoned) official MinGW install [1].

[1]: [http://youtrack.jetbrains.com/issue/CPP-668](http://youtrack.jetbrains.com/issue/CPP-668)

</comment><comment><USER33> This is really great! One of the interesting things to see is how well it will work with templates.

At any rate, given how happy I am with IntelliJ, I'll definitely buy it (if it won't be part of IntelliJ Ultimate).

</comment><comment><USER34> Will this become the jetbrains product that also handles golang?

<comment><USER19> There are no such plans, at least for the time being.

</comment></comment><comment><USER18> Didn't they already have some kind of C++ IDE before? AppCode maybe - but that was OSX only I think.

<comment><USER35> Yeah, I've been using AppCode for C++ on OS X for a while, and switched to CLion a week or so ago. CLion doesn't provide much more on OS X other than native support for CMake projects, but unlike AppCode I can use it on Linux as well.

<comment><USER18> As I remember AppCode is a native (non-java) app, right? CLion requires Java/JDK which is a huge deal breaker for me, for things like IDE.

<comment><USER36> Curious why the requiring a Java runtime env for the IDE is a deal breaker?

<comment><USER18> No matter how time passes and how powerful desktop I use - java based software are just slow and bloat (especially IDEs). Even for some Java related work, I preferred to use JCreator (which is the only Java IDE purely written in C++ I believe).

<comment><USER36> I would say that's more down to IDE bloat, and nothing to do with Java. IDEs are often slow because they end up do huge amounts of indexing/static analysis, and/or have lots of plugins activated.

<comment><USER18> Well, I'm a heavy IDE user. On Linux I was on KDevelop (and now Qt Creator looks nice as well), on Windows mostly MSVC. I can't imagine working productively in vim and similar environments. But I still find Java based software/IDEs to be significantly slower and bloatware.

</comment></comment></comment></comment></comment></comment></comment><comment><USER37> its a shame this doesn't solve the real problem with lack of cross platform ide - which is targetting iOS or Android. the only reason i ever leave visual studio...

</comment><comment><USER9> Urray! It is finally here.

Looking forward to the Android Studio integration.

<comment><USER38> I guess the AS team was waiting for this to get real NDK support on Android Studio.

<comment><USER9> Yes that is their standard answer.

When it happens and Gradle gets fixed, then I can finally ditch Eclipse for my Android hobby development (mostly NDK based).

</comment></comment></comment><comment><USER39> Hopefully a JetBrains C# IDE is also on the way, then we can finally be rid of the pig in lipstick!

</comment><comment><USER40> is not possible to create a blank or c project?

Or I'm blind :)

<comment><USER12> Not now. Create a .cpp one and then rename file to .c, for example. We are planning more project- and file- templates in future.

</comment></comment><comment><USER41> Excellent, I have been waiting for this since it was announced.

Now I just wish there was an easy way to get it working with chromium. I can dream right?</comment>


Sacked Google worker awarded €110,000 for unfair dismissal - <AUTHOR> http://www.irishtimes.com/news/ireland/irish-news/sacked-google-worker-awarded-110-000-for-unfair-dismissal-1.1802900

<comment><USER2> This is actually pretty big. If I'm interpreting this correctly, Google arbitrarily stack ranked employees then dropped the lowest ranked one. Courts thought that process was unfair, opening up the door for every single ex- Googler in Ireland.

I'd love to have a protections like this in the US. I've had the same thing happen to me at a large company. Political ranking rather than performance leads to some incredibly insular work places.

<comment><USER3> It never feels like it at the time, but you're better off winding up at a workplace that values your contributions over your political connections.

<comment><USER4> I honestly have not seen a company larger than ~25 people where that was true. Can you give an example?

<comment><USER5> Valve? :)

<comment><USER6> I've heard tale that because of the lack of formal structure at Valve, you need political connections to actually get anything done.

Perhaps even more so than places with a formal structure.

<comment><USER7> It's quite likely that some kind of hidden structure emerged.

However, could you explain what you mean with 'political' in this context? Because 'political connections', in my mind, also includes reputation and knowledge of competence. And that doesn't seem like a bad thing.

<comment><USER6> Things that would normally qualify as "soft power", eg, being friends with the right people, trading favors, reputation management, etc.

Even the example you give requires reputation management, as opposed to merely raising a good technical argument at the time (as a new person on the staff).

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The article is very vague on the actual specifics of this termination, and I don't claim to know any more details. However, to at least play devil's advocate to this one sided story, what incentive does Google have to fire someone "arbitrarily" if they have been performing satisfactorily, especially considering that Google has been on a continuous hiring spree for a while? Doesn't it seem plausible that the said employee wasn't doing a great job in the first place?

If Google fired the lowest stack ranked member in each team every year, we would have heard about 100s of stories or lawsuits by now. I don't know if Google is clean in this particular case, but something smells fishy from the story as it is currently portrayed in this article.

<comment><USER9> Jack Welch popularized this decades ago, where every year he would force departments to cull 5-10% of their employees. He stated that this was well- received for the first few years, but after that it got harder, because managers were starting to let go people who were actually decent. But Welch insisted on this because it kept things from stagnating, as well as keeping open reqs when you found very good people. He also said that managers would start to try to game the system where they would hire poorly performing people just so that they could be culled.

I think there is some value to occasionally culling your worst performers, but having it as a practice every year the way Welch did, and presumably Google does, makes it tough on everyone because it could lead to situations where good but not outstanding employees are let go for no apparently reason.

</comment></comment><comment><USER10> Basically with stack ranking, if I see a colleague doing well, that's bad for me?

Sounds horrible.

<comment><AUTHOR> There was an interesting article about Microsoft's use of a similar mechanism written by one of their developers. He wrote that it encouraged people to seek out incompetent teams to work with as within these teams they were guaranteed to shine. Thus, clever people did not want to work with clever people, as it would reflect poorly on their evaluations, regardless of the team's actual performance. As I understand it, Microsoft have dropped the use of these mechanisms, for this and other reasons.

<comment><USER10> More fundamentally, what led to such a system in the first place?

"People are fundamentally lazy and we need to do X to make them work"

vs.

"People are fundamentally awesome and will work hard if we can remove obstacles and demotivators."

<comment><USER11> You just described this:

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

<comment><USER10> Exactly, thanks!

</comment></comment></comment></comment></comment><comment><USER12> _Because of this, she said staff were ranked from one to five and someone at Google always had to get a low score "of 2.9", so the unit could match the bell curve. She said senior staff "calibrated" the ratings supplied by line managers to ensure conformity with the template and these calibrations could reduce a line manager's assessment of an employee, in effect giving them the poisoned score of less than three._

Being from Ireland myself, it amazes me that Americans tolerate stack ranking, grading on a curve, and t-scores - tools whose statistical utility has been obviated by the abandonment of all other contexts.

<comment><AUTHOR> I'm not sure how much it is a case of Americans tolerating it, rather than Americans lacking decent labour legislation to challenge this sort of nonsense. Luckily in Ireland we have pretty good labour law that gives us better protection than our colleagues in the US.

<comment><USER13> I think by labor law you mean socialism, maybe communism.

<comment><AUTHOR> No, I don't. I mean laws governing the relationship between workers and employees. [http://en.wikipedia.org/wiki/Labour_law](http://en.wikipedia.org/wiki/Labour_law) Do you think that placing legal reins on employers' ability to do whatever they want with their employees is akin to socialism?

<comment><USER13> I had hoped that adding communism made the intention of my maybe too subtle post more obvious.

<comment><USER14> Regardless of whether you're mocking the American Political Right or you're a member, the post is at best a weak firebrand. I still don't think I understand what were you attempting to add to the discussion.

</comment></comment></comment></comment></comment></comment><comment><USER15> When I worked for a consultancy in about my second year I got a great review. A few days later my manager called me into a meeting and apologised and said the grading had to be reviewed as the country manager wanted it to be lowered. This person didn't know me and didn't know what I was doing. And so it was lowered. This did affect my pay rise I believe, that was all. It did annoy the hell out of me at the time though.

I think my manager made a mistake in letting me know the rating before someone who didn't know me approved it. This probably happens a lot, ratings getting downgraded, and people don't know.

</comment><comment><USER16> Interesting. I was unaware that Google used stacked rankings.

<comment><USER17> They really don't (at least for performance). The article gets several things wrong. For example, the purpose of calibration is not to stack rank, but to ensure consistency (IE 3.5 means the same thing across different orgs), etc. Managers don't sit in a room and try to force fit a curve.

</comment></comment><comment><USER18> More details in an earlier article [http://www.independent.ie/irish- news/courts/sacked-google-ma...](http://www.independent.ie/irish- news/courts/sacked-google-manager-got-30pc-pay-rise-previous-year-tribunal- told-29394243.html)

</comment><comment><USER19> Another article on stack ranking system? We get it. Stack ranking is evil. What more could we expect from a horrible company when the best thing that could happen is that they fail. We hateses nasty lying Mic...

Nevermind sorry gollum gollum.

<comment><USER20> An article that makes a potentially credible claim---testimony under oath, I presume, that a judge found credible---that Google's acknowledged stack ranking system is now being used to fire people is a very big thing.</comment></comment>


BuiltWith, perhaps one of Australia's most profitable companies, has zero staff - <AUTHOR> http://www.startupdaily.net/2015/09/builtwith-is-perhaps-one-of-australias-most-profitable-online-companies-and-has-zero-staff/ <comment><USER2> Absurd title, but great lifestyle business. At the numbers stated in the article you get the following annualized revenues:

2000 customers: $12.4M

2500 customers: $15.5M

3000 customers: $18.6M

Assuming that margins are pretty good, that's a nice cashflow machine.

</comment><comment><USER3> I made a site that does something similar:

[https://packageindex.com/#!/](https://packageindex.com/#!/)

</comment><comment><USER4> Ridiculous title.

<comment><USER5> Right, I thought that maybe BuiltWith now runs fully automated somehow and the founder doesn't have to interact with his tool in any way while it silently categorizes the internet.

>Given the fact that the platform has over 500,000 total users a month and around 2 million page views, and services between 2,000 and 3,000 paying customers, it's amazing that the team behind BuiltWith is not bigger. Other than Brewer himself, who codes and manages the entire site, there's Andrew Rogers, who came on board early as a cofounder but does not work in the business, and a contractor based in the UK that produces content each week for the BuiltWith blog.

So... Contractors aren't staff, according to StartupDaily.</comment></comment>


'Renewables plus hydrogen' – almost all that we need - <AUTHOR> https://www.carboncommentary.com/blog/2020/6/17/renewables-plus-hydrogen-almost-all-that-we-need <comment><AUTHOR> "The purpose of this note is to provide basic details of the major large-scale experiments and commercial projects in Europe and elsewhere that demonstrate that hydrogen can fully complement green electricity and will provide the energy source for almost all activities that cannot be electrified. I write because I think that the development of a 'renewables plus hydrogen' economy should be the policy priority for the UK and other countries."

<comment><USER2> No mention of fusion :/

</comment></comment><comment><USER3> Re cement: you can turn cement CO2 NEGATIVE if you use Magnesium Hydroxide to make it which in turn can be produced from sea water while you electrolyse hydrogen.</comment>


Paytokens are powered by Jetcoin - <AUTHOR> https://github.com/paytokens-beta/paytokensd

<comment><USER2> flagged, please don't spam

<comment><AUTHOR> We are not spamming nor spammers.</comment></comment>


Prolonged Meat Diets with a Study of Kidney Function and Ketosis [pdf] - barry-cotter http://www.jbc.org/content/87/3/651.full.pdf <comment><AUTHOR> (1930)</comment>


IEEE Standard Glossary of Software Engineering Terminology (1990) [pdf] - <AUTHOR> http://www.mit.jyu.fi/ope/kurssit/TIES462/Materiaalit/IEEE_SoftwareEngGlossary.pdf

<comment><USER2> This document is superseded by another: "Systems and software engineering -- Vocabulary," ISO/IEC/IEEE 24765:2010(E) , vol., no., pp.1,418, Dec. 15 2010 doi: 10.1109/IEEESTD.2010.5733835 [http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5733...](http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5733835&isnumber=5733834)</comment>


Microsoft ports Windows 10, Linux to homegrown "E2" CPU design - <AUTHOR> https://www.theregister.co.uk/2018/06/18/microsoft_e2_edge_windows_10/ <comment><USER2> Just in case you missed it, there's an update at the bottom to the effect that work on E2 has wound down and there aren't any plans to turn it into a product:

> After publication, a spokeswoman for Microsoft got back to us with some > extra details. "E2 is currently a research project, and there are currently > no plans to productize it," she said.

> "E2 has been a research project where we did a bunch of engineering to > understand whether this type of architecture could actually run a real > stack, and we have wound down the Qualcomm partnership since the research > questions have been answered."

> As for the missing webpage, she added: "Given much of the research work has > wound down, we decided to take down the web page to minimize assumptions > that this research would be in conflict with our existing silicon partners.

> "We expect to be able to incorporate learnings from the work into our > ongoing research."

<comment><USER3> They don't want to scare the piss out of their current silicon partners. Who knows what will come of this, but I'm doubtful it's nothing.

<comment><USER4> Sort of blackmail what comes out of this. You can say to Intel, if you don't give us a nice enough discount for the current order of 100 000 Xeons for Azure, we will go back to these plans and eventually your revenue stream will dry up.

<comment><USER5> While that may be true for something that's more production ready (like an AMD or Qualcomm chip), this project seems unlikely to affect negotiations.

However, it's likely to cause panic at Intel for the long term. It may prompt Intel to move into Microsoft's territory, or partner more closely with competing OS vendors (chrome?)

</comment></comment></comment></comment><comment><USER6> I like that this architecture tackles a large problem in existing architectures, which Mike Pall put rather nicely:

> All modern and advanced compilers convert source code through various stages > and representation into an internal data-flow representation, usually a > variant of SSA. The compiler backend converts that back to an imperative > representation, i.e. machine code. That entails many complicated transforms > e.g. register allocation, instruction selection, instruction scheduling and > so on. Lots of heuristics are used to tame their NP-complete nature. That > implies missing some optimization opportunities, of course.

> OTOH a modern CPU uses super-scalar and out-of-order execution. So the first > thing it has to do, is to perform data-flow analysis on the machine code to > turn that back into an (implicit) data-flow representation! Otherwise the > CPU cannot analyze the dependencies between instructions.

> Sounds wasteful? Oh, yes, it is. Mainly due to the impedance loss between > the various stages, representations and abstractions.

[https://www.freelists.org/post/luajit/Ramblings-on- languages...](https://www.freelists.org/post/luajit/Ramblings-on-languages- and-architectures-was-Re-any-benefit-to-throwing-off-lua51-constraints)

<comment><USER7> The obvious answer is to completely to the instructions the cpu uses internally. That would mean recompiling for every cpu revision though.

<comment><USER8> That approach has (sort of) been tried before for superscalar architectures. VLIW architectures were the Next Big Thing in the early 1990s. The general idea is that the machine code explicitly told the CPU what to do with each of its execution units. It seems like a good idea. Intel released their i860 processor and waited for the cash to roll in.

The trouble was that because the machine code is pretty specific to the internal structure of the CPU every time they released a new major revision of the CPU the existing executables all had to be recompiled. All of their customers needed to get an entirely new OS, new third party software, they had to recompile all their own code, everything. This proved too much of a burden for many and popularity of the architecture suffered.

The other problem of these kinds of architectures is that they're quite inefficient at encoding code with lacks inherent parallelism. The instructions are long and most of them have to be NOPs if most of the execution units are idle - which is a lot of the time. This code bloat in turn wastes memory bandwidth and instruction cache space, making them overall not as efficient at using precious cache space as architectures with more compact instructions.

<comment><USER9> That was in the 90s though. We haven't had much "design" in CPU for 5 years. We are stuck with 4-5Ghz max, IPC seems to have its limit. And now we ran into security issues with too much clever hardware optimisation.

And it seems recompiling is relatively easy enough for servers? Where everything are in controlled environment?

<comment><USER4> > And now we ran into security issues with too much clever hardware > optimisation.

I contest "now". It seems we ran into security issues at latest with Sandy Bridge (lazy FP) but many even earlier.

</comment></comment></comment></comment></comment><comment> Digital-Citizen So Microsoft is highlighting the value of software freedom and the harm of software non-freedom: we're all granted permission to port free software (as Microsoft claims to have done with the Linux kernel, BusyBox, and more) but only Microsoft -- the proprietor -- is allowed to port Windows.

So long as we value software freedom we can take steps to defend software freedom and continue to see practical gains. But proprietary software leads us to a dead-end waiting for a willing proprietor to do something for us (and thus providing a result we cannot trust).

<comment><USER10> Microsoft is pretty open compared to competitors. It has long history of providing Windows source code to universities (I recall Win2000). It also provides debug symbols for its libraries.

Try to get source code for Apple, Amazon or Google products...

<comment><USER11> Like Darwin source code?

Granted they don't make it very easy to run, but it can be done with a HELL of a lot of effort.

</comment></comment></comment><comment><USER12> Here's the Wikiepdia page on EDGE:

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

This seems to be a fairly close descendant of the older dataflow designs that also inspired out of order computing. The problem with dataflow processors, as I understand it, was that the fact that they weren't pretending to execute instructions in order meant that they didn't provide for the precise exceptions you need for memory protection, multiplexing across threads, etc. Is there a standard EDGE solution to that?

<comment><USER13> What is interesting is that the new breed if timing attacks show that the the pretense of ordering isn't as tight as we had imagined. So maybe we might once gain prefer processors like this because the software is going to have to deal with that complexity anyway.

</comment></comment><comment><USER14> How similar is this architecture to the Mill? [https://en.wikipedia.org/wiki/Mill_architecture](https://en.wikipedia.org/wiki/Mill_architecture)

<comment><USER12> It's unrelated except to the extent that both are communicating the dependency chain to the processor through the ISA in a way other than sequential order.

</comment></comment><comment><USER15> Compiler hints for data dependencies between groups of instructions sounds very much like the mistake that sank the Itanium. What is different this time around?

<comment><USER6> That wasn't a mistake, and Itanium did just fine. Circa 2008 the fastest database servers in the world ran on Itanium.

<comment><USER16> Intel was just unlucky that AMD exists and came out with AMD64.

I believe if that wasn't the case, we would be using Itanium laptops nowadays.

<comment><USER11> I don't think they would have ever made Itanium mobile, instead we'd be stuck with that PAE nonsense, and living in 32bit world, because 'general users don't need 64bits' ...

<comment><USER17> I think Intel wanted to eventually phase out x86 and push Itanium all the way down the stack, not for technical reasons but because it was a proprietary architecture that would never have competing implementations.

<comment><USER18> You are think of Intel as having a single mind. The reality, and the reality of most large organizations, is that the ant hill is beaming with divergent and competing opinions. In particular, there were two powerful, competing camps: x86 and Itanium. The combined effect of Itanium performance not living up to promises [1] and AMD introducing a 64-bit x86 extension shifted the power balance, but it wasn't an inevitable outcome.

[1] The first iteration (I have one in the garage) was ~ 486 level fast and, sure, the final iterations were fast, but that took an AWFUL lot of silicon. The perf/transistor is terrible, even worse than x86 (which is bad).

</comment></comment></comment></comment></comment></comment><comment><USER19> > E2 uses an instruction set architecture known as explicit data graph > execution, aka EDGE which isn't to be confused with Microsoft's Edge > browser.

I chuckled at this one.

<comment><USER20> Let us give thanks that Ballmer is no longer around. He woulda made sure it was named Windows.

<comment><USER21> Or .NET

</comment></comment></comment><comment><USER22> People interested in VLIW (or EDGE, which sounds like VLIW but less strict) should also checkout the Mill architecture.

The designers claim a 10x speedup compared to existing processors. Their presentations are online on youtube, esp. the security related ones are amazing since they throw away alot of current design in x86/ARM CPUs.

<comment><USER23> They claim a 10x power / performance advantage actually, what I gather is that it's supposed to be higher performance at much lower power. It isn't out of order and so it has to wait a long time in case of last-level cache misses. But it has insane throughput when it doesn't have to wait for memory.

Most likely they'll mitigate the waiting problem by hyperthreading. GPUs do extreme hyperthreading to stay busy without any kind of out-of-order execution.

<comment><USER24> To be fair, they've addressed memory access issues, and have proposed "deferred loads" (works well: [http://people.duke.edu/~bcl15/documents/huang2016-nisc.pdf](http://people.duke.edu/~bcl15/documents/huang2016-nisc.pdf)) and other thus far unnamed techniques for mitigating it.

</comment></comment></comment><comment><USER25> I'm not a hardware expert, so I'm not sure how interesting this is here, but along the lines of MS architectures and FOSS operating systems, see also their work w eMIPS and NetBSD[0]

[0] [https://blog.netbsd.org/tnf/entry/support_for_microsoft_emip...](https://blog.netbsd.org/tnf/entry/support_for_microsoft_emips_extensible)

</comment><comment><USER26> On a related note, another interesting CPU design - [http://multiclet.com/index.php/en/support/general- technical-...](http://multiclet.com/index.php/en/support/general-technical- information)

</comment><comment><USER27> That's really good news. We need more progress in CPU design.

</comment><comment><USER28> This is written in a baby-talk style but scroll to the end, there are links to research publications.

</comment><comment><USER27> This system seems to be the same as VLIW: [https://en.wikipedia.org/wiki/Very_long_instruction_word](https://en.wikipedia.org/wiki/Very_long_instruction_word)

<comment><USER29> VLIW compilers construct a "bundle" of instructions which are to be executed simultaneously, and thus must be completely independent of each other. The VLIW compiler must further space "bundles" apart such that any use-bubbles are respected (i.e., a load won't be ready for 3 cycles, etc.).

EDGE compilers construct "blocks", each made up of many instructions which are tightly connected, and send the block to an execution cluster which will dynamically schedule each instruction within the block as it sees fit.

Communication of dependencies across blocks is more expensive. Hopefully there is enough parallelism across blocks that you can execute multiple blocks simultaneously, in addition to ILP within the block itself.

</comment></comment><comment><USER30> Sounds a lot like...the Itanic

<comment><USER31> One big problem with the Itanic was that the compilers weren't (yet) smart enough to produce good code for it. This does not seem that much of a problem here, as it seems pretty close to how compilers keep immediate representation anyway.</comment></comment>