Jim Driscoll

Subscribe to Jim Driscoll: eMailAlertsEmail Alerts
Get Jim Driscoll: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Latest Blogs from Jim Driscoll
In my other blogging site, I've been using JDK 8 features to answer some sample interview questions. Here's a quick recap: To learn the Java 8 API’s, I relied on Cay Horstman‘s just released book, Java SE 8 for the Really Impatient, and I can’t recommend it enough. ...
In my previous post, I discussed the example program that I wrote to exercise the things I've described so far.  Today I'll discuss what the DSL will actually look like - as with most programming tasks, designing your DSL before implementation is almost always advised. There are a coup...
My very first programming language was BASIC.  But the first time I ever thought I could do this for a living was when I discovered LOGO.  While the language itself didn't interest me in particular, I was fascinated by Turtle Graphics. If you're unfamiliar with Turtle Graphics, it's a ...
In my other blogging site, I've covered many of the basics of creating DSLs in Groovy: What DSLs are, and why you'd use them A quick introduction to Groovy, part 1 and part 2 Dynamically executing Groovy Programs Creating binding variables (the nouns of your language) Creating new met...
I won't be speaking at JavaOne this year, and didn't get a pass through work. Regular tickets to JavaOne are… a bit pricey for someone to finance out of pocket, but there is an option for folks who want to see a bit of things:  There's a JavaOne Discover pass, which cost $75 ($50 with ...
I've been neglecting my blog, but just a quick note to mention that my latest talk at JavaOne, DSLs with Groovy, is posted up on Slideshare. The talk's designed for someone with no significant Groovy experience (unlike most Groovy DSL talks), so if it's interesting to you, check it ou...
Now that we've gone over some Groovy basics, it's time to switch back to writing in the Java language, and talk about how to run Groovy programs inside your Java programs.  Like most general purpose programming languages, there's more than one way to do things in Groovy, and that's nev...
Before I start talking about using Groovy's capabilities to create a DSL (mostly in Java), let's take a few minutes to go over what Groovy is. Groovy is a general purpose scripting language that runs on the JVM, and can largely be viewed as a superset of Java. Is this a Groovy progr...
In my previous post, I started with a simple Java program (which also worked in Groovy), and slowly stripped out the cruft until I was left with the following Groovy script: def sayHello(name) { println("Hello $name!") } def name = 'world' sayHello(name) Now, let's add a little ch...
It's been a while since I've blogged last (ok, it's been a year), but I recently came across a question that I have a little insight into, and I thought I'd tackle it briefly. The question was simple:  "How do I test my JSF application?" I've used two different test frameworks to do ...
It's been a while since I've blogged last (ok, it's been a year), but I recently came across a question that I have a little insight into, and I thought I'd tackle it briefly. The question was simple:  "How do I test my JSF application?" I've used two different test frameworks to do so...
Although I'm not involved in the talk selection process this year, I'm still paying attention to JavaOne. The Call For Papers appears to be open now, through March 14th. Be sure to read the Submission Criteria before submitting a proposal for a paper. Trust me, it'll help your idea...
Over the weekend, I was reading Mark Pilgrim's great book on HTML5 - and when I got to the part about the semantic tags, I thought it might be worth a quick mention. In case you've missed out on HTML5 in general (and don't want to take the time to read that book I linked above), the id...
Progressive Enhancement is a philosophy of web design - start with simple pages, and build them up based on the capabilities of the browser viewing the page. It’s related to (and in some ways, the opposite of) the idea of Graceful Degradation, starting with a nice, fancy page, an...
In a recent blog, commenters took me to task for a perceived IE 6 memory leak. It wasn't actually there (they were wrong), but in attempting to prove myself right, I found a couple of memory leaks under IE in JSF's Ajax support. Since I just spent a week learning how all this functio...
Just a short post to note that we've now shipped Mojarra 2.0.1. This version fixes a very serious bug when running on Tomcat. You can pick up the files from the usual places, see the release notes for more information. If you're using GlassFish, and already running 2.0.0 (you lead...
I've had a few requests for request aggregation, ala RichFaces queues, in JSF 2. This was deliberately not included in JSF 2.0, but it will be considered for JSF 2.1. The reason why is simple - there was simply not very much time, once all the base Ajax work was completed, to add any...
After years of effort, I'm delighted to echo Ryan Lubke's announcement that Mojarra 2.0 is final! Please check Ryan's blog for all the details.  You can download it directly from the project website, or just use maven to get the latest stuff.,.
In talking with Andy Schwartz before our recent talk together at Oracle Open World, Andy mentioned that he'd like to see some new components make it in to JSF 2.1. I'd like to see that too - but what new components? To aid the discussion, I thought it might be handy to make up a lis...
I've posted the slides for the talk that Andy Schwartz and I did at Oracle Open World up on Slideshare. Check 'em out.
Unlike most of my blog posts, where I try to describe the easiest possible way to do things, in this posting, I'll instead go over a Java-based custom JSF component that responds to the Ajax tag. The reason being that there simply aren't any examples out there of how to do this, and a...
I've placed my slides for my JSF 2 and Ajax talk up on slideshare. Check 'em out, and ask questions in the comments.
Just a reminder that while you are developing a JSF 2.0 project, you really, really, really should enable the Development Project Stage. Doing this enables better error messages, including in the client side JavaScript, at the cost of some performance. Enabling this is as simple as pu...
Today we're going to talk about two features of JSF 2.0's f:ajax tag: the event attribute and the listener attribute. The use of both of these is really, really simple - so I'll just briefly cover the basics, and then launch directly into the sample code. The "event" attribute o...
I'll be speaking at the Herbstcampus next week, on topics such as JSF 2, JSF and Ajax, and Comet. If you're in Nuremburg next week, or just want to be, the conference looks pretty cool, come join us.
The Open Ajax Alliance is a standards organization with the mission of ensuring interoperability within Web based Ajaxified applications. One of their standards relates to intercomponent communication - the ability to subscribe and publish messages which can then be picked up by code w...
A few weeks ago, I blogged about ways to execute scripts on the client which you were writing out from the server via Ajax.  By popular demand, the latest build of Mojarra now allows execution of inline scripts. So, instead of having to either bundle code into an <eval> tag...
Using the f:ajax tag can make doing ajax with a repeating tag like ui:repeat considerably easier.
Using the f:ajax tag can make doing ajax with a repeating tag like ui:repeat considerably easier. A nice feature of Facelets is the ui:repeat tag, which iterates over a supplied list of values to do a full list on your page. One...
Dealing with field focus in JSF 2 and ajax. It's not hard, but you do have to keep a basic rule in mind: Don't update the parent of the field with focus.
Dealing with field focus in JSF 2 and ajax. It's not hard, but you do have to keep a basic rule in mind: Don't update the parent of the field with focus. A recent user question, which has been repeated enough times to warrant ...
In my last blog entry, I went over getting a YUI widget working on JSF2. This time, let's go over what's required to move that widget into a JSF component. No Java required, but a fair bit of JavaScript.
In my last blog entry, I went over getting a YUI widget working on JSF2. This time, let's go over what's required to move that widget into a JSF component. No Java required, but a fair bit of JavaScript. In my last blog entry,...
There's more to web development with JSF than just using JSF component libraries - there's a lot of really great widget sets out there that have nothing to do with JSF - here's a quick example of using one (the YUI Calendar widget) with JSF, Ajax, and a Managed bean.
There's more to web development with JSF than just using JSF component libraries - there's a lot of really great widget sets out there that have nothing to do with JSF - here's a quick example of using one (the YUI Calendar widget) with JSF, Ajax,...
About a year ago, I gave a talk at JavaOne on how to write a Comet powered TicTacToe game. At the time, I used the Grizzly Comet APIs. Here's an update for it to use the multi-platform Atmosphere API set.
About a year ago, I gave a talk at JavaOne on how to write a Comet powered TicTacToe game. At the time, I used the Grizzly Comet APIs. Here's an update for it to use the multi-platform Atmosphere API set. About a year ago, I ga...
David Geary has the third of his three part series of JSF 2 articles up. If you're getting started with JSF 2, go check it out - lots of good information there.
David Geary has the third of his three part series of JSF 2 articles up. If you're getting started with JSF 2, go check it out - lots of good information there. Since I mentioned the other two parts of his article, it's worth po...
Hazem Saleh has posted a short blog on executing scripts in a JSF client page. Here's a link, along with some comments on his post.