Applied Computer Science
Past Presentations
Category Theory for the Working Hacker
The talk will explain why category theory is of interest for developers. The principle of Propositions as Types describes a correspondence between, on the one hand, propositions and proofs in logic, and, on the other, types and programs in computing. And, on the third hand, we have category...
Abstractions to Help Developers Write Good Crypto
More developers are writing cryptographic code, especially in regulated sectors like health care and financial services, but the code suffers from a combination of poor programming interfaces and a lack of developer training. In one study, 83% of cryptographic flaws (CVEs) were due to programmer...
Logic-Based Automated Reasoning
Developing efficient and scalable software analysis tools is a tedious and very difficult task. First, due to the undecidability of the verification problem, tools, must be highly tuned and engineered to provide reasonable efficiency and precision trade-offs. Second, different programming...
Real-Time Collaborative Editing with CRDTs
Real-time collaborative editing gives users the illusion that they are editing the same document, but in reality, each collaborator makes edits to their own local replica of the document to ensure a low-latency typing experience. Each user's local operations must then be transmitted to remote...
Artwork Personalization @Netflix
For many years, the main goal of the Netflix personalized recommendation system has been to get the right titles in front each of our members at the right time. With a catalog spanning thousands of titles and a diverse member base spanning over a hundred million accounts, recommending the titles...
Interviews
Category Theory for the Working Hacker
What do you do day-to-day?
I work in functional programming and trying to put that in a place where other people can use it.
Read Full InterviewAbstractions to Help Developers Write Good Crypto
Tell us about what you are doing.
Tozny is a cryptography company that builds software tools for computer programmers. Just as cryptography is difficult for end users, cryptography software tools for developers are quite challenging too. Our focus is to make those tools easier to use for developers.
Read Full InterviewReal-Time Collaborative Editing with CRDTs
What role do you have at Github?
I work on the text editor for almost the last six years. And it's sort of a mix on a given day. A lot of my days are spent trying to improve the performance of the system. Reading javascript is a lot of it; some good days of writing C++. I really enjoy that. And yet looking at her request from the team members members of the community...
Read Full InterviewArtwork Personalization @Netflix
What work do you do at Netflix?
I lead one of the Machine Learning and Recommendation teams at Netflix. We're responsible for the end-to-end machine learning that decides what shows up on the Netflix homepage across all our different experiences. When you log into Netflix, my team is responsible for what rows of TV shows and movies you see on the homepage. We select...
Read Full InterviewAlgorithms Behind Modern Storage Systems
What's the focus of the work that you're doing today?
I can tell you about Apache Cassandra and the patches I was working on recently. In Apache Cassandra, I've been recently working on transaction replication. Before that, I was working on SASI, an implementation of secondary indexes, on the commit log and on various storage and consistency related things. I had a chance to work on...
Read Full Interview