This year, I had the pleasure again to visit JavaOne. Not only did I attend the conference, I was also accepted to speak, which was quite a dream come true. The session catalog contains almost 500 sessions, and I obviously visited only a subset of them. I found two topics particularly interesting and decided to attend multiple sessions on each of them. “Prepare for JDK 9” and “Migrating to Java 9 Modules” Both sessions where more or less covering the same ground, although from a different perspective.
Recently, I found myself running tslint on a small React application written in TypeScript. The combination itself is worth writing another blog post about, but today we're covering just one of the rules that tslint has; in fact, it is defined in the “tslint-react” rule set. It is also included in the eslint-plugin-react, because it is not related to TypeScript per se. What's it about? In its ES6 version, the rule says: “No .
Lately, my interest for machine learning and artificial intelligence has revived. When I was at university, I followed some courses and specialisations in this field, but then during my career I hardly ever used any of it. Back in those years, complex neural nets and genetic algorithms took days to build, mainly because we didn't have the computing power for that. But nowadays, things have changed, and such models can relatively quickly be built using a commodity graphics card.
Wow, that was a busy and inspiring week! In one week, I've visited two conferences in two different countries to give talks on two different subjects. But the most inspiring part came from attending other sessions. I'll highlight one session from both conferences. JBCNConf 2017 On JBCNConf, I've attented a session by Burr Sutter about Vert.x. This was a session full of energy, as Burr is really capable of making your enthusiastic of whatever he is talking on.
A few years ago, I had an assignment at my former client involving Elasticsearch, Logstash and Kibana to build an operational dashboard. It was fun to do and very instructive; afterwards, I wrote an article about my experiences and spoke at various conferences. Recently, I was asked by another team in my company to assist them in setting it up for their team. A good chance to catch up with some old friends, and see how they have changed over the years.
Sometimes you have a piece of logging that is very important, maybe even part of a business requirement. In that case, you might want to verify that in a unit test, so you can rest assured that this requirement is actually met. How to do that? Mock it away A first approach might be to just mock your logging framework in a unit test and verify it was called as you expected.
As a closing keynote on the second day of Jfokus, Jonas Bonér took the stage under the very clarifying title “Blah blah Microservices blah blah”, which turned out to mean “From microliths to microsystems”. As a first observation, he stated that no-one really likes microservices. They are kind of a necessary evil - because “doing” microservices comes at a cost. In fact, microservices are just a specialisation of an older concept called distributed systems.
The second day of Jfokus is just as action-packed as the first one. However, part of the action is me giving two talks. Both of them scheduled today, so a little less time for attending other sessions and blogging about them. I did attend some other sessions after lunch time, on which I'll report below. Introduction to Machine Learning Directly after the lunch, James Ward gave an introduction to machine learning.
Inspired by a Jfokus session I attended today I decided to download and install a preview of Java 9 on my MacBook. That went pretty quick and without much trouble. But when I issued java -version on my terminal, I was greeted with Java(TM) SE Runtime Environment (build 9-ea+155) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+155, mixed mode) Although that's nice - you'd even expect it, maybe - I realised I often need Java 8 as well.