Rich Web Experience

NFJS / Java World Podcast

Private Events

Blogs

View all Blogs >>
  • Nathaniel Schutta

    Author, speaker, software engineer focused on user interface design.

    Clearly I’ve kicked off a trend - one day, I post about pro cess, a more»

  • Richard Monson-Haefel

    VP of Developer Relations, Curl Inc.

    more»

  • Erik Doernenburg

    Principal Consultant @ Thoughtworks

    For a few releases the Apple development tools have included OCUnit and many developers have now started to write unit tests. There are lots... more»

  • Ryan Shriver

    Business and Technology Consulting

    more»

  • Ted Neward

    Enterprise, Virtual Machine and Language Wonk

    The Pragmatic Programmer says, "Learn a new language every year". This is great advice, not just because it puts new tools into your mental... more»

  • Andrew Glover

    Co-author of "Continuous Integration"

    Dan North, the veritable progenitor of behavior driven development (or BDD), more»

  • Brian Pontarelli

    Brian Pontarelli - founder of Inversoft

    Found a good shortcut for getting access to hidden folders in OS X file dialogs and the Finder. It requires some typing and it doesn’t... more»

  • Neal Ford

    Application Architect at ThoughtWorks, Inc.

    Last weekend, I spoke at the Ag ile Experience in Reston. It was a great con more»

  • Mike Levin

    Software Developer specializing in Web2.0 websites

    GMail complains that the 44 Kbps internet dial up connection I'm using may be too slow. It suggests that I switch to HTML view. I reload the... more»

  • Jason Rudolph

    Author of Getting Started with Grails

    Tests increasingly serve multiple roles in today’s projects. They help us design APIs through test-driven development. They provide... more»

  • Jared Richardson

    Agile coach and co-author of Ship It

    For those of you who are wondering if Ruby is enterprise worthy, then eRubyCon is for you. The speaker list is a "W more»

  • Vladimir Vivien

    Software Engineer / Consultant

    Judging from the list of features that will be included in NetBeans 6.5, more»

  • Alex Miller

    Sr. Engineer with Terracotta Inc.

    Looks like the JavaOne team now has most of the audio up from the JavaOne 2008 conferen more»

  • David Bock

    Principal Consultant, CodeSherpas Inc.

    I just spent this weekend speaking at the Ag ile IT Exchange conference i more»

  • Howard Lewis Ship

    Creator of Tapestry and HiveMind

    Just hit a NullPointerException in some code: public boolean isOwner() { return authManager.getUser().equals(blog.g etOwner( more»

  • Michael Nygard

    Agile technology leader and dynamicist

    A couple of years ago, the Minneapolis-St. Paul airport introduced self-pay parking gates. Scan a credit card on the way in and on the way... more»

  • Scott Leberknight

    Chief Architect at Near Infinity

    I ran into a situation the other day with Groovy that baffled me at first. Let's create a range from 0.0 to 10.0 and then use it to check if... more»

  • Matt Raible

    Creator of AppFuse and author of Spring Live

    From the Link edIn Engineering Blog: more»

  • Venkat Subramaniam

    Founder of Agile Developer, Inc.

    This morning I got an email "I thought you might get a kick to see that your (and Andy���s) book was named one of the Top 100 Software more»

  • Guillaume LaForge

    Groovy Spec Lead & Project Manager

    more»

  • Jeff Brown

    G2One Director Of North American Operations - Groovy and Grails Developer

    I am pleased to announce that we have worked up a Grails plugin for Hudson. more»

  • Kirk Knoernschild

    Software Developer & Mentor

    I’ve published a summary of the OSGi survey results on the APS blog more»

  • Stuart Halloway

    CEO of Relevance

    I was talking to Tim the other day about auditing Rails projects, a more»

  • Graeme Rocher

    Project Lead of the Grails Project & CTO of G2One

    Brian Guan, one of the pioneers of Grails use within Link edIn, has started a more»

  • Brian Goetz

    Author of Java Concurrency in Practice

    This surprised the heck out of me.�� We recently finished a new TV room down in the basement.�� We have a 50″ plasma TV, mounted on the... more»

  • Pramod Sadalage

    Co-author of "Refactoring Databases:Evolutionary Database Development"

    So we version control/source control everything on our project.. code/data/artifacts/diagrams etc. yesterday I said why not extend it to my... more»

  • Jason Harwig

    Software Engineer

    I was reading a blog entry at more»

  • Craig Walls

    Author of Spring in Action

    For quite some time I've been pondering OSGi and how it fits into enterprise Java. And that interest has been magnified over the past month... more»

  • Keith Donald

    Lead of Spring Web and Creator of Spring Web Flow

    Today I am delivering a presentation entitled more»

  • Pratik Patel

    Software Architect

    Shake off that St. Patrick's day hang-over by coming over to the AJUG meeting this Tuesday, March 1 more»

  • Pete Behrens

    Organizational Agility Coach

    Marti nig & Associates Methods & Tools group recentl more»

  • Joseph Nusairat

    Author of Beginning JBoss Seam & Co-Author of Beginning Groovy & Grails

    Today is the first day of JBoss World, I survived the first three presentations and waiting for the keynote to be  complete to d more»

  • John Heintz

    Principal Consultant with New Aspects of Software

    This post is to mostly keep track of the numerous blog threads going on about IDLs and schemas for REST. I find myself with more to say that... more»

  • Brian Sam-Bodden

    Java author, Ruby geek and Open Source Advocate

    In this installment we are going to build the Dashboard page of the Tempo application. T more»

  • Mark Fisher

    Spring Integration Lead

    In my recent post, I had mentio more»

  • Ron Bodkin

    Chief Software Architect, Quantcast

    I'm looking forward to speaking at The Rich Web Experience conference in San Jose next month. The event runs from September 7th through 9th.... more»

  • Mark Goodwin

    Web Application Security Specialist

    We've already looked at one of the two big problems posed by anti DNS pinning on Java applets; because there's rebinding on the applet and... more»

  • Scott Davis

    Author of "Groovy Recipes" & TDD Expert

    Every time I see a live show at the Denver Botanic more»

  • Romain Guy

    Java User Interface expert.

    more»

  • Ramnivas Laddad

    Author of AspectJ in Action, Principal at SpringSource

    InfoQ.com has published my AOP myths and realities talk recorded at a No Fluff Just Stuff conference. InfoQ.com founded by Floyd Marine more»

  • David Geary

    Author of Graphic Java and co-author of Core JSF

    The 2006 NFJS tour kicked off t more»

  • Jason Hunter

    Author of Java Servlet Programming

    I just posted the JDOM 1.1 release for download. This release includes about 20 improvements and bug fixes. more»

  • Kito Mann

    Editor-in-chief of JSF Central and the author of JSF in Action

    Java™Server Faces (JSF) technology, a server-side framework that offers a component-based approach to Web user-interface development,... more»


In the Spotlight - Geert Bevin

Sun Java Champion and Creator of the RIFE Application Framework

Geert is a developer at Terracotta Inc., is the CEO and founder of Uwyn bvba/sprl and created the RIFE project which provides a full-stack Java Web application framework for quickly building maintainable applications. He started or contributed to open-source projects like Bla-bla List, OpenLaszlo, Drone, JavaPaste, Bamboo, Elephant, RelativeLayers, and Gentoo Linux. Geert is also an official Sun Java Champion.

























Presentations by Geert Bevin

Cutting-edge productivity with RIFE and Web Continuations

RIFE is a full-stack, open-source Java web application framework, offering fast results with the promise of maintainability and code clarity. This session will review the novel ideas in Java web application development that RIFE has introduced to the development community.

OpenLaszlo: From RIA to Ajax and Mobile

OpenLaszlo is an open-source Java platform for creating zero-install web applications with the user interface capabilities of desktop applications. This presentation gives you an introduction into the programming model and highlights the most important features through small, targeted code examples. You'll also learn about tips and caveats as well as best practises while developing your OpenLaszlo application.

Exploring Terracotta : JVM clustering in the real world

Terracotta provides open-source clustering for Java and removes the burden from the developer by providing you with Network Attached Memory. This is however so generic that it's sometimes difficult realize which use-cases can benefit from it. This presentation introduces the basic principles of Terracotta and explains how to configure and integrate it into your application. Afterwards, we'll go through a collection of real-world examples that all benefit from JVM-level clustering so that you can get a feel for the possibilities.








New RIFERS blogs entries from Geert Bevin
The feeds of the Rifers community blogs


Geert Bevin's complete blog can be found at: http://rifers.org/blogs/gbevin

Friday, February 29, 2008

I've been recording all my screen casts with SnapzPro and then re-recording them with Camtasia Studio on Windows to be able to edit them. This is to say the least, extremely tedious.

Yesterday I stumbled into ScreenFlow, an all-in one screen recording and video editing application with very cool features like call outs, video actions, key press display, etc. You can even capture audio from multiple sources and record your iSight at the same time as doing your screen cast. Afterwards you can combine them by manipulating the individual tracks and for example get a cool narrator call out that sits in a corner of the screen cast.

I also like their approach towards the recording operation itself. You don't have to constraint yourself by deciding which area of the screen has to be recorded beforehand. With ScreenFlow you just record everything and crop it in the editor afterwards. They are using a custom algorithm that only records changes that appeared on the screen, so even my 2560x1600 resolution was recorded together with audio and the iSight video, without any sign of a hick-up. I love it!

It might be a tad on the expensive side ($99), but considering the functionality that you get, I don't think it's exaggerated.


Friday, February 15, 2008

The yearly open-source Fosdem conference takes place again in Brussels on February the 23rd and the 24th.

I'm giving a 15 minute lightning talk about Terracotta on Saturday the 23rd at 15h40. Given the available time, I will not be able to say much and will just try to wet everybody's appetite. I'll stick around for a while afterwards to answer question and give demos and such.

You can find the details here:
http://fosdem.org/2008/schedule/events/456

Looking forward to the conference and catching up with everyone in real life :-)


Tuesday, February 5, 2008

coverAfter many months of editing and fine-tuning, Manning finally published Laszlo in Action, the first comprehensive guide towards OpenLaszlo besides the reference documentation.

I received a final copy through DHL yesterday. Norman Klein and Max Carlson really did a great job explaining the technology behind this vast RIA framework, and it has been a pleasure to review several chapters of the earlier drafts.

I'm sure this book will make it much easier for people to develop with OpenLaszlo as it clarifies some of the lesser known intricacies.


Monday, February 4, 2008

After several months of constant pain in my back, I finally decided to get scans made of my spine. Turns out I have a double lumbar disc hernia (L4-L5 left and L5-S1 right). Luckily they are minor, so there not even talk of needing an operation.

For the hernias to go away, I need to rest. I'm supposed to lie flat on my back all the time with my legs folded in an angle. This should reduce the tension in my back and allow it to cure by itself. This position makes it however very difficult - almost impossible - to program while holding a laptop. I searched the web for appropriate laptop stands and stumbled into 'The Lappyvator', a build-it-yourself project that is easy to execute. The only downside seems to me that your arms are in a vertical position and don't rest on anything at all, which is bound to be very tiring. Luckily, I use the AlphaGrip as my keyboard, so I don't need to touch the laptop, eliminating this problem.

Now I'm able to work regular hours and totally rest my back. I haven't tried it yet, but it also seems like an awesome approach to watch movies or series in bed with the laptop.

Below are the pictures of my own lappyvator. I've built it so that I can easily remove the horizontal feet and take it with my in a suitcase when I travel: at last comfortable computing in hotel rooms!

laptop stand bed 1

laptop stand bed 2

laptop stand bed 3


Wednesday, January 30, 2008

It's been a while since I wrote some raw JDBC code. I didn't remember that it was so tedious to manually close a series of PreparedStatement objects and make sure that any exception was properly handled and reported.

Note that the ARM blocks or BGGA closures proposals don't make this easier since this cleanup should be done after the prepared statements have been used for a while in various other methods, it doesn't automatically have to be done at the end of a lexical scope.

This is what I came up with.

Of course, you could write an alternative implementation that creates some kind of repository for the prepared statements in a map and then provide a method that closes them all by going over the entries of the map while preserving the exceptions in a similar manner. Any other suggestions or comments for this to be done better?

private PreparedStatement psStmt1;
private PreparedStatement psStmt2;
private PreparedStatement psStmt3;
 
public void cleanup() throws SQLException {
  SQLException exception = null;
  if (psStmt1 != null) {
    try {
      psStmt1.close();
    } catch (SQLException e) {
      exception = e;
    } finally {
      psStmt1 = null;
    }
  }
 
  if (psStmt2 != null) {
    try {
      psStmt2.close();
    } catch (SQLException e) {
      if (exception != null) e.setNextException(exception);
      exception = e;
    } finally {
      psStmt2 = null;
    }
  }
 
  if (psStmt3 != null) {
    try {
      psStmt3.close();
    } catch (SQLException e) {
      if (exception != null) e.setNextException(exception);
      exception = e;
    } finally {
      psStmt3 = null;
    }
  }
 
  if (exception != null) {
    throw exception;
  }
}