192 symposiums and 29,850 attendees since 2001

Kenneth Kousen

President of Kousen IT, Inc.

Ken Kousen is the President of Kousen IT, Inc., through which he does technical training, mentoring, and consulting in all areas of Java and XML. He is the author of the upcoming book about Java/Groovy integration, entitled "Making Java Groovy", to appear from O'Reilly this year.


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 III: EDT

Posted Monday, October 13, 2008

I more »

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 »
Read More Blog Entries »

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 »

Groovy by Example

close

Kenneth Kousen By Kenneth Kousen

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.


Grails Plugins: A Free Library of Functionality

close

Kenneth Kousen By Kenneth Kousen

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.


Making Swing Groovy

close

Kenneth Kousen By Kenneth Kousen

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.


Groovy and the Spring Framework

close

Kenneth Kousen By Kenneth Kousen

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.


Web Site Security Fundamentals

close

Kenneth Kousen By Kenneth Kousen

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


Use Google App Engine Monday Morning

close

Kenneth Kousen By Kenneth Kousen

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


Use GoogleMaps Monday Morning

close

Kenneth Kousen By Kenneth Kousen

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.


Use JAX-WS Web Services Monday Morning

close

Kenneth Kousen By Kenneth Kousen

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.


Use Ajax Monday Morning

close

Kenneth Kousen By Kenneth Kousen

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.