Main Page

About JUG

Java Study Groups:
Java Mobile
SCJP 6 (Programmer Cert.)
Design Patterns
SCEA 5 (Architect Cert.)
Java Enterprise Study Group

Sponsor of the Skylight1
open source project
Location Sponsor:

A member SIG of

Sponsor of the
NYC Java Meetup

help support NYC Java:

Special thanks to:
Sun Microsystems
Prentice Hall
and NYPC!

Book Reviews
Java Links
Java Jobs
About Duke
System Info

Find pages
About this Wiki
Wiki Quick Start
Set your name in

Edit this page


NYC Java Study Groups JUG Past General Meetings

Previous Meetup: Tuesday October 12, 2010 - The Monthly NYC Java Meetup

JavaOne 2010 Redux!


JavaOne 2010 presentations / panel in an open discussion and Q&A format from those who atended this year.

Including news on JavaFX, Java 7, 8, 9

a special thanks to Andrew Ferenci from (hosted at Dogpatch Labs) for the location!

Previous Java Meetup: August: Eclipse Wizardry, Java IDE Smackdown and Java Questions Challenge

Monday, Aug 16, 2010 6:30-9 PM at NYU 32 Waverly Pl Rm 507 location IS confirmed

Intro Speaker: Timothy Fagan Topic: Eclipse Wizardry - the presentation is now available online here

Featured Topics: (open format - anyone can present for any length)

1) Java IDE Smackdown: Eclipse vs Intelli-J vs Netbeans

2) Open Source EDA (Event Driven Architecture) - Edward Yavno

Note: NEXT MEETING will be a post J1 2010 recap on Sept 28 2010 - location TBA
we are looking for a refreshments and location sponsors - if interested please contact dario @

Previous Meetings:

Monthly Java Meetup: Special Java Road Trip Stop
When: Mon, June 14 (Java 7), and Wed June 16 (JavaFX), 2010 6:30 PM
Location: Oracle (same Sun Microsystems location 101 Park Ave)

A special stop on the nationwide Java Road Trip:

Note: a second night added so if you can't make Monday, June 14 (or if filled) please RSVP for Wed Jun 16


Topic: Java Road Trip: Code to Coast

Intro Speaker: Timothy Fagan with the ongoing series on Java Best Practices!

for updated speakers info and agenda and Tim's slides see the meetup site (slides under Files)

Monday's speaker: Brian Geotz Wednesday's speakers: Eric Bruno and Jim Connors

There will also be a technology demo showcase.

There will be a ride on the Java Bus!

Previous NYC Java Meetup - a joint meeting with NYC-GTUG on Thursday May 13 - please RSVP at

Intro Speaker: Timothy Fagan ongoing series on Java Best Practices will resume in June!

Featured Speaker: (remotely from CA) Stephen Ng and Noel Yap

Topic: Android Development and Testing: an unauthorized guide to some unorthodox techniques.

The primary development language for Android is Java, which means you get to write mobile apps in a familiar language with great IDE support. But because Android runs on a custom (Dalvik) VM, writing tests that run quickly and locally can be a challenge. This talk will focus on three experimental techniques for unit and integration testing:
- Using PowerMock to enable unit testing on the Java VM
- Using Roboguice to facilitate dependency injection
- Using a sqlite3 wrapper to enable sql testing

Stephen Ng is a Software Engineer in Test at Google, where his day job has nothing to do with Android development. He is the author of a popular open source Android application, GeoBeagle, which is coded using the techniques described. He is a graduate of M.I.T.

Door Prizes! - special thanks to Sun/Oracle/Google

March NYCJava Java Meetup - Tues March 30 at Oracle (Sun Microsystems) - RSVP at

We have a special guest speaker for this coming Tuesday's March Java Meetup: Bjorn Freeman-Benson, formerly CTO of Eclipse and now VP Development of NewRelic. A special thanks to Mitch Sonies for arranging this!

Agile All The Way Down
You are an agile Java developer and you work in an agile shop, but are you agile all the way through deployment and production? You are using a full complement of profiling, testing and load generation tools for your Java app, but we all know that even with the most rigorous pre-deployment QA, "issues" will sneak through. To catch these, all serious apps use production monitoring of one kind or another. The ah-ha moment comes when we realize that we can use that same production monitoring to increase our agility: we can shorten the pre-production testing cycles and push new iterations into production with minimal testing. I'll talk about how we've done this, and how our customers have done this, and how other great engineering projects in history have done this. With real life examples and stories of how we've become more agile, I hope to enthuse you to become "agile all the way down".

Bjorn Freeman-Benson:
After five years at the Eclipse Foundation working with committer community, Bjorn Freeman-Benson is now part of the engineering team at New Relic. A software language aficionado with experience in open source, closed source, big companies and small companies (Eclipse/Java, Amazon/Perl, Rational/C#, Gemstone/Smalltalk, OTI/Smalltalk, ...), he has a variety of war stories, many of them interesting. He has an M.Sc. and a Ph.D. in Computer Science from the University of Washington, and is happy to talk at length about his passion for orienteering and/or his love of flying and electric cars.

Door prizes (courtesy of Sun), and refreshments courtesy of Yodle:

Feb Java Meetup - Monday Jan 15 at Sun Microsystems

'Please RSVP with full names - Meeting will start exactly at 6:30pm - please arrive early!'

6:30pm Java Best Practices Part 2 - Timothy Fagan

Following on from last meeting's interactive dicussion on Java programming best practices, Timothy will tackle two more important, and sometimes controversial standards that you and your company may want to adopt in order to improve Java programs


A Quick Tour of Contexts and Dependency Injection for Java EE
This session is a quick tour of Contexts and Dependency Injection for Java EE (CDI).

This session will cover features such as injection, automatic context management, scoping, qualifiers, naming, producers, disposers, registry/lookup, stereotypes, interceptors, decorators, events and portable extensions. We will discuss the relationship between this critical Java EE 6 API covering generic dependency injection services and the rest of the platform including Dependency Injection for Java (JSR 330), managed beans, EJB 3.1, JSF 2 and JPA 2.

We will also cover the goals, status and road-map for major CDI implementations such as JBoss' Weld, Caucho's CanDI and Apache's OpenWebBeans. Please do feel free to bring your questions, comments and suggestions.

Reza Rahman is an independent consultant specializing in Java EE with clients across the greater Philadelphia and New York metropolitan areas. He is currently focused on the Resin EJB 3.1 Lite/Java EE 6 Web Profile implementation.

Reza is the author of "EJB 3 in Action" from Manning Publishing. He is a member of the Java EE 6 and EJB 3.1 expert groups. He is a frequent speaker at seminars, conferences and Java user groups including JavaOne as well as an avid contributor to TSS.

Reza has been working with Java EE since its inception in the mid-nineties. He has developed enterprise systems in the financial, health-care, telecommunications and publishing industries. Reza has been fortunate to have worked with EJB 2, Spring, EJB 3 and Seam.

a special thanks to Sun/Oracle for the meeting location and door prizes!

Jan Java Meetup - Jan 26 at Sun Microsystems - rsvp at

Intro presentation: Java Best Practices (part 1) by Timothy Fagan. (6:30pm)

Featured guest speaker: Mark Pollack (7:30pm)

Title "What's new in Spring 3.0"

Abstract: This talk provides an overview of the key features introduced in Spring 3.0 such as the Spring Expression Language, additional annotation-based configuration options, a code-centric way of declaring Spring bean definitions, and comprehensive REST support. This talk also provide an analysis and overview of the integration points between the Java EE6 APIs and Spring.

Bio: Dr. Mark Pollack has worked extensively in the financial sector as an architect and developer on various front office trading systems that involved a mixture of Microsoft and Java technologies. Always interested in best practices and improving the software development process, Mark has been a core Spring (Java) developer since 2003 and founded its Microsoft counterpart, Spring.NET, in 2004 which he continues to lead. In 2007 Mark joined SpringSource to work full time on Spring technologies.
networking - before and after meeting and during break, we will adjourn to a local pub on 40th and Lexington Ave

Special door prizes (books, t-shirts) courtesy of Sun Microsystems!

December Meetup was the holiday party -

November Meetup - At Sun Micro, 6:30 Nov 16, 2009 - Android tutorials, discussion, demos - a joint meeting with

October General Meeting - NYC Java Meetup

A very special guest speaker, coming all the way from the island of Crete, yes none other than Dr Heinz Kabutz will make a special appearance! This renown master Java specialist gave us an excellent presentation on the secrets of concurrency two years ago and this time will speak on the intricacies of reflection. In addition to his appearance at our group, he will also offer a Java Specialist Master Course on November 10-13 as part of Sun's Extreme Learning Workshop series here in NYC!

Speaker: Dr Heinz Kabutz

Topic: "Reflection Madness"

"In this presentation, we will look at some advanced uses of reflection to delegate method calls automatically, to determine where we are being called from and to create new enum values dynamically for unit test purposes, including modifying the switch statements on-the-fly. We will look at how we can use the stack information to determine the class type in a static context. We will demonstrate how Externalizable allows the private state of an object to be read and then modified. Lastly we will demonstrate how we can construct new objects without calling any of the available constructors. This talk will be aimed at the advanced Java specialist who does not shy away from reflection code. Topics from the Java Specialists Newsletter and related research."

Dr. Heinz Kabutz is best known as the creator of the Java Specialists' Newsletter, targeted to expert Java Developers. Since its inception in November 2000 the newsletter has grown to include an audience of more than 50,000 programmers in 120 countries and become one of the most widely distributed, independent Java Newsletters in the world. Dr. Kabutz uses the experience gained "in the field" to write articles in his publication and he was chosen as a Sun Java Champion.

A special thanks to Sun Microsystems for hosting location.

Please note that this month's NYC Java Meetup is on the third Wednesday (not Monday) October 21 at 6pm

Location: Sun Microsystems - 101 Park Avenue (40th St), 4th Floor
please note: you will not be able to get past security w/o a full name in the comments of your RSVP! RSVP SOON at

And about the master course on November 10-13 as Dr Heinz would describe it: "This course embodies my Java knowledge and experience gained publishing 170 advanced Java newsletters, teaching hundreds of seminars and writing hundreds of thousands of lines of Java code."

This may sell out, so register soon:

September 21 (usually third Monday!) 2009 at 6:30pm at Sun Microsystems!
The Monthy NYC Java Meetup - featured topic: Java Mobile (featuring Android)

The special guest for the evening is Nathan Frietas (

Nathan will walk through his gReporter open-source Java Android app 'citizen journalists' tool that captures photo, audio and text reports, submitting them to a server along with geolocation data. This application was part of the NPR-supported TwitterVoteReport and InaugurationReport projects, along with Nathan's grant-funded Guardian Project (, a secure smartphone being developed for human rights advocates, activists and journalists.

We will also have several short presentations on what we've (the Java mobile study group) learned with the open source project game framework that produced a game we've submitted to the ADC2 (Android Developer Challenge 2).

Please note other events on the Calendar - as posted previously, you can still RSVP for the free Java Tuning Seminar at Sun Microsystems on Sept 30 over here: The 4 day workshop is unfortunately already full.

We'll also be announcing and kicking off the fall sessions of our ongoing study groups: SCJP 1.6 Plus, Java Mobile (new projects), and more.

If you'd like to present (any length) or sponsor a future location or refreshments please let us know! There is an announcement and open Q&A portion of the meeting so all (recruiters as well) are allowed to make announcements, pitch ideas, etc. We adjourn to a local bar afterwards.

Location: Sun Microsystems - 101 Park Avenue (40th St), 4th Floor
iplease note: you will not be able to get past security w/o a full name in the comments of your RSVP!/i(info)

Remember, every third Monday is the NYC Java Meetup - pass the word along!

door prizes, refreshments! - RSVP at

(Aug meeting was a social event at Central Park)

Joint meeting with the newly formed NYC-GTUG - (Google Technologies User Group) at Google on Monday July 20 2009!

Monday Jun 15 - The Monthly Java Meetup !

A special meeting at BugLabs to RSVP:

note: this is now filled but there is a waiting list

Monday May 18 - The Monthly Java Meetup !

A special meeting at Microsoft for details:

** March 18,19: Sun is having it's Community One East in NYC! - March 18 is free so join us there ! **
check out the agenda - packed with sessions all day -

There is a special meetup scheduled at 2:30 on the 5th floor on the Marriott in the OpenSpaces area, Q&A with Sun and local user groups (that's us) - see you there

March General meeting: General Meetings are now joint meetings with NYC Java Meetup!

This will be a joint meeting with the NY Semantic Web Meetup (Rich Hickey returns to talk about Clousure!)

This is a special event at Sun Microsystems on March 19 - please RSVP at the Java Meetup link to the left!

February General meeting: General Meetings are now joint meetings with NYC Java Meetup!

Topic: Mobile Computing, featuring Android development (following networking, member presentations)

When: Thursday Februrary 26, 2009 6:00 PM sharp
Location: 220 East 23rd Street (between 2nd and 3rd ave), Suite 707 - please bring ID
RSVP: Click on NYC Java Meetup link on the left!

NYC Java Meetup Description: 2009 brings a new format, networking+refreshments and member presentations will precede guest lecturers.

January General meeting: General Meetings are now joint meetings with NYC Java Meetup!

When: January 26, 2009 6:00 PM sharp
Location: 220 East 23rd Street (between 2nd and 3rd ave), Suite 707 - please bring ID
Where: Click on NYC Java Meetup link on the left!

NYC Java Meetup Description: 2009 brings a new format, networking+refreshments and member presentations will precede guest lecturers.

New Monthly Themes:
January: JEE
February: Mobile Computing
March: Semantic Web

January Speaker: Reza Rahman

Session Title: Java EE 6: A Community Update

This session is the latest update on the progress of Java EE 6 (JSR 317). The aim of the session is both to inform as well as encourage feedback.

Java EE 6 brings a number of profound changes to the platform. It drops a handful of outdated APIs, breaks up the monolithic platform into profiles and aims to add extensibility points as well as adding useful enhancements like standardizing JNDI naming. We will explore all of these changes in this session. We will also briefly overview some of the most important JSRs being developed under the Java EE 6 umbrella such as JSF 2.0, WebBeans, EJB 3.1, JPA 2.0, JAX-RS and Servlet 3.0.

A central goal of this session is open-ended discussion, so please do feel free to bring your questions, comments and ideas.

Reza Rahman is an independent consultant specializing in Java EE with clients across the greater Philadelphia and New York metropolitan areas. He is the co-author of "EJB 3 in Action" from Manning Publishing. Reza is a member of the Java EE 6 and EJB 3.1 expert groups. He is a frequent speaker at seminars, conferences and Java user groups as well as an avid contributor to TheServerSide. He is currently working on implementing EJB 3.1 Lite for the Spring framework and application platform.

Reza has been working with Java EE since its inception in the mid-nineties. He has developed enterprise systems in the financial, healthcare, telecommunications and publishing industries. Reza has been fortunate to have worked with EJB 2, Spring, EJB 3 and Seam.

Note: Announcements and unconference style short member presentations will now precede the lecture.

Also there will be a suggested donation to pay for pizza/refreshments at the beginning of the meeting unless of course a sponsor steps up to offer to sponsor refreshments. Please contact the organizers if interested in sponsoring. Please note earlier start time this month: 6:00pm sharp.

Learn more and RSVP here at NYC Java Meetup link on the left

Previous Meetings:

November Topic: EJB 3.1: A Community Update

6:30pm 76 Ninth Avenue (between 15th/16th St), 13th floor - RSVP required - email garyrusso @


This session explores the latest features proposed in EJB 3.1 (JSR 318). The aim of the session is both to inform as well as encourage feedback.

EJB 3.0 was a radical transformation geared towards usability. EJB 3.1 aims to go further down the path of simplicity while adding a number of useful features. In this session we will see all of the features that have been discussed in the expert group so far such as optional interfaces, singleton beans with concurrency control, annotation-driven cron-like scheduling, asynchronous processing support, easier deployment, as well as EJB lite. We will also take a look at the features still being discussed such as standardized JNDI naming as well as support for running EJB 3.1 in Java SE environments.

The session will leave time for open-ended discussion, so feel free to bring your thinking hat!


Reza Rahman is the founder of Cognicellence, a small boutique Java EE consulting shop in the Baltimore-NYC corridor. He is the co-author of "EJB 3 in Action" from Manning Publishing. Reza is a member of the Java EE 6 and EJB 3.1 expert groups. He is a frequent speaker at seminars, conferences and Java user groups as well as an avid contributor to TheServerSide. He is currently working on the EJB 3.1 Lite implementation for the Spring framework and application platform. Reza has been working with Java EE since its inception in the mid-nineties. He has developed enterprise systems in the publishing, financial, telecommunications and manufacturing industries. Reza has been fortunate to have worked with EJB 2, Spring, EJB 3 and Seam.

October meeting: Once again a joint meeting - so be sure to catch the monthly NYC Java Meetup! RSVP soon as it's almost full:

Monday, October 20 - (in same building as the Google) - 6:15-9pm - full name required with RSVP - bring photoID

Full details at:

September meeting: Joint Meeting with NYC Java Meetup (see link on the left side)

topics included: Grails, SCJP, Java 7, and more (door prize)
Aug General Meeting: a special meeting: we are hosting the Semantic Web Meetup

'note: please rsvp at above link - (if filled you can still show up bring id)

Topic: Clojure for the Semantic Web Exploration

Meetup Track: This Session is hands on and technical

Speakers: Rich Hickey and David Siegel

Rich Hickey will join forces with the New York Semantic Web Meetup to extend Clojure for the use in the development of Semantic Web applications.

Clojure is a dynamic programming language that targets the Java Virtual Machine. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.

Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.

Session prep:

Introduction to Clojure (from June's General Meeting below)

June General Meeting:

Topic: Clojure for Java Programmers

Presentation now available online (with audio):
(Thanks Rich!)

Speaker: Rich Hickey

Clojure is a dynamic functional programming language for the JVM. This talk will provide an overview of Clojure, including a gentle introduction to its syntax for those with no prior experience with Lisp, an overview of features, and a discussion of Java integration. Also covered will be Clojure's approach to functional programming, immutability, and concurrency and how they help solve some of the problems faced by Java programmers using threads and locks today.


Rich Hickey, the author of Clojure, is an independent software designer, consultant and application architect with over 20 years of experience in all facets of software development. Rich has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening, in a variety of languages. ---
February General Meeting: Thurs, February 7, 2008 6:00-9:00pm at Sun Microsystems 101 Park Ave

Combined meeting with NYC Java Meetup

Speaker: Cameron Purdy - Founder, Tangosol

Title: Creating Grid-Based Data Infrastructures for the Enterprise

Thanks Cameron for the presentation, slides are now available, thanks to Sun Microsystems for the location, and Sun and Prentice Hall for the door prizes and thanks to the member who posted the slides at the meetup site.

Grid based infrastructures are being developed, deployed and used to achieve unlimited application scalability and continuous availability across multiple datacenters. Understanding the additional capabilities of these infrastructures and how they can be used to solve increasingly difficult and complex problems will help to ensure that organizations are getting the maximum utility from Grid Computing. This session will focus on how Data Grid capabilities function, such as coherent in-memory caching, dynamic data partitioning, and parallel query and process execution, and how they are being mapped onto grid infrastructures. Organizations are using these Data Grid capabilities in order to provide real time risk analytics, complex event processing and algorithmic trading, and "follow-the-sun" order management systems. Additionally, the session will draw specific attention to how organizations are able to implement these capabilities on a global scale.

Attendees Will Learn
  • How Data Grid capabilities function.
  • How organizations are using them to solve complex computing problems.
  • Examples of how organizations are leveraging this on a global scale.

Speaker Bio:
Cameron Purdy is Vice President of Development at Oracle. Prior to joining Oracle, Mr. Purdy was the CEO of Tangosol, whose revolutionary Coherence Data Grid product provides reliable and scalable data management across the enterprise. Mr. Purdy has over ten years of experience with Java™ and Java-related technology. As a software visionary and industry leader, Mr. Purdy is a frequent presenter at industry conferences and has received a number of awards in recognition of his contribution to the Java community, including twice being named as a JavaOne RockStar and being recognized in TheServerSide’s “Who’s Who in Enterprise Java”. He regularly participates in industry standards development and is a specification lead for the Java Community Process.

-some door prizes courtesy of Sun Microsystems-

Note: this was a combined meeting with the NYC Java Meetup

January 2008 General Meeting (and SCJP 6 study group combined meeting):

Thurs, January 3, 2008 6:00-9:00pm at NYPC

Topic: "Generics and Collections" slides

Speakers: Dario Laverde, Gary Russo

Overview and introduction to Java 5's Generics and Collections (including the new collections in Java 6). All you need to know about generics and collections for the SCJP 6 exam as well as the following additional topics: reification, reflection, and effective generics.

Advanced topics include some uncommon usage and puzzlers as well as related Java 7 proposals.

So if you're new to Java's generics or even if you've been using them but want to review why or how it can get complex (and what's in store for Java 7), please stop by and invite your colleagues. No RSVP is necessary but seating may be limited. There will be door prizes.

Reference Books:

Additional Java Generics Notes

Tues, Decenber 11 - 6:15-9pm at 220 East 23rd Street (between 2nd and 3rd ave), Suite 707
door prizes courtesy of Sun Microsystems

Speaker: Dr Heinz Kabutz

Title: The Secrets of Concurrency

slides now available:

From the first version of Java, we have been able to create multiple threads. Initially, this was mostly used for making our GUIs more responsive. For example, we would read a file using a separate thread from the main Swing thread, updating the GUI as to the progress. Running many active threads on one CPU seldom made the program faster, on the contrary, the swapping overhead frequently bogged down the machine.

However, in the last few years, the speed increase of CPUs has not been the clock speed, but the number of cores on each chip. We are in a position now where we can get a job done much faster by splitting it between multiple threads.

Unfortunately there is still a lack of understanding of the mysteries surrounding threading. This has caused programmers to write code that is fundamentally incorrect, not taking into account best practices for threading.

Here is an example of such incorrect code, seen today on a web forum:

synchronized (namedQueues) {
try {
} catch (InterruptedException ie) {
// Can safely ignore this
if (isInterrupted() || isStopped())

In this talk, we look at ten laws that can help us to write more correct threaded code. We will now briefly summarise these ten laws:

1. The Law of the Sabotaged Doorbell
We show how to manage the InterruptedException. Since they are thrown by several methods in Java 5, this is useful to know.

2. The Law of the Distracted Spearfisherman
When analyzing threading problems, we should know what every thread is doing. If we gloss over one thread without understanding it, we can easily miss a problem.

3. The Law of the Overstocked Haberdashery
Threads use up resources, even if they are not active, putting an upper limit on the number of threads in our system.

4. The Law of South African Crime
Fields can be cached locally by threads to improve the performance of retrieving their value. Thus, if one thread modifies a field, the other threads might not see the updated value.

5. The Law of the Leaked Memo
The Java Memory Model allows the hotspot compiler to reorder statements, as long as the final result is still correct. This can lead to some results which seem logically impossible.

6. The Law of the Corrupt Politician
Data races can cause the best objects to become corrupt. They can be really difficult to detect and analyse. In this law, we look at how wecan avoid these problems.

7. The Law of the Micromanager
Adding synchronization to our code can cause problems with contention, where threads are waiting for each other to execute a critical section.

8. The Law of Greek Driving
The rules of the road for Java threading are quite strict, but not enforced by all of the Java Virtual Machines. Even though your code seems correct, it might still be wrong.

9. The Law of Sudden Riches
Sometimes a system has latent defects that are only seen every few months. When running the system on faster hardware, these defects are amplified and can happen more frequently.

10. The Law of the Uneaten Spinach
It is often possible to detect deadlocks in Java, but unfortunately it is impossible to recover cleanly. The only option is to analyse the problem that caused it and then restart the JVM.

This talk has been presented at The Server Side Java Symposium in Barcelona 2007 and NLJUG JFall 2007, both times with excellent attendance and feedback.

Prerequisites: Attendees should be confident in Java SE and should have ideally worked a bit with threads before. The talk does have something for everybody, but is mainly aimed at the intermediate to advanced developer. There are code samples and a short demonstration.

What you will get out of the talk: You will learn several tips that will help you in writing correct threaded code in Java.


Dr Heinz Kabutz is best known for his creation of The Java Specialists' Newsletter, read in 115 countries by 30000 Java experts. In his newsletter, he examines advanced aspects of Java that have helped Java developers around the world to produce better code. As someone remarked on the Sun website: "Heinz Kabutz is a hero in the Java Developer Community. His newsletters have saved companies millions by helping bugeoning and experienced programmers deliver high quality products."

In order to fund the newsletter, Heinz writes Java code on contract and runs seminars. His latest creation, the Java Specialist Master Course, examines ten areas of advanced Java. It is one of the only courses specifically aimed at the seasoned Java professional.

Heinz was invited to speak at several Sun Tech Days events: Johannesburg 2006, Athens 2007, London 2007 and Frankfurt 2007. He is a regular speaker at Java User Groups such as JavaPolis, JavaZone, JFall and JHUG. In addition, he has spoken several times at the Server Side conferences in USA and Europe.

Heinz was recently interviewed on the Sun Website:

// October General Meeting: 6pm Thurs. Oct 4 NYPC Rm 550 New Yorker Hotel (34th and 8th Ave)

Owen Taylor, Senior Director - Worldwide Technical Communications, GigaSpaces Technologies

Topic: "No more hops! - towards a linearly scalable application infrastructure."

This talk focuses on the architecture and the patterns implemented behind the scenes that enable the GigaSpaces XAP (ZAP) platform to scale linearly and still provide a rich and fault-tolerant programming model.

Java Audiences:
Learn how to leverage the simplicity and consistency of Spring and achieve the scalability of Google. Understand the programming paradigm known as SBA and Discover what the power of Transparent Partitioning and Colocation can do for applications ranging from Logistics to Order Processing to Algorithmic Trading.

Speaker Bio: As Sr. Director, Worldwide Technical Communications with GigaSpaces Technologies Inc, Owen translates the new architectural concepts and technical capabilities of space-based solutions into accessible formats so that technologists can adapt them rapidly into their environments and gain their maximum benefit. Owens' areas of expertise include J2EE design patterns and performance tuning of J2EE applications. Prior to GigaSpaces, Owen worked as Principal J2EE Product Specialist with Identify Software. Before that Owen acted as Senior Enterprise Architect with The Middleware Company where he specialized in B2B, EJB and J2EE training and consulting with a special emphasis on webMethods B2B server and, BEA WebLogic Servers. Owen has over the years delivered architecture consulting, mentoring and training to dozens of companies and advised them on how to best architect new applications ranging from e-commerce to stock-trading. Many of his engagements involved developing application prototypes on-site. Prior to The Middleware-Company, Owen was Senior Consultant and Partner in The New Customware Company, where his duties mirrored almost exactly those he executed with the Middleware Company. Prior to CustomWare, Owen was Senior Consultant and Instructor in the Professional Services organization at Inprise (Borland) (an EJB/J2EE & CORBA vendor), where he provided consulting and mentoring to customers in not only building large applications with EJB/J2EE and CORBA, but also specifically on the instrumentation, monitoring and management of applications developed using these technologies.

- door prizes! -

September General Meeting: Thursday, Sept 13, 6:00-9pm (Note: 2nd Thursday in Sept)
Speaker: Inyoung Cho from Sun Microsystems
Topic: Java Scripting: Java FX/Script and JRuby ->slides<-

The Java Platform supports multiple language solutions including scripting and dynamic languages. This session will offer a brief technical overview of scripting in the Java language and summarize the scripting features in Java Platform, Standard Edition 6 (Java SE 6), and exposes the audience to the Java FX script technology, and JRuby.

The Java FX Script is designed to deliver secure, interactive content, applications, and services that run on a variety of clients. To simplify and speed the creation and deployment of high-impact content for a wide range of devices, Sun announced JavaFX, a new family of products based on Java technology designed to enable consistent user experiences, from desktop to mobile device to set-top box to Blu-ray Disc. JavaFX Script is actually a declarative Java scripting language with static typing for good IDE support and compile-time error reporting (unlike JavaScript...), type-inference, declarative syntax, and automatic data-binding with full support for 2D graphics and standard Swing components as well as declarative animation. You can also import java classes, create new Java objects, call their methods, and implement Java interfaces. In Java FX Script section, we'll look at what is in JavaFX Script, how to use it and with examples and demos.

JRuby is an implementation of the Ruby programming language targeted at the Virtual Machine for the Java platform (JVM platform). Ruby is a dynamically typed object-oriented language with support for blocks, continuations, and all the usual OO trimmings. In JRuby section, we'll show you how to apply Ruby on the JVM software to common use cases, and projects that utilize JRuby and demonstrates the most compelling capabilities offered when Ruby and Java technology work together.

Speaker Bio:
Inyoung Cho is a Java Technology Evangelist at Sun Microsystems specialized in Java and Web services technology. After joining Sun in 1995, Inyoung was working as a Java platform licensees engineer in porting, adopting and deploying J2ME, J2SE and J2EE technology. She also worked as a Java technology consultant role helping Sun customers to architect Java software solutions. Prior to working Java land, she has worked on the Solaris Operating systems migration projects. She worked in various sun locations including US, Japan, Korea, and Canada. In previous positions, Inyoung worked at Nortel in the role of senior software engineer, developing the network management software for digital switching products, as well as high speed optical Transmission network elements. Inyoung has a BS in Computer Science from the University of Toronto.

August General Meeting: First Thursday, August 2 6:30pm
(no rsvp required but seating is limited)

Location: NYPC (New Yorker Hotel - 34th and 8th Ave 5th floor)
Topic: Getting Started with JPA using Hibernate 3

slides and source code presented and source code not presented

Speaker: Reza Rahman

Reza Rahman is the chief architect at Tripod Technologies, an IT solutions company focusing on Java EE in the Baltimore-NYC corridor. He is the co-author of "EJB 3 in Action" from Manning Publishing. Reza has been working with Java EE since its inception in the mid-nineties. He has developed enterprise systems in the publishing, financial, telecommunications and manufacturing industries. Reza has been fortunate to have worked with both EJB and Spring/Hibernate. He coordinates the Philadelphia JBoss User Group.

The Java Persistence API (JPA) aims to be the de-facto standard for ORM based persistence. Hibernate 3 is one of the earliest and most popular ORM tools implementing the JPA standard. This session is a hands-on introduction to JPA using Hibernate 3.

During the course of this session, we will configure Hibernate 3 from the ground up to work with JPA in a standalone application, solve a realistic persistence problem step-by-step and explore some of the key features of JPA along the way. We will explore basic annotation-driven mapping, generating keys, mapping relations, performing basic persistence operations and forming complex queries using the Java Persistence Query Language (JPQL).

You are encouraged, but not required to bring your laptop and code along throughout the session. Please see the following prerequisites to install before the meeting

-some of the door prizes are courtesy of Sun Microsystems (books, t-shirts and a backpack!)-

July General Meeting: Tuesday June 26 (not Thursday July 5)

Location: Microsoft, 1290 Avenue of the Americas, 6th floor)

Topic: Why Projects Fail

--- slides now available at - thanks Andrew and Jennifer ---

Special Event: Joint meeting with the New York City Chapter of the International Association of Software Architects (IASA).

Topic: Why Projects Fail Speakers: Andrew Stellman and Jennifer Greene

Applied Software Project Management
Head First PMP: A Brain-Friendly Guide to Passing the Project Management Professional Exam.

Andrew Stellman, despite being raised a New Yorker, has lived in Pittsburgh twice. The first time was when he graduated from Carnegie Mellon’s School of Computer Science, and then again when he and Jenny were starting their consulting business and writing their first project management book for O’Reilly. When he moved back to his hometown, his first job after college was as a programmer at EMI-Capitol Records—which actually made sense, since he went to LaGuardia High School of Music and Art and the Performing Arts to study cello and jazz bass guitar. He met his coauthor, Jennifer Greene, when they worked together at the same financial software company, where he was managing a team of programmers. He’s since managed various teams of software engineers and requirements analysts, and led process improvement efforts.

Jennifer Greene studied philosophy in college but, like everyone else in the field, couldn’t find a job doing it. Luckily, she’s a great software tester, so she started out doing it at an online service, and that’s the first time she really got a good sense of what project management was. She moved to New York in 1998 to test software at a financial software company. She managed a team of testers at a really cool startup that did artificial intelligence and natural language processing. Since then, she’s managed large teams of programmers, testers, designers, architects, and other engineers on lots of projects, and she’s done a whole bunch of procurement management.

Special Note:
Andrew and Jennifer are currently working on "Head First C#".
It's expected to be one of the biggest O'Reilly releases in 4th quarter 2007.

There were good door prizes (everyone got a book)

May monthly general meeting - Monday April 30, 6:30-9pm

Speaker: Elliotte Rusty Harold
Bio: Elliotte Rusty Harold, adjunct professor of computer science at Polytechnic University in Brooklyn, author of numerous books on Java and XML. His Java news website: and blog:

Topic: Java 7 and Beyond
2007 will go down in history as the year Sun Microsystems gave up the reins of the Java platform, releasing it under an open source license to the Java developer community. In this talk Java developer Elliotte Rusty Harold predicts new directions for the Java platform, in everything from scripting to bug fixing to new syntax. We'll talk about various proposals for both the language and libraries including closures, type inference, I/O, and more.

thanks to all who came, especially to our speaker and for posting the presentation at his website:

Go to top   Edit this page   More info...   Attach file...
This page last changed on 23-Jul-2015 17:20:39 PDT by unknown.