Speakers
- Dan Allen
- Aaron Bedra
- Tim Berglund
- Rohit Bhardwaj
- David Bock
- Stevie Borne
- Jeff Brown
- James Carr
- Scott Davis
- Jeremy Deane
- Keith Donald
- Michael Easter
- Robert Fischer
- Neal Ford
- Brian Gilstrap
- Andrew Glover
- Brian Goetz
- Stuart Halloway
- David Hussman
- Mark Johnson
- Dave Klein
- Scott Leberknight
- Tiffany Lentz
- Howard Lewis Ship
- Chris Maki
- Matthew McCullough
- Alex Miller
- Ted Neward
- Michael Nygard
- Pratik Patel
- Mark Richards
- Brian Sam-Bodden
- Srivaths Sankaran
- Nathaniel Schutta
- Aleksandar Seovic
- Ken Sipe
- Brian Sletten
- Matt Stine
- Venkat Subramaniam
- Burr Sutter
- Vladimir Vivien
- Mark Volkmann
- Craig Walls
- Richard Worth
Kenneth Kousen
President of Kousen IT, Inc.
He has been a tech reviewer for several books on software development. Over the past decade he's taught thousands of developers in business and industry. He is also an adjunct professor at the Rensselaer Polytechnic Institute site in Hartford, CT. His academic background includes two BS degrees from M.I.T., an MS and a Ph.D. from Princeton, and an MS in Computer Science from R.P.I.
Blog
Making Swing Groovy, Part II: Binding
Posted Friday, October 3, 2008
In my previous post in this series, I presented a trivial Echo GUI written in Groovy. By using SwingBuilder and closures, the code for the GUI was dramatically simplified compared to the Java version. Bu more »Making Swing Groovy, Part I
Posted Sunday, September 28, 2008
I’ve been spending a lot of time lately trying to understand how much Groovy improves Swing user interfaces. Like so many Java developers, I rarely write client-side programs. Almost all of my time and effort with Java over at more »Minor bug in Grails selenium plugin
Posted Wednesday, September 10, 2008
There is a minor bug in the selenium plugin for Grails. It has been discussed on the mailing list, but I thought I would also document i more »Star rating in the Grails RichUI plugin
Posted Friday, September 5, 2008
I’ve been working on a Grails application for rating the popularity of Grails plugins. Rather than just use a simple form with radio buttons or a drop-down list, I t more »Podcast on Pulse in education and training
Posted Thursday, August 21, 2008
A couple of weeks ago I participated in a BriefingsDirect podcast about using Pulse in academic and training environments. For those who aren’t aware, Pulse is a product created by Genuitec (the same people who make more »Getting a list of Grails plugins programmatically
Posted Friday, August 15, 2008
In September, I’m very happy to be giving a couple of presentations at the No Fluff, Just Stuff conference in the Boston area. One of my presentations is a review of the various available Grails plugins. To prepare for that, I tho more »NetBeans 6.1 is a lot better than I thought
Posted Friday, July 18, 2008
This week I’m in New Haven, CT, teaching a class that combines UML and Java Web Services (an odd combination to be sure). The client wanted to use NetBeans as their primary IDE, and I always try to accommodate that if I can. more »Our last, best hope … for message digests?
Posted Thursday, June 26, 2008
So I’m teaching my course in Securing Java Web Applications (my third one in the last six weeks) and we got to a section that discussed the MD5 algorithm for generating message digests. One of the students asked, “whatever more »Presentations
Groovy by Example
A good way to understand how a language works is to collect examples where it is used in practice. That makes it easy to see which features of the language are likely to arise naturally to simplify your work. more »Grails Plugins: A Free Library of Functionality
One of the best features of the Grails platform is that its modular architecture makes developing plugins very easy. As a result, many, many plugins have already been developed, with the number growing almost daily. more »Making Swing Groovy
Java's standard library includes the Swing user interface toolkit, but using it correctly can be challenging. There are subtleties in the use of threads, inner classes, and layouts, and the resulting code can be dense. Groovy, with it's builders and clo more »Groovy and the Spring Framework
The recent purchase of G2One by SpringSource is expected to lead to a range of benefits, but in fact Spring and Groovy are old friends. Spring includes dynamic beans that can be modified while a system is still running, and of course the Grails framework more »Web Site Security Fundamentals
We'll review the basic principles of web site security, including the various forms of injection and cross-site scripting attacks, authentication and authorization strategies, and encryption. more »Use Google App Engine Monday Morning
Google App Engine (GAE) is Google's cloud computing platform, and unlike competing offerings it forces you to play in their sandbox. GAE originally supported only Python, but now provides a restricted JVM for Java-based languages. This talk covers the b more »Use GoogleMaps Monday Morning
GoogleMaps provides a straight-forward JavaScript API that can be used to add location information to your applications. We'll talk about how to get a key, build a map, add markers and polylines, and use the supplied widgets, among other things. We'll a more »Use JAX-WS Web Services Monday Morning
Although SOAP-based web services have been criticized, the JAX-WS API built into JDK 1.6 is remarkably easy to use. It's also a fact of life for many large corporations. more »Use Ajax Monday Morning
The rise of Asynchronous JavaScript and XML (Ajax) is one of the defining technologies of the last few years. It dramatically enhances the user's experience on a web site. In this talk, rather than focus on a particular product or approach, we'll review more »A good way to understand how a language works is to collect examples where it is used in practice. That makes it easy to see which features of the language are likely to arise naturally to simplify your work.
In this talk, we'll examine a series of small, self-contained applications where Groovy was used to great effect to solve common problems.
One of the best features of the Grails platform is that its modular architecture makes developing plugins very easy. As a result, many, many plugins have already been developed, with the number growing almost daily.
If you need to add functionality to your Grails application, look for an existing plugin first. This talk will survey a wide range of available plug-ins, including those for security, web services, testing, building maps and charts, sending email, and as many more as time allows.
Java's standard library includes the Swing user interface toolkit, but using it correctly can be challenging. There are subtleties in the use of threads, inner classes, and layouts, and the resulting code can be dense. Groovy, with it's builders and closures, can simplify this process dramatically.
In this presentation, Groovy Swing examples will be presented ranging from simple, stand-along GUIs to relatively sophisticated user interfaces making use of the SwingX libraries. Since no code exists until it is tested, the FEST framework will also be used to illustrate functional testing.
The recent purchase of G2One by SpringSource is expected to lead to a range of benefits, but in fact Spring and Groovy are old friends. Spring includes dynamic beans that can be modified while a system is still running, and of course the Grails framework uses Swing extensively. The purpose of this presentation is to illustrate the ways that Groovy already works with Spring, and show how a developer can take advantage of those capabilities right away.
Examples will include using Groovy beans in Spring systems, incorporating Groovy source code automatically, how the Grails Spring bean builder can help, and more.
We'll review the basic principles of web site security, including the various forms of injection and cross-site scripting attacks, authentication and authorization strategies, and encryption.
The presentation will illustrate some of the most common attack vectors and talk about ways to protect against them. We'll also talk about the OWASP Top Ten list and how the various available tools can be used to protect your site from attackers.
Prerequisite: none
Google App Engine (GAE) is Google's cloud computing platform, and unlike competing offerings it forces you to play in their sandbox. GAE originally supported only Python, but now provides a restricted JVM for Java-based languages. This talk covers the basics of GAE for Java: how to get up and running, what you can and cannot do, what types of problems it solves well, and more.
The GAE environment consists of a set of "approved" classes from both the Java standard and enterprise editions. It also requires you to use their own object-based persistence via either JDO or JPA. In exchange, GAE provides an interesting set of available services, ranging from caching to mail to task queues. We'll look at all of them and discuss their pros and cons.
Prerequisite: none
GoogleMaps provides a straight-forward JavaScript API that can be used to add location information to your applications. We'll talk about how to get a key, build a map, add markers and polylines, and use the supplied widgets, among other things. We'll also use the Google geocoder service to convert addresses to latitude, longitude pairs. The goal is to give you enough information to add a map to your application right away.
The API just changed versions to 3.0. We'll look at the new capabilities, as well as the differences from the previous version. While the API isn't as thorough as a true GIS solution, it's fast and easy to learn.
Although SOAP-based web services have been criticized, the JAX-WS API built into JDK 1.6 is remarkably easy to use. It's also a fact of life for many large corporations. In this talk, we'll review the basics of WSDL and SOAP and how the JAX-WS tools make use of them, then generate and consume several web services. We'll also look at handlers, both on the client side and on the server side. We'll even examine how JAX-WS supports RESTful web services.
The JAX-WS value proposition is all about code generation. The wsimport tool can be used to generate client-side stubs for almost any existing web service. The wsgen tool can be used to generate a WSDL file from existing Java code. Both will be demonstrated in this talk. We'll also review the basic annotations, both for JAX-WS and the XML serialization technology JAXB.
The rise of Asynchronous JavaScript and XML (Ajax) is one of the defining technologies of the last few years. It dramatically enhances the user's experience on a web site. In this talk, rather than focus on a particular product or approach, we'll review, through examples, the range of popular Ajax libraries, including prototype, script.aculo.us, dojo, and jQuery. We'll also identify the primary use cases for Ajax and show how you can make an impact right away.
Arguably the best part of the rapid adoption of Ajax has been the development of great cross-browser libraries. We'll look at their origins, their popularity, their capabilities (including whether or not they have their own components), and more. We'll also talk about issues like mungifiers, minifiers, and a bit about security.