NetKernel News Volume 6 Issue 8 - NetKernel Bootcamp London 2015, Wittgenstein and ROC

NetKernel News Volume 6 Issue 8

July 10th 2015

Catch up on last week's news here, or see full volume index.

Repository Updates

NOTE: As announced previously, Java 6 is now end-of-life and since January 2015 all modules are built and target Java 7. Do not attempt to install updates if you are still running Java 6.

There are no new updates to repository packages at this time.

Gradle Updates

The Gradle plugin has been updated to version 1.1.9. The updates provide enhanced support to allow multiple targets (instances) for thawing frozen NetKernel instances.

This requirement was identified by Mircea Cocosila who is pushing the plugin with some demanding deployment configurations.

We've tested the freeze/thaw tasks in as many scenarios as we can and Mircea verifies that the latest version solves his needs and more importantly that the NK gradle plugin provides a significant breakthrough in configuration management and deployment.

If you're using gradle, all you need to do to get the latest version is to change version to 1.1.9 like this...

//Apply the NetKernel plugin
apply plugin: 'netkernel'

//Provide this buildscript with repositories and dependencies to obtain the netkernel plugin
buildscript {
    repositories {
        maven {
            url ""

    dependencies {
        classpath group: '', name: 'gradle.plugin', version: '[1.1.9,)'

netkernel {
//All configuration for netkernel plugin tasks goes here.

I guess Mircea would be the one to know how to parameterize the plugin version number so that you can centralize all build.gradle scripts to use the same version. Mircea, any chance of a short article explaining this for the next newsletter ;-) ?

NetKernel Vacancies - Austria, California

Its been a very busy month, hence the high-latency on news letter releases. We've been to Linz in Austria and Palo Alto, California for new business engagements. In both cases the projects are established and are now looking to recruit NetKernel talent.

In Austria we're looking for an enthusiastic junior team member, with a broad range of development skills, an open-mind and the ambition to progress to an architect position for a very significant NetKernel/ROC platform solution for Internet Auctions. The position would initially be based near Graz in the Steria region of Austria.

In Palo Alto, there's an opportunity for an experienced NetKernel developer to join a highly prestigious organisation. The project is a classic system integration challenge involving synchronization of multiple complex data sources. A series of micro-service interfaces provide change-driven updates to external cloud applications. This type of system is an excellent example of where monolithic ESB thinking hits the wall, and light-weight composite resource oriented strategies provide the perfect engineering fit.

If either of these opportunities interest you, please drop me a line and we'll make the connection.

PS Remind me to write an item about the Load Simulation framework we developed to prove Auction bidding load capacity. Headlines: 1) don't trust JMeter for high performance testing - it becomes the bottleneck. 2) NetKernel delivers 100k req/s with a bid frequency of 1ms, but it wasn't until we removed JMeter as the bottleneck that we got a true measure of the capacity!

NetKernel Bootcamp London - 17th August 2015

We finally got our finger out and fixed the details for the London Bootcamp.

The event takes place on Monday 17th August and will be a full day introduction to ROC using NetKernel: ROC is what happens when you take micro-services to the limit and start to think in terms of resources as the first class concern of a software system.

The day will be hosted by 1060 Research at TechUK...

10 St Bride Street

Registration and networking from 8:30am with events starting at 9am.

Bring a laptop, IDE, Java JDK 7+ etc. It would also be useful to have a copy of Gradle installed for build/dev-ops tasks.

The event is free to attend.

If you're interested, or think a friend/colleague who you've mentioned ROC to would like to attend, then please drop me a line to secure a place. (I know we should have an automated booking form as with previous bootcamps, but its been too damned hectic the last few weeks to sort it!)

To make this manageable and effective, space is limited, so first come first served!

Wittgenstein - Tractatus Resource Orientum Computatis

I had a long flight to San Francisco a couple of weeks back. One of the pleasures of long-haul flying is to use it as a chance to dedicate time to reading something you've always meant to get around to; so that's what I did...

No doubt you've heard of Wittgenstein. Maybe, like me, you had a basic understanding that his argument is that without a formal recognition of the role of language we cannot philosophise (think/reason) at all.

I knew that much, but my hunch for some time has been if his whole angle is about language, then he might be thinking in a similar way to us?

This follows since ROC is predicated on the idea that identifiers (symbols - the basis of language) are resolved in order to reify resources.

So, as with my previous hunch about human language processing (see the discussion of Pinker's the Language Instinct and its relationship to ROC), I thought there might well be resonances between Wittgenstein and ROC.

As it turns out not only are there resonances, we're tuned to the same damned frequency...

Wittgenstein's only published work (other than a collection of posthumous writings) is called Tractatus Logico-Philisophicus (downloadable from Project Gutenberg as PDF).

It is a short, carefully structured document. You can read (but not understand) it in about an hour. Interestingly he uses a tree-structured hierarchy model for each statement (echo's of Language Instinct in the chosen representation) and every statement has an identifier of the form x.x.x.x

Wittgenstein was regarded as arrogant, extremely intense and utterly convinced of his position. He had no formal philosophical education, having qualified first as an Aeronautical engineer. He was also, like our other Austrian friend Kurt Gödel, out to destroy Philosophy...

Although it is brief and can be read in a short time, it is not easy and in sections 3 and 4 moves into formal arguments of pure logic. Nevertheless, if you read it with an understanding of ROC, you will find it very familiar. Indeed Ludwig's opening sentence anticipates this very nicely...

This book will perhaps only be understood by those who have themselves already thought the thoughts which are expressed in it — or similar thoughts.

Arrogant, assured, and absolutely spot on...

My equally pithy summary is - Wittgenstein's idea was very close to ROC. He nearly gets there but, that he doesn't, is not because the concepts aren't present, its just that he was trying to create a first principals philosophical formalism with which to destroy philosophy.

Listed below are the most interesting statements and the associated ROC concept that is directly equivalent - Note: it cannot be a coincidence that he actually uses the language of ROC: Identity, Context, Resolution, Space, Representation - they are all there if you look...

Line Statement in the Tractatus ROC Concept
2.0 What is the case, the fact, is the existence of atomic facts. Resources exist
2.0121 It would, so to speak, appear as an accident, when to a thing that could exist alone on its own account, subsequently a state of affairs could be made to fit. If things can occur in atomic facts, this possibility must already lie in them. (A logical entity cannot be merely possible. Logic treats of every possibility, and all possibilities are its facts.) Just as we cannot think of spatial objects at all apart from space, or temporal objects apart from time, so we cannot think of any object apart from the possibility of its connexion with other things. If I can think of an object in the context of an atomic fact, I cannot think of it apart from the possibility of this context. Resources are abstract. All logically possible Resources exist. Context makes them physically reifiable. (see below for discussion of Context and ROC)
2.013 Every thing is, as it were, in a space of possible atomic facts. I can think of this space as empty, but not of the thing without the space. Resources reside in Spaces. Spaces are primary.
2.0201 Every statement about complexes can be analysed into a statement about their constituent parts, and into those propositions which completely describe the complexes. Composites are constituted from Resources
2.033 The form is the possibility of the structure. Representations have Structure
2.1 We make to ourselves pictures of facts. "Pictures of Facts" we call Representations (ie State of Resources)
2.14 The picture consists in the fact that its elements are combined with one another in a definite way. Representations have a quantifiable Entropy
2.141 The picture is a fact. Everything is a Resource, even the Representations that result from Computation
2.15 That the elements of the picture are combined with one another in a definite way, represents that the things are so combined with one another. Composite Representation as structured Resources
2.202 The picture represents a possible state of affairs in logical space. Representations are located/resolvable in logical Space
2.22 The picture agrees with reality or not; it is right or wrong, true or false. Representations are immutable and decoupled from reality
2.223 In order to discover whether the picture is true or false we must compare it with reality. Truth of Representation state is tested against abstract reality. eg Live cache state is realization of reality, its validity has dependencies (Dependency Caching)
3.11 We use the sensibly perceptible sign (sound or written sign, etc.) of the proposition as a projection of the possible state of affairs. The method of projection is the thinking of the sense of the proposition. Identifiers identify Resources
3.3442 The sign of the complex is not arbitrarily resolved in the analysis, in such a way that its resolution would be different in every propositional structure. Resolution - Identifiers are Resolved (implicit: by Spaces). A resource may have any number of Identifiers
3.4 The proposition determines a place in logical space: the existence of this logical place is guaranteed by the existence of the constituent parts alone, by the existence of the significant proposition. Identifier is a vector into Resource Space
3.411 The geometrical and the logical place agree in that each is the possibility of an existence. A Spacialy resolvable Identifier imbues the possibility of Existence
4.014 The gramophone record, the musical thought, the score, the waves of sound, all stand to one another in that pictorial internal relation, which holds between language and the world. To all of them the logical structure is common. (Like the two youths, their two horses and their lilies in the story. They are all in a certain sense one.) A Resource may have any number of Representations. (Transreption is implicit here.)
4.0312 The possibility of propositions is based upon the principle of the representation of objects by signs. My fundamental thought is that the “logical constants” do not represent. That the logic of the facts cannot be represented. Identifiers and Representations are real. Resources are always abstract.
7 Whereof one cannot speak, thereof one must be silent. Without identity a Resource cannot be reified. A Resource that cannot be reified is outside of reality and uncomputable.

I need another long haul flight to get the chance to read it again. However even after only a brief consideration its pretty clear that he sees the world exactly the same as we do.

His purpose was to provide a formal model for discussing reality. Ours is to provide a formal model for efficiently computing the state of reality. Different sides of the same coin.

As can be seen in the list above, he talks about most aspects of ROC. The thing that is most obviously missing - or hard to spot directly, at least - is a concept of relativistic context. I sense, like software programming languages, he tends towards assuming any formalism must be expressed within one language symbol set.

Our philosophy is that its actually perfectly good to change symbols provided you don't loose context when you change - which we formally understand as: the same abstract resource is reifiable even if you change identifiers provided the context (spacial locality) is well structured.

Of course the elephant in the philosophical room is context. We all understand that any given symbolic statement (language, code, whatever) is only meaningful given sufficient context. I think that we can help the Tractatus here since we have a formal definition and deep understanding of context.

In ROC, context is the structural spacial locality (scope) within which any given identifier is resolved. Furthermore context is not static but is continuously established as a consequence of resolution. Additionally spaces are not static but can be ephemerally created and introduced into the context.

In the limit, an entire consistent, multi-spacial-dimensional resource oriented system can be nucleated from a single space by a single request for a single identifier.

If this seems hard to conceive, take a look at the dynamic space runtime. Then also remember that you and I, and everyone, and every organism we know of, started out as just a single cell. The complex multidimensional system that you developed into was possible because the same identifier (DNA) resolves to different state depending on context.

Final words go to Ludwig, concluding his introduction (and lamenting the state of philosophy).

If this work has a value it consists in two things. First that in it thoughts are expressed, and this value will be the greater the better the thoughts are expressed. The more the nail has been hit on the head.— Here I am conscious that I have fallen far short of the possible. Simply because my powers are insufficient to cope with the task.—May others come and do it better.

On the other hand the truth of the thoughts communicated here seems to me unassailable and definitive. I am, therefore, of the opinion that the problems have in essentials been finally solved. And if I am not mistaken in this, then the value of this work secondly consists in the fact that it shows how little has been done when these problems have been solved.

We could echo the same sentiments in that the value of ROC may well consist in the fact that it shows how little has been done in the world of computation...

Hush now

The most famous line from the Tractatus is the final solitary statement of section 7.

Whereof one cannot speak, thereof one must be silent.

Which in ROC becomes...

No identifier, no computation.

Have a great weekend! I'm off to pull the wings off philosophical butterflies...


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