The Madrid chapter of Papers We Love

Papers We Love has a Code of Conduct. Please contact one of the Meetup's organizers if anyone is not following it. Be good to each other and to the PWL community!

Chapter details

Sign-up: Please RSVP for meetings via

Twitter: @PapersWeLoveMad

Organizers: Miguel Pastor

Chapter Meetups

A Comprehensive Symbolic Analysis of TLS 1.3

Date/Time: 2018-09-20 07:00pm Location: Liferay Office - Madrid

Hello again readers!!

We're resuming our activity and this time we are extremely glad to have David Calavera with us.

David will be talking about TLS 1.3:

Read more about this Meetup

A tutorial on the universality and expressiveness of fold

Date/Time: 2018-05-22 07:00pm Location: Liferay Office - Madrid

You attended the previous PWL Mad meetup on functional programming (FP) and got hooked?

Good news everyone, we have a bit more FP stuff for you.

It’s well-known that to understand recursion you need to understand recursion, but — setting the jokes aside — there is a simpler way described in the classical paper by Graham Hutton — "A tutorial on the universality and expressiveness of fold”.

Together we will learn to stop worrying about recursion and love the fold.

Have you read the paper or already folding your lists like a pro? No worries! We got a handful for you too — recursive schemes, F-algebras, dependent types, interactive theorem proving and how it all fits together.

Our speakers will be Anton Trunov ( and Jesús Domínguez (

FP programmers of all…

Read more about this Meetup

A tour around the functional programming world

Date/Time: 2018-04-24 07:00pm Location: Liferay Office - Madrid

"Do you really think that functional programming is a trendy thing for cool kids?

Did you know that the Lambda Calculus, the theory behind FP, was created even BEFORE than the Turing Machine (the theory behind imperative programming)? And did you know that the creator of FORTRAN, considered the grandfather of all imperative languages, finally regretted the imperative approach of its creation and proposed a functional alternative?

This meetup will be an introduction to functional programming basics. FOR EVERYONE, no matter your programming language or level. We'll start with the historical background, and then we'll talk about how FP solves better than OOP some of the current challenges in software engineering, mainly modularization, composability and reduction of complexity in our codebases.

We'll talk about several papers considered "the classics" for FP, namely "Why Functional Programming Matters" and "Can Programming be Liberated from the Von Neuman Style?"

Read more about this Meetup

The Historical Development of Algebraic Geometry

Date/Time: 2017-04-27 07:00pm Location: Oficinas de ShuttleCloud - Madrid


A 10 min intro for absolute beginners will be provided. The idea is that anyone with basic knowledge in algebra, geometry and programming will be able to follow this session

The challenge

40 pages and a ton of Maths

The goal

This paper starts with basic Geometry that most people should be able to follow. I plan to explore the development of these concepts inside the Mathematical world and then show the applications for several areas in computer science, focusing on Lambda Calculus and types.

Read more about this Meetup

Access path selection in a relational database management system

Date/Time: 2017-03-30 07:00pm Location: Oficinas de ShuttleCloud - Madrid

Patricia G. Selinger, Morton M. Astrahan, Donald D. Chamberlin, Raymond A. Lorie, Thomas G. Price. [Access path selection in a relational database management system. SIGMOD, 1979.](

Databases are one of the backbones of our applications, we use them daily but  probably we didn't stop to analyze how things works under the hood. We take  for granted that given some declarative query (i.e with SQL), the RDBMS will try to be as efficient as possible. This enables data-independent query processing,  back in the day with systems like [IMS](  queries were done using low level information, so knowledge about the underlying data structures was needed to be able to perform efficient queries. The presented paper is the foundation for query optimization field, it decomposes the problem into three distinct subproblems:

- Cos…

Read more about this Meetup

Causality is simple

Date/Time: 2016-09-14 07:00pm Location: Oficinas de ShuttleCloud - Madrid

Causality is an essential component of how we make sense of the physical world, and of our relations to other humans. If I put a cup on the table, and look back at it, I expect it to be there. I also expect to get a reply to my postcards, after I send them, and not before.  

These days hardly any service can claim not to have some form of distributed algorithm at its core. In a distributed scenario, if we are not careful, it is very easy to break the causal sense of things. In a key-value store my writes can be directed to a replica, and my subsequent reads served from an outdated one --- my cup might not be there when I look back. Message dissemination middleware might not always provide the ordering I expect --- I might receive some replies, before their leading questions. 

Luckily, most of these problems were already there 30 years ago, although in a much smaller scale, and lots of techniques have been developed to keep track of causality and make sense of the compl…

Read more about this Meetup

HyParView: a membership protocol for reliable gossip-based broadcast

Date/Time: 2016-05-11 07:00pm Location: Oficinas de ShuttleCloud - Madrid

We're really glad to have Christopher Meiklejohn ( with us.

Chris will be talking about HyParView:  a membership protocol for reliable gossip-based broadcast

Gossip, or epidemic, protocols have emerged as a powerful strategy to implement highly scalable and resilient reliable broadcast primitives. Due to scalability reasons, each participant in a gossip protocol maintains a partial view of the system. The reliability of the gossip protocol depends upon some critical properties of these views, such as degree distribution and clustering coefficient.Several algorithms have been proposed to maintain partial views for gossip protocols. In this paper, we show that under a high number of faults, these algorithms take a long time to restore the desirable view properties. To address this problem, we present HyParView, a new membership protocol t…

Read more about this Meetup

Epidemic Broadcast Trees

Date/Time: 2016-04-06 07:00pm Location: Oficinas de ShuttleCloud - Madrid

While I was working on the presentation for Plumtree I realized that the gossip introduction is itself quite long, so I'm going to split the talk in two. In this first one  I will introduce Gossip protocols and I will go over these papers:  

•  A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart, and D. Terry. “Epidemic Algorithms for Replicated Database Maintenance.” In Proc. Sixth Symp. on Principles of Distributed Computing, pp. 1–12, Aug. 1987. ACM. Ken Birman. The Promise, and Limitations, of Gossip Protocols. SIGOPS Oper. Syst. Rev., 41(5):8–13, October 2007

• Gossip-based Protocols for Large-scale Distributed Systems. Márk Jelasity, 2013JELASITY, M., GUERRAOUI, R., KERMARREC, A.-M., AND VAN STEEN, M. 2004. The peer sampling service: Experimental evaluation of unstructured gossip-based implementations. In Middleware 2004, H.-A. Jacobsen, Ed. Lecture Notes in Computer Science, vol. 3231. Springer-Verlag, 79–98.


Read more about this Meetup

Building Program Vector Representations for Deep Learning

Date/Time: 2016-02-10 07:00pm Location: Oficinas de ShuttleCloud - Madrid

The main problem when automatically analysing source code is finding a meaningful representation that captures the specific properties of programming languages. While there are widely adopted techniques for building “word embeddings” for natural language (like Word2vec), these are not applicable to source code, whose syntax and vocabulary are simpler .

This paper presents a model for learning “code embeddings”, relying on the syntactic structure of the code, expressed as Abstract Syntax Trees, and how to use those embeddings for code classification tasks.

Paper is available here:

Talk will be in english

Read more about this Meetup

Path, Trees and Flowers

Date/Time: 2016-01-20 07:00pm Location: Oficinas de ShuttleCloud - Madrid

We will talk about the paper "Path, Trees and Flowers" by Jack Edmonds.

This paper is seminal in graph theory. It describes the maximum matchings blossom algorithm, which finds a decomposition of a graph in the maximum number of pairs connected by an edge.

It is also the base of the famous minimum weight maximum matchings algorithm, a very important algorithm used in many applications, from pairing in chess tournaments to resources or worker placement within companies.

Read more about this Meetup

Diff and Blame: an intuitive overview

Date/Time: 2015-12-02 07:00pm Location: Oficinas de ShuttleCloud - Madrid

En esta ocasión tenemos la suerte de contar con Alberto Cortés, que nos hablará de sus experiencias sobre Diff/Blame y cómo están construyendo su propia versión en Go

Diff es una algoritmo venerable, desarrollado en 1970 para Unix; básicamente es una distancia de Levenshtein, pero orientado a líneas en vez de a carácter. Git-blame utiliza diff de una forma bastante interesante para detectar qué commit fue el último en modificar cada línea de un fichero.

Durante la charla se revisarán como funcionan ambos algoritmos, diff y blame, de una forma intuitiva y Alberto nos hablará de los papers y recursos que ha utilizado para llevar a cabo su desarrollo.

Referencias de algunos de los papers utilizados:

Myers, 1986, "An O(ND) Difference Algorithm and Its Variations" 

Zimmerman, 2006, "Mining Version Archives for Co-changed Lines"

Read more about this Meetup

#1 - Álvaro Videla: Premature optimization is the root of all evil

Date/Time: 2015-02-12 07:00pm Location: Oficinas de ShuttleCloud - Madrid

Tenemos el enorme placer de contar con Álvaro Videla como primer ponente de esta primera entrega de Papers We Love Madrid.


En cuanto Álvaro me pase un pequeño resumen, actualizaré esta sección.


Álvaro (@old_sound) trabaja como Developer Advocate para RabbitMQ/Pivotal y es coautor del libro  RabbitMQ in Action

Read more about this Meetup