DEV Community

Functional Geekery

Functional Geekery Episode 32 - Christopher Meiklejohn

In this episode I talk with Christopher Meiklejohn. We talk distributed systems, the myth of the client-server architecture, current research around distributed systems, and his research with Lasp.

Our Guest, Christopher Meiklejohn

@cmeik on Twitter
cmeiklejohn on Github
https://christophermeiklejohn.com/

Sponsors

This episode is sponsored by DigitalOcean. DigitalOcean makes it quick and easy to get up running with hosting your project. New users use the promo code GEEKERY to get $10 credit when signing up.

Announcements

Code Mesh 2015 is going to take place on the 3rd and 4th of November, and listeners can use the code fngeekery10 to get 10% off when you register.

RICON 2015 will take place on the 5th and 6th of November.

Midwest.io will be taking place on November 9th and 10th. Midwest.io is a two-day conference, bringing together 300 developers for an eclectic collection of talks covering the latest trends, best practices, and research in the field of computing. For more information visit http://www.midwest.io/.

LambdaDays 2016 will be taking place on the 18th and 19th of February in Kraków, Poland. The CFP and registration has opened, so make sure to visit lambdadays.org to find out more. And make sure to use code FunkyGeekz4dWin to get 10% off registration.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Topics

About Christopher Meiklejohn
MachineZone
Université catholique de Louvain
Peter Van Roy
How Christopher got into Functional Programming
Amazon DynamoDB paper
Riak
Basho
Andy Gross
From Ruby to Erlang: An Unexpected Journey
“Being able to think about problems in multiple ways is what makes a good engineer”
Looking into Haskell when coming into Functional Programming
Benjamin Pierce’s Software Foundations
Coq
Reid Draper’s episode of Functional Geekery
Making the move from Functional Programming to Distributed Systems
The Erlang Runtime providing the groundwork of building distributed systems
Loss of information with concurrent operations
The idea of Client-Server is false assumption
Convergent / Divergent talk at EmberConf
Availability and Consistency are at odds
“The ideas of strongly consistent systems are approximations of knowledge that exists”
Interplanetary or Galactic level systems and latency
Building computations of weakly consistent systems
Lasp
CRDTs – Distributed datastructures that are deterministic regardless of order
Moving computation to the edges/clients of a system
“There isn’t a client-server”
“There are processes that are responsible for some data”
“The true model says that the client really holds the source of truth”
Removing temporal time from the system
How do you treat clients that go offline?
Microsoft Orleans
Akka
Resources for getting into distributed systems
ThinkDistributed
Causality and Consensus episodes
CRDTs reading list
Distributed Systems reading list
Watch conference talks and read industrial papers for real world connections to the problem
Bayou Architecture
Find a problem that inspires you
BOOM
Bloom
Peter Alvaro’s talk at Strange Loop
Neal Conway’s Bloom talk
Wicked Good Ruby 2013 – Bloom: A Language for Disorderly Distributed Programming
Joe Hellerstein’s Ricon keynote 2012
Sean Cribs Ricon 2014 talk on Causality
lasp-lang.org
Christopher’s Strange Loop 2015 presentation on Lasp
SyncFree
Upcoming Appearances
CodeMesh 2015
Ricon 2015
QCon San Fransisco 2015

As always, a giant Thank You goes to David Belcher for the logo design.

Episode source