• NFJS - Fall 2017

    Thursday August, 24, 2017 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    Meeting content is being refined, but will essentially be a "mashup" of Craig's two NFJS sessions: Essential Spring Boot and Extreme Spring Boot. Until we have a consolidated summary for the NEJUG presentation, here are the descriptions of his two NFJS sessions:

    Essential Spring Boot: In this session, you'll learn how to streamline your Spring development utilizing the four essential features of Spring Boot: auto-configuration, starter dependencies, the Actuator, and the Spring Boot CLI.

    Extreme Spring Boot: In this session, you'll learn how to take your Spring Boot skills to the next level, applying the latest features of Spring Boot. Topics may include Spring Boot DevTools, configuration properties and profiles, customizing the Actuator, and crafting your own starters and auto-configuration.

  • Serious Professional Development – Phase 1 of 3

    Thursday June, 08, 2017 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    There are many ways to structure knowledge, and many more ways to provide instruction. One of the simplest, oldest, and effective can be framed with three basic phases: (1) Know Where You Are, (2) Determine Where You Are Going, and (3) Plan How to Get There.

    In this meeting, Ron Peacetree will be kicking off a three-part presentation series, with Phase-2 sometime in the fall and Phase-3 early in the new year. We will be setting a foundation for the series this month with a highly interactive conversations about what we, the NEJUG membership, are actually experiencing in the workplace. 

    We will explore questions such as: 

    * What issues are we facing - personal, technical, managerial, cultural, etc?
    * What strategies are we using to address our “pain points”?
    * Where are we being successful, in both the large and small?

    Ron will guide the conversations, adding his own perspective where useful, but mostly drawing out and listening to our experiences. In this way, he will facilitate our collective sense of Knowing Where We Are. With that knowledge in hand, he will then develop the Phase-2 presentation to provide a clear and coherent vision of a place worth living in - a way of working and of managing our careers and personal growth that is worthy of our lives. In short, he will help us Determine Where We Are Going. Later, in Phase-3, he will discuss various strategies, techniques, and tools that will support an achievable Plan for How to Get There.

    After planning your work, you will be well prepared to take on Phase-4: Work Your Plan.

  • Career Management for Experienced Developers

    Thursday May, 11, 2017 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    Everyone who's been in the industry for a few jobs and years knows the basics about hunting down that next posistion. This month's meeting is designed to provide you with a set of tools, techniques, strategies and resources that go beyond the "Bring a copy of your own resume" and "Always dress nice, even in a casual dress office" basics. As you can see from the sub-topic bullets, you will be getting more than new-graduate advice.

    • Be Your Own Recruiter
    • Networking - Not Just Being a Meeting Regular
    • Joining a Start-Up, Despite Family & Mortgage Obligations
    • Pro-Active Job Searches
    • The Inside Perspective - What's Important to HR

    We will follow our "standard" panel format: a series of 10-15 minute presentations, each focusing on one of the above topics. After the break, we will have a panel discussion where the speakers can add to (and challenge) each other, followed by an extended Q&A.

  • Organizing Your Code Using a DSL for Architecture Description

    Thursday April, 13, 2017 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    The single best thing you can do for the long-term health, quality and maintainability of a non-trivial software system is to carefully manage and control the dependencies between its different elements and components by defining and enforcing an architectural blueprint over its lifetime. In the talk, we will introduce a domain specific language that was specifically developed for that purpose. You will be introduced to the key features of the language. Moreover, we will also have a look at some implementation details.

  • Concurrency then Lagom

    Thursday March, 09, 2017 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    This meeting will cover two distinct topics:

    Various Concurrency Topics, by Nermin Šerifovic

    This talk will first cover some CPU and thread fundamentals, including thread pools and effects of blocking operations. It will then explore a few immutability concepts, such as mutable state and immutable data structures. We will discover how referential transparency lends itself to easy parallelization. Lastly, we will take a look at common impediments towards writing performant concurrent code.

    Lagom - An Introduction, by Morgan Creighton

    Lagom, an open source reactive microservice platform, is the subject of this presentation. We will review the (abbreviated) history of microservices, what "reactive" systems are, and how the Lagom platform brings those together to provide a powerful way to  build applications.

  • Special Topics in Java 8 (Snow Date)

    Wednesday February, 15, 2017 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    This talk covers several issues related to the new functional changes in Java 8 and above. Topics will include:


    - Lazy Streams
    - Concurrency and parallel streams
    - Generics in the Java 8 API
    - Effective uses of "reduce"
    - Refactoring to Java 8

    If time allows, proper use of Optional, grouping and partitioning streams, downstream collectors, and features of the new Date-Time API will also be discussed.

  • ANTLR - Not Your Parent's Parser Generator

    Thursday January, 12, 2017 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    ANTLR (ANother Tool for Language Recognition) is a parser generator that is used in many tools and frameworks (Groovy, Hibernate, Clover, and more). Come learn about the the history of ANTLR, and how to start using ANTLR4 in your own Java projects.

    Do you remember Lex & Yacc from the “good old” C days? Perhaps you cut your parser-generator-teeth on Bison – or Frown, or Lemon, or PLY – or one of many others. Whatever you've used before, this meeting is the time to come up to speed on ANTLR. If you're like me, it's been many years since you've taken a serious look at grammars and parsing. In fact, the current trend is to develop so-called “DSL” libraries that make a carrier language read like different language – but that is all smoke and mirrors. A full DSL needs a parser, and a parser needs a parser generator.

    ANTLR is one of the more powerful generators available to the Java community. It's well grounded in theoretical computer science, is a mature tool with good IDE integration, and has a committed ecosystem. During this presentation, we will give a quick review of grammar specification, discuss lexical & parser technologies, and then go deeper into what differentiates ANTLR from the pack. Included in the presentation will be a review of working code and runtime demonstration of parsing in action – of an input source that you might find surprising, delightful, and (most importantly) useful in your day-to-day work.

  • Building VoltDB: A High-Performance Distributed Database in Java

    Thursday November, 10, 2016 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    This talk will start with some of the initial research that led to VoltDB, and walk through the past 8-9 years of engineering challenges and decisions. One of the earliest decisions was choosing to build most of the system in Java; I'll explain why and what the pros and cons have been. The first public release of VoltDB was really radical in a number of ways. I’ll cover which ways it’s become more conventional, and what’s still "different" about it. Specific topics covered will include maintaining a low latency profile in the face of garbage collection, leveraging JNI and native code where appropriate, and running user procedure code safely in our process.

  • Fitbit - The Big Picture

    Thursday October, 13, 2016 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    This meeting is made up of five overview talks which work together to share a big-picture sense of the major development processes at Fitbit. First, we'll start with a bit of history, then continue with Mesos and Aurora, deployment, microservices, certificate management, and some Agile team design. Quite a lot of goodness for one evening!


    Fitbit's architecture journey, by Kyle Smith

    Over the last 9 years, Fitbit has grown from a two-person startup into a multi-billion-dollar company with 500+ developers. Along the way our small Java/Spring/MVC web app has grown into a large, monolithic application. As many other growing companies have found, such an application can make it difficult to rapidly innovate. In this presentation, we're going to talk about Fitbit's ongoing journey from monolith to microservices and how we plan to re-energize our developers with modern technologies and practices.


    Mesos, Aurora and their role in the future of application deploymentsby Kory Brown

    In this talk, we’ll go through a brief history of how Operations has traditionally handled application deployments ending with the inclusion of Mesos. After we’ve gotten a feel for the landscape, we’ll go into how Mesos has changed this process, and what the future of datacenter-level computing looks like.


    Deploying Microservices At Fitbit, by Sean Reque

    At Fitbit we want smaller teams of developers to be able to easily deploy, monitor, and take ownership of their Java services without feeling burdened by the need to create and maintain their own operational infrastructure and tooling. In this talk, we discuss the efforts we have taken to make total service ownership as easy as possible.


    Create your own certificate authority for developmentby Kevin Jamieson

    With the increasing calls for “SSL Everywhere!”, creating your own Certificate Authority is a great way to understand both the mechanisms of SSL/TLS and to allow for rapid application development. We’ll be going over basics of SSL/TLS, using OpenSSL to create a CA, creating server and client certificates, and some brief history of this entire burning dumpster of functionality.


    The role of testing specialists on agile teams, by Steve Berczuk

    Automated testing is an essential part of agile software development. While some knowledge of testing is required, testing is also a specialized skill. Most agile teams write good unit tests but integration tests and the build & deployment infrastructure that enable it often require help. This talk will discuss how a Software Test Engineering team can improve the quality of testing practices while still being consistent with the goals of a self-sufficient, cross-functional agile team.

  • What a Character

    Thursday September, 08, 2016 06:00 PM Constant Contact Reservoir Place 1601 Trapelo Road Waltham MA 021451

    This presentation uncovers the hidden power of Java’s Unicode support​ and highlights what programmers need to know about the edge cases of character and string support. Raise your level of understanding this too-often-ignored topic in order to write better code in a “flatter” world and allow your applications to be worldwide hits!

    Slides and sample code can be found at https://github.com/sualeh/What-a-Character