AirBNB is a well-known Web application and business. They’re known not only for their business, but for a high-quality Web experience. How did AirBNB go from a small, simple, Web application with almost no serious front-end technologies to one that is using many of them, including some home-grown systems? In this talk, Spike Brehm describes the ways in which AirBNB’s front end has changed over time, in order to handle scaling, usability, and maintenance.
Vim is one of the most popular programming editors, because of its speed and extensibility. In this talk, Chris Toomey describes how Vim’s commands are related to one another, and how they form an environment that (once learned) make it easy to navigate and edit text in a variety of languages and formats.
If you have been using Jupyter (aka IPython) notebook for your work in Python, then you’re in good company; many developers (including me) now use it instead of the text-based interactive Python shell. Just using Jupyter has dramatically improved my productivity. However, it turns out that Jupyter, like many open-source projects, is highly customizable. In this talk, Matthias Bussonnier, Jonathan Frederic, and Thomas Kluyver show us how we can customize and change Jupyter Notebook, to make it a custom environment, special for our needs.
Teaching and programming often have different goals, and thus need different tools. However, IPython (now known as “Jupyter“) provides a Web-based “notebook” that makes it easier to demonstrate and collaborate on code — something that’s good for instruction, and also for daily software development. In this talk, Jess Hamrick describes how and why she now uses Jupyter notebooks to teach programming (and Python programming in particular), and what she (and her students) have learned in the process.
If you use databases, then you almost certainly should be grateful to Michael Stonebreaker, who has been researching, creating, and advancing databases for many decades. Stonebreaker was awarded this year’s Turing award (the top prize in computer science) by the Association for Computing Machinery (ACM), recognizing his work. In this lecture, Stonebreaker gives us a survey of database history and technology, as well as where databases are headed. Whether you are a fan of SQL or NoSQL, anyone who uses databases should listen to this talk.
There has been a great deal of discussion in recent months among users and designers of dynamic languages, and how they are starting to look into some form of static typing to reduce bugs, and catch problems earlier. Perl 6 has been under development for a long time, with a release promised by the end of 2015. In this talk, Jonathan Worthington describes the ways in which the developers implementing Perl 6 have thought about the dynamic vs. static tradeoffs, and how Perl 6 reflects their decisions. Even if you’re not planning to use Perl 6, it’s interesting to hear how language designers think about what they’re creating, and how their decisions will affect those using their language.
If you’re a die-hard Emacs user (like me), then you wonder why so many people use vim as an editor. Fortunately, die-hard vim user Aaron Bieber isn’t so closed-minded; he decided to see what all of the fuss was about with Emacs, and whether there was something that he could learn from it — and perhaps even improve vim in the process. In this talk, we learn about the differences between the editors, what each brings to the table, and when you might prefer to use each one.
DjangoGirls aims to introduce women (and girls) to the world of software and Web development (using Django, of course). They sponsor workshops, and offer documentation, tutorials, and other materials that encourage women to learn programming. How do Django GIrls workshops, with very small budgets, handle the issue of accessibility? What considerations do you need to keep in mind? How does the workshop itself change? In this talk, Lacey Williams Henschel describes her experiences putting together Django Girls workshops, and tells us how others can similarly make workshops as open and inviting as possible.
Where is the Ruby programming language headed? In this keynote address, Ruby inventor Yukihiro ‘Matz’ Matsumoto describes the past, present, and future of Ruby. What programming models have influenced Ruby to date, and what models are influencing it as the language evolves and improves? If you’re a Ruby developer, or are just interested in understanding how a programming language changes over time, then this talk will likely be of great interest to you.
Programmers often talk about “threads,” “processes,” and “concurrency.” But what does that really mean? What does it mean about the programs we write, and how we write them? In this talk, Kerri Miller describes what concurrency means, how we can think about it, and how Ruby programmers can (and should) use concurrency in their programs.