The project I linked to demonstrates a complicated SBT build.sbt file for a multi-project build.
At the moment this is kind of funky, but I find that the best way to determine the version of SBT is to move to a temporary directory and then run the
sbt sbtVersion command:
Somewhere around a year ago I started working on a Kotlin programming book, but then I had to get away from it to work on other things. When I got back to it recently I looked around and felt like the world didn’t need another “Introduction to Kotlin” book — there are a couple of good ones out there, including Kotlin in Action, and the kotlinlang.org documentation is excellent — so I decided to ditch the project completely.
I’ve been working on a Kotlin book on and off for the past few months, and this morning I pulled a Steve Jobs on myself and canceled the project, even though it’s about 75% complete (by chapter count).
The problem with the book is that at this point it doesn’t contain anything unique, although arguably my way of explaining things might be better than other approaches. Unlike the Scala Cookbook, which provides solutions to common Scala problems, and Functional Programming, Simplified, which provides a unique approach to explaining functional programming in Scala, I don’t feel like there’s anything new here.
So, in short, without getting into the details of what’s next, the “vision guy” part of me decided that there are better things to do with my time. (And if you’ve ever been on a project that was canceled and you thought it was hard to take, imagine canceling your own project.)
Several years ago I stepped away from a consulting gig. I had an opportunity to continue the gig, but I didn’t enjoy it, and didn’t like the direction the project was headed in. This quote from this article about the Denver Post expresses how I feel very well:
“I have total disagreement with how they're managing the place, but I'm not going to stand up and be overly critical of them. They've got the keys to the car and they can drive it any way they want to. But they're not driving it in a way that I want to be a passenger of the car.”
(That reminds me of the old Alaska sled dog saying: “If you’re not the lead dog, the view never changes.”)
The sbt-errors-summary plugin looks cool. Here’s a summary from its author:
“A simple plugin that makes the error reporter a bit more concise. I find it useful when doing refactoring: I get a lot of compilation errors, and I waste a lot of time switching between files and looking for line numbers in the error message, when I can immediately see what's wrong when looking at the faulty line.”
The words “The tyranny of the final product” remind me of every software project I’ve ever been involved with, and the few books I’ve written.
This image comes from the table of contents of the book On Writing Well: The Classic Guide to Writing Nonfiction.