• PWL #07 :: Harvest, Yield, and Scalable Tolerant Systems
    Hello everyone 馃憢 We're getting ready for the 7th session of Papers We Love @ Porto. Let's sit together and discuss about one of the most misunderstood concept in distributed systems, introduced by Eric A. Brewer in the paper "Harvest, Yield, and Scalable Tolerant Systems", the CAP Theorem. Details There will be a presentation around the CAP Theorem and its misconceptions, still, if you can, please read the paper (https://pdfs.semanticscholar.org/5015/8bc1a8a67295ab7bce0550886a9859000dc2.pdf). Doors will open around 18:30 and we'll start the discussion after a quick introduction of the meetup, around 19:00. After we can grab a drink nearby! Hope to see you soon 馃帀

    Porto i/o Santa Catarina

    Rua de Ant贸nio Pedro, 24Porto

  • PWL #06 :: Deep Neural Networks and Distributed Consensus
    Hello everyone, we have great news for you! Our sixth session will be hosted by Blip (https://blip.pt) and we'll have two amazing talks for you. We're super happy to have both Jo膩o Fernandes (https://bit.ly/2m9ocSe), and Miguel Palhas (https://twitter.com/naps62) talking about two great scientific topics! Talk 1: Mastering the game of Go with deep neural networks and tree search by Jo膩o Fernandes The game of Go has long been viewed as the most challenging of classic games for artificial intelligence owing to its enormous search space and the difficulty of evaluating board positions and moves. Jo膩o will introduce to us this new approach to computer Go that uses value networks to evaluate board positions and policy networks to select moves. Talk 2: Distributed Consensus by Miguel Palhas Miguel will give us an overview of some distributed consensus algorithms, from the original Hashcash/Bitcoin to some exciting research that tries to solve the know problems from the original solutions. Details Doors will open around 18:30 and presentations will start after a quick introduction of the meetup, around 19:00. After each presentation, we will open up the floor for discussion, questions and drinks! Hope to see you soon 馃帀


    Av. de Camilo 94Porto

    1 comment
  • PWL #05 :: Edge Bundling and Ethereum
    Hello everyone, we're back to Porto! Our fifth session will be hosted by Veniam (https://veniam.com) and we have two amazing talks for you. We're super happy to have both Daniel Moura (https://www.linkedin.com/in/dmoura), and Hugo Peixoto (https://www.linkedin.com/in/hugopeixoto) talking about two great scientific topics! Talk 1: Visualising graphs with millions of edges using edge bundling by Daniel Moura Three years ago, when trying to visualize flows of people in cities, I came across a family of algorithms that was new to me: edge bundling algorithms. Edge bundling is based on visually clustering edges and, at that time, the main focus was on bundling together edges based on their spatial proximity. After reading several papers on the subject, "Graph Bundling by Kernel Density Estimation鈥 (http://www.cs.rug.nl/~alext/PAPERS/EuroVis12/kdeeb.pdf) was the one that inspired me the most due to its simplicity and potential to handle large graphs. In this sessions of paper we love, I will explain you the rationale of graph bundling based on kernel density estimation, propose simplifications that make the algorithm more efficient and easier to implement, and show how the base algorithm can be extend to handle different clustering criteria and to produce videos of evolving graphs. Finally, I will present visualisations that try to illustrate the potential of edge bundling (teaser: https://www.linkedin.com/pulse/visualising-flow-bus-passengers-porto-new-algorithm-daniel-moura/). You can read the paper here: http://www.cs.rug.nl/~alext/PAPERS/EuroVis12/kdeeb.pdf Bio Daniel Moura joined Veniam on September 2015 and is the Head of Data, leading Data Science and Business Intelligence. PhD in Informatics by University of Porto (2011), Daniel has 11 years of experience in data analysis, 17 years in computer science and engineering, 7 years as teaching assistant on computer science subjects, 9 publications in peer-reviewed journals, 3 international patents, and several papers in international conferences. Daniel was Visiting Researcher in the University College of London (England), the University of Gent (Belgium) and the 脡cole Polytechnique de Montr茅al (Canada). Before joining Veniam, Daniel was Research Associate at University of Porto, where he was responsible for data analysis in the FP7 Future Cities project. Talk 2: Ethereum: A secure decentralised generalised transaction ledger by Hugo Peixoto The blockchain paradigm when coupled with cryptographically-secured transactions has demonstrated its utility through a number of projects, not least Bitcoin. Each such project can be seen as a simple application on a decentralised, but singleton, compute resource. We can call this paradigm a transactional singleton machine with shared-state. Ethereum implements this paradigm in a generalised manner. Furthermore it provides a plurality of such resources, each with a distinct state and operating code but able to interact through a message-passing framework with others. We discuss its design, implementation issues, the opportunities it provides and the future hurdles we envisage. You can read the paper here: https://ethereum.github.io/yellowpaper/paper.pdf Hope to see you soon!

    Veniam (conference room)

    Rua do Alferes Malheiro 97 4th floorPorto

    1 comment
  • PWL #04 :: Knee Deep Into P2P
    Hello everyone! This month we're going to Braga! Our fourth edition will be hosted by Subvisual (https://subvisual.co) and Fernando Mendes (https://twitter.com/fribmendes) with talk about "Knee Deep Into P2P". Abstract What happens when you don't like centralized things? You do P2P! I created a distributed smart office using Elixir that runs in a single P2P network. There are a lot of subtleties into this. How can we prevent someone from entering the network? How do we manage shared data? What topology do we use? How about nodes that are unrealiable and we are not sure when they will connect or disconnect? What if YOU want to add a node and we can't trust you to deliver messages? I will use the office as an example and teach you how different the reasoning between a web-like centralised context and a P2P distributed system is. We will go from simple P2P topologies (gossip, trees) to more complex ones (Gnutella2, HyParView, Plumtrees), analyse their problems and take a look at what CRDTs are and how awesome they can be for shared data. Bio Mendes exchanges coffee for code. He has a background in Distributed Systems and Cryptography, having won multiple national awards for academic excellence. He also does a lot of volunteering, being the founder of #include and the champion of CoderDojo Braga. Hope to see you soon!


    Polo de Neg贸cios de Braga, Avenida D. JOAO II 404, 4潞 andar, Sala 45, 4715-275Braga

    1 comment
  • PWL #03 :: Things you should know about Database Storage and Retrieval
    Hello everyone! We are delighted to tell you that we'll have our third Papers We Love @ Porto at Porto i/o Riverside. Talks > Things you should know about Database Storage and Retrieval ~ Pedro Tavares (https://twitter.com/ordepdev) On the most fundamental level, a database needs to do two things: when you give it some data, it should store the data, and when you ask it again later, it should give the data back to you. Why should you, as an application developer, care how the database handles storage and retrieval internally? In order to select the storage engine that is appropriate for your application, you need to have a rough idea of what the storage engine is doing under the hood. In this talk, we鈥檒l discuss and examine some core data structures such as Hash Indexes, SSTables, LSM-Trees, and B-Trees, that are used in the traditional relational databases and NoSQL databases. Details Doors will open around 19:00 and presentations will start after a quick introduction. After the presentation, we will open up the floor for questions and discussions. Hope to see you soon!

    Porto i/o Riverside

    Rua do Infante D. Henrique 73 4潞 PisoPorto

  • March :: Papers We Love #02
    Hello everyone! We are delighted to tell you that we'll have our second Papers We Love @ Porto at UPTEC. This time we'll host Carlos Baquero (https://twitter.com/xmal) and Michael Domingues (https://www.linkedin.com/in/michaelapdomingues). Talks > Performance testing of open-source HTTP web frameworks in an API Upon each day there are more and more services running on the web and we are trying to make to most out of them. These Web Applications (WAs) represent thousands of type of services we can interact with like weather forecast and Application Programming Interface (API) which use by themselves other WAs. API provides at a certain authorization level access to multi-source data using several request endpoints in a multi-tier architecture where performance is critical and it must be ensured the best throughput, response time and availability. This study presents the implementation of three open-source web frameworks (Revel, Gin and Echo) in a corporate API developed by Movvo庐 in order to evaluate the overall architecture using Apache Benchmark as a load testing tool. Results show Gin contributed to the fastest response times for a set of requests that vary on processing and retrieved data complexity. > Causality is simple 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 complex interactions in modern systems. However developers often look at techniques such as as replica synchronization with version vectors, or causal broadcasting algorithms, as black boxes; or as complex sets of rules that have to be followed and not questioned. This talk will focus on bringing back the intuition on causality, and show that keeping in mind some simple concepts, allows to understand how version vectors and vector clocks work, and were they differ, and how to use more sophisticated mechanisms to handle millions of concurrent clients in modern distributed data stores. Bio Carlos Baquero is an Assistant Professor and teaches Distributed Systems at Universidade do Minho, Portugal. He is a Senior Researcher at the High Assurance Laboratory within INESC TEC. In the 90s, motivated by mobile computing and disconnected operation for file systems, he studied data types with merge (and fork) operations over semi-lattices, a precursor to state-based CRDTs. He is also interested in causality and in distributed aggregation algorithms. He specially likes all things distributed that eventually merge. Details Doors will open around 18:30 and presentations will start after a quick introduction of the meetup, around 19:00. After each presentation, we will open up the floor for discussion, questions and drinks! This meetup will be sponsored by XING. Hope to see you soon! -- If you want to present a paper either in a full or lightning-talk format, feel free to reach @ordepdev or submit the CFP form (https://docs.google.com/forms/d/1OfwO8XlESmka1uWB_HczuCjsy__o8ORdqEEKBmGXQxA).

    UPTEC - Polo Tecnol贸gico

    461 Rua Alfredo AllenPorto

    1 comment
  • PWL #01 :: Hello Porto!
    Hello everyone! We are delighted to tell you that we are kicking off the first Papers We Love @ Porto. Our goal is to help bridge the gap between Porto industry and academics: membership of both types are very welcome; and to dive deep into interesting programming topics. For the first ever Papers We Love in Portugal, we'll be hosting Alvaro Videla (https://twitter.com/old_sound), Co-Author of the book "RabbitMQ in Action" and Former RabbitMQ Core Developer and Jos茅 Marcelino (https://www.linkedin.com/in/josemarcelino1), Data Scientist at Farfetch. -- > Harmful GOTOs, Premature Optimizations and Programming Myths are The Root of All Evil Over the years our industry has accumulated folklore that shapes what we are as an industry. We repeat maxims like "Premature optimisation is the root of all evil" but perhaps ignoring the context on which that sentence was said. This ignorance has lead us to creating myths that sometimes do more harm than good. In this talk I will review some of those myths, see their origin and at the same time make a historical review of what was going on in our industry in the '70s, when those myths appeared. As the old saying goes: Those who cannot remember the past are condemned to repeat it > Talk objectives: - Promote a culture of reading more books, academic papers and related material that refers to the history of our field and programming in general. > Talk audience: - From beginners to experts. No special knowledge is required to attend the talk. Bio Alvaro Videla used to work as a Core Developer for RabbitMQ and co-authored the book "RabbitMQ in Action" for Manning Publishing. Before moving to Europe, Alvaro worked in Shanghai building one of Germany's largest dating websites. Some of his open source projects can be found here: http://github.com/videlalvaro. Besides code related stuff he likes traveling with his wife, listening/playing music and reading books. -- > All Aboard the Natural Language Processing Train From the depts of intuition to practice, Jos茅 Marcelino will guide us throw the valley of Natural Language Processing field. Sequence labeling tasks, such as Part-of-Speech Tagging or Named Entity Recognition, represents a crucial step to understand language. Step by step, we will review Xuezhe Ma and Eduard Hovy approach (https://arxiv.org/pdf/1603.01354.pdf) to address the problem. We will examine each decision and explain how can we mount a similar solution in a practical approach. Bio Jos茅 Marcelino is a Data Scientist at Farfetch while completing his Master Thesis in Natural Language Processing at the University of Coimbra. -- Details Doors will open around 18:30 and presentations will start after a quick introduction of the meetup, around 19:00. After each presentation, we will open up the floor for discussion, questions and drinks! Hope to see you soon! -- Remember that we strictly adhere to the Code of Conduct (https://github.com/papers-we-love/papers-we-love/blob/master/CODE_OF_CONDUCT.md) set forth by all PWL charters. If you want to present a paper either in a full or lightning-talk format, feel free to reach @ordepdev or submit the CFP form (https://docs.google.com/forms/d/1OfwO8XlESmka1uWB_HczuCjsy__o8ORdqEEKBmGXQxA). Make sure that you join us on Slack through https://pwlporto.slack.com/ or https://pwlporto.herokuapp.com/ and follow us on Twitter (https://twitter.com/pwlporto).


    Rua da Lionesa n潞 446, Edif铆cio G12, 4465-671 Le莽a do BalioPorto