QCon day one
Open talk
This first talk was pretty amazing. It was all about papers and the importance of reading them. This opening presentation showed us a bunch of topics discussed in papers and their contents were analyzed in a very interesting way. From here new hot topics on hardware and software industry were drawn and speculated the importance on the future of this industry. Stuff like RDMA. The speaker of this amazing talk was Adryan Coyler the author of The Morning Paper a blog in which he discusses research papers in the Computer Science field with some bias to databases and distributed systems.
Patterns of reliable in-stream processing @ Scale
The second talk of the day was pretty much missed. We arrived at the questions section so it was a little sad. But in this talk the topics were around kafka, spark, storm, lambda arquitectures and stuff like this, pros and cons. I pretty much lost this presentation but I believe, for the question part of it, that it had the potential to be interesting?
Project Jigsaw in JDK 9: Modularity comes to Java.
This talk was an interesting overview about new features on Java 9. The talk was done by Simon Ritter. The main stuff we will get from new version of Java is modularity primitives and a flat JDK, JRE folder structure to avoid many of the redundancy over the lib and bin folders. The core concept of the talk, however, was the Jigsaw module primitives that will be included in the future version of Java. As you can see here in more detail
module com.greetings @ 0.1 {
requires org.astro @ 1.2; // requires a specific version
class com.greetings.Hello;
}
We'll be presented with a new way of defining our scope of code and, by doing this managing more manually our application dependencies. The main advantage of this new stuff is the possibility to break the rt.jar into a several core components and by doing this reducing the footprint of every java application, since by doing this only a subset of the core libraries will be loaded into memory. The only thing that makes me curious is how complex will be to develop to java in this new way of doing things and how other frameworks like maven will adapt.
Microservices for a streaming world
The talk was done by Ben Stopford, a developer at Confluence and is member of the Core Kafka of the same company.
The presentation was pretty much of how to develop an micro-service oriented architecture with a journal technology and why you should do that instead, for example, with queues. He explores the nature of log data structures and exploits these same nature to develop high scalable and fail-over and decentralized solutions. The main novelty here is the concept of KStreams and KTables which are pretty much the representation of kafka streams with compact data policy.
Hot code is faster code - addressing JVM warm-up
This talk was presented by Mark Price and was the lower level talk so far. It deals with Just In Time, compiler optimizations and java bytecode. This was an interesting talk and is a must for those who want to extract the most from the JVM. Mark give us a bunch of tools to help diagnose eventual pitfalls we can get into because of the way the JIT works and solutions we can employ to circumvent those. Flags of the java interpreter are explored as a means to produce log information and tools we can use to exploit all this extremely low level information.
Staying in Sync: From Transactions to Streams
This talk was done by Martin Kleppmann and was pretty much a lecture about the problems that arise from the use of transactions, mainly race conditions and deadlock related. Then it start by exploring the root of the problem and try to solve these by enforcing the ordering of data, guess what, in a log. Kafka was again mentioned as a good alternative to transactions by replacing that with stream of events. The speaker was pretty funny and the draws he came with were a plus.
Realtime stream computing & Analytics @Uber
This talk was done by Sudhir Tonse an engineer from Uber. This was a more light presentation and was basically an overview of the Uber streaming engine and all the ecosystem of technologies they employ there. The technologies were all known and their used pretty much expected and the most interesting think I found was the concept of hexagonon to sample the geographic data. The speaker was very empathetic and the talking was easy to listen to despite the fact it was the last of the day.
This pretty much sums all the meals of the day and know is time to rest and have some fun with the rest of the guys.