Big Data and Business Intelligence
May 09,2013 12AM

This session will explore the big data scene as it relates to business intelligence. We will explore who’s using Big Data for BI, what applications are being created, and what benefits are being realized. We’ll go hands on with the Eclipse Business Intelligence and Reporting Tools (BIRT) project, which now offers native support to Hadoop through Hive queries. We’ll also cover how BIRT can access other Big Data sources such as Cassandra and MongoDB so developers can display their data in a stylized tabular or graphical nature which is extremely customizable using the BIRT designer. These reports can include dynamic drill through, interactivity, and can be exported to various formats, such as PDF, HTML, XLS, and ODT. This session will cover in detail how to retrieve and visualize data from Big Data sources using BIRT.

Heavy Lifting in the Cloud with Spring Batch
Apr 11,2013 12AM

Spring Batch provides the ability to build scalable, mission critical applications for the bulk processing of data. The cloud provides processing power in bulk for use in almost any way needed. This talk will demonstrate how to bridge the two to provide cloud based scalability in batch processing.

Rocking the Gradle
Mar 14,2013 12AM

"This presentation introduces the audience to the power of Gradle through many real-world examples that are demonstrated. By the end of the presentation, you'll understand how Gradle helps to elegantly solve the challenges that we face in our daily builds. We'll go through such powerful concepts as: advantages of declarative over imperative build systems, convention over configuration without rigidity, the Gradle plugins, deep multi–project support, performance optimizations through partial builds and incrementalness, harvesting existing functionality through Ant and Maven integration, as well as migration strategies for migrating from these build tools. We will demonstrate many of the innovative goodies that come with Gradle out–of–the–box, like the Gradle Daemon, the Gradle Wrapper, easy administration of your build environment, building Android apps and libraries, Eclipse integration, and other new plugins."
 

Paddling in Deep Waters - Dealing with Large Codebases
Feb 14,2013 12AM

Do you feel like your project is under control?  Feel like you are trying to go against the current?  The problem with successful software projects is that they grow and gain complexity with time. This often means wasting time trying to figure out how to add features, getting others up to speed, and making sure that the code is not brittle. This can also result in delays shipping updates and bug fixes.  And worst of all, you might be the one asked to migrate or modularize such a project.


Working with large codebases can be a nightmare. In this talk we discuss some of time the small steps that can be taken to help eliminate productivity waste and bring your code base under control.  We will discuss tips for thinking about when modularizing a project, and tips for gradually improving the architecture of a codebase. We will demonstrate some tools that we have used successfully in the past and discuss results from both talking to team members and analyzing code of multiple projects.  
 

Getting started developing with a PaaS
Jan 10,2013 12AM

A fast paced overview of the “*-as-a-Service” space, including infrastructure, platform, and software as services followed by a focused discussion of advanced topics in that space with an extended Q&A after the break.  The planned sub-topics include: standards (or their lack), portability vs. proprietary, how to choose between “*aaS” providers, tool support, business level considerations, impact on project management, and more!
 
This two-hour presentation can serve both as an introduction to the “*-as-a-Service” space and as continuation of the NEJUG/GBC-ACM workshop of Sept 22, 2012 (also lead by Mark Prichard).
 
Members are encouraged to visit http://www.cloudbees.com/signup and test drive their PaaS product for free.  Follow Mark’s excellent tutorials at http://blog.cloudbees.com/2012/07/getting-started-with-cloudbees-and.html and then come to the meeting with questions – it’s what he’s waiting for!

GC Tuning Recipes
Nov 08,2012 12AM

The session will cover various GC tuning techniques, in particular focus on tuning large scale JVM deployments.  Come to this session to learn about GC tuning recipe that can give you the best configuration for latency sensitive applications.  While predominantly most enterprise class Java workloads can fit into a scaled-out set of JVM instances of less than 4GB JVM heap, there are workloads in the in memory database space that require fairly large JVMs.  In this session we take a deep dive into the issues and the optimal tuning configurations for tuning large JVMs in the range of 4GB to 128GB.  In this session the GC tuning recipe shared is a refinement from 15 years of GC engagements and an adaptation in recent years for tuning some of the largest JVMs in the industry using plain HotSpot and CMS GC policy.  You should be able to walk away with the ability to commence a decent GC tuning exercise on your own.  The session does summarize the techniques and the necessary JVM options needed to accomplish this task.  Naturally when tuning large scale JVM platforms, the underlying hardware tuning cannot be ignored, hence the session will take detour from the traditional GC tuning talks out there and dive into how you optimally size a platform for enhanced memory consumption.

JRuby - The Best of Java and Ruby
Oct 11,2012 12AM

 

 

You hear people talking about Ruby as a major new language, and you are probably wondering whether to spend time in this new technology.  But did you know that JRuby is an implementation of the Ruby programming language on the JVM. It represents the exciting combination of the dynamism, expressiveness, and simplicity of Ruby with the depth, maturity, and power of the Java ecosystem.  Most significantly, JRuby gives you the ability to try the Ruby programming language while preserving your investment in Java and JVM technologies.
 
This talk will go over some of the reasons to write code in JRuby, how to leverage existing Java libraries with JRuby, and some real-world advice on using it in production systems.  Come join us in October to expand your programming horizons and evaluate JRuby for suitability with your development projects.
Play 2.0: The power of Node.js on the JVM
Sep 13,2012 12AM

 

Play is a modern JVM web application framework that is lightweight, stateless and built from start for asynchronous programming.
It is based on event-driven, non-blocking IO and provides type safety, even for templates and routes.
 
The first part of the presentation will be an introduction to the framework and overview of its core concepts and features.
Then In the second part the plan is to build and deploy a simple but real-world Play web application.
 
Play exposes Java and Scala API, but in this talk only Java will be used.
 
High Performance Messaging
Aug 09,2012 12AM

 

If you need your messaging-based systems to be fast - really fast - then this is the session to attend. In this session I will introduce and demonstrate some relatively simple tips and tricks to get the best performance and throughput from your messaging system. Through live code demonstrations I will show the impact of both configuration and design changes using Spring, ActiveMQ, and RabbitMQ. So buckle up those seat belts - its going to be a fast ride.
 
Agenda:
 
Usable Security - Tipniques and Practfalls (Tips and Techniques, Pitfalls and Practices)
Jun 14,2012 12AM

For a long time, computer security was mainly concerned with the design of various technical mechanisms for defending against adversaries, as well as with the underlying mathematical foundations such as cryptography primitives. However, the usability of such technical mechanisms was largely ignored, producing technical solutions that were theoretically sound but practically insecure because of their poor usability. More and more people agree that we need usable security systems - unusable secure systems are not used properly or at all, and thus only usable systems can provide effective security. However, there is less agreement about how to design systems that are both usable and secure. This talk will give an overview of the field of usable security with the focus on issues to avoid, techniques to use, and useful case studies. It aims to enable participants to both evaluate and produce high-quality work in usable security. We will start with a definition of usable security, and examples of how security has failed due to usability. We will then outline common approaches to and relevant design principles for security usability. Methods for improving security usability and methods for empirically establishing such improvement will be discussedl. Usability techniques successfully applied to security will be discussed, including usable design (with an emphasis on error handling), lab user studies, field user studies, and techniques for evaluating organizational cultures. Finally, we'll conclude with case studies illustrating how security and usability can be simultaneously improved, and how the principles and methods introduced in the previous part were applied. Topics that have received much attention will be highlighted, including authentication, access control and authorization, phishing defenses, and the utility of education of the user.

Solving Development Infrastructure Problems
May 10,2012 12AM

 

Let's face it development is fun but configuring environments and infrastructure takes all the fun out of programming.  How often have you spent days trying to figure out which settings for your NoSQL database, new library, source control service only to realize that the solution involved only typing the 5-10 characters in the correct sequence.  You are not alone!

 

This session will go through a couple of different approaches to addressing common development infrastructure headaches.  We will start out with common problems encountered setting up your workstation involving issues with the IDE, Source Control System, Bug Tracking systems, environmental variables, build tools such as Maven, as well as a couple of other common problem areas.  Then we will talk about how developing in a virtualized world attempts to address these problems with virtual machines and cloud platforms as well as the new problems they create.  Finally, we will wrap up with the steps necessary to setup a NoSQL database.

Building Mobile Apps with HTML, PhoneGap and Java
Apr 12,2012 12AM

HTML has emerged as a powerful alternative to “native” and enables cross-platform mobile application development. 

 

In this session, you will learn modern strategies to build complex and native-like mobile applications using HTML and JavaScript, and powered by a Java back-end.

 

You will also learn how to build a RESTful API using JAX-RS and Spring, how to efficiently consume REST services and structure large JavaScript projects using an MVC framework like Backbone.js, and how to use PhoneGap to leverage the capabilities of your device (camera, gps, accelerometer, etc.) in JavaScript, and package your HTML application as a native app for distribution through the different app stores.

 

Tags: Mobile, HTML, JavaScript, Java, JAX-RS, Spring, REST, Backbone.js, Phonegap

 

 

 

Learning Scala by Example: walking through the rewrite of a small Open Source Project
Mar 08,2012 12AM

The best way to learn a new language is to use it, but there is an enormous gap between HelloWorld.scala and a "real" project. To help with my own learning of Scala I rewrote my Log4JFugue Open Source project which at about 2500 lines of code was big enough to be real yet small enough to be manageable. We will briefly describe the problem space addressed by Log4JFugue, then summarize the architecture of the Java version. The majority of the night will be a hands-on, code-on-the-fly recreation of the Scala version from scratch. You will see the differences between the languages and get a feel for coding in the functional paradigm. No background in Scala is required.

Getting started with MongoDB
Feb 09,2012 12AM

What is MongoDB, why would you use it, how do get started and what are the "gotcha's" to look out for? We'll start with a very brief survey of NoSQL data stores, then we'll dig into why you'd consider using Mongo and how to get started with it.

What's new with Grails 2.0
Jan 12,2012 12AM

This session will include an introduction to the Grails dynamic web application framework and the Groovy language, with highlights from the new features in Grails 2.0 (including agent-based reloading, unit testing mix-ins, and new enhancements to support Servlet 3.0) and Groovy 1.8. We'll also go beyond the basics and demonstrate real-world usage of Grails while live-coding a working Grails application from scratch using Spring, Hibernate, JMS, and other technologies to demonstrate how quickly you can develop Java EE applications in Grails.

Inside Android's Dalvik VM
Nov 10,2011 12AM

In this presentation, Doug Hawkins will discuss how the Dalvik VM is different from traditional Java VMs and the motivations behind those differences. Along the way, you'll learn about Android's service architecture, Dalvik's byte code format, and the surprising details of how Android installs, launches, and executes applications.

Testable Enterprise Development in Java
Oct 13,2011 12AM

In this session, we'll address the missing link in Enterprise Java development: simple, easy integration testing.

Unit tests and mock objects will only take you so far; the only answer which truly ensures that all components are playing nicely is a comprehensive integration suite. Unfortunately, writing integration tests has historically involved manual setup of a heavy, cumbersome test harness. That's time lost, but it doesn't have to be anymore.

Here we'll introduce Arquillian, a powerful container-oriented testing framework layered atop TestNG and JUnit. Arquillian manages your runtime, abstracting out deployment and allowing you to focus on real test logic. We'll cover:

* Transparent container lifecycle management
* Declarative deployments
* Test Enrichment (Dependency injection into tests)
* In-container test execution

All examples will be powered by the new lean offering from the JBoss Community: Application Server 7. Attend this talk to learn how the simplified component model of Java EE can be applied to testable development.

90 Minutes to a working Enterprise Application! or Development is more than just a fancy programming language!
Sep 08,2011 12AM

We have all heard use this language or that framework or this product and you can create the perfect enterprise application. After all these years do you still believe that? The truth is to produce a successful enterprise application we need to have a solid development language, frameworks, lightweight containers, monitoring through the application life cycle and infrastructure stack, plus plans to manage application performance. In short there is a lot we need to do after passing the first round of unit tests to create a sucessful enterprise application.

This session will use a series of live demos to go through the entire Application Lifecycle to demonstrate often ignored steps to produce an enterprise application. The concepts covered in this presentation are applicable with most technologies; but for our purposes we will focus on Spring ROO & Grails, Hyperic for monitoring, Tomcat 7 for the container, Webtest for functional testing, Cobertura for code coverage, plus a few other technologies.

Functional Thinking
Aug 11,2011 12AM

Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard.

This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages. As a Java developer, you know how to achieve code-reuse via mechanisms like inheritance and polymorphism. Code reuse is possible in functional langauges as well, using high-order functions, composition, and multi-methods. I take a variety of common practices in OOP languages and show the corresponding mechanisms in functional languages. Expect your mind to be bent, but you'll leave with a much better understanding of both the syntax and semantics of functional languages.

Multi-Topic Night - NEJUG Members presenting areas of their expertise
Jun 09,2011 12AM

This is the promised members presentation night we have been waiting for over the last year.In this meeting you will be able to cover 5 different topics from actual day to day practioners of their topics. We have seen time after time that some of the best presentations over the past 10 years have come from our very own members who use these technologies every day.

Topics which will be covered include: