SE Radio, Git Eradicate, Progress On JMS

CodeFX Weekly #55 — 4th of February 2018

Nicolai Parlog
Feb 6, 2018 · 4 min read

Hi everyone,

the hard part of the work on The Java Module System is finally coming to a close. Also, my Java 9 interview with SE Radio went live and I have a new Git command to share.

There are actually a few more things I desperately want to write about, but I just don’t have the time right now (as it is, I’m writing this in the hotel in Stockholm a few hours before Jfokus starts). That’s bound to get better in a few weeks, though, when work of the book drops considerably.

I send this newsletter out every Friday. Yes, as an actual email. Subscribe!


Software Engineering Radio

A few weeks ago Nate Black from Software Engineering Radio interviewed me about Java 9 and the episode went live this week. It’s unlikely that as a reader of this newsletter you don’t already know most of what I’m saying but it’s still a nice summary of everything leading up to and including Java 9, particularly the module system.

One caveat: I’m talking way too fast and my pronunciation is a little unclear. I’m afraid that’s how I usually talk. I apologize. During presentations I often manage to rein it in a little because I’m aware of my listeners, but since I wasn’t flown to San Francisco for the interview I lacked that visual reminder of my audience and forgot to slow down. Maybe your player can do that for you.

(These paragraphs read like the interview is shit. It’s not. Go listen! 😎 )


The Java Module System

I’ve been very hard at work on the book. First of all, I finished the chapter about reflection and now all that’s left is the wrap-up chapter. (Although I’m toying with throwing in a short chapter about version support, but that’s totally optional.)

But there’s something else, maybe even more important. I learn new details about the module system all the time — from questions on StackOverflow, tweets, the mailing list, Javadoc (yes, I RTFM for you) — and every time that happens I put a little note into the text. Over the last weeks I’ve constantly whittled away at what became a surprisingly large amount of TODOs and I’m happy to report that almost none remain.

We’ve also been working on the graphics like crazy, so we can replace my hand-drawn abominations with proper diagrams. They are also almost complete, although there’s one step that still needs to be done for most of them: annotations. Annotations are small snippets of text in the graphic, usually with an arrow attached that points somewhere, that explain what’s going on, and are intended to make the reader focus on the important parts.

At first, I was flabbergasted — all that’s often already in the text to which the diagram relates and definitely in the caption, so why put it in a second or even third time? Turns out, it’s your fault (the general “you”, not you personally, of course). Apparently readers have the attention span of a gold fish and routinely skip parts of the book. But they are drawn to shiny graphics and so we try to sneak some text into them and thus trick the reader into reading all those pesky letters after all.

Then there’s the tech proofer who’s been looking at my example repo to make sure the demos actually work. They mostly did, but he still had some good feedback. And he provided the batch scripts for my shell variants, so if you’re on Windows and check out the demo, it’s thanks to him that you can simply run compile.bat.

The reason for the rush is a looming date: February 13th. No, it’s more like this:

February 13th

By then all content must be done. Then the final review begins during which I can still improve a few details and write the foreword and stuff. Beginning of March the reviews come back and because they will be glowing, there’s nothing left to do. Well, on the off-chance the book’s not perfect yet, I got three more weeks to edit until end of March. Then writing is done and the production department’s wheels start turning for about 10 weeks, so the book can be out in June.

You have no idea how much I’m looking forward to that.


Git eradicate

When giving my talk at JUG Bulgaria people saw me using git eradicate and were curious. Here's what it does:

git reset --hard
git clean -fd

(Add eradicate = "!git reset --hard; git clean -fd" to ~/.gitconfig)

The hard reset removes all changes from tracked files and clean -fd deletes all untracked files and directories. So no matter what you've done since the last commit, after git eradicate it's as if you've never done it.



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

CodeFX Weekly

Whatever caught my interest throughout the week: libraries or tools I am using, what I’ve written or read that might interest you, fascinating questions on StackOverflow, conferences visits, odd tweets, anything really that connects to Java, software development, or writing.

Nicolai Parlog

Written by

Developer (mostly Java), blogger (http://codefx.org/), author (http://tiny.cc/jms), trainer (http://courses.codefx.org & https://www.youtube.com/c/codefx)

CodeFX Weekly

Whatever caught my interest throughout the week: libraries or tools I am using, what I’ve written or read that might interest you, fascinating questions on StackOverflow, conferences visits, odd tweets, anything really that connects to Java, software development, or writing.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade