rc3.org

Strong opinions, weakly held

Category: Commentary (page 35 of 982)

The Netflix Prize and the importance of recommendations

The Netflix prize has fascinated me since it was announced and won. Today Netflix engineering has a blog post discussing their recommendations systems that explains why they chose not to implement the prize-winning algorithm. What stuck out to me most was this bit on how important recommendations are to Netflix:

We have adapted our personalization algorithms to this new scenario in such a way that now 75% of what people watch is from some sort of recommendation. We reached this point by continuously optimizing the member experience and have measured significant gains in member satisfaction whenever we improved the personalization for our members. Let us now walk you through some of the techniques and approaches that we use to produce these recommendations.

If you’ve noticed that recommendations have been moved to positions of greater prominence on the Netflix site over time, that’s why. The increased prominence of the recommendations also contributes to the large number of views selected due to recommendations as well, I’m sure.

The rest of the post goes into explaining what factors Netflix feels contribute to an effective recommendations system. This post is pure gold for anybody who’s building similar features.

What a modern front-end developer should know

Here’s a fantastic post from Rebecca Murphey that lists the skill set front-end developers should be working to attain. Here’s her prediction of where things are headed:

Whatever it is, I think we’re seeing the emphasis shift from valuing trivia to valuing tools. There’s a new set of baseline skills required in order to be successful as a front-end developer, and developers who don’t meet this baseline are going to start feeling more and more left behind as those who are sharing their knowledge start to assume that certain things go without saying.

I’m primarily a back-end developer and her list works for me as a way to get up to speed on what’s happening on the cutting edge of front-end development these days. It’s great to see a lot of the techniques and tools that we’ve been using on the back end for years starting to benefit front-end developers as well. It’s no longer the benighted wasteland that I once perceived it to be.

Life, the good parts

JavaScript: The Good Parts is one of my favorite computer books ever written, not just because it’s an excellent primer on JavaScript, but also because the title alone provides guidance to a way of living that’s worth pondering.

This week, PHP: a fractal of bad design is making the rounds. It’s a lengthy list of thoughtful criticism of PHP as a programming language (and Web development platform). The PHP core team should read it, although the truth is that most of the problems can’t be addressed without breaking old PHP applications, and the PHP folks are generally reluctant to make those kinds of changes. PHP has a massive installed base on shared hosting servers — breaking old applications reduces the adoption rate of new versions.

Here’s the deal, though. For all of the complaints about PHP, thousands of businesses rely on it, and millions of people use it with varying degrees of expertise. I personally have spent thousands of hours hacking on PHP applications, sometimes with much frustration. None of the problems listed in that blog post have prevented me from getting my work done in that time.

The secret to using PHP effectively is the same as it is for JavaScript … focus on the good parts. It turns out that works out for most everything in life. When I eat at a restaurant, I don’t have to like everything on the menu, there just has to be one dish that I enjoy. The number of bad dishes on the menu don’t really matter, what counts are the good dishes, at least if you willing to be an educated consumer.

We all choose the set of tradeoffs we’re willing to accept. I’m happy to take advantage of the opportunities working with PHP provides and do my best to stick to the good parts.

Farewell and thank you to Jack Tramiel

Today we learned that Jack Tramiel, the founder of Commodore, died at age 84.

The first computer I owned was a Commodore 64. It was the best Christmas present I ever received. I still remember typing in program listings from computer magazines by hand just so that I could see them run. The next summer I saved all the money I made from mowing lawns to buy a Commodore 1541 floppy disk drive so that I could copy games. If Commodore hadn’t offered an affordable alternative to the Apple II at the time, I probably wouldn’t have had a computer at all.

I’m very grateful to Commodore and Jack Tramiel.

Rev. Dan Catt on the New Aesthetic

From the “you should read this” pile: Rev. Dan Catt has a really thoughtful take on why the New Aesthetic is about the future (or at least the present) and not the past.

For background on the New Aesthetic, read this post by James Bridle and this essay by Bruce Sterling.

Why pre-screening applicant Facebook accounts is a bad idea

Reg Braithwaite’s (hypothetical) resignation letter makes it perfectly clear why companies demanding to pre-screen applicant Facebook accounts is a terrible and potentially self-destructive idea. Aside from the very real problems he mentions in his letter, there’s also the fact that if you are even tempted to do this, you need to grow up.

Documenting the harm caused by airport security post-9/11

Today Bruce Schneier writes up the actual harms caused by airport security policies imposed after 9/11. It’s easy to decry these policies for their stupidity and costs, but describing the ways they cause actual harm is more work. This piece is a must read — here’s a snippet:

This loss of trust—in both airport security and counterterrorism policies in general—is the first harm. Trust is fundamental to society. There is an enormous amount written about this; high-trust societies are simply happier and more prosperous than low-trust societies. Trust is essential for both free markets and democracy. This is why open-government laws are so important; trust requires government transparency. The secret policies implemented by airport security harm society because of their very secrecy.

Cleaning up after DNS Changer malware

Paul Vixie (the guy who wrote the BIND DNS server) talks about his efforts to clean up the effects of the DNS Changer malware, which changes the DNS settings on the host computer (and sometimes the routers they use). DNS Changer was, in essence, a black hat advertising network. If you paid them, they would alter the malware victims’ DNS searches to redirect them to sites that promoted your products.

After the DNS Changer network was taken down, Vixie’s job was to come in and stand up replacement DNS servers to take the place of the bogus ones, so that victims of the malware didn’t suddenly lose the ability to perform DNS lookups. In the meantime, the working group is trying to remove the malware from hundreds of thousands of devices before the new DNS servers are taken down by court order on June 9.

Interesting look at a tough problem.

Understanding offensive football in two paragraphs

Let’s say you are a casual football fan who doesn’t really understand how football strategy works. Chris Brown explains the purpose of every offensive scheme in two paragraphs:

With 11 players to each side, every play — but particularly run plays — often comes down to how the offense does or does not account for one or two particular defenders. In the modern NFL, if all of an offense’s players block their counterparts on a running play, the defense will have two defenders unaccounted for: The counterpart for the running back carrying the ball and the counterpart for the quarterback, who most likely has handed the ball off. Good quarterbacks like Peyton Manning seek to control their counterpart by faking a play-action pass, so that a deep safety must stand in the middle of the field.

But the ballcarrier still has a counterpart. NFL offenses work extremely hard to dictate who that guy will be — with motion, different blocking schemes, and even using wide receivers to block interior defenders — but at some point the math is the math. Until the quarterback is a threat, the math will always work against the offense. But spread coaches, without subjecting their quarterbacks to undue brutality, have learned to change the calculus.

That’s from an article on how the New York Jets will use Tim Tebow, but if you understand those two paragraphs, you will understand more about football than most people who watch it all day every Sunday.

Distributed systems do not provide free reliability

Distributed database creator and LinkedIn engineer Jay Kreps pokes a hole in the widespread myth that systems that scale horizontally are inherently reliable. This is an important post, because intuitively it seems like a system that scales horizontally and makes provisions for fault tolerance should be reliable. Indeed, that’s the value proposition for many people. Rather than having to be smart enough to provision big servers intelligently and figure out how to make them fault tolerant, you can just throw commodity hardware at the problem and be ready to swap out systems when you encounter the occasional hardware failure.

If you enjoy that article, move on to Daniel Abadi’s post on Replication and the latency-consistency tradeoff. It’s not about system failure but about the performance characteristics of distributed systems. This is the sort of real-world issue that is glossed over when you talk to people about distributed systems a lot of the time.

The hype about the new distributed database systems is that they make life easy. The truth is that they’re incredibly complex, but they make it possible for small companies to achieve things that were out of reach for all but the largest companies until very recently. I’m just starting to wrestle with some of this stuff and you can expect more posts about this topic.

Older posts Newer posts

© 2025 rc3.org

Theme by Anders NorenUp ↑