SE Radio, Git Eradicate, Progress On JMS
CodeFX Weekly #55 — 4th of February 2018
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.
SE-Radio Episode 316: Nicolai Parlog on Java 9
Nate Black talks with Nicolai Parlog about Java 9.
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.)
The Java Module System
Book Forum Source code on GitHub Slideshare: Reliably Configuring Java 9 Modules Article: Implied Readability Article…
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
demo-jpms-monitor - A small application to demonstrate the Java Platform Module System
The reason for the rush is a looming date: February 13th. No, it’s more like this:
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.
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
eradicate = "!git reset --hard; git clean -fd" to
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.