Hanno Embregts

Java Developer & Speaker, strong with the Force - full bio

Regular Talks

Will Git Be Around Forever? A List of Possible Successors

What source control software did you use in 2008? Possibly Git, if you were an early adopter or a Linux kernel committer. But chances are you were using Subversion, as this was the product of choice for the majority of the software developers. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now?

In this talk we will think about what features we want from our source control software in 2028. More speed? Better collaboration support? No merge conflicts ever?

I’ll also discuss a few products that have been published after Git emerged, including Fossil, Veracity and Pijul. I’ll talk about the extent to which they contain the features we so dearly desire and I’ll demonstrate a few typical use cases. To conclude, I’ll try to predict which one will be ‘the top dog’ in 2028 (all information is provided “as is”, no guarantees etc. etc.).

So attend this session if you’re excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first. 😀

Appearances (1)

Building a Spring Boot 2 Application: Ask the Audience!

Spring Boot makes it easy to create stand-alone Spring-based applications that you can ‘just run’. It uses a ‘convention over configuration’ approach to get you up and running in no-time. And with the release of Spring Boot 2 in February 2018 all Spring 5.0 features will be available for Spring Boot users, as well as Kotlin support. In this session I will demonstrate this by live-coding a Spring Boot 2 application that will ‘just work’.

But audience beware, this is not your standard ‘live-coding session’. Attendees will have a vital say in the session’s content by defining the application’s requirements. Do you want a simple task planner? Or track your favourite movies? It’s up to you! Should it use MongoDB or JPA? You decide! Built with Java or Kotlin? I don’t care! Do you want an Angular front-end with a RESTful back-end or do you prefer a classic web app with Thymeleaf templates? It’s your call! Seriously.

During the session you get to make these decisions by participating in an online vote. And you will discover that Spring Boot is up to the task no matter what choices you make.

So what are you waiting for? Bring your own device, help shape the application that we’re building and learn lots about Spring Boot in the process.

This session is intended for Java software engineers with an interest in Spring Boot. Some Spring experience could come in handy, but is not strictly necessary. After this session, you will know enough to start your own Spring Boot project.

Appearances (1)

Entering the Fourth Dimension of OCR with Tesseract

Optical Character Recognition has come a long way since the first image-scanning inventions in the early 1900s. Nowadays, accuracy rates of over 90% are easily achievable on high-quality text scans. Many OCR engines capable of reaching these rates exist today; one of which is Tesseract.

Tesseract has become quite popular amongst software developers because of its accuracy, its open-source status and its active development by Google. By using the Tess4J JNA wrapper it is easily integrated into your Java project.

During this session, I will introduce Tesseract, its pros and cons and how & when to use it. And I will demonstrate a Java application that uses Tesseract and Tess4J to process some of my favorite books from Google Books, so you’ll be able to assess its accuracy for yourself.

In geometry, a ‘tesseract’ is the four-dimensional analog of a cube. So will the Tesseract OCR library live up to its name and help your project to ‘enter the fourth dimension’? Join me for this session and find out for yourself!

Appearances (1)

Building a Spring Boot Application: Ask the Audience!

Spring Boot makes it easy to create stand-alone Spring-based applications that you can ‘just run’. It uses a ‘convention over configuration’ approach to get you up and running in no-time, while offering all Spring features that you have grown fond of in the past years. In this session this is demonstrated by live-coding a Spring Boot application that will ‘just work’.

But audience beware, this is not your standard ‘live-coding session’. Attendees will have a vital say in the session’s content by defining the application’s requirements. Do you want a simple task planner? Or track your favourite movies? It’s up to you! Should it use MongoDB or Couchbase? You decide! Do you want an Angular front-end with a RESTful back-end or do you prefer a classic web app with Thymeleaf templates? It’s your call! Seriously.

During the session you get to make these decisions by participating in an online vote. And you will discover that Spring Boot is up to the task no matter what choices you make.

So what are you waiting for? Bring your own device, help shape the application that we’re building and learn lots about Spring Boot in the process.

This session is intended for Java software engineers with an interest in Spring Boot. Some Spring experience could come in handy, but is not strictly necessary. After this session, you will know enough to start your own Spring Boot project.

Appearances (5)

Migrating 25K lines of Ant scripting to Gradle

Most developers prefer to spend their time writing code instead of performing build script maintenance. Build scripting may be an essential part of the software development process, but it often lacks maintainability which makes applying and deploying changes a tedious job. So it’s important to make sure your build system encourages simplicity and that changes can be made in a fast and straightforward way. Industry standards Ant and Maven are not quite up to the task; Gradle is a better alternative.

This presentation introduces Gradle – a modern build system that supports all JVM Languages – and shares the result of the Ant-to-Gradle migration that was performed at ‘Nederlandse Spoorwegen’ (or NS - Dutch Railways). The session will focus on the challenges we faced while trying to replace Ant scripting with the Gradle equivalent and how we handled them.

After attending this session, you will have a good understanding of Gradle, its possibilities and its pros and cons compared to Ant and Maven. On top of that, you will be able to migrate your own project to Gradle, even if your project has a huge code base or relies on ancient technologies. The lessons we learnt at NS could be very helpful to your own situation.

Appearances (3)

Lightning Talks

QWERTY or DVORAK? Debunking the Keyboard Layout Myths

If you’re reading this summary on a computer, chances are there is a QWERTY keyboard on your desk. This keyboard layout has been around since 1873, and it has been widely adopted ever since. However, its popularity has always remained a mystery to me. Why is everyone using a keyboard layout that doesn’t look that efficient on first sight?

I’m not the only one asking this question. A lot of myths exist on the QWERTY keyboard layout, including the one that it was specifically designed to slow down typists. In preparation for a switch to the DVORAK layout, I did some research and found out that a lot of these myths are riddled with factual errors. Also, I started learning DVORAK and kept track of my progress and what I thought were the pros and cons.

So was QWERTY designed to slow us down? Is it feasible to adopt an alternative layout like DVORAK? If so, how long will it take you to learn it, and should everyone consider it? Join this session to have your questions answered, and feel free to bring your keyboard layout of choice. :-)

Appearances (3)

Unconference Talks

The Soft Side of Software Development

Great to have you at the conference! By now you’ve probably heard about a lot of new tools, and chances are you’re already looking forward to trying them out at work. Then it’s just a simple matter of convincing everyone that the new stuff trumps the old in every way, right?

Turns out just knowing about the latest technical stuff will only get you so far. Your ‘soft skills’ play a vital part in the process of developing a great product. You need to be able to convince people, motivate them, listen to them and treat them with respect. So how do you learn this stuff?

After struggling with this question for a long time I discovered two things: 1) You can learn from your successes, and even more from your failures; 2) You can learn from the way other people handled their situations.

So in this BOF session I’m happy to tell you some of my successes and failures. But I’m also curious about the way you handled your own situations. In fact, just bring your splendid self and a few questions and I’ll do my best to make sure we all learn from it.

Possible topics:

Appearances (1)

Ignites

Slide Deck Version Management: The Good, The Bad and the Ugly

After speaking at a few conferences, I’ve noticed that as a conference speaker you need to provide session content that is both challenging and versatile. On top of that, your content should be able to fit into different time slots. Whether you are given 35, 45 or 60 minutes of speaking time, your story should remain clear and appealing to the attendees. To make matters worse, in some occasions you are dealing with multiple speakers and / or different languages. And managing the different versions of your slide deck has officially become a challenge!

Analogous to the plot of Sergio Leone’s spaghetti western classic, three possible solutions exist: a good one, a bad one and a plain ugly one. I will demonstrate these solutions in reverse order and let you decide for yourself which one you prefer.

So are you a speaker or are you thinking about starting out? Or are you simply a fan of spaghetti westerns? Join me in this Ignite session to get some tips on slide deck version management! And discover that after attending this session, you can avoid spending your valuable time on version management and instead spend it on coming up with some great new session content!

Appearances (2)

These Songs Would Make Some Great Code Comments

Besides being useful, comments in source code can also be fun! This legendary StackOverflow post tells me that sometimes a well-chosen joke put into source code can lighten the mood at work and make your developer life just a bit better.

Now, because I am both a developer and a musician, I tend to use song lyrics to lighten up my code. So in this Ignite talk, I’ll demonstrate this by showing a few typical code fragments that could use some musical quality. And of course I’ll perform bits of the songs that go with it.

So are you in for a light-hearted talk on code comments - slash - a mini-concert featuring songs by Coldplay, Oasis, Adam Lambert, Imagine Dragons and many more? Please join in and feel free to sing along!

Appearances (3)