The Chattanooga chapter of Papers We Love
What was the last paper within the realm of computing you read and loved? What did it inspire you to build or tinker with? Come share the ideas on an awesome academic/research paper with fellow programmers and paper-readers. Lead a session and help others share your interest in the field. Otherwise, just come, listen, and discuss.
Please read and follow the Code of Conduct; please let one of the organizers know if anything makes you uncomfortable.
Sign-up: Please RSVP for meetings via Meetup.com
Property testing has risen to popularity in the past years due to its ability to find edge cases and other hard to reproduce bugs. But for programmers new to property testing it can be difficult to see how to use property tests to exercise entire systems.
In this paper we'll look at a real world use case for property tests and examine the tools and techniques used by the authors to find and reliably reproduce race conditions in a concurrent, distributed system.
Chris is a software engineer building services and applications for Le Tote. Although he started out writing C for embedded systems, these days he spends his time in Elixir, Haskell, Elm, and Rust. When not writing code for work, Chris can be found writing code for fun, talking about the joys of functional programming, playing pinball, roasting coffee, or building lego with his kids.
In recent years, supervised learning with convolutional neural networks (CNNs) has seen huge adoption in computer vision applications. Comparatively, unsupervised learning with CNNs has received less attention. In this work, the authors attempt to bridge the gap between supervised learning and unsupervised learning using CNNs.
This paper introduces the concept of DCGANs, which are neural networks that are trained to distinguish interesting structures and meaning from raw image data by competing with one another. In particular, the networks that are presented appear to be a strong candidate set for unsupervised learning of features for use in realistic image generation.>>We’ll explore convincing evidence that the DCGAN pair used here learns a hierarchical representation of the features held within images ranging from objects to entire scenes. Additionally, we’ll explore the use of these learned features for novel tasks - demonstrating their applicability as generic image…
Recent advances in AI have yielded some impressive results. The use of deep neural networks in particular have led to astounding gains; machines have now approached or surpassed human ability at tasks such as object recognition, video games, and board games.
Despite their biological inspiration and performance achievements, these systems differ from human intelligence in crucial ways. Humans still excel at learning quickly from only a handful of examples, and applying knowledge to novel situations.
Can reverse engineering human intelligence usefully inform AI and machine learning? The authors believe so, and offer a set of core ingredients that could pave the way for even more human-like, and powerful, AI.
Stephen Spalding is a technologist, cyclist, and Chattanooga native. Over his professional career, he’s enjoyed working with 3d x-ray machines at GE Healthcare, nuclear reactors at TVA, Clojure services at OpenTable, and serving tables at Boathouse Rotisserie.…
Much AI/ML research focuses on building systems that excel in a narrow area (image recognition, planning, motor control, NLP). While there is tremendous benefit there, it's also interesting to consider building autonomous agents which combine multiple subsystems (NLP, Planning, etc).
Josh Marlow is a startup-addict. He's a python web-app engineer by day, and a functional programmer by night.
Mind-reading for fun and profit
Sometimes (believe it or not), dialogues actually involve two people working together to accomplish a shared goal. Inferring a detailed understanding of these dialogues is an important topic in natural language processing, but the concepts in play extend beyond the domain of explicit spoken or written exchanges. Come for the implicit promise of a fortune telling; stay for the Prolog!
Josh Ziegler is currently between jobs and might be convinced to mow your lawn for money.
Full paper for those who are interested in diving in beforehand.…
Old ideas have a way of re-emerging in the field of computer science. One of these ideas that's coming back around is CQRS. The short version is that by separating the write responsibilities from the read responsibilities you can more accurately capture the domain model. Unsurprisingly, things like REST aren't very good at modeling the behaviors of a diverse set of behaviors/users.
Neil Menne is an engineer at OpenTable who works on back end services. He likes to learn new things: technologies, patterns, languages.
This paper is a lengthy one, so buckle your seatbelts. It's going to be a bumpy ride.
The Paper: CQRS Documents…
"The devil is in the [implementation]". In today's distributed system world of hip marketing and product-pushing companies with smooth-sounding tools digital solution descriptions are often a few sentences in a tweet or a simple proof on the back of a napkin. But are these candy-prescriptions actually easy to implement? This paper tells of the joys and fears confronted by the Google team who built Chubby, an implementation of Paxos.
Jacob left the world of liberal arts at a mature age to follow the bread-crumb trail of programming theory. He cut his teeth on lisp dialects decades after they were forgotten, grew a large mustache to earn respect, and at one point thought all objects were immutable. Today he alternates between being lost in Clojure or in some new beer, and works for Opentable as a Software Engineer.
In 1985 Fischer, Lynch, and Paterson proved that consensus was impossible in a distributed system even if communication is perfectly reliable, if at most one process can fail, and if it can do so only by crashing. In 1991 Damien Hirst put a tiger shark in a steel tank filled with formaldehyde. I doubt these two things are related.
Noel Weichbrodt is a softwarerer at OpenTable and enjoys things that are unrelated.…
Collecting real-time metrics like request latency is a critical part of production support. While it is easy to aggregate summary statistics like count, mean, and range, they are often a poor representation of actual service performance. This paper  describes a data structure that efficiently and accurately represents a histogram, which can be used to monitor and alert on quantile metrics (median, 99th percentile, etc.) in real time and constant space.
Brent Spell is a programmer at OpenTable in Chattanooga, where he works on infrastructure for distributed systems and machine learning applications for restaurants.
In Subtyping vs. Subclassing, Oleg Kiselyov addresses the separation of interface and implementation. The first section shows that in good object oriented design, the type system can't be used in general to decide whether implementations can be safely substituted for one another. In Preventing Trouble, he outlines a set of rules (in C++) that do allow the type system to enforce subtype relationships, and that look suspiciously familiar.
Lang Martin is a Principal Software Engineer at OpenTable and renown thought-leader in the hand gesture space.…
Building robust systems is an important part of software engineering. For various reasons, it's rarer than it should be. How can we improve as engineers to provide robust systems in a fast-paced environment?
The wizard himself, Gerald Sussman, explores this topic by exploring how biological systems maintain functionality under the constant assault of everyday life. Building Robust Systems promises to be an interesting dive into two seemingly disparate worlds.
The entrance on Cherry Street will probably be locked by the time we get setup. We have several different avenues for contacting us on our PWL github as well as being hooked into the Chadev slack. We'll also try and have someone at the door between 5:15 and 5:45 to let you in.…
Noel Weichbrodt will summarize a recent paper that appeared in the ACM Queue, "Statistics for Engineers" by Heinrich Hartmann. "Statistics for Engineers" surveys common statistical techniques for extracting useful, actionable information from the engineering data we regularly generate and encounter.
About the Author:
Heinrich Hartmann is chief data scientist for Circonus. He earned his PhD in pure mathematics from the University of Bonn (Germany) on geometric aspects of string theory and worked as a researcher for the University of Oxford (UK) afterwards. In 2012 he transitioned into computer science and worked as an independent consultant for a number of different companies and research institutions. He is now leading the development of data analytics for the Circonus monitoring product.
About the Presenter:
Noel Weichbrodt is a software engineer at Ope…