Chapter Meetups
[ONLINE] #34 Jenny Ren on Linux Performance Revolution
Let's revive Papers We Love :-)
Jenny Ren will discuss "An Analysis of Performance Evolution of Linux's Core Operations" (https://dl.acm.org/doi/10.1145/3341301.3359640). And Jenny is the author of the paper! (You shouldn't need to read the paper ahead of the event, but if you want to but don't have much time, here is a blog post by The Morning Paper that provides a summary: https://blog.acolyer.org/2019/11/04/an-analysis-of-performance-evolution-of-linuxs-core-operations/)
We'll be meeting on Zoom. Here is the URL:
https://utoronto.zoom.us/j/82208142962
Meeting ID:[masked]
Passcode:[masked]
Also, we should revive this community. If there is a paper that you have recentl…
[ONLINE] #33 Myles Braithwaite on CraftAssist
OUR FIRST VIRTUAL MEETUP!
We'll be meeting on Zoom, here's the link: https://us04web.zoom.us/j/762218076
Myles Braithwaite will be presenting “CraftAssist: A Framework for Dialogue-enabled Interactive Agents” by Jonathan Gray et al.
In this paper, Facebook describes how they built CraftAssist, a Minecraft bot to interact just like another player that can move around and modify the world, and communicate with the player via the in-game chat. Facebook’s long term goal is to build assistants that can interact and collaborate with humans to actively learn new concepts and skills.
Hi, I’m Myles! I’m a co…
Spike Lindsey on "Cassandra - A Decentralized Structured Storage System"
**NEW LOCATION! Meet us at the Microsoft Reactor in MaRS**
Spike Lindsey will be presenting "Cassandra - A Decentralized Structured Storage System" by Avinash Lakshman and Prashant Malik.
In this 2009 paper, the authors introduce Cassandra - a storage system designed with a few things in mind:
* high throughput, low latency writes
* progressive, near-linear scaling
* deployable on commodity hardware
* fault-tolerant, in consideration of the failure characteristics of large amounts of commodity hardware
Despite being abandoned by Facebook, Cassandra has lived on after being donated to the Apache Software Foundation. It now powers significant parts of Netflix, Spotify, Instagram and Apple (among many, many other companies).
We will go over the core concepts outlined in the paper, and conclude with a discussion of operating Cassandra 10 years down the line, based on real-life Cassandra experiences.
Paper:
Arun Raja on BERT: Pre-training of Deep Bidirectional Transformers for...
**NEW LOCATION! Meet us at H Bar on Queen St. West**
Arun Raja will be presenting “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” by Jacob Devlin, et al.
Bidirectional Encoder Representations from Transformers or BERT is a new language representation model created by scientists at Google AI. The X-factor of BERT is applying the concept of bidirectional training to preserve context from and left and right to language modelling which makes it the state-of-the-art language model.
Paper: https://arxiv.org/pdf/1810.04805.pdf
Arun Raja is a National Science Scholar from Singapore. He is an undergraduate Computer Science student at the University of Edinburgh. He is currently a third-year exchange student at the University of Toronto. He is passionate about research in Natural Language Processing.
…#30 Paul Tarvydas on Statecharts: A Visual Formalism for Complex Systems
Paul Tarvydas will be presenting “Statecharts: A Visual Formalism for Complex Systems” by David Harel.
The paper is relevant in an emerging world where “everything is smart” and distributed.
The paper shows/discusses composition (as opposed to inheritance), orthogonal states and parallelism. It uses a running example - that of reverse-engineering a complicated digital watch - to illustrate the various diagrammatic notations explored in the paper. This paper shows how to overcome the “state explosion” problem and makes it practical to use state machines in software design and construction.
Paper link: https://www.inf.ed.ac.uk/teaching/courses/seoc/2005_2006/resources/statecharts.pdf
Paul Tarvydas is a P.Eng (EE) and has run a software consultancy for some 25+ years specializing in embedded systems, startups, leap-frog technologies, etc. Paul i…
#29 Andrew Louis on A Conflict-Free Replicated JSON Datatype
Andrew Louis will be presenting "A Conflict-Free Replicated JSON Datatype" by Martin Kleppmann and Alastair R. Beresford
Many applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the netw…
#28 Joey Coleman on On the Duality of Operating System Structures
Joey Coleman will be presenting "On the Duality of Operating System Structures" by Hugh C. Lauer and Roger M. Needham.
This classic paper examines “message-oriented” and “procedure-oriented” systems (the latter now often called “state-based”) and shows that the two ways of structuring systems are strongly equivalent. It was written in the context of debates at the time (late 1970s) around the best way of structuring an operating system for application development, and comes to the conclusion that it is the architecture on which the system is being built which should drive the orientation choice, not the applications that need to be supported.
Paper link: http://web.cecs.pdx.edu/~walpole/class/cs533/papers/duality78.pdf
Joey Coleman is presently a “Kira Fellow” at Kira Systems in Toronto, a role the frees him to tackle large and interesting problems (of relevance to…
#27 Ben Darwin on State Machines All The Way Down
Ben Darwin will be presenting "State Machines All The Way Down" by Edwin Brady
In a dependently-typed programming language such as Agda or Idris, types may refer to ordinary terms in the language and so express precise guarantees about run-time behaviour. For instance, one may define size-indexed arrays and operations on them so that type-checking guarantees the absence of out-of-bound indexing. This paper applies this machinery, along with Idris's 'interfaces' (or typeclasses), to a somewhat different situation: creating type-safe state transition systems - that is, protocols whose correct usage is similarly guaranteed by their type-correctness. The resulting library, ST, based around the notion of indexed monad, allows specifying protocols which are compositional in both horizontal (multiple protocols can be used simultaneously) and vertical (protocols can be defined in terms of other protocols) senses. We'll see examples, such as safe Unix socket programming, and how addit…
#26 Victor Kofia on Manual for Using Homomorphic Encryption for Bioinformatics
Victor Kofia will be presenting "Manual for Using Homomorphic Encryption for Bioinformatics" by Nathan Dowlin et al. Homomorphic encryption schemes make it possible to do computations on encrypted data without having to decrypt it first. This paper examines the challenges of using homomorphic encryption schemes on large, highly sensitive biological datasets. It also provides a blueprint on how to get started manipulating biological data with SEAL (Simple Encrypted Arithmetic Library).
Paper link: https://www.microsoft.com/en-us/research/wp-content/uploads/2015/11/ManualHE-3.pdf
Victor Kofia is a software developer at the Princess Margaret Cancer Center Bioinformatics and Computational Biology Laboratory. In his free time he likes to contribute to open-source and solve fun programming puzzles. Sadly he can't do either right now because he is nursing an emac…
#25 Diogo Biazus on Out of the Tarpit
Diogo Biazus will be presenting "Out of the Tarpit" by Ben Mosely and Peter Marks. The paper proposes a framework for software development to tame the huge complexity of modern systems. It analyzes the causes of complexity and proposes an approach based on the Relational Model and Functional Programming to deal with it. This paper has recently inspired an open source relational algebra engine called Project-M36.
Paper link: https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf
Diogo Biazus is a software developer at Nulogy in Toronto. He has founded a couple of companies in Brazil and worked as a database consultant for years before moving to Canada. Now and then enjoys coding in Haskell for fun.
…#24 Leo Zovic on Pursue Robust Indefinite Scalability
Leo Zovic will be presenting "Pursue Robust Indefinite Scalability", by David H. Ackley and Daniel C. Cannon.
The paper presents an architecture for an indefinitely scalable machine, a software development approach for it based on asynchronous cellular automata, as well as some prototype programs and communication strategies.
Leo Zovic is a software developer, blogger and programming language nerd. His favorite social networks are GitHub and Stack Overflow, where he occasionally asks pointed questions under the pseudonym inaimathi. He can be found online at http://langnostic.inaimathi.ca/.
Paper link: www.cs.unm.edu/~ackley/papers/hotos-11.pdf
…#23 Yawar Amin on Lightweight Static Capabilities
We're back!
Yawar Amin will be talking about 'Lightweight Static Capabilities' by Oleg Kiselyov and Chung-chieh Shan.
This paper presents a technique for mixing static and dynamic code verification to achieve safety in practical statically typed languages in use today. The technique works by starting with a 'kernel' of trusted code that the implementer manually verifies, then assigning that code a type to 'certify' that the verification was done. These types then act as the evidence of the verification through the rest of the codebase.
Paper link: http://okmij.org/ftp/papers/lightweight-static-capabilities.pdf
Doors open at 6:30 pm, presentation will begin at 7:00 pm. There will be food and refreshments provided by PagerDuty.
***
Yawar Amin is a developer with a s…
#22 David Kua on The Weakest Failure Detector for Solving Consensus
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.
#21 Ding Yuan on The Design and Implementation of a Log-Structured File System
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.allthingsdistrib…
#20 Duffy O'Craven on The World's Fastest Scrabble Program
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 mankind fir…
#19 Suhail Shergill on Semantics of Probabilistic Programs
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/ProbSem…
#18 James MacAulay on Peter Landin's The Mechanical Evaluation of Expressions
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 Landin'…
#17 Donny Nadolny on Rowhammer.js
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.org/p…
#16 Andrew Louis on Memex & Designing the "Internet" Before Digital Computers
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 manually…
#15 Nate Smith on Dynamo: Amazon's Highly Available Key-Value Store
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.
#14 Scott Rostrup on Tracing the Meta-Level: PyPy’s Tracing JIT Compiler
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 of PyPy th…
#13 Raveesh Nagpal on An Error Model for Pointing Based on Fitts’ Law
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 discuss a…
#11 Suhail Shergill on Reflection without Remorse
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 same limita…
#11 Peter Sobot on An Industrial-Strength Audio Search Algorithm
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.
#10 Ben Darwin on Programming with Algebraic Effects and Handlers
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-repo-dev
#9 Julie Haché on Zero-Overhead Metaprogramming
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.pdf<…
#8 Donny Nadolny on Raft
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 replicat…
#7 Paul Osman on CRDTs - Commutative Replicated Data Types
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…
#6 Max Veytsman on The First Level of Super Mario Bros.
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…
#5 Colin Lupton on Quantum Lambda Calculus
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 (
#4 Chris Saunders on Teaching Garbage Collectors
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
#3 Dann Toliver on Fast Functional Lists
Dann Toliver will be presenting the paper Fast Functional Lists, Hash-Lists, Deques and Variable Length Arrays by Phil Bagwell.
Note that we have moved the start time an hour earlier based on feedback we got that things were happening too late. Keep that feedback coming!
***
In this paper Bagwell introduces the VList, an alternative to the classic linked list that retains its persistence and easy extensibility while adding in the fast random access indexing typical of arrays.
We'll explore this data structure from a variety of perspectives, and look at several modifications that extend its power: the VArray, a resizable array variant; a catenable deque using the VDList and VCat; and an average constant time hash-list.
We'll also look at the impacts of this data structure on thread safety, garbage collection, Lisps (via Visp, a Li…
#2 James MacAulay on Elm: Concurrent FRP for Functional GUIs
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, present…
#1 John-Alan on Chord: A Scalable P2P Lookup Service for Internet Applications
John-Alan Simmons will be kicking off our group by presenting the paper Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications by Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan.
Doors open at 7:30 pm; the presentation will begin at 8:00 pm; and yes there will be food and refreshments.
After John-Alan finishes presenting the paper, we will be opening the floor to discussion and questions.
John-Alan's Bio:
John-Alan Simmons is a hacker/code ninja, CTO at ConferenceCloud, and studied Computer Science at the University of Toronto. He spends his time exploring new and exciting technologies in the fields of disributed systems, information theory, backend web development, and anything else that happens to spark his interest. He also in an avid open source contributor, to his own, and …