skysight-inc/HackerNews huggingface dataset:
I think this is just a different way of expressing the idea that piracy exists only because the pirate user experience is better than the non-pirate user experience. So if the non-pirate experience, for example, does not require that you have the disk in your dvd drive in order to play (since all the assets are copied to your hard drive at install time), then the pirate experience is better. And so on.

so the trick is to make the non-pirate experience better and the piracy problem goes away. The only people pirating are the ones who would not buy your software/game anyway, so free advertisement/word of mouth should be welcome anyway.

The industry's problem is that it's hard to make a better experience, existing cash cows being existing cash cows and all. It's easier to protect them than to innovate.

But the point is well-taken.
The submission is dead now, but just in case ;)

http://www.smashinglabs.pl/3d-tetris-with-three-js-tutorial-...

Part 2 is also online and part 3 is ready to be released on Monday,
Surely the importance of that varies wildly depending on what you're doing? What percentage of developers even code publicly? I'd imagine that the vast, vast majority of businesses do not.
The Treo was hardly the original smartphone. Nokia had the Communicator before that, and Alcatel had the One Touch Com in 1996: http://data.motor-talk.de/data/galleries/0/3/7206/16273817/p...

Apples spin wasn't ditching the keyboard as so many people think, it was designing the user interface around finger-based touch, making the interface easy enough for normal people to use, and finally to ship a decent performing browser at a time when most other phones were a nightmare to use when browsing the web (try a N95, also released in 2007, to see what I mean)
Beware drawing conclusions about causes in the top decile based on averaged effects over the whole distribution. And adults based on studies of kids, etc.

But sure, it's suggestive of what you say.
Or in fact anything that is sequential. There are a lot of loops that don't necessarily have side effects but are still much easier to express as sequential calculation. If f(a[i]) depends on f(a[i-1]) then you must necessarily recurse, and if you have limited stack space then you must either use a loop or rely on tail-call optimization. Both are valid, but suggesting that "filtering, reduction and transformation" will help is absolutely not true.
I get a lot of nexus ads, but Google knows I bought one months back so it is wasted inventory...
Colours help to differentiate between icons. It's much easier to differentiate between and identify two differently coloured icons at a glance, than two monochrome icons.
I work everyday writing code for iOS apps using VS. I write code and compile, run unit tests, etc... in VS. I then use the same project and source files, load them into MonoDevelop and compile using MonoTouch on my Mac to generate native apps.
Interesting to note that he has a degree in Physics himself, and the idea was for physicists to collaborate with each other.
Is anyone aware of a source of Ralph's commented decompilation? Has he said if it will be released?
I think, though, that it's wrong to decide "this person is not intellectually curious" merely because he has never investigated the particular esoteric bit you picked to test "intellectual curiosity".

I could ask you if you know the x86 calling conventions--what, you don't know? But you use x86 machines every day, and write code to run on x86! You're obviously a slave to Ruby/C++/<insert-language-here> and just aren't the type of guy to go learn things.
SpaceX is launching things to LEO for about $5,500 / KG (which is $2,500 / lb) on the Falcon9, so it's getting better.

Source: http://www.spacex.com/falcon9.php
Very helpful - thanks for the ideas. We are planning a round of changes in the near future.
It's a confusing metric because stellar fusion is actually extremely slow. The power density of the sun's core is about 0.3 watts/liter, which wikipedia compares to the metabolic heat density of reptiles:

http://en.wikipedia.org/wiki/Sun#Core
The word battery doesn't mean that. It means to beat and batter. Which is what artillery does.

The electrical meaning came much later, possibly from the electron discharges which looked like artillery attacks.

I have no idea where battery cage came from. The original battery cages were warmed with electricity - maybe an actual battery?
"Good luck developing anything mission critical with a team of low paid googlers."

This is the dirty secret of outsourcing.
clickable:
http://code.google.com/p/play-list-builder/
The 'value' creation is the small web site owners. And they filled the money pot for that eco system with remnant advertising dollars.

I think it's great that small website owners can use AdSense to monetize what they do, but that really doesn't support the claim that "Google has created more value for more people than probably any other company in history."
I think it's a good thing in that it's led to the most commercially successful search and ads company in history (which - in large part - does deliver very relevant content, and relatively lower sadness than many competitors). But it's clear there is much room to improve.

That point you're addressing was meant to illustrate one way in which it is difficult to find an ad match that doesn't induce sadness. (As opposed to defend the current approach as the "end-state")
Hmm. Unbiased rendering is evaluating PDFs millions of times per second. Do you think stochastic logic could be used to speed that process up?
That is a good point, and while running a startup is completely different than stepping into a billion-dollar corporation, the argument is still valid. Here are a couple examples from recent years:

Who On Paper Reality
-----------------------------------------------------------
Steve Jobs Hippy kid F**kin best CEO of our time
Alan Mulally Normal engineer Ford's savior

John Sculley Perfect fit Drove Apple into the ground
Carol Bartz CEO material Need I explain?
Léo Apotheker Good enough Yeah, right.
100% agree. If this is what they spent time on, as opposed to the fact that, say, 'find' is dog-slow and doesn't reliably cancel, or that copy/paste randomly stops working, or that it has a tendency to hang several times a day... well, I just don't understand the priorities.
What makes it qualitatively different from typical subscription-or-ad-supported services?
Long story short, OP is conflating closures with lambdas.

A closure is a lambda that is closed over its free variables meaning that the variables which are not defined in the body of the function (variables that are not local or the formal arguments) are bound to what their values are in that lexical scope at the time they are constructed and do not change with the calling environment.

In javascript if I do:

var x = 2;
var f = function() {
return x;
}
console.log(f())
(function() {
var x = 3;
console.log(f());
})();

It will print '2' and '2'. f is a closure. It is closed over its free variable 'x', 'x' in f is bound to the nearest 'x' that was in scope when it was written.

A lambda is just a function, it does not necessarily imply there are free variables which it is closed over.

function() { var y = 23; return y * 40; }

is a lambda with no free variables.

Technically the following implementation of evens is a closure:

isEven x = (x `mod` 2) == 0

evens xs = filter isEven xs

Can you see why? `isEven` is a free variable in evens which is bound to the isEven defined above it. evens is a closure, but generally we wouldn't refer to it as such.
Facial recognition being rolled out to boost sales at retailers
Jumping from Web to Mobile, Part 2
Careful there. Had Apple bought WWW (It was a NeXT-only application anyway) we would have had a lot more justin biebers.
Is there an amount of money that a 'suit' could pay you that you wouldn't hate it?
I ran out of gas three times when I was first driving; the gas gauge was bad, and would show "half full" when it was dead empty. The odometer was reasonably reliable at telling me when I was about to run out of gas, but I was cheap and didn't want to spend money if I could get the car to go a little further.

And yes, I cede all claims of being a car genius.
“Refactor”
Flagged. Same site submitted by the same user under a different domain, presumably because the last one was marked [dead].
I don't think this is the most common--even when you have side-effects, most loops are conceptually going over some collection. Python takes this to an extreme with its for...in loop which is just an ugly map, but it's true in most languages.

Just because you have side-effects does not mean you can't express your computation more neatly using a higher-order function. And some of the imperative uses of a loop are easy to abstract into a higher-order function as well: while (true) {...} becomes forever, for example.
Why not just build the site and then offer it to him for free. I'm not sure why people think putting together these "dearxxxxx" websites is any better/different than a cold-call or email. If you'd built the actual site and offered to hand it over to him for free that would have been a whole other story.
No one would deny the incredible commercial success of Apple: It has changed the industry. Few would argue against the notion that Apple brought a fit and finish and UI model that completely changed the baseline of the industry as well, significantly raising the bar. The Apple quality tide lifted all boats, though some are still trying to bail out water and catch up.

For those right choices Apple has yielded incredible riches: Profits never before seen, quarter after quarter. They're a half-a-trillion dollar company.

All I argue about is this revisionist history that acts, essentially, like Apple is entitled to everything. That they borrowed nothing and created everything. It seems like I'm arguing against a strawman there, but it is too common of an opinion. It is an argument that is based upon taking the smallest trivia of Apple's implementation and making it the most profound, important thing ever, while everything else doesn't matter.
>Bringing the Google design touch to Motorola is not the answer.

Given two weeks with my Droid 4, I'm going to have to disagree with this. The phone is great on the whole, but almost everything I dislike about it is where Moto veered from vanilla Android. Things like Facebook sync and manually connecting to an Exchange were broken out of the box.

To be honest, I went ahead and bought the phone primarily because of the impending Google acquisition. I'm making a calculated wager that Google will have Moto push a closer to stock build of ICS at the least, and unlock the bootloader in the best case scenario.
I agree with you about tablets but not about smartphones, some people back then, this in 2006, were discussing just how smartphones would be the future once they became cheap, this is what happened.

Besides everything being touch based, which was really disruptive, I believe a real disruption in the iPhone was that it included a full browser and not the mobile crap that existed back then, apps were good, but it was something that existed in other smartphones although without the centralized distribution medium, but they did exist.

Now some people are saying that Apple reign will not last just because smartphone prices will follow the same path that feature phones prices walked in the last 10 years, they will become much cheaper than now, I do not know about Apple remaining the leader or not but I do believe that smartphone prices will be really cheap in 2020, even for developing nations.

EDIT: typo and correction in the last paragraph.
Sure you do - it's called a date.

After an interview/date, you then have (in the UK at least) a probationary period (going steady), and then a wait before a statutory period (engagement) before you are fully "employed" in law and can't be removed easily (marriage).
I suspect it isn't so much the design (although as has been pointed out the jump from treo-like to iphone-like is telling), but that a member of a board of directors used his access to proprietary company secrets/internal information to directly benefit a competitor company - its a conflict of interest issue at best, and corporate data theft at worst. And I think Jobs took it personally because the Larry, Sergei, and maybe even Schmidt had soliticed his mentorship and advice and for them to turn around and do this to him would seem to me like it would be felt as a personal betrayal.
"I just tried doing what you describe with the ICS clock / alarm app. It worked as expected for me: after tapping "set", the alarm was set, and Back took me back to the clock.."

Are these the screens you see?

- Clock with alarm time

- 'Alarms' page with list of alarms and 'add alarm' button

- 'Set alarm' page with time, repeat, ringtone, etc. and cancel/delete/ok buttons at the bottom

- Set time - with the dials for hour and minute, and cancel/set buttons at the bottom

I'm talking about adjusting the time dials, hitting 'Set', returning to the 'Set alarm' page, hitting back, which simulates hitting 'cancel', throws away my change (without asking for confirmation), and returns me to the 'Alarms' page.

Does this make more sense? I'm on Ice Cream Sandwich if that helps. (Being forced to upgrade a device with a smaller viewing area to an OS that assumes a galaxy-sized screen, that's a whole separate rant.)
How about not showing ads in those cases?
Pretty much everyone i know has a 'ran out of petrol' or at least a 'woh nearly ran out of petrol had to keep her at 55 all the way and rolled her in' story.
> Google knows this from watching my search history or annual credit card spend on travel

Your search history, sure, but I don't think that Google can see credit-card spending ….
Remember, Jim is the comedian. He's probably not looking to hire comedians like him to run what's in his mind a bunch of geeky shit. So yeah, being lighthearted is okay, but not at the expense of losing your cred as someone serious.
Well no, there is something wrong with a for loop--it tells you the "how" rather than the "what".

With a map you know it's just transforming the list with a function; with a reduce you know its combining the elements of a list with a function.

With a for loop, it could be any of those, or other things besides. And it takes more code--more to read, more to think about--to encode any of them.
Readability for iOS
All of this came from Expression Blend and Metro
> Historical issues for who, exactly?

Historical issues for developers like me.

You are literally describing a solution, it might be a solution that you don't like but it is a solution that makes it so developers don't have to worry about random things breaking for no reason. AFAIK the solution is to have the applications install the version of the dll that they use, if Windows is 15gb with no applications (which seems like an exaggeration to me) then I think that is largely incidental.

> for major OS vendors until the specifications were finally more-or-less set in stone

Again explicitly invoking historical events.

> It's absolutely unacceptable to keep around support for every version of HTML and JavaScript and CSS ever, especially when some of the versions are contradictory

That is totally fine, but it makes browsers something that no developer other than bleeding edge early adopters and crappy social media game developers can reasonably support.

No one cares if they are as painful as desktop development was 15 years ago, developing for 1997 desktops isn't an option today, my entire point is that developing games on the web today are like developing games in 1997 which is awful. In 1997 you had no other choice; the options are any of a dozen mature platforms (desktop, mobile apps, consoles, handhelds) or else trying to juggle about 6 wildly incompatible and buggy browser environments where all of them are either too old to even support features that you want, or else a moving target that is changing literally every week in a way that is transparent to the user, which means you get blamed for the breakage when you could have done nothing to avoid it.
OC does not misrepresent the point, he does not engage it, (those are distinct). In not engaging it, he provided tremendous value for everyone ITT.

[Thanks, Patrick]

However, if you want someone to bite - I will. Why bother engaging in moralizing if you don't care enough about your values to pay for them? Better yet, how much is your morality worth to you?

"I know that this engine is driven by the money, and the money is in luring people into Google's social thingamajiggy instead of trying to sell someone a book or a course or even a BBC/Discover/National Geographic edutainment special on dinosaurs or natural history.

But you know, the whole point of having values is that sometimes you don't do the most expedient thing or the most profitable thing or the easy thing. That’s what makes them values, you value them more then pecuniarum."

Well, if Raganwald wishes to educate children, why not create a service that serves educational ads instead of selling add slots to the highest bidder? Because it wouldn't be able to compete with Google outside of some tiny niche. Clearly, society as a whole is not willing to pay for this moral value, namely educating children.

It might be tempting to trivialize this by the way of "heartless businessmen" argument, but that would be misrepresenting the point. The point is - in a society where the only over-arching value is money, morality becomes a liability. One could argue that this is an inevitable state of human affairs due to $characteristic_of_human_nature. However, to me this seems to be more of an inevitable consequence of implementation of a universal means of exchange. Not everything boils down to money - true. But most things do. And most things will always be enough for some people. And the rest will ultimately have to follow. That, or find a clever way to monetize their "moral liabilities".
Whether they are more expensive or not is a function of implementation and the language runtime.

There is something wrong with a for loop, just like there is something wrong with goto--it's at too low a level of abstraction. A goto could signify any sort of jump; a for signifies any sort of repeated operation. A fold or a map or a filter or a zip signifies a very specific type of repeated operation that is hard to mess up.
I have clarified my point in another comment already. It's not about who's better. It's about who's trying to experiment and rethink things. In developer tools team of the top-10 tech company you have a great combo: best hard-core engineers on the planet + little need to maintain cruft and worry about competition. Why not experiment and try to be better at what you do? Xcode 4 is this radical attempt to improve old problems (of course introducing new ones). And VS does not try to eliminate old obvious problems and almost stays where it is in terms of UI.

Update: here are related thoughts on the subject: http://blog.oleganza.com/post/18156593863/why-apple-products...
Best tool for the job, can't agree more with that. We have a team that insists on using git when:

- it is just a small team (less than 5 devs)

- there is no github, just a locally hosted gitorious instance (proprietary project)

- the lead dev who picks git is using Windows half the time

- there are less technical people who need commit rights (e.g. changing reports layout, changing CSS, etc)

I believe the "git already won" mentality (which is very apparent in the comments of both OP article and HN) get these people to pick git over mercurial. And once they become familiar with git, they won't let go, due to the sunk cost of learning gitology[1].

[1] http://jordi.inversethought.com/blog/on-gitology/
I always make changes or even commit things to the wrong branch and then struggle to move those where they're supposed to be.

If you don't use branches much (like most github users) you probably don't have this problem. We have version branches, so I do.
To me it looks like they've put more effort into differentiating the shapes now that the icons aren't colored. Personally I think the increased contrast makes up for it -- the shapes in the monochrome icons are much more visible to me. I'd love to see their usability studies though. Perhaps you are right.
tl;dw: the "juice" Schneier refers to is essentially the correlation between a bunch of static array bounds in the Stuxnet code, the layout of Natanz' enrichment process as computed by a respected American nuclear physicist in a public paper (based on data from an intentional leak by the previous head of the Iranian nuclear program), and finally hard evidence of this layout in SCADA screenshots from the plant that were released by the Iranian government.

This summary makes the correlation sound almost coincidental, however the video makes a pretty convincing case.
Google, Microsoft and Netflix want DRM-like encryption in HTML5
wow, thanks! Adam's friend made the video and his wife gave the voice-over so it has an all 'in-the-house' production!:)

I feel that for a non-consumer product like ours, where design is not the make or break difference, a video like the one that we have is more than sufficient to let people know more about the product.
Comscore: More than half of smartphone users access a social network daily
One thing I'm pretty jealous of is "Designated initialization" in C99:

int whitespace[256]
= { [' '] = 1, ['\t'] = 1, ['\h'] = 1,
['\f'] = 1, ['\n'] = 1, ['\r'] = 1 };

Very cool.
We use tags on github for priority. Combined with milestones, we're easily able to figure out what to work on next.

Right now just limited to "High", "Medium" and "Low", but we could have whatever level of granularity we want. We can also color code the tags (red = high, orange = medium, yellow = low).

The thing I really miss on github is a place to stick a numeric estimate for how long something will take to help with knowing how much capacity we have left in a release/iteration.
> Advertising necessarily extracts value out of your attention, while simultaneously devaluing your browsing/watching/listening/driving/etc experience.

While it it usually, maybe even almost always, does, I don't think advertising is required to be a distraction.

If I'm searching for information on a product, say, a pair of headphones for my wife or a diet for myself, and I see ads for headphones or diet books, then that advertising can be very beneficial.

The problem comes when, like in the article at hand, there's a product or service, totally unrelated to what I'm searching for, that's being injected in my attention stream.

Arguably, Google's incredible financial success is founded on making that information infinitesimally more likely to be useful to the reader compared to, e.g., prime-time television.
Tumblr’s banning “self-harm” blogs that promote eating disorders and suicide
Microsoft's Windows Compared To iOS And Android in 2012
I'm surprised by the hostility in the comments.

Also, everybody's focusing on closures, which makes sense given the article, but I think the main point is about higher-order functions which require first-class functions (what the author calls closures).

Using higher-order functions in place of loops is much like using structured programming instead of goto.

A for loop is just a specialized form of goto that makes what its doing more explicit, lowers spaghetti code and makes making mistakes harder.

A fold or a map is just a specialized form of a for loop that makes what its doing more explicit, lowers spaghetti code and makes making mistakes harder.

Everybody decrying the article would probably never dream of using gotos for control flow--structured programming is patently superior! And yet you are also reluctant to use higher-order functions.

I think this is a perfect realization of PG's ideas in his Blub essay.