All the News

September 15, 2008 4:20 PM
OCaml, Scheme, and Adenine support for IFCX Wings, an in-progress console, and OOo My!
IFCX Wings v0.7 is now available from the usual place (wow, spiffy new site design for!). It features an in-progress (during script execution) console that pops up during long running scripts. Very handy to see that something is happening while Ivy downloads your JAR dependencies. Default support for OCaml, Scheme, and Adenine has also been added.

I've tested the Wings.odt with OOo 3.0beta2 on Windows XP and Mac OS X Leopard and it seems to work fine except that on Mac there is no support for AWT (and consequently no Swing). It also works with OOo 2.4 on Windows and NeoOffice 2.2 on Mac. Earlier versions are mostly OK too, but don't go toooo far (like 2.0) or GroovyForOpenOffice won't work (and you need it for Wings).

Note that you must install Groovy For OpenOffice for the WingsEval macro to work. Otherwise you can just open the Wings document and read it, but the code won't be executable.

The keyboard shortcut for the Wings macro seems to work with all those versions and platforms too. The Wings.odt file is signed so that you can have some reasonable expectation that we're using the same bits. Of course if yours is not signed by my CA Cert showing JAMES PAUL WHITE and my email address then there may be a problem.

OCaml (Objective Caml) is a popular version of ML sporting OO features. OCaml-Java is the spiffy implementation for the JVM by Xavier Clerc used in Wings.

Adenine is the language of the MIT Haystack Semantic Desktop and is essentially a LISP for graphs. It features a RDF data model, Pythonic syntax, and is implemented for the JVM. I have extricated it's implementation from Eclipse and packaged it with a JSR-223 engine adapter so that Wings can support it by default. The Adenine Tutorial converted to IFCX Wings is available from SVN.

The Scheme support is using the SISC implementation (even though I'm long time Kawahead) because it has a JSR-223 engine already and it is also better for pedagogic purposes since it has full continuations.

There is also exciting news regarding and the Community Innovation Program, but I'll hold off on the details of that until November.

By Jim White  Permalink -Comments
May 12, 2008 11:00 AM
IFCX Wings & G4OO updated, plus we've got Scala!
The v0.6 release of IFCX Groovy For OpenOffice and Wings (version numbers bumped to align for the moment), demonstrated at CommunityOne and JavaOne last week, are available for download in the usual place.

A big THANK YOU to Brendan Humphreys and Peter Moore of Atlassian for the invitation and support to present Wings in a lightning talk at CommunityOne. I did have a nasty demo devil bite that prevented a live demonstration, so next time I'll have a Time Machine backup with me...

This release of Wings should be useful on at least an experimental level for the adventurous. The examples include plenty of Groovy of course, but also Ruby/JRuby, Python/Jython, and Haskell/Jaskell.

Apache Ivy integration enables JAR dependencies to be loaded dynamically and languages are pluggable via the JSR 223: Scripting for the Java Platform. JDK 1.5 is all that is required, although JDK 1.6 or 1.7 are fine of course.

G4OO v0.6 features Groovy 1.5.6 and Apache Ivy 2.0-SNAPSHOT bundled with the Ivy RoundUp Builder Resolver.

Using that pluggable language scheme, and thanks to a sprint at the Scala lift off last Saturday with the invaluable assistance of Lex Spoon and Toomas Romer, WE HAVE SCALA! You can download it from the usual place.

By Jim White  Permalink -Comments
November 1, 2007 7:01 PM
Groovy For OpenOffice v0.3 Released!
This release of GroovyForOpenOffice is faster and compatible with OpenOffice 2.3. It also includes the full collection of Groovy 1.0 library JARs.

Get it from the IFCX files area.

Also this release is the first to be available through the OOo Extension On-Line Update feature, which means if you've previously installed this extension you can get this version by clicking "Update" in the "Tools:Extensions..." dialog.

I've also created an Installation document to help folks get started.

The Groovy_Samples.odt has some install help but the notes on how to write nice(r) Groovy macros is not yet done.

For a spiffy example of what can be done with G4OO, a verrry early POC of IFCX Wings is also included. It too is a little short on explanations but watch the for further development news.

Please direct questions to the IFCX GroovyForOpenOffice forum.

By Jim White  Permalink -Comments
July 4, 2007 4:29 PM
Groovy For OpenOffice v0.2 Released!
Groovy For OpenOffice is an OpenOffice Extension that adds support for scripting OpenOffice Macros in Groovy.

This release fixes a bug that kept the extension from working on Windows.

Please report bugs (and success is welcome too!) to the GroovyForOpenOffice forum.

See the Groovy For OpenOffice page for download information.

Happy hacking!

By Jim White  Permalink -Comments
June 9, 2007 2:30 PM
Groovy For OpenOffice v0.1 Released!
Groovy For OpenOffice is an OpenOffice Extension that adds support for scripting OpenOffice Macros in Groovy.

I've just released an initial version for those who love bleeding on the edge.

I'm not able to provide much in the way of support for using this extension at the moment, so the OpenOffice community (which is large and strong) is the place to look for more information.

Of course I will be reviewing this code in detail at my OCJUG presentation next week.

See the Groovy For OpenOffice page for download information.

Happy hacking!

By Jim White  Permalink -Comments
June 8, 2007 1:28 PM
Winging it at the OCJUG (again)
I'll be talking about IFCX Wings (The Literate Scripting Toolkit) at the OCJUG next week (Thursday, June 14th).

And since the Wings prototype is going to be a bit undercooked, I'll also be showing illiterate scripting tools that are ready-to-use. In addition to Groovy For Open Office in depth, we'll also look at some other Groovy Tools.

The meeting location this month is at the Google Irvine office.

Google Hosted - OC JUG Meeting:

Date: Thursday, June 14th 2007
Location: Google Irvine
19540 Jamboree Rd.
Suite 200
Irvine, CA 92612

6:30pm-7:00pm (Networking, food, drinks)
7:00pm-7:15pm (OC JUG announcements)
7:15pm-9:00pm (Presentation)

If you're planning to attend, please RSVP to OCJUG Vice-Chair Ray Tayek (mailto:rtayek at so they can prepare name badges in advance.
By Jim White  Permalink -Comments
December 28, 2006 12:51 PM
DemoOOHTML & AntAnywhere updates
The DemoOOHTML and AntAnywhere code was updated earlier this month.

I'll be presenting on OOHTML and AntAnywhere at Code Camp next month.

By Jim White  Permalink -Comments
July 16, 2006 1:54 PM
IFCX on the Road!
IFCX is on the road to Bruce Eckel's Web Frameworks Jam in Crested Butte, CO.

I'm posting this update from Bryce Canyon, UT.

The ProjectSummary is where I'll be putting links to site starting points. The first few stubby pages are Brief GUI History, Object-Oriented HTML, and eRDF Demo.

By Jim White  Permalink -Comments
July 7, 2006 11:30 AM
IFCX presentation at July LAJUG & OCJUG
I will be making my debut (meaning there are more ideas than code, but then that's always the case with me) presentation introducing IFCX at the July LA Java User's Group on Tuesday July 11th. There will be an encore performance at the July Orange County Java User's Group on Thursday July 13th.

TITLE: Jim White Shows Off His New Thing

(aka Introducing IFCX : Internet Foundation Classes eXtreme!)


Topics currently planned include:

  • A Brief History of GUI Technological Innovation
  • Introducing IFCX : The Web is The Computer!
  • GWT : AJAX with Google Web Toolkit
  • IFCX : AppletServer ("Any Toolkit, Any Deployment")
  • IFCX : Ant Anywhere
  • IFCX : Web Site Publishing with JSPWiki
  • IFCX : Semantic Web Wikification System
  • And a Special Surprise (or two)!

There is also bound to be ranting about the Java GUI Trail of Tears, Open Source and Java, Java Renaissance, the Evil of Software Patents, and who knows what else. So don't miss it! Although if you do, you will have a second chance as the presentation will be videotaped.


Jim White ( is a software developer and consultant with decades of experience focused on GUI libraries & tools, build & deployment automation, networking, and embedded & portable devices. A long time LISP (formerly FORTH) hacker and Smalltalk admirer, he's been a Java fanatic since the JDK 1.0 beta release in 1995. More recently he's become an Open Source Software Business Evangelist, and is founder of the award-winning Darwine Project ( His pet project is PUP (the Program Understanding Program) and is realizing that vision through Semantic Web development in Internet Foundation Classes eXtreme! (

By Jim White  Permalink -Comments
July 7, 2006 11:21 AM
June OCJUG AJAX presentations on Google Video
The June 2006 OCJUG was recorded and posted to Google Video by Josh Rehman:

The main presentation was "Java Web development using Spring and DWR (AJAX library)" by Giuseppe Persiani, and I (Jim White) gave a minitalk (which turned rather longer than intended) introducing IFCX/GWT.

An archive of Giuseppe's presentation (PPT & source) as given at the SoCalCodeCamp in January is here:

Speaking of great video rants about (G)UI, I tripped over this link in the Scoble Exit Interview (which Scoble cites as his favorite):
Bill Hill - Windows is not the most important OS

And don't miss Bill's post in the discussion:

By Jim White  Permalink -Comments
July 7, 2006 10:45 AM
The IFCX : Internet Foundation Classes eXtreme! web site is alive!
I've been working on implementing Wiki Publishing for this web site (based on JSPWiki), and so haven't put any content here yet. Over the next several weeks I'll be filling in some details as I prepare for my Presentation Introducing IFCX at the July LAJUG .

If you're the sort who just can't wait to find out what this all about, you can check out my little talk at the end of last week's OCJUG meeting on Google Video. My intention was to give a little 10 to 15 minute sneak peek on GWT and the start of an IFCX Builder for it. That's basically what I did, but it ran rather long...

Check out the next entry for the announcement with the details.

By Jim White  Permalink -Comments