New England Software Symposium
September 9 - 11, 2011 - Boston, MA
View the event details here ».
Video Preview
Busy Java Developer's Guide to Java 7
Friday 1:15 PM - Ted Neward
With the forthcoming release of Java7, a number of things come to fruition, both in the Java language and in the libraries, and it's important for Java developers to know what those features are, and how they change the game of writing Java code--or not.
Watch Video Preview >Concurrency without pain in pure Java
Friday 1:15 PM - Venkat Subramaniam
Programming concurrency has turned into a herculean task. I call the traditional approach as the synchronized and suffer model. Fortunately, there are other approaches to concurrency and you can reach out to those directly from your Java code.
Watch Video Preview >Resource-Oriented Architectures : REST I
Friday 1:15 PM - Brian Sletten
The first in a series of talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.
Watch Video Preview >Code Archaeology
Friday 1:15 PM - Matt Stine
Feature requests are steadily pouring in, but the team cannot respond to them. They are paralyzed. The codebase on which the company has "bet the business" is simply too hard to change. It's your job to clean up the mess and get things rolling again. Where do you begin? Your first task is to get the lay of the land by applying a family of techniques we'll call "Code Archaeology."
Watch Video Preview >Collections for Concurrency
Friday 3:15 PM - Venkat Subramaniam
Traditional collections on the Java platform focused on providing thread-safety at the expense of performance or scalability. More modern data structures strive to provide performance without compromising thread-safety. Some of them require you to adopt to a different semantics or programming model. In this presentation we will explore some data structures that can help reach both thread-safety and reasonable performance.
Watch Video Preview >Resource-Oriented Architectures : REST II
Friday 3:15 PM - Brian Sletten
The second in a series of talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.
Watch Video Preview >The Seven Wastes of Software Development
Friday 3:15 PM - Matt Stine
One of the first principles of lean software development is the elimination of waste. Shigeo Shingo identified seven types of manufacturing waste in his "A Study of the Toyota Production System." Later, the Poppendieck's translated these to seven wastes of software development.
Watch Video Preview >Busy Java Developer's Guide to Guava
Friday 5:00 PM - Ted Neward
"The Google Guava project contains a host of new features/classes for use by the Java programmer. Intended as a drop-in supplement for the standard JDK APIs, Guava provides features like immutable and forwarding collections, some concurrency utilities, more support for primitives, and so on.
Watch Video Preview >Resource-Oriented Architectures : RDF/SPARQL
Friday 5:00 PM - Brian Sletten
The fourth of a series of talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.
Watch Video Preview >Rediscovering JavaScript
Friday 5:00 PM - Venkat Subramaniam
JavaScript is one of those very powerful languages that is often misunderstood and underutilized. It's quite popular, yet there's so much more we can do with it.
Watch Video Preview >Executable Specifications: Automating Your Requirements Document with Geb and Spock
Friday 5:00 PM - Matt Stine
One of the hallmarks of lean software development is the elimination of waste. Several of the key wastes in software development revolve around incomplete, incorrect, or obsolete documentation, especially documentation of requirements. One effective means of ensuring that your requirements documentation is complete, correct, and up-to-date is to make it executable. That sounds nice, but how do we get it done, especially in the world of modern, cross-browser web applications?
Watch Video Preview >Resource-Oriented Architectures : RDFa
Saturday 9:00 AM - Brian Sletten
The fifth in a series of talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.
Watch Video Preview >Effective Java Reloaded
Saturday 9:00 AM - Matt Stine
Even with the recent explosion in alternative languages for the JVM, the vast majority of us are still writing code in "Java the language" in order to put bread on the table. Proper craftsmanship demands that we write the best Java code that we can possibly write. Fortunately we have a guide in Joshua Bloch's Effective Java.
Watch Video Preview >Automated testing tools and techniques for JavaScript
Saturday 9:00 AM - Venkat Subramaniam
Programmers often complain that it is hard to automate unit and acceptance tests for JavaScript. Testability is a design issue and with some discipline and careful design we can realize good automated tests.
Watch Video Preview >Resource-Oriented Architectures : Semantic SOA
Saturday 11:00 AM - Brian Sletten
The sixth in a series of talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.
Watch Video Preview >Scala for the Intrigued
Saturday 11:00 AM - Venkat Subramaniam
Scala is a statically typed, fully OO, hybrid functional language that provides highly expressive syntax on the JVM. It is great for pattern matching, concurrency, and simply writing concise code for everyday tasks. If you're a Java programmer intrigued by this language and are interested in exploring further, this section is for you.
Watch Video Preview >The Busy Java Developer's Guide to Akka
Saturday 1:30 PM - Ted Neward
With the rise of multi-core processors, and their growing ubiquity (on client machines, to say nothing of the server machines on which Java applications most frequently execute), the need to "program concurrently" has risen from "nice-to-have" to "mandatory" requirement, and unfortunately the traditional threading-and-locking model is just too complicated for most Java developers--even the brightest of the lot--to keep track of with any degree of reliability. As a result, numerous new solutions are emerging, each of them with their own strengths and weaknesses, leaving the Java developer in a bit of a quandary as to which to examine.
Watch Video Preview >Testing with Spock
Saturday 1:30 PM - Venkat Subramaniam
Spock is an awesome tool that exploits Groovy AST transformation to provide elegant, fluent syntax for writing automated unit tests and functional tests. In this presentation we will learn how to use Spock to unit test both Java and Groovy code.
Watch Video Preview >Busy Java Developer's Guide to Android: Basics
Saturday 3:15 PM - Ted Neward
Android is a new mobile development platform, based on the Java language and tool set, designed to allow developers to get up to speed writing mobile code on any of a number of handsets quickly. In this presentation, we'll go over the basic setup of the Android toolchain, how to deploy to a device, and basic constructs in the Android world.
Watch Video Preview >Software Craftsmanship: Positioning, Patterns and Practices
Saturday 3:15 PM - Peter Bell
None of us want to think of ourselves as "cowboy coders", but what does it mean to be a software craftsman, and is it a useful distinction? If so, what are some of the best patterns for honing our craft?
Watch Video Preview >HTML 5 Overview
Saturday 3:15 PM - Brian Sletten
People are confused about the status of HTML 5. Is it ready? Is it not? What is part of the spec and what isn't? We'll talk about the situation in the "HTML 5 and the Kitchen Sink" discussion, but as always, the proof is in the pudding. We will introduce the most exciting new features of HTML 5 and its related technologies and build examples that use them.
Watch Video Preview >Managing Complexity (The Project Integrity Series)
Saturday 3:15 PM - David Bock
How many times have you started a new project only to find that several months into it, you have a build process that mysteriously fails, a bunch of 'TODO' and 'FIXME' comments in the source, and problems that come and go because "it works on my machine"? Does your project have a little bit of 'folk wisdom' that isn't well-known, but is necessary to get things done? How easily could you recreate your development environment if you got a new machine today?
Watch Video Preview >Rock SOLID Software
Saturday 3:15 PM - Matt Stine
Object-oriented programming was formally introduced in the 1970's with the advent of Smalltalk. C++ took it mainstream in the 1980's, and Java carried it to the next level in the 1990's. Unfortunately, if you examine the vast majority of Java codebases, what you'll find is a bunch of C-style structs (a.k.a. JavaBeans) and functions. As these codebases grow, a number of design smells can potentially crop up, which in turn cripple our ability to respond to change. We need SOLID principles that we can apply to keep our software clean and malleable.
Watch Video Preview >What's new in Spring
Sunday 9:00 AM - Craig Walls
In this session, I'll lead a guided tour through the latest that Spring has to offer. Whether you're a Spring veteran or a Spring newbie, there will be something new for nearly everyone.
Watch Video Preview >Building Maintainable Javascript with Coffeescript
Sunday 9:00 AM - David Bock
CoffeeScript is a little language that compiles into JavaScript. Underneath all of those embarrassing braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.
The golden rule of CoffeeScript is: "It's just JavaScript". The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can use any existing JavaScript library seamlessly (and vice-versa). The compiled output is readable and pretty-printed, passes through JavaScript Lint without warnings, and runs in every JavaScript implementation.
Watch Video Preview >Yes You Kanban
Sunday 9:00 AM - Matt Stine
Kanban. What is it? It is most certainly not just moving sticky notes around on a board. Far from that, it is a method for gradual, evolutionary improvement of existing software processes. That's right, existing software processes. There is no "Kanban Development Process." Think you're "doing Kanban?" Think again.
Watch Video Preview >Essential Complexity: Developing and maintaining complex software
Sunday 11:00 AM - Peter Bell
Some apps are little more than CRUD. The interesting projects are those with essential complexity in the domain. In this presentation we'll show how ideas from Domain Driven Design, Domain Specific Modeling and Domain Specific Languages can be used to more effectively design, refine and maintain the code at the heart of complex applications.
Watch Video Preview >NoXML: Spring for XML-Haters
Sunday 11:00 AM - Craig Walls
In this presentation, we'll explore all of the ways to do bean wiring in Spring We'll take a pragmatic view of each style, evaluating their strengths, weaknesses, and applicability to varying circumstances.
Watch Video Preview >Pragmatic Architecture
Sunday 2:15 PM - Ted Neward
Building an application is not the straightforward exercise it used to be. Decisions regarding which architectural approaches to take (n-tier, client/server), which user interface approaches to take (Smart/rich client, thin client, Ajax), even how to communicate between processes (Web services, distributed objects, REST)... it's enough to drive the most dedicated designer nuts. This talk discusses the goals of an application architecture and why developers should concern themselves with architecture in the first place. Then, it dives into the meat of the various architectural considerations available; the pros and cons of JavaWebStart, ClickOnce, SWT, Swing, JavaFX, GWT, Ajax, RMI, JAX-WS, , JMS, MSMQ, transactional processing, and more.
Watch Video Preview >Requirements and Estimating - state of the art
Sunday 2:15 PM - Peter Bell
A chance for experience agile developers to learn and share state of the art tips for improving requirements gathering and project estimation.
Watch Video Preview >Securing Spring
Sunday 2:15 PM - Craig Walls
In this session, I'll show you how to secure your Spring application with Spring Security 3.0. You'll see hot to declare both request-oriented and method-oriented security constraints. And you'll see how SpEL can make simple work of expressing complex security rules.
Watch Video Preview >How to Select and Adopt a Technology
Sunday 4:00 PM - Peter Bell
What's the point attending a conference unless you do something with the knowledge you gain? In this session we look at practical strategies for selecting new technologies and proven approaches for driving adoption back at the office.
Watch Video Preview >Architectural Kata Workshop
Sunday 4:00 PM - Ted Neward
Fred Brooks said, "How do we get great designers? Great designers design, of course." So how do we get great architects? Great architects architect. But architecting a software system is a rare opportunity for the non-architect.
The kata is an ancient tradition, born of the martial arts, designed to give the student the opportunity to practice more than basics in a semi-realistic way. The coding kata, created by Dave Thomas, is an opportunity for the developer to try a language or tool to solve a problem slightly more complex than "Hello world". The architectural kata, like the coding kata, is an opportunity for the student-architect to practice architecting a software system.
Watch Video Preview >Developing Social-Ready Web Applications
Sunday 4:00 PM - Craig Walls
Businesses are increasingly recognizing the value of connecting with their customers on a more personal level. Companies can utilize social networking to transition from "Big Faceless Corporation" to "Friend" by taking their wares to the online communities where their customers are. In this age of social media, those communities are found at social network sites such as Facebook, Twitter, and LinkedIn. In this session, you'll learn how to build applications that interact with the various social networks. We'll also look at Spring Social, a new feature in the Spring portfolio that enables integration with social networks in Spring-based applications.
Watch Video Preview >






