Track: Modern CS in the Real World

Location: Plymouth - Royale, 6th fl.

Day of week: Wednesday

Modern systems in production rely on decades of computer science research. Over time, new architectural patterns emerge that enable more resilient and robust systems. In this talk, we'll discuss some of these patterns from systems I've worked on at Google and the related work that provide insights into the motivations behind them.

Track Host:
Aysylu Greenberg
Software Engineer @Google

Aysylu Greenberg works at Google on Drive infrastructure. In her spare time, she ponders the design of systems that deal with inaccuracies, enthusiastically reads CS research papers, and paints.

Trackhost Interview

QCon: What's the focus of your track this year?

Aysylu: The five speakers represent expertise from different areas of computer science that are applied in the industry every day. There's a lot of hype around each of the topics, so I would like the attendees to come in and get more information about what's going on, what areas they should be paying attention to, what kinds of techniques they should learn about, because they will be hearing more about them in the coming years.

Deborah Hanus is a Ph.D. candidate at Harvard who has been doing machine learning research throughout her academic career. She will talk about the current set of topics that are of interest to the machine learning community. In addition, we’ll hear about her experiences of both doing research and working in the industry, seeing both perspectives. I think the attendees will enjoy learning more about some of the challenges of getting the research out into the industry and how this process works. I think the biggest thing that we as industry practitioners are missing is the understanding of how research conducted in academia gets out into the industry, gets adopted in companies and becomes a proven technology. I'm really excited to hear Deborah shed some light on this.

Alex Kesling, who works at Google on virtual reality, will talk about virtual reality and the Computer Science research that goes into making it work. There's a lot of hype around the technology, but what doesn’t get discussed as often is the kinds of problems that are being solved. I’m really looking forward to hearing Alex talk about building virtual reality technology, what kinds of problems occur, and what problem domains are relevant. It will be interesting to hear about how research in networking and Internet of Things is being applied to virtual reality.

Matt Adereth is a Managing Director at a quantitative hedge fund Two Sigma. He will present on optimization techniques done in a distributed manner, using highly scalable platforms that were built. I’m looking forward to learning about how modern parallel compute platforms enable statistics researchers to solve optimization problems. In addition, we’ll see visualizations of the techniques which will be helpful for gaining insight into how they work, even for those with little background in statistics.

Stuart Sierra, who is one of the core contributors to Clojure and Datomic, will cover some of the most important ideas that came out of functional programming, and are being applied to systems written in languages outside of the functional paradigm. He will talk about homoiconicity and the power that comes from having the same data representation in all levels of abstraction of a system. The attendees will be able to apply this powerful idea in their systems today and will also learn about how various functional programming concepts are relevant to systems written in languages from other paradigms.

Kavya Joshi is a software engineer at Samsara. She gave a really great talk at QCon San Francisco last year on race detectors in Go and the use of vector clocks to reason about the "happens before" approach. In this talk, she’ll expand on the main principles of ordering events used in a variety kinds of systems, from distributed and concurrent systems to compilers. I'm looking forward to hearing about how we can reason about time and how we can apply these approaches to a variety of systems that we are building.

QCon: So what do you want a developer who comes to your track to walk away with?

Aysylu: I think there are three things that I'd like the attendees to get out of this track:

  • The understanding of existing computer science research is becoming more and more important. We stand on the shoulders of giants when we build our modern systems. And so I would hope that the attendees can have enough of the exposure to the literature as well as the problems being solved these days so they can start utilizing it in their day to day work. I believe that being more aware of what's going on in academia and figuring out how we can apply it in the industry is incredibly valuable. I would like the attendees to be able to look back and see why systems are built the way they are right now. What real limitations we have today and how this changed over the past few decades. I think this is really important to be able to make the right tradeoffs and adopt technologies knowing where the industry and research is headed.
  • Another takeaway is how the different areas of Computer Science and math all link together. All the five talks specifically focus on various aspects of modern research. Throughout these talks, we’ll see how the different areas of Computer Science intersect and combine to solve new problems.
  • Finally, I hope the attendees will have a better understanding of the challenges of applying new ideas coming out of research.
QCon: If I'm a software developer and I come to you and ask: "What is the one thing that you think I should focus on today. To position myself for what comes next?".

Aysylu: I think one of the important things is to keep an eye on things that help with our mid- to long-term development and that is knowing what ideas are being generated and discussed and acquiring a decent understanding of them. Every idea that will be presented in the talks on my track is something that will be discussed more in the coming years. And so my advice would be for the attendees to expose themselves as much as possible to what's happening now in the industry and academia and to actively think about how they can apply their knowledge in one area to other problem domains and synthesize solutions for their own systems. Cross-domain knowledge is becoming more valuable, so having the mid- to long-term outlook into the developments and types of problems that are being solved to utilize knowledge in one area to solve problems in another will become more relevant as time goes by.

10:35am - 11:25am

by Kavya Joshi
Software Engineer @Samsara

Your favorite distributed system and the concurrent program you wrote last week are built on the same foundational principle for ordering events across the system. This talk will explore the beautifully simple happens-before principle that lies behind these complex systems. We will delve into how happens-before is tracked in a distributed database like Riak, and how it’s implicitly maintained by the concurrency primitives provided in languages like Go. We will touch upon other sophisticated...

11:50am - 12:40pm

by Stuart Sierra
Clojure Developer/Contributor @Cognitect

What do Lisp, Prolog, Tcl, machine code, and XSLT have in common? It's a computer science-y word that sounds cool and lends an academic sheen to your programming language, but do you know what "homoiconicity" really means? Maybe you saw some Scheme in college, but S-expressions aren't just about macros. This talk will demonstrate the power that comes from having the same data representation at all layers: programming language, specification, database, inter-process communication, and user...

1:40pm - 2:30pm

by Matt Adereth
Managing Director @TwoSigma

We often want to find the best settings for our systems, whether it’s configuring the best JVM parameters, optimizing user workflows, or selecting the right configuration for a machine learning algorithm. Black-box optimization techniques that can find good (hopefully optimal!) parameters have been investigated for the last 60 years, but over the last 20 years there’s been significant attention placed on creating versions that can take advantage of parallel compute.

In this talk, we’...

2:55pm - 3:45pm

by Alex Kesling
VR Engineer @Google

Virtual reality has been all the rage of late. With a myriad new devices and everyone talking about it, it’s easy to get lost in the hype cycle… but how much has VR made it into the real world? Having reached more than a million students, Google Expeditions is at the forefront of bringing VR to the classroom. Though education presents a world of possibilities, it also brings a plethora of challenges. This talk will explore Google Expeditions as a case study in building meaningful VR...

4:10pm - 5:00pm

by Deborah Hanus
PhD candidate at Harvard University

With recent advances in computational power, machine learning is positioned to change the way we interact with the world around us. Likewise, a surge of well-maintained machine learning libraries has made it possible for engineers to use machine learning models with minimal background. However, many find that using machine learning responsibly in your company can be harder than it seems. Here, we will discuss some of the challenges that can arise when working with data.


Monday, 26 June

Tuesday, 27 June

Wednesday, 28 June