Dev

Rich Interfaces In Java

Rich Interfaces In Java

One of the new features added to Java 8 is default methods. In previous versions of Java, adding a new method to an interface would break existing implementations. This made it very hard to evolve your public API without disrupting your clients. Java 8 now […]

Filtering with flatMap

Filtering with flatMap

Checked exceptions are annoying. They are especially annoying when they may be thrown inside a lambda where they can really interrupt the flow. What if you wanted to map a function over a list to collect values but a checked exception might get thrown in […]

Rules for dates and times

Rules for dates and times

Dates and times, like character encoding, are tricky to get right. In real life the concept of time is not something we usually think about much (except when we skipped breakfast this morning and it’s still only 10:30) but once you start storing and manipulating […]

Java 8 Date & Time API Cheat Sheet

Java 8 Date & Time API Cheat Sheet

A short list of some common date/time tasks using the new Java 8 Date & Time API.

A Kanban and Scrum workflow with JIRA Agile

A Kanban and Scrum workflow with JIRA Agile

JIRA Agile has come a long way from the days of the GreenHopper plugin. It’s now pretty well integrated into JIRA and I’ve found it great for running an Agile workflow. JIRA Agile supports both Scrum and Kanban boards so you can manage your tickets […]

Calculating distance with a Java 8 Collector

Calculating distance with a Java 8 Collector

In a previous post I showed a way to calculate the total distance of a GPX track using Scala’s foldLeft. Continuing my current hobby of exploring the new Java 8 lambdas and streams API I thought I would see how the functional approach translated to […]