Recent submissions

Comment · 12 years ago
That changes my opinion. Uber is liable if this is a) true, and b) that information was actually available.
Comment · 12 years ago
So I guess they're going to ban public transportation, restaurants, public places, etc... as well, due to all the rape happening there.
Comment · 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).
Comment · 12 years ago
Stress is a bitch. But given some time, he'll get bored and do something with all that money.
Comment · 12 years ago
Correction - Erik wasn't fired.
Comment · 12 years ago
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.
Comment · 12 years ago
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.
Comment · 12 years ago
Comment · 12 years ago
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.

Comment · 12 years ago
Comment · 12 years ago
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.
Comment · 12 years ago
Very nice ... Ractive.js looks like it has a lot of potential, and I'll definitely give it a try.
Comment · 12 years ago
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)."

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton