Airbnb hosts tech talks every other Wednesday.
This talk will be about Apache Mesos, a platform that provides efficient resource isolation and sharing for distributed applications and frameworks. You can use Mesos to run Hadoop, MPI, Hypertable, Spark (a new framework for low-latency interactive and iterative jobs), and others on the same cluster. You can also use Mesos to help build novel distributed applications and frameworks. In this talk I'll discuss the architecture and motivation of Mesos, describe how to build a new application/framework on Mesos, and how Mesos is currently being used at Twitter and other places.
Curious about how web browsers work? Rendering engines are responsible for the parsing, layout, and eventual rendering of a web page. WebKit is the rendering engine that powers many of the world's most popular browsers, including Google Chrome, Safari, and the mobile browsers in iOS, Android, and Blackberry. This talk will cover WebKit's history, organization, primary components and data structures, details about rendering and layout, and some new and upcoming features.
Last month, I started a kickstarter to make it easier to install Rails on OSX and get started developing Rails applications. The response was largely positive, and I met my funding goal rather quickly. On the flip side, a number of folks publicly asked why this project is necessary. Surely, they reasoned, it would not be very difficult to script a Rails installation.
This sort of reasoning pervades the open source community, allowing apparent simplicity to drive inappropriately simplistic solutions. Worse, it implies that non-trivial solutions are "overengineering" the problem. Because open source solutions have historically leaked implementation complexity into the public API, some end developers have become wary of large solutions, often assuming that the simpler the solution, the better.
As examples of this phenomenon, I will talk about some aspects of Tokaido (the Rails project) that are unexpectedly difficult, and also how the bundler project faced a similar reaction in some circles. I will also talk about how certain seemingly complex solutions lead to win-wins by eliminating sources of errors that are not limited to new developers. These kinds of solutions always require more work and more code than the simple solutions, but they are worth it.
Data scientists-- the people who straddle the line between statistician and software engineer-- are in demand like never before. Even though this kind of position has existed in many industries for years, it never had a name before, and thus it was challenging to recruit people who possessed this relatively rare mix of skills. As data sets have grown larger and computational skills have become more critical to working with data, what used to be merely challenging has become nearly impossible. The current talent scarcity means that we need to identify and develop people with backgrounds in either statistics, software engineering, or scientific research into successful data scientists. We will discuss how to grow data scientists as well as data science teams, and how to build the kind of work environment that data scientists love.
Jonathan Smiley from ZURB will talk about how the Web is changing, and how our approach to prototyping and product design needs to shift. He'll then get tactical with how to accomplish this using Foundation, ZURB's open source front-end framework for responsive design.
We tuck a lot of features away on github.com.
Sometimes the UI just hasn't been fleshed out. Or we have bigger plans in mind for the feature in the future. Or it just hasn't been finished yet. But we still want to give you the flexibility of using that feature today.
The same can be said about Git. If you've ever looked at the manpages, there's feature after feature and option after option in its binaries. Part of the strength of Git and GitHub is having access to those features when you need them, and getting them out of your way when you don't.
This talk covers both Git and GitHub: different tricks I've picked up after two years at GitHub, helpful advice on common gripes I've seen in support tickets and tweets, and just general nifty things that make you a faster, more capable technologist.
As Square has grown, the methods used to ensure users can always take payments have evolved. We've refined the processes used to develop and deploy services, started using a variety of monitoring tools, and created a comprehensive, service-based on-call rotation.
I'll give an overview of all of these and discuss how Square's engineering team has adapted over the past two and a half years to support both internal and external users.
As the browser emerges as a premier platform for delivering applications to users, the demand for development models and tools that aren't handicapped by the decades of browser cruft keeps increasing. I will talk about the challenges of developing single page apps and how the conventional wisdom in web development is inadequate for where the platform is going.
I'll show how Rdio has dealt with the problems inherent in the platform and touch on the tools we have built to make web development fun and the product maintainable.
*the first 5 minutes of the presentation was not recorded.
At the core of many of LinkedIn's analytics applications is a real-time data pipeline built on top of Apache Kafka. This system handles over 10 billion messages writes per day for thousands of production processes. This talk will cover some of the challenges of building and scaling this data pipeline for log data, system metrics, and other high-volume data streams. It will also cover some details of the design of Kafka, as well as some of the particular requirements of Hadoop data loads and real-time processing applications.
Go is a new general-purpose programming language developed at and in use by Google, with contributions from nearly 300 open source contributors. Go gives you the fun and agility of scripting languages, the performance of traditionally-tedious statically typed languages, and built-in language concurrency mechanisms to let you write simple and straight-forward code whether it's small "scripts" or huge servers dealing with millions of action connections, without the pain of either event-based code or the pain of threads. Go was open sourced in November 2009, had its 1.0 release in March 2012, and is actively maintained and developed.
A practical set of step-by-step recipes for reproducing some of Facebook's biggest mistakes (in security, web stacks, polytheism, deployment, algorithms, photo faxing and other areas) delivered by an engineer who helped make them.
Battle-hardened from running Reddit's infrastructure for four years, Jeremy Edberg (jedberg in most corners of the internet) brings to Airbnb a detailed and comprehensive take on scaling reliable cloud systems using AWS and other web platforms. Now at Netflix as Lead Reliability Engineer, Jeremy will share his learnings and stories from the last five years on building and maintaing large scale systems in the cloud.
Many developers believe they need to choose between OOCSS and CSS preprocessors like SASS/Compass and LESS. Nicole believes that the best sites pair the strengths of both approaches, pulling the architecture from OOCSS and the language additions from SASS. She will share with you some of her war stories, including everything she screwed up when switching to using preprocessors and how she finally found a balanced approach to developing large sites using preprocessors.
The HTTP working group is working at full speed on HTTP 2.0 - yes, really! Curious to know what lies ahead for HTTP 2.0, how it will affect and improve performance of our web applications, what problems it solves, and what you need to do to prepare and make the best use of these upcoming changes? Then that's we will cover.
Even better, we'll make the case for using HTTP 2.0 / SPDY today within your own infrastructure. Rolling your own RPC layer? Think again