Brian Pontarelli - founder of Inversoft
Brian Pontarelli is the founder and president of Inversoft, a Colorado based software company. In addition to Inversoft, Brian works on many open source projects including Struts, Savant and Java.net commons. In the past, he was the president of the Chicago Java User Group and an enterprise architect for Orbitz.Brian has been programming for many years and works primarily with Java and Ruby. He has published various articles in both print and online magazines about Java, J2EE security, Java Server Faces and NIO.
Presentations by Brian Pontarelli
Dependency management
This talk covers the difficult subject of dependency management and uses the Savant open source framework to illustrate how to tackle some of the more difficult problems of dependency management. During this talk we'll cover the basics of dependency management, software versioning, compatibility, upgrading, and much more.Writing Good APIs
Writing APIs is fairly easy but writing an API that is usable and lives longer than a few days is hard. This talk discusses methodologies, tips and tricks for writing good APIs.JCatapult security in depth
This talk will focus on the JCatapult security framework and how it can be used and extended to provide security in web applications. JCatapult is a new web application platform and one of the features it provides is a security framework that handles most web application security needs. This framework is extensible and defines APIs that allow extremely loose coupling to the framework itself.Embedding Groovy
Groovy, a dynamic language specifically for Java, is making headlines because of its ease of use and speed of development. The best part about Groovy is that any Java application can use it via embedded Groovy. This talk will cover everything you need to know to embed Groovy in you Java application.JCatapult - components, services and more
JCatapult is a new open source application development platform similar to Spring, Grails and AppFuse. JCatapult provides the ability to create web applications and libraries quickly and also provides a number of features not found in other frameworks. This talk will cover the features of JCatapult and how to get up and start using it.Struts 2 basics
This talk will cover the basics of Struts 2, the latest version of Struts and the marriage of WebWork and Struts 1. We'll be discussing the features of Struts 2 and how developers can get up and running with Struts 2.Guice Dependency Injection
This presentation covers the latest dependency injection framework named Guice. Guice was written by the developers at Google and makes dependency injection lighter, faster and easier to write. Attendees will learn how to dependency inject their classes using Guice annotations and modules.Jini - Not just for your toaster anymore
This presentation covers all the basics of the Jini platform, which has recently been transitioned from Sun to Apache. This presentation will show how to construct a service based application using Jini as well as how the Jini network is structured and deployed. In addition, a demonstration of the cool Jini features such as dynamic discovery, recovery and provisioning will be given.Struts 2 convention over configuration
This talk focuses on how developers can create Struts 2 applications with little or no configuration using the Struts 2 Convention Plugin. This plugin leverages Struts 2 plugin system and can be dropped into any Struts 2 application. We'll cover how to add the plugin to an application and start coding Struts 2 applications without configuration.JCatapult components in depth
This talk will focus entirely on JCatapult component development. JCatapult is a new web application platform that allows developers the ability to write true components that can be plugged into any JCatapult web application. These components can have entity objects, actions, views, services and much more. During this talk, we'll discuss all the possibilities and create a new component.SOA Topologies
This talk will cover many of the different types of SOA topologies from EJBs and WebServices all the way to message queues and tuple spaces. SOA has many different meanings but it never dictates a single implementation and this talk covers many of the most common implementations of a service oriented architecture.Bullet Proof Builds
Learn how to create software builds that will stand the test of time and make the world a better place - okay perhaps just your development environment a better place. Builds are usually the tedious work that we all leave to the last minute or sometimes throw together as we build an application. But in most applications, builds contain complex logic and many dependencies, just as the application does. This presentation covers how to make a manageable and enjoyable build system using Apache Ant and a new Ant framework that is part of the JCatapult platform called JCatapult-Ant.Versioning your SOA
Learn how to manage service oriented architecture applications over time. This talk will focus on how to deploy a SOA application and version components individually. It discusses the finer points of upgrades and how to architect your system so that each deployment doesn't mean stopping and starting "the whole world" and how to attempt to achieve the "four nines" (99.99%) uptime ideal.Invert Your Mind
Brian Pontarelli
Wednesday, May 14, 2008
Got my Lenovo Thinkpad X300 last week and I’ve been using it for development for only a few days. Here are my first impressions:
Pros
- Very lightweight
- Fast - the SSD drive seems to make some things pretty fast and the system is fast enough for the work I do
- Nice screen
- THE BEST KEYBOARD ON A LAPTOP (as all Thinkpads have)
- The Trackpoint (never leave home row again)
Cons
- The fan is the WORST PIECE OF CRAP EVER!!!!!
After much research and pain it appears that Thinkpads in general have a horrible issue with fan noise. Apparently, the Thinkpad BOIS pretty much refuses to turn the fan off and the fan goes directly from 1000 RPMs when cool to 6000 RPMs when hot. There is no intermediate fan speed. Well, needless to say that 6000 RPMs is extremely annoying.
I would definitely not recommend this machine to anyone looking for a solid work laptop because the fan noise is considerable enough that after an hour or two of working with that drone you are certain to have a monster headache and feel like throwing up. I’ll probably sell it and get an Apple instead. At least then I know I’ll have very little problems with the hardware.
Friday, April 11, 2008
Found this funny. Looks like Lenovo has some issues in their pricing application today. I was planning on purchasing an X300 at some point, but with their new price tag of $11,000, I just don’t think I can afford it. Haha
Thursday, April 10, 2008
I host a number of projects including JCatapult over at Google code. We use the wiki over there for our documentation because it is simple and centralized. The wiki is stored inside the SubVersion repository and when you update the wiki it performs a commit to the repository. Pretty straight-forward.
One of the project members, James Humphrey, was editing our wiki last night, finished editing a page and hit Save. Rather than just updating the wiki page in SubVersion, Google’s custom built SubVersion server decided it wanted to completely revert our entire project back to revision 1. Yeah, I’m totally serious!
Well, the old revisions appear to be in the repository, but in order to clean this clandestine (hehe) mess up I’ll have go in by hand and revert our entire repository. This consists of roughly 10 sub-projects and 5 tags for each project plus branches, etc, etc. Really nasty.
So, here is my warning to all those out there that might be using Google Code, be careful. I’m working with Google right now on trying to figure out what happened and how to fix it. I’ll update this post once we figure it out.
Tuesday, April 1, 2008
I opened a new Google Code project to manage the scripts I wrote that allow multiple instances of Tomcat to be run on Ubuntu. These scripts are now fully open source (more so than before I guess) and available to everyone. They are also more up-to-date than they were in my previous blog post about them.
Anyways, here’s the project link:
http://code.google.com/p/debian-tomcat-scripts/
You can check them out from SubVersion or browse them online. Enjoy!
Wednesday, March 26, 2008
First off, let me just say that I don’t like any rich text editors very much. They are all a messy mix of HTML, JS, CSS, etc. There isn’t anything out there that is truly clean, feature rich and performs well. FCK has always been my least favorite, but I thought I would try 2.6 BETA and I was surprised at how much they added and updated things. This release has better dialogs and a smoother JavaScript experience. It is also less static and easier on AJAX apps.
Anyways, back to the point. JCatapult applications all use SiteMesh for templating and decoration. They actually have to because of our componentization model, otherwise components would be coupled to specific decoration or worse require tons of configuration (anyone interested in this concept contact me directly). Well, SiteMesh decorates your HTML using the GoF decorator pattern. Essentially the servlet container renders your JSPs or FTLs. That HTML is written out to the output stream, which SiteMesh has nicely intercepted being as it is a Filter. Once all the other Filters and servlets in your app complete, SiteMesh post processes the request, parse the HTML and decorates it. Very simple. The issue is that FCK editor uses HTML, JS, and CSS inside iframes in order to work its magic. Very ugly. What happens is that SiteMesh might end up decorating requests for FCK files. FCK REALLY doesn’t like this and usually you’ll end up with one of these symptoms:
- No edit area, just the toolbar
- Empty dialog boxes
- Totally borked drop-shadows on dialogs
The quick fix, just tell SiteMesh to ignore FCK. You can accomplish that inside decorators.xml using an exclude:
<excludes> <pattern>/fckeditor/*</pattern> </excludes>

