Chapter Meetups

#22 David Kua on The Weakest Failure Detector for Solving Consensus

Map Date/Time: 2016-12-07 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

David will be presenting The Weakest Failure Detector for Solving Consensus by  Tushar Deepak Chandra, Vassos Hadzilacos, and Sam Toueg.

This paper presents a model of reaching consensus between faulty processes in an asynchronous system using (unreliable) failure detectors. With the introduction of a framework for thinking about consensus based on failure detection, new avenues for distributed systems research opened up. The effects of this paper can still be felt even now for example the accrual failure detector in the Cassandra database.

Paper link: 

Read more about this Meetup

#21 Ding Yuan on The Design and Implementation of a Log-Structured File System

Map Date/Time: 2016-10-05 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Ding Yuan will be presenting The Design and Implementation of a Log-Structured File System by Mendel Rosenblum and John K. Ousterhout.

This paper presents the design of log-structured file system, a novel and unconventional file system design at the time when it was published. NetApp's WAFL file system is later designed as log-structured; but perhaps the paper's biggest impact is in the use of Solid State Drive (SSD): today there is a log-structured file system in every SSD.


Paper link: http://www.eecg.toronto.edu/~yuan/teaching/gradOS/papers/lfs.pdf

<a href="http://www.allthi…

Read more about this Meetup

#20 Duffy O'Craven on The World's Fastest Scrabble Program

Map Date/Time: 2016-08-03 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Duffy O'Craven will be presenting The World's Fastest Scrabble Program by Andrew W. Appel and Guy J. Jacobson.

Scrabble originated in 1938, well before the computer era. By the 1980s, Brian Sheppard had created a computer program, Maven, that revolutionized how even expert players played Scrabble. In between, where you find our story, Andrew W. Appel and Guy J. Jacobson published an architectural expose of how they had wrangled the nearly-infinite possibilities of "searching for the best word" into an artificial intelligence. One that could do it in real-time. Computers are now a trillion times larger, and 100,000 times faster than they were then. But it is revealing how mankin…

Read more about this Meetup

#19 Suhail Shergill on Semantics of Probabilistic Programs

Map Date/Time: 2016-07-06 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Suhail Shergill will be presenting Semantics of Probabilistic Programs by Dexter Kozen.

The paper defines semantics for probabilistic programs via two means. One, which is more operational and the other which is closer to the denotational semantics. The paper establishes their equivalence and makes a case that the denotational semantics expresses properties at a more "appropriate level of abstraction. The talk will work to illustrate some of these properties and hopefully make them more understandable.

Paper Link: https://www.cs.cornell.edu/~kozen/papers/Pr…

Read more about this Meetup

#18 James MacAulay on Peter Landin's The Mechanical Evaluation of Expressions

Map Date/Time: 2016-06-01 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

James MacAulay will be presenting The Mechanical Evaluation of Expressions by Peter Landin.  

This paper, published in 1964, was the first to describe an abstract process virtual machine for evaluating lambda calculus expressions – the SECD machine. In describing the operation of the machine, Landin tackles a range of topics that have remained central to functional programming, such as lists, closures, and recursion.

The design of this abstract machine was hugely influential to the history of VM design and programming language implementation as a whole. Meanwhile the expression syntax used in this paper is a close precursor to La…

Read more about this Meetup

#17 Donny Nadolny on Rowhammer.js

Map Date/Time: 2016-05-04 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Back on the 4th floor this time!

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Donny will be presenting Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScript by Daniel Gruss, Clémentine Maurice, and Stefan Mangard. 

***

This paper introduces Rowhammer.js, a piece of JavaScript which could be used by an attacker to gain full access to the machine running it. The rowhammer technique can be used to break out of the JVM, the .NET CLR, docker containers - almost any kind of VM you can imagine.

We'll discuss what rowhammer is, why it works, and how it can be exploited in various environments.

Paper Link: http://arxiv.…

Read more about this Meetup

#16 Andrew Louis on Memex & Designing the "Internet" Before Digital Computers

Map Date/Time: 2016-04-06 06:30pm Location: Shopify @ Unit 201 - 80 Spadina Ave, Unit 201, Toronto

Different room & floor this time: this event on April 6th will be held in unit 201 of the same building at 80 Spadina. Use either the elevator or the stairs to go to the 2nd floor, and unit 201 is just to your left as you exit the elevator. (Note that this is the only unit on the 2nd floor that is Shopify's.)

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Fresh from his experiences during World War 2, scientist Vannevar Bush wrote an essay entitled "As We May Think" (1945) about a physical device that could help people deal with information overload with a hope that it could prevent our species from accidentally destroying itself. His “Memex” would store and organize an individual’s library and allow for annotating, linking, and sharing with others. In an era when “computer” meant a room full of people man…

Read more about this Meetup

#15 Nate Smith on Dynamo: Amazon's Highly Available Key-Value Store

Map Date/Time: 2016-03-02 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Nate will be presenting Dynamo: Amazon's Highly Available Key-Value Store by multiple authors at amazon.com.

***

Dynamo is the storage system Amazon developed to power their most reliable services. It is the practical application of many different distributed algorithms: DHTs, consistent hashing, versioning, vector clocks, quorum, and anti-entropy based recovery. The paper is also the basis of several popular open source databases, including Riak, Cassandra, and Voldemort. This talk will give an overview of the architecture and design of Dynamo.

Paper Link: 

Read more about this Meetup

#14 Scott Rostrup on Tracing the Meta-Level: PyPy’s Tracing JIT Compiler

Map Date/Time: 2016-02-03 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Scott will be presenting Tracing the Meta-Level: PyPy’s Tracing JIT Compiler by Carl Friedrich Bolz, Antonio Cuni, Maciej Fijalkowski, and Armin Rigo.


***

Writing an interpreter for a language is a great way to quickly explore new ideas and create domain specific languages (DSLs).  Interpreted languages are both prevalent and incredibly popular, however the common perception is that choosing an interpreted language over a compiled language will always comes with a performance cost.  In this talk, Scott will provide a high level introduction to the RPython toolchain for writing high performance interpreters in the context …

Read more about this Meetup

#13 Raveesh Nagpal on An Error Model for Pointing Based on Fitts’ Law

Map Date/Time: 2015-11-04 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Raveesh will be presenting An Error Model for Pointing Based on Fitts’ Law by Jacob O. Wobbrock, Edward Cutrell, Susumu Harada, and I. Scott MacKenzie.


***

Fitts' Law is a decades old mathematical model that has been used for pointing time in user interfaces. It predicts the movement time to aquire a target of a given size at a specific distance. The paper uses the Fitts' Law to postulate and derive a model for predictive error rates in pointing mechanisms such as mice, styluses, touch etc. This model is then field tested using an experiment to verify its correctness. The presentation will be discussing briefly about Fitts' Law and it's importance in HCI. We will go through the error model predicted and…

Read more about this Meetup

#11 Suhail Shergill on Reflection without Remorse

Map Date/Time: 2015-10-07 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Suhail will be presenting Reflection without Remorse by Atze van der Ploeg and Oleg Kiselyov.


***

What does list append, tree substitution, monadic binds for recursive structures have in common? This paper illustrates how all three operations fall under a common pattern of operations which perform algorithmically worse when left-associated (as opposed to when right-associated). Continuation passing style (CPS) is a well known cure to this problem, but the advantages dwindle when we have to observe/modify intermediate results before continuing with the rest of the "build" operations (list append etc).

This paper presents a solution which is just as general as CPS, but which doesn't fall victim to the s…

Read more about this Meetup

#11 Peter Sobot on An Industrial-Strength Audio Search Algorithm

Map Date/Time: 2015-09-02 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Peter will be presenting An Industrial-Strength Audio Search Algorithm by Avery Li-Chun Wang.


***

This paper introduces the Shazam algorithm, the core algorithm behind the popular Shazam music and audio identification service.
We'll discuss what problems the algorithm solves and how it works quickly and effectively. This talk is fairly high-level, and is aimed at anybody interested in learning how Shazam works, but will be of special interest to those interested in large-scale information retrieval, audio processing or perceptual hashing.

Paper Link:

Read more about this Meetup

#10 Ben Darwin on Programming with Algebraic Effects and Handlers

Map Date/Time: 2015-08-05 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.


***

Ben will be presenting Programming with Algebraic Effects and Handlers by Andrej Bauer and Matija Pretnar.


***

Handlers for algebraic effects are a promising development in managing complexity in software.  In addition to the prototypal implementation in Eff (http://www.eff-lang.org/), they've also been implemented variously as a Haskell library, in the experimental functional languages Idris, Koka, and F-star, and in an experimental branch of the Ocaml compiler (https://github.com/ocamllabs/opam-…

Read more about this Meetup

#9 Julie Haché on Zero-Overhead Metaprogramming

Map Date/Time: 2015-07-08 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Note: This session of Papers We Love is not on the first Wednesday of July as that is Canada Day. So we'll be seeing you for the second!

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.

***

Julie will be presenting Zero-Overhead Metaprogramming: Reflection and Metaobject Protocols Fast and without Compromises by Stefan Marr, Chris Seaton, and Stéphane Ducasse.


***

[Paper description to be completed.]

Paper Link: http://stefan-marr.de/downloads/pldi15-marr-et-al-zero-overhead-metaprogramming…

Read more about this Meetup

#8 Donny Nadolny on Raft

Map Date/Time: 2015-06-03 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: please arrive before 7pm, which is when the front door locks! If you arrive after 7pm, use the keypad beside the outside door and buzz 8882 to be let in.

Also important: unfortunately the elevator at the Shopify office is still out of service for repairs, and we are on the fourth floor. If you need any assistance getting up the stairs, please call or message the phone number that I'll leave on signage in the front lobby!

***

Donny will be presenting In Search of an Understandable Consensus Algorithm by Diego Ongaro and John Ousterhout.


***

This paper introduces the Raft consensus algorithm, which is an attempt to make a consensus algorithm that is easy to understand and easy to implement.

We'll discuss what consensus is, why it's useful, and what it's used for. You'll also learn the main components of Raft: leader election, data rep…

Read more about this Meetup

#7 Paul Osman on CRDTs - Commutative Replicated Data Types

Map Date/Time: 2015-05-06 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Important: unfortunately the elevator at the Shopify office is out of service for repairs, and we are on the fourth floor. If you need any assistance getting up the stairs, please call or message the phone number that I'll leave on signage in the front lobby!

***

</a><a href="https://twitter.com/paulosman">Paul will be presenting CRDTs: Consistency without concurrency control by Mihai Letia, Nuno Preguica and Marc Shapiro. He’ll walk through the paper and demonstrate some practical use cases for CRDTs. 

***

In this paper, Marc Shapiro et al describe CRDTs. A CRDT is a data type whose operations commute when they are concurrent. Replicas of a CRDT eventually converge without any complex concurrency control. As an existence proof, the authors exhibit a non-trivial CRDT: a shared edit buffer called Treedoc. They outli…

Read more about this Meetup

#6 Max Veytsman on The First Level of Super Mario Bros.

Map Date/Time: 2015-04-01 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Max Veytsman will be presenting the paper The First Level of Super Mario Bros. is Easy with Lexicographic Orderings and Time Travel ... after that it gets a little tricky by Dr. Tom Murphy VII Ph.D.

***

In this totally serious paper, Tom Murphy VII describes a novel and surprising(ly effective) AI for playing NES games using maximaly tight valid lexicographic orderings of the RAM of NES as a game is being played.

We'll go over implementation details of the learnfun and playfun algorithms and discuss the philosophical implications of artificial intelligence that blindly descends the gradient of arbitrary objective functions and whether our entire society will collapse under the weight of our industry's instrumentalism. Finally, we'll watch Tom7's AI battle Goombas, collect Triforce pieces, and punch Mike Tyson in the face. 

Doors open at 6:30 pm, present…

Read more about this Meetup

#5 Colin Lupton on Quantum Lambda Calculus

Map Date/Time: 2015-03-04 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Colin Lupton will be presenting the paper Quantum Lambda Calculus by Peter Selinger.

***

We will discuss the design of a typed lambda calculus for quantum computation. After a brief discussion of the role of higher-order functions in quantum information theory, we define the quantum lambda calculus and its operational semantics. Safety invariants, such as the no-cloning property, are enforced by a static type system that is based on intuitionistic linear logic. We will also describe a type inference algorithm, and a categorical semantics.


Doors open at 6:30 pm, presentation will begin at 7:00 pm. There will be food and refreshments provided by Shopify.


***

Colin is the CTO and Lead Dev of Catapult Labs (

Read more about this Meetup

#4 Chris Saunders on Teaching Garbage Collectors

Map Date/Time: 2015-02-04 06:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

Chris Saunders will be presenting the paper Teaching Garbage Collection without Implementing Compilers and Interpreters by G. Coopher, A. Guha, S. Krishnamurthi, J. McCarthy and R. Findler.

***

The paper covers the issues with teaching Garbage Collection in an academic setting and the pitfalls around existing solutions. In an effort to remove obstacles that prevented students from implementing they have built a system that aids in the implementation of Garbage Collectors.

Along with presenting the paper, Chris will explain garbage collection, collector techniques as well as the collector and mutator "languages" built by the authors. The system is publicly available and you can see a number of 

Read more about this Meetup

#2 James MacAulay on Elm: Concurrent FRP for Functional GUIs

Map Date/Time: 2014-12-03 07:30pm Location: Shopify Toronto - 80 Spadina Ave. 4th Floor, Toronto

James MacAulay will be presenting the paper Elm: Concurrent FRP for Functional GUIs by Evan Czaplicki.

If you don't have time to read those 50 pages, there is this more compact conference paper which was published the following year and covers a lot of the same ground. Evan's presentation from Strange Loop this year also provides great context on how Elm's model of Functional Reactive Programming compares with others out there.


As part of the presentation, James will be giving a demonstration of Zelkova, his port of Elm's signal system to Clojure/ClojureScript.

Doors open at 7:30 pm, pr…

Read more about this Meetup