Daniel Hinojosa


Daniel Hinojosa has been a self-employed developer, teacher and speaker for private business, education, and government since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.

Daniel is a Pomodoro Technique practitioner and is co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing multiple languages and frameworks. He is author for the upcoming book ‘Testing in Scala’ and is the latest member of the No Fluff Just Stuff tour.

Joda Time and a Brief History of the World

JodaTime is Java Date/Time and Calendering done right. There are many problems with the original Date/Time API that came prepackaged in the early Java days. There are even more problems with the subsequent Calendar API.

One of the obvious issues is that Calendar is mutable and can unintentionally be changed. Another issue is that constructing Calendars in Java involves setting certain fields at certain times during coding, but not always getting the expected result. Joda Time repairs those issues and offers a robust and immutable date, time, and duration API. In Joda Time and a Brief History of the World, I provide a quick rundown of calendaring throughout the centuries, describe UTC, compare UTC to GMT, discuss how time is calculated, and then dive into Joda Time in every popular JVM language. The end result provides the audience with compelling proof that Joda Time should always be their Date Time API of choice.

Making Java Bearable with Guava

The presentation covers the Guava library developed by Google (http://code.google.com/p/guava-libraries/). Guava provides collection extensions to the Java Collection API and, along with this, a cornucopia of time-saving utilities that bring Java as close as possible to some of the more functional and dynamic language competitors like Scala, Ruby, and Clojure. The presentation focuses on the following topics: how to make Predicates and Functions; how to use new collection constructs that make life easier, including MultiMap, BiMaps, and MultiSets; how to set up and use Guava preconditions; and how to create truly immutable collections, and more. All of this is done with Java.