Upcoming meetings:

See our Events Calendar

Details for the next meeting are on the main page.


Interested in speaking at an NHJUG meeting?

We'd love to hear your ideas for a talk! Please contact us admins@nhjug.org.

Previous Meetings

Our intent is to meet on a monthly basis and keep a consistent schedule to keep the community alive. Here is a listing of our previous meetings.

BrewUp!

July 24 @ 6:30pm

Redhook Brewery, Portsmouth, NH

We will be meeting in July, but we'll be doing something a little more fun and low-key in the spirit of summer - We would like to extend the invite to you to come hang out at the first NHJUG "Java BrewUp" (meetup with brews) Tuesday July 24th at 6:30pm at Red Hook Brewery in Portsmouth, NH.

There won't be a speaker or topic, but we figured that it would be a nice "summer break" to give everyone a chance to get together, geek out, network, drink some beverages and have some fun.

Things you should know:



Database Change Management

Mike Fitterman and Karen Hannon

June 26, 2012 @ 6:30pm

NH-ICC, Portsmouth, NH

Slides and code samples can be downloaded here.

In this talk we will first take a look at how Constant Contact has evolved its Database Change Management schemes as it's moved from a startup to a big SaaS operation. We will walk you through how change management went from humans to a home grown automated system to finally an open source (Liquibase) solution.

Learn about:


AMQP: From Concept To Code

Mark Richards

May 15, 2012 @ 6:30pm

Alphaloft, Portsmouth, NH

Mark's slides and code samples can be downloaded here.

More about May's Talk:

Advanced Message Queuing Protocol (AMQP) is a new way of looking at messaging that is quickly gaining in popularity and use, particularly in the financial services industry. Unlike JMS, which defines a standard API across platforms, AMQP defines a standard wire-level protocol across languages and platforms, finally making true cross-platform messaging a reality. In this session I will start by describing exactly what AMQP is and what problems it specifically solves (that JMS can't!). I will then describe the basic architecture and how AMQP routes messages, and then, through live interactive coding, demonstrate how to build a simple producer and consumer using RabbitMQ to send and receive AMQP messages. We will also take a brief look at other aspects of AMQP such as performance and how to guarantee that the message reaches a consumer.


More about May's speaker:

Mark Richards is an Independent Consultant working in the field as an Enterprise, Integration, and Application Architect, where he is involved in the architecture, design, and implementation of SOA, EDA, messaging, and other architectures, primarily in the Java platform. Previously, Mark was an Executive IT Architect with IBM, where he worked as an SOA and enterprise architect in the financial services area. He has been involved in the software industry since 1984 and has many battle scars to show for it. Mark served as the President of the Boston Java User Group in 1997 and 1998, and the President of the New England Java Users Group from 1999 thru 2003. Mark is the author of the book Java Message Service (2nd edition) from O'Reilly. He is also the author of Java Transaction Design Strategies, contributing author of the book 97 Things Every Software Architect Should Know from O'Reilly, contributing author of NFJS Anthology Volume 1, and contributing author of NFJS Anthology Volume 2. Mark has many architect and developer certifications, including those from IBM, Sun, The Open Group, and Oracle. He is a regular conference speaker at the No Fluff Just Stuff Symposium Series and speaks at other conferences and user groups around the world. When he is not working Mark can usually be found hiking with his wife and two daughters in the White Mountains or along the Appalachian Trail.

Developing a Spring Data and MongoDB application

Thomas Risberg of Springsource

April 17, 2012 @ 6:30pm

NH-ICC, Portsmouth, NH

Thomas's slides can be found on slideshare.

More about April's Talk:

In this talk we will first take a look at recent developments in the data access landscape. We will then see how the Spring Data project attempts to cover many of these developments. This is followed by a more detailed look at a couple of specific sub-projects and themes:


More about April's speaker:

Thomas Risberg is currently a member of the Spring Data team focusing on the MongoDB and JDBC Extensions projects. He is also a committer on the Spring Framework project, primarily contributing to enhancements of the JDBC framework portion.

Thomas works on the VMware's Cloud Foundry team developing integration for the various frameworks and languages supported by the Cloud Foundry project.

Thomas is co-author of "Professional Java Development with the Spring Framework" together with Rod Johnson, Juergen Hoeller, Alef Arendsen, and Colin Sampaleanu, published by Wrox in 2005.


Running Java, Play! and Scala Apps on the Cloud

James Ward

March 20, 2012 @ 6:30pm

Alpha Loft, Portsmouth, NH

James slides from this talk can be found here


Heroku is a Polyglot Cloud Application Platform that makes it easy to deploy Java, Play! and Scala apps on the cloud. Deployment is as simple as doing a "git push". This session will teach you how to deploy and scale Java, Play! and Scala apps on Heroku.


About the speaker:

James Ward (www.jamesward.com) is a Principal Developer Evangelist at Heroku. Today he focuses on teaching developers how to deploy Java, Play! and Scala apps to the cloud. James frequently presents at conferences around the world such as JavaOne, Devoxx, and many other Java get-togethers. Along with Bruce Eckel, James co-authored First Steps in Flex. He has also published numerous screencasts, blogs, and technical articles. Starting with Pascal and Assembly in the 80's, James found his passion for writing code. Beginning in the 90's he began doing web development with HTML, Perl/CGI, then Java. After building a Flex and Java based customer service portal in 2004 for Pillar Data Systems he became a Technical Evangelist for Flex at Adobe. You can find him tweeting as @_JamesWard, answering questions on StackOverflow.com and posting code at github.com/jamesward.

March's was hosted by the Alpha Loft in downtown Portsmouth.

Thinking Functional Style - Venkat Subramaniam

February 28, 2012 @ 6:30pm

UNH, Durham NH

Many thanks to Venkat for traveling out to give such a great talk!

We also would like to thank our sponsors, Market Street Talent, VMWare and O'Reilly. February's speaker is brought to NHJUG by No Fluff Just Stuff and the New England Software Symposium which will be running from March 9th to 11th 2012. Use promo code nfjsusergroup50 when registering for a $100 discount just for being an NHJUG attendee! February's meeting is once again hosted by the UNH Computer Science Department.


About February's talk:

Functional Programming has been around for a while, but it is gaining popularity, especially due to direct support in languages on the JVM. Writing code in functional style is not about syntax. It is a paradigm shift. In this presentation, using examples from Java, Groovy, and Scala, you will learn how to write code in functional style. We will start out discussing the elements of functional programming and then look at examples of some common operations and how you can implement those in functional style.


About February's Speaker:

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an adjunct faculty at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.
Venkat is the author of ".NET Gotchas," the coauthor of 2007 Jolt Productivity Award winning "Practices of an Agile Developer," the author of "Programming Groovy: Dynamic Productivity for the Java Developer" and "Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine" (Pragmatic Bookshelf). His latest book is "Programming Concurrency on the JVM: Mastering synchronization, STM, and Actors.

JVM Internals - Douglas Hawkins

January 24, 2012 @ 6:30pm

UNH, Durham, NH

Doug's slides from this talk can be found on slideshare.


More about this January's talk:

This presentation will expose some of the details inside the HotSpot virtual machine that we use everday.

You'll learn the details of Java's class file format and byte format and see how Java 5 and Java 7 add language features without requiring changes to the byte code format.

Additionally, you'll learn about some of the many optimizations performed by the JVM and learn about tools for writing your own micro-benchmarks.


About the speaker, Douglas Hawkins:

Douglas Hawkins has been passionately developing software for the past 10 years -- creating applications for bioinformatics, finance, and retail.

However, Doug's true interest is exploring and explaining the low-level details inside the virtual machines that we use everyday. To make byte code more accessible, he created the open-source Java Assembler Kit (JAK) which provides a fluent API for producing Java byte code and includes a REPL to allow for interactive experimentation.

Cloud Foundry

Presented by Scott Andrews of the Cloud Foundry team at VMware

November 15, 2011 at 6:30pm

NH-ICC, Portsmouth, NH

More about November's talk:

Cloud Foundry is the first open platform as a service (PaaS) project supporting multiple frameworks, multiple cloud providers, and multiple application services all on a cloud scale platform. Cloud Foundry allows developers to focus on writing applications instead of worrying about infrastructure or needing to configure application and database servers.

This talk will focus on Cloud Foundry's rich support for Java and Spring based applications, showing how to deploy apps and consume services from the cloud. Strategies on how to take advantage of the cloud without locking in to proprietary APIs will be discussed.

You can sign up for a free account at http://www.cloudfoundry.com/, and join the open source community at http://www.cloudfoundry.org/

About This November's Speaker:

Scott Andrews is a member of NHJUG and a Software Engineer with VMware working on Cloud Foundry. Within Cloud Foundry, he works to make the developer experience as rich and frictionless as possible. Before joining Cloud Foundry, Scott was a founding member of the Spring Insight project and a contributor to many SpringSource open source and commercial efforts.

Continuous Deployment

Presented by William Hegarty of ThoughtWorks

October 18, 2011 at 6:30pm

NH-ICC, Portsmouth, NH

For October month's meeting we had a very special guest: William Hegarty from ThoughtWorks presenting on Continuous Deployment and Build Pipelining. Slides are available

More about October's talk:
Continuous Integration (CI) is now a well accepted development practice (Build/Deploy/Test). So why don't we do these things all the way out to production? We will talk about what things can be done to automate software delivery from development through to production, while helping satisfy the fears of QA and Operations.

About October's Speaker:
William Hegarty has been an IT professional for 22 years and a ThoughtWorker for 13 years. He started using Java in the 1996-97 time-frame and has developed numerous (i.e. too old to remember) front and back-end systems for multiple enterprises. He have been involved at the ground level with Continuous Integration and now Continuous Deployment movements and have used these techniques for his entire career at ThoughtWorks Inc.

Java Concurrent Programming

From volatile/wait/notify to java.util.concurrent.*

Presented by Prof. Michel Charpentier

September 20, 2011 at 6:30pm

UNH Campus, Kingsbury Hall, Durham, NH.

A huge thanks to Prof. Michel Charpentier and the UNH CS department for presenting and hosting Tuesday's Java Concurrency talk, as well as for the pizza! Thanks to everyone that came, as well.

Prof. Charpentier's Java Concurrency slides and code examples from Tuesday's talk can be found on his personal site, they should serve as great reference material for everyone

About September's talk:
The first part of the talk will illustrate the difficulty of multi-threaded programming through Java examples focused on issues related to atomicity, memory visibility and deadlock.

The second part will give an overview of the java.util.concurrent package, which can be used as an alternative to Java's low-level threading primitives. This package offers thread-safe data structures, thread-pooling mechanisms, atomic variables and enhanced locks.

The talk will use examples to demonstrate the benefits of these features and will briefly discuss implementation issues.

About Michel Charpentier:
Michel Charpentier is an Associate Professor of Computer Science at the University of New Hampshire, you can find out more about him at his site here: http://www.cs.unh.edu/~charpov/

Matthew McCullough - Get Going with Git on Java Projects

July 19 2011 @ 6:30pm

Location: NH-ICC, Portsmouth, NH

A big thanks to Matthew for coming out and giving his Git talk!. Slides can be found on Matthew's blog!

July's speaker was generously sponsored by the No Fluff Just Stuff conference!

About July's Talk:

Why is it we are suddenly hearing about Git in seemingly every other DZone and IBM Developer Works article? Why are its practitioners so much more productive in accurately manipulating, committing, slicing, dicing and merging code?

The secret partly lies in the distributed model to source code control that was pioneered over a decade ago, but that is now just taking hold. The distributed model of Git is based on the capabilities first introduced to us via mobile devices: caching of offline activities, peer-to-peer connections, fast operation, lightweight commands, minimal footprint, and compose-ability for uses in ways the inventor could not have imagined, but is thrilled to see develop.

Git now serves the Java community extremely well whether through the OS-specific distribution of Git's CLI, or with the recent Indigo (3.7) release of Eclipse and the inclusion of the eGit capabilities in the core of the Eclipse product. Similarly, IntelliJ offers excellent Git integration with the IDE and GitHub's web services.

In sum, distributed version control is an increasingly employer-requested skill, and with Git being the leading implementation of these concepts, join us for an evening of a knowledge-boosting introduction to this incredible tool.

About Matthew McCullough

Matthew McCullough is an energetic 15 year veteran of enterprise software development, world-traveling open source educator, and co-founder of Ambient Ideas, LLC, a US consultancy. Matthew currently is a trainer for GitHub.com, author of the Git Master Class series for O'Reilly, speaker on the No Fluff Just Stuff tour, author of three of the top 10 DZone RefCards, including the Git RefCard, and President of the Denver Open Source Users Group.

His current topics of research center around project automation, including: build tools (Gradle, Leiningen, Maven, Ant), distributed version control (Git), testing frameworks (Geb, Spock), continuous integration (Jenkins) and code quality metrics (Sonar).

Bob Rudis - From Yogi to Smokey: Are you smarter than your average programmer?

Only you can prevent the OWASP Top 10

June 28 2011 @ 6:30pm

Location: NH-ICC, Portsmouth, NH

A big thanks to Bob for presenting this talk. His slides are available here.

So, you think you can code? Really? Can your system stand up to the likes of Lulzsec, or will it drop trou at the first pass of an OWASP Top 10 scan? Yes, you have deadlines, milestones and core functionality to provide, but you *can* do all that while making your code more secure, less buggy and "rugged" without derailing timelines and being hounded by project managers.The threats are real, but there are solutions at hand. Learn how to design, code & deploy rugged software with practical examples on how to defend against the most prevalent threats on the Net today.

You'll:

About Bob Rudis

Bob Rudis has been hacking code, administering systems, designing enterprise architecture and security global networks & services for over 20 years and was doing devops long before Patrick Debois coined the term in 2009. He has worked in publishing, Internet startups, Fortune 50 global healthcare providers and Fortune 100 financial services firms and is presently Director of Enterprise Information Security & IT Risk Management for Liberty Mutual. While his present programming passion is all things Node, he has an extensive background coding & troubleshooting enterprise-scale Java applications and services. He resides in Berwick, Maine with his wife, three children and two bikes (which he has not nearly enough time to ride).

Rohit Bhardwaj - Google App Engine

May 24, 2011 @ 6:30pm

Location: NH-ICC, Portsmouth, NH

Download the slides

More about May's Talk:

With Google App Engine, you can build web applications using standard Java technologies and run them on Google's scalable infrastructure. The Java environment provides a Java 6 JVM, a Java Servlets interface, and support for standard interfaces to the App Engine scalable datastore and services, such as JDO, JPA, JavaMail, and JCache. Standards support makes developing your application easy and familiar, and also makes porting your application to and from your own servlet environment straightforward.

In this presentation we will explore few examples using the Google Plugin for Eclipse which adds new project wizards and debug configurations to your Eclipse IDE for App Engine projects. App Engine for Java makes it especially easy to develop and deploy world-class web applications using Google Web Toolkit (GWT). The Eclipse plugin comes bundled with the App Engine and GWT SDKs.

More about May's speaker:

Rohit Bhardwaj is working at Kronos Incorporated as Principal Software Engineer. He has fifteen years of extensive experience in architecture, design and agile development. He is an expert in application development in Service Oriented Architecture (SOA), REST, Cloud Computing, RIA, Android, Web Services, XML, XSL, SOAP, UDDI, JSON, and soapUI. Rohit did his Masters in Computer Science from Boston University and Harvard University and is currently pursuing MBA from Babson College. Rohit is a world class speaker and has given presentations on topics like SOA, REST and SPARQL for Semantic Web, Cloud computing, Android, RIA, Agile Development, Test Driven Development, Security, Performance monitoring and scalability. Rohit can be reached at rbhardwaj@kronos.com or Twitter @rbhardwaj1

TDD & Me (Test Driven Development) - David Ehringer

April 26, 2011 @ 6:30pm

Location: NH-ICC, Portsmouth, NH

Slides from David's TDD talk, along with a video can be found at his blog.

More about April's Talk:
While test driven development (TDD) is a discipline that has been practiced by name for almost a decade now and the underlying principles have been practiced for much longer, there is still often a big gap in the knowledge of most IT professionals around TDD. Many teams adopt TDD, either organically or by management mandate, in an attempt to achieve higher code quality. But often there is a lot of confusion around what TDD is and what it means to "do" TDD. Specifically for developers, TDD requires a very different, but arguably better, mindset and workflow that can be hard to understand if you've never seen it in practice. This session will give a an overview of TDD, discuss some of the core principals behind TDD, take a quick look at some example tools to use, and present some best practices. There will also be live coding to show a TDD workflow.

More about April's speaker:
David Ehringer is a Principal Software Developer a Fortune 100 financial services company where his current focus is mainly on the architecture, development, and support of highly available, high-volume, business critical Web and messaging services that run across multiple data centers. He also does a bit of web development when he is lucky. He caught the bug for software development while working as a research assistant in the field of vision-guide, mobile robot navigation and hasn't looked back since. He is a firm advocate of test driven development and domain driven design principles, continuous delivery, attempting to always write clean code, and generally pursing mindful software development. His current personal interests include domain specific languages, alternative languages on the JVM, automated build and testing, and mobile development. Dave holds a BA in Economics and Computer Science from Middlebury College and a MS in Computer Science from Boston University. In his free time he dabbles in open source projects and enjoys photography, traveling, hiking, skiing, and other outdoor activities. He blogs infrequently at davidehringer.com.

Peter Bell - NoSQL? No problem!

February 28, 2011 @ 6:30pm

Location: NH-ICC, Portsmouth, NH

More about February's talk:

You don't need to be Amazon or Google to take advantage of NoSQL data stores. Whether you want to develop applications more quickly or scale them more effectively, there are a range of NoSQL data stores that could help. This introductory session cuts through the NoSQL hype to look at the practical use cases for key value, document, column and graph data stores. We'll also look at specific NoSQL engines like Riak, CouchDB, MongoDB, Cassandra and Neo and look at how you'd select a NoSQL data store for a given use case.

More about Peter Bell:

Peter presents internationally and writes extensively on domain specific languages, NoSQL, agile architecture and requirements and estimating. He is on the program committee for Code Generation in Cambridge, England and the Domain Specific Modeling workshop at SPLASH (was ooPSLA). He has presented at a range of conferences including ooPSLA, Code Generation, Practical Product Lines, the British Computer Society Software Practices Advancement conference and the No Fluff Just Stuff tour. He has been published in IEEE Software, Dr. Dobbs, Information Week, Methods & Tools, NFJS the Magazine and is a regular contributor to GroovyMag. Peter is also the CEO/CTO of SystemsForge - a New York based company that uses DSLs and a Software Product Line built on top of Groovy and Grails to develop custom web applications quickly and cost effectively. The SystemsForge product line has been presented at ooPSLA and Code Generation and written up in IEEE Software and Methods & Tools.

The No Fluff Just Stuff tour organizers were kind enough to provide the speaker for February, so our hats go off to them. They put on a great Software Development conference and it's coming to Boston in March, so you should consider going.

Mark Fisher - Introduction to Spring Integration

January 25th, 2011 @ 6:30pm

Location: NH-ICC, Portsmouth, NH

Download Presentation Slides

More about January's talk:
Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns. It enables lightweight messaging within an application and supports integration with external systems via declarative adapters. In this session, we'll begin with an overview of the core patterns, such as Message Channels, Filters, and Routers. We will also look at some examples of composite patterns, such as Scatter/Gather, which builds upon the Splitter and Aggregator. We'll explore a variety of options for connecting to a service layer while maintaining a complete decoupling from the messaging API. Examples will include usage of the Spring Expression Language, Groovy scripts, POJOs, and Annotation-driven configurations. Finally, we'll take a tour of the various Channel Adapters and Messaging Gateways that support JMS, AMQP, REST, SOAP, Email, Twitter, and more. The session will be light on slides and heavy on demos!

More about January's speaker:
Mark Fisher is an engineer within the SpringSource division of VMware and lead of the Spring Integration team. He is also a committer on the core Spring Framework, co-lead of the Spring AMQP project, and a contributor of messaging support to the Spring BlazeDS Integration project. Mark is a frequent speaker at conferences and user groups in North America and Europe, and along with other Spring Integration committers, is an author of the forthcoming book, "Spring Integration in Action" to be published by Manning.

November 16th, 2010

Ted Pennings - Spring MVC

Location: NH-ICC, Portsmouth, NH

Download the presentation!

November 2010's meeting featured NHJUG's very own co-founder Ted Pennings giving a talk on Spring MVC. Even if you're already familiar with Spring MVC, the talk touched on a lot of great new features and simplifications in the newest version of Spring MVC (3.0) that you might not yet be familiar with.



Mark Richards

October 26th, 2010

Mark Richards - Antipatterns

Location: NH-ICC, Portsmouth, NH

Download the presentation! or email Mark any questions (wmrichards1 ///at //gmail dot com)

In the book 97 Things Every Software Architect Should Know (O'Reilly, 2009), Mark Richards wrote about the importance of design patterns as a useful means of communication between architects and developers. Equally important to patterns is an understanding of AntiPatterns - things that we repeatably do that produce negative results. AntiPatterns are used by developers, architects, and managers every day and are one of the main factors that prevent progress and success. During this talk we will look at some of the more common and significant software development and architecture antipatterns. Through coding and design examples, you will see how these antipatterns emerge, how to recognize when the antipattern is being used, and most importantly, how to avoid them.

About Mark Richards

Mark Richards is a Director and Senior Architect at Collaborative Consulting, LLC, a Boston-based Business and Architecture Consulting Firm, where he is involved in the architecture, design, and implementation of SOA, EDA, messaging, and other architectures, primarily in the Java platform. Prior to joining Collaborative Mark was an Executive IT Architect with IBM, where he worked as an SOA and enterprise architect in the financial services area. He has been involved in the software industry since 1984. Mark served as the President of the Boston Java User Group in 1997 and 1998, and the President of the New England Java Users Group from 1999 thru 2003. Mark is the author of the book Java Message Service (2nd edition) from O'Reilly. He is also the author of Java Transaction Design Strategies, contributing author of the book 97 Things Every Software Architect Should Know from O'Reilly, contributing author of NFJS Anthology Volume 1, and contributing author of NFJS Anthology Volume 2. Mark has many architect and developer certifications, including those from IBM, Sun, The Open Group, and Oracle. He is a regular conference speaker at the No Fluff Just Stuff Symposium Series and speaks at other conferences and user groups around the world. When he is not working Mark can usually be found hiking with his wife and two daughters in the White Mountains or along the Appalachian Trail.