Talks and Events

I’ve given a few talks about programming among the years. Why? Usually, because I'm really excited about something and want to share it with my peers.
They are also cool because they kind of tell my history as a software developer.

2016

  • Java One SF

    • Refactoring Your Code with Java 8: Functional Programming to the Rescue [Slides]

      This session shows how you can refactor your traditional object-oriented Java code by using functional programming features and APIs from Java 8, following several recipes, and refactoring legacy code to make it more readable and flexible. Find out:

      • How to separate concerns with lambda expressions
      • How to handle requirement changes with first-class functions
      • How to make several traditional OO design patterns more concise with lambda expressions

      The session balances theoretical concepts and practical applications. Attendees will leave with concrete knowledge about refactoring their traditional object-oriented Java code to make the best use of functional programming features and new Java 8 APIs.

    • Go Reactive with Vert.x in Oracle Application Container Cloud (Presented with Edson Yanaga) [Slides]

      Digging into the microservices world? Considering reactive programming? Then you should learn more about Vert.x, a lightweight, fast, modular, high-performance, and unopinionated toolkit for building reactive applications on the JVM. Come to this session to see how we can use Vert.x to solve common business use cases for enterprises and how to deploy Vert.x applications packaged as containers in Oracle Application Container Cloud.

  • QCon São Paulo

    • Program Committee member and Track Host
    • Refactoring To patterns in Java 8 [Slides] [Video]

      Nesta palestra vamos mostrar como refatorar seu código Java fazendo uso da programação funcional, design patterns e as novas APIs do Java 8. Será discutido como separar responsabilidades com expressões lambda; como lidar com mudanças de requisitos através do uso de funções de primeira classe. Veja formas de tornar diversos design patterns mais concisos através de expressões lambda.

  • Java One Latam

    • Community Keynote Participation, presenting Java 9 [Image]
    • Java 8 Streams Deep Dive [Slides]

      Streams are the new Java API that let's us manipulate collections of data in a declarative way. But this API is much more than just fancy iterators over collections of data.

      Streams are the API that will completely change how we code in Java. In this talk we will make a deep dive in the Streams power, covering:

      • Review Streams API covering filtering techniques, map-reduce, finding and matching and collectors;
      • Learn how to build my own streams and collectors;
      • Deep dive in parallels streams, spliterators and parallels best practices;
      • Explore lazy evaluation and infinite streams; The talk will consist of a balance between theoretical concepts and practical applications. Attendees will leave with deep knowledge of the theory and practical use of the power of the Streams API.
    • Functional Programming in Java: Beyond The Hype [Slides] [Best Sessions@Java One]

      How to incorporate functional programming features in our routines? And how to separate the hype of FP from the features that can really change your programming style? In this talk we look into features and strategies for raising your development to the new level promised by functional techniques. We:

      • Review Java's support for functional programming, comparing it pragmatically to the imperative paradigm
      • Deep-dive in the Streams API, covering filtering techniques, map-reduce, finding and matching, collectors and parallel streams
      • Explore lazy evaluation and infinite streams Look into new approaches to recursion through Tail-Recursive functions and Memoization

      The talk will consist of a balance between theoretical concepts and practical applications. Attendees will leave with concrete knowledge to improve their Java programming through application of functional programming principles and techniques.

  • TDC São Paulo

    • Functional Programming in Java: Beyond The Hype [Slides]

      How to incorporate functional programming features in our routines? And how to separate the hype of FP from the features that can really change your programming style? In this talk we look into features and strategies for raising your development to the new level promised by functional techniques. We:

      • Review Java's support for functional programming, comparing it pragmatically to the imperative paradigm
      • Deep-dive in the Streams API, covering filtering techniques, map-reduce, finding and matching, collectors and parallel streams
      • Explore lazy evaluation and infinite streams Look into new approaches to recursion through Tail-Recursive functions and Memoization

      The talk will consist of a balance between theoretical concepts and practical applications. Attendees will leave with concrete knowledge to improve their Java programming through application of functional programming principles and techniques.

    • Construindo aplicações HTML5 em Java [Slides]

      Criar pequenos websites é tarefa trivial para qualquer framework JavaScript moderno. Contudo, implementar e manter uma aplicação web em larga escala é um trabalho muito mais complexo. Java possui reputação de ser uma linguagem estável e robusta, perfeita para grandes aplicações corporativas.

      E se pudéssemos compartilhar código Java EE entre cliente e servidor, reutilizando código entre diversas camadas da aplicação?

      Nesta palestra você aprenderá como construir aplicações web ricas, type-safe, sem nenhum boilerplate através do modelo de programação do JBoss Errai; e como construir aplicações escaláveis que combinam os melhores aspectos de JavaScript, Java e HTML5.

      O público conhecerá os desafios enfrentados na construção de aplicações web em larga escala, como o Errai aborda estes desafios e lições aprendidas direto das trincheiras na construção do framework Uberfire e das aplicações Web do Drools e jBPM.

  • TDC Florianópolis

    • Construindo aplicações HTML5 em Java [Slides]

      Criar pequenos websites é tarefa trivial para qualquer framework JavaScript moderno. Contudo, implementar e manter uma aplicação web em larga escala é um trabalho muito mais complexo. Java possui reputação de ser uma linguagem estável e robusta, perfeita para grandes aplicações corporativas.

      E se pudéssemos compartilhar código Java EE entre cliente e servidor, reutilizando código entre diversas camadas da aplicação?

      Nesta palestra você aprenderá como construir aplicações web ricas, type-safe, sem nenhum boilerplate através do modelo de programação do JBoss Errai; e como construir aplicações escaláveis que combinam os melhores aspectos de JavaScript, Java e HTML5.

  • Red Hat Forum

    • Go Reactive with Vert.x [Slides]

      Digging into the microservices world? Considering reactive programming? Then you should learn more about Vert.x, a lightweight, fast, modular, high-performance, and unopinionated toolkit for building reactive applications on the JVM. Come to this session to see how we can use Vert.x to solve common business use cases for enterprises and how to deploy Vert.x applications packaged as containers in OpenShift.

  • JUG Campinas

    • Refactoring To patterns in Java 8 [Slides]

      Nesta palestra vamos mostrar como refatorar seu código Java fazendo uso da programação funcional, design patterns e as novas APIs do Java 8. Será discutido como separar responsabilidades com expressões lambda; como lidar com mudanças de requisitos através do uso de funções de primeira classe. Veja formas de tornar diversos design patterns mais concisos através de expressões lambda.