June 3, 2015

Saturday May 30th was the first NextBuild developer's conference in Eindhoven at the High Tech Campus. The conference is free for attendees and offers a variety of subjects presented by colleague developer's. This meant all talks were very practical and covered subjects encountered in real projects. This adds real value for me to attend a talk. Although it was on a weekend day there were about 150 attendees present. The location was very nice and allowed for a nice, informal atmosphere with a lot of opportunities to catch up.

The day started with a key note talk by Alex Sinner of Amazon. He looked into microservices and explained the features of AWS and especially the container support and the new AWS Lambda service. With the AWS Lambda service we can deploy functions that are executed on the Amazon infrastructure and we only pay when such a function needs to be executed. After the keynote the conference tracks were separated into five rooms, so sometimes it was difficult to choose a track. I went to the talk by my JDriven colleague Rob Brinkman about a Westy tracking platform he built with Vert.x, Groovy, AngularJS, Redis, Docker and Gradle. For those that don't know, but a Westy is a Volkswagen van used for camping trips. Rob has build a platform where a (cheap) tracker unit communicates to a Vert.x module the location of the Westy. This is all combined with other trip details and information in a web application. Every works with push events and the information is updated in real time in the web application. The talks was very interesting and really shows also the power and elegance of Vert.x. Also the architecture provided is a like a blueprint for Internet of Things (IoT) applications.

The following talk was by Bert Jan Schrijver. He had a very good talk about his real project experiences introducing continuous delivery into an organization with a lot of legacy applications. He showed they could use new applications to introduce a new way of working into the organization. Older applications could migrate to this new way of working afterwards. This allowed the company to still add new features and applications to their portfolio and gradually improve the development proces. He also showed how they used a lot of Amazon infrastructure and how everything (and really everything) was automated. Even the creation of a Nexus repository was automated, so when someone accidentally deleted the instance, it was up and running a couple of minutes later.The last talk before the lunch was by Sander Elias and was about Reactive Angular. He showed some of the basics of Reactive eXtensions (RX) in Javascript. Only two weeks earlier we had a RxJava workshop at JDriven and the syntax was very similar, which is a good thing, because it makes it very easy to use RX in different languages. He also showed a sample with a code completion component that utilized RX in Javascript. The code was very concise and readable. I really liked the syntax and will want to use it in my Javascript code.

After the lunch we attended a second key note talk by Pieter Hintjes about building a community. He had some nice anecdotes and a bit of science on how communities and social groups come together and can stay together and be successful. One of the important things was to put people over code. So if somebody puts in the effort to create a pull request for an open source project, we must value that. The quality of the code is less important than the personal relation that is build within the community. He also mentioned some sort of agreements are needed to make sure there is peace instead of war. Also he encourages to embrace failure and learn from it. It already starts early at elementary school where kids are supposed to get good grades and don't make mistakes. But we should make mistakes, because that is the only way to learn and improve. I really liked the talk and get a different view on open source projects and communities.

Then I attended the Better Javascript using ECMAScript 2015 by my JDriven colleague Emil van Galen. After a short history of the different ECMAScript specifications he showed some really nice examples of the new ECMAScript 2015 additions to the existing specification. With clear code samples he showed how we can use the new syntax in our everyday Javascript development. Although the talks on the conference are 30 minutes he managed to show a lot of code and features. I can't wait for even more support for ECMAScript 2015 in web browsers so we can use the new features. After his talk it was time for talk about Spock and how Spock makes testing fun for Java Virtual Machine (JVM) languages. I did live coding to show off the power and magic of Spock. The code samples are also on GitHub.The next talk I attended was about a first taste of integration with Apache Camel by Niels Stevens. He first gave a short introduction on integration patterns and then showed a couple of Apache Camel components that implement the patterns. Camel contains a lot of components for almost every need. So it is very easy to add integration to our applications. At the end he showed a demo of an example flow implemented with Camel and the Java DSL. Finally it was time for the last talk of the day and I did one on Gradle in Java projects. Again with live coding I showed that with very little effort Gradle can be used in a Java project. By configuring tasks that are added by the Java plugin of Gradle we can already customize our build. And I showed how easy it is to add our own task for functionality that is not provided out of the box. Also this code is on GitHub.

The conference was very well organized, the location was great, the food was good, the talks very informative and the audience was super. So it was a great Saturday and hopefully next year we can attend the second NextBuild conference!