Andy Gross: Riak and Dynamo, Five Years Later

In 2007, Amazon published a paper about “Dynamo,” a high-availability storage system. A number of NoSQL databases were created based on this paper and paradigm, with great success. One of them is Riak, a distributed, open-source NoSQL key-value store developed by Basho. In this talk, Andy Gross (who was then chief architect of Riak) describes Dynamo, Riak, and where things stood in 2012 (i.e., 2.5 years ago) in contrast with the original Amazon paper. While Riak has advanced since then, this talk introduces both Dynamo and Riak, and how we can think about distributed systems.

Michael Coates: Understanding, Exploiting and Defending against Top Web Vulnerabilities

Continuing the discussion of Web security from yesterday’s lecture, today’s talk describes many of the vulnerabilities in modern Web applications — and then goes on to discuss how you can defend against them, as well as test your applications for such holes. Michael Coates, an expert in Web security, looks at some of the most common problems that Web applications experience.

James Mickens: Web security

What does “Web security” mean? This lecture, part of a course at MIT, provides an overview of the challenges facing Web applications nowadays. The instructor, James Mickens, talks about a variety of problems, many of which revolve around the complexity of modern browsers. If you didn’t think that the Web was scary before this talk, you will be worried after watching it!

Mary Rose Cook: Writing a Lisp interpreter in JavaScript

A classic exercise in introductory computer science courses is to build your own Lisp interpreter. Doing so not only gives you an understanding of how the language is built, but of how programming languages are generally built — and it also demonstrates that languages are often the sum of many simple ideas and parts. In this talk, Mary Rose Cook creates a Lisp interpreter using JavaScript, such that it runs in the browser. If you have always wondered how programming languages work, this is a great way to see it done — in a language that’s available to all of us.

Erin Swenson-Healey: Hanging Up On Callbacks — Generators in ECMAScript 6

Callbacks are a well-known aspect of JavaScript programming. With the pending rollout of the ECMAScript 6 standard, we can write in a different style, namely using generators. In this talk, Erin Swenson-Healey introduces ES6 generators, and contrasts their use with the use of callbacks — emphasizing the decreased code and increased readability that results.

Ville Tuulos: A Billion Rows per Second — Metaprogramming Python for Big Data

Python is used in a wide variety of settings. Somewhat surprisingly, it’s becoming particularly popular for “big data” analysis, looking for trends and correlations in large data sets. In this talk, Ville Tuulos describes his company’s uses of Python in big-data analysis. He compares different techniques and technologies that can be applied to big data, and talks about how (and why) his company uses Python, which is often seen as a slow language — not appropriate or such large data sets.

Yukihiro Matsumoto (Matz): mRuby

Lately, Matz (the inventor of Ruby) has been focusing, like many people in the technical world, on mobile devices. How can Ruby be used to program in an increasingly mobile world? The answer is mRuby, a mobile-oriented version of Ruby, on which Matz and others are working. In this talk, Matz introduces mRuby, and describes his considerations and thoughts on the topic. What is truly crucial to keep in the language, and what can be left out?

Raymond Chandler III: Super Advanced Python

Python is a popular language, in no small part because it’s so easy to learn. But the fact that Python is easy to learn doesn’t take away from the fact that it’s a deep language, with many advanced features. In this talk, Raymond Chandler III introduces some of these advanced features, demonstrating that Python has, to borrow a phrase from the Logo community, “low floors and high ceilings.”