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

Java Serialization for Big Data

9:00 AM MDT

Serialization is important for anything Big Data. We need to send information over the wire and we need to do so efficiently. This core concept presentation covers various serialization techniques and libraries. That way you can use Akka, Kafka, Spark, and various MQs efficiently

For this presentation, we will focus on three topics: Core Java Serialization, Apache Avro, and Google's Protocol Buffers. We will review serialization and deserialization ease of use, review performance, and how to integrate with Akka, Kafka, Spark.

The Java Sessions: Reactive API

11:00 AM MDT

Many have already seen what Reactive Streaming can do: RXJava, Akka Streams, Project Reactor. Now reactive streaming is a part of the canonical package for Java and now we can handle asynchronous pipelines with boundaries and make better well thought out applications

This presentation introduces you to the core components of Reactive Streams: Publisher, Subscriber, and Processor. We will discuss when to use Reactive Stream and how to avoid complicated scenarios like Backpressure. We will also cover some of the core problem spaces and how to overcome.

Unveiling Kafka and Streaming

1:30 PM MDT

Kafka has captured mindshare in the data records streaming market, and in this presentation, we knock on its door and see what lies behind. What is the draw? What makes it an attractive addition? How does it compare to Message Queues and other message streaming services?

We will do a thorough introduction into what is Kafka. We will also discuss Consumers, Producers, Streams. Integration with ZooKeeper, and discuss the performance aspect of using Kafka.

Beginning Spark

3:15 PM MDT

Apache Spark is the fast data processing of large document stores and databases. Spark is highly distributed, optimized, and redundant for large clustering manipulation and aggregation.

This talk is an introduction to Apache Spark, it's architecture, and it's programming API. We start with an introduction to DataFrames, the Catalyst Optimizer, and Spark SQL. We will then venture onto DataSets, discuss the DataSet API and the functional programming aspects of it. We will touch lightly on RDD and the pros and cons of using the API. We will then finish with how to connect to data sources like HDFS, S3, Cassandra, Elastic Search, and Kafka. This presentation will have samples that you can try out at home or at the office.

Spark Streaming

5:00 PM MDT

Spark Streaming is one of the few additions that are available with Spark that uses its internal architecture and creates a Streaming processing framework to process data in real time.

In this presentation, we will start with a small reintroduction to Spark and it's architecture and what it does. Then we delve into streaming, what purpose does it serve, how to set up Spark Streaming and how to use it. We will discuss how to set it with time, how the internals work, and how also to integrate it with Kafka. We then will talk about some of the more high-end features like checkpointing, and windowing.

The Elm Language Workshop

9:00 AM MDT

A wonderful workshop adventure with a wonderful language on the client side.
Entirely written in JavaScript it is meant as a wholesale replacement on the front end. Derived from Haskell, Elm is fast, elegant, and concise. Elm also hides much of the complexities away including side effect management, event management, and exception handling where the programmer, the happy programmer might I add just focuses on the core.

This workshop encompasses:

  • Introduction
  • Tools
  • Packages and Semantic Versioning
  • Language Basics
  • Functions
  • Module Manipulation
  • Types
  • Maybe
  • Records
  • The Elm Architecture
  • Commands, Subscriptions, Tasks
  • Embedding Elm

The Elm Language Workshop

10:45 AM MDT

A wonderful workshop adventure with a wonderful language on the client side.
Entirely written in JavaScript it is meant as a wholesale replacement on the front end. Derived from Haskell, Elm is fast, elegant, and concise. Elm also hides much of the complexities away including side effect management, event management, and exception handling where the programmer, the happy programmer might I add just focuses on the core.

This workshop encompasses:

  • Introduction
  • Tools
  • Packages and Semantic Versioning
  • Language Basics
  • Functions
  • Module Manipulation
  • Types
  • Maybe
  • Records
  • The Elm Architecture
  • Commands, Subscriptions, Tasks
  • Embedding Elm

Scala for Java Developers (1/2) (Laptops Optional)

1:30 PM MDT

Scala for Java Developers is a full live code and fast paced presentation and workshop (laptops optional), and this is all about the Scala language.

Scala is a wonderful functional/hybrid language. It will become one of the 5 languages that you will need to know to be a highly successful JVM developer in the very near future (others being Groovy, Clojure, Java 8, and JRuby). Scala, as opposed to some of the other languages, has quite a learning curve. This presentation was built for questions. We will start with some basics, how this presentation will flow and end will be up to you, the audience. Bring your intellect, curiosity, and your questions, and get ready for some Scala. Laptops optional so you can try stuff out on your machine and create questions of your own!

Scala for Java Developers (2/2) (Laptops Optional)

3:15 PM MDT

Scala for Java Developers is a full live code and fast-paced presentation and workshop (laptops optional), and this is all about the Scala language. This is Part 2, continuing where we left off from Part 1.

Scala is a wonderful functional/hybrid language. It will become one of the 5 languages that you will need to know to be a highly successful JVM developer in the very near future (others being Groovy, Clojure, Java 8, and JRuby). Scala, as opposed to some of the other languages, has quite a learning curve. This presentation was built for questions. We will start with some basics, how this presentation will flow and end will be up to you, the audience. Bring your intellect, curiosity, and your questions, and get ready for some Scala.

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