Front-end development is popular and necessary — but it is also hampered by the fact that everything happens on the client. Perhaps “hampered” is too strong of a word, but there are times when a front-end developer wants or needs access to a server. In this talk, Martin Gontovnikas introduces “webtasks,” which can be described as a small backend application to support a large front-end application.
CSS, the layout and formatting language of the Web, is hard for many people to use. Sass is one of several CSS supersets and/or replacements that have emerged over the years, allowing us to write our CSS more expressively and concisely. In this talk, Hugo Giraudel describes many of the Sass mistakes that he has seen, and corrected, in numerous open-source projects over the last few years — and thus, indicates ways in which you can improve your use of Sass, and thus clean up your stylesheets.
Ruby on Rails makes it easy to take user-submitted parameters, and pass them along to the database via Active Record. That’s great, but raises questions about security. In this talk, Tara Scherner De La Fuente teaches us about “strong parameters,” the mechanism in Rails that ensures we only pass to our models those values that we really want and need to pass along. She gives us hints for using them, and for ensuring that our applications are as protected as they can and should be.
Python‘s speed is often good enough for many purposes. But in some cases, you really wish that you could run your Python code at C-language speed. You could always write a Python extension in C, but if you’re not a fluent C programmers, then that’s not really an option. Plus, you’d lose all of the Python expressiveness that you already enjoy. Enter Cython, which translates your Python into C — and then provides you with a Python library that you can import into your Python code. In this talk, Stefan Behnel introduces Cython, demonstrates what it can do, and describes how it can fit into a Python development shop aiming to increase execution performance while working in a Python (and Python-like) environment.
Data science is all about finding insights in large data sets. In many cases, these insights are easier to find, or at least more persuasive, when they are visualized. A number of graphics libraries exist in the data-science world, some of which are written in Python. In this talk, Brian Van de Ven introduces Bokeh, a visualization library for Python that works with other elements of the SciPy stack to create beautiful charts and graphs. Bokeh goes further than other libraries, in that it not only produces static images, but also dynamic visualizations in which someone can explore the data.
Many programming languages include a “lambda” keyword, allowing you to create an anonymous function. But how far can you go with lambda? In this talk, Corey Haines explores what’s possible with lambda — not as a practical exercise, but as a thought experiment turns into actual code. If you’ve wondered what lambda can do, or what the lambda calculus was trying to demonstrate, or just how far you can go with a very small language-creation toolkit, this talk will help you to understand all of these better.
Agent-based modeling is a powerful tool for understanding complex behavior — deriving rules that describe various phenomena, as well as for predicting behavior. It has a wide variety of uses in science, engineering, and social sciences. In this talk, Thomas French and Fred Farrell introduce the idea of agent-based modeling, and demonstrate some models that they have built in Python to understand riots that took place in London in 2011. Even if you’ve never heard of agent-based modeling, this talk demonstrates some of the power that ABM brings to the table.
Rust is a new language for systems programming, which aims to be friendly to developers. But typically, a language that is friendly to developers can be hard to optimize. In this talk, Yehuda Katz discusses the Rust language, starting by focusing on a compiled extension that was written in Rust, and which required surprisingly little optimization to outperform C. How can this be, and what does it say about Rust? And how can it help us to understand the differences between dynamic and static languages?