Seattle Java User's Group
[ start | index | login or register ]
SeaJUG is an all volunteer effort - which means items such as the website and mailing list are updated as schedules afford. You can usually count on our meetings occurring on the 3rd Tuesday of every month, and always count on them being open to all who are interested, but the next meeting agenda may not appear until the week of the presentation.

We need suggestions/volunteers for topics! If you'd like to donate your time/skills to the cause, contact >>Nimret Sandhu.

Meeting Location:
Amdocs
2211 Elliott Avenue
Suite 400
Seattle, WA 98121 >>Map

Meeting Time:
6:45pm Networking
7:00pm Presentation

Upcoming User Conferences

Tuesday, 09. June 2009

16 June 2009 : Monads

In this talk Greg Meredith will look at the monad "design pattern" and how it applies to programming on the web. Programming examples will largely be drawn from functional JVM languages such as Scala.

~Speaker Bio~

Greg Meredith has supported his math habit by working in computing. Currently he sits at SAP as principal architect. He was the principal architect of Microsoft's BizTalk's Process Orchestration offering and took on the burden of contributing to the early WSDL spec to keep it from being more of a train wreck than it is. He also worked on Microsoft's super secret BigTop project, working on an OS and Programming Language pair, based on process calculi. Prior to that he was one of the core members of the Carnot Team at the first industrial research consortium, the now defunked MCC.

There he worked with Christine Tomlinson on Rosette/ESS, a fully reflective actor-based programming language with a high performance execution engine. PermaLink

no comments | post comment

Tuesday, 12. May 2009

19 May 2009 : Writing Quality Software

Being non-physical, software quality is very different than quality in physical goods. In today's environment software must not only provide value now, it must be easy to change so it can continue to deliver value in the future. This is especially true on agile projects where short iterations and ongoing customer involvement means software needs to change frequently. Without paying attention a few key qualities the agile process of iterative development can soon degrade code into a maintenance nightmare. In this seminar we will explore specific qualities that make software more maintainable and easier to change.

~Speaker Bio~
David Bernstein has been writing software for over a quarter of a century. A noted speaker and presenter, David has been responsible for successfully delivering systems that drive leading econometric and financial firms as well as helping to develop application and operating system software. He has nearly two decades of experience "preaching what he practices" and has personally trained over 6,000 developers on how to improve the design and construction of software. In addition to his deep technical knowledge and passion for software development, David has experience running all aspects of a startup software company and is also an award-winning video producer. Read David's blog Techniques of Design: >>http://www.techniquesofdesign.com

Note that a video of this presentation is available at:
>>http://www.vimeo.com/4759140 PermaLink

no comments | post comment

Monday, 13. April 2009

21 Apr 2009 : Detecting and preventing bugs with pluggable type-checking

Speaker: Michael Ernst

Type-checking helps to detect and prevent errors.  However, Java's built-in types are incapable of expressing important information, such as whether a variable may be null, whether a value is intended to be side-effected, or whether a String is interned.  As a result, a type-correct program can suffer from null pointer exceptions, undesired mutations, improper equality testing, and many other types of problems.

Pluggable types (User-defined extensions to the type system) can detect such errors, prevent them, or verify their absence.  This talk presents the Checker Framework, a practical pluggable type system for Java.  The framework is compatible with all versions of Java; furthermore, Java 7 will contain syntactic support for it, in the form of type annotations.

The Checker Framework benefits programmers by improving documentation and eliminating bugs.  It is intuitive to use and requires few annotations, so the burden on programmers is small. The Checker Framework also makes it easy to create new, custom checkers that verify important properties specific to your own code.

The Checker Framework is publicly available at:
  >>http://groups.csail.mit.edu/pag/jsr308/

Note that a video of this presentation is available at:
>>http://www.vimeo.com/4368251 PermaLink

no comments | post comment

Monday, 09. March 2009

17 Mar 2009 : The Java Memory Model

The Java memory model has become the de facto standard for other general-purpose languages, including C++. I will first explain why a memory model is needed. I'll talk about the importance of sequential consistency and how it is implemented in the JVM.

Speaker Bio
Bartosz has a Ph.D. in theoretical physics. He switched to programming to work for Microsoft, where he was the lead developer of the content index (a search engine before the Internet took off). He published a book, "C++ In Action," and regularly contributes to professional publications. His latest interest is concurrency--both the big picture and the low level details. He regularly blogs about it at >>http://BartoszMilewski.wordpress.com .

Note that a video of this presentation is available at:
>>http://www.vimeo.com/3757991

and the slides are under 'Meeting Notes' on the right hand side menu. PermaLink

no comments | post comment

Wednesday, 11. February 2009

17 Feb 2009 : Keeping Test Driven Development sustainable

As Test-Driven Development has gained in momentum and popularity, it has also been called into question as a viable development strategy past the first 3-4 iterations in Agile projects.  Many report that the test suite generated by the process can become a maintenance problem in and of itself, eventually collapsing under its own weight.  Is this an inherent problem with TDD, or simply a result of a misunderstanding of how TDD works, and what needs to be emphasized in order to keep it sustainable?  We will examine this question in some detail, and offer some insights on overcoming this limitation.

Speaker Bio
Net Objectives' Scott Bain is a 30+-year veteran in computer technology, with a background in development, engineering, and design. He has also designed, delivered, and managed training programs for certification and end-user skills, both in traditional classrooms and via distance learning. Scott teaches courses and consults on Agile Analysis and Design Patterns, Advanced Software Design, and Sustainable Test-Driven Development. Scott is a frequent speaker at developer conferences such as JavaOne and SDWest. He is the author of "Emergent Design: The Evolutionary Nature of Professional Software Development" now available from Addison Wesley/Pearson Education.

NOTE: A video of the presentation is viewable online at:
>>http://www.vimeo.com/3356282 PermaLink

one comment (by dankirkd) | post comment

Monday, 12. January 2009

20 Jan 2009 : The Gigaspaces experience

Sharing my and company's experience with GigaSpaces product, that implements data and computational grid. Subtopics include:
  • why we have chosen GigaSpaces and not alternatives;
  • how GS addresses (or not) fallacies of distributed computing;
  • what challenges we had piloting and adopting GigaSpaces;
  • several demos: failover, data partitioning, integration with traditional data sources (RDBMS);
  • how to shot yourself in a foot with GigaSpaces - things marketeers are silent about;
 I am not affiliated with GigaSpaces, so all the above is my perspective and impression of the product and Java grid space in general.

Speaker's Bio
Konstantin Ignatyev has been working with Java since 1998 and constantly on the lookout for technologies and tricks to improve Java development productivity, and to deliver highly maintainable and easy to extend code. He has been a consultant for many years successfully using learned tricks and sharing them with fellow developers on JUG, IASA meetings, and SD WEST 2006 conference. Currently Konstantin works as Enterprise Architect for Cobalt Group. Interests and hobbies: sustainable business practices, ways to improve human's habitat and quality of life, hiking and backpacking, badminton, tennis, motorcycle touring. PermaLink

no comments | post comment

Monday, 24. November 2008

16 Dec 2008 : Groovy and Grails

Grails is a web development framework in the mold of Ruby on Rails that leverages current best of breed Java technologies such as Spring and Hibernate.  It is built using a convention over configuration approach to web development leveraging the dynamic Java based scripting language Groovy.

This presentation will provide a high level overview of Groovy and Grails and describe how it is being integrated into a real world Java application to handle an internal administrative application.  We will discuss the pros and cons of using a very dynamic framework, how it supports Test Driven Development, and how it integrates with common Java tools such as Maven, Ant, and Hudson. We will discuss some of the joys and frustrations that we have experienced using Groovy and Grails as experienced Java developers.  Finally, we will conclude with some recommendations on when and where to use Groovy and Grails, and how it fits in with an overall strategy.

Speaker Bios:
Gabe Hicks has been a Java developer working in the web application space since 1999.  He is currently working with Groovy and Grails at All Star Directories, Inc.

Will Iverson has been working with Java since 1995, and is the author of four books on Java software development.  He is currently working as a Java Architect with Slalom on a project for All Star Directories, Inc. PermaLink

no comments | post comment

Thursday, 13. November 2008

18 Nov 2008 : Zero Turnaround in Java Development

Turnaround is the time it takes for the changes in code to propagate to the running application. Currently the average time spent waiting for building and deployment is about one minute. In fact turnaround takes even more time away, due to the interruption penalties and quality degradation.

In this talk Toomas Römer will review how to get the time from hitting Ctrl+S to refreshing the browser to less than one second. Using modern IDEs like Eclipse, NetBeans and IDEA and a toolset of tricks it is possible to almost eliminate the build from the turnaround. Using frameworks like OSGi or Tapestry 5 and code reloading solutions like JVM HotSwap and JavaRebel is is possible to also lose deployment out of the picture. After this talk you should be able to significantly reduce turnaround, whether you're starting a project from scratch or maintaining an existing one.

>>http://www.zeroturnaround.com/javarebel/

Pizza and pop will be provided by our gracious hosts - >>OpenMarket and >>QPass PermaLink

no comments | post comment

Monday, 13. October 2008

21 Oct 2008 : Life in a Multi-Threaded World

Soon we will all need to be highly proficient with threading to make full use of all the potential that quad-core and higher CPUs are rapidly bringing to the computing landscape. But writing thread safe code can be tricky stuff. This talk examines in detail the real world experience of building one such highly multi-threaded application, a custom game server written in Java to support an online virtual game world. If you imagine Second Life or World of Warcraft but inside a browser, you're thinking along the right lines.

During the course of building this application, we learned that many of the techniques that worked well when writing small threaded applications were really not sufficient for a large, complex and scalable multi-threaded application. In this talk I'll discuss what problems we encountered and present a specific approach based on combining some concepts taken from Brian Goetz's work together with insights from Herb Sutter (a C++ concurrency guru) that turned things around and provide what I believe is a solid and yet relatively simple basis for building real world, large scale multi-threaded applications.

This is a nuts and bolts presentation, going from the high level concepts of what we were looking to achieve down to the specific implementation details. Since today not everyone has had the chance to write this sort of multi-threaded application from the ground up I hope sharing these insights will help others gain more confidence in writing complex, threaded applications so we can embrace and make better use of the hardware that will soon be upon us.

Spaker Bio
Douglas Pearson is co-founder and CTO of FlowPlay, Inc the makers of ourWorld.com. ourWorld is an online casual virtual world with over half a million users, where you can play games and have fun while earning clothing, furniture and other goodies. FlowPlay is Doug's second startup after founding ThreePenny Software which made mobile casual games for GameHouse and then RealNetworks from 2002-2006. He earned a Ph.D. in Artificial Intelligence from the University of Michigan in 1996 and is an ex-pat Brit having crossed the Atlantic for good in 1988. When not building virtual worlds, Doug may often be found playing competitive badminton much to the confusion of his American friends who don't believe such a sport exists.

Pizza and pop will be provided by our gracious hosts - >>OpenMarket and >>QPass PermaLink

no comments | post comment

Tuesday, 09. September 2008

16 Sept : The Busy Java Developer's Guide to Performance and Scalability

Note : This month's speaker is being facilitated by the folks who run the >>NoFluffJustStuff conference which is going to be hitting Seattle on the weekend after the meeting. Some lucky audience member will get a free pass to the conference ( worth $995/-) at the meeting.

Presentation
Wondering why your enterprise Java app just… sucks? Trying to figure out why you can't get more than 10 concurrent users online at the same time? Looking for ways to try and spot the slowdowns and ways to fix them? In this talk, we'll look at the various things that can occur in an enterprise Java app (from the smallest web site to the largest multi-resource environment) to make your Java apps perform and scale less well than they should, and how you can work to correct them. We'll examine a variety of broad concepts to apply in architecture and design, and examine what factors make an enterprise application slow, then use a variety of tools to figure out how to remedy them.

Speaker Bio
Ted Neward is an independent consultant specializing in high-scale enterprise systems, working with clients ranging in size from Fortune 500 corporations to small 20-person shops. He speaks on the conference circuit, including the No Fluff Just Stuff Symposium tour, discussing Java, .NET and XML service technologies, focusing on Java-.NET interoperability. He has written several widely-recognized books in both the Java and .NET space, including the recently-released "Effective Enterprise Java". He lives in the Pacific Northwest with his wife, two sons, four video-game consoles, thousands of books (on programming and otherwise), and eight PCs. PermaLink

no comments | post comment

Describe here what your SnipSnap is about!

Configure this box!

  1. Login in
  2. Click here: snipsnap-portlet-2
  3. Edit this box
snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt