The Web is increasingly mobile; people are increasingly using phones and tablets, in addition to desktop computers. We hear a great deal about how we thus need to take mobile devices into account in our development work — but “mobile” means much more than having a responsive site. We need to take mobile devices’ speeds, battery lives, UI, and sizes into account when considering our Web application performance. In this talk, Estelle Weyl tells us what Web developers need to know in order to develop sites that are high quality for mobile devices, as well as for the desktop.
Can your Web application handle lots of traffic? If so, then how much? The best way to figure out how much traffic your application can take is to load-test it. In this talk, Dustin Whittle describes a number of open-source tools that can help you to test the scalability of your Web application, at a number of different levels and in different ways.
Ruby on Rails makes it easy to get started writing Web applications. But perhaps it’s too easy, in that it encourages us to think in terms of server-side applications, when we often nowadays need to be thinking in terms of client-side applications. In this talk, Justin Searls describes the sorts of problems that can arise being a server-side thinker in a client-side world, and demonstrates several JavaScript-based tools (e.g., LinemanJS) that bring Rails-style and -quality development tools to JavaScript developers — and which should shake up our thinking a bit, if we’re still thinking in this way.
For more than 25 years, versions of Lisp have been used in introductory computer-science classrooms — most notably by the famous Structure and Interpretation of Computer Programs (aka 6.001, to those of us who went to MIT in those days). Clojure is a modern Lisp, and this begs the question of whether it’s appropriate for use in modern classrooms with current computer-science students. In this talk, Elena Machkasova describes the reasons why Clojure both is and isn’t appropriate, and considers what can and should be done in order to make it a reasonable and even preferred option for CS instructors.
The days of single-server apps have long been over; it’s now standard for a Web application to have multiple Web servers, one or more database servers, and a number of additional servers for other services, such as Redis, e-mail, and message queues. VMs and containers (e.g., Docker) have made it easier to manage these individual servers, but how do you optimize the allocation, provisioning, and balancing of these servers? Mesos is an open-source project (sponsored by Apache) that manages clusters, and Marathon is a Mesos-based framework that handles scaling for large clusters. In this talk, Connor Doyle introduces Mesos and Marathon, and demonstrates how they can help growing sites to scale their server needs up and down, in an intelligent and controlled way.
Ember.js has increasingly proven itself as a high-quality framework for client-side applications. But what command-line tools exist to assist us in creating Ember applications? Ember CLI has become the popular and standard way to do so. In this talk, Brittany Storoz describes how Ember CLI can be useful not only for creating Ember.js applications, but also for creating custom applications that aren’t directly related to Ember.js, by extending Ember CLI. If Mozilla has adopted Ember CLI to create Firefox OS applications, then perhaps you can use it to create in your toolchain, too.
In recent years, PostgreSQL has gained a number of facilities that were normally associated with NoSQL databases, such as a key-value store and JSON support. In the latest (9.4) release, the JSONB data type brought high performance and many new features. In this talk, Micah Yoder describes the JSONB data type, how it can be used from within SQL, how its performance compares with MongoDB, and how such features can be used from within Python.
JavaScript is evolving: In the coming months, developers will be able to take advantage of a new version of JavaScript, known as ES6, which includes many new features aimed at making it a more mature language. What is ES6, and what can we do with it? In this talk, Aaron Frost introduces a number of the most important features of ES6, from variable scoping to objects.
Python makes extensive use of modules, and expects developers to make extensive use of them, too. But how do modules work? In this talk, David Beazley walks us through the ways in which modules and packages are created and handled in Python 3.
What happens when, within a Ruby on Rails application, you use ActiveRecord to submit a query? In this talk, Pat Schaughnessy traces your query all the way through to the database (in this case, PostgreSQL), and demonstrates how much work Ruby and the database are doing. If you’ve ever wondered how much work happens when you invoke a single Ruby method, now you’ll have your answer.