Blog
Review: Dark Mirror
Late last year, Edward Snowden published Permanent Record, a memoir focused on his role as an NSA whisteblower in 2013. The book appealed to me as a substantial account presented on Snowden’s own terms. As much as I enjoyed it, there was no getting around the risk of bias. Secondary sources started to seem more appealing to me because they could help understand if/how Snowden’s take was inaccurate. Although there was a wealth of such sources to choose from, I wasn’t convinced any of those authors could write authoritatively on the disclosure itself.
Blog
Review: Broken Age
Continuing my careful, uncertain return to gaming, I decided to pick up the 2014/2015 title, Broken Age. Like so many Grim Fandango fans, I helped fund its development when it was first announced in 2012. I stopped playing video games over the course of its lengthy development process, but I never forgot about it. It’s surprising to realize that it’s been over eight years, but I tried not to let that affect my expectations too much.
Blog
Review: The Murderbot Diaries
“It’s pulpy, but it’s good,” my brother said as he handed me All Systems Red. I didn’t understand the distinction, but I was on board regardless. As he predicted, I read that quickly and went on to read the other three novellas in the series, Artificial Condition, Rogue Protocol, and Exit Strategy.
Not for nothing, these really ought to have been published as a single novel. They were released over the course of about a year and a half, so it’s not as though they individually required substantial research or revision.
Blog
Review: A Complete Lowlife
From Criminal to Sleeper, Ed Brubaker has written some of my favorite comics. And much as I enjoyed his stint on Daredevil, those original series have always been my preference. A Complete Lowlife fit the bill, so I was hoping for more of the same.
Which is to say: I set myself up for disappointment. Although Brubaker’s been exceptionally consistent over the course of his career, there are a few details that set Complete Lowlife apart.
Blog
Review: The Fall of Hyperion
Hyperion is great, but it’s incomplete. It ends without resolution for its frame story. That would be fine for a “loose” framing like in The Illustrated Man, but the tales in Hyperion (not to mention their narrators) are far more interrelated. I couldn’t make up my mind about that book without knowing how the story ended. For me, The Fall of Hyperion had a lot riding on it.
It would have been hard enough to deliver a satisfying conclusion if the sequel could reuse the same basic formula.
Blog
JSHint: Wrestling it Free
This is the final essay in a four-part series about relicensing the JSHint software project.
The struggle to relicense JSHint was about to get ugly. We’d decided to forcibly take control by rewriting targeted sections of the source code. To be fair, we weren’t looking for trouble. We tried to get permission from every contributor, but that turned out to be impossible. We turned to rewriting only reluctantly because of the danger in swapping out pieces of such a complex and widely-distributed program.
Blog
JSHint: Asking Nicely
This is the third essay in a four-part series about relicensing the JSHint software project.
Despite initial appearances, relicensing JSHint involved much more than modifying a single text file. The LICENSE file is just the technical representation of a legal contract, and the consent it describes is not something you can patch in a text editor.
Specifically, we wanted to remove the clause, “The Software shall be used for Good, not Evil.
Blog
JSHint: Dug In
This is the second essay in a four-part series about relicensing the JSHint software project.
In a previous essay, I explained what made the JSHint project’s bizarre license so toxic for JSHint and its users. However, a fully free and well-maintained alternative (namely ESLint) has been available for many years. A wider perspective may make the plight of the JSHint project less compelling.
“Geez, just use another project,” you might be thinking.
Blog
JSHint: Watching the Ship Sink
This is the first essay in a four-part series about relicensing the JSHint software project.
The process of relicensing JSHint took seven years. That’s far longer than anyone expected, but seeing this through wasn’t just a matter of endurance. As I worked with people around the world to move to the MIT Expat license, I regularly experienced how non-free licensing (even as seemingly trivial as “Good, not Evil”) poisons the well of free software.
Blog
You May Finally Use JSHint for Evil
JSHint is a software tool designed to help developers write JavaScript code. Since its creation in 2011, it has been encumbered by a license which includes the following clause:
The Software shall be used for Good, not Evil.
That stipulation disqualifies JSHint from the distinction of “free” software and “open source” software.
Today, with a release 7 years in the making, we’re removing the clause. Support for Evil is a new feature but not a breaking change, so in keeping with Semantic Versioning, we’ve incremented JSHint’s minor version.