Lots of Fun in Brazil


This year – 2017 if you reading somewhere from the future, between late April and early May I visited Brazil. I obviously took the time to visit family and friends, but I want to talk about something else: I attended two conferences, and I actually had talks in both of them. And despite that, both conferences were great!

The first one was QCon SP, which is a quite big conference and goes to several cities around the world. This was the São Paulo edition. The location of the conference itself was nice, although the neighborhood not so much – it is good that what matters is the time spent inside the pavilion :).


My talk there was about functional programming… in the Java track – which was quite challenging, but fun nonetheless. I also attended a few talks, which I’ll discuss a little bit next. Before that, it is worth mentioning that networking was excellent and this is one of the highlights of the conference. I met several old friends and got to know quite a few new faces.

The conference started with a Keynote from Jim Webber. It was an interesting one, even though very political. He basically talked about the Panama Papers and how you could use Neo4J to analyze the huge amount of information that came with it. In summary, Neo4J is a graph database and by structuring the information in such a fashion (a graph) you are able to see connections in the information that would otherwise be really hard to find.

Next I saw a talk from Kirk Pepperdine about good code: “Better Code, Better Performance”. A bit philosophical in the beginning, but with some interesting points, specially regarding about what is good code, and its relation with the code performance. Bottom line: you should write readable and clean code, and leave optimizations for the Java Virtual Machine – it is very good at it.


And then it was time to see Michael Nascimento’s Java SE 9 for Architects talk. It was quite cool and informative. One highlight was he actually mentioning some bad stuff to come to Java, specifically with regards to the Java SE 9’s modularization support, which seems to be full of issues. In a more positive note, one of the things that is also coming that I really like is the deprecated for removal feature. This means that some old, deprecated and really bad code from the Java API can and will be marked to actually be removed!

Another talk that was very interesting was, in a very loose translation, “Transaction Authorization in Nubank: consuming services from the 1980s with modern technologies”, from Lucas Cavalcanti and Luiz Hespanha, from NuBank. They relayed very well the difficulties of implementing the integration with credit card companies, specially with Mastercard, which is the brand they work with. Specially interesting and surprising was the fact Mastercard requires integrators to have an actual physical cable running from their offices to the integrating company’s office, plus the usage of a black box server provided by them! Also, the communication with this server is done with sockets and a binary protocol following the ISO 8583 standard. Lots of new-old stuff to me.


This all was on the first day of the conference, which was when I also had my own talk that I already mentioned. It was really fun and you can see the video here.

The second day started with a keynote from a Security expert from Slack: Security as Development by Ryan Huber. It was a lightweight talk, where he told his story of getting hired and improving Slack’s security, plus some concepts like SecOps, a red team exercise that was actually a real attack and a real red team exercise. All in all, I always liked Slack and seeing this talk was a reassurance that Slack is indeed cool and is going in the right direction.

One of the most interesting talks to me in the second day was Phillip Wadler’s Theorems for Free, Blame for All – it contained lots of math, some “crazy” symbols and theorems… and Haskell, of course. He also mentioned lambda calculus and said something simple but worth quoting: “Don’t be afraid of math” 😉 Finally, in the end, he did his signature move and turned into the “Lambda Man”. I knew about this but never saw it live – it was actually quite surprising and weird… And fun!


I then saw a talk from the famous (at least in the Scala community) Bodil Stoke, about a “Perfect Language”: The Realist’s Guide to Language Design. She went through several different languages and talked about their good and bad design decisions. Perhaps because she is known in the community I had quite big expectations for this talk. Perhaps also because of that, I was disappointed, as  I was expecting more practical guidelines on language design. Anyway, you can, when it is available, see the talk and decide by yourself – this talk and also Phillip Wadler’s were both in English.

There were other talks in all kinds of topics, including cryptography and compilers, but I’ll stop here. You can see several of the talks from this conference in the InfoQ web site here – just bear in mind that the majority of them are in Portuguese. At this point, I was a bit tired already and basically took the rest of the conference for meeting people – the good old networking that I already mentioned previously in this post.


TDC Floripa

Now lets talk about The Developers Conference, specifically about the edition that happened in May 2017, TDC Floripa, that I went to. This conference goes to a few different cities in Brazil and I used to go to most of them when I lived there. Since this is not possible anymore, I used the opportunity of being in the country already to attend the Florianópolis edition – which is the one I like the most anyway.

In this conference I also attended several talks, but differently from QConSP, I will not talk about them. I will rather concentrate on some activities I did there. The first one was to coordinate the Functional Programming track. We had people talking about all sorts of languages and concepts, from Haskell to Javascript. I also talked about Scala myself, specifically about dependency injection where I mentioned Grafter, the framework my current team at Zalando uses. It was lots of work but also lots of fun.

Switching topics a bit, the exhibition floor was quite interesting. Intel had a great booth with gaming related things, including Virtual Reality Glasses. It was the first time I played a game with such a technology – 3D glasses and Virtual Reality, and it was certainly way better than all my expectations – the immersion is really awesome! Great stuff! If such equipment was not so expensive, I would for sure buy me one of those glasses. Right now though, a HTC Vive, which was the model I tested, is being sold by € 899,-


Another hot topic for me was the makers area, where some people were, among other things, displaying 3D printers. I had seen some of those before but for some reason this time it got me really excited, so much so that I ended up buying one for me when I got back home. Follow me on twitter if you are curious to see what I’ll do with it – I’ll certainly share some things related to that. Plus an assembly video will come, but in Portuguese (sorry :P).


Finally, the next thing in for me was a talk I gave about working abroad. It was almost a last minute idea, and it went pretty well. I shared a little bit about my experiences of working outside of Brazil, and lots of people seemed really interested. For good or bad, the country is certainly going to lose lots of great developers in the near future.

In summary, it was great to visit Brazil, and it was specially good to be able to go to those conferences, to talk there, meet people and see interesting things happening. I hope I will be able to go back next year!

If you are curious to see some of that, I have uploaded my QCon SP pictures here and my TDC Floripa pictures here.

See you next time!

This entry was posted in scala and tagged , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s