Category Archives: Uncategorized

[Video 401] Gershom Bazerman: The Abstract Method, In General

Software developers love to talk about “abstraction” as an important principle. But what’s the point of abstraction? How does it help us to write, and create, software that easier to write, extend, and modify? How can we use the principles of abstraction to think in new and better ways, to solve bigger problems, and write better software? In this talk, Gershom Bazerman talks about abstraction — not just from the perspective of the Haskell language, but from programming in general.

[Video 371] Brendan Eich: Rise of the Compilers

JavaScript is a language — but it is also, increasingly, a target for compilers written in other languages. How is JavaScript (aka ECMAScript) evolving to support a variety of languages, use cases, and real-world needs? In this talk, JavaScript inventor Brendan Eich describes where JavaScript is going, what new features it is going to get in the coming years as the language becomes an even more important aspect of the Web infrastructure.  The talk even includes a demo of a first-person shooter game written entirely in JavaScript, something that we never would have expected until just a few years ago.  If you’re interested in the future of JavaScript, this talk should help you to understand the future of what’s often called, “the assembly language of the Web.”

[Video 348] Thomas Wilde: The Go Programming Language — An Introduction

The Go language continues to rise in popularity. What is it about Go that makes it popular? And why should you consider it for your upcoming projects? In this talk, Thomas Wilde introduces the language, starting with its origins and motivations, and moving into basic syntax and some of Go’s most famous features, such as goroutines. If you have always been curious about Go, but haven’t had a chance to learn it, this talk is a good introduction to the language, and where it might be useful in your projects.

[Video 319] David Branner: The Programming Language Called Classical Chinese

We use the term “language” to describe a programming language, but we normally assume that there is a world of difference between human languages and programming languages. But what if there were a human language that could be described similarly to how we describe a programming language? That might provide us with some insights into the structures of both! In this talk, David Branner introduces us to classical Chinese, a language whose structure can be analyzed similarly to programming languages. Even if you don’t know any Chinese, this talk provides useful insights into the way that we people communicate with one another, and with our machines.

[Video 318] Christopher Neugebauer: Python’s New Type Hints in Action… In JavaScript

Python is a dynamic language, which basically means that data has types (but identifiers don’t). So s can point to a string, an int, a dict, or a function.  But there has been some movement in the last year or two to introduce some form of strong typing, or type hints, into Python.  What does this mean, and how does it work? One way to think about it is by looking at a similar idea that was implemented in JavaScript, known as TypeScript. In this talk, Christopher Neugebauer describes TypeScript, what it did for JavaScript, and how Python developers can (and should) look at the introduction of type hints in future versions of Python.

[Video 309] Andrew Godwin: Dubious Database Design

Web applications generally have a database on the back end. But how should we structure that database? There are many ways to structure our database in a database, and some of them are far more efficient and manageable than others. In this talk, Andrew Godwin discusses and shows many of the different ways in which people use and abuse their databases for back-end storage, and indicates why these might be bad ideas — whether you’re using Django, or any other Web application framework.

[Video 289] Michael Coté: Day of the Donkey

DevOps is increasingly mainstream: Companies depend heavily on their servers, and this means that their operations, integration, and deployment need to be automated and monitored to an increasingly large degree.  But beyond the obvious trends in favor of DevOps, what do we know? How many companies are investing in DevOps? Why? And what areas are of most interest? And how can devops engineers help companies to improve better and faster?  In this talk, Michael Coté surveys the current state of devops, describes the trends, and tells us what language we can (and should) use to convince management that it’s a worthwhile investment.

[Video 248] Jon Rowe: RSpec 3 and why I `expect(you).to care`

RSpec is one of the best-known test frameworks in the Ruby world.   With RSpec 3.0, the framework has made a large number of changes, mostly aimed at making tests cleaner, easier to write and understand, but also making RSpec itself easier to maintain. In this talk, Jon Rowe describes the changes and improvements in RSpec 3.0, and why these are changes that everyday developers (and RSpec users) should notice, care about, and even incorporate into their work.

[Video 247] Gayle McDowell: Cracking the Coding Interview

Congratulations!  You’ve been invited to interview with the company of your dreams. Of course, this means that you’re going to be put through a grueling technical interview.  What do companies look for, both before and during the interview? What strategies can you employ to increase your chances of success? In this talk, Gayle McDowell tells you how to apply for jobs — starting with your resume, and then with the knowledge that you should have and demonstrate during an interview.

[Video 242] Lukas Fittl: Advanced use of pg_stat_statements

PostgreSQL has been growing in popularity for the last few years, partly because its performance continues to be excellent as it scales. But this doesn’t mean that PostgreSQL scales magically or automatically, or that we don’t need to worry about which queries are consuming the greatest resources. pg_stat_statements is a PostgreSQL extension that lets you track query performance over time. In this talk, Lukas Fittl describes some advanced ways in which you can use pg_stat_statements to understand, and then improve, your PostgreSQL database performance.