Sadly this was the last day of Jfokus and it was pretty cool!

Magic tricks with Git

Permalink to “Magic tricks with Git”

Third day of Jfokus started brilliantly with a very cool talk about Git given by Tim Berglund of DataStax.

"Which of you are new to git?" Most of the room raises the hand."Maybe you should leave!" #warmup #joke #jfokus #git pic.twitter.com/8y97ipeXu8

— Alexandru Chirițescu (@alexchiri) February 10, 2016

Tim showed us how to do a commit without actually using the git commit command. How else, you would wonder? Well, simple! By creating each and every file that gets normally created in .git folder when git commit is called. And this way making git think that we did an actual commit. Awesome, informative and quite entertaining! Next in the menu was a demo of how to use git rebase -i, pretty much the only way we should use rebase, according to Tim.

I created a small mindmap of the talk, not that well organised as the rhythm was quite alert.

Concurrent or parallel?

Permalink to “Concurrent or parallel?”

Brian Goetz talked about the difference between concurrency and parallelism and why software is not ready to handle more cores. Really interesting talk and now the slides are available here.

Cache, Java Cache, JCache

Permalink to “Cache, Java Cache, JCache”

From what I understood JCache wants to be to caching what Hibernate is to persistence. If you want caching in your app, you implement it and then choose one of the compatible JCache providers.

Cool introduction to the theory of caching during the presentation, Greg Luck, CEO of Hazelcast. Of course, I did a mindmap.

Reactive? What is reactive?

Permalink to “Reactive? What is reactive?”

Now this was interesting. Manuel Bernhardt described how a reactive app looks like with Play framework. I will be honest, I couldn't really follow the code changes, too many new things and concepts. And I think I wasn't the only one. A simple summary of the presentation came in the end, in the shape of a question:

<code>So basically reactive means using callbacks, right?
Yes, but also handling errors. 
</code>

Manuel finished his presentation and coding session pretty fast so he had time to show us a few other things. I recall 2 cool tools for load testing your apps:

  * [Gatling](http://gatling.io/#/) - an open-source load testing framework based on Scala, Akka and Netty
  * [Bees with Machine Guns!](https://github.com/newsapps/beeswithmachineguns) - a utility for arming (creating) many bees (micro EC2 instances) to attack (load test) targets (web applications).

Bootiful apps

Permalink to “Bootiful apps”

By far the most amuzing presentation of the conference (for me). Josh Long gave a really good show while booting up an app with Spring Boot. Some of the memorable jokes:

The actual reason for this talk, the Spring ASCII art, @starbuxman and The Bootiful Application #jfokus pic.twitter.com/TzrOYlQe92

— Alexandru Chirițescu (@alexchiri) February 10, 2016

"Who's using #Netbeans? ... Sir, are you here?", #geeky standup comedy with @starbuxman and The Bootiful Application #jfokus

— Alexandru Chirițescu (@alexchiri) February 10, 2016

"We'll use #JPA because I make poor life decisions", @starbuxman and The Bootiful Application #jfokus

— Alexandru Chirițescu (@alexchiri) February 10, 2016

Now seriously talking, Boot looks pretty amazing. I really liked how the jars created by a Boot app are also bash scripts. So you could place the jar inside init.d folder and your app would be started automatically at boot. Also you could start your app by simply running the jar as any other shell script.