Porto Codes

Past events

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

January 25th, 2024

An introduction to FastAPI, by Helena Lopes

FastAPI is a recent Python web framework for building APIs that has been gaining a lot of popularity lately. It is based on open standards like OpenAPI or JSON Schema and supports asynchronous programming or Python type annotations. I hope to inspire you to use it, just as I was inspired by the FastAPI creator.

Simplifying the Cloud: A Beginner's Guide to Fly.io, by Francisco Marques

This talk introduces Fly.io, a simple platform transforming the deployment of global applications for small organisations. This platform goes against the growing trend of the complexity seen in popular infrastructure abstractions, by making global container deployments straightforward and effortless, even for beginners.

September 28th, 2023

This month we are meeting up at Estambul in Aliados to have dinner and chat about programming. Join us!

May 25th, 2023

This month we are meeting up at Estambul in Aliados to have dinner and chat about programming. Join us!

March 2nd, 2023

January 19th, 2023

From top secret to common knowledge: how sensitive is sensitive data?, by Rita Silva

In this talk, Rita Silva (MD, PhD), researcher at the Faculty of Medicine - University of Porto, will discuss the definition of sensitive data; levels of data sensitivity; and obstacles and challenges related to the use, re-use and sharing of sensitive data for research purposes.

A informática hospitalar e das instituições públicas - reflexões de um quase aposentado, by Mário Seixas

40 anos de evolução tecnológica - a preeminência dos Sistemas de Informação. Visões do futuro: qual será o impacto da intelligencia artificial na estrutura organizativa das grandes instituições?

October 29th, 2022

Hacktoberfest is DigitalOcean’s annual event that encourages people to contribute to open source throughout October. Much of modern tech infrastructure relies on open-source projects built and maintained by passionate people who often don’t have the staff or budgets to do much more than keep the project alive. Hacktoberfest is all about giving back to those projects, sharpening skills, and celebrating all things open source, especially the people that make open source so special.

Join us at Significa’s office and let’s work on our favorite open source projects. We will pitch some local open source projects and spend the day hacking together.

Sign up at https://hacktoberfest.com and bring your computer with you.

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

Hacktoberfest is a month-long celebration of open source software run by DigitalOcean and DEV. Hacktoberfest is open to everyone in our global community. To participate, you must submit four pull requests to public GitHub repositories.

Join us in Porto i/o Santa Catarina and let’s work on our favorite open source projects. We will pitch some local open source projects and spend the day hacking together.

Sign up at https://hacktoberfest.digitalocean.com and bring your computer with you.

October 12th, 2019

Hacktoberfest is a month-long celebration of open source software run by DigitalOcean and DEV. Hacktoberfest is open to everyone in our global community. To participate, you must submit four pull requests to public GitHub repositories.

Join us in Porto i/o Santa Catarina and let’s work on our favorite open source projects. We will pitch some local open source projects and spend the day hacking together.

Sign up at https://hacktoberfest.digitalocean.com and bring your computer with you.

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.

About Luís Cardoso:

I’ve been a Frontend Engineer at Feedzai for 7 years. I’m on the company almost from it’s beginning and I had a big role on what is the Frontend at Feedzai today (for good and bad). Some of the things I’ve been involved with: maintaining a large SPA, recruiting, architecture decisions and several initiatives inside the company. In my free time I’m an amateur photographer.

January 10th, 2019

Encrypted vs Private communications, by Artur Goulão

Is TLS-based communication really private? What apps do we use today that are private or just encrypted? Most of today’s best practices of security are not enough for ensure that a system can be private, most implementations are not aware of third party leakage, like audio encoding, rely too heavily on common standards from the web. Other that try to mimic Signal, end up with what is called dumb-encryption, also known as “I’ll do my own cypher algorithm”. What are the insurances and caveats that can be present in a system need privacy on a M2M or P2P level? Something to find out in this talk!

About Artur:

Founded a Swiss based blockchain payments startup in 2017 and is it’s current CTO and Payments expert. Partner at a Swiss-based Cybersecurity company focused on post-quantum private communications. Excels and is deeply involved in development and R&D of software-related systems. Has a background in Computer Science from Instituto Superior Técnico (IST) and MIT.

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

Realtime in web applications is a challenge that developers face, and one hard decision is what technology/architecture to use. In this talk you will have an hands on building a Streaming API in NodeJS for your frontend. This is possible with SSE and HTTP2, and is so simple that you will question if you really need to pay Pusher or other service to push data.

October 11th, 2018

Go 2 Draft Designs, by Diogo Pinela


One of Go’s most distinguishing features among modern programming languages is its fairly minimalistic feature set, which makes it particularly simple to read and write. Some of the omissions, however, have had definite drawbacks, most notoriously the inability to write type-generic functions and data structures and the large amounts of error-checking boilerplate.

Recently, the core Go team has released a set of draft designs (https://golang.org/s/go2designs) for solutions to address these problems, in order to gather feedback from the community. We’ll explore the ideas they put forth and how they might change the way we write Go.

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.

MEAN is a free and open-source JavaScript software stack for building dynamic web sites and web applications.

The MEAN stack is MongoDB, Express.js, AngularJS (or Angular), and Node.js. Because all components of the MEAN stack support programs are written in JavaScript, MEAN applications can be written in one language for both server-side and client-side execution environments.

July 12th, 2018

Ethereum 101, by Júlio Santos

June 10th, 2018

Knee Deep Into P2P, by Fernando Mendes

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.

May 10th, 2018

Building a Testing Culture, by Pedro Tavares

We live surrounded by bad practices, stress, and fear of missing a delivery timeline. We all work or worked, on projects with those characteristics. If we don’t enforce a shared culture of testing, no matter what, the quality of the software that we produce will suffer. With this talk/topic, I want to share the problems and solutions that will enable us to create a shared testing culture across our team and company.

April 12th, 2018

Not talking about Polymer, by Eurico Inocencio

A simple “hands on” introduction to web components on a modern browser and Polymer, one of the libraries that builds on top the web components.

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

April 5th, 2018

Front-end Checklist, by David Dias

Hey everyone!

This will be our first Workshop and “special event” in a while :)

David Dias will be showing us how to best make use of the Front-end Checklist to make sure our web applications are up to good standards.

Bring a laptop, a project of yours, and a pinch of curiosity :)

March 8th, 2018

Not talking about polymer, by Eurico Inocencio

A simple “hands on” introduction to web components on a modern browser and Polymer, one of the libraries that builds on top the web components.

An Introduction to Smart Contracts, by Miguel Palhas

Let’s talk blockchain! But not the whole money thing. Smart Contracts are the real juice.

I will walk you through what a Smart Contract is and why you should care. We will discuss how they differ from traditional computing methods, and what makes this so revolutionary.

February 8th, 2018

Laravel, PHP for Artisans, by Francisco Carvalho

Laravel is a PHP application framework with expressive and elegant syntax, that attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.

Laravel is accessible, yet powerful, providing powerful tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.

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

Uma introdução sobre a linguagem criada pela Google, uma linguagem moderna que tem ajudado grandes empresas a resolver seus problemas e tem softwares interessantes como Docker, Kubernetes, Hashicorp tools, etc… escritos em Go.

O objetivo da talk é instigar o conhecimento na linguagem para assim saber quando ela pode te ajudar.

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

Bruno is a frontend developer at Pixelmatters and loves Vue.js! He will show Vue.js power on building large web apps based on the framework’s progressiveness, scalability and robustness. Why is Vue.js growing soo much on the JS environment? It’s time to see the whole picture!

The Dream of Styleguide Driven Development, by Sara Vieira

React is awesome! We probably all here agree on that. You have heard of all types of driven development but react emerged a new type, styleguide driven development became a reality with components. This type of development focuses on Developer/Designer collaboration and on assertive components. With the use of React, CSS Modules, Flow and Snapshot testing we were able to almost remove style regressions. In this talk you get a glimpse of you can start styleguide driven development and how you can sell this dream to your project managers.

Up and running with ReasonML, by José Nogueira

This will be an introductory talk where we’ll go into what ReasonML is and works, it’s benefits, and what we need to know to start hacking with it.

November 19th, 2017

Tacit, by Filipe Freire

An introduction to Tacit, a CSS Framework for Dummies, Without Classes.

Introduction to Open Source contributing, by Ricardo Mendes

In keeping with the Hacktoberfest (https://hacktoberfest.digitalocean.com) theme, we will be doing an introduction to contributing to Open Source projects.

Bring your questions and optionally your laptop if you want to get some commits in for that fancy t-shirt.

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

In this talk, we’re gonna talk mobile development without using strictly native tools - and yes, these sorts of platforms usually result in apps that don’t quite nail the native look&feel, residing in an uncanny valley for applications. However, this one’s a little different.

We’re talking about React Native, a mobile development framework, created, developed and endorsed by Facebook you can plug right in your existing native code to gain developer superpowers: Hot Reloading, instant deploys without an AppStore round-trip, UI expressed in React components and many more! Facebook says it’ll replace mobile development as we know it - so let’s see how true that might be!

July 20th, 2017

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

This talk/demo will showcase some of the methods used to produce concurrent code in Python, covering some of their pros and cons, focusing primarily on the coroutine based library - gevent.

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

How many times, as a developer, have you had to deal with a timezone or daylight savings bug? Join us as we describe various problems, examples and solutions to timekeeping in global applications.

Functional Programming in Modern C++, by Miguel Poeira

In this talk I’ll try to show you how you can write functional-oriented code with modern C ++. Typically, C ++ is known as a language where you need to reinvent the wheel every time you start a new project. From simple examples to more complex metaprogramming, I’ll try to convince you otherwise.

April 18th, 2017

OutSystems, by Nuno Reis

Nuno will be giving us a tour of how to build an application using OutSystems.

March 23th, 2017

Ansible, by Rui Salgado

An intro to the self proclaimed “radically simple” automation engine you can use to provision your servers, deploy and configure your applications.

February 16th, 2017

Scala, by Rodrigo Lima

Rodrigo will provide an introduction to the Scala programming language, telling us about its virtues, what Scala projects can look like, and who’s using it.

January 19th, 2017

Building static websites with Ember.js, by Ricardo Mendes

With the advent of server-side rendering for client-side frameworks like Angular/React/Ember, you can now use familiar tooling to develop your static websites. In my presentation I will be showing how to leverage ember-cli-staticboot and Ember’s ecosystem to quickly put together a website.

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.

Moving from PostgreSQL to RethinkDB, by Guilherme Pereira

Nowadays, we need to ensure that applications are operating 24/7, and PostgreSQL (http://www.postgresql.org/) 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 (http://www.postgresql.org/) to RethinkDB (https://www.rethinkdb.com/). In a technical talk, I will present the issues I encountered, as well as a performance analysis between both databases.

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


October 15th, 2015

September 23th, 2015

August 19th, 2015

July 15th, 2015

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

March 18th, 2015

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.

January 7th, 2015

Presentations and Hack night

December 10th, 2014

The limit of attendants for the presentations is presently 10. If more people show up they may have to stand around, or lean against a wall :P

We will then head to a restaurant. If anyone has a specific idea please share. We should probably make reservations before hand this time.

Docker, by Hugo Peixoto

Porto.rb, by Ricardo Mendes

November 19th, 2014

November 14th, 2014

Free workshop on getting started with the framework for creating ambitious web applications.

October 29th, 2013


June 16th, 2013

At the behest of one of the RailsGirls Porto coaches (Maxim), I’m putting together a meetup so we can trade Rails war stories. The theme of the meetup is narrower since I’m trying to take it off the ground again, but we’ll expand and diversify on the next ones.

I know this was announced quite on top of the date, but I’ll set up another one for the members that can’t make it on Monday.

P.S. Post’s in english since we have non-Portuguese attendants.

March 29th, 2013

Speed talks: Please feel free to do a speed talk, it will be a very relaxed meetup (hence the ‘Ice-breaker’ name) so don’t worry too much about time or the presentation itself.

Dinner: Depending on the number of talks, we can either order some fast food or we can go and eat somewhere. We will see how it goes later.

After drinks: After the meetup we can go and have drinks in Porto city :) – the rain doesn’t help, and I know it’s Easter time… so we also have to see what will be the mood of the people.

One of the topics I would like us to discuss today is the state of the ruby community, I think we ought to organize ourselves… and thus, that will be my talk/discussion for later.

August 23th, 2012

Segundo o último evento que ocorreu em Agosto, foi sugerido que se organizasse um workshop ou algo do género.

Provavelmente como a ocasião será informal, seria interessante haver um conjunto de speedtalks para o efeito. Sugere o teu tópico de 5 minutos e aparece!

August 9th, 2012

Olá a todos!

Gostava de organizar a primeira meetup, a data é flexível pelo que poderemos alterá-la conforme a vossa disponibilidade.

Acho que um encontro informal, talvez jantar e depois a few drinks seria o ideal, que vos parece?

Espero vê-los a todos brevemente!