You are viewing details from a past event. Please check our upcoming event schedule if you are looking for current content.

Daniel Hinojosa

Independent Consultant

Daniel is a programmer, consultant, instructor, speaker, and recent author. With over 20 years of experience, he does work for private, educational, and government institutions. He is also currently a speaker for No Fluff Just Stuff tour. Daniel loves JVM languages like Java, Groovy, and Scala; but also dabbles with non JVM languages like Haskell, Ruby, Python, LISP, C, C++. He is an avid Pomodoro Technique Practitioner and makes every attempt to learn a new programming language every year. For downtime, he enjoys reading, swimming, Legos, football, and barbecuing.

Presentations

Scala for Java Developers All Day Workshop (Laptops Required)

9:00 AM MDT

A full day, Scala hands-on workshop, that takes your typical Java code that you use day after day, and transforms into idiomatic functional Scala code. The result? Cleaner and more concise code.

We cover the “scala-fication” of:

  • POJOs
  • Collections
  • Packages and Imports
  • Flow Control
  • I/O

We will also cover new topics if you are new functional programming like:

  • Pattern Matching
  • Optional Types

Personal Agility with the Pomodoro Technique

8:30 PM MDT

Time is very precious and is often threatened by phone calls, emails, co-workers, bosses, and most of all, yourself. The Pomodoro Technique reigns in unfocused time and gives your work the urgency and the attention it needs, and it's done with a kitchen timer.

In this presentation we discuss how to set up, estimate time, log time, deal with interruptions, and integrate with Agile as a team. We discuss timer software and even some of the great health benefits of the Pomodoro Technique.

Scala: Demystifying The Funky Stuff

1:30 PM MDT

Scala is known for both its clarity in some cases, and its obscurity in others. Well, this presentation sticks with the obscurity. We will cover abstract types, the Predef, implicit conversions, creating infix types, singleton types, type variance, type bounds, type variance, partially applied functions vs. partial functions, type projections, and overcoming type erasure using Manifests.

This presentation is geared in at the programmer level and not at a scientific level, with no type theory or calculus. Basic knowledge of Scala is preferrable, though not required. Asking tough questions is mandatory.

Testing In Scala

3:15 PM MDT

Most introductory programming books include a chapter on testing, seemingly as an afterthought. For the test-driven developer, that's a little too late. Some programmers approach a new programming language with a few test-cases to understand a concept. Others thrive under fire and want to hit the ground running in a new programming language by creating an application.

It just so happens that testing code in Scala is a great way to learn Scala, but also really good at testing Java code. This presentation started a book on how to use some of the greatest tools that you can use to test. This presentation will cover ScalaTest, Specs2, ScalaMock and ScalaCheck all in a triggered execution environment using SBT. For those that do not wish to use SBT, we will cover other options as well. Using these tools you may never want to use those plain jane java testing frameworks ever again. While this presentation is not interactive, all demos will be available on github for those that want to “play” along with their laptops.

Playing with the Play Framework

5:00 PM MDT

The presentation will cover an introduction on the framework by creating a basic web application in both Java and Scala to get you started.

The Play Framework is a lightweight and stateless web framework that is part of the TypeSafe stack, a stack which includes Akka middleware and the Scala programming language. The presentation will cover an introduction on the framework by creating a basic web application in both Java and Scala to get you started. The presentation will also cover javascript library integration and explain the philosophy behind the framework and give an honest analysis on the advantages and disadvantages of the framework. While this presentation is not interactive, all demos will be available on github for those that want to “play” along with their laptops.

Set your clocks, the Java 8 Date/Time API is here.

10:45 AM MDT

Finally, the Java 8 Date Time API will be in our grasps and now we will celebrate gleefully in the streets! ISO8601 and UTC standards! Immutability! Time to set attention to stun as this presentation will cover all the goods about the new Date/Time API that makes Java programming safe.

Finally, the Java 8 Date Time API will be in our grasps and now we will celebrate gleefully in the streets! ISO8601 and UTC standards! Immutability! Time to set attention to stun as this presentation will cover all the goods about the new Date/Time API in Java 8 that will finally make our code safer than before.

We cover in 90 Minutes:
ISO 8601 & UTC
Instants
Periods
Durations
Parsing
Time Zone Manipulations and Updates
Conversion from Old Java Date Times
Whatever else we can cram into the presentation

This will interactive for the most part with few slides. Bring on your questions.

I have seen the top Akka mountain, and it is good.

1:30 PM MDT

Presentation on Akka. A set various tools to write concurrent, fault-tolerant applications using immutable data, asyncronous message passing using local and remote actors, software transactional memory, and supervised systems.

Akka is a middleware, but it is not your 1990s middleware. Akka is a set of various tools to write concurrent, fault-tolerant applications using immutable data, asyncronous message passing using local and remote actors, software transactional memory, and supervised systems. Akka is also part of the Typesafe stack, a stack that include the Play web framework and the Scala programming language. This Akka presentation will cover both Scala and Java style usage of Akka and give the audience a 30k view of how it comes together. While this presentation is not interactive, all demos will be available on github for those that want to “play” along with their laptops.

Making Java Bearable with Guava (2014 Edition)

3:15 PM MDT

This 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.

This 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.

Books

Testing in Scala

by Daniel Hinojosa

If you build your Scala application through Test-Driven Development, you’ll quickly see the advantages of testing before you write production code. This hands-on book shows you how to create tests with ScalaTest and the Specs2—two of the best testing frameworks available—and how to run your tests in the Simple Build Tool (SBT) designed specifically for Scala projects.

By building a sample digital jukebox application, you’ll discover how to isolate your tests from large subsystems and networks with mocking code, and how to use the ScalaCheck library for automated specification-based testing. If you’re familiar with Scala, Ruby, or Python, this book is for you.

  • Get an overview of Test-Driven Development
  • Start a simple project with SBT and create tests before you write code
  • Dive into SBT’s basic commands, interactive mode, packaging, and history
  • Use ScalaTest both in the command line and with SBT, and learn how to incorporate JUnit and TestNG
  • Work with the Specs2 framework, including Specification styles, matchers DSLs, and Data Tables
  • Understand mocking by using Java frameworks EasyMock and Mockito, and the Scala-only framework ScalaMock
  • Automate testing by using ScalaCheck to generate fake data