Porto Codes

Past events

When available, here you will find links to the video and slides of previous talks.

February 13th, 2020

Tooling for updating large tables in Postgres, by André Freitas

In this talk André will present tooling that will help you update large tables in Postgres with observability on the progress, pause/resume work, optimization of databases updates throughput and having atomic operations while not locking all the table but just the rows you want to update.

The bees and the IoT, by Resende

Bees are essential to the human life, but spoiler alert… they’re dying! Ohh no! In this talk we are documenting the process of using IoT to monitor hives and the subsequent problems.

Long live the bees 🐝!

January 9th, 2020

Code for Humans and juniors, by Hugo Meireles

We are going to talk about some important practices around clean code and why this was important to improve my code skills. We will make refactoring improvements in a nodeJS app.

December 19th, 2019

Infrastructure as code using Terraform, by Hugo Peixoto

We use git to keep track of what changes we do to our code, and why we do them. Some use Chef/Salt/Puppet to keep track of server installations. I use terraform to apply the same process to manage my AWS accounts, both personal and professional.

This doesn’t apply only to your standard cloud providers (AWS, GCP, Azure). I also manage resources on Heroku, Netlify, Fastly, GitHub, Gitlab, and other tools.

November 14th, 2019

A serverless case study with AWS, by Luís Miguel

A full-fledged CMS can easily keep records of tasks input by users, process those tasks into a queue, communicate them to a job factory, and notify users of the results. We decided we didn’t want to manage a full CMS just for that, going serverless was the perfect alternative.

How Ember.js revamped their infrastructure, by Ricardo Mendes

The Ember project has many associated websites, the guides, the deprecation guides, the blog, the API documentation, and the main website itself. These were built over the years as needed and used a mishmash of technologies (middleman, embedded Ember, standalone Ember), which made it hard for both maintainers and new contributors to the project. To take advantage of the Ember knowledge and skills in the community, we started moving projects to Ember. In this presentation I will be covering how we are using JAMstack practices to accomplish this migration.

October 26th, 2019

October 12th, 2019

October 10th, 2019

Elm, by Décio Ferreira

Elm is a functional language for reliable webapps, with a very strong emphasis on usability, performance, and robustness.

Elm compiles to JavaScript, and is most well known for:

By the end of this talk I hope you will be able to create your own web application in Elm, understand how it compares with other projects like React as a tool for creating websites and web apps, but also understand the core ideas and patterns that make Elm nice to use.

September 12th, 2019

Living inside GNU Emacs, by André Alexandre Gomes

Today’s technological world is both exciting and alarming.

Exciting because we have the tools to solve the challenging problems of our overpopulated planet. The vision of a connected, peaceful and fair world feels closer than ever.

Alarming because tech companies provide tons of malware that people greet without questioning - exchanging their freedom for a fake sense of pleasure and a fake sense of productivity.

In this talk, I will show that GNU Emacs is the perfect environment for a focused and free life in a world full of corrupted people and bullshit.

August 8th, 2019

How to get over 300GB of 3D data to the web in real time, by José Ferrão

At UNO Digital we develop solutions for the oil and gas industry. One of our products is world scale visualization for geospacial data, point clouds and CAD models. This information is combined with asset management and monitoring data from our platform to create real time visualizations of production plants. In this talk we will present the challenges we faced while trying to deliver over 300GB of 3D data to the web at record time.

July 25th, 2019

Virtual ARt Gallery: building with Augmented Reality, by Doug Sillars

July 11th, 2019

Livecoding shaders with Atom - Veda.gl, by Rodrigo Torres

Future of computing: a summary, by Rui Teixeira

Building 3D web applications using nunuStudio, by José Ferrão

nunuStudio is a web based 3D editor and game engine, in this talk we will discover how its possible to build and integrate a feature rich 3D experience into your web application.

Using Percy for visual regression testing, by Ricardo Mendes

asdf: Extensible version manager, by Hugo Peixoto

Replace rvm, pyenv, nvm, and more with a single tool.

June 13th, 2019

Thriving through the hype cycle: an Ember.js story, by Ricardo Mendes

The front-end development community has been through a fair share of hype cycles in the last ten years. In this time, we have seen libraries and frameworks come and go, sometimes even disappearing completely like batman.js.

In this talk we will cover how the Ember.js project has managed not only to keep up with the hype cycles, but to continually push the framework and the web forward and bring its users along. We will close off the presentation by talking how this culminates in the concept of editions, the first of which is Ember Octane.

May 9th, 2019

Email me maybe, by Pedro Coelho

Build your own email server! First we’ll see how email works both in theory and in practice, and the stuff you’ll need before building your own server. We’ll then go through the steps to build one ourselves, hopefully see it in action, and in the end we’ll discuss a bit whether this is a good idea and some peculiarities you may find along the way.

April 11th, 2019

Playing around with Flutter, by Rui Lima

What is this new flutter thing? What is Dart and where has it been all my life? Let’s check this things out while building a tiny project.

March 14th, 2019

Home automation for tinkerers, by Abílio Costa


Home Automation seems to finally be spreading and growing, with a lot of new products getting to the market with affordable prices. Unfortunately, many of those products use their own proprietary interfaces, so we end up with isolated products that don’t talk to each other, and that rely on cloud-based services (which may be unreliable or slow due to network conditions).

Fortunately, there are many ways to make some of these proprietary products work locally, interact with each other and centralize them, allowing us to control and manage them from a single service, instead of using a different app for each device. In this talk, we will discuss some of the ways to do that using open-source software like Home Assistant. We will also take a look at some of the most common technologies used in Home Automation, and even how to get rid of proprietary firmware and use open-source ones!

February 21th, 2019

React Best Practices, by Luís Cardoso


React is one of the most used libraries for web development. However, because it’s so widely used, the library evolves fast and sometimes we don’t get the most out of it or we are not familiar with new patterns and best practices. This talk gives an overview of the current best practices and caveats to watch out for.

January 10th, 2019

Encrypted vs Private communications, by Artur Goulão

December 13th, 2018

Building a command line tool in Rust, by Ricardo Mendes

OpenPGP technical details, by Hugo Peixoto

November 8th, 2018

How to push data to Frontends with SSE, by André Freitas

October 11th, 2018

Go 2 Draft Designs, by Diogo Pinela


September 13th, 2018

Open source governance in Ember.js, by Ricardo Mendes

August 9th, 2018

MEAN-stack, by João Neto

Overview of a javascript full-stack application, using the MEAN Stack.

July 12th, 2018

Ethereum 101, by Júlio Santos

June 10th, 2018

Knee Deep Into P2P, by Fernando Mendes

May 10th, 2018

Building a Testing Culture, by Pedro Tavares

April 12th, 2018

Not talking about Polymer, by Eurico Inocencio

WordPress de um fork a 30% da internet, by Marco Pereirinha

April 5th, 2018

Front-end Checklist, by David Dias

March 8th, 2018

An Introduction to Smart Contracts, by Miguel Palhas

February 8th, 2018

Laravel, PHP for Artisans, by Francisco Carvalho

Let's Go - Por que e quando você deveria considerar usar, by Renato Suero

January 11th, 2018

Getting Started with Spring Boot, by Jorge Martins

December 21th, 2017

Elegant OOP and Cactoos, by Filipe Freire

November 23th, 2017

Vue js - The whole picture, by Bruno Teixeira

The Dream of Styleguide Driven Development, by Sara Vieira

Up and running with ReasonML, by José Nogueira

November 19th, 2017

Tacit, by Filipe Freire

Introduction to Open Source contributing, by Ricardo Mendes

September 21th, 2017

Rust, by Ricardo Mendes

Java, by Pedro Tavares

Julia, by Ricardo Cruz

Writing a compiler with Ruby with LLVM, by Hugo Peixoto

August 24th, 2017

React Native, by João Anes

July 20th, 2017

Concurrent Python made (near) painless using gevent, by Rui Teixeira

June 22th, 2017

BDD, Why Not?, by Jorge Machado

Cinder, creative coding with C++, by Rodrigo Torres

May 25th, 2017

Dealing with Timezones and Daylight Savings, by James Cutajar

Functional Programming in Modern C++, by Miguel Poeira

April 18th, 2017

OutSystems, by Nuno Reis

March 23th, 2017

Ansible, by Rui Salgado

February 16th, 2017

Scala, by Rodrigo Lima

January 19th, 2017

Building static websites with Ember.js, by Ricardo Mendes

December 21th, 2016

What is a Digital Nomad, by Daniel Carneiro

video slides

Earlier this year I’ve decided to go for something completely different and joined a remote working program for a month. There I’ve learned about digital nomads and how it’s attracting more people each year. This talk will be about my experiences there, the pros and cons and why you should definitely try it.

Relevant links:

November 17th, 2016

Moving from PostgreSQL to RethinkDB, by Guilherme Pereira

video slides

Nowadays, we need to ensure that applications are operating 24/7, and PostgreSQL does not support master-master replication (only through third parties, with some limitations).

With this in mind, I will talk about migrating an application from PostgreSQL to RethinkDB. In a technical talk, I will present the issues I encountered, as well as a performance analysis between both databases.

Relevant links:

September 21th, 2016

Real-time Desktop Capture, by João Paulo dos Santos Portela

video slides

Sometimes you need to automate desktop capture, but how do you do it? Doesn’t video encoding have a big impact on performance? Aren’t most desktop capture applications GUI based?

Doing desktop capture and encoding on windows with minimal performance impact can certainly be a challenge. Fortunately there are plenty of technologies and libraries to help us. In this talk we’ll explore what’s out there and how an open source project helped us deliver a high quality solution.

July 20th, 2016

Introduction to Swift, by Jaime Paulo

video slides

When talking about programming languages, Swift is the new kid in Apple’s block. In this session we are introducing Swift from an iOS developer’s perspective and how it helps build more reliable code compared to its ancestor Objective-C while crushing some myths along the way.

But, is it mature enough? XCode. Using Swift in production and in building apps where Obj-c meets Swift.

Now in version 2.2, we will also talk about where we are going and how open sourcing Swift enables for new interactions with the developer community such as language improvement and other applications of the language.

May 18th, 2016

Good ol' PHP, by Rui Lima

video slides

Rui Lima led us through a journey through time, going into the history and evolution of PHP since version 5.3 to 7.0. The concept of PSRs (PHP Standard Recommendations), composer (PHP dependency manager), and the features that version introduced.

April 20th, 2016

Demonstração Let's Encrypt, by Hugo Peixoto


Indigo World, by Paulo Freitas

March 23th, 2016

Elixir and Phoenix, by António Cascalheira


Cassandro: Conclusão, by Paulo Brito

February 17th, 2016

React On Rails, by Pedro Brochado


More React, and probably less Rails, by Miguel Palhas


Mutation Testing, by Pedro Costa


November 19th, 2015

Personal engine vs other tools, by Miguel Mendes

October 22th, 2015

Cassandro, o exótico, by Paulo Brito

Developers & Designers, by Maria Monteiro


June 18th, 2015

Apey-eye, by Filipe Sousa


Polymer/hoodie, by Rui Monteiro


a11y for the uninitiated, by Luís Ferreira


May 28th, 2015

Introduction to Elixir, by Ismael Abreu


A taste of integration with Apache Camel, by Rui Salgado


April 27th, 2015

Dinner and socializing.

March 18th, 2015

Dinner and socializing.

February 4th, 2015

Rails performance, by Guilherme Pereira


This will be the first presentation by Guilherme to the group. He will talk about performance in Rails applications.

Crystal programming language, by Luís Ferreira


Minho.rb organizer, Zamith is no stranger to presentations. He will reprise his role from last week’s Minho.rb where he presented the Ruby-inspired programming language, Crystal.