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

Journey into Architectural Design Patterns

9:00 AM MDT

In this day-long work workshop, we will walk through a catalog of all the common architectural design patterns. For each design pattern, we will run docker-compose files that demonstrate the strengths and weaknesses of those design patterns. So you have a first-hand, full-on, and highly engaged full-day workshop to give you the knowledge you need to make critical architectural choices.

We will cover:

  • Anti-corruption-layer
  • Claim Check
  • CQRS
  • Gatekeeper
  • Strangler Fig
  • Bulkhead
  • More …

Next Gen Testing Tools for Java

8:30 AM MDT

We have been using JUnit and doing TDD for years, but you can take testing further. In this session, we will discuss some tools you absolutely need for testing your code outside of the regular stack you currently use.

  • Property-Based Testing with JQwik
  • Mutation Testing with PITest
  • Databases Testing with Test Containers
  • Performing RestFUL based testing with Rest-Assured
  • Perform Asynchronous Testing a Verification using Awaitility

Do more with JReleaser

10:30 AM MDT

Hey. Remember that time when we used to create jar or war files and we used to just ssh into a box and deploy on a single box? Well, it was simpler but also maybe that wasn't that great of an idea. Time has certainly moved on, and our releases have become very advanced with very technical CI/CD pipelines, docker or debian packages, multi-purpose testing, producing signatures, perform security scans, perform releases, and then when you're done tell the whole world about it. Whew! This presentation introduces JReleaser, a release platform for Java that does a multitude of chores for you.

In this session we will discuss:

  • Installing
  • Using JReleaser
  • Integration with Build Tools
  • Standard Defaults
  • Lifecycle Management
  • Artifacts
  • Continuous Integration
  • Performing Releases
  • Feeling Victorious

Kafka Fundamentals

1:00 PM MDT

Kafka is a “must know.” It is the data backplane of the modern microservice architecture. It's now being used as the first persistence layer of microservices and for most data aggregation jobs. As such, Kafka has become an essential product in the microservice and big data world.

This workshop is about getting started with Kafka. We will discuss what it is. What are the components, we will discuss the CLI tools, and how to program a Producer and Consumer.

Kafka Fundamentals

3:00 PM MDT

Kafka is a “must know.” It is the data backplane of the modern microservice architecture. It's now being used as the first persistence layer of microservices and for most data aggregation jobs. As such, Kafka has become an essential product in the microservice and big data world.

This workshop is about getting started with Kafka. We will discuss what it is. What are the components, we will discuss the CLI tools, and how to program a Producer and Consumer.

Machine Learning Data Pipelines

5:00 PM MDT

How do we move information realtime and connect machine learning models to make decisions on our business data? This presentation goes through machine learning and Kafka tools that would help achieve that goal.

In this presentation, we start with Kafka as our data backplane and how we get information to our pub/sub. As they enter Kafka, how do we sample that data and train our model, then how do we unleash that model on our real-time data? In other words, picture extracting samples for credit card approvals for training, then attaching the model for online processing: The moment we receive an application, we can either approve or disapprove a credit application based on a machine learning model trained on historical data. We will discuss other options as well like Spark, H2O, and more.

IntelliJ Dojo Deep Dive

8:30 AM MDT

Remember in the Matrix, when Neo said “I know Kung Fu”, and then Morpheus said “Show me”, well we will be doing that except with IntelliJ. In this dojo, we will be using all the wonderful keymappings that are available in IntelliJ and we will make you a lean mean coding machine!

In this dojo, you will master the art of:

  • Code Generation
  • Fast Navigation
  • Multicursor Handling
  • Refactoring Techniques
  • Enhance your Git Prowess
  • Code Complete
  • Get Documentation
  • Perform Column Selection Mode
  • Dazzle with Emmet

“Show no weakness, Show no mercy”

IntelliJ Dojo Deep Dive

10:30 AM MDT

Remember in the Matrix, when Neo said “I know Kung Fu”, and then Morpheus said “Show me”, well we will be doing that except with IntelliJ. In this dojo, we will be using all the wonderful keymappings that are available in IntelliJ and we will make you a lean mean coding machine!

In this dojo, you will master the art of:

  • Code Generation
  • Fast Navigation
  • Multicursor Handling
  • Refactoring Techniques
  • Enhance your Git Prowess
  • Code Complete
  • Get Documentation
  • Perform Column Selection Mode
  • Dazzle with Emmet

“Show no weakness, Show no mercy”

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