After a Devoxx filled October, BeJUG is back in November and we're heading to Ghent this time!
A big thank you to Inetum for hosting us!
We have two great speakers ready to share some knowledge: Frank Delporte, aka Mr Pi Guy is going to talk to us about FFM and Wouter Bauweraerts is going to help us all write tests that last!
Come join us for this next event!
Schedule
- 18:00: Doors open + Food and Drinks
- 18:45: Intro and BeJUG updates
- 18:50: Talk 1
- 19:35: Little break
- 19:45: Talk 2
- 20:30: Mingling + Drinks
Topics
From Fragile to Fearless: Writing Tests That Last
We all know writing tests is important to ensure that our code behaves as expected. Tests should not only ensure that our new code is correct, but they should also serve as a means of detecting regression bugs early.
Most of the unit tests I’ve seen in my previous projects is, however, coupled to the technical implementation, which makes it hard to detect regression issues! Bugs are often introduced while refactoring existing code. Refactoring should be a task to improve the existing code, without altering the functionality.
If our tests are coupled to the structure of the code, we will have to update our tests while refactoring. This change can cause programming mistakes, because we don’t have working tests while completing the refactoring.
During this presentation, I’ll elaborate on two different styles of writing unit tests. We will explore different opinions about the definition of a unit; and we will explore how these opinions are translated into tests. Very often, these tests are called solitary and sociable unit tests.
I will demonstrate the difference with some practical code examples, which will clarify the pros and cons of the different styles of writing tests. But we will also explore the subtle differences between the sociable unit tests and integration tests.
Afterwards, I believe that you will be able to write tests that can survive refactoring the code while minimizing the amount of work to keep the tests running!
About Wouter
Wouter is a skilled Java developer with over seven years at The Beehive. As a full stack developer, he excels at solving complex problems efficiently and always focuses on quality. He is known for his creativity and forward-thinking at The Beehive. He enjoys experimenting with new frameworks and technologies to make the best decisions for future projects.
Beyond coding, Wouter is dedicated to coaching and mentoring his colleagues. He helps them improve by discussing project challenges and opportunities.
In the past, Wouter has also taught programming courses at Karel de Grote Community College in Antwerp. His practical experience and love for learning make him a valuable asset to his team and the IT community.
The Wait is Over: Foreign Function & Memory (FFM) API brings modern Java to the Raspberry Pi
Since 2012, Pi4J has enabled Java to control electronic components connected to the Raspberry Pi's GPIO pins. However, both Java and the Raspberry Pi have evolved significantly since then. Supporting new hardware has been a challenge, requiring multiple implementations in the Pi4J library with a significant amount of complex code based on the Java Native Interface (JNI) and Java Native Access (JNA).
The Foreign Function & Memory (FFM) API, finalized in Java 22, promised to make such integrations with native code a lot easier. With Java reaching a new Long Term Support version, it’s time to bump the Pi4J project to Java 25 and make full use of FFM! In this talk, you’ll learn how this FFM implementation is much easier to support and achieves high performance due to less memory copying and less interop code. It will also help improve the Pi4J project: fewer dependencies, a smaller JAR footprint, support for more protocols, and compatibility with more SoCs, among other benefits.
Through live demos, you will learn how to control LEDs, read buttons, interface with LCD displays, and gather sensor data using JBang single-file and Vaadin example applications. You'll see how FFM makes hardware interaction as natural as regular Java programming, and you will be ready to start your own experiments as soon as you arrive home.
Target audience: Java developers interested in IoT, embedded systems, and hardware programming. Basic Java knowledge is required, but no prior experience with Pi4J or electronics is needed.
About Frank
Frank Delporte is a Java Champion working at azul.com, blogger on webtechie.be and foojay.io, author of "Getting started with Java on the Raspberry Pi" (webtechie.be/books), and contributor to pi4j.com. Frank blogs about his experiments with Java, sometimes combined with electronic components, on the Raspberry Pi.
Additional notes:
- This meetup includes food. Please keep your RSVP status up to date so we do not waste any of our food.
- Some pictures might be made. If you feel uncomfortable about this, please mention this to the organizers (or anyone with a camera).