Dynamically scheduled tasks are at the heart of PagerDuty's microservices. They deliver incident alerts, on-call notifications, and manage myriad administrative chores. Historically, these tasks we...
Gabrielle Crevecoeur dives into the world of NodeBots. Using Node.js, the Node Robotics frameworks, and an Arduino, Gabrielle walks participants through creating a bot, step by step. Although the N...
Lot's of people know about Turing Machines and the Lambda Calculus and that they both can express any computable function, but often don't really understand what that means. An Unlimited Register M...
Kittens is a proof of concept library built on top of shapeless[1] and cats[2] as an experiment of combining generic and functional programming. It can help Scala programs achieve higher flexibilit...
For over half a century, NASA has been building, launching, and operating space missions where failure is not an option. NASA's track record of success is due in part to the standards and practices...
DDoS attacks often grab the headlines when they take down an important website. Sadly, DDoS experts usually keep the attack information to themselves. All the DDoS mitigation resources are centrali...
This past year, I've been testing out ways to bring more open source to the academic research space. It hasn't been easy -- the research world is full of competition, private data and a cutthroat n...
Ethnomusicologists face a dilemma: either shoehorn African music into European notation, or create custom DSLs that can only be understood by a select band of European ethnomusicologists. Algomusic...
Whether you're using plain old OS threads or a userspace threading model, understanding the subtleties of scheduling and how it affects parallel programs can be tricky. As systems and performance e...
This talk makes the case that Guile is a delightful medium for making crafty programs, from the most ephemeral scripts to long-lived systems that you can rely on for years. Guile takes the elegant ...
Cryptography is an ancient idea, but modern approaches which draw from deep mathematics and have only started to pop up in the past decade. This talk will provide a broad survey of approaches for a...
The Wikimedia Foundation is a non-profit and charitable organization driven by a vision of a world where every human can freely share in the sum of all knowledge. Each month Wikimedia sites serve o...
NATS is an open source, high performant messaging system with a design oriented towards both being as simple and reliable as possible without at the same time trading off scalability. Originally wr...
We present Tezos, a generic and self-amending crypto-ledger which can instantiate any blockchain based ledger. The operations of a regular blockchain are implemented as a purely functional module a...
Until recently making a compiler from scratch that produced fast native executables with a well-tuned garbage collector meant getting really comfy with C. Rust has risen to the top of the heap as a...
Writing correct concurrent code is hard. Debugging incorrect concurrent code is even harder. The Go race detector, introduced in Go version 1.1, is one cool tool that makes both easy to do in Go pr...
It's 2016, but our approach to programming isn't much different from 1976. It's characterized by text in files, syntax errors, bugs, and documentation on the side. The feedback cycle may be smaller...
Programmatic and direct manipulation systems have distinct and complementary strengths, but users must typically choose one over the other or use some ad-hoc combination of systems. As an attempt t...
There are a lot of competing ideas about what makes a language “good”. This is because we as language designers still have no idea what we're doing. The design of Tulip is based on careful study of...
Leigh is a Security Engineer at Slack. Prior to Slack, she worked at Salesforce.com, Microsoft, and Symantec. Founder of several hackerspaces, she is currently Chief Security Officer of Double Unio...
Poetry can take many forms but could be defined as a delicate balance between constraints and expression. Computers are pretty good at constraints, less so at expression.
Industrial computer-controlled knitting machines are churning out seamless three-dimensional fabric objects as you read this -- think gloves, sweaters, sportswear, furnishings, architectural fabric...
It's hard to imagine a modern developer workflow without a sufficiently advanced build system: Make, Gradle, Maven, Rake, and many others. In this talk, we'll discuss the evolution of build systems...
What do you do when you outscale your monitoring systems, and need to upgrade -- while keeping the lights on 24/7 around the world? This talk will walk through the ins and outs of architecting a re...
Metrics are great, and measuring things can provide tremendously useful insights. But there's a problem: metrics lie to you. Metrics just report the numbers that were measured. Analyzing those numb...
Have you ever hit a wall with REST? Does modeling your problem domain into CRUD-able entities feel like fitting a square peg into a round hole? Perhaps instead of modeling our services like little ...
Although the idea of hygienic macro expansion appeals to many programmers, the details of hygienic expansion have scared away many language implementors. In fact, in the same way that lexical scope...
The need for gleaning answers from data in real-time is moving from nicety to a necessity. There are few options to analyze the never-ending stream of unbounded data at scale. Let's compare and con...
Functional data structures are awesome--they're the foundation of many functional programming languages, allowing us to express complex logic immutably and efficiently. There is one unfortunate lim...
GraphQL is a static-strong-typed application data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012, and was redesigned prior to...
Paul is a Developer Advocate on the Google Chrome team helping his fellow developers succeed on the Mobile Web. He specializes in Mobile Web Development, Web Standards, Google Chrome, and Chrome OS...
Ashley Nelson-Hornstein is an iOS engineer, speaker, and avid blogger. She's also the co-founder of Sound Off, a non-profit that works to increase access marginalized people in tech have to profess...
For any service, the frontend is the services which depend on it, and the backend is the services it depends upon. In a many-layered service-oriented system, the frontend server is the outermost la...
There is no cloud — it's just someone else's computer. And you're storing all sorts of sensitive data on it, blindly trusting that this computer will only allow access to authorised users. What if ...
Netflix is well known for championing the microservice model, but within the complex layers of dependencies is a hidden service: the caching layer. The Netflix customer experience relies heavily on...
You might think of the Linux kernel as something that only kernel developers need to know about. Not so! It turns out that understanding some basics about kernels and systems programming makes you ...
Since the 1970's, data analysis in high energy physics has revolved around the histogram: an array of integers approximating a distribution. Fortran codes drawing ASCII-art plots bear a strong rese...
Managing the consistency of interactive visualizations in the face of inherent asynchrony and reordering of events in modern data visualizations is challenging. This talk will go over a new view (q...
Large-scale private user data theft has become a common occurrence. A huge factor in these privacy breaches we hear so much about is that developers specify and enforce data security policies by st...
In the early 4th century, the Roman emperors Diocletian and Constantine looked around their empire, and realized that they had troubles. The crisis of the third century had left the empire broke, w...
Despite the media attention given to the diversity in tech problem, many technology practitioners don't see how a lack of diversity affects their daily lives. So, it is not surprising that they nei...
Project Jigsaw will bring modularity to the Java platform; something that will enable better security, performance and flexibility for deployment of applications. This talk will look at the fundame...
Conversational interfaces are exploding in both development and use in 2016. Amazon's Alexa service and their Echo are at the forefront of this exciting new interaction model but Microsoft, Faceboo...
Tacit programming, or programming in the “point-free” style, allows you to define a function without reference to one or more of its arguments. Thanks to automatic currying, point-free definitions ...
This talk looks beyond origami as a childhood pastime and an art form and instead, explores origami as a source of many interesting mathematical problems, including one called the fold-and-cut prob...
Where does the rain go once it hits the ground? Some of it soaks into the ground, and some of it evaporates. The rest flows into creeks, streams, lakes, and rivers, eventually making its way to an ...
Cluster computing frameworks such as Hadoop or Spark are tremendously beneficial in processing and deriving insights from data. However, long query latencies make these frameworks sub-optimal choic...
Enforcing the myriad of policies surrounding security, availability, cost, and other business requirements of new services in a distributed operating environment is not for the faint of heart.
There are lots of programming languages out there, but very few like Modelica. Modelica is a standardized language for describing the behavior of physical and cyber-physical systems. It incorporate...
You've heard of Elm and it sounds super cool, but you can't rewrite from scratch and you don't want to give up the innovation of the React community! What if you could get Elm's benefits one file a...