NEJUG is finishing up the 2014 season with an Advanced Topics Double Feature. First up will we'll have Concurrent Programming in Java 8, followed after the break with our second presentation on Application Level Metrics.
Concurrent Programming in Java 8, by Morgan Creighton
Concurrent Programming is notoriously hard. But is it difficult because humans aren't very smart, or because we often use the wrong abstractions to program concurrent systems? Java 8 brings greater expressiveness to the language, and allows concurrent programs to be more readable and reasonable. This talk introduces a few concurrent programming paradigms, and offers a deep dive into Deterministic Dataflow, which allows sequential algorithms to be systematically parallelized. We'll learn how choosing the right abstraction in a functional language allows us to pare away extrinsic complexity, and make concurrent programming pleasant.
Application Level Metrics, by Seckin Tozlu
This presentation will introduce the concept of "Measure Anything, Measure Everything" and the technology that can be leveraged for its implementation in Java using statsD and its Java library, Graphite and Grafana. Following Etsy’s Measure Anything, Measure Everything mantra, we’ll show how to diagnose issues before they have a major negative impact on customers, encouraging developers to take ownership of their code by making trivial code changes to add application-level instrumentation. Application metrics are usually the hardest, yet most important, of the three metrics categories (which also include network & machines). They’re very specific to your business, and they change as your applications change. Their value is immense and we will show how they can be implemented easily and leveraged by all. We’ll discuss the impact of application-level metrics, the software used, custom implementations, their current shortcomings and the future of monitoring & alerting.