HN user

auxon0

5 karma
Posts0
Comments13
View on HN
No posts found.
I'm Leaving Mojang 12 years ago

Yeah, but like I said earlier, a bit of rest and some time out of the spotlight and he'll get bored. Then he'll really appreciate it (even if he never wants that light shining on him all the time, again).

I'm Leaving Mojang 12 years ago

Stress is a bitch. But given some time, he'll get bored and do something with all that money.

The GoF wrote, "favor composition over inheritance". That much was right. Unfortunately, they missed the mathematical composition possible that was hidden inside these patterns all along, much simpler and fundamental than the design patterns themselves.

Erik was fired which is unbelievable; it's like firing Feynman. He obviously wasn't happy with Ballmer or the culture, and frankly neither were most of the MS employees in that audience. Ballmer's gone and suddenly everything MS does is becoming open sourced, for example. "A miracle". And just because quantum might sound cool, naming a razor blade after it doesn't make it quantum physics.

Brian Beckman worked on the Time Warp OS, with Dr. Jefferson [1] and was involved with the development of Rx virtual time. You can read his comment about how Rx virtual time could be used to create a Time Warp monad. [2].

Are you speaking about React.js? Erik's point about reactive being a buzzword and distorted is proven by that because it's not the same thing at all. React.js is cool and all that but it has nothing to do with guaranteed composition and dealing with side-effects and monadic operators. That's like saying Angular.js is better than list operations and functions that operate on lists.

[1] http://dl.acm.org/citation.cfm?id=37508&CFID=356264587&CFTOK... [2] http://channel9.msdn.com/Shows/Going+Deep/Expert-to-Expert-R...

He's saying people are turning it into a buzz word that is losing it's true meaning, so instead of the buzz word, think of what it's really all about: composing and managing side-effects. Take a look at Google Trends for "Reactive Programming", it spiked over the last year or so,: http://www.google.com/trends/explore#q=reactive%20programmin...

Take a look on GitHub at all the projects with reactive in the name or descriptions; it's become a buzzword that people use to describe various things that don't have any relationship to the original.

Iterable is broken, as Erik said, because it has a hasNext() method, and a next() method, which is a problem because hasNext() causes side-effects to be evaluated.

Imagine if the implementation of the iterator has to execute a long running function, or wait for the next value in an observable to be pushed, like an event. So, if call hasNext() twice, then it may cause a side effect so that next() actually has a different result than it would without the side effect. Thus, it is not mathematically, a function, and can't really be used to build monads.

So, unfortunately, due to backwards compatibility, Java classes that implement Iterable/Iterator can't automatically get the benefits of list monads etc..., by simply defining a library of operators that take Iterable/Iterators, like C# could with IEnumerable/IEnumerator.

In C#, IE only has side effects in the MoveNext() method, which returns true or false if there's another element, and the effect is explicit in the name, which helps. However, more importantly, if you get the value from Current, there is no side effect, and you can do that as many times as you like.

With Iterable, if you call next() it moves to the next element. So, it is impossible to get the same value twice with a guarantee of no side effects, and impossible to guarantee mathematically sound composition of Iterables. The interface is broken, and changing it would break nearly every Java program.

True. However, if we are able to elevate this type of technology to that level, people will train and be trained, to focus on such detail and learn to control the output via the feedback loop. At first you'd probably "draw" like a baby, but with enough practice, some would become true artists, and the average somewhere in the middle, but things would be recognizable and tada, telepathy.

http://arxiv.org/abs/1403.1211

"Although it costs less than a dollar in parts (see Bill of Materials in table 1), it can provide over 2,000X magnification with submicron resolution, weighs less than two nickels (8.8 g), is small enough to fit in a pocket (70 × 20 × 2 mm3), requires no external power, and can survive being dropped from a 3-story building or stepped on by a person (see figure 1G and supplementary video 2)."