I've been playing with NIO for network stuff to see if/how I want to update the code for Head First Java 3rd Edition. The original code used Sockets and Readers/Writers, and I thought there must be a more "modern" way to do this so I've tried updating it a few different ways. I got it working using
ByteBuffer (eventually!), but the ByteBuffer stuff is just too fiddly to use to teach people basic network IO in Java. After turning to Twitter for the answers (Twitter Driven Development) I had what looked like a promising hybrid approach.
However, I've run into a problem with using the
Channels factory methods to provide this nice bridge between NIO (
SocketChannels) and classic streaming IO.
I'm posting the code here because you can't post source code this long on Twitter! Maybe someone can help me.
Continue reading "“Simple” Network Connections with Java – a problem"
I got a chance to look at this year's State of Spring Report from VMware Tanzu, and I've summarized what I've found interesting so my readers can get the TL;DR (from my opinionated position).
Continue reading "State of Spring 2021"
I've just seen JEP 416: Reimplement Core Reflection with Method Handles has been promoted to Candidate status ("Candidate: Accepted for inclusion in the OpenJDK roadmap"), and thought I'd find out a bit more about it.
Continue reading "Dealing with Legacy Code in OpenJDK (JEP 416)"
Dalia and I (and a number of others!) had a conversation on our first Twitter Spaces session about "Comments: Good or Bad?". I argued for minimising the comments we have in our code, and in this blog post I want to explore how to do this in more detail.
Continue reading "Do we need comments in our code?"
I've been migrating all my JavaFX applications to Java 15 / JavaFX 15.0.1 to see if there are any pain points or gotchas to be aware of. I particularly wanted to understand how Maven and Gradle handle JavaFX, and how to successfully build and run the applications in IntelliJ IDEA.
In this blog post I explore the steps taking to upgrade a Spring Boot/Maven/JavaFX application.
Continue reading "Upgrading a Maven, Spring Boot and JavaFX application"
You might think, particularly given the order in which I have posted these blog posts, that I tackled the easiest application first when I decided to upgrade my JavaFX applications. But no. Because I like to live life on Hard Mode.
I spent two full days last week once again tackling the on-going tech debt I had with a Modular JavaFX application. And I won! Yay! So here's my experience report.
Continue reading "Upgrading a Modular Gradle JavaFX Application"
I'm helping out a bit with an IntelliJ IDEA Live Stream on JavaFX, and I used that as an excuse to refresh my JavaFX knowledge. One of the things I did was make sure I upgraded all my existing applications to the latest versions of everything and make sure they work as expected.
I have what is now quite an old demo application, originally designed to showcase Java 8 features (watch the live demo and find out more). Since JavaFX was moved into the JDK in Java 8, I decided to use JavaFX as the UI. In fact, it's this demo that was the basis for all my later JavaFX applications, including the Spring Boot one.
I haven't done much with this for a loooong time, but it turns out I have been periodically updating dependencies and trying to make sure it all compiles. I highly recommend taking the time to do this at least once a year! It turns out that because I've been updating dependencies for the last 3-4 years that it wasn't that painful to bring it right up to date. In fact, I did it in less than 30 minutes!
Continue reading "Upgrading a Gradle JavaFX Application"
This week we're doing a Live Stream on JavaFX, and I wanted to use that opportunity to refresh my JavaFX knowledge.
I wanted to investigate two areas in particular:
- How do the changes in Java 11 (when JavaFX was moved out of the JDK) impact JavaFX applications?
- How do I get a modern (Java 15) JavaFX application working as expected in IntelliJ IDEA (using either Maven or Gradle as the build tool)?
I now have six different applications that showcase JavaFX! And... they all have slightly different issues... sorry, I mean "subtleties around the best way to run them". Yes.
Continue reading "Creating JavaFX Applications"
I have loads of advice for aspiring speakers, which is lucky because I get asked about how to get started (or how I got started) all the time. I found an email I sent to someone absolutely years ago (2014) and thought it useful enough to dust off and post. It's interesting to see my mindset back then because now I've largely forgotten what it was like in the early days.
The timing is not great, since in these Coronavirus times no-one's going to or presenting at conferences, but I firmly believe that with all these virtual events and conferences there's a much lower barrier to entry to speaking, and that now is exactly the right time to start presenting if it's something you've ever had on your wish list.
Continue reading "Speaker Tips – Bootstrapping Conference Speaking"
"I was hoping I could get some advice off you as I'm starting to look at ways to get out and speak a little bit more at events. Would you have some insights from how you started?"
When you’re a new speaker, or just starting to consider speaking at conferences or user groups for the first time, it’s easy to become overwhelmed by all the things you worry about when delivering a talk.
You worry about:
Continue reading "Speaker Tips – Focus on Either Content or Delivery"