CodeFX is dead, long live nipafx.dev

nipafx news #80–3rd to 5th of October 2020

Nicolai Parlog
nipafx news
Published in
9 min readOct 29, 2020

--

This newsletter was a twofer — here are both parts.

I send this newsletter out some Sundays. Or other days. Sometimes not for weeks. But as an actual email. So, subscribe!

Good news everyone,

I can finally take CodeFX behind the barn and shoot it!

Sorry for the graphic image, it’s just that I’ve become quite annoyed with the old site and am happy that the new one is finally ready to launch. But more on what’s ahead in the next part. This one is for looking back…

Looking back

I don’t want to spend too much time reminiscing about CodeFX and the blog, but it became too important for my life to not at least have a quick eulogy (you know, after murdering it).

Yet another blog about Java

I started working as a professional Java dev in 2011 and it took me about two years to learn enough to feel half-way competent. Most of that came from reading blog posts and I remember spending an hour or two each night reading about Java, JVM languages, clean code, patterns, tools, teams, and everything else related to software development. I learned a ton from these free resources and even though I was already a bit too old for worshipping, bloggers became my heroes — they knew so much and they shared it so freely! That just blew my mind.

In late 2013, I read a few posts on Java 8, which was scheduled for release in March 2014. These new concepts (I’ve never written a lambda before!) were so thrilling that I carved a few hours out of our family holiday in South Africa to try them out. I still remember sitting in that apartment with a great view of the ocean, instead staring at my ThinkPad trying to grog what -> means.

With some ahead-of-time knowledge about Java 8, I realized in 2014 that I had something to share as well and so I decided to start my own blog. At the time, this felt like deciding to become a rock legend or a movie star.

A CodeFX is born

What to name it, though? JavaFX had just entered the big stage with their JavaFX 8 release that was bundled with Oracle’s JDK 8. I’ve spent some time with it and even contributed to ControlsFX (first open source contribution, baby!). At the time, I also had some JavaFX utilities lying around and when the time came to release them into the wild, I needed a name for that. JavaFX, ControlsFX, … CodeFX, there you go! So I got the domain and set up the project — package names, applying for org.codefx at Maven Central, … the works.

Then the blog idea entered the picture and I realized that CodeFX isn’t actually that bad of a name for it. So the library became LibFX (yep, still no creativity to be found), and the blog launched at codefx.org.

(By the way, I’m nipafx on many other platforms because when it was time to pick a Twitter handle, nicolai was gone, nicolaiparlog was way too long, nipa was gone, and nipafx was the next best thing. So yeah, I’m essentially named after a Java desktop technology — if my parents knew…)

I cobbled some WordPress together in June 2014 and started writing for real in September 2014. First real post was on the 22nd: How The Decorator Pattern Saved My Day (that’s what it looked like in November 2014, when the Wayback Machine grabbed it).

Always be jabbing

I took Jeff Atwood’s recommendation to heart: Always Be Jabbing. Always Be Shipping. Always Be Firing. And so I published 19 posts between mid September and end of year 2014 and 42 posts in the following year.

Looking back on it, I gotta say that was my golden age of blogging. Writing was just a hobby, everything was new, and I was very hyped. And I was privileged to have some time on my hands because even though my daughter was born in 2013, I only needed to work part time and could thus explore my interests pretty freely.

Snowballing

Humans tend to misinterpret time as a linear sequence of events and that’s clearly what I’m doing here, but the blog feels a lot like the critical juncture in my professional life. Everything I do that isn’t coding as an employed developer traces back to it:

  • I spent a lot of time researching topics that I would otherwise not have gone very deep into
  • people follow me on Twitter (joined December 2014) because they read my blog
  • publications like InfoQ and Oracle’s Java Magazine asked me to contribute (starting 2015) because they read my blog
  • when starting to submit talks to conferences (in 2016), I could demonstrate I had some idea what I was going to talk about by pointing to my blog
  • Manning asked me (in 2016) to write The Java Module System because they found me through, you guessed it, my blog posts (and other articles)
  • you’re most likely reading this newsletter because you’ve read my blog
  • I get hired as a trainer because people read my blog first
  • when starting channels on YouTube (2017) and Twitch (2019), I invited people over from Twitter and my blog

So, as much as I now dislike its first iteration, I have to say: Starting that dang WordPress blog was probably the most important career decision I made. And at the time I had no idea that was the case.

What I describe here is why bloggers usually run around telling everybody who listens (and many who aren’t) to start a blog. And while there are reasons against blogging, I agree.

Nowadays, with all the young kids spending time on YouTube, Twitch, TikTok, whoknowswhat, it doesn’t have to be the written word (although its searchability is still unmatched), but publishing what you know can be a lot of fun, very rewarding, and a game changer for your career. I encourage you to do it! And if you do, let me know, so I can help you spread the word.

So what’s wrong?

So if CodeFX got me this far, what’s wrong with it? As I wrote last year:

Having something like CodeFX […] makes you feel legit. Looks almost like a company, doesn’t it?! You’re not just a dude or gal with a blog and a camera, no, you’re A Company!

But, and companies know that full-well, that’s not a good thing. People like people, not corporations. They’re willing to accept corporations, but they bond with human values, which is why corps invest so much money into trying to make it appear as if they have any.

The idea that I have no reason to hide behind a bogus entity quickly snowballed and picked up a lot of other stray thoughts:

* I hate WordPress and want a static site
* my blog’s design is acceptable, but not great (I mean, look at the logo!)
* my blog, my slides, my video content, everything I produce really should use the same design element
* I need a better way to tell people who like my content about the channels I use
* I want to build a community for people with similar interests

So there are two large forces at play:

  1. get rid of the intermediate and present as a person, not an org — hence the move to nipafx.dev
  2. get rid of the WordPress site because it sucks in different regards — hence the rewrite

Ok, what now?

Now we wait… Or rather you wait — I’ll spend the next days frantically publishing HTML files, creating DNS entries, updating the pointers, moving data, and generally making a big mess of everything until it falls back into place. A new place: nipafx.dev.

If you don’t want to wait, check my Twitch. I’ll have a launch party today at 1600 UTC / 1800 CEST and would love to see you there! ❤️

Hi everyone,

if you’re reading this, things went according to plan and the new site is online at nipafx.dev. Furthermore I am now nipafx on all the platforms (or at least on the way there).

The new mailing list is also up and running and you can once again edit your settings, e.g. to unsubscribe — see links at the bottom of this and every future newsletter.

Kicking tires

It took about 18 months to get here. From the first impulse to refining the idea and getting a great design to implementing every nut and bolt myself. Was it worth it? Not on its own (could probably have paid someone), but not only do I now have full control over the entire site (and can’t wait to improve it further), I also learned a lot about HTML, CSS, JS, and React and I’ll be damned if that won’t come in handy in the future.

But let’s not dwell on that. Instead, let’s see what the site has to offer. Design, performance, and such things aside, there are four important features that all deal with discoverability.

All in one

The landing page shows not only blog posts, but also videos as well as updates to talks and courses. In the future, I will also add newsletters, articles I publish elsewhere, and maybe interesting Twitter threads.

That means, if you want to check out what I was up to recently, you only need to go to nipafx.dev. Or subscribe to the RSS feet to consume from home.

Filtering channels and tags

To help you make sense of it all, there’s a handy filter on the left-hand side of the landing page. It lets you select what channels and tags you’re most interested in and filters the list of posts accordingly (and quickly!).

Table of contents and related info

I really like blogs that have a table of contents in each post, but it’s a bit annoying if I have to scroll up to make use of it. That’s why the new design shows a toc next to the content, so it’s always there to help you navigate (it used to highlight where you are, but that broke at some point and I didn’t get around to fixing it yet).

And since that hovering menu is there already, why not use it for other things? Whether the post was published elsewhere, is part of a series, or there’s a repo containing the code snippets — all of those pieces of information are now in that menu for your convenience.

This also means that they no longer clutter the intros, so the posts can now always get right to it!

Schedule

If you want to know what I’m up to in the coming months, check the schedule. It contains Twitch streams, conference visits, and upcoming public courses.

(Speaking of which, I’m giving a Java 9–15 course with DOAG on December 2nd and 3rd. Maybe in Berlin, maybe remote. If you want to get a theoretical background on and practical experience with the new features, APIs, capabilities of Java After Eight, go check it out.)

Looking forward

I’ve spent a lot of time in the last one to two years with experimental (for me) endeavors: staying abroad for a few months, streaming on Twitch, launching a conference, home-schooling due to COVID, building my own website… All of that was/is great fun (particularly the homeschooling!) and I’m happy I’m doing them, but they also take away a lot of time from something else I enjoy: creating and sharing Java content.

The place where this shows the most is the blog: I didn’t publish anything in a year and not much last year either. Newsletters were also scarce and often rather self-involved and videos were few and far between. Not sure what expectations you have of me, but I’m not living up to mine.

My fall calendar looks like an apocalyptic hellscape, so I’m afraid I won’t get around to much in the coming months either, but I’m really looking forward to 2021. I want to get back to just producing content, to simply learning something and then writing about it (or making a video).

Can’t wait!

so long … Nicolai

PS: Don’t forget to subscribe or recommend! :)

--

--

Nicolai Parlog
nipafx news

Nicolai is a #Java enthusiast with a passion for learning and sharing — in posts & books; in videos & streams; at conferences & in courses. https://nipafx.dev