NASA finds a large amount of water in an exoplanet's atmosphere - <AUTHOR> https://www.nasa.gov/feature/goddard/2018/nasa-finds-a-large-amount-of-water-in-an-exoplanets-atmosphere <comment><USER3> Incredibly exciting that these techniques for exoplanet spectroscopy have come so far so quickly. I have full faith that we will discover indirect chemical evidence of extraterrestrial life within the next 10 years. Once JWST [0] comes online it's going to be just a matter of time.

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

<comment><USER4> What would that indirect chemical evidence look like? Perhaps an example you have in mind? Outside of non-committal elements like Uranium or something showing up, I'm not sure what that evidence would look like?

<comment><USER5> Oxygen would be one. Due to its reactivity, free oxygen is rare, and oxygen spectra may be evidence of respiration.

<comment><USER6> Pretty sure atmospheric oxygen can be produced from weathering of silicon dioxide.

<comment><USER7> Why wouldn't it get bound up with carbon or iron or aluminum etc etc

</comment></comment></comment></comment></comment><comment><USER8> This might be a dump question but if we were to look at our planet from far away what exactly would we see?

<comment><USER9> From lightyears away, probably nothing except maybe a slight drop in the sun's output if the Earth happens to pass in front of it and a periodic wobble of the sun's location as the sun and Earth orbit the center of gravity of the sun-Earth system.

The Earth is pretty small and far from the sun compared to the kinds of exoplanets we've been able to detect, so the wobble (which might be detectable via doppler shift of light from certain elements in the sun) would be slight and probably hard to detect without some pretty sophisticated instruments.

It might be possible to detect something the size of the Earth from several light years away with a good enough telescope, but I'm not sure what the limit of that is.

<comment><USER10> If we are so small as compared to our sun, and these exoplanets may be so much larger - and we have the idea of a "habitable zone" for planets: is there a "habitable gravity" level for planet size that we should consider for harboring life?

<comment><USER11> There are actualy the limits:

[https://www.forbes.com/sites/startswithabang/2017/02/16/supe...](https://www.forbes.com/sites/startswithabang/2017/02/16/super- earths-are-common-but-incapable-of-supporting-life-like-ours/)

</comment></comment></comment></comment><comment><USER9> > In fact, the planet, known as WASP-39b, has three times as much water as > Saturn does.

Is that a lot?

<comment><USER12> That's exactly what I was wondering! It's such an odd choice to compare it to as I'm having trouble finding an exact number. This article mentions that it's a small amount of ice but not exactly helpful for a scale: [https://www.universetoday.com/15374/is-there-water-on- saturn...](https://www.universetoday.com/15374/is-there-water-on-saturn/)

<comment><USER13> So there's little water on Saturn! but wait, since Saturn is about 300 times the size of earth, and Earth's mass is just 1/4000th water, I'm still utterly confused as how much it is compared to us.

Odd choice, indeed.

<comment><USER14> Saturn is big! And it looks blue!

Must be _a lot_!

<comment><USER15> Saturn looks blue? [https://www.jpl.nasa.gov/spaceimages/details.php?id=PIA00400](https://www.jpl.nasa.gov/spaceimages/details.php?id=PIA00400)

<comment><USER16> What blows my mind is that Saturn in that image looks almost exactly like it does in the intro to Star Trek The Next Generation, which I always chalked up as bad CGI.

<comment><USER17> Consider this image is from Voyager. Cassini captured much higher resolution ones.

<comment><USER16> Higher res maybe, but it still looks amazingly fake:

[https://saturn.jpl.nasa.gov/resources/7549/?category=amateur...](https://saturn.jpl.nasa.gov/resources/7549/?category=amateur- images)

I guess what's messing with me is that it just looks so smooth, which life- long exposure to CGI has taught me to mean that it's fake.

This reminds me of what Elon Musk said about his Tesla in space: you can tell it's real because it looks so fake.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> And only 700 light years away ;) It would be nice to compare the atmospheric spectrum of WASP-39b. As well as other candidate exoplanets in habitable zones. With the baseline of our own home planet.

High resolution transmission spectrum of the Earth's atmosphere -- Seeing Earth as an exoplanet using a lunar eclipse

[https://arxiv.org/abs/1405.4780](https://arxiv.org/abs/1405.4780)

<comment><USER19> Just out of curiosity, what's the reason for looking so far out? Are we assuming by the time we would actually need to visit these planets, we've discovered some method to go faster than the speed of light? I only ask because _realistically_ , how do we expect to actually make use of these resources if it would take so long just to reach it?

<comment><USER20> The speed of light is not a speed limit on effective travel, but on observation. Imagine you build an engine that gives enough thrust to roughly produce an extra effective 1km/s of velocity each time you operate it. Even though the speed of light is 300km/s, that engine is going to operate exactly the same on the 301st operation as it did on the first operation. And, in fact, in 'real' terms if we create an engine capable of generating 1g of thrust for years at a time - we could travel 700 light years in ~12 years by thrusting for 1g forward 6 years, turning around and then thrusting for 6 years backwards.

But of course the 'catch' is that time dilation (and length contraction) kick in. And so while from the frame of reference of the ship and all its travelers only 12 years will have passed, from the frame of reference of everybody back on Earth - 700 years would have passed. What we would _observe_ is that as the ship approached the speed of light, its apparent mass would approach infinity, reaching a velocity asymptote at the speed of light.

And these values are also not linear. It's possible to travel a practically unlimited distance in the span of a single human lifetime - from the perspective of that human. 100 trillion light years would take about 62 years at 1g from the perspective of those on board our ship. There's also really really fun paradoxes available here. Imagine somebody leaves Earth towards this planet and at some point decades, or perhaps even centuries later, we develop technology that enables substantially faster travel. Our planetary settlers on their 12 year journey could arrive 12 years later to find that not only is the planet indeed colonized, but it's colonized by the descendents of Earthlings that left decades, or even centuries, after they did.

The really exciting thing here is that NASA seems to have gone silent on the EM drive after having it pass every single test they threw at it. In my opinion, this is evidence of classification which is something that would make sense. If the EM drive somehow actually works - and everything we know says it most certainly should not - that would change absolutely everything. The ability to actually start realistically considering these sort of missions would be mundane compared to other possibilities, which I'm not even going to get into as they sound, and should be, absurd. As an aside, this part on the EM drive is 100% speculation - not to be confused with everything stated above, which are direct and heavily tested (even if absurd sounding) consequences of relativity.

<comment><USER21> > The speed of light is not a speed limit on effective travel, but on > observation.

It is absolutely a limit on effective travel (if we ignore things like wormholes for a second). Conventional motion through space is bounded by _c_ for several reasons, not the least of which being that the closer you get to _c_ , the more energy it takes to make smaller and smaller changes in velocity (the object acts as though it's gaining mass the faster it goes). In fact, it's asymptotic. Accelerating a particle to _c_ would require an infinite amount of energy.

<comment><USER20> This is a common misunderstanding, and was the point of the example. A stationary observer _observing_ a particle being accelerated towards the speed of light would _observe_ that particles apparent mass begin to approach infinity as its observed velocity approached the speed of light, thus requiring an amount of energy approaching infinity to continue to accelerate it further. However, this has nothing to do with the scenario with you being that particle.

You are currently moving at near the speed of light relative to many things at this very moment, yet your mass is certainly not approaching infinity, America notwithstanding! And if you accelerated enough in the opposite direction of your relative partner to exceed the speed of light it's not like you'd suddenly start finding it impossible. No, it's a matter of observation. From the other particle's perspective it would see your mass approaching infinity and your speed would slow, but the distances you covered would remain the same due to length contraction.

A similar effect explains why, for instance, particles in CERN's reactors travel distances that should be impossible for them to travel before decaying. E.g. if the speed of light was 10m/s and a particle decays after 3 seconds then it should be impossible to see that particle travel more than 30 meters. Yet we see it travel hundreds of meters. Isn't relativity fun?

<comment><USER21> Under relativity, you can't simply add speeds like that, unfortunately (I believe this is related to the fact that the speed of light is the same in all reference frames). Here's a link that can explain it better, though: [http://curious.astro.cornell.edu/about-us/139-physics/the- th...](http://curious.astro.cornell.edu/about-us/139-physics/the-theory-of- relativity/special-relativity/1016-why-can-t-relative-velocities-add-up-to- more-than-the-speed-of-light-intermediate)

In short, you can't go faster than light in any reference frame, relative to any other observer.

Here's another source: [https://physics.stackexchange.com/questions/75501/lorentz- an...](https://physics.stackexchange.com/questions/75501/lorentz-and-galilean- transformation)

<comment><USER20> Absolutely. You are not understanding what you are reading. Let's differentiate between 'mover' and 'observer' for clarity. In reality they're completely interchangeable as being at rest relative to something moving 10m/s is the same as you moving 10m/s if we consider the other particle to be at rest.

As you accelerate more and more you will never observe yourself or anything else exceeding the speed of light. Instead what will happen is that time will begin to slow down and distances will begin to contract. If in our frame of reference a distance is 100 meters, it would begin to seem to be, for instance, 10 meters.

And the people observing you will also never see you exceed the speed of light. Instead they will see you approach it, and then start to level off asymptotically. Both views are correct. Time itself is what changes. From the perspective of the observer, time will be moving more slowly for the observed. e.g. this is why particles at CERN travel vastly greater distances than they 'should' be able to before decaying. Imagine what it would be like to experience that travel from the particle's perspective.

This is why we see our particle last much longer than it should. And if humans could live for 1500 years, this is why we would see things like our ship make it's 700 light year journey, and then beam back a message that would only hit us 1400 years later - telling us that they're safe and sound and got there in 12 years. Quite fun stuff!

Put another way, this would be the timeline of our ship in years from its perspective and from earth's perspective:

        0 earth relative = ship leaves
        0 ship relative = ship leaves

        700 earth relative = ship arrives at planet
        12 ship relative = ship arrives at planet

        1400 earth relative = message from ship on planet arrives at earth
        712 ship relative = message from ship on planet arrives at earth

One final clarification, which might be unclear from the above. The ship obviously does not magically warp through time or anything like that. If there was a clock on the planet that started at T=0 when that ship left Earth, it would read T=700 years when that ship arrived since that planet is itself also roughly at rest relative to the ship.

This is the most counter intuitive thing about relativity, and time dilation. It's not some 'trick' or matter of perspective. Time itself does literally move at different rates for different people in different scenarios, even when we're all in the same universe. Our ship pilot could make the 12 year journey back and indeed 1400 Earth years would have passed in the interim, and if was somehow able to measure the age of the other planet - 1400 years would have also passed there as well. Even though he himself had only aged 24 years.

Should we achieve the ability to reach relativistic rates of travel - <USER2> people may get their wish. Expect huge chunks of the rich to up and leave 'to the future' (from our perspective we'd just see them constantly zipping around near the speed of light... for centuries) in hopes of discovering if humanity has overcome mortality by then! Reality is much stranger than fiction.

<comment><USER22> Sure, that's all true, but you still haven't shown that anything can go faster than the speed of light. Time dilation and length contraction conspire to cheat you from doing this.

<comment><USER23> Did you read what TangoTrotFox wrote? At no point did he invoke any faster- than-light travel. He's just saying that by traveling at relativistic speeds (e.g. 0.99c <= v < 1c), time dilation / length contraction work in your favor. You can travel to systems thousands of light years away from Earth in only a few years (as perceived by you, on your spaceship), all while traveling a bit slower than light itself. Everyone left on Earth will still perceive you taking >1000 years to arrive.

<comment><USER21> Except TangoTrotFox's original statement was:

> The speed of light is not a speed limit on effective travel, but on > observation.

Which is absolutely factually false.

<comment><USER20> No, it's correct - but speaking of physics on pop forums is pointless, because of the Dunning Kruger effect.

There tend to be three groups of people:

\- Those that accept things at face value, which is quite silly. What I'm saying should challenge all intuitive notions of reality making open acceptance simply bizarre.

\- Those that reject things at face value. No better than the first and generally driven by an extremely superficial understanding of physics. As Feynman phrased it, people sipping martinis at a cocktail party and discussing relativity, "Ah yes.. how insightful. Though I think some things may indeed be inherently correct. Mmm..."

\- And those with a strong physics background already, to whom you provide no additional value to anyhow.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> Image backgrounds on plots: Just say no, kids.

</comment><comment><USER25> It takes 148.75 days to reach WASP-39b at Warp factor 9. Not bad.

</comment><comment><USER26> I wanted to talk about artificial gravity.

Since we're speaking of planets light years away. The only way for humans to get out there, is to stay in some kind of spaceship with gravity.

Floating around on the International Space Station is nice for an hour. But after that, I bet it gets boring real quick. Especially, if you need to go use the restroom, and handle liquids and solids.

So, having artificial gravity is nice. It will keep liquids down. You can drink out of a cup. Food doesn't float away. You can surgically operate safely. You can use the restroom normally.

But, you would need a very large structure, to spin around, in order to not get the effects of Coriolis Force. And since it is currently difficult to build such a large structure in space, then I wondered if we could cheat.

The method is to apply a constant force, but at an angle. This angle will allow the space craft to simulate a rotation, like it is being spun around with an invisible tether. This angular force will push all the occupants inside, to feel 1 G of gravity. And after one full rotation, then the space craft will return to the origin point.

So, the idea is to apply an angular force, to cause a space craft to rotate in place, to simulate artificial gravity.

This is similar to the idea of constantly accelerating a spacecraft, so that the occupants feel 1 G of gravity. But that acceleration would shoot the occupants straight into deep space, which is not what we want.

Instead, this method would be like simulating a Ring World, but instead of rotating the space station, it would use constant angular force to cause the rotation, in order to simulate the artificial gravity.

I was thinking something like an electric-ion engine could be used to provide the constant thrust. It would need to be computer controlled, to automatically administer the right force, at the correct angle, at the correct time, in order to rotate and simulate the artificial gravity. And it can be powered by nuclear, or possible solar. And of course, the thrust can never be turned off, otherwise, the space craft would shoot off into deep space.

One idea I thought was to have this be in a large orbit around the earth. The other location would be at the Earth-Moon Lagrangian Point.

Any space infrastructure architects want to take a stab at this idea? Possible or not?

<comment><USER27> You should watch The Expanse, a very good TV show.

Their ships accelerate at a comfortable level to generate gravity for half of the destination, and then "flip-and-burn" by accelerating in the opposite direction at the same comfortable level to generate gravity.

<comment><USER28> That only works inside the solar system. The energy requirements to accelerate for a year are enormous. With 100% efficient engines, you would need something like a reaction mass the size of Jupiter.

On the plus side you quickly approach _c_. At constant 1g acceleration / deceleration, Andromeda is about 28 years away.

<comment><USER29> I'm assuming you mean subjective time right?

Because you can't cover 2.578 million light years in only 28 years moving at c from the reference frame of Earth.

<comment><USER23> Right, the people onboard the spaceship will only perceive 28y to have gone by. People on Earth will perceive the spaceship accelerating away for millions of years.

</comment></comment></comment></comment></comment><comment><USER10> Probes:

What is max velocity we can, with current tech, achieve for shooting a probe to a target;

Possible to build a giant rail gun in space where a falcon heavy is the payload (plus a nuke battery) and we shoot the falcon heavy out the rail gun, then at some point it's various components engage to keep it heading to target.

Also if you shoot a rocket out a rail gun, and it's clipping along, will the rocket thrust add any velocity, or should you save all that fuel to land the heavy on the remote planet?

Do rail guns behave differently in space?

<comment><USER30> The position of the Planet will not be the same when the "Projectile" will arrive. The Railgun must aim to the Destination the Planet will be. Fault tolerance will be a bigger issue than building a giant Railgun (Walmart maybe has one in stock already :P).

</comment></comment><comment><USER31> It will be cool to spot dinosaurs on these exoplanets. Whatever made it possible to create these giant creatures should be on atleast few exoplanets.

</comment><comment><USER32> Will the day ever come when astronomy is commemted on without "the likelihood of life" being attached to it?

</comment><comment><USER33> I dream of the day NASA makes Cowboy Bebop a reality.

</comment><comment><USER34> 700 light years away. We'll need to solve for human lifespan first. There's another planet about 5 light years away. It's just a matter of time.

<comment><USER35> If you build a ship that accelerates at a constant 1g towards the destination until the midway point, then decelerates at a constant 1g, due to time dilation, the people on board would experience "only" 12 years passing for a 700LY journey. People on Earth would still need to wait 1400 years for the first communication back, of course, but at least you won't have to build generation ships.

Edit: I got my numbers from [http://convertalot.com/relativistic_star_ship_calculator.htm...](http://convertalot.com/relativistic_star_ship_calculator.html)

<comment><USER36> The thing is, we aren't currently able to keep a stable acceleration of 1g.

The ship's mass will also increase relativistic-ally, as it will reach a maximum speed of ~0.9999961c, so more mass will require more force for the same acceleration.

<comment><USER37> Wouldn't the ship's mass only appear to increase to the outside observer?

</comment></comment></comment></comment><comment><USER38> Is there any way the link could be changed to the original? [https://www.nasa.gov/feature/goddard/2018/nasa-finds-a- large...](https://www.nasa.gov/feature/goddard/2018/nasa-finds-a-large-amount- of-water-in-an-exoplanets-atmosphere)

NASA > Phys.org

<comment><USER39> Sure. URL changed from [https://phys.org/news/2018-03-nasa-large-amount- exoplanet-at...](https://phys.org/news/2018-03-nasa-large-amount-exoplanet- atmosphere.html).

<comment><USER40> This is actually a step backwards in accessibility. The phys.org article could be read with any browser, text to speech, or sight assistance tools.

But the NASA.gov page is just a blank, black screen until you turn on javascript and it renders the text in.

</comment></comment></comment><comment><USER41> Planet Oregon.

</comment><comment><USER42> I wish our government spent all that money figuring out how to make seawater affordably drinkable. Interesting nonetheless.

<comment><USER43> You could have also devoted some time to that problem instead posting a comment on Hackernews.

<comment><USER42> haha touché! but i am but one man

<comment><USER43> That's true. Get a few more people together and you could have a real HN commenting team.</comment></comment></comment></comment>


Python GIL removal question - <AUTHOR> http://mail.python.org/pipermail/python-dev/2011-August/112813.html

<comment><USER2> >That is, if one processor writes to memory in a cache-line shared by another processor, they must stop whatever they are doing to synchronize the dirty cache lines with RAM. Thus, updating reference counts would flood the memory bus with traffic and be much worse than the GIL.

I dont' understand. Isn't this going to happen if you have multiple threads running even _if_ the GIL is blocking them from running? I'm not a hardware expert, but I'm not sure how constant locking would prevent cache synchronization just because they weren't truly running in parallel.

I am fairly certain that constant synchronization(lock) because of the GIL would negatively impact cache performance, especially since well designed multithreaded applications avoid locking for as long as possible.

<comment><USER3> I believe his argument is that it would reduce thrashing between the caches. With the GIL ownership of a cache line containing the reference count for any given object will only have to be transfered at most once per timeslice. If multiple threads were concurrently accessing a python object it would be ping- ponging back and forth between caches much more frequently.

EDIT: Also, "stop whatever they are doing to synchronize the dirty cache lines with RAM," is not a very good way to describe what is going on, often times you don't have to hit RAM at all, the caches just synchronize between each other. It is still pretty bad for performance though.

<comment><USER2> >I believe his argument is that it would reduce thrashing between the caches. With the GIL ownership of a cache line containing the reference count for any given object will only have to be transfered at most once per timeslice.

Ah. Makes sense.

>just synchronize between each other

Yes, but that's bad because that cache line is 'stuck' for all processors while the synchronization is occurring, if I'm not mistaken...

<comment><USER3> In general at least the two processors with the conflict will either have to block for a bit or switch to another hardware thread when write conflicts are occurring. There are lots of architecture tricks people pull to try to mitigate the impact but the reality of the matter is frequently mutating shared state (e.g. reference counts) makes it extremely difficult to have good performance with threads running in parallel.

</comment></comment></comment></comment><comment><USER4> I find it terribly annoying when the solution to a language problem is "Write an extension". It's a cop-out.

Java, .NET, various Lisps, and I'm sure other systems that I don't know off the top of my head have solved the problem of true threading.

<comment><USER5> Rubinius (in the current 2.0 betas) has removed the GIL as well. In fact, the only Ruby that still has a GIL is MRI. MacRuby, JRuby and Rubinius (as of 2.0) all have threading without a GIL.

<comment><USER4> That's very exciting. Will MRI be fixed "soon" ?

<comment><USER6> Just like CPython, its doubtful.

</comment></comment></comment></comment><comment><USER7> Can anyone shed light on where the GIL winds up hurting you?

According to this paper [1]: "Thus, in all cases, the single global lock semantics seem fundamentally compatible with both lock-based and transactional memory implementations."

[1] [http://www.usenix.org/event/hotpar09/tech/full_papers/boehm/...](http://www.usenix.org/event/hotpar09/tech/full_papers/boehm/boehm_html/)

</comment><comment><USER8> If you leave aside C-extensions and libraries, CPython is a pretty bad language for number crunching. This is just not the use-case it tries to solve. I am glad they favor simplicity over execution speed.

Removing the GIL might be useful for a faster implementation with JIT compiler though.

<comment><USER9> CPython has numpy which rocks for number crunching.

<comment><USER10> And has no GIL problems.

<comment><USER11> This is not exactly true. We can alleviate the GIL issue by releasing it inside C extensions, true, but it is still there nonetheless. Incidentally, one of the big advantage of the GIL is to make C extensions easier to write.

<comment><USER10> You can then call it The GIL Advantage ;-)

As long as you are not creating or destroying the Python objects you expect to give back to the Python side of your program, you don't have to care much about it.

</comment></comment></comment></comment></comment><comment><USER12> Reference counts could be stored separately from objects and migrated to the thread that modified it. Or several reference counts for the same object could be used. Has this been tried?

</comment><comment><USER13> _If the GIL bites you, it's most likely a warning that your program is badly written, independent of the GIL issue._

Ah, that old line again.

Translation: _"We really don't like to even think about changing this crappy design that we started with in the first place, because we can just explain ourselves out of it by coming up with suitable language goals that don't actually require concurrent access to the interpreter. Not accessing the interpreter concurrently is one of our language goals because you can do_ everything else _. So, if you think you still need to get rid of GIL then you're just a bad programmer and your programs are badly written because hey, we just defined the universe you're playing in."_

<comment><USER14> Please explain how you would sidestep the GIL, please. We've been waiting for a good solution for over a decade now. :3

</comment></comment><comment><USER15> Sounds like typical denial a la Firefox memory usage or MySQL's early lacking that have to get eaten down the line.

Not that the case isn't well argued, but to claim that GIL isn't a fundamental limitation and a bad thing is silly.

A few years from now it will be like, "Oh, yeah.. that".

<comment><USER16> He's not saying that. He's saying that the GIL isn't a limitation to certain kinds of application, the kinds that Python usually is used for. The kinds of applications where the GIL would be a limitation, Python also has another limitation: slow performance, and performance is usually the reason to run things in parallel.

With PyPy the performance will get better, and they also have a GC, so that hinder is removed. I don't really know if PyPy has a GIL, I would guess that they don't.

<comment><USER17> "With PyPy the performance will get better, and they also have a GC, so that hinder is removed. I don't really know if PyPy has a GIL, I would guess that they don't."

PyPy still has GIL:

[http://codespeak.net/pypy/dist/pypy/doc/faq.html#does- pypy-h...](http://codespeak.net/pypy/dist/pypy/doc/faq.html#does-pypy-have-a- gil-why)

For more information about it, check these sources:

Official PyPy Status Blog - <http://morepypy.blogspot.com/2008/05/threads-and- gcs.html>

Thinking about the GIL (read the whole thread, interesting stuff) - [http://mail.python.org/pipermail/pypy- dev/2011-March/006991....](http://mail.python.org/pipermail/pypy- dev/2011-March/006991.html)

<comment><USER16> Ok, the PyPy FAQ says: "Yes, PyPy has a GIL. Removing the GIL is very hard. The first problem is that our garbage collectors are not re-entrant."

Is it really necessary for the GC to be re-entrant to run the interpreter in parallel? Couldn't you have the interpreter running in parallel and then when there is a need to run the GC you have a global GC lock that prevents all threads from running - a stop the world GC. The application runs for a longer time than the GC, right? So it would be a win and a step in the right direction? I believe the early Java mark and sweep GC was like that, and then later Sun developed several different kinds of concurrent and parallel GCs.

> Official PyPy Status Blog

Oh I read that every time they write something. :) But I started reading it in late 2010 and I haven't gone back to the archives, I guess it's time to do that. Thanks for the links.

</comment></comment></comment></comment><comment><USER18> The most frustrating thing about Python is its community's complete denial about what a joke their concurrency situation is. Truth is python is not truly multi-threaded, and no, claiming that multi-process is the way to do parallel computation across the board is not a sane argument at all. It's religious zeal. My company is currently using it for web apps, and that's proving a pain (i.e. having to use proxy servers for database access to minimize connections across all the python process instances). Using python for anything more serious, like a message queuing system for example is even more prohibitive. People in charge should wake up and start taking serious steps about it. I guess PyPy is the biggest hope. Meanwhile in the JVM world..

<comment><USER9> The most frustrating thing about the ferrari community is that they are in complete denial about what a joke their affordable practical sedan story is.

<comment><USER18> Have you ever heard Guido speak about the issue? He and a number of others don't think it's one worth solving. Really.

Yea it may be a lot of work to create a new GC implementation and change the threading model, but if you want the language to progress that's the way forward.

<comment><USER19> > Have you ever heard Guido speak about the issue?

Yes.

> He and a number of others don't think it's one worth solving. Really.

Check your claims.

<http://www.artima.com/weblogs/viewpost.jsp?thread=214235> [http://docs.python.org/faq/library#can-t-we-get-rid-of- the-g...](http://docs.python.org/faq/library#can-t-we-get-rid-of-the-global- interpreter-lock)</comment></comment></comment></comment>


Hacking Google Trends for 5-yo girl with rare brain cancer - <AUTHOR> http://www.foodconsumer.org/newsite/Non-food/Disease/delaney_starcher_brain_cancer_291120090543.html <comment><AUTHOR> The site linked too is fugly, but it was the only story on Google News related to this. I actually found this story by glancing at Google Hot Trends, where this girl's name is currently #2. Just thought it was an interesting idea.</comment>


Ask HN: Further studies with maximum ROI? - <AUTHOR>

From my personal experience (MMV): You need a PhD these days for even a decent RCG/entry-level position (Google, Intel etc.) in the tech sector. Sad. Couple of years ago, if you had a Master's degree it was like "wow you have a Master's degree!" but now it's a commodity badge. Same thing is happening with the PhD badge. Now, everybody is trying to get a PhD just to secure their career (people have varied opinions on this though). I have met so many students who are doing a PhD just for the sake of hopefully landing up with a decent job offer -- and not at all for the sake of research/"fun." PhD in CS, ECE, EE etc. is popular and everyone is going after them. (I do understand that your research area may be very specific/unique)<p>Now, since everything is slowly going mobile, which areas you all feel a college student should seriously invest/focus for further studies (PhD/Masters) with a maximum possible ROI? I did my Bachelor's in CS and Math and Master's in Engineering Management and planning to do a PhD in HCI (the one with less CS-focus) or Information Management. HCI is going to be huge in the next 5-10 years IMO. <comment><USER2> Ignore the ROI. Do it with something that you are likely to want to work on. (You're in a tech field going for your masters - you'll have a decent salary/options regardless of what you focus on - it's not like this is Liberal Arts). So if you enjoy HCI then go do that.

<comment><USER3> Seconded. If you want ROI, work on an open source project that matches the work you want to do. I'll hire a high-profile civil O/S contributor before I will hire somebody with a PhD - and I work in a science shop. That should tell you something. Not everybody hires like Google does.

By all means do a PhD if that's what you want, but don't do it only because you want a tech sector job.</comment></comment>


UIkit: A lightweight and modular front-end framework - <AUTHOR> http://getuikit.com

<comment><USER2> Might I suggest a different name? UIKit is the name of the framework used for developing user interfaces on iOS, and using the same name may lead to confusion.</comment>


Neural scene representation and rendering - <AUTHOR> https://deepmind.com/blog/neural-scene-representation-and-rendering/ <comment><USER3> This work is a natural progression from a lot of other prior work in the literature... but that doesn't make the results any less impressive. The examples shown are amazingly, unbelievably good! Really GREAT WORK.

Based on a quick skim of the paper, here is my oversimplified description of how this works:

During training, an agent navigates an artificial 3D scene, observing multiple 2D snapshots of the scene, each snapshot from a different vantage point. The agent passes these snapshots to a deep net composed of two main parts: a representation-learning net and a scene-generation net. The representation- learning net takes as input the agent's observations and produces a scene representation (i.e., a lower-dimensional embedding which encodes information about the underlying scene). The scene-generation network then predicts the scene from three inputs: (1) _an arbitrary query viewpoint_ , (2) the scene representation, and (3) stochastic latent variables. The two networks are trained jointly, end-to-end, to maximize the likelihood of generating the ground-truth image that would be observed from the query viewpoint. See Figure 1 on Page 15 of the Open Access version of the paper. Obviously I'm playing loose with language and leaving out numerous important details, but this is essentially how training works, as I understand it based on a first skim.

EDIT: I replaced "somewhat obvious" with "natural," which better conveys what I actually meant to write the first time around.

<comment><USER4> I, literally just 15 minutes ago, had a chat with a friend of mine exactly about how what we are doing right now with computer vision is all based on a flawed premise (supervised 2D training set). The human brain works in 3D space (or 3D+time) and then projects all this knowledge in a 2D image.

Here I was, thinking I finally had thought of a nice PhD project and then Deepmind comes along and gets the scoop! Haha.

<comment><USER5> I don't think this is a novel idea, but it is still a great topic for a PhD. While the results in this paper look impressive, my suspicion is that the system doesn't generalize particularly well. (I suspect this from experience with similar, albeit simpler, ideas, as well as from looking at the datasets.) If you can make a system that generalizes to new environments and objects, or a system that works with real-world natural image/video data, that would be a tremendous accomplishment.

<comment><USER6> Generalization is a more fundamental problem, and (imho) should be tackled first at a more fundamental level.

For example, if you have a classifier that can recognize cats, it doesn't mean it will work for cartoon cats. You'd have to train the system all over again with cartoon cats. Instead, you want the system to learn more like humans, where only a small number of examples is necessary to make the connection between real and cartoon cats.

<comment><USER5> It is possible that the problems are related—-it may be that, to achieve human-like generalization, neural nets need to learn in a human-like environment, instead of from a folder full of images. But time will tell.

<comment><USER7> This has been said many times in different ways over the years. To achieve human-like intelligence one needs a human-like body operating in a human-like environment. It's the first of the E's in: embodied emergent extended enactive. [https://plato.stanford.edu/entries/embodied- cognition/](https://plato.stanford.edu/entries/embodied-cognition/)

</comment></comment></comment></comment></comment></comment><comment><USER8> I'm surprised people are so blown away by this. It's a cool demonstration, but for this problem you have basically infinite training data. If you can find a latent space of faces this is hardly a stretch, since you already have a fantastic notion of locality in your data (by perturbing the camera). The interesting thing is generalization, which they show in figure 3B and is... ok, I guess. It's not that surprising compared to any of the other VAE stuff people have done (see the morphing scenes, 3D face illumination / rendering and furniture stuff from 2 years ago, for instance). It's also not that surprising compared to ex. the generative scene model RL paper that came out a few months ago (with Doom and the driving game). IMO deep learning research has moved beyond "here's another set of points I can fit a curve to". It really feels like this publication was heavily driven by prestige when most of the innovative stuff was achieved by other groups 2 years ago or more.

Ex. how's this different from [https://arxiv.org/pdf/1503.03167.pdf](https://arxiv.org/pdf/1503.03167.pdf) from 2015?

<comment><USER9> I don't think the breakthrough here is generating a 3D space from 2D snapshots.

I think it's the idea that a network capable of doing that is a far, far better input to training an agent than flat images, or even the ground-truth 3D space.

</comment></comment><comment><USER10> Very cool work, deep mind wows me once again.

One thing I wish they would make more explicit (and in all their papers that I've read for that matter) is how much computational power it takes to train these networks and achieve these results.

I'm not sure if this is something they usually leave out because it's not interesting, or because it's something that people that work with deep networks all the time (I.E. not me) already have a feel for.

As someone in a related field (sometimes using deep networks but not researching them for their own sake). I certainly would like to know which of deep minds results would be feasible to replicate using my research groups resources, and it can be hard to do that without spending a lot of time actually trying to replicate the results and benchmarking them on your hardware.

<comment><USER11> Retracted! See below; compute is disclosed and is not that crazy. For this project their training hardware used 4 Nvidia K80's.

Original comment: _I think they leave it out because otherwise the standard response to their work would be "no surprise they get better results than anyone else, they are using two orders of magnitude more compute time than anyone else!" Not highlighting the computational expense makes their results look more impressive._

<comment><USER12> Also, because they are focusing heavily on the RL part of the modeling. They obviously have obscene amounts of available compute, but that is not their competitive advantage.

<comment><USER10> what exactly do you mean? Are you saying that RL requires less compute?

I would say having an obscene amount of compute is definitely a big competitive advantage, especially over a lot of small academic research labs.

<comment><USER12> > We train each GQN model simultaneously on 4 NVidia K80 GPUs for 2 million > gradient steps. The values of the hyper-parameters used for optimisation are > detailed in Table S1, and we show the effect of model size on final > performance in Fig. S4.

> The values of all hyper-parameters were selected by performing informal > search. We did not perform a systematic grid search owing to the high > computational cost.

<comment><USER13> That's nowhere near an obscene amount of computing power for any serious ML project.

</comment></comment></comment></comment></comment></comment><comment><USER14> This seems impressive, but it shows that there is still some way to go when comparing to old school techniques. I don't know how many TPU they used but probably a lot.

You can build a 3d key-points map using Slam algorithms real time on a raspberry pi. From there, you render those key-points and descriptors to a virtual screen given the desired camera pose, then you learn a deconvolution from these sparse rendered key-points to image mapping.

Alternatively, using more memory, once you have a 3d map, you can save some key-frame with camera poses, when ask the view from a given pose, you pick the k closest poses and interpolate (eventually with a neural net).

If now you have some more compute, you can do the previous slam algorithms with dense maps, and interpolate the dense 2.5d point clouds.

Their network is probably doing inefficiently a mixture of those different things, trading compute and memory power for flexibility.

<comment><USER15> > You can build a 3d key-points map using Slam algorithms real time on a > raspberry pi.

Does anyone have links to any open source projects doing this? Preferably with an example video(s) showing results?

<comment><USER14> I used this today for my robot. [https://github.com/Alkaid- Benetnash/ORB_SLAM2/](https://github.com/Alkaid-Benetnash/ORB_SLAM2/) (This particular fork can save the map although it needs to be generated on the pi). It works almost out of the box, just need half a day of slow compilation.

For use on a raspberry pi model 3B+, 2000 key-points, it runs 1-2 fps at 640x480, 5-6 fps at 320x240. Use 500M for a few rooms and 75% CPU when map building 50% CPU once built. It's not optimized for the pi so you can probably get it to run at least 3 times faster if you are willing to get your hands dirty.

For it to work well a 180 degree camera really makes a difference, and run opencv cpp-tutorial-cameracalibration on a chessboard to get the needed extrinsics.

There are probably other slam algos in ROS, but I'm not sure how raspberry-pi compatible they are.

If you want to try and experiment with neural networks, once you have build your 3d map on powerful computer you can build a neural network to learn the pose from the image. This will allow you to have some constant time, constant memory algorithm for later use on the pi, it will probably be less precise.

</comment></comment></comment><comment><USER16> Bravo. This sort of imagining of a scene could perhaps allow for an agent to recognize it doesn't know what's behind the ball if asked. That would be a nice feature if you wanted to reward the agent for finding unexplored areas. It also could help an agent plan to get to some goal. No need to guess if I take this fork in the road, will I need to retrace my steps? Instead imagine it and then avoid the imagined pitfalls before taking the action.

</comment><comment><USER17> I can totally see Google incorporating this in Self driving cars down the road, after training on millions of hours or dashcam footage, to augment or maybe even replace Lidar. Paper suggests it is capable of segmenting 2D picture input into logical objects and their discrete configurations/positions.

Its not without its pitfalls tho, instead of Monocular SLAM generating factual, albeit fuzzy point cloud map we get overfitted (5 pictures x 2M similar scenes) magic black box generating very training set specific hallucination. This is how we get Scanners replacing numbers in scanned documents [http://www.dkriesel.com/en/blog/2013/0802_xerox- workcentres_...](http://www.dkriesel.com/en/blog/2013/0802_xerox- workcentres_are_switching_written_numbers_when_scanning)

Similar example was posted 2 months ago [https://data.vision.ee.ethz.ch/aeirikur/extremecompression/](https://data.vision.ee.ethz.ch/aeirikur/extremecompression/) example picture (no doubt best case authors could manage) gained additional data absent from original, some of it dangerous like fake license plate numbers.

</comment><comment><USER12> > We also found that the GQN is able to carry out "scene algebra" [akin to > word embedding algebra (20)]. By adding and subtracting representations of > related scenes, we found that object and scene properties can be controlled, > even across object positions.

This is incredible because it provides a way to link with linguisic understanding and manipulation of the rendering.

</comment><comment><USER18> If any of the authors are on this thread, am wondering if there are any to plans to release source code this? This can potentially make generating environments for games or VR trivial by just taking photos IRL and then importing them into some game engine to generate a scene

<comment><USER19> The important part is the dataset, which in this case is generated by DeepMind Lab, which is already open source: [https://github.com/deepmind/lab](https://github.com/deepmind/lab)

Reimplementing the rest of the paper shouldn't be tremendously difficult. These techniques tend to be fairly simple at their core. But training it could be expensive. In any case, it is a _long, long way_ from here to "make generating environments for games or VR trivial by just taking photos IRL and then importing them into some game engine". Many years of research remain.

<comment><USER18> Hey James, since you seem to know a lot about graphics and ML. Am wondering which specific problems remain open before what I mentioned becomes more feasible product wise?

<comment><USER19> The domain of images used in this research is extremely limited. These are very low resolution artificially generated images of small scenes with simple lighting, simple textures, simple geometry, and very restricted camera positions and parameters that are known exactly (which is not the case for most natural photos). Each of those restrictions needs to be lifted before this will work on realistic natural scenes, and that will require many orders of magnitude more data. It's not clear that this approach will easily scale up to that amount of dataset variation. It's likely that a much fancier neural net architecture and training scheme will be required, and probably faster hardware too.

This is not intended as a criticism of this research, which I think is really great.

</comment></comment></comment></comment><comment><USER20> > The generation network is therefore an approximate renderer that is learned > from data.

> > [https://www.youtube.com/watch?v=G-kWNQJ4idw&feature=youtu.be](https://www.youtube.com/watch?v=G-kWNQJ4idw&feature=youtu.be)

I wonder if this is efficient... I know this isn't the researchers intended application, but the path tracer in me wants to see how far this can be pushed for real time rendering. I welcome the more interesting artefacts that a NN might produce (i'm talking about pigsnails [1] of course :D)

full circle: GPU GLSL for graphics -> GPU cuda/opencl for NN -> GPU cuda/opencl for NN graphics

[1] [https://www.newscientist.com/article/dn27755-artificial- brai...](https://www.newscientist.com/article/dn27755-artificial-brain-turns- clouds-into-psychedelic-pig-snails/)

<comment><USER21> Disney actually does a lot of research combining the world of graphics with deep learning.

Some examples that you might appreciate (from the excellent channel "Two Minute Papers"):

. "Disney's AI Learns To Render Clouds" [0]

. "AI Learns Noise Filtering For Photorealistic Videos" [1]

[0] [https://www.youtube.com/watch?v=7wt-9fjPDjQ](https://www.youtube.com/watch?v=7wt-9fjPDjQ) [1] [https://www.youtube.com/watch?v=YjjTPV2pXY0](https://www.youtube.com/watch?v=YjjTPV2pXY0)

<comment><USER20> Thanks! that is really some awesome stuff. It's even simpler in concept than this.

</comment></comment></comment><comment><USER22> I'm disappointed they didn't demonstrate what happens when they take this system and expose it to a few real-world photos. Can it handle that, or has it been very much fitted to these shapes?

<comment><USER23> It has very much been fitted. The supplementary material describes the training set as 5 pictures each of 2M different scenes of the type you can see in the paper (square room with random objects).

So to extrapolate wildly, it seems reasonable that getting similar results for, say, real-world bedrooms, you'd need to take around 5 pics each of 2M bedrooms, and record the location and angle of the camera for each picture.

Edit: and I didn't mean to sound negative, using artificially generated rooms to develop the method is a great idea, and the next step will be narrow domain specific applications (they mention eg robotic arms) where it's feasible to automatically collect enough data for a task, and somewhere in the future we may have the data and compute to sample the distribution of real world environments in decent resolution..

<comment><USER24> I'd say much more than that, since real-world bedrooms likely have a much more complicated representation than more simple generated rooms.

<comment><USER23> I agree with you that the estimate is conservative, and would depend strongly on image resolution and how broad your distribution of bedrooms is - <USER2> modern US style, or also 40 year old Japanese houses?

</comment></comment></comment></comment><comment><USER25> Well this is nothing short of incredible. I wonder if they'll get it to a point where it can look at 3d drawing, and immediately be able to produce a 3d model which includes all the occluded parts.

<comment><USER26> Probably not far off. We might get to a point where we have an AI software that can run on any computer which will entertain us to eternity.

Combined with VXGI and other photo realism efforts, AI could produce any permutation of your favorite TV show that ended too soon. Ex. Breaking Bad Season 15: Walter Jr's Revenge or something like that.

There's also an AI that produced a clone of the game by watching videos so with this new neural scene representtion, you wouldn't have to train it with thousands of hours of gameplay footage, it could see a video once and figure out the game mechanics ex. stepping on a group of sprites which it recognizes as Enemy1, it should increment score count based on some generic platformer template model.

Once again, Deepmind delivers.

</comment></comment><comment><USER27> I wonder if we'll get to the stage where game engines become a series of neural networks hallucinating the output.

<comment><USER28> I was thinking about exactly this kind of experiment. Given an input of gameplay recordings, train a model to predict the next framebuffer from the previous frame and keypress input. Would the model have to be excessively complex to avoid rapid divergence into feedback patterns resembling a Winamp visualizer? Probably, but it should be entertaining enough to watch and interact with anyway.

</comment></comment><comment><USER29> Could this be a pivot point in rendering technology? All of the thought and effort over decades put into the math behind 3D rendering, meant to produce a rasterized scene following perfect 3D calculations and rules -- replaced with a system that just "imagines" the picture?

<comment><USER30> If you're referring to increasing the speed of 3D rendering, it's very unlikely that this is faster than a traditional rendering method. It's probably an order of magnitude or three slower. If anything it would assist in the art stage, not the rendering stage.

Also, what would you render? You still need input.

</comment></comment><comment><USER31> Demis alluded to this at the Cheltenham Science festival last Saturday when someone asked about rats in mazes and how spatial neural connections are formed.

[https://www.cheltenhamfestivals.com/science/whats- on/2018/de...](https://www.cheltenhamfestivals.com/science/whats- on/2018/demis-hassabis-the-future-of-ai-and-science/)

</comment><comment><USER32> Hey, just skimmed the news article. Seems really interesting, but the lack of information on compute requirements is concerning. Also I wonder what the latent factors and the specific layers in each model are? I tried to dig deeper in the paper but the description was pretty ambiguous?

</comment><comment><USER33> This undoubtedly brings us a leap closer to AI. Imagine a number of these self learning nets arranged in some structure, learning and unlearning bits of information on demand, perhaps with different levels of volatility.

Sounds almost like learning new skills and forgetting old ones.

</comment><comment><USER34> This + the recent grid cell work would allow for the view training points to be generated unsupervised as well. Just drop an agent in an environment, it will explore it and come up with the scene representation entirely on it's own.

</comment><comment><USER35> One thing to note is that the camera viewpoint (it's position, roll, pitch, and yaw) is fed along with the images during training. Requiring access to this ground truth makes this method very constraining to use in practice.

<comment><USER36> What kind of use cases are you thinking of where this wold be constraining? Don't many computer vision algorithms also require something specifying the parameters of the camera, such as the fundamental matrix for stereo imaging?

As humans, when we look at a scene, then move a few feet and look at it again, we have a pretty good idea what the delta between the two views were, so why is providing the same info here any different?

<comment><USER37> I would add that humans also integrate gyroscopic & acceleration information from the inner ear to understand relative balance. Multiple sources of sensor data is a net benefit, not a drawback.

</comment></comment></comment><comment><USER38> Nice work! I am guessing that this moves us that much closer to a camera only based SLAM system.

I am also curious if they are going to use this architecture to defend against adversary GANs that are attempting to defeat image recognition.

</comment><comment><USER39> It is rather funny that in nearly every Tesla-related thread, they are slammed as irresponsible fraudsters for their decision to not use LIDAR and rely on a radar/camera-based system. Cameras cannot detect obstacles, we are told, and they'll never be able to make an autonomous vehicle without it.

This, despite the fact that humans do well enough and that Structure From Motion has been a well-established part of Computer Vision research for a while.

More on topic, this is pretty great work and it'll have wide applications, for example Google's own efforts to make robot arms more perceptive using regular cameras: [https://ai.google/research/teams/brain/robotics/](https://ai.google/research/teams/brain/robotics/)

<comment><USER40> > _It is rather funny that in nearly every Tesla-related thread, they are > slammed as irresponsible fraudsters for their decision to not use LIDAR and > rely on a radar /camera-based system. Cameras cannot detect obstacles, we > are told, and they'll never be able to make an autonomous vehicle without > it._

I don't think anyone reasonable says it's _impossible_ \- after all, humans are living, walking proof that it's entirely doable. The core of criticism is that it's _insanely more difficult_ than just using LIDAR data. One could even say that LIDAR, as a specialized tool for depth detection, is a intrinsically better tool for the job.

<comment><USER41> In particular, I find this claim questionable: "All Tesla Cars Being Produced Now Have Full Self-Driving Hardware." [https://www.tesla.com/blog/all-tesla- cars-being-produced-now...](https://www.tesla.com/blog/all-tesla-cars-being- produced-now-have-full-self-driving-hardware?redirect=no)

As you mention, this is trivially true on the level of the _sensors_. We know cameras are enough because human brains can do it with eyes (biological cameras).

But there is no evidence that we know how to write software for the _processing_ part of it (to an acceptable degree of safety) with cameras only, nor that the computing power on-board is up to the task.

How can you say that hardware package X is sufficient to implement something that has literally never been done before?

<comment><USER42> >this is trivially true on the level of the sensors.

Maybe. The human eye is fundamentally different than cameras in terms of how it focuses on things. For similar performance, we may need much higher resolution cameras. We don't know.

<comment><USER41> Interesting, I wasn't aware. How are they different?

<comment><USER42> Eyes don't have uniform resolution. The centers of our eyes (or what we're focusing on) have very, very high resolution, while the outer parts have much lower. Cameras normally have something like a middling resolution in comparison.

<comment><USER43> Eyes doesn't send the entire picture to the brain at once at a constant sampling rate either, they work more like event cameras [0]. Combine this with micro movements of the eye, and specialized brain structures and it's not as easy as saying that because we only need two eyes, robots only need two cameras. Sure, stereo vision might be enough, but what kind of cameras, and what kind of computers do we need to reach feature parity with our own sight?

[0] [http://www.rit.edu/kgcoe/iros15workshop/papers/IROS2015-WASR...](http://www.rit.edu/kgcoe/iros15workshop/papers/IROS2015-WASRoP- Invited-04-slides.pdf)

</comment></comment></comment></comment></comment></comment></comment><comment><USER44> Very nice. It will be interesting to see future results that work with real (non synthetic) scenes - I would not be surprised if that happens in just a few months.

<comment><USER45> Why will you not be surprised if that happens in just a few months?

As a mere CG artist, I will still be experiencing the surprise of seeing these examples a few months ago.

Are any particular recent achievements, announcements or similar influencing your expectations? If so, please share.

<comment><USER46> I also wouldn't be surprised. Results in transfer learning from synthetic to real world vision tasks suggest to me that if you could train this system with (for example) GTA-V as the environment, it may work reasonably well in the real world.

</comment></comment></comment><comment><USER47> Is this patented? I heard that deep mind is patenting a lot of that, is that applicable to this particular technique? Where would such patent be enforceable?

<comment><USER48> From the paper: _DeepMind has filed a U.K. patent application (GP-201495-00-PCT) related to this work._

</comment></comment><comment><USER49> The displayed scenes remind me a lot of Wolfenstein 3D.

</comment><comment><USER50> Fantastic! Is there some secret at DeepMind how to boost ones capabilities in this space to be _that_ good at bleeding edge?

</comment><comment><USER51> i'm envisioning a new kind of black-swan style mistake which i'm going to call the allegory of the neural net in the cave.

people will feed neural nets data, and ask it to describe the specific data set that the data is coming from -- without having the majority of that data set in hand.

in this instance, it would be showing the neural net a picture of a 3D area, and then waiting for it to extrapolate the details of the rest.

on average, the neural net's prediction may line up with reality. that is to say, the simulated data set is identical to the real data. that is what we are seeing in the OP link. but as soon as this method can apprehend and predict things of more complexity, that's where the differences will start to show.

sure, it isn't the neural net's fault -- any one worth its salt will place a confidence estimate on its extrapolated data points. but people don't understand how to interpret those confidence estimates. they'll round up to 100%, or round down to 0% accuracy. once people start using these techniques to guide serious decisions in business or elsewhere, that's where those dastardly percentages between 0 and 100 come into play.

imagine using this neural net as a way to generate returns in the context of trading stocks on wall st. it's a misuse of the tool, of course. but that won't stop people from making a decision based on a 95% probability of being correct; of course, 5% of the time, it will result in disaster. nor will it stop people from getting screwed by unknown unknowns.

this is the stuff which the consulting businesses of the future are built on -- scolding people about abusing models while trying to preserve the power of the model as a tool. needless to say, i'm interested in where this goes.

</comment><comment><USER52> finally, CSI level hollywood tech will be real in a few years

<comment> yoz-y Would hallucinated images be accepted in court though? I hope not.

</comment></comment><comment><USER53> I. Am. Terrified.

This is too close

slow the hell down

<comment><USER54> > slow the hell down

I'm afraid this isn't a car that you can stop, it's a freefall without a parachute. You're welcome to try flapping your arms, for all the good it will do.

And yes, the ground may or may not be approaching at an alarming rate.

<comment><USER55> What if we're flying up and not down?

<comment><USER56> Into cold and empty space ?

<comment><USER55> Towards endless stars, bound to be pulled in by another</comment></comment></comment></comment></comment>


Cilo and the Economics of QWERTY (1985) - <AUTHOR> http://www.utdallas.edu/~liebowit/knowledge_goods/david1985aer.htm

<comment><USER2> Great article. After using AZERTY in France, I remember experimenting with alternative layouts, then preferring the Canadian CSA layout (standard on Macs, PC picture on [http://en.wikipedia.org/wiki/ACNOR](http://en.wikipedia.org/wiki/ACNOR)) for 2 reasons: \- it had the accents I needed for french \- it was QWERTY, which mean no more problems in the BIOS or anything else like grub, lilo etc. \- it was easy to get - in any Applestore, and also for Thinkpads - even as a replacement part!. Now try to order a mainstream laptop with a Dvorak keyboard.

Everybody else around me was still using AZERTY, but it just made sense to switch. I haven't looked bad ever since, except I'm now using the US QWERTY as the accents in the 3rd level (using the control keys for the 3rd level, and caps as a control key) are even easier.

Is QWERTY perfectible? Yes. It QWERTY good enough? Yes too, even for French.

So with the network effects, bothering with anything else is a waste of time and money.</comment>


Remote Code Execution in Slack desktop apps - <AUTHOR> https://hackerone.com/reports/783877 <comment><USER2> I wrote that exploit & report. Just some thoughts on comments here.

Sure the bounty is low, but ultimately it's their money and their decision. They will deal with the 'consequences' of others skipping their program and some public shaming.

I find everyone talking about black markets etc. kind of ridiculous. Really? You would sell something like this, so someone can be spied upon or maybe literally chopped to pieces? Jesus, not everything is about money - it was a fun challenge to chain it all together and I learned a lot from it.

The most outrageous part for me was the blog post I discovered by accident - it included no references or mentions (check archive.org). Both of the code snippets there are from my RCE reports. At the same time they were denying my requests for disclosure.

Of course, I understand that coordination mistakes like this happen, so I accept their apology and move on!

Evidence - original RCE video with huge CSS injection overlay: [https://www.dropbox.com/s/11pv2ghdkw5g84b/css-rce- overlay.mo...](https://www.dropbox.com/s/11pv2ghdkw5g84b/css-rce- overlay.mov?dl=0)

<comment><USER3> > You would sell something like this, so someone can be spied upon or maybe > literally chopped to pieces? Jesus, not everything is about money

If you haven't had food for a few days everything is indeed about money. Either you reward someone properly for the work that they can do or they'll find someone else who does. I doubt most people get fuzzy warm feelings helping a big US corporation that's too greedy to actually pay independent researchers properly.

Edit: That's not to say your work wasn't cool btw. It's very admirable for you to view it the way you do.

<comment><USER4> > If you haven't had food for a few days everything is indeed about money

I doubt anybody capable of finding an exploit like this is in that situation

<comment><USER5> Most software is made entirely free with no source of income. The job market for software is terrible, and those people work entirely seperate jobs from it. Many program on a very minimum life expenditure.

<comment><USER6> [https://levels.fyi](https://levels.fyi) disagrees. I can confirm the offers on there are real

<comment><USER7> You replied to a claim about "most software" with a site that compares big tech companies, and only their US offices. The world is much bigger than your bubble.

<comment><USER6> Do you have any data the counters what I'm saying? I know people in other countries don't make the same salaries but they are "mostly" doing pretty well for their region

<comment><USER8> > I know people in other countries don't make the same salaries but they are > "mostly" doing pretty well for their region

here's some job postings for software engineer in Bordeaux, France: [https://www.indeed.fr/Bordeaux-(33)-Emplois-Ingenieur- Inform...](https://www.indeed.fr/Bordeaux-\(33\)-Emplois-Ingenieur- Informatique)

It's around three times less.

<comment><USER6> How does it compare to the local economy?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> They didn't disclose for months, and when they did, they failed to credit the researcher who found the bug, and started their blog post by saying "This is a fancy way of saying we've dialed up the security of the app. It wasn't unsafe before, but it's double safe now." That sucks.

<comment><USER10> They can't go back in time and change how they did it, and they did explain and apologised for not handling it correctly.

Stuff like that happen. We should only judge them if they screw up like that again.

<comment><USER11> Aka "first murder is on the house, the second one you pay for".

<comment><USER12> How does it make even a little sense to compare this to murder?

<comment><USER8> consider murder a metasyntactic variable

</comment></comment></comment></comment></comment><comment><USER13> Great report on a critical RCE vulnerability in Slack. However, I will bite.

$1,750 for a detailed report on a critical RCE is like rewarding sniffer-dogs with breadcrumbs. One could sell this exploit at least for 5 figures on the black market.

In all cases, since Electron brings XSS to the desktop, it is a hackers paradise.

<comment><USER14> > since Electron brings XSS to the desktop, it is a hackers paradise.

Just curious - what makes XSS on the desktop different from other kinds of RCE vulnerability?

<comment><USER15> Nothing, but if Slack was a web application and not an Electron application it would mean XSS would not immediately lead to RCE, you would need XSS and a vulnerability in the browser to get an RCE. Electron is basically that for you already: a vulnerable browser.

<comment><USER16> I refuse to use the Slack desktop app, and use Slack only through a web browser. I trust Chrome (Google), Firefox (Mozilla), Safari (Apple) far more than the Slack engineers.

</comment></comment></comment></comment><comment><USER17> $1750 for that?! Security researchers need to organize!

I have no idea what I'm talking about but my guess would be that the security economics of finding an RCE make it very valuable. The disclosure would be worth considerably more to Slack than this bounty. Something in the order of months' worth of skilled labour, not hours.

I suppose the economics also mean Slack only have to outpay the bad guys, so this is really showing us poorly compensated black hat labor is?

<comment><USER18> >$1750 for that?! Security researchers need to organize!

[https://hackerone.com/slack?type=team](https://hackerone.com/slack?type=team)

It says right on the tin what the payout is going to be. If you don't like the terms of the program, don't participate. It's not really that difficult a concept.

<comment><USER15> Had the researchers (unethically) published it as a zero-day vulnerability in e.g. a blog post stating "the slack payout wasn't enough for us to care" \- what would've been their legal risks?

I assume that would be _one_ way to get companies to care more about rewarding people who spend substantial amounts of time researching their security

<comment><USER19> A friend of mine swears that you can be sued for 'business damages' over improper disclosure. Sadly, the US is a non-permissive environment so I tend to believe it.

<comment><USER20> I think that friend of yours is almost certainly wrong, and for decades now there have been notable researchers who disclose publicly and immediately.

</comment></comment></comment></comment></comment><comment><USER21> One click RCE, not zero. $1,750 still seems a little low by H1 standards, but probably not by an order of magnitude.

Cool to see how they used the html injection gadget.

Seems like slack messed up with the blog post but made a sincere attempt to make amends.

I've noticed slack is pretty good about allowing disclosure of H1 bugs. It's a really hard sell in a lot of companies, so I think they should be applauded for that.

</comment><comment><USER22> Oh man, the use of <area> and <map> here is awesome. Not enough of a security guy to know if this is a typical approach, but it's devious.

I guess the moral of the story is try to not having place where arbitrary HTML is injected?

<comment><USER23> Yep. HTML is a huge surface, so just blocking "interesting" tags / attributes is fragile at best (Similar to misguided attempts to block SQL injection through string validation instead of cutting off the root cause).

The other moral of the story is you need to be extra careful to write a secure Electron program, since XSS is a bigger problem than it would be in a desktop browser. Step 3 shows that the RCE could execute programs outside of the JS environment.

</comment></comment><comment><USER24> Low payout aside, it's too bad they didn't properly credit the researcher when they disclosed the vulnerability. There's always another path to getting paid for exploits: [https://en.m.wikipedia.org/wiki/Market_for_zero- day_exploits](https://en.m.wikipedia.org/wiki/Market_for_zero-day_exploits).

</comment><comment><USER25> So Slack offers the guy a paltry $1,750, then attempts to take credit for his work while also screwing him out of his own disclosure.

This kind of response to security researchers just invites the next researcher to sell the exploit instead, or to actively exploit it.

Why does Slack seem like a company that is floundering? It took them __over two years __to release a simple feature like shared channels. It seems like the app is frozen in time and the company is doing nothing except keeping the lights on and waiting for Teams to obliterate them.

Slack turned from a hungry tiger startup into an exhausted lumbering enterprise giant whose primary weapon is litigation and mudslinging (Slack initially encouraged the Teams competition, then filed suit against Microsoft in perhaps the biggest case of corporate sour grapes in some time).

Pay your security researchers properly, Slack.

<comment><USER26> > A simple feature like shared channels

You think merging two or more organizations workspaces in a sane and secure manner after likely basing the entire app infrastructure around the idea of a single workspace is a "simple feature"? This is a textbook example of the classic HN comment "Why does this this company need X engineers to create Y product. I could do it in a weekend."

<comment><USER25> Except I never claimed it could be done in a weekend, only that it shouldn't take 1,600 employees two years to roll out a single feature while the main app has severe problems (zero error handling during downtime).

Then there's Slack's other "features", like the rich text editor nobody liked or wanted and that they initially refused to change.

Look at Teams' trajectory in the same timeframe.

Slack video calling is still bad. It's been years.

</comment></comment></comment><comment><USER27> Conclusion: if you have choice between Electron vs Web app, Use Web app. It's safer and battle tested for years. Electron apps will have their IE6, Flash and Java situations.

</comment><comment><USER28> Under $2K seems very cheap for what what discovered. Did it take less than two days to do this exploit?

Perhaps the model should be an immediate price like the one that was offered, but also the ability to ask for more, confidentially. For instance you might feel this thing is worth more like $10k, and you could show the screengrab. Then the firm can decide whether to just pay up or haggle. And of course you still have Hacker One to arbitrate that the vuln is actually what was touted.

Nothing's perfect, of course there are holes in this idea as well.

</comment><comment><USER29> Damn. The next vulnerability will go for sale in dark hat circles for sure. Good job slackers.

<comment><USER30> Unless Slack does the right thing and pays this researcher properly. It is never too late until it is.

</comment></comment><comment><USER31> > it is still possible to inject area and map tags

This is the critical oversight - what would be the reason to not use a whitelist instead, or even custom tags instead of plain HTML? Most of the existing libraries for sanitizing html work like that.

</comment><comment><USER32> Apparently Slack has changed their bounty program payment structure, and for RCE issues they're now paying $5000 and up.

[https://hackerone.com/slack](https://hackerone.com/slack)

</comment><comment><USER33> that's why I stick to the web client

<comment><USER34> This. It's just insane to use all these Electron-based apps giving them access to all your data.

</comment></comment><comment><USER35> An electron app with an rce? Wow this is so unexpected never thought this would happen.

</comment><comment><USER36> What an excellent write up.

I hope Slack review the payment and give you a bit more.

</comment><comment><USER37> It is my belief that most people would not use Slack if it did not have the business buy-in it now has. Most people are forced to use Slack.

<comment><USER38> Curious what the hate for Slack is. I use a 1-person Slack workspace for personal note-taking and memory extension, and I find it is also a super useful tool to manage ideas, photos, shared files in romantic relationships.

For either use case the ability to write bots for it, and the fact that it syncs across devices with multiple simultaneous logins is awesome.

<comment><USER39> How do you use a 1-person Slack workspace for shared files in relationships?

<comment><USER38> I have a 1-person workspace for personal note-taking and also a 2-person workspace for shared files/links/photos/etc. in a relationship.

I also find the 1-person workspace to sadly be the easiest way to transfer files between my computers and phones. Like for example when I need to take a PDF with me to the airport or elsewhere, I just drag the PDF into my 1-person Slack workspace and head out the door. Every other method I've tried involves more steps. The mobile clients of Dropbox and Google Drive make it unreasonably hard to actually download files.

</comment></comment></comment></comment><comment><USER40> so... where did the article go?

</comment><comment><USER41> They seem to be a company of bastard suits.

Their desktop client is an abomination. Worst even among electron app. IIRC once it was spanning a process per identity. Because some manager decided to hire bootcamp webshits. It is possible to do much more decent apps with even electron.

And when an article about electron was posted, a person from Slack, 'javascript hacker at slack' in his bio, jumped to defend it without even putting a disclaimer.

Now they are treating a security researcher badly with this low bounties. This guy has good intentions and didn't want to sell it. But even if 10% of people sell it or use on behalf of nation state actors, imagine the dammage.

Pretty sure it is some shitty MBAs who don't even know about technology being there.

It is not welcome to be undeplomatic on HN, I know. But let me say this out. Fucking non technical people should not be allowed to decide on technical matters. But those shitheads generally have political abilities. That's what happened when Larry Page tried to oust those suits out of Google engineering divisions.</comment>


Applying The Clean Architecture to Go applications - <AUTHOR> http://manuel.kiessling.net/2012/09/28/applying-the-clean-architecture-to-go-applications/

<comment><USER2> Only skimmed, but this seems like a very verbose way to say that you should get your dependencies right.

But Go has the most important part almost automatically, because it doesn't allow cyclic dependencies. If package A depends on package B (directly or indirectly), B cannot depend on A. So when reorganizing, you have to decide which package is higher in the stack.</comment>


I Just moved to Chicago - Are you interested in meeting up? - <AUTHOR>

ABOUT ME
My name is Jade, I'm a 20 something male born and raised in Southern CA.
I'm a backend developer (primarily ruby). I just took a job in Chicago and I'm excited to meet and work with new people.
LETS TALK
Have a startup or side-project? Want to get involved in the industry? Blackhat hacker? Everybody has something to offer!
For me ; I'd like to improve education.
Toward that end I'm working on a way to make learning web-application development accessible to anybody that is motivated to learn. This is a huge and far reaching goal so I don't really have anything concrete - I just know my life's work involves improving education.
HELP ME
I've perused meetup.com for software related groups and I'll likely attend every one I can. However I'd ideally like to start a meetup where the goal is to talk about learning. How do we as engineers learn? What path did you take from noob to expert. How do you learn new technologies? We might even setup crash-course presentations where each member teaches the group something new.
Most meetups I've been to are just marketing presentations by the organizers. We sit there and listen to some guy's startup idea. Help me find the ones (and/or create a new one) that is genuinely interested in making the group better as a whole by encouraging and motivating its parts - the people!
ARE YOU NEW TO PROGRAMMING BUT WANT TO LEARN?
I'm also very interested in meeting people interested in programming but with no background experience - noobs. I will be more than happy to share with you what I know and offer suggestions to get you started. The only requirement is that you are motivated to learn and are serious about making stuff.
THANK YOU!
My email and personal info is in my profile if you need it. <comment><USER2> there's an hn-chicago mailing list, but it's usually dead: <http://groups.google.com/group/hn-chicago>

apparently it has something to do with chicago.concat: <http://chicago- concat.gathers.us/>

there's been a few chicago meetups organized here on the site, which were not associated with that hn-chicago list.

</comment><comment><USER3> Come to Jelly. Noble Tree Coffee and Tea on Wednesdays from 12-4. <http://jellychicago.com></comment>


Ask HN: Is JavaScript the first truly universal language? - <AUTHOR> Write once, run anywhere has been a dream since as long as I remember, and I have been developing since 1997. Java was probably the closest we came (before the rise of JavaScript), but there was several other attempts.
JavaScript runs on practically every architecture, on client and server, and is even poised to become a major language for embedded systems and hence IoT. It's popularity shows no sign of slowing down. Like CSS or IMAP, it may not be a particularly good technology (though it is being improved with transpilers and the like), but it has become a de-facto standard that will be very hard to replace.
The tech world is always churning through standards. Has fortuitous circumstances combined to make JavaScript the universal language that has been desired for so long? <comment><USER2> There are more of them computer thingies floating around, but other than sheer scope, it's not much different than BASIC. And just like this, you'll end up with plenty of cousin languages that just share some basic genes. Personally, I wouldn't call that programming Appalachia a "dream" or "fortuitous".

Even with ES6, I just don't get the appeal. I'd much rather use three to eleven languages, if each of them fit the task better. (and regarding prior art in "universal" languages, I'd have preferred if PostScript made it bigger)

</comment><comment><USER3> IMO: no.

First of all, I _love_ JavaScript, and I think it could be used for far more than it currently is.

Having said that, it is not good for every problem, due to limitations of the language itself. It is not multi-threaded. It is not good for CPU-intensive operations (transcoding video, encryption tasks, etc.) It does not allow direct access to memory.

I still love it, and it is closer to being a universal language than most people think, but I also believe that the designed limitations are still an issue.

</comment><comment><USER4> Are you forgetting C?</comment>


Young Minority MIT Grad Needs a Laptop to Code, can We Help Him? - <AUTHOR> I recently spoke to a young African-American MIT grad who moved out to Silicon Valley a couple weeks ago to work on his startup in an (unfunded) incubator program.  Unfortunately, his machine is on its last legs and he's unable to get another one at the moment.
I thought I'd reach out to the HN community to ask for any creative solutions to help this young man out.  Some of the other incubator members started a GoFundMe for him (email me for URL) but I'm not sure that's the most direct approach for solving the problem.
Do you have any suggestions as to how we can get this young man a machine to continue his journey as a young entrepreneur?
Desired Specs: "Any decent development machine. Preferably 8gb RAM and MacOS or Linux."
Note: This story can be verified with a well-known VC and other reputable folks around Silicon Valley, just ping me for details. <comment><USER2> Just wanted to make some suggestions for ideas and not meant to critique -- one can get a fairly good laptop for coding nowadays at a fairly low price; just don't stick with a Mac like what everyone thinks you have to. (which costs $1000+)

I just randomly opened woot.com's laptop section ([https://www.woot.com/category/computers/laptops](https://www.woot.com/category/computers/laptops)) and there are already a few laptops under $300 with 8GB ram. If he really dislikes Windows, he can install Linux on it like you said. (though Win10 is pretty good nowadays with WSL) Can said well-known VC shell out $300 to buy him one of these?

<comment><AUTHOR> Thanks! This is a good tip.

</comment></comment><comment><USER3> Ebay, e.g. [http://www.ebay.com/itm/Lenovo- ThinkPad-X220-Core-i5-2-5Ghz-...](http://www.ebay.com/itm/Lenovo- ThinkPad-X220-Core-i5-2-5Ghz-4GB-320GB-Webcam- Windows-7-Pro-12-5-Laptop-/401180956323?hash=item5d683f96a3:g:YIwAAOSwMgdXyGKB)

With [http://www.crucial.com/usa/en/thinkpad-x220/CT2294772](http://www.crucial.com/usa/en/thinkpad-x220/CT2294772)

Less than a business lunch for a well-known VC.

Good luck.

<comment><AUTHOR> thanks!

<comment><USER3> An option in the Bay area, [http://www.crc.org/](http://www.crc.org/)

</comment></comment></comment><comment><USER4> Why is he starting a company and moving to Silicon Valley with no money?

Why did you have to indicate him as an African-American?

What does being a minority have to do with doing something so irresponsible?

<comment><AUTHOR> I can't speak to his exact reasons for starting a company and moving here with little money other than there was an opportunity to participate in this incubator program.

I feel that silicon valley lacks racial diversity, particularly amongst founders. If there is an opportunity to support under-represented groups I thought it was worth mentioning.

</comment></comment><comment><USER5> Sory but this looks like the ad for the man more than shout for help.

And this : This story can be verified with a well-known VC and other reputable folks around Silicon Valley, just ping me for details.

I am sure well-known VC can scratch 300 bucks for a few years old Thinkpad that can serve the MIT grad for a year or two until the advertised startup picks up and gets funded.

Call me a cynic...

<comment><AUTHOR> Not quite sure what you mean by 'an ad for the man' but that doesn't strike me as particularly accurate.

I heard about this young fellow who needs a laptop and so I made a post, there are no ulterior motives here, just trying to help.

And yes, the VC is a billionaire would certainly could afford a machine but that offer has yet to be made so here we are.</comment></comment>


General Motors president to control Cruise self-driving unit - <AUTHOR> https://www.ft.com/content/9e9a6cee-f3fb-11e8-ae55-df4bf40f9d0d <comment><AUTHOR> No subscription: [https://outline.com/RV224v](https://outline.com/RV224v)</comment>