Computers have brought the issues of user interface (UI/UX) to the forefront — but designers and engineers have been considering these issues for thousands of years, across many different technologies. Creating and improving technologies is never a matter of right vs. wrong, but rather a matter of balancing the trade-offs. In this talk, Mark Madsen describes a number of the trade-offs that engineers have made throughout history, and then tells us how this perspective applies to SQL vs. NoSQL and big data analytics. Even if you’re not working with big data, this talk is a fun and clever history of various data storage and retrieval mechanisms, starting with clay tablets.
You have probably heard software engineers talk about themselves as “artists.” You have also heard them talk about “craftsmanship” as a way of describing professionalism. In this talk, Emily Xie asks what it means to use these metaphors for coding, and what implications each of these metaphors has for the ways in which we work.
We know that UX is an important part of software design. But the high principles associated with UX design can sometimes fall somewhat short of the real-world situations in which designers find themselves. How can you reconcile real-world constraints with the your UX plans? In this talk, Janne Jul Jensen brings a case study from a mobile banking system on which she worked.
Another talk in the “Wat” style, in which we point to weirdness in a programming language, this talk (given by Brian Leroux) points to the many strange corners in JavaScript. Whether you use JavaScript and want to understand the language better, or don’t use JavaScript and want to justify that decision by making fun of the language, this (slightly older) talk will certainly provide you with some food for thought.
“Machine learning” sounds like the basis for a new (and possibly bad) science fiction movie. But in fact, it’s the idea that we can ask the computer to identify patterns in large data sets — patterns that we would otherwise miss. Now, machine learning isn’t new, but it has become increasingly important, given the rise of big data, and the need for businesses to understand their customers better. Python has become an increasingly popular tool for implementing machine learning, thanks in part to scikit-learn, a Python package built on top of NumPy and SciPy. In this talk, Kyle Kastner introduces scikit-learn, and describes what we can do it with, as well as how to do so.
What happens when you execute a line of Python code? Experienced Python developers know that it’s turned into bytecodes, which are then executed. But how does that happen, and how can we describe the process? In this talk, Allison Kaptur goes through the workings of the Python virtual machine, describing byte codes and the ways in which they’re used. If you’re a Python developer, then this is likely going to reveal a great deal of useful under-the-hood information that can help to inform your development work.
We all hate to visit slow Web sites — but what does it mean for a site to be slow? Until we define our terms better, it’ll be hard for us to know where to start fixing things. In this talk, Paul Irish does try to define what it means for a site to be “slow” or “fast,” and then suggests some ways in which we can improve users’ perception of slowness.
What do you need to know in order to be a Web developer? A great Web developer? In this talk, Kathy Sierra argues that the most important skill is being able to learn and assimilate new things quickly. New languages, new browsers, new paradigms, new considerations — you’ll always, for your entire career, need to learn new things. How can and should you learn quickly and well? And what does it mean to learn, or to become an expert?
Perl has been around for a very long time. The current version is Perl 5, which has also been around for a very long time. For about two decades, Perl 6 has been an almost mythical language, one which would “one day” be released. It seems that Perl 6 is finally coming closer to fruition. Has it been worth the wait? In this talk, Curtis Poe describes the current state of Perl 6, which will be released in the coming year, and promises not only to provide new features for existing Perl developers, but for developers for other languages, as well.
The good news: CSS (Cascading Style Sheets) makes it possible to style your Web pages however you want. The bad news: Making CSS do what you want can get difficult, especially as your pages get increasingly complex. Lea Verou not only creates a large number of CSS-related tools, but also explains how to use CSS. Over the last few years, she has given talks about “CSS secrets,” things that might not be obvious, even to people who use CSS on a regular basis. In this talk, she describes 10 of these secrets, showing how to use the power of CSS without having to scratch your head too terribly much.