Topics

Featured in Development

As part of our core values of sharing knowledge, the InfoQ editors were keen to capture and share our book and article recommendations for 2018, so that others can benefit from this too. In this second part we are sharing the final batch of recommendations

Featured in Architecture & Design

Tanya Reilly discusses her research into how the fire code evolved in New York and draws on some of the parallels she sees in software. Along the way, she discusses what it means to be an SRE, what effective aspects of the role might look like, and her opinions on what we as an industry should be doing to prevent disasters.

Featured in Culture & Methods

Mik Kersten has published a book, Project to Product, in which he describes a framework for delivering products in the age of software. Drawing on research and experience with many organisations across a wide range of industries, he presents the Flow Framework™ as a way for organisations to adapt their product delivery to the speed of the market.

Featured in DevOps

The fact that machine learning development focuses on hyperparameter tuning and data pipelines does not mean that we need to reinvent the wheel or look for a completely new way. According to Thiago de Faria, DevOps lays a strong foundation: culture change to support experimentation, continuous evaluation, sharing, abstraction layers, observability, and working in products and services.

IntelliJ IDEA 2017.2: Smarter, Neater, and Faster

JetBrains recently released IntelliJ IDEA 2017.2, the quarterly release of its flagship Java IDE. Trisha Gee's blog post about this release notes that there are many usability enhancements; new classes of warning like if you are creating empty collections or Strings or if a number is out of range on an array. It also has improved analysis around nulls.

One of the more innovative new features is chain completion; a form of code completion that recognizes and suggests subsequent method calls, based on how frequently they're used in your project. Note that this feature only works for Java, and you have to be using the IDE's compiler (not Gradle or Maven's).

Performance improvements largely revolve around indexing, which can slow development especially on large projects. With the experimental unloaded modules feature, you can specify the modules that you're actively working on, so that unloaded modules will not be indexed or scanned, saving memory resources and conserving CPU. Indexing can now be paused and files can be excluded by pattern.