Recent blog entries for mindcrime

ANN: Fogcutter Suite Synchronized Release - 418 Teapot

After what seems like an eternity of development work, we are proud to announce the first ever Fogcutter Synchronized Release - "418 Teapot". Named after the (in)famous Hyper Text Coffee Pot Control Protocol as a tribute to the amount of caffeine it took to get here, this synchronized release features the simultaneous release of Quoddy v0.0.0-tpr1 (Tech Preview Release 1), Neddick v0.0.0-tpr4 (Tech Preview Release 4), and Hatteras v0.0.0-tpr1 (Tech Preview Release 1).

The entire team has worked incredibly hard, and we're thrilled with the progress we've made, and happy to release the new capabilities embodied in these releases, to the public at large. We're still not finished and we have tons of plans for each of these projects, as well as Heceta so there will be even more awesomeness coming down the pipe in the days, weeks and months to come. But for now, here's a quick overview of what each project is, and where each is at:


Neddick is an Open Source Information Discovery Platform, based on Groovy & Grails, and making up one component of the Fogcutter Suite. Neddick shares an approach to information discovery with consumer facing websites like Reddit, Digg, and other aggregator applications. You could call Neddick "Reddit for the Enterprise" but that would be oversimplifying a bit. Neddick is intended mainly for organizational use and therefore has features that Reddit lacks, but, in turn, lacks certain things that Reddit has. But Reddit was absolutely our inspiration for Neddick and you'll notice the commonality almost immediately.

Relative to Reddit, Neddick adds features like:

  • Channels can subscribe to RSS feeds - any "channel" in Neddick (roughly equivalent to a Sub-Reddit on Reddit) can link to 0 or more RSS feeds, and the channel will automatically be populated from those feeds on a scheduled basis.
  • Tags - Neddick supports the application of arbitrary tags to entries, and provides each user a view of the tags they have used, to enable rapid access to specific content.
  • Channel Filters - Filters allow you to filter your view of a channel based on criteria including: body keyword, title keyword, score, and tags.
  • More powerful "sharing" capability - Neddick supports sharing content by email, XMPP, and HTTP POST.
  • support - Neddick can HTTP POST entries to remote endpoints in format. This is how we built our integration with Quoddy - the Enterprise Social Network component of the Fogcutter Suite.
  • Channel Triggers - Triggers allow a user to specify actions to occur when Entry related events occur which match criteria which may include: A new Entry is posted which matches a body keyword or title keyword, an Entry is voted up past a specified score threshold, or a specified tag is applied to an Entry. Trigger actions include sharing via email, XMPP and HTTP post, and in future releases will be extend to include sending JMS messages, launching workflows via BPM integration, and running user provided scripts.

Technology Preview Relese 4 (TPR4) adds substantial new functionality, and many bug fixes, compared to the previous TPR3 release and provides the foundation for our future roadmap and the forthcoming fully certified and supported Neddick Enterprise from Fogbeam Labs.

New Features

  • Access control using Apache Shiro - Shiro provides the capability to implement fine grained, role-based access control.
  • Private Channels
  • Aggregate Channels
  • Channel Filters
  • Channel Triggers
  • "Share to Quoddy" via HTTP POST using protocol

Bug fixes & enhancements

  • Complete UI refresh - the entire UI has been reworked to be much cleaner, and to be consistent with Quoddy and the other components of the Fogcutter Suite.
  • Update Grails to Grails 2 - The previous code base was built on Grails 1.3.7. We've moved to Grails 2.2.3 now.
  • Update Groovy to Groovy 2 - along with the move to the new Grails, we've also updated to Groovy 2.1.5
  • New "Share" dialog - the UI element for the "share entry" feature has been completely rebuilt and is cleaner and supports new functionality.
  • Bug #94 - Edit Channel Properties page is broken
  • Bug #51 - Problem with excessive file handles - probably a file handle leak

To learn more about Neddick visit the Project Homepage at


Quoddy is an Open Source Enterprise Social Network, based on Groovy & Grails, and making up one component of the Fogcutter Suite. Quoddy shares a common "look and feel", and substantial functionality, with consumer facing Social Networks like Facebook or Google+ as well as proprietary Enterprise Social Network products like the products from Jive Software and Yammer among others. You could call Quoddy "Facebook for the Enterprise" but that would be oversimplifying a bit. Quoddy is intended mainly for organizational use and therefore has capabilities which make it uniquely suited to provide the social fabric to support organizational knowledge sharing, knowledge transfer, collaboration and decision support.

Relative to consumer Social Networks and other Enterprise Social Networking products, Quoddy adds features like:

  • Calendar Feed Subscriptions - Quoddy supports subscriptions to any calendaring server which provides an iCal feed, so you can see your upcoming events rendered in your feed alongside other important events. Future releases will support CalDAV and interactive editing of Calendar Events from right in the stream.
  • RSS/Atom Feed Subscriptions - Quoddy supports subscriptions to any arbitrary RSS feed, so you can find crucial information in your feed. Subscribe to internal blog servers, document management systems, wikis, and any other repository which provides RSS, or subscribe to your favorite blogs, Google Alerts, and other external information sources.
  • Business Events Subscriptions - using the Hatteras Business Events Subscription engine, Quoddy allows users to define subscriptions to business events right off of the enterprise SOA/ESB backbone. Find out exactly what is going on in your enterprise, in real-time with Quoddy and Hatteras.
  • BPM Integration - Quoddy supports subscribing to User Tasks from BPM / Workflow engines. We currently only support Activiti, the leading Open Source BPM offering, but support for other workflow products will be coming in future releases.
  • Fine-grained User Stream definitions. Quoddy provides robust support for creating different "user stream" definitions, which filter content by type, source, group, or other criteria, and makes it trivially easy to quickly change the current Stream. For example, you may tke a quick peek at an enterprise-wide view of all the activity from every user, and then quickly switch back to a personalized view which includes only your BPM User Tasks. Quoddy emphasizes putting *you* in control of the content which is rendered in your stream, helping avoid information overload.
  • protocol support using REST. Quoddy exposes a HTTP interface for external systems to post messages. This allows our integration with Neddick as well as other 3rd party products.

Technology Preview Release 1 (TPR1) is the first Quoddy release and provides a solid foundation for our future roadmap and the forthcoming fully certified and supported Quoddy Enterprise from Fogbeam Labs

To learn more about Quoddy visit the Project Homepage at


Hatteras is an Open Source Business Events Subscription Engine, written in Java and making extensive use of Apache Camel, which makes up one component of the Fogcutter Suite. Hatteras works with Quoddy to provide the capability for users to create Subscriptions to Business Events on the organizations ESB infrastructure. Hatteras connects to Quoddy, downloads all defined Subscriptions, and then listens for matching messages. Messages which match a Subscription are persisted to an XML database and Hatteras then sends a notification to Quoddy which creates a Subscription Item record which can be rendered in the user's stream. Quoddy and Hatteras thereby provide seamless access to important business events, alongside other import pieces of content the user has selected.

Future versions will focus on better administrative tools, and more hooks to provide interoperability in your unique environment. Over time, Quoddy, Hatteras and other Fogcutter products will add a powerful Event Stream Processing / Complex Event Processing capability to correlate events and provide deep analysis for powerful business insights. Over time, we will surface the capability to provide correlation between Events, People, and Content (Documents) and will offer the ability to quickly navigate in any direction, between the nodes in a graph of related entities which have causal, topical, or temporal relationships with each other.

To learn more about Hatteras visit the Project Homepage at

Used together, the components of the Fogcutter Suite provide powerful capabilities to solve real-world business problems involving the creation, transfer, and re-use of knowledge within the organization, and enable the fingertip access to relevant contextual information needed to foster meaningful collaboration, support better and faster decision making, and provide organization-wide "situational awareness".

Of course this release by no means marks the completion of any of these projects. Our roadmap for each includes a tremendous amount of new functionality and enhancements. Follow this blog, or our twitter account for the latest updates and news as we continue to build a kick-ass suite of tools for managing information and knowledge.

Syndicated 2013-08-26 03:19:00 from Fogcutter Dev

Screenshot of the new polymorphic event stream

Syndicated 2012-02-13 02:38:00 from ScrewPile Dev

Quoddy is getting a polymorphic event stream!

The big news from Quoddy land currently is that support for polymorphism in the event stream is largely in place. "What," you might be asking, "does that mean, exactly?" Well, simply put it means that different "kinds" of events can show up in the event stream now, and each event will render (display) differently (and appropriately) based on it's attributes.

For example, one event might be a simple text based status update from a friend. That will display the words the friend wrote, their profile avatar and the time they posted and that's about it. But the next event in the stream might be a link to a scheduled event from your iCal feed. Since it's a calendar event, it will render with a an iCal icon, the start date/time of the event, the end date/time of the event, the location, and a hyperlink to the event.

Similarly an event might be a document shared from Google Docs or something, and it would, again, render seamlessly into the event stream, but with the exact details, links and controls that are appropriate for the event. This is really slick stuff, and coupled with AJAX callbacks to the server, allows us to embed any manner of interactivity right into the event stream.

Somewhere down the road we might look at incorporating GoogleApache Wave functionality here, so you can do collaborative editing "in place" from the stream.

We'll have some screenshots of this stuff up soon.

Syndicated 2012-02-13 02:16:00 from ScrewPile Dev

25 Dec 2011 (updated 20 Aug 2012 at 02:41 UTC) »

Just In Time For Christmas: Neddick TPR3 is Released!

Neddick Technology Preview Release 3 (tpr3) is available, just in time for Christmas! See and enjoy!

Merry Christmas and Happy Holidays to all, from the Fogcutter team and Fogbeam Labs.

Syndicated 2011-12-25 12:57:00 from ScrewPile Dev

New Batch of Quoddy Screenshots

Believe it or not folks, progress is being made on the Quoddy project, and the progress over the last 2-3 weeks has been substantial. I've just posted a big batch of screenshots over at G+. Check 'em out here:

Syndicated 2011-07-24 01:39:00 from ScrewPile Dev

25 Feb 2011 (updated 20 Aug 2012 at 02:43 UTC) »

ScrewPile Update 02-24-2011

Activity around Fogcutter has been frantic since our last update. Neddick release TPR2 was finally released and that code has been pushed to the demo server. TPR2 features UI improvements, bugfixes related to the tagging feature, the introduction of scheduled jobs, and the addition of scheduled jobs for rebuilding the entry cache and populating channels from RSS feeds

On the Quoddy front, the user-profile support has been radically improved and the UI for editing profiles has been cleaned up considerably. A preliminary preview release should be out soon. The main feature that we want to get in for a TPR1 release of Quoddy is basic "activity stream" support (think the "Wall" feature on Facebook.)

We've also started digging into the Mahout clustering code, and are starting to look into implementing some of the neat stuff that you can do with Machine Learning and Text Mining. An "auto tagging" feature and a better "related links" feature for Neddick are on the drawing board.

See the roadmap page for more on what's coming in the short-term.

Syndicated 2011-02-25 03:33:00 from ScrewPile Dev

14 Jan 2011 (updated 20 Aug 2012 at 02:44 UTC) »

What's New With ScrewPile?

Since the last post, we've made a ton of commits to Quoddy - our Open Source Enterprise Social Networking platform (which is receiving most of the attention right now.) The most recent batch of changes have been focused on LDAP integration and User Profile editing.

Specifically, we've made all use of LDAP optional (the first pass at adding LDAP support actually assumed LDAP would always be present) by finishing up the "Local Accounts" support. We also added LDAP User Import, and we now fully support a mixed authentication mode where both "Local Account" users and (optionally) external LDAP users may log in. We've also started adding some (very) primitive support for editing User Profiles, and we added the very first UNIT TEST! Yes, the intent is to have a comprehensive test suite, but we'd been neglecting that stuff while doing a lot of exploratory programming earlier.

Yeah, it's considered back form to write the code first and retrofit the tests, but in this case we think it's going to be OK. There isn't *that* much code to test.

On that note, after cloning the repo, if you want to see the current test coverage metrics, just

[user@somehost quoddy]$ grails install-plugin code-coverage
and then
[user@somehost quoddy]$ grails test-app unit: -coverage
to generate the coverage report.

Other changes: rev'd the Grails version to 1.3.6, and switched to using Groovy 1.7.6 for development.

And that about covers it. Check the TODO or the roadmap for more on what's coming down the pike.

Syndicated 2011-01-14 03:04:00 from ScrewPile Dev

OpenSocial working (sort of)!

The first primitive bit of OpenSocial support is now wired into Quoddy. Don't believe me? Fine, here's the first screenshot:

Syndicated 2010-12-23 08:48:00 from ScrewPile Dev

ScrewPile Update 12-22-2010

Since our last update, a lot of work has gone into Quoddy. The latest code includes support for using LDAP for user account information, has support for creating and listing "friends" and "followers" and has some primitive activity stream stuff in place... and to top it all off, work has begun on adding OpenSocial support using Apache Shindig. The OpenSocial stuff isn't finished by any stretch of the imagination, but I hope to be able to deploy and render at least a "hello, world" Gadget sometime tonight / tomorrow morning.

To take a look at the latest changes, check the Quoddy repo on GitHub.

Syndicated 2010-12-23 01:32:00 from ScrewPile Dev

ScrewPile Update 12-01-2010

Not a lot to report since last time... I (Phil) have been in more of a "research" mode than a "coding" mode lately, trying to get more up to speed on some of the theoretical stuff vis-a-vis Information Retrieval, Network Science and Evolutionary Computation. But expect some progress on Neddick - at least - in the near future.

In the mean-time, take a gander at some of the cool stuff that's going on over at the ASF. A lot of new projects are showing up there, that may be useful for the ScrewPile projects. In particular, there's a lot fo Semantic Web related activity going on, as well as some Content Management stuff. Check out Stanbol, Chemistry, Clerezza, and note that Jena is becoming an Apache project.

Syndicated 2010-12-01 05:01:00 from ScrewPile Dev

47 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!