Elsewhere: NewsBits on Java 11

Posted by Codepope's Development Hell on Friday, September 28, 2018
Last Modified on Saturday, August 31, 2024

As is my way, I’ve been writing elsewhere for a living among other things and here’s the latest NewsBits I gathered up….

  • Java 11 arrives with long term support and warnings.
  • Refactoring .then() added to Microsoft’s TypeScript.
  • Ready for PostgreSQL11, PostGIS 2.5.0 released.
  • Your own database Arnie: pg_terminator kills PostgreSQLconnections.
  • Make SQLprettier with sqlfmt.
  • Read about CrimsonDB’s adaptive key/values.
  • Kubernetes gets a TLS bootstraping update.
  • And Finally … How to scan a Rocket.

Interested?

Here’s those bits in full… (Thanks Wayback Machine)

Developer Bits

Java 11

Java 11 has been released. It’s the first long term support version of Java on the new six-monthly release schedule - if you are running Java 9 or 10, you’re already running on an obsolete Java - and the next LTS version is expected to be Java 17, three years from now.

There’s a lot of changes to catch up with in the release notes. TLS 1.3 support, Unicode 10 support, new HTTP client APIs, two new experimental garbage collectors (Epsilon of ZGC), nest-based access control, local variables for lambda expressions and the ability to make #! launchable Java source files. What’s gone is as important - Java EE is out, now living at the Eclipse Foundation as Jakarta EE and Corba is, finally, just gone. And the Nashorn JavaScript engine has been deprecated along with various commercial features and packaging tools.

But before you rush to Oracle’s Java/JDK 11 site to download some of the latest Java, there’s a few things to remember. This particular release from Oracle, requires commercial support for anything other than development and testing. Historically, the commercial build of Java has been available for all purposes, but that changes with Java 11.

There is an open source build of Java 11 from Oracle at jdk.java.net which is unsupported and free from that restriction. As an article from Stephen Colebourne points out, this will be the first OpenJDK release and there’s more to come from other groups. The AdoptOpenJDK team are busy getting their release of 11 (and a Java 1.8.0_181 release) together - their releases include versions with Hotspot and IBM’s J9. Other JDK builds are likely on their way too.

TypeScript

It seems like only yesterday when TypeScript 3 was released - it was actually two months ago - but now TypeScript 3.1 is with us. This release adds mappable tuple and array types, gets smarter about properties and function declarations, adds in version based redirection and adds IDE support to refactor .then() into more modern await code.

Database Bits

PostgreSQL

PostGIS - As the PostgreSQL 11 release gets closer, PostGIS is now ready for it with the release of PostGIS 2.5.0. There’s also a new pgRouting release, 2.6.1, to go with it, so when Postgres 11 lands - likely next month - there’ll be a full set of GIS tooling for it. PostGIS 2.5.0 is compatible with previous PostgreSQL releases back to 9.4 but will need PostgreSQL 11 beta 4 or later. Talking about versions, one new feature in PostGIS 2.5.0 is PostGIS_Extensions_Upgrade which makes it simpler to upgrade PostGIS extensions, one of the more tedious parts of upgrading a PostgreSQL/PostGIS enabled server.

pg_terminator - A new tool from Hubert Lubaczewski (aka depesz) seeks to take on tricky connections. Specifically, pg_terminator runs in the background querying current connections and, using a set of rules, decides on and then disconnects queries which are eating database time, jammed or otherwise troublesome. When even the best software in the world can be tripped over by the network conditions, this seems to be an interesting option as a backstop.

SQL

sqlfmt - Formatting SQL is, like all formatting of code, a very subjective thing. The emergence of super-opinionated, 0-to-low customization automated formatters like Prettier does, oddly, seem to address many people’s preferences. Now, there’s an opinionated formatter for SQL in the form of sqlfmt from the good people at CockroachLabs. You can use it online too and there you can see that it works to balance between single lining argument lists and breaking out arguments in a list into single lines depending on width. That width can be adjusted on the online version with a slider so you can see the logic at work.

Reading

CrimsonDB is an intriguing project out of Harvard’s Data Systems Labs. It’s a key value store which looks at its own workload and works out optimization strategies in its own auto-design mode. Find out more at the CrimsonDB site where there’s links to research papers, but no source code yet.

Cloud Bits

Kubernetes

It’s the third Kubernetes release of 2018 and Kubernetes’ big ticket feature is the general availability of Kubelet TLS Bootstrap. Kubelet’s are the primary agent that runs on a node. These need to start with TLS certificates which usually had to be manually set up. The TLS Bootstrap automates all that and means you can make sure Kubelets have unique certificates. Also in this release is scaling for Azure VMSS, betas of topology aware provisioning, configurable pod process naming, taint node by condition, custom metrics for horizontal scaling, and vertical scaling of pods.

And finally

Some things are easy to scan, like photographs and reciepts, while others are tricky to scan… like rockets. Or in this particular case Stephenson’s Rocket, a train which, just to make scanning hard is “complex, black and glossy”. 22 High resolution Lidar scans and 2,500 photographs went to create a 720 million point cloud and you can get to enjoy a reduced version of the result in your browser.