• JRuby - The Best of Java and Ruby

    Wednesday October, 10, 2012 11:00 PM

    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

    Wednesday September, 12, 2012 11:00 PM

    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

    Wednesday August, 08, 2012 11:00 PM

    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.




    • Spring-based Messaging Performance Techniques
    • JMS Models and Performance: P2P and Pub/Sub
    • Messaging Standards and Performance: JMS vs. AMQP
    • Using Multiple Queues with Competing Consumers
    • Using Multiple Queues with a Single Consumer
    • Guaranteed Delivery and Performance

  • Usable Security - Tipniques and Practfalls (Tips and Techniques, Pitfalls and Practices)

    Wednesday June, 13, 2012 11:00 PM

    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

    Wednesday May, 09, 2012 11:00 PM

    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

    Wednesday April, 11, 2012 11:00 PM

    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

    Wednesday March, 07, 2012 11:00 PM

    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

    Wednesday February, 08, 2012 11:00 PM

    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

    Wednesday January, 11, 2012 11:00 PM

    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

    Wednesday November, 09, 2011 11:00 PM

    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.