[Steering Committee] Presentation

Brett L. Schuchert schuchert at yahoo.com
Wed Sep 5 09:09:45 PDT 2007


Bio:

Brett Schuchert has over 20 years of teaching experience and 17 years  
of professional software development experience. Starting in the mid  
80's he taught computer literacy courses. At the end of the 80's  
while still teaching, he began professionally developing first in C++  
(before C++ had multiple-inheritance) and working with Smalltalk (and  
for a short stint back he used a pre-ANSI, K&R type 1 C compiler for  
embedded systems development). He continued with C++ and Smalltalk  
training and consulting, managing to work with both C++ and Smalltalk  
on the same project using object-oriented database technology for the  
short time it was in vogue.

In 1997 he developed and deployed his first Java application on top  
of Java 1.0, which he later migrated to Java 1.1 to take advantage of  
the newly-added Java Serialization. The project used applets to  
directly update the DOM of a complex web page to avoid the full turn- 
around of an HTTP get (this is now referred to as AJAX).

He has continued developing enterprise-level applications in Java and  
has recently changed the emphasis of his training and mentoring  
towards software professionalism.

Presentation:

Hello Java:
	From no-threading to the executor framework built in to Java 5
		This is a quick hop through basic threading.
			We start with a single-threaded server with a failing test (due to  
performance).
			We fix the performance problem by introducing basic threading  
(justified by the Single Responsibility Principle)
			We then upgrade the server to us the Executor framework instead  
hand-rolling threads
			This is a quick example of creating a fixed-size thread pool
			If time permits (it probably won't), we'll look at a deadlock  
problem with the executor framework.

Main Presentation
	This presentation assumes familiarity with Java, JUnit 4, and basic  
Threading - the hello Java should suffice
		We begin with a simple problem of an unguarded, shared resource
			We fix the problem using synchronized (basic)
			We fix the problem by NOT guarding (intermediate) using a Java 5  
class to do so
			We then discuss the background behind how this works
		We continue with a real problem, trying to screen scrape some web  
pages using the HTTP Client. The whole process takes 30 seconds
			We evaluate the work to figure out
				The CPU bound parts
				The I/O bound parts	
				Estimate how much we can speed things up
			We then test our way into a multi-threaded solution
			Evaluate the results
			Remove contention
			Move towards our theoretical maximum speed
			Along the way we'll learn a little more about the executor framework
			(Note: I'll skip some steps to cover more material.)
		If we have time (we probably won't), we'll have a look at a few  
more of the Java 5 classes:
			Barrier or Latch (haven't picked which one yet)
			ConcurrentHashMap

Picture
		
On Sep 4, 2007, at 5:19 PM, Jason Lee wrote:

> On 9/4/07, Brett L. Schuchert <schuchert at yahoo.com> wrote:
> Did someone want a bio, outline and picture for the presentation?
>
> A picture, short bio, and a summary of each presentation (Hello  
> Java and the main presentation) would be GREAT! :P
>
> Thanks!
>
> -- 
> Jason Lee, SCJP
> Software Architect -- Objectstream, Inc.
> JSF RI Dev Team
> http://blogs.steeplesoft.com
> _______________________________________________
> Sc mailing list
> Sc at lists.okcjug.org
> http://lists.okcjug.org/listinfo.cgi/sc-okcjug.org
> http://wiki.okcjug.org
> http://tech.groups.yahoo.com/group/okcjug/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okcjug.org/pipermail/sc-okcjug.org/attachments/20070905/5b1384f3/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: brettsunspace.jpg
Type: image/jpeg
Size: 128129 bytes
Desc: not available
URL: <http://lists.okcjug.org/pipermail/sc-okcjug.org/attachments/20070905/5b1384f3/attachment.jpg>


More information about the sc mailing list