Sunday, September 20, 2009

Barcelona Pentaho Community Meetup 2009 Pics

We fly home from Barcelona tomorrow, a lovely vacation and another fantastic Pentaho community gathering.

I'll be chatting with many of you online in the near future, and hopefully will see everyone again next year - Vienna is it? Sweet!

As promised, here's my pics :)

kindest regards,

Saturday, September 19, 2009

Hola from Barcelona, Community Gathering 2009

We're close to restarting the sessions for the afternoon, just dropping in to update my fellow Pentaho colleagues on the gathering:)

We got a bit of a late start this morning, mostly because the community started the meetup last night, and the socializing lasted into the wee hours for the group. A great time was had by all :) The morning's speakers had great content, covering a variety of topics, from Mozilla statistics presentation with CDF to the latest revision of PAT, the community analysis tool. Roland and Jos are here, our celebrated Pentaho Solutions authors, signing books and presenting the basics of developing custom CDF components.

And in traditional European holiday style, we're late in getting the afternoon sessions started, most of our group (around 40 attendees with community and Pentaho included)is still in earnest roadmap discussions at the cervesseria :)

Next post, some pics for posterity.

buenos tarde!

Monday, September 14, 2009

Pentaho Community, Together in Barcelona

Doug and I arrived in Barcelona this morning, early enough to see some of this beautiful city before the Pentaho Community Meetup this weekend.

This is the second annual community meetup, an event that is organized and planned completely by Pentaho community for Pentaho community. No fluffy corporate speak, just a full weekend of Pentaho community developers and users showing off their stuff, talking through their current projects and solutions, and having a few beers and some fun. Many thanks to Tom Barber for planning and sponsoring much of this year's event.

We look forward to seeing familiar faces, and new community as well:0) See you all very soon!

Friday, August 21, 2009

Thanks Roland and Jos: Pentaho Solutions IN PRINT!

I received my pre-ordered copy yesterday of Pentaho Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL. A huge congratulations and thank you to Roland Bouman and Jos van Dongen, two long time Pentaho community members who wrote the book.

I can' t tell you how excited I am to see this book! For many years, developers and project managers that I've worked with have felt that a book like this one is the missing link to helping customers achieve success with their warehouse and business intelligence strategies. Most books on business intelligence are either too abstract or offer guidance only on select pillars (for example, only reporting solutions), which leave the reader with unfulfilled requirements and no direction for filling in the gaps.

With Pentaho Solutions, the reader gets a concrete explanation and best-of-breed Pentaho implementation of ETL, reporting, analysis, dashboarding and data mining solutions; 5 core pillars and their concepts that contribute to a healthy, whole, successful BI strategy and implementation.

You can pre-order your copy at :)

Roland and Jos, the team has already sunk their teeth in, and they love what they're reading. Well, the picture says it all :)

Wednesday, August 12, 2009

Development and Debugging with GWT and Javascript

Java code is the bread and butter of what I do, but as most Java developers know, there is a plethora of good frameworks and technologies that surround Java and provide a means to build very powerful and extendable software.

Lately, I've popped back into GWT land and have been dealing with lots of Javascript, both original and generated. I originally introduced myself to GWT building a small volunteer information submittal form for Brevard Rescue Mission. This tiny application only scratched the surface of what GWT could do in its earliest stages. The magic that the Pentaho development team have performed with Pentaho Dashboarding is a new level of web-goodness, fully capitalizing on the power of GWT. I've been dabbling in the chart rendering layers of dashboards, and have learned some simple, effective means of making life a bit easier when dealing with debugging and developing Javascript and GWT generated Javascript. I hope you find these tips useful, and it's certainly nice to have them aggregated in one place! I have to give credit for this info to Nick Baker and Mike D'Amour, two of my colleagues at Pentaho. Use this blog post as a starting point for googling the original sources for more details on each tip:)

Helpful tips for Developing and Debugging with GWT & Javascript in General

Limit the user.agent Property

GWT compiling is resource intensive due to the number of compilations that happen for the browsers supported. At times, you will run out heap space or other resources before the compile can finish (this usually manifests itself as a StackOverflowError).

The following entries in your *.gwt.xml file can help by only compiling for the single browser you may be testing on:

<inherits name=""/> 
<set-property name="user.agent" value="ie6" />

Valid values for the user.agent property are: ie6,gecko,gecko1_8,safari,opera

Limit the gwt.compile.localWorkers

You can also scale back the number of threads to use for running parallel compilation. While this may hurt performance, you will be able to finish the compilation without running out of resources. This property, gwt.compile.localWorkers, can be added to the compile option in your ant script.

Bump the GWT version from 1.6.4 to 1.7.0

GWT 1.7.0 seems to have resolved many of the compilation resource issues with GWT.

GWT Pretty Print Compile

By default, we obfuscate our GWT compiled Javascript. To debug readable GWT compiled Javascript, compile with pretty print turned on. This property, gwt-style, can be added to the compile option in your ant script. Valid values include OBF, PRETTY, and DETAILED.

IE Javascript Debugging Help

If you need to debug Javascript in IE, it is highly recommended that you get IE8. You can install IE8 for the duration of your testing, then uninstall it when you no longer need it, as it has conflicts with GWT. IE8 has a new set of features called Developer Tools that make debugging Javascript very easy.

Helpful In Line Javascript Alerts

You can use the following line of code to send alert windows whereever you like in your Javascript code:

$wnd.alert("Hello World")

A good example from Nick:

This is literally saving me hours. By adding a line to the the end of the
printStackTrace() function you can alert out the stacktraces that normally do nothing when compiled.

Open up the gwt script file (xxxxxxxxxxxxxxxxxxxxxxxxx.cache.html) for your particular browser. I find it by seeing what's loaded in firebug.

Search for "function $printStackTrace"

Add a new line right before the function returns:


It should now look like this.

function $printStackTrace(this$static){
var causeMessage, currentCause, msg;
msg = $StringBuffer(new StringBuffer());
currentCause = this$static;
while (currentCause) {
causeMessage = currentCause.getMessage();
if (currentCause != this$static) {
msg.impl.string += 'Caused by: ';
$append_4(msg, currentCause.getClass$().typeName);
msg.impl.string += ': ';
msg.impl.string += causeMessage == null?'(No exception detail)':causeMessage;
msg.impl.string += '\n';
currentCause = currentCause.cause;

In Code Breakpoints

Rather than sifting through the script debugger window trying ot figure out where to put a breakpoint, you can use the following line of code to embed a breakpoint:


Feel free to comment and send your favorite tricks for working with GWT and Javascript.

Tuesday, May 19, 2009

Pentaho Analysis Tool Integrated as a Pentaho Plugin

I had the chance this week to play around with the still-under-construction Pentaho plugin architecture in the Citrus code line. The new architecture is just what BI developers have been waiting for: totally flexible with several new ways to integrate with the server, simple to use and allows for building nicely decoupled extensions.

With Aaron Phillip's help, I got my head around the new features in less than a day, and had my first plugin written shortly after: The Pentaho Analysis Tool (PAT) plugin. Before I get into the details of the PAT plugin, let's first talk about the new tools and capabilities in the Pentaho BI server's plugin layer.

The plugin architecture consists of several different fun ways you can hook into the Pentaho BI Server, without having to modify server code or disturb the platform deployment. All avenues for leveraging the plugin architecture expect that the necessary files and code will be found in the solutions folders. The layer currently has the following capabilities:

  1. Customization of the menu system of the "classic" and more recent PUC (Pentaho User Console) user interfaces
  2. Customization of various page contents (overlays)
  3. New types of content to be added to the solution repository and operated upon in the user console
  4. New Java classes that generate UI pages to be dynamically added to the server
  5. (new in 3.0) Add your own BI Component to the platform without having to modify system files and paths
You can get more details about these features and how they work by reading the documentation here. Aaron also created a sample plugin that demonstrates each of these features in a simple plugin mockup, that also is a great template to use for new plugin creation.

So that's exactly what I did. Here's a screenshot of the results of my plugin:

Using the EchoPlugin sample as a guide, I created a new content type (.xpav, for Pentaho Analysis View) which is the first notion of a view definition file for PAT. When you "open" this new content type in PUC, it initializes and launches PAT, which is a separately deployed web application. This is accomplished by creating a new content generator in the plugin that delegates the generation to the PAT webapp. It takes a bit to put it all together: you need a bleeding edge Citrus BI Server download, the latest PAT code and the plugin project. If you are interested in seeing it in action, read the integration instructions here.

I only took advantage of a couple of the new plugin layer's capabilities in my first plugin. I'm looking forward to playing with the new web services as well as the component that allows my plain old Javabean to look like a BI component automagically. I can foresee great extensions coming fast for the Pentaho BI Server with this new architecture!

I've listed some good references for those who are ready to take a look at plugins:

Here is the documentation:

and here is the Plugin Depot, where you can show others the cool new extensions you've built:

and if you have questions, comments or problems, or think you may have spotted a bug, chat with some of the developers about it here:

kindest regards,

Sunday, May 10, 2009

Maven: The Definitive Guide

My one true nerdy tendency: I like writing technical documentation. It's ironic then (or a bit of a hypocrisy) that I loathe reading it. Chalk it up to my lack of passion for technology. I am a passionate problem solver; technology is a sometimes rewarding, sometimes frustrating means to help effectively get the problem solving job done.

Recently, I began reading Maven: The Definitive Guide while getting a pedicure at my local salon (laugh it up guys, I can guess where most of you do your leisure reading). I strongly recommend that any developer approaching Maven for the first (or tenth) time give chapters 3 through 8 a read. This guide is what you hope most technical guides or books would be, but then usually quite early on, they disappoint.

The guide starts with a quick, understandable introduction to Maven terminology and concepts, via a short step by step example. As I was reading this from a "make this worth my while" perspective, I had specific use case questions that immediately popped into my head ... and then, I was pleasantly surprised to find the answers in the next few paragraphs.

For example, the guide mentions early on that "support for transitive dependencies is one of Maven's most powerful features". To that my questions were "What about conflicts in dependency hierarchies?" and "What about compile time dependencies that I don't want to package?". The rest of the chapter addresses exactly those questions with explanations on dependency exclusions and scoping. Finally. A book that thinks like I do :)

A quick summary of the rest of the meat of the guide: chapters 4 through 8 build on the core concepts introduced in 3, with bite size chunks of additional functional explanation in each chapter. The material is presented as a hands on example, building in feature complexity little by little. Chapter 4 shows you how to add new dependencies to your project; 5 introduces simple web application features; chapters 6 and 7 cover multi-module project and enterprise project features. This presentation worked for me on a few different levels:

  1. The graduated approach to the introduction of new materials made a large amount of Maven terminology, concepts and finally usage documentation digestible.
  2. The authors take great care in describing WHY they arrange and refactor the projects as they do, in a very modular fashion. This approach, in practice, lends itself not only to Maven's default conventions, but also to best practices for software project layout. Note that this introduced complexity to the examples that wasn't necessary to explain the features at hand. But the authors bit that bullet in order to present a good and useful way of developing a project.
  3. The example projects described in the guide are immediately relevant for me. I write Java code. I use Spring. I use Hibernate. This, of course, will not be the case for every reader, but it was a nice bonus for me.
So after all of my monologue thoughts, I leave you with a few tids:

  • Read the guide (at least Part 1), then decide how problematic you perceive Maven to be. I know my perception changed dramatically.
  • Note that it is a bit outdated, deprecated goals and such (the guide is updated for Maven 2.0.10, I downloaded Maven 2.1). This really didn't distract me at all.
  • The chapters I reference are only the tip of the iceberg. Part 2 of the guide includes another 200 reference pages that I have yet to use. I'll let you know how that goes for me:)

Monday, April 06, 2009

Every Developer Needs a Roadshow

It's been a few days since returning from the Pentaho Partner Summit. When I get the chance to attend company events, conferences or seminars (the opportunities are rare), I try to sum for myself the benefits of having traveled, gathered and given my attention to the occasion at hand.

In the case of the Partner Summit, I thought of several key revelations that came about as a result of the trip. The one that stands at the forefront of my mind: every developer needs a roadshow.

Not as a roadie in a product tour, or as booth Bob at a trade show, but as an interested attendee at an event that showcases whatever you have been working on as a developer. Mind you, this is not a NEW revelation for me; I've had the privilege of representing Hyperion Analyzer at Java One as a developer on that project, and talked to many talented Oracle folks about Pentaho at ODTUG, as well as many other roadshows of my own. I always have come back saying the same thing to my peers - "You guys have to hear what they are saying! You have to feel the excitement!". ( Yes, their was a maddening amount of energy and excitement around the Pentaho Partner Summit!)

The benefits to sending developers out to events that have nothing to do with development and everything to do with the project or product are many. The first benefit that I got excited about in Menlo Park was that I was able to hear how our partners and customers were using Pentaho. I'm committed to focusing on what questions BI users are asking as I re-enter the BI space as a developer, and this was a prime audience. During networking opportunities, partners told stories about customers with big data on Vertica, MySQL, and InfoBright; in intranets, in DMZs, and of course, now in the Cloud. Pentaho partners OpenBI had an attentive and boisterous audience as they discussed their Cloud implementation with client Nutricia.

I also really enjoyed having face time with the consumers of the fruits of my previous efforts. I have been away for some time, but I think some parts of the Pentaho projects are still riddled with my signature:) It's OK that many, but not all comments were glowing; that's the point, right? I feel like I understand just a little bit better some of our users' pain points. And that puts me in a better place to alleviate some of that pain. (No worries, Brian and Nick and Domingo ... Will and Thomas will get right on native crosstabs!!!)

The Partner Summit event gave me the opportunity to lift my head up from the details of our projects and see the field from our partners' perspective. Can I get a lot of the same information surfing the web or hitting the forums? Sure. The perspective is unique though, to spending time with the people who are providing business intelligence solutions in the market. That, I believe, only comes on the road.

Friday, April 03, 2009

Pentaho Partner Summit: Menlo Park, CA

It's a fortunate coincidence that I'm in California at the same time the Pentaho Partner Summit is going on. The event is packed, with partners and interests attending from more than 15 countries. The speakers yesterday were really quality, talking about everything from business intelligence in the Cloud to commercial open source business strategy.

So I've been able to spend lots of quality time connecting with old friends and colleagues, and have met some new, really talented folks. More details on the event later, but for now, check out some pics of the event here.

Cheers, -G

Thursday, March 26, 2009

Because I've Got Issues ...

I have to hand it to the guys over at Atlassian, JIRA is a pretty killer app (although I know now that Love is the REAL Killer App:) ).

I've worked with JIRA for, well, a really long time. I've always worked in companies where you needed to wear many hats, and I'm one of those developers that doesn't get snobby when I'm asked to step outside of my comfy Java home and help out the IT folks. So it's usually me that gets those prize winning projects like migrating forums, internationalizing wikis, or looking for new software to streamline our internal processes. I've spun JIRA around the dance floor several times, XSLT'ing crazy aggregate reports from XML backup formats, writing plugins to support externalizing JIRA data, customizing schemes, changing workflows. Every time, the same epiphany gets me - JIRA just works, exactly how you would think it should.

While some who are not so in the know might think, "Gretchen, you simpleton, it's a series of instructions to a processor, of course that's how it works". But those of us who bend software over and around daily know that few apps are actually written with quality, exceptional exception handling and in an intuitive manner that doesn't require years of higher learning and great tolerance for pain to adopt. (This is a very familiar concept particularly for those who use a certain unreasonable operating system).

This time, we need to move Mondrian's tracker issues from their original home on Sourceforge over to JIRA, which is our tool of choice for managing work and issues at Pentaho. With an assist from my other favorite killer app, Kettle, it has been a dreamy couple of days putting together the pieces to get Mondrian's issues to their new home. OK, maybe not dreamy, but certainly pain free.

Kudos, my Atlassian friends. You Aussies got it going on.

Friday, March 20, 2009

Where have you been??

When I say "you", of course I mean me! I silently fell off the radar about 7-8 months ago, and am now finally re-emerging. Well, let me tell you what I've been doing in my "off" time:

  • First, let me introduce you to Jack David, my new baby boy. Doug and I were blessed with this little guy August 15th, 2008. He is the primary cause for my hiatus. I have been loving every minute of being home with my peanuts (Anthony, 13, Bella, 3 and baby Jack)! Alas, the lure of olap cubes, ETL and bug squashing safaris was just too compelling to resist, and it's time to return to the business world.
  • I also joined the board of directors as secretary of the Brevard Rescue Mission, a faith based ministry that provides whole-life transition resources for near-homeless moms and their kids. My dear friend Stacia Glavas is the founder, and I have been privileged to be able to handle her communications, marketing and administrative needs in between diaper changes.
  • I have been dabbling in a bit of graphic design and found that while I have no natural talent, the Adobe suite allows me to appear semi-talented in creating fun and compelling designs. I have since designed the web site for rescue mission mentioned above, as well as the logo for my daughter's new preschool, several business cards and stationery for friends, and my latest, most daring adventure: skinning a mySpace page for my photographer and friend, Yvette Gioia! Where WILL my curiosities take me?????
  • I also have managed to talk a friend of mine into letting me "borrow" his home renovation crew to renovate the entire exterior of our 25 year old home. That's right, I've decided that I also have some sort of qualifications as a contractor. Or possibly just a penchant for frustration and pain, we'll soon see!
As you can see, when Doug and I decided that it would be a good idea for me "take some time off" to adjust and organize our growing family, well, I may have misread the "time off" instructions :) I have thoroughly enjoyed my very full, engaged foray into being a stay-at-home mom. I actually just this month officially earned my soccer mom title, as Bella joined the local soccer team. I never knew there was a position for grass-pickers in soccer, but sure enough, my daughter has the exalted title!

While I will miss much of the freedom that comes from being my own manager, I miss my career more. So expect to hear from me soon, as I mull over my next career adventure! And of course, immerse myself back into the Pentaho Nation!

Kindest regards!