Icon goals
Icon program
Icon support
Icon tickets
Buy Ticket

Venue

29-30 Sep - Rebouças Convention Center - São Paulo City

If you need recommendations on Hotels, Flight Ticket Reservations, Rent a Car, and more check out our Travel partner "Feiras & Congressos".

São Paulo is a huge city. If it's your first time here, check a good guide such as WikiTravel. You'll stay mostly around Downtown.

Goals

The goal is to implement a truly "International" programming-focused conference in Brazil. Meant to introduce Brazilian programmers to the world - and hopefully Latin America in general next time.

We already have many great Brazilian conferences, but all of them are meant just for the Brazilian Audience.

The problem: we only speak Brazilian Portuguese in Brazil. So no one else in the world can see what we are doing.

The solution: it is about time we present in the tech industry lingua-franca: English. Let's start showing off what we are capable to a larger audience.

Theconf symbol

Program


Day 1: September 29th - Friday
  • OPENING KEYNOTE - to be defined

  • Unsupervised machine learning for anomaly detection. No closed databases allowed.

    "Serenata de Amor" is a project willing to use only open data to detect suspicious transactions in government spending. Since we are not willing to use closed databases in the models, we face tech challenges in a weekly-basis. Many of the cool Machine Learning models just don't work well in our domain. Let's walk through them and proposed solutions being explored by researchers world-wide.

    How to enjoy WebVR right now

    WebVR is an open standard that makes it possible to experience VR in your browser. There are some limits to use this technology in browsers but it is already possible. Lets see how to start VR studies, produce content to use within, some possibilities that it brings and how to enjoy it right now.

  • Beyond Promises - Async Patterns in JavaScript

    Asynchronous Programming goes far beyond Promises and Async/Await. In this talk we will:

    - Explain how it used to be done with callbacks
    - Review how Promises work
    - Look at the benefits of Async/Await;
    - Explore, in JavaScript, patterns popular in other programming languages:
    ---> Reactive Extensions, as in C#
    ---> Channel-based programming, as in Go
    ---> Actor-based programming, as in Erlang and Elixir.

    This talk is an expansion of an article of mine: http://bit.ly/2qf4pB6

    Data As The Fabric Of Your App

    Business is a fast moving landscape. At the end of the day, doesn't matter how performant or clean or cool your code is when it doesn't bring real value to your customers before the competition. We should strive for a marathon.

    As engineers that worth our salt, we have to play smarter, not harder. Following the "Code as Data" mantra, let analyze its implications lifting our information model and treating it with the same precision that we used to deal with data itself, whereby we shorten the gap between prototyping and production, increase the opportunity for collaboration and ultimately reduce our time-to-market.

  • Realtime Data Activation - Analytics, Intelligence & Decision Making

    Everyone talks about Big Data, Machine Learning and AI these days. In fact, it would appear that you just need to bunch these three terms together with a half baked idea and a crazy name and you can raise any amount of money in the Valley these days. But how can you actually make your data really work for you, deliver value in meaningful ways to your users and dodge the countless pitfalls awaiting the unwary data explorer (data swamps, overly complex setups, etc.) ?

    Here, you'll learn about how you can solve real world problems like realtime analytics with the Lambda Architecture, create a working Data Lake and how to create data-driven features in your applications that your users will actually use and appreciate.

    Kotlin: The "New" Kid on The Block!

    Kotlin is taking over the world! As the language was announced as official for Android development by Google during I/O '17, a lot of developers got curious about this new language made by JetBrains. But Kotlin is actually not that new, so why the buzz right now?

    In this talk we're going to learn how Kotlin can help you to be more productive, the benefits of it compared to other JVM languages, how you can start to use it for Android and backend (or even iOS in a near future!) and Pinterest, Uber, Gradle, Evernote, 99, Nubank, Google, Trello and many other companies are already using it in production!

  • LUNCH BREAK

  • Either, Some or None: An introduction to monodic structures and functional programming

    We will discuss and understand the monodics structures, going through the most important monads, it's operations and main advantages of the functional programming using Scala, Kotlin, Swift, a little bit of Clojure and why not JavaScript.

    During the talk we should also realize why concepts as laziness and immutable data are the cornerstone of high throughput threaded systems and how its guarantee reliability and performance.

    By the end of the day you should know by heart the main monads and how to use them solve different day-by-day problems and deeply in love with functional programming.

    Designing Experiences for Chatbots

    Chatbots came with it's promise to be a revolution in the way we interact with software, communicate with brands and commit with tasks. It's the last big change in user experience since the touch screen's arrival with the iOS. Here we will see some experiences and challenges designing user experiences for chatbot users.

    It's not rocket science and not much technical, but we will know about how it began, the status quo of the chatbots market and what we can expect for the next years (or months.... ok, maybe days).

    -Where did it came from?
    -Chatbots until this day (this minute).
    -Interactive vs Conversational chatbots.
    -Our challenges designing our chatbot and it's user experience.
    -Caveats and problems to avoid.
    -The future of chatbots.

  • Elixir GenServer - Understanding Elixir concurrency model

    Talk about processes, message passing, linking processes, GenServer behavior and functionalities and finally dissect GenServer behavior to understand what is going on behind the scenes.

    Telegram bots with Python? Why not?

    Telegram bots are a major revolution for messenger apps. They make app more practical and useful. A simple pool bot can make group decisions easier and developing them using Python is another easy task.

    During this talk you will learn what are the best Python frameworks, the best GitHub repos to take as example, the best resources and where to deploy your bot.

    I also intent to build a simple To Do List bot and show some examples of useful bots.

  • Writing extensible functional code

    One of the most common problems developers starting with functional programming face is the lack of understanding on the mechanisms for composition, abstraction and polymorphism offered by functional languages. Those mechanism differ quite a bit from the ones employed in object oriented (e.g. inheritance and interfaces) & imperative languages (e.g. templates).

    This lack of abstract & polymorphism ends up yielding imperative programs disguised in a "not-so-functional" shell: which is even worse than a fully imperative alternative.

    In this talk, we are going to present the concept of Protocols (Elixir & Clojure) and/or TypeClasses (Haskell & friends) and relate them to alternatives in other languages (e.g. Mixins in Ruby and Extension Methods in C#).

    We will learn how to tap on the advantages of associating "data & behavior" we're already familiar in oop -- but only where it makes sense! -- in functional programs.

    Go concurrency in the real world

    One of the defining features of the Go programming language is its first class support for concurrency. Features such as channels and goroutines have been widely publicized as some of the most powerful aspects of the language. As with most well designed features, concurrency in Go is easy to start and hard to master. In this talk, we'll explore several idioms and patterns applied in real world software running Go, starting from the basic syntax all the way to complete programs and blueprints for how to do new code that works concurrently, using all of the power of the language and the underlying hardware.

  • COFFEE BREAK

  • Understanding Memory Behavior on Nodejs

    In a nutshell: The idea is to talk about memory in nodejs (V8) and on spidermonkey (Firefox), focusing in common issues and complex leaks. Presenting how to debug, detect and solve memory problems. Plus: show real cases of memory issue/leaks from globo.com.

    From development to store with React Native and VSTS

    If everytime you need to publish an app on the app store you pass for bad moments, I have to tell you something: You are suffering for free!

    In this talk I want to show you how you can publish an app from you development machine without all the bureocracy of certificates, passwords, provisioning profile, etc. you just need to commit and a push your code and that's it! Your app will be on the store, with no pain.

    This is not a talk about React or React native. You can do all of I will show with any mobile development framework. I just React Native because I like React.

  • CLOSING KEYNOTE - to be defined

Day 2: September 30th - Saturday
  • Beyond your daily coding

    So, you're a programmer, software developer, or something like this. Your main work is to develop software to add value to the company you work for. But for sure, your company expects more from you, and that's always many opportunities to add value that maybe you're not observing carefully.

    On this talk, I'll tell you a story about introducing Elixir at Globo.com while doing my daily job. From this story and others from my career, I extracted some patterns to share with you, about how to identify these opportunities, create something valuable and convince the company that this is the right move for them.

  • Your first game with Unity3d Framework

    Many of you, like me, have the dream to create a game, but today we have a hard decision to make, what platform my game will run...

    With Unity3d you can deploy the game created to any current cell phone OS and a lot of game consoles.

    But creating a game is hard and requires a lot of dark magic right? Wrong!

    I'll show you that with your current knowledge and a small help of this framework, you can start creating some simple games.

    The proposal of this talk is to show you in a little less than 1h that you can create a game, and as a side effect, you'll probably have no real life for the next months working on your super duper game.

    Just do not forget to send me a copy when your game complete!

    ​Keeping Code Style Sanity in a 13-year-old Codebase

    Conversations around code consistency seem to spark either cheers or jeers from developers. In this talk, I'll explore the good, bad, and the ugly of code style consistency as illustrated by the (sometimes drama-filled) history of Shopify's 13-year-old codebase. Highlighting strategies to help you evaluate when to push for better code consistency; you will hear about our techniques, tools and guides to enrich developer experience without compromising productivity and how to ultimately make code consistency important across the organization.

  • Game Battleplans - How a Ruby on Rails backend can be viable for a mobile real time strategy game?

    Battleplans is a real time strategy game for Android and iOS, but backed by an Ruby on Rails server.
    In this talk I will share my experience maintaining the backend of the game and some tricks that let a 3 servers only Ruby on Rails app become viable for a real-time strategy game that runs only on mobile devices.

    What Can We Learn With JavaScript Fatigue?

    By the time I’m writing this abstract NPM has 425,989 packages. Tomorrow an average of 764 new ones will be published. In this talk, I will not complain about it. Instead, we will study this phenomenon in depth and see what can we learn from JS Fatigue and how to deal with it without headaches.

    The whole reason of JS Fatigue is not the huge amount of modules we’ve got available, the real issue is the mindset we have when writing code.

    In this talk, I won’t talk about the language itself and I won’t talk about frameworks. I will talk about what how this ended up happening and why we should see it as a positive thing from a software engineering point of view. For a very long time we have been talking about componentization and reusability and now that we’ve got it we started complaining about it, how did that happen?

    We will talk about Unix Philosophy, about the current state of open source software development and about our role as software engineers, after all, we’re not paid to write code, we are paid to solve problems.

  • Infrastructure as Code in the Wild

    Ride with me on the journey of architecting and deploying a secure, production ready (and PCI-DSS compliant) infrastructure of a credit card processing company using 100% infrastructure as code.

    Most examples of IaC on the internet focus on small deployments of toy projects to demonstrate a certain tool. Here we will have an in depth look on a real world example of creating an entire infrastructure from ground up using only code and automated tools, with all the gotchas and things that no one tells you.

    Technologies used:
    * Terraform
    * Consul
    * Nomad
    * Vault
    * Packer
    * Ansible
    * AWS (EC2, Lambda, etc)

    Go for Rubyists

    It's funny to think that software development, like in the fashion world, somehow, works in cycles. Trends come and go all the time and as a result new programming languages, frameworks, services, libs are born but just a few remain relevant enough to mature and keep a community growing stronger and healthier.

    Go is a open source programming language created at Google by Robert Griesemer, Rob Pike, and Ken Thompson whereas Ruby was conceived in the nighties, by Yukihiro Matsumoto. Both, Ruby and Go, are strongly growing and becoming go-to programming languages choices for developers/companies around the world.

    In this talk we will compare the languages against each other and see how a Rubyists can start and become productive with Go.

  • LUNCH BREAK

  • Elm and game development, a perfect fit

    Let's see how Elm and functional reactive programming can be a very good fit for web game development.

    We'll learn
    * Elm's architecture
    * Why does it fit on game development?
    * The consequences of controlling and storing your state explicitly

    We'll also
    * Have fun
    * Play Flappy Bird functional style

    Create a Docker Swarm cluster with Terraform and Ansible

    Abstract

    Do you want to start in the world of Infrastructure as Code with a useful case? Let's go creating a multicloud Docker Swarm cluster to run your microservices as a good starting point, using Terraform to provision servers and Ansible to install and configure Docker to run in Swarm mode.

    Topics

    * Infraestructure as a Code: a developer overview

    Probably we, as developers, already listened about the concept but we don't have much interest because operation guys talk about it. In this little topic, I will explain it in a developer point of view based on my experience as a programmer.

    * Terraform: manage resources in the cloud

    A introduction to Terraform, how we can provision server instances, databases, virtual networks, DNS zones and other stuff writing code as recipes. I will use my current project - https://github.com/salizzar/terraform-recipes - as a base to create the infrastructure that will be used on my keynote.

    * Docker Swarm: run containers in a cluster

    A brief introduction to Docker Swarm and their features to run containers distributed in a cluster, with special attention to the concept of Stacks (a group of containers running as services inside the cluster).

    * Ansible: configure servers with ease

    A practical overview of Ansible and good practices focused in how to setup Docker to run in Swarm mode (project source code under development).

  • Learn how does video CODEC works under the hood

    Some people used to say that the Internet video streaming is the future of the TV if that's the case, the core of this evolution is the video compression.

    In this talk we're going to learn how video compression really works, using simple but cohesive examples, it's fun and at the end, I wish we all will know why and how h265 can compress more than h264.

    The main topics we'll talk about are:

    # Basic terminology
    * From a single pixel to a video
    * How our vision system is tricked to see "less"
    # Compression is all about removing redundancy
    * In time
    * In Space
    # How a video CODEC works
    * Picture partitioning
    * Predictions
    * Transform
    * Quantization
    * Entropy coding
    * Bistream

    And if there is more time I can even talk about the Globo's live stream architecture which is able to scale for millions of simultaneous users.

    Nubank's experience scaling microservices operations

    DevOps is a type of culture. It is not a role neither a team. In this session, we want to share Nubank's history looking for sanity and balance between Dev and Ops under a microservices architecture.

    We will present how we matured from an engineering team with no one dedicated to infrastructure to a balanced team accountable for the evolution of the horizontal platform, keeping squads responsible for their own services operations.

  • Building a git reverse proxy in Go for Caddy

    Scaling non-trivial software can be complex. When your core business depends on custom communication protocols, you may end up having to get your hands dirty and write custom system services. In this talk I’m going to show how we can leverage the modular Caddy HTTP server and implement a Git reverse proxy bundled in it. You may also learn a few things about Git internals you never had the chance to ask anyone about.

    Geolocation & Real Estate over Brazil

    Challenges building a stack of applications that handles localization in one of the largest real estate portal in Brazil. How we use Scala & Akka to solve business and technical requirements to build the ground of the revolution of real estate search experience.

  • COFFEE BREAK

  • Real-Time Monitoring with Grafana, StatsD and InfluxDB

    We can take a glimpse at our applications or we can truly see them. We have a choice.

    Our path is laden with problems and, when they arise, the first place to run is the log. The log is straightforward when the systems are small, but when we start to scale… the more users we get, the more data we will have to go through, and finding what we need is like staring at a well-stocked library, looking at the book titles, wondering which one could possibly have the information we need.

    I’d like to suggest an alternative: the combination of StatsD, a platform that collects data to build statistics, and Grafana. It allows us to create beautiful, interactive dashboards that support pluggable panels.

    This talk is not only focused on the theory behind these tools but also in the experience we had with them at Youse. I will present the tools (and the alternative tools too), explain how to use them and show the code we need to measure the events we want to track. A chart will be build from scratch, starting with an event on the system and ending in a beautiful dashboard.

    Microservices in Scala - our experience

    I'd like to talk how has been our experience in development microservices with Scala, our pains and joys. What our team has been learning with Scala. I intend answer questions like: which scala points have benefited us and not? are we using Scala in the best way? Is it a good language for microservices?

  • CLOSING KEYNOTE - to be defined

Sponsors

Support