I tend to talk a lot about Java and all those words must go somewhere.
Words as ones and zeros:
- blog posts
- regular newsletter
- contributions to dev.java
- occasional article on inside.java and Java Magazine
Words on dead trees:
- The Java Module System
- three out of 97 Things Every Java Programmer Should Know
- occasional article in magazines like Heise's iX Developer
Words on camera:
Words in real life:
Words as code:
If you want to get in touch, see here.
▚Random Musings On The Past
▚Java and I
Java and I first met in highschool at the turn of the century (way to make yourself feel old, Nicolai), but I gotta admit, it wasn't exactly love at first sight. All of that indirection, for what?! While studying computer science and mathematics at TU Dortmund (2004-2010), we got to know and understand one another a bit better.
But it wasn't until I started using it every day at work at Fraunhofer ISI (2011-2014) that we really hit it off! We spent so much time together, my significant other started to get jealous. After leaving the institute for Disy Informationssysteme GmbH (2014-2016), my love to Java spilled over into the public.
It all began with the blog in 2014 and from there snowballed to conferences, books, YouTube and Twitch - all the things I mentioned above. For a few years, I was the editor of Sitepoint's Java channel, a freelancing developer and author, and an independent trainer. In 2019, I became Java Champion.
But the cherry on the ice cream sundae, something I would never have thought, is that seven years later I'd be working at Java's source as a developer advocate for Oracle.
I occasionally get asked why nipa_fx_, is it the same fx as in JavaFX? Capitalization aside, yes. 😊 If you find that weird, I hear you, but it was pretty much an accident. Here's what happened.
Back in 2014, I dabbled with JavaFX. I created a few controls and some helper methods before eventually learning about ControlsFX (same FX). I contributed a control to the project and took inspiration from its name when starting a project for the helper methods. I thought CodeFX (same FX) would make a nice companion, so I got the domain codefx.org and registered it with Maven Central.
At about the same time, I decided to give blogging a shot. Need a name and domain for that as well. Being all out of ideas, I decided on a switcharoo:
- use codefx.org for the blog
- rename still unpublished library to LibFX (same FX)
org.codefx.libfxas group ID
Come October (still 2014), I got on Twitter and needed a name for that as well. My first choice, @CodeFX, was taken. @NicolaiParlog is way too long, @nicolai was taken and so were @nipa and all reasonable derivations, so what to do?! Once again invited to be creative, I wasn't and picked nipafx (same FX).
To me, that was just a user handle and I never thought of it as even a nickname until I started to meet people at JUGs and conferences who knew me from Twitter and thought of me primarily as nipafx. A few more years down the road... now I am nipafx. (But you can call me Nicolai. 😁)
▚What Happened To CodeFX?
So what happened to CodeFX? It was too good a name. You might be thinking that's an upside, but that's only true for the first person to use it. Everybody else struggles to get this user name on the platforms they want to use.
My blog was codefx.org, on Twitter I was nipafx, on Google+ (remember that?) I was NicolaiParlog, on YouTube I managed to get codefx as vanity URL, but on GitHub I was nicolaiparlog with CodeFX-org as an organization (why both?!). On Twitch codefx was taken as well, so I used nipafx. What a mess!
Then, in 2019, lightning struck (figuratively) when I watched this video by Ben Claremont. I realized that there's no reason to put an artificial entity between you and me and that CodeFX would have to die. More details in this newsletter from back then but long story short: Now it's nipafx everywhere.