• Sunday

    • GitLab, Twitter, Stripe, the future of distributed and remote workforces. I’m in. https://www.cnbc.com/2020/02/08/twitter-ceo-jack-dorsey-san-francisco-comments-a-warning-sign.html.
    • Some ridiculous scoring from UFC 247 last night: https://imgur.com/a/Dyn0t0W#AwcAlMa.
    • Java.
      • Uninstalled the version of openjdk that came stock on my laptop @ /usr/lib/jvm. Installed v13 to /usr/local/java. The development kit comes with the runtime, of course. sudo update-alternatives.
      • Wrote and compiled a few scripts, refreshed on java syntax.
      • Didn’t use eclipse or netbeans, will regain familiarity at the cli / basic text editor first.
      • Did a few codingbat warmups.
    • Gradle.
      • It’s not just a build tool for java, you can use c++ or python and more with it. It’s the official build tool for android. Maven is a common competitor, as is Bazel. Dependency management, build parallelism, caching, all the similar features of my old sx-setuptools.
      • You may implement plugins in a few DSLs. Groovy and Kotlin are very popular.
    • Jenkins.
      • Installed and started a local instance of the server.
      • Played around with pipelines, integrations with scm, artifacts. Different nodes to execute, docker.
      • It looks like you can configure things with a jenkins config, similar to bamboo’s yaml specs.
      • Overall, it looks like Bamboo can do a bit more out of the box, but jenkins is very extensible. There are a ton of plugins out there.
      • Remember your conviction: as little as possible should be defined in the build system. This regards configs, tasks, and other entities. Your platform (jenkins, bamboo, whatever) should just be an orchestrator, the engine that executes scripts in your source where the actual build logic is defined. Build as code, config as code, deploy as code.