Running eBPF programs on Docker containers
Creating a Docker image to run BPF programs with libbpf, and troubleshooting Ubuntu issues.
22 May 2022
How to Write a Paper Summary
Learn what is and how to write an effective scientific paper summary.
23 Feb 2022
Autoscaling Tiered Cloud Storage in Anna
Summary of the paper presenting Anna, a distribuited KVS system designed to balance cost and latency requirements.
12 Feb 2022
Scalability! But at what COST?
Summary of the paper presenting COST (Configuration that Outperforms a Single Thread), a metric to evaluate big data platforms in a different way.
09 Feb 2022
GraphX: Graph Processing in a Distributed Dataflow Framework
Summary of the paper published in 2014 presenting GraphX, a distributed graph processing system that makes it possible to compose graphs with other collections by reducing the property graph to a pair of collections.
28 Dec 2021
Distributed GraphLab: A Framework for Machine Learning and Data Mining in the Cloud
Summary of the article presenting GraphLab, a fault-tolerant system that provides a dynamic and asynchronous execution model for processing large-scale graphs.
22 Dec 2021
Pregel: A System for Large-Scale Graph Processing
Summary of the paper presenting Pregel, Google's system for processing large Graphs using a simple computational model while being designed for efficiency and fault-tolerant execution.
19 Dec 2021
Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks
Summary of the paper presenting Tachyon, the distributed file system that enables reliable data sharing at memory speed.
27 Nov 2021
Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
Summary of the paper published by University of California Berkeley researchers, presenting RDD, a distributed memory abstraction for computations on large clusters.
25 Nov 2021
HDFS scalability: the limits to growth
Summary of Shvachko's article presenting Hadoop distributed file system HDFS and its scalability limitations.
21 Nov 2021
MapReduce: Simplified Data Processing on Large Clusters
Paper from Google engineers presenting MapReduce, a model providing a robust yet simple interface for processing large datasets in distributed environments.
20 Nov 2021
Enterprise Data Analysis and Visualization: An Interview Study
This paper presents an overview of the different competencies of data analysts, discussing the social and organizational context of companies that affects the outcome of analysts' everyday work.
23 Oct 2021
Improving Datacenter Performance and Robustness with Multipath TCP
Paper presenting the MPTCP protocol which improves the performance on datacenters, providing an alternative for single-path transport.
26 Aug 2021
Modeling TCP Throughput: A Simple Model and its Empirical Validation
Summary of the paper published in 1998 describing a TCP throughput prediction model that take timeouts into account.
13 Aug 2021
TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms
Summary of the RFC 2001, discussing the TCP mechanisms to handle package transmissions during network congestion.
11 Aug 2021
Congestion avoidance and control
Paper presenting an efficient algorithm for network congestion avoidance and control, as a response to the first Internet congestion collapses that happened back in 1986.
10 Aug 2021
Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks
Summary of the paper published in 1989 presenting different algorithms for Congestion Avoidance in computer networks.
10 Aug 2021
Efficient virtual network isolation in multi-tenant data centers on commodity ethernet switches
This paper presents LANES, a system that provides network isolation for multi-tenant data center environments.
14 Jul 2021
P4: Programming Protocol-Independent Packet Processors
Programming language designed for protocol and target independence allowing programmers to define packet processors in SDN environments.
05 Jul 2021
B4: Experience with a Globally-Deployed Software-Defined WAN
Paper presenting Google's private WAN connecting its data centers through an SDN solution, allowing near 100% of hardware utilization.
01 Jul 2021
Software Defined Traffic Measurement with OpenSketch
This paper presents a measurement architecture and prototype API for software-defined networks. It provides programmable measurement task implementations while maintaining high memory accuracy.
02 Jun 2021
Ethanol: Software Defined Networking for 802.11 Wireless Networks
This paper presents Ethanol, an SDN architecture for dense wireless networks, enabling vendor-agnostic service-aware control algorithms and network-wide control of QoS, user mobility, and access point virtualization.
28 May 2021
SoftRAN: Software-Defined Radio Access Network
Current distributed control plane for RANs are suboptimal on managing resources of dense wireless networks. SoftRAN presents as a software-defined, fundamental rethink of the radio access layer.
20 May 2021
BPFabric: Data Plane Programmability for Software-Defined Networks
Paper published at IEEE Xplore presenting a new protocol for allowing increased programmability for software-defined networks data plane.
06 May 2021
Software-Defined Networks: a systematic approach to the development of research in Computer Networks
Mini-course pubished at SBRC providing an overview on Software Defined Networks (SDN) with practical examples and applicabilities.
02 May 2021
End-to-end Arguments in System Design
This paper presents the end-to-end argument, which comprehends most network applications and plays an important part in balancing the tradeoffs between low and high-level implementations.
27 Apr 2021
The Design Philosophy of the DARPA Internet Protocols
Paper from 1988 by David Clark, demonstrating the main motivations behind the early internet protocols design.
26 Apr 2021
Shenango: Achieving High CPU Efficiency for Latency-sensitive Datacenter Workloads
This paper presents Shenango, a system that provides microsecond-scale tail latencies while enabling unused CPU cycles to be used by latency-sensitive batch processing applications.
14 Mar 2021
IX: A Protected Dataplane Operating System for High Throughput and Low Latency
This paper demonstrates the design and implementation of an OS that provides high throughput and low latency for packet processing while still maintaining the key advantage of strong protection offered by kernels.
07 Mar 2021
Dune: Safe User-level Access to Privileged CPU Features
Paper produced by Stanford University researchers presenting Dune, a system that provides direct access to hardware features by taking leverage of Intel VT-x virtualization extension.
06 Mar 2021
The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
Paper produced by MIT CSAIL and Harvard University researchers proving the commutativity rule as a critical aspect of system's interface design to promote scalability.
27 Feb 2021
The Google File System
This paper presents GFS, the scalable distributed file system implemented at Google to support data-intensive applications with fault tolerance mechanisms and high aggregate performance to a large number of clients.
21 Feb 2021
Crash Consistency: FSCK and Journaling
Paper presenting the Journaling implementation in Linux file systems, along with the techniques used for allowing robust crash recovery from disasters during disk operations.
18 Feb 2021
The Design and Implementation of a Log-Structured File System
Paper presenting Sprite LFS, a sytem implementing a new technique for disk storage management that speeds up both file writing and crash recovery.
09 Feb 2021
RadixVM: Scalable address spaces for multithreaded applications
Paper from MIT CSAIL presenting RadixVM: a new virtual memory system design that enables fully concurrent operations on shared address spaces for multithreaded processes.
06 Feb 2021
Practical, transparent operating system support for superpages
Paper presented on the 5th Symposium on Operating Systems Design and Implementation, describing a superpage management system that improves the performance of applications by increasing the TLB coverage and reducing TLB misses.
29 Jan 2021
Non-scalable locks are dangerous
This paper shows that non-scalable locks can cause dramatic collapse in the performance of real workloads, even for very short critical sections, and demonstrates a replacement of the offending nonscalable spin locks with MCS scalable locks.
24 Jan 2021
Eraser: A Dynamic Data Race Detector for Multithreaded Programs
This paper presents the design and implementation of Eraser, a tool for dynamically detecting racing conditions (data race) in lock-based multithreaded programs.
21 Jan 2021
Serverless Computation with OpenLambda
This paper presents the advantages and main challenges of implementing OpenLambda, a platform for building applications using the serverless computation model.
07 Jan 2021
The Singularity system
This paper shows how safe, modern programming languages let Microsoft rethink the architectural trade-offs in a experimental operating system.
05 Jan 2021
Xen and the Art of Virtualization
This paper presents Xen, an x86 virtual machine monitor which allows multiple operating systems to share conventional hardware in a safe and resource managed fashion.
03 Jan 2021
Exokernel: An Operating System Architecture for Application-level Resource Management
The paper written in 1995, presents the exokernel architecture an alternative OS architecture to address traditional kernel limitations.
30 Dec 2020
The Evolution of the Unix Time-sharing System
The paper written in 1984, concentrates on the evolution of UNIX file system, the process-control mechanism, and the idea of pipelined commands.
29 Dec 2020
The UNIX Time-Sharing System
The paper written in 1974, presents the main aspects of the UNIX Operating System with its file system, I/O operations, process synchronization, and the shell implementation.
17 Dec 2020
Running Cypress end-to-end tests in parallel using AWS Codepipeline CI
Implementing an AWS Codepipeline for running end-to-end tests with AWS Cloudwatch scheduled events
28 Nov 2020
Where and how to start the DevOps transformation journey
Tackling some uncertainties and reducing the risk of failing when starting a DevOps transformation journey within organizations.
26 Jul 2020
Use Telemetry to amplify feedback and see problems as they occur
Collecting useful information from your system to quickly recover from failures, and being able to detect and respond to problems as they occur.
14 Jul 2020
Deliver faster by applying the DevOps Flow techniques
Creating the foundations of your deployment pipeline and adopting the practices of the Flow to deliver software faster and safer.
06 Jul 2020
The Principles of DevOps
Introducing the 3 principles of the DevOps culture, that allows us to deliver software faster and safer, creating a safe system of work with a hight trust culture.
30 Jun 2020
Hosting private NPM packages for free
A simple and practical way to publish and host private NPM packages for free.
31 May 2020
Boost your Cypress end-to-end Tests
4 simple tips to improve the speed and the maintainability of your cypress tests.
27 Mar 2020
Continuous Integration with Github Actions and Cypress
Easily configuring a CI pipeline to run end-to-end tests with Cypress and Github Actions, posting comments on pull requests with test results.
29 Feb 2020
The joy of learning new stuff has been stolen
When did developers start feeling so anxious about learning new things? Why learning is not as joyful as it seems before we start?
08 Feb 2020
Validating user email domains with AWS Cognito
Here we will see how can we control users' sign-in using only allowed email domains, by using Cognito and Lambda Functions.
18 Jan 2020
Securing Vuejs applications with Access Control List
Creating an Access Control List to secure your Vuejs application routes.
11 Jan 2020
Securely centralized configuration with Spring Cloud Config
How to create a secure configuration server to centralize and externalize your configurations
15 Aug 2019
Livros, blog posts e documentários que me influenciaram
Aqui está a lista dos conteúdos que mais influenciaram na minha forma de pensar e agir em relação a carreira, mercado e software.
29 Jul 2019
O que é Memory Safety
Entendendo o significado de Memory Safety em linguagens e programas, com exemplos em C.
24 Jul 2019
Entendendo e explorando Buffer Overflow
Como explorar e como funcionam vulnerabilidades Buffer Overflow em programas C e C++.
06 Jul 2019
A usabilidade e segurança das senhas
Senhas seguras não precisam ser altamente complexas e difíceis de memorizar.
15 Jun 2019
Integration tests with Docker
A more maintainable way to provision and manage the lifecycle of the dependencies that your application needs to run integration tests.
28 May 2019
Sistemas de mensageria
Conhecendo a história dos sistemas de mensageria, seus conceitos básicos, pontos fortes e seus principais problemas.
11 May 2019
Theros: CLI para deploy de sites estáticos
Usando Nodejs para criar uma interface de linha de comando para facilitar o processo de deploy de sites estáticos no S3.
11 Apr 2019
Refactoring a RPG Game
Refactoring the RPG Game project that I have implemented a time ago for a job interview and documenting some lessons learned.
05 Feb 2019
Bringing back OSGi
The basics about Open Services Gateway Initiative with a practical guide to create modular applications using Apache Felix OSGi container.
06 Oct 2018
The internet master switch
How Google, Facebook and Amazon are creating internet monopolies, and how their huge influence is causing irreversible damages.
27 May 2018
The shame of being a non-passionate developer
Thoughts about an emerging obsession of being passionate about coding.
24 Mar 2018
OAuth Github web flow doesn't support CORS
When exchanging a code for an access token, there are an additional set of errors that can occur. Here is a workaround for a common one.
24 Feb 2018
Creating page visit statistics using Redis
Easily creating page visit statistics using strings and bitmaps on Redis.
04 Feb 2018
Sharing data across Vuejs components
Some easy approaches to share data across components built for Vuejs small and medium applications.
07 Jan 2018
Port Scanner Chatbot - Parte 2: Criando a API e configurando o Slack App
No segundo e último post da série, criamos uma API para expor nosso serviço de port scan e configuramos o slack app.
07 Dec 2017
Restrição de conteúdo e o futuro da internet
Nacionalistas e a extrema-direita em Charlottesville nos mostraram quem deve ser responsável por restringir conteúdo na internet?
03 Sep 2017
Nem tudo precisa ser escalável
Reflexões sobre o preço de features que realmente escalam. Spoiler: Custam caro.
09 Jul 2017
Port Scanner Chatbot - Parte 1: Construindo um Port Scanner com Java
No primeiro post da série, veremos a construção do serviço que escanea portas de um servidor utilizando APIs de concorrência do Java.
18 Jun 2017
Como funciona o protocolo OAuth 2.0
Entendendo o protocolo OAUth 2.0 e seus principais aspectos.
27 May 2017
Avaliando desenvolvedores: a falácia das métricas
Como saber se um desenvolvedor está fazendo um bom trabalho?
14 May 2017
Dicas para rastrear falhas em microserviços
Dicas para evitar o caos na identificação de falhas em microserviços.
22 Apr 2017
Autenticação com JWT no Spring Boot
Autenticação em aplicações stateless com JSON Web Tokens.
01 Apr 2017
Qualidade de código e o developer Chaplin
O que qualidade de código tem ver com business? Tudo.
11 Mar 2017
SSL gratuito com Cloudflare
Utilizando certificado SSL de forma gratuita.
28 Feb 2017
Desventuras em processos de contratação
Refletindo sobre algumas coisas curiosas presentes em recrutamentos na área de software.
21 Jan 2017
Melhores partes do TDD
Mais que apenas uma estratégia de testes, TDD é uma ferramenta de design!
19 Dec 2016
Vamos ensinar beleza aos programadores
Bons programadores tem bom gosto estético.
05 Dec 2016
Lidando com CORS no Spring
Habilitando Cross-Origin Resource Sharing em aplicações Spring boot.
27 Nov 2016
Novos Filters do Vue.js 2
O que mudou em relação aos Filters da versão 1.
19 Nov 2016
Diquinhas e truques legais pra usar no Git
Comandos úteis para salvar tempo.
17 Nov 2015
Diga adeus ao Wordpress, conheça o Jekyll
Usando Jekyll para servir páginas estátiacas.
27 Jan 2015