[Video 331] Martin Gontovnikas: Rethinking backend with webtasks

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.

[Video 330] Hugo Giraudel: 3 years of purging Sass

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.

[Video 329] Tara Scherner De La Fuente: I Like My Params Like I Like My Coffee

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.

[Video 328] Stefan Behnel: Get Native with Cython

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.

[Video 327] Bryan Van de Ven: Bokeh for Data Storytelling

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.

[Video 326] Nick Niles: Command Line Magic For Designers

Front-end developers have always needed to know about HTML, CSS, and JavaScript. But lately, as the front end of Web applications has become increasingly complex, a number of command-line tools such as Yeoman  have arrived, to help us assemble our sites more easily and effectively. The number of such tools, and the fact that they rely upon the command line, might be a bit daunting to front-end developers, though. In this talk, Nick Niles introduces some of these tools, and describes when and why to use them.

[Video 325] Corey Haines: Fun with Lambdas!

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.

[Video 324] Pam Selle: Streams — The data structure we need

How big is the data you’re processing? If it’s large, then you will probably not want to put all of it in a single data structure, in order to save memory. Instead, you can use a lazy list, aka a “stream,” which allows us to consume very small amounts of memory while working with very large, or even infinitely large, data structures. In this talk, Pam Selle describes streams, demonstrates why they are useful in general, and then talks about ways in which we can work with streams in JavaScript — including a summary of the standards and data structures that will be included in upcoming versions of JavaScript. If you’re planning to work with large amounts of data, regardless of the language with which you’ll be working, then this talk will be of interest to you.

[Video 323] Thomas French and Fred Farrell: Agent-Based Modelling, the London riots, and Python

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.

[Video 322] Yehuda Katz: Rewriting a Ruby C Extension in Rust

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?