NetKernel News Volume 3 Issue 1

October 28th 2011

What's new this week?

Catch up on last week's news here

Repository Updates

The following updates are availabled in both the NKSE and NKEE repositories for NetKernel 5.1.1...

  • demo-ncode-twitter 1.4.1
    • Fixed some broken hard-coded import version numbers so that the demo will use latest available libraries.
  • lang-ncode 1.5.1
    • Removed some unneeded imports
  • nkee-apposite 1.28.1
    • Fixes a potential issue with unzip a package when a module contains filenames that were unescaped for use as URIs.
  • nkse-control-panel 1.22.1
    • Update to public status of import fulcrum to allow access to search reindex from other tools.
  • tutorial-ncode-dropbox 1.2.1
    • Released for first time.

The following update is available in the NKEE repository for NK 5.1.1....

  • nkee-http-server 2.6.1
    • Added support for an asynchrnonous logger on the Async NetKernel Handler. Bypasses Jetty which doesn't report status code correctly if the request is an asynchronous continuation.

NetKernel 5.1.1 - Status

Inevitably when eyeballs were focused firmly on the NK5.1.1 release we discovered a small number of teething problems. The worst was that the automatic generation of the search index was not firing - the repo update of nkse-control-panel relaxes the access contraints on the control panel dynamic imports which allows the search index generation service to be reached again.

We had a broken filename in the ncode-twitter demo which revealed a URI escaping issue when installing expanded jar modules. We've fixed both the ncode-twitter demo and put out a new version of Apposite that takes care of the potential for badly formed filenames in packaged module jars.

These minor tooling issues aside, things have gone smoothly and we already know of two production systems that have been transitioned to NK5. Our own servers have been up for two weeks now and are showing about a 25% net reduction in average memory use - due to the enhanced kernel and cache data structures.

NKEE HTTP Asynchronous Logging

With a bit of time available post-NK5 and pre-NKEurope, I sat down and tackled a problem I'd been meaning to sort out for some time. When using the NKEE Asynchronous HTTP Transport with standard Jetty NCSA Log Handler - you would get logs but the status and data transfer logs were always indeterminate.

After some investigation it turned out that Jetty would log the status of an Async continuation before it had completed and the HTTP response was closed. Being asynchronous it had no way of knowing when the interaction was completed.

We've implemented the ability to directly supply an Async NCSA logger to the NKEE async handler - since our NKEE handler knows when the async response is completed it can, at last, provide a full and complete log of the HTTP request with the status and data transfer size reported.

If you're using the NKEE Async HTTP just switch to NK5 and update to the latest version from the repo - documentation and an example config are provided here...


NetKernel Europe 2011 - Brussels

I'm actually writing this outside the Eurostar terminal in Brussels - in transit from the NKEU 2011 conference yesterday. As ever, it was a great pleasure to spend time with a bunch of like-minded people. The audience ranged from 7-year NetKernel veterans, to one week ROC-neophites. Hopefully we struck the right balance with content and provided the oversight and hardcore details to satisfy both extremes.

We were very cordially hosted by Rene Luyckx and Jan Aerts at the Steria Benelux offices. It was a particular pleasure to make indirect acquaintance with Jan's brother-in-law who, would you believe it, is a professional Belgium brewer. It would have been rude to refuse a beer tasting ;-)

I'll post more details of the things I learned and stuff we talked about in subsequent newsletters. For now, thanks to all that came along. Now we've uncorked the bottle in Europe we'll certainly have to do it again some time.

We learned of the death this week of John McCarthy, another of the founding fathers of modern computing and creator of the LISP language.

I'm afraid that today I haven't had time to focus on this topic and do it justice but rest assured that at a future date I will discuss in detail how LISP and ROC are related... for example, that code is a resource processable within the process, the power of constrained and uniform data structures as representation models, the elegance and architectural power of dynamic scope and, not least, the philosophy of building small units and composing into composite solutions.

For now, let's reflect that we are fast running out of giants from which to survey the computing landscape...

Have a great weekend,


Please feel free to comment on the NetKernel Forum

Follow on Twitter:

@pjr1060 for day-to-day NK/ROC updates
@netkernel for announcements
@tab1060 for the hard-core stuff

To subscribe for news and alerts

Join the NetKernel Portal to get news, announcements and extra features.

NetKernel will ROC your world

Download now
NetKernel, ROC, Resource Oriented Computing are registered trademarks of 1060 Research

© 2008-2011, 1060 Research Limited