Understanding the New Cross-Platform .NET

Part 1 of a 4-part series. A link to part 2 is at the bottom. Java has been my primary bread-and-butter for more than 15 years. However, over the past five years, my two most recent companies have been mixed shops that use both Java and C# to some degree. My initial impression was that “C#-as-a-language” is about five years ahead of Java, but “.NET-as-a-ecosystem” is a decade or more behind. [Read More]

Simplify Time Intervals in Java With TimeUnit

In Java, like most programming languages, it is fairly common to represent and pass around time interval lengths as a number of milliseconds. This how most hardware thinks of time under the covers, anyway. It’s very easy to get a millisecond representation from any Java date or time object, and you can always get the current time from System.currentTimeMillis(). Therefore, milliseconds are a “universal language” that is often used in API’s, to avoid worrying about who’s using the Java 8 time library vs. [Read More]

Hosted Continuous Integration Options for Java Projects

Recently I’ve noticed a lot of GitHub projects containing .travis.yml files, indicating that the owner uses the Travis continuous integration service to periodically build their project and run unit tests. Out of curiosity, I thought I might I try out some of the hosted offerings that are popular in the open source and startup communities. In my professional Java developer life, the industry standard for years now has been Jenkins (formerly Hudson prior to the fork). [Read More]

Should You Use Spring Boot in Your Next Project?

The State of Spring Most of my professional Java projects over the past decade have been based on Spring or JEE. Both platforms are growing a bit long in the tooth, and suffer from different problems. JEE has changed quite dramatically over the years, but is still judged on issues deprecated since EJB 2.x. A lot of people still refer to JEE as “J2EE”, even though the name change was 8 years ago! [Read More]

JavaScript as a Mirror of Our “Real” Languages

Yesterday I went to this year’s Atlanta Code Camp, which I had learned about through the Atlanta JavaScript Meetup mailing list. Code Camp is a very Microsoft-centric developer symposium, whereas my bread and butter lie firmly in the Java world. However, the event offered several interesting sessions on “single-page application” (SPA) JavaScript frameworks, and cost only $5 for the full day including lunch. Sold! The speakers in the SPA sessions gave an interesting amount of attention to a framework called Durandal, an AngularJS competitor built on top of Knockout and RequireJS. [Read More]