Unit tests are essential to maintaining code quality, especially as the complexity of an application increases.
Sourcegraph is a large-scale code search engine (live at sourcegraph.com) that indexes millions of projects across 5
different languages. Its web app component is written in the Go programming language. The Go standard library has a
terrific package for writing unit tests, but the language is still fairly young and the best-practices conventions
around structuring tests for different types of applications are still evolving and developing.
Quinn Slack discusses some patterns that Sourcegraph uses to implement fast, D.R.Y., and comprehensive unit test
coverage. He walks through how Sourcegraph initially structured its tests and the improvements they made as their web
app scaled and became more complex. He shows specific code snippets and hopes that these usage patterns will be useful
to others building programs in Go. Slides are available at:
Redis is a popular key-value store used by many companies. Matt Stancliff, a Redis Core Contributor, talks about the challenges with working on a large open source project.
Testing and analysis don’t catch all problems, but type systems do. By extending the Java type system, the Checker Framework can guarantee your program free of common problems with concurrency, security, null pointers, and more. Each checker in the Checker Framework protects you against a different kind of error, and you can mix-and-match and use whichever ones you want, or even create your own. Type annotations are all that’s required. Only a small handful are necessary for even the largest projects, and the Checker Framework has proved type annotations so useful that they were included in the Java 8 syntax.
Jimmy Koppel will give an introduction and overview of the Checker Framework, and how it’s helped Apptimize make its Android SDK one of the most robust available.
Using Linux containers in development is very different from using them in large-scale multi-tenant production environments. Bowery co-founder Steve Kaliski will discuss issues the team ran into and how they solved them, the advantages and disadvantages of creating your own container solution, and then show how Bowery simplifies the process of managing and orchestrating these containers in development.
Formerly at NYU studying mathematics and economic theory, Steve Kaliski worked at Poptip, beginning during their stay at TechStars NYC. He built out their front-end for various products, as well as the first version of their API. He is now co-founder of Bowery.io, an easy way to set up development environments.
Growing in five years to a site of over 130 million monthly users, Imgur is now a massive community creating and exporting memes throughout the four corners of the internets. This talk discusses the continuing evolution of the site, the emergence of the Imgurian community, and our most recent experience designing and launching a massive overhaul of the site experience. Presented by Tim Hwang, Tony Guglielmi, and Michal Kaczmarek.
David Varvel, currently working on CloudFoundry, discusses his experiences with rewriting the elastic runtime of CloudFoundry and more generally, how to grow software architectures.
Igor Lebovic from AirPair discusses the “viral content coefficient” and strategies as to how companies can grow through their content.
Gradle is build tool that can scale up to large and complex projects, including Android.
Hans Dockter and Luke Daley talk about Gradle, a build system that can scale up to large and complex projects.
Nina Mehta, a designer at Pivotal Labs, discusses tips in tricks for collaborating between developers and designers while continuing with Agile methodologies.
Nina Mehta, a designer at Pivotal Labs, discusses strategies to get design work prioritized amongst other product priorities.
Mike Grafton talks about the Android unit-testing framework Robolectric in this talk titled “Everything you always wanted to know about Robolectric (but were afraid to ask)”.