Ruby is famous for letting programmers do anything and everything. You can change the language, the syntax is extremely flexible, and there are many ways to do the same thing. This flexibility is great for experienced developers, but how does it work for new programmers? In this talk, Matthew Clark enumerates a number of reasons why Ruby is a good language to learn programming, and points to the features that make Ruby easy to understand and learn. As he says, we can talk about things without getting absorbed in the minutiae of where to put parentheses.
Metaprogramming is a powerful technique in which we write code that then writes code. What tools does Python provide for metaprogramming? And how/when should we use such techniques? In this talk, Andrea Crotti walks us through metaprogramming in Python, showing such techniques as decorators and metaclasses. If you’re an intermediate Python developer looking to improve your code, this talk should give you many new ideas.
We hear a lot about “big data” and “machine learning.” But why are these topics interesting? What sorts of advantages can they give us? In this talk, Jeremy Howard describes the ways in which machine learning and data analysis have already changed the worlds of business and medicine, and ways in which we can expect to see our lives change in the future. If you’ve wondered why people are getting excited about “big data,” this is a high-level, entertaining explanation.
Python 3 has been out for a while, but many companies haven’t yet found a compelling reason to move from Python 2. One feature which has been getting a growing amount of attention, and which is encouraging people to move to Python 3, is asyncio — a part of the standard library as of Python 3.4, which allows for asynchronous I/O. But what does “asynchronous I/O” mean, how does it relate to Python, and why would I want to use it? Moreover, how can I use it? In this talk, Anton Caceres introduces us to asynchronous Web development in Python, which is based on Python’s generators, and which offers a new way to think about Web applications.
Many of us program with object-oriented languages, such as Ruby. But what does “object-oriented programming” really mean? The emphasis in Smalltalk, the original OO language, wasn’t on objects so much as on messages — the communication that took place between the objects. In this talk, Brian Knapp explores what messages are, and how thinking in terms of them can change (and improve) the way in which you write object-oriented code — not just in Ruby, but in other languages, too.
Programmers love to use benchmarks to figure out whether a program is running quickly enough. Or to find the bottlenecks in a program. Or, sometimes, just to figure out why users are experiencing slow behavior. But programmers who try to compare programs, or algorithms, or languages, or technologies, are often accused of making mistakes with their benchmarks. In this talk, Aysylu Greenberg looks at benchmarking, and points to ways in which our benchmarks may well be flawed — and how we can try to avoid such problems.
PostgreSQL is obviously a relational database. (The “SQL” in its name sorta gives that away.) But PostgreSQL has, over the last few versions, added a growing number of features normally associated with NoSQL. In this talk, Vibhor Kumar describes some of the latest NoSQL features to be added and improved in PostgreSQL, , including the Hstore key-value storage and the JSONB storage type.
PostgreSQL has been around for 20 years, and continues to be a popular and powerful open-source project, with a growing number of companies adopting it for their database needs. The PostgreSQL developers typically release a new version toward the end of every calendar year; this year, we can expect version 9.5 at some point late in 2015. In this talk, Magnus Hagander describes the new features that PostgreSQL 9.5 will include. If you use PostgreSQL (or are wondering why so many people are now adopting it), this talk will shed light on the future directions of PostgreSQL, and will provide you with the insights you need to prepare for this new version.
Let’s say you have a really popular open-source project. Let’s say that you want to provide the greatest possible performance, but that the basic installation of Ruby on Rails limits you. What can and should you do? How do you deal with this, without breaking Rails, requiring too many customizations or monkey patches, or hurting your application? In this talk, Discourse cofounder Sam Saffron describes how they handle such situations in their (amazing, in my opinion) discussion application. How do they use Rails, how do they go around it, and how do they try to improve performance?
Data science is a collection of disciplines that allow us to look through large collections of data, in order to discover and understand the patterns hidden within. Clojure has emerged as an excellent language for doing data science — because of its interoperability with the JVM, along with its clean and functional syntax. In this talk, Edmund Jackson demonstrates why you would want to use Clojure for data science, and how you could go about doing so.