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)"
I'm definitely doing something wrong:
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.
OK so here we go, my almost-regular annual roundup. Of 2020. Deep breath.
Right so first things first, obviously 2020 SUCKED. For everyone. Anything I say that's negative is not meant to be "oh poor me I had it worse than anyone" and anything positive is all about focusing on the positives, I hope I don't make anyone feel weird about good shit happening in a horrible year.
So caveats and disclaimers up-front:
- None of my close circle of friends or family died or was hospitalised with Covid. Yes, friends of friends, family of friends, and some people in my much wider circle of acquaintances and friends. I consider myself extremely lucky.
- I also got very lucky with how old my kids currently are - old enough to be fairly independent (compared to a baby), young enough that school is not mandatory for them.
- I'm also very fortunate in my working situation. I've been working remotely for 8 years already, and my company is a) extremely caring about its employees and b) in a financial situation to be able to support them.
How to start?
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.
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.
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!
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.
Guess what? A conversation I was having on Twitter got me excited enough to blog again. Perhaps reading Twitter isn't such a depressing waste of time after all.
Continue reading "Who’s “Allowed” To Review Code?"
The problem with code reviews is that it is too easy to end to end up with code targeted at the lowest common denominator of the ability of the reviewers.
— Ihe Onwuka (@mazihe) October 21, 2020
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?"