Thanks, tweeple


Even when you're mentally prepared for a layoff and you know it's probably for the best, its still a life-changing shock when it happens, a loss. It's hard not to feel fear, anger, sadness, self-recrimination and all those stages that fellow RIFee David Van Couvering blogged about. I still cycle through those, but not as frenetically as before.

I got over the sadness and fear part pretty quickly thanks to my tweeple, the very supportive network of friends, colleagues, former coworkers, etc. that's grown around my blog, my work at Sun, my involvement at Apache Software Foundation and my social network accounts like Twitter. I got the word out on Twitter first and word spread quickly. I posted to my blog and some very kind friends, Tim Bray, Ted Leung and Robert Donkin helped spread the word on their blogs and said some very nice things about me in the process. Within hours a flood of supportive tweets, emails and calls come rolling in, including about a dozen real live job leads.

So, thanks folks. I really appreciate the help. I'll keep you posted.

Leaving Sun...

Silver Lake sunset

It was over four years ago when I discovered that Sun was using my software, Roller, to power I was thrilled to go to work for the company back in 2004 and what an awesome cast of characters I've gotten to work with over the years. I really enjoyed the folks I worked with on the team, the open source folks and most recently, the Glassfish team -- some of the most talented and nicest folks I've ever worked with. It's been a great four and a half years but all good things must come to an end and today is the day.

I've been swept up in the latest round of Sun layoffs. Sun has decided to disinvest in Project SocialSite and as of today I'm free and available for employment. Though I do feel some urgency due to the bad economy, Sun's layoff package is pretty good and so I have some time to figure out what comes next and no need to make hasty decisions. Whatever I end up doing, I'll be blogging it here.

Oh, and about Apache Roller and Project SocialSite? I'm not ready to give up just yet. I'll be using a little of my time to do some mentoring and to move forward plans for Roller 5.0 this spring. And I see real value in the Project SocialSite "social-enable existing web sites" concept and I'm considering ways to move that forward as well, with or without Sun. I'm still giving my talk Shindig for Blogs & Wikis in March 2009 and, actually, I'm pretty happy I have some time right now to focus on those demos and slides.

Upcoming: Shindig for Blogs and Wikis, ApacheCon EU

The other day I got the happy news that my one of my proposed sessions was accepted for ApacheCon EU. ApacheCon and Amsterdam are definitely among my favorite places to be, so I'm thrilled. You ought to go too; here's the information on the conference, which will include training, the hackathon and a BarCamp.

ApacheCon Europe 2009 (link)

23-27 March 2009 | Mövenpick Hotel, Amsterdam
Pricing (register before Feb 6 for discount)

My session is titled Shindig for Blogs and Wikis. I'll cover different approaches to adding social features to blogs and wikis and I'll zoom-in on OpenSocial related options Shindig and Project SocialSite. Here's the abstract, with some formatting that is missing from the ApacheCon site:

Blogs, wikis and feeds helped to make the web more social by making it easy for folks to read, write and have conversations on the web; and now social networking technologies are making the web and even more social.

In this session you'll learn about OpenSocial, a new standard for interacting with social networking data via Web Service and via JavaScript Gadgets that can be embedded into social networking sites. You'll learn about Apache Shindig (incubating), which is the reference implementation of OpenSocial, and how it can be used to add support for social networking and gadgets to existing web applications and specifically Apache Roller and Apache JSPWiki. The session will cover:

  • Quick introduction to OpenSocial and Shindig
  • Overview of products/services that leverage OpenSocial
  • Benefits of social networking in blogs and wikis
  • How to support Google Gadgets in Roller and JSPWiki via Shindig
  • How to enable social features in Roller and JSPWiki via Shindig
  • How to add comprensive social graph support to Roller and JSPWiki via SocialSite
  • How to create an OpenSocial Applications that access Roller and JSPWiki

I'm already working on the demos and slides for this as it's going to be quite a bit of work. Fortunately, I'll be able to recycle some of the material in some other upcoming gigs.

Google's Rajdeep Dua on Project SocialSite

I'm always happy to see Google talking about Project SocialSite in their OpenSocial presentations and pitches. We need all the help we can get with getting the word out.

Now, Rajdeep Dua of Google Developer Relations has put together a 25 page presentation on Project SocialSite Architecture with data model diagrams, UML and lots of detail. Good stuff. I posted some comments and corrections to the Shindig-dev mailing list

Snow and other distractions


That's the view from my desk this morning. We woke up to snow in Raleigh for the first time in years. Here, even the threat of snow is enough to cancel school across the whole state, so the kids are ecstatic and outside perfecting their snowball combat skills. I'm trying to focus on getting back to work after a long weekend. With the momentous inauguration today and other (less positive) changes coming later in the week, that's gonna require some serious amounts of caffeine and determination.

Roller 4.0.1 bug fix release available

roller logo

Here's the announcement from the Roller project blog:

It's been over a year since our last Roller release and we've fixed a couple dozen bugs in that time including an XSS vulnerability reported recently by Now those fixes are available as an official Roller release, 4.0.1

This is a bug-fix only release with no new features.

Wondering what's next for Roller? I'm going to push for a Roller 5.0 release in Spring 2009, as we've got good stuff in the trunk and more on the way, but I'm going to need your help to get there. More about that later.

Comments fixed

In case you were itching to comment about the new Fauxcoly theme or Eclectic Roller hacks, comments now work again. I had broken them in my quest for XHTML validation.

More about Fauxcoly

Fauxcoly is a new Roller theme that I designed over the winter break and the one that you see here on this blog. I wanted a new theme that's simple, easy to maintain, exposes my non-blog activities like Twitter, explains itself and takes full advantage of Roller theme system. This post explains the design and how to try the theme out. [Read More]

Eclectic Roller hacks

Sun's CTO for UK and Ireland, Wayne Horkan, is a bit of a Roller hacker, and I mean that in the nicest way possible ;-) His blog has always been a showcase for what you can do with Roller template programming, although recently he has adopted a more simple and clean design. Wayne just posted a set of three interesting and useful Roller hacks on his blog Eclectic:
  • New next-previous macro: this one is useful for showing a reader where they are in a blog, which post they are reading and the names of the next and previous posts; sorta like the "current location" sidebar in Greg Reimer's theme.
  • Related entries: this is designed for use on an individual entry page and shows entries that are related to the entry being viewed based on tag and category relationships. This is an especially good hack because the code is a little scary; it iterates through the most recent 1000 posts in the entry's category, then the most recent 1000 entries in any category and then it does some analysis. I suspect this gives a bit of a workout, but it's serving four million hits/day at 97% idle so that should be no problem, no?
  • Archive macro: this one shows a list of links to recent month's entries. Would be a little nicer if it displayed a count of entries for each month, but I don't think that's possible with Roller's current template system and models.

Nice stuff. Have you got any Roller hacks to share?

ROME 1.0 RC2 on the way

Nick's Twitter icon

Good news for ROME fans. Nick Lothian picked up the puck and is galloping towards the finish line (sorry, I'm terrible at sports analogies).

Nick Lothian on ROME dev:

I've gone and built some preview jars for the upcoming ROME 1.0RC2, ROME Fetcher 1.0RC2 and Modules 0.3 release.

Those jars can be found here:

I've created source and javadoc jars as well as the normal jars - the idea being that I'll get them uploaded to some maven repository.

If you have some spare time, please take a look at these and test them and let me know of any problems. Assuming there are no big issues found I'd like to do a proper release in a couple of days.

Guess that means I should test Propono with RC2.

Fauxcoly and XHTML

Believe it or not, I've never created an XHTML theme for Roller and I didn't even notice the XHTML declaration when I put my new theme (which I'm calling Fauxcoly) together. I did notice when I got over 400 validation errors from the HTML validator. So, I worked for a couple of hours last night to fix the errors both in my new theme and in my most recent weblog entries. I also had to fix a couple of Roller bugs, which need to be reported.

Now the main pages of my blog validate and I'm brave enough to put this in the theme's footer.

Valid XHTML 1.0 Transitional

Having a theme that supports XHTML isn't enough, of course. You also have to ensure that each blog entry is well formed and comments too. Unfortunately, we don't have great infrastructure for that in Roller (yet).

I still plan to release the theme in packaged-theme form, but only after I XHTML-ize it too.

New Year and new theme

Happy New Year 2009 to one and all! I took a nice long break from work, complete with a Florida vacation, hot tubbing, theme parks and a mini-vacation to rest-up from the main vacation and now I'm back. I think I'm rested and ready to restart some things including work, of course, and this blog.

Restarting a blog is not easy, or so I've heard. Here's what I did. I drew a big diagram on the white board with multiple colors, circles and arrows. I did some calculations and eventually figured out that what I need is a new theme. A little bit of eye candy for the couple of folks who end up here after a search gone wrong or accidentally clicking through as they skim over my blog in Google Reader; that's just what will re-ignite my blogging activities. My problems all have technological solutions. Funny how that works.

So, if you've clicked through to my blog then you're looking at my new theme and newly restarted blog. Thrilling, huh? It's a simple faux-column deal like my old theme, but this time I'm taking advantage of Roller's new 'action' pages, I'm using YUI Grids CSS to define the layout and I'm including content from my other sites (Twitter, Flickr, Delicious, etc.) via aggregation. I'll provide some more details about the theme and it's features (and a download) in a subsequent post, after I've gotten some real work done.

Milestone 3 and what folks like about SocialSite


We just announced a new Milestone 3 build of SocialSite over at the project blog. Just in time for the holiday break, we are feature complete and ready to spend the first couple of months of 2009 whipping SocialSite into a production-ready state.

We're excited about SocialSite and think we've created something with pretty unique value. We've had some big-name customers taking an early look at SocialSite and I though I can't mention any names, I can tell you a little about why they're interested. So far, the folks who have expressed interest are most excited about these aspects of SocialSite:

  • Social-enables any site. We've made it really easy to add social features and OpenSocial Gadgets to any site with minimal server-side changes to the target site. It can be as easy as Google Friend Connect, but the features are backed by a Social Graph that you control.
  • Extends OpenSocial. We provide extensions to OpenSocial APIs for friending, group and gadget management and nice gadgets that use those APIs, like our Social Network dashboard. If you're not happy with our out-of-the-box Gadgets you can easily write your own.
  • Includes Social Graph. We've got a RDBMS-backed social graph implementation with flexibility in profile properties and in relationship types supported. So you can decide what profile properties to show and how relationships work (one-way, two-way, both, etc.).

That all sounds good, but I know how hard it can be to see the potential of a product like SocialSite without seeing it in action. We're working on some demo sites and hope to have something concrete to show in the very near future. So stay tuned here and on the SocialSite blog.

BarCamp Charlotte, Jan. 24, 2009

Barcamp logo

There's no venue yet, but Barcamp Charlotte is coming up soon. I think it's gonna be well worth the three hour drive from Raleigh to Charlotte so I just signed up.

Registration is free. All you have to do is to sign up for an account at and you'll be registered as an attendee. The site is running Buddypress, the Wordpress-based social networking suite, so you can setup a profile and socialize with the other attendees. See also:

I wonder, which one is the definitive source of information and announcements?

Enterprise Social Messaging Experiment

I must be asleep at the wheel. How did I miss this one?

From the Apache ESME (incubating) project's status page: Enterprise Social Messaging Experiment (ESME) is a secure and highly scalable microsharing and micromessaging platform that allows people to discover and meet one another and get controlled access to other sources of information, all in a business process context.

Wow, that sounds cool and it just landed in the Apache incubator. I need to learn more. There's no code in SVN yet, but there is a blog and a Google Group that I've yet to explore.

re: What Sun should do

FYI: I'm tracking blogs and other reactions to Tim Bray's What Sun should do blog post on at the link below. Judging from the reaction so far, I think Tim should have opened up comments on this one. He would have gotten more, and possibly better feedback.

New era for JSPWiki

JSPWiki logo
Janne Jalkanen: We are now beginning a whole new era with becoming an Apache project and JSPWiki v3, which will signal the first major overhaul of the entire software since v2.0 in 2002. We've got a bunch of good committers (with a new one added this weekend - welcome, Florian!) and a bunch of pretty exciting things we want to do.

I'm so happy to see JSPWiki thrive at Apache, even in the incubator. You may remember that I wrote to Janne back in Summer 2007 and suggested the move, and I've crowed about it before, but Craig Russell is the one who stepped up to mentor the project and, from what I've seen, he's doing a great job.

Sun should give up on the desktop?

Tim Bray: What Sun should do: Sun is going through a lousy spell right now. Well, so is the world’s economy in general and the IT business in particular, but this is about Sun. This is my opinion about what my employer should do about it.

It takes a lot of guts to write a piece like that and I'm really glad Tim did it. I'm going to walk out on the same limb and agree with pretty much everything Tim wrote. Tim wants Sun to focus like a laser on providing the best web platform around with Solaris, storage offerings, Java/Hotspot, Glassfish, MySQL and Netbeans for Java, Ruby, PHP, Groovy, etc. tooling. He writes:

It’s easy to understand how our servers, CMT and x86, and the Solaris OS, fit into the Web Suite. All the software, including the HotSpot, GlassFish, and MySQL runtimes, needs to be obsessively tuned and optimized to run best in the context of the Suite. Obviously, the Suite will also include Ruby and Python and PHP runtimes, similarly tuned.

All of Sun’s software tooling should have a laser focus on usability, performance, and ease of adoption for the Web Suite.

I agree, but as a web geek I guess I'm pretty biased.

Tim doesn't shy away from the critical question of what Sun should stop doing. Tim says Sun should give up on the client-side, dropping JavaFX and JavaME (and OpenOffice too, I presume). Here's Tim on JavaFX:

For actual business apps, the kind that our servers spend most of their time running, the war for the desktop is over and the Web Browser won. I just totally don’t believe that any combination of Flash and Silverlight and JavaFX is going to win it back.

I can't say I disagree with that either. Cutting JavaFX and JavaME would be extremely tough and painful decisions, but somebody's going to make to make some of those. Looking at things from Tim's web-platform-only point of view, they make sense. Sun needs only enough client-side software to keep Solaris attractive to developers and to support great development tools on all the platforms that web developers love.

ICBMs of friendship

No, that's not the start of a nuclear war. It's something much more friendly: a visualization of Facebook friend requests zooming around the globe. It's part of a three minute video produced by Palantir, a Java-powered Facebook Hackathon project that "visualizes all the data Facebook receives."


At the start of the video, the narrator mentions that they're using the JME framework. That's the open source jMonkey Framework, a "high performance scene graph based graphics API."

Via TechCrunch.

Technologies of Friendship

I'm honored, excited and now I'm prepared.

I just finished writing up some notes for tonight when I'll be one of four guest speakers talking to Fred Stutzman's Technologies of Friendship class at UNC. Here's Fred's reminder post:

Reminder: Guest Lectures on Work, Organization and Action.

« Previous page | Main | Next page »