2012

2012 is here and I'm happy that I'm still on the face of this spinning ball of star-stuff that we call earth. One of my resolutions this year is to blog more and I'm going to start with a catch-up post. Here's what I was up to in 2011.

At the start of 2011, I was still working for IBM. During the first half of the year I led the Open Services for Lifecycle Collaboration (OSLC) Core specification to finalization. I also managed the ">release of Apache Roller 5 and mentored a Google Summer of Code student who added Mobile Theming capabilities to Roller. Early in the year, I decided to get in shape, bought an elliptical machine and Line Dieted down 30 pounds. I also doubled-down on running and ran my first half-marathon (with my 14 year old son).

In July, I got a call from my former Sun co-workers and jumped at the opportunity to join Scott McNealy's new startup, Wayin. So far, it's been a blast. I've been able to put my knowledge of server-side web development, REST and social software to good use and have learned a hell of a lot about scaling with Amazon EC2, MongoDB, Solr and lots of other interesting bits.

Things have been going well on the homefront too. All three sons are all doing well and the oldest started high school this year. We're pretty busy all the time with extracurricular activities, family logistics, video game additions, etc. and that's mostly good, but we did find the time to get away for vacations in Charleston SC and Jekyll Island GA. So, that's that. You're all caught up and next, we'll see if I can keep this blog active this year.


Frustrating the Ugg boots, jerseys, etc. spammers

Ugg boots, sports jerseys, World of Warcraft (WOW) gold.... do you like those key words, spammers? Tough crap, you're not getting a link.

I'm posting this blog entry for the sole purpose of tempting, frustrating and basically just thumbing my nose at the idiotic comment spammers that attack this blog every day. Even though I blog about once a month these days, I get hit many times a day with spam. No worries, of course, the Akismet plugin stops 99% of them, but every once and a while, I notice the spam, bulk delete it and remember how much spammers suck.


Rollarcus: from 9 to 2

rollarcus github logo

I made some progress in Rollarcus over the past couple of weekends, but not a lot. This makes me wonder how I ever found the "nights and weekends" to get Roller started in the first place, but that's a different topic.

What I've done so far in Rollarcus is to simplify things. While I was at Sun, we split Roller up into a number of parts: a weblogger part for blogging, a planet part for RSS/Atom aggregation, a core part for things common to both. After Sun, I worked to move Roller to Maven and further split things up into a total of 9 Maven modules including an assembly for building the release. Now, I think that all these modules are unnecessary -- we never shipped a Roller-Planet application and nobody wants to use parts of Roller -- and even if they did, the modules did not really help.

Here's the before view: apache/roller

Here's the after view: snoopdave/rollarcus

So, in Rollerarcus, I've merged all the modules. Except for one "test utilities" module, all Java code, JSPs and other code is now in one module and much easier to deal with. Next, I'm going to attack the (what I consider to be) unnecessary dependencies and drastically reduce the number of jars in WEB-INF.

UPDATE: The most significant of the changes that I made in Rollarcus have been applied by to Apache Roller and today (August 18, 2013) I removed the Rollarcus repository from Github.


Fork it all

I just forked Roller on Github.

The new project is called Rollarcus and is mostly just an experiment and, I hope, a learning experience. I've got some ideas about stripping Roller down to it's core and making it more fun and easy to develop and deploy. We'll see how far I get.

arcus rolling cloud

In case you don't already know, an arcus cloud is a low, horizontal cloud formation.

UPDATE: The most significant of the changes that I made in Rollarcus have been applied by to Apache Roller and today (August 18, 2013) I removed the Rollarcus repository from Github.


Upgraded to Roller 5.1-dev

I just upgraded this site to Roller 5.1-dev, Subversion rev 1175172. This unreleased version of Roller includes new mobile theming capability (mentioned in my previous post), allowing a theme to define both a standard and a "mobile" version of each weblog page. I haven't added mobile pages for my blog yet, but that is what I plan to do next.


GSOC 2011: Mobile-enabled themes for Roller

I'm going to break blog silence now to tell you about Apache Roller and Google Summer of Code 2011, which just wrapped up about a week ago.

GSOC logo

This year we were very fortunate to get a another highly motivated and smart student, Shelan Perera, and an good proposal as well: Mobile-enabled Templates. Over the summer Shelan designed and implemented a new feature for the Roller blog server, one that enables theme authors to provide an alternative "mobile" template for each page template in a Roller blog theme. You can see a screenshot of the new Edit Template page in Shelan's blog How to change template codes in Roller.

Now, when a page request comes into Roller, Shelan's code determines if it's from a mobile device and, if it is, switches to a mobile template, if one is available. There's also an easy way for template authors to create a button to allow users to switch to the "Standard" site instead of the mobile version. The screenshot on the right, of Roller with a mobile theme comes from Shelan's most recent blog.

screenshot of a mobile Roller theme

It was an honor to act as mentor for this project, and fun talking to Shelan via Skype most Fridays. I'm looking forward to getting this on my blog, and getting this cool new feature into an Apache Roller 5.1 release sometime soon. Thanks, Shelan! And, thanks to Google for running the most excellent Summer of Code program.


Latest Links - August 12, 2011

Latest links, favorites and photos shared elsewhere:

snoopdave Shared: South Korea to abandon “real name” internet policy http://bit.ly/ofZ4c9 #fb 09:21:01 AM 12 Aug 2011

snoopdave Shared: Google Retires Android App Inventor, Open-Sources the Code http://bit.ly/o91WZa #fb 08:10:01 AM 10 Aug 2011

snoopdave will TaskTop Sync will beat OSLC link? http://bit.ly/q3g68x 07:09:00 AM 10 Aug 2011

snoopdave JIRA Mobile Connect looks pretty dang useful http://bit.ly/nlxwNS 06:32:01 AM 10 Aug 2011


Latest Links - August 1, 2011

Latest links, favorites and photos shared elsewhere:

snoopdave RT @mraible: Happy 9th Blogiversary to http://raibledesigns.com: 3045 entries, 13,269 comments. Thanks for keeping all my memories Apach ... 12:35:12 PM 01 Aug 2011

mgile First day at the new, new office. Obligatory empty startup office pic: http://t.co/7oVDQjk 10:29:17 AM 01 Aug 2011

snoopdave Shared: Million Persona March on Google, Labor Day? http://bit.ly/qmAR5y #fb 09:40:01 AM 01 Aug 2011


Latest Links - July 30, 2011

Latest links, favorites and photos shared elsewhere:

snoopdave Shared: Flederhaus - An entire building of hammocks! http://bit.ly/oeEkp9 #fb 03:31:03 PM 29 Jul 2011

jukkaz So much for Java 7 then: http://t.co/7dMuDyV 05:06:33 AM 29 Jul 2011

ryanirelan New Ways of Designing the Modern Workspace http://j.mp/ob3Btu The comments are the best part. Read all of them. 11:37:39 PM 28 Jul 2011

Chris Hostetter: Don’t Use Java 7, For Anything shared 06:21:12 PM 28 Jul 2011


WIP: Resource Preview

This is the fourth in my series of Web Integration Patterns. Check out the intro at this URL http://rollerweblogger.org/roller/entry/web_integration_patterns

Synopsis

Enhance links shown in HTML pages so that users can hover, mouse-over, or use some other gesture, to view a preview of the resource at the other end of the link.

Motivations

  • Make it convenient for a user to get information about a link but without having to navigate to the link and without having to leave the current web page in the browser.
  • Make applications appear to be part of one integrated whole by enabling them to delegate to each other's user interfaces for preview display.
[Read More]

OSLC Core v2 specification now FINAL

I've been working on the OSLC Core specification for about 1.5 years now as workgroup lead, and OSLC fits squarely under the "open web technologies" and Web Integration Patterns topics of this blog, so I'm blogging this happy news.

Here's the announcement From the OSLC Core Workgroup mailing list:

From: Dave Johnson
To: oslc-core (a) open-services.net, community (a) open-services.net
Subject: OSLC Core v2 specification now FINAL

Today [1], I'm very happy to announce that the OSLC Core v2
specification is FINAL.

The OSLC Core v2 specification [2] defines a set of REST and Linked
Data-based patterns, resources and protocols for integration of application 
and product lifecycle resources (ALM and PLM). It's designed to be the
foundation for all other OSLC domain specifications and there are now
three final OSLC specifications that are based on the Core, those
being the OSLC Change Management (CM) [3], OSLC Quality Management
(QM) [4] and OSLC Requirements Management (RM) [5] specs.

I'd like to thank all of the members of the OSLC Core Workgroup and
community for their hard work, critical thinking and ability to work
together in such a productive and pleasant way. Also, special thanks
to those OSLC domain workgroups who rebased their work on the Core and
development teams that provided excellent feedback along the way.

Thanks,
- Dave

--
David M. Johnson
OSLC Core Workgroup Lead
IBM Rational Software


[1] Move to final was proposed last week, along with a small set of
changes which have since been applied to the specification. 
[2] OslcCoreSpecification
[3] CmSpecificationV2
[4] QmSpecificationV2
[5] RmSpecificationV2

I really do have another Web Integration Patterns post on the way shortly, so stay tuned.


Apache Roller 5.0 released

(cross-posted from the Roller project blog)

Here's some more happy Roller news. Apache Roller 5.0 has been released!

http://rollerweblogger.org/project/mediaresource/3cdaff7b-2745-4dac-89c9-151a3a1ccf26' align='right' style='padding:1em' />

The major new feature in Roller 5.0 is Media Blogging, a set of enhancements to Roller's file upload and management capabilities. Also included in 5.0 are simple multi-site support, OpenID and ~OAuth support for Roller's AtomPub interface. All major dependencies have been updated and Roller now uses Maven for build and dependency management. You can find a summary of Roller 5.0's new features on the Roller wiki.

The road to Roller 5.0 has been a long one and if you are interested the history, you might want to check Dave Johnson's What's New in Roller 5.0 presentation from ApacheCon US 2009. Roller 5.0 includes contributions from contributors from Google Summer of Code, San Jose State Univ. and the usual case of Roller committers. Thanks to all who contributed to Roller 5.0 over the years.

To download Apache Roller 5.0 and documentation, visit the Apache Roller download page at the Apache Software Foundation's website.


Welcome new Apache Roller committer Shelan Perera

(cross-posted from the Roller project blog)

Here's some happy news. A new committer has joined the Apache Roller project. Shelan Perera has been helping out on the mailing lists, submitting fixes and recently won a Google Summer of Code (GSOC) project to add mobile blogging features to Roller. He was nominated for committer-ship and voted in on May 5, 2011.

Shelan's GSOC project is to add mobile theming capabilities to Roller. You can find the Mobile Theming for Roller proposal on the GSOC website. Shelan is seeking feedback on requirements and design for the project, and keeping the community in the loop by running a blog to journal his progress: Apache Roller Mobile Platform.

Welcome Shelan!


Inside Out Half-Marathon 2011

race medals

I'll be resuming my Web Integration Patterns blog series this week, now that I have some "free" time again. It's been a busy Spring at work and at home, especially during April and May. My early mornings, evenings and weekends were consumed by half-marathon training, (and the Apache Roller 5.0 release, more about that later).

As for the half-marathon, it went very well. I really enjoyed training and running with my oldest son. The race was today and we're both pretty happy with our results, which you can see below.

13th Annual Inside-Out Sports Classic - Half-Marathon

Place Bib  Name                    S Ag City             St Chiptim Guntime Pace  
===== ==== ======================= = == ================ == ======= ======= ===== 
  247  308 ALEX JOHNSON            M 14 RALEIGH          NC 1:59:10 1:59:18  9:06
  154  309 DAVE JOHNSON            M 47 RALEIGH          NC 1:50:34 1:50:43  8:27 

The race course is wonderful and runs through Umstead park on the small-grain gravel bridle trails there. Here's the route map I made on dailymile.com (check out the Elevation Profile, it's a hilly one).


WIP: Embedded Properties in HTML

This is the third in my series of Web Integration Patterns. Check out the intro at this URL http://rollerweblogger.org/roller/entry/web_integration_patterns

Synopsis

Enable easier integration and better search across integrated web applications and sites by using standard mechanisms (e.g. Microformats, RDFa) to embed property values in HTML pages.

[Read More]

WIP: Common Navigation

This is the second in my series of Web Integration Patterns. Check out the intro at this URL http://rollerweblogger.org/roller/entry/web_integration_patterns

Synopsis

Make separate web sites and applications appear to be one by using common user interface elements for navigation.

[Read More]

WIP: Links

This is the first in my series of Web Integration Patterns. Check out the intro at this URL http://rollerweblogger.org/roller/entry/web_integration_patterns

Synopsis

Use links as a way to integrate web sites & applications via navigation and relationships between resources.

[Read More]

Web Integration Patterns

In my previous post, I promised to write a blog series on Web Integration Patterns. This post explains the concept and a bit about how I plan to write about it.

What I’m calling Web Integration Patterns are techniques for integrating software systems, web applications and web sites using the common technologies of the web. These patterns build on HTTP, HTML, JavaScript and sometimes JSON, RDF and XML to provide ways to integrate software systems and include both programmatic approaches and user interface integrations.

[Read More]

More than bloggy

I’ve been meaning to write on this topic for a some time and to explain how I’ve gone from being an advocate of RSS/Atom feeds, Atom Publishing Protocol and things bloggy to being a proponent of Linked Data (video), Semantic Web, RDF and other things that I previously considered to be nuisances. I've also got a new topic and blog series to announce, so here goes.

[Read More]

Roller 5 and WebSphere 8 (beta)

Websphere logoIn my quest to get Roller running on the latest in Java EE servers, the last server I tacked was the WebSphere Application Server. Unlike Glassfish and JBoss, WebSphere's Java EE 6 offering is not available in final form yet. Java EE 6 support is coming in WebSphere 8. So, for this exercise I used the WebSphere 8 beta, which was made available in July 2010. In this blog I'll describe how I approached the problem what I learned along the way.

[Read More]

« Previous page | Main | Next page »