Norvig vs. Chomsky and the Fight for the Future of AI

“When the Director of Research for Google compares one of the most highly regarded linguists of all time to Bill O’Reilly, you know it is on. Recently, Peter Norvig, Google’s Director of Research and co-author of the most popular artificial intelligence textbook in the world, wrote a webpage extensively criticizing Noam Chomsky, arguably the most influential linguist in the world…”

Juju provides service orchestration

“Juju focuses on managing the service units you need to deliver a single solution, above simply configuring the machines or cloud instances needed to run them. Charms developed, tested, and deployed on your own hardware will operate the same in an EC2 API compatible cloud…”

“The local provider allows for deploying services directly against the local/host machine using LXC containers with the goal of experimenting with juju and developing formulas.

The local provider has some additional package dependencies. Attempts to use this provider without these packages installed will terminate with a message indicating the missing packages…”

Go at SoundCloud

“SoundCloud is a polyglot company, and while we’ve always operated with Ruby on Rails at the top of our stack, we’ve got quite a wide variety of languages represented in our backend. I’d like to describe a bit about how—and why—we use Go, an open-source language that recently hit version 1.

It’s in our company DNA that our engineers are generalists, rather than specialists. We hope that everyone will be at least conversant about every part of our infrastructure. Even more, we encourage engineers to change teams, and even form new ones, with as little friction as possible. An environment of shared code ownership is a perfect match for expressive, productive languages with low barriers to entry, and Go has proven to be exactly that…”

What else is there in Python?

“Well, I haven’t found the else keyword very useful outside an if block. My opinion is that with for and while loops it should probably be avoided as its behavior is not intuitive. Use it only if it’s more readable than its more verbose alternative. Using else in a try statement, on the other hand, is much more intuitive, and is probably a better alternative than catching exceptions you didn’t plan on, or using a variable to store information on whether an exception was raised to be used after the try..except block…”

HTML5 Tutorials for Keeping Your Design Skills Tight

“With the growing number of HTML5 tutorials available to help designers and developers get a better handle on this language, it can get a bit tricky sorting through them to find what you are truly looking for. And as the capabilities of this language expand, it is important to keep up with the many ways to harness the full power of HTML5. Today, we hope to help you on that journey.

Below is a collection of handy HTML5 tutorials and resources that will teach you the basic ins and outs of the language, along with many, much more specific techniques. Take a look down through them and start boning up on HTML5!…”

Gevent, Threads, and Benchmarks

“There’s a good bit more to gevent that I’d like to cover in future posts, but for now the points I’d like to leave you with are the following:

  • You shouldn’t be spawning something expensive like a thread for each incoming connection. It eats up various types of server resources.
  • You shouldn’t rely on thread pools to protect you from resource exhaustion, because they can fall victim to the slowloris attack.
  • Gevent greenlets are lightweight enough that you can spawn one for each connection, and you don’t have to rely on a pool (which can become exhausted in a slowloris type attack)…”

Machine learning for the impatient: algorithms tuning algorithms

“In this post I am actively attempting to ignore the inner workings of the algorithms used and instead focus on them as “black box” components. I speak to their use and their usefulness but not a lot about their actual mechanism. This is in no way fair to these elegant algorithms whose inventors are much smarter men than myself. My personal interest lies in producing interesting (useful?) effects via manipulation of these algorithms and my goal is to help explain at a high level how I approached the problem. I will also be ignoring the technical specifics such as library and language choices as they really will just complicate the message for now…”