Of Thanksgiving Turkeys and Black Swans

A couple of months ago I finished reading The Black Swan (TBS) by Nassim Nicholas Taleb. I suspect I'll read it again sometime. In a nutshell, TBS is about (un)predictability, uncertainty and knowledge. Karen and the kids bought me the second edition of TBS for Fathers'

The Australian and the new Battle of Jericho

When the Israelites crossed the River Jordan into the land of Canaan, they came upon the city of Jericho. God spoke to the leader of the Israelites, Joshua, saying he and seven priests should walk around the city once a day with the Ark of the Covenant, until the seventh

No startup culture in Australia

Occasionally I go back and read some of Paul Graham's past essays. I find them to be a source of enlightenment, mostly on issues surrounding startups. Some gems are consigned to the footnotes: There are two very different types of startup: one kind that evolves naturally,

Of Thanksgiving Turkeys and Black Swans

Posted on by ricky in Eco-philo-pol | Leave a comment

A couple of months ago I finished reading The Black Swan (TBS) by Nassim Nicholas Taleb. I suspect I’ll read it again sometime.

In a nutshell, TBS is about (un)predictability, uncertainty and knowledge. Karen and the kids bought me the second edition of TBS for Fathers’ Day. It’s the one with a lengthy postscript essay, which I thought was arguably the best part of the book. I was happy to read in the postscript (p. 333) that the author appreciates my rather slow reading of his book.

Uncertainty, TBS explains, is predominantly an epistemic problem, one that is subjective and one that the social sciences ought not model with conventional Gaussian methods. The propensity for Nobel prize-winning economists to wield bell curves is the target of much of Taleb’s disdain. Black Swans are those rare, unpredictable events that mathematics has no business in attempting to predict (i.e., because they’re unpredictable. Duh!).

Taleb contends that the concepts of probability and randomness as they are taught in universities by bow tie wearing academics, and used by all manner of practitioners are wholly unsuitable for application in most non-physical domains, like economics, policy and risk management. These are typically domains which are dominated by, often cumulative, human action. Sometimes, Taleb explains, these systems can be more appropriately modelled with power laws or fractal mathematics, which can render Black Swans grey; but these models are not intended to provide the concreteness of the more commonplace methods with which we’re familiar. More often, these systems ought not be modelled at all, particularly not with sophisticated mathematics or equations taken from physics text books, as they are Black Swan prone, and impermeable to these approaches.

With uncertainty’s epistemic roots, Taleb spends some time discussing some important aspects of knowledge. Knowledge is biased both in terms of its distribution and its verification. Consider the Thanksgiving turkey: it is fed day after day, given a place to roost (is that what turkeys do?) and generally cared for, until one day, chop! The turkey couldn’t have suspected this was coming. It’s an event lying totally outside its experience. A Black Swan. The butcher, on the other hand, knew what was coming all along. Not a Black Swan. There is an imbalance of knowledge here, highlighting the subjective nature of uncertainty. We don’t need to look far to find examples of this kind of uncertainty, and massively consequential historical events that illustrate the disproportionate impact that Black Swans have.

Knowledge is also governed by the confirmation bias: no matter how many pieces of evidence are collected in support of some theory or idea, only one piece of negative evidence is required to refute it. This is the basis for the Popperian notion of falsification, which is itself fundamental to the way science proceeds.

A related idea is that of silent knowledge, cheekily termed the “Casanova problem” by Taleb. This reflects the observation that we only remember confirmatory instances, the successes, and rarely the failures. Just think about startup companies. Look at Company A. They’re so successful because they did X, Y and Z, so we should do the same. Of course, there may be a graveyard full of companies that did X, Y and Z, too. The silent evidence. Likewise, Casanova didn’t live to tell his tale because he was particularly clever or immunised against misfortune; rather, probability tells us that a small number of playboy types from that era would survive their ordeals and thus feel indestructible, and perhaps go on to write a book or two about their experiences. But we don’t hear about those other Casanovas, who weren’t quite so lucky. This problem tends to make us blind to the real course of history.

Taleb moves on to describe how social systems are currently modelled by social scientists, and it is here that he is especially scathing. Economics, particularly academic economics, is full of phonies, says Taleb. Run from anyone who tells you that Brownian motion or Heisenberg’s uncertainty principle can model human behaviour. Or, if you’re not the running type, put a mouse down the back of their shirt when they least expect it. These things don’t model true randomness or uncertainty; they model a very tame version of it. This is, he says, evidenced by the fact that our coffee cups don’t jump off our coffee tables. Yet, the equivalent of jumping coffee cups happens with relatively high frequency in social systems (e.g., stock market crashes).

Rather than find false safety in econometrics and other phony methods, writes Taleb, we should heed the advice of that intuitive economic philosopher, Friedrich Hayek. In Hayek’s view, it is impossible for a central planner to aggregate all the pieces of data required to make a meaningful forecast of the economy and to plan a priori. Rather, the interactions between the individual agents in the system, who each hold knowledge, often tacit knowledge, of their own, result in a coherent, self-organised system — what we might call society (though Lady Thatcher mightn’t call it such). One way of looking at this idea is that locals can integrate local knowledge in a way that a central planner never could. The difficulty in central planning has been met by economists with increasingly “scientific” methods, but this creeping scientism, as it was called by Hayek, is just making matters worse according to Taleb. It is the scandal of prediction. Medical empiricism, evidence-based medicine or clinical medicine, is perhaps the field to which economists should look for inspiration, rather than to physics. Physics, funnily enough, is for the physical world, where its methods and models apply, and where the Gaussian and related distributions are observable in reality. But its models are often inappropriate for the social world.

TBS presents an idea born of a rich body of existing literature, but perhaps nobody in the relevant fields has articulated their ideas as colourfully and passionately as Taleb. I will say that while his narrative is colourful, and while it’s generally comprehensible by the amateur reader (like me), I did find his rambling style a bit hard to digest at times; the book doesn’t flow as well as it could have. Taleb can also be rather self-indulgent at times. Nevertheless, this is one of those books that any thinking person should get a hold of and read. Gift it to someone as a late Christmas present. In fact, my dad scored a copy of it today (New Year’s Day, 2011) for “Christmas”, as my parents just arrived in Brisbane from Cairns. I’ve lent my own copy out to someone, and I hope she remembers to bring it with her next time she travels to Brisbane so that I might lend it to another interested reader.

The Australian and the new Battle of Jericho

Posted on by ricky in Eco-philo-pol | 9 Comments

When the Israelites crossed the River Jordan into the land of Canaan, they came upon the city of Jericho. God spoke to the leader of the Israelites, Joshua, saying he and seven priests should walk around the city once a day with the Ark of the Covenant, until the seventh day, at which time they were to march around the city seven times and then sound their ram’s horns. This Joshua and the priests did. The walls of Jericho collapsed, being particularly susceptible to bad music, enabling the Israelites to storm into the city, slaying every man, woman and child (barring the Canaanite traitor Rahab and her family, who had provided Joshua’s spies with shelter, and possibly other services). Once Joshua ensured Jericho was completely burned to the ground, he declared that anyone who attempted to rebuild the city would pay the price of their firstborn son (at the time it would seem, firstborn sons were routinely the subject of honour killings to “right” the apparent wrongs committed by their daddies, or were sacrificed to prove their daddies’ faith or allegiance to something, like a god for instance). A rather gruesome Biblical tale, but thankfully one that carbon dating and other methods have shown to be completely fictitious.

Fast forward a few thousand years to the present day, where a not altogether dissimilar battle is taking place. Sure, it doesn’t involve child sacrifices or indiscriminate killing. At least not yet. But bad music has been aired, walls have fallen down, people have been burned, and some sections of the Australian twittering class consider that threats have been made, if not against their firstborns, then against their “rights”.

For those few who don’t know, Grog’s Gamut is a blog written by a public servant, which came to prominence during the 2010 federal election campaign. The author of the blog remained anonymous until recently. He strongly criticised the news media’s coverage of the campaign, as many others were doing, but also made some suggestions for how to improve the coverage. The ABC decided to heed Grog’s advice, leading some sections of the media to conclude that discovering and revealing the true identity of the public servant behind Grog’s Gamut was in the public interest. On Monday, September 27, 2010, James Massola, the Joshua of our little story, wrote in The Australian that the public servant behind Grog’s Gamut was one Greg Jericho. So began the new Battle of Jericho, otherwise known as Groggate.

With the ram’s horns blown, and the Grog’s Gamut persona crumbling around him, Jericho has been exposed. Defending him and the right to anonymity are the Twitterati, armed with their virtual vuvuzelas loaded with 140 character bursts of noise, which make a worse racket than ram’s horns.

What’s got everyone so hot under the collar? Why shouldn’t Jericho have been unmasked? It’s an interesting question, but as we shall see, not the most important one.

The title of Massola’s (controversial) article is “Controversial political blogger unmasked as a federal public servant“. Besides the fact that we already knew beforehand that the Grog’s Gamut blog was written by a public servant, one must ask, what makes Jericho controversial, and in whose eyes is there a controversy? There is little evidence, as far as I can see, that anyone other than The Australian found any controversy whatever in the fact that Grog’s Gamut was written by a public servant. In fact, one is hard pressed to find evidence that The Australian itself considered Grog’s Gamut to be controversial. The only two references to Grog’s Gamut in The Australian I can find prior to September 27 is the article, written by Amanda Meade, detailing the events leading to the ABC’s change in the way they covered the 2010 election, and another written by Massola pointing out the increasing relevance of Twitter and blogs. Both articles paint Grog’s Gamut in a neutral-tending-towards-positive light. Not a hint of controversy anywhere. Tellingly, Massola writes of blogs and tweets:

And as Grog’s post shows they are increasingly relevant, whatever the identity of the poster.

(Emphasis mine.) This glaring absence of any prior mention of controversy in relation to Grog’s Gamut hints at mischief on the part of James Massola and The Australian. This post hoc rationalisation of the decision to out Jericho on the basis of public interest is a cloak weaved of the finest sanctimony, designed to obscure the newspaper’s real reason (if one can call it a reason) for revealing Jericho’s name: opportunism. There are at least two casualties of this decision, and they are Greg Jericho and journalism.

If it wasn’t The Australian who initially labelled the Grog’s Gamut blog controversial, was it the public? Jericho made no attempt to hide the fact that he was a public servant. Yet, I do not recall any public outcry in regards to his employment in that role when his blog gained a little bit of fame. Further, when Massola blew Grog’s cover, nothing of consequence occurred insofar as the original story: that the author of the Grog’s Gamut blog was a public servant by the name of Greg Jericho. On the contrary, the great bulk of discussion was and still is whether The Australian newspaper had done the right thing by outing Jericho. Thus, regardless of whether you’re on the side that says Jericho was fair game or the side that says his desire to remain anonymous ought to have been respected, the fact of the matter is that The Australian created the news rather than reported it (for, as we will see, the outing of Jericho was inconsequential, except, perhaps, to Jericho himself, who may now be considering some significant life changes).

Consider that, like Joshua and his priests who marched around the ancient city for six days before striking on the seventh day, Massola and The Australian had known Grog’s true identity for months prior to publishing it. Why?

Consider also that the consequence (or lack thereof) of Massola’s story would have been the same if Grog had turned out to be, not Greg Jericho, but a public servant by the name of Bill Bloggs or Jane Jones. There was nothing to gain in putting a real name to an anonymous blogger in this case, unless the blogger turned out to be Kevin Rudd, or someone similar. Then you’ve got a news story. It seems, therefore, that Massola and the self-ordained high priests of the Church of the Public Interest in fact acted in their own interest.

So, while the issue of anonymity on the interwebs is an interesting one, arguably the more serious issue is whether our major news outlets are able to recognise what constitutes news and what does not, and importantly, whether in reporting a non-newsworthy item, they inadvertently or purposefully become the news story.

Although the main subject of this article is not the issue of anonymity, let’s examine it briefly. Unlike the view expressed by Annabel Crabb, that in her ideal world disclosure of identity would be a rebuttable presumption (that seems like a dubious use of the term, but we know what she’s getting at), in my perfect world people would play the ball and not the person. That is, it would not matter who is saying something, but what matters is what is said. Anonymity is one of the cornerstones of peer review in many fields of science, for example, and some widely read news publications such as The Economist still observe the practice of publishing without by-lines. A strong argument does not resort to ad hominem attacks. Paul Graham’s article on “How to disagree” is an excellent resource to point your friends and enemies to, should you want to suggest to them that their argumentative skills are in need of some improvement. Note, however, that the sort of pseudonymity employed by Grog’s Gamut does not prevent ad hominem attacks. Although it prevented ad hominem arguments against Greg Jericho, whilst this pseudonymity lasted anyway, it did not prevent ad hominem attacks against Grog’s Gamut, an online identity built up over the lifetime of that blog. For instance, it’s still possible to level attacks of the “well, Grog would say that, because based on his/her previous posts he’s/she’s a raging lefty” kind. (Aside: It’s interesting to note how many of the attacks against The Economist focus on the their practice of writer anonymity, rather than on its content. Take this quote from American author Michael Lewis, for example: The magazine [sic] is written by young people pretending to be old people. If American readers got a look at the pimply complexions of their economic gurus, they would cancel their subscriptions in droves.)

We may identify, then, several distinct reasons a person may want to unmask an anonymous blogger:

  1. I just want to know who it is, dammit!
  2. I want to find out in case the blogger has a (real) conflict of interest, in which case I will report it.
  3. I want to find out who it is so I can demonstrate my unmatched investigative skills or the scale of my professional network, thereby drawing attention to myself.
  4. I want to know so I can launch into an ad hominem attack on them, or cause them some other sort of grief.

Annabel Crabb’s desire would seem to fall into the first category. The Australian‘s and Massola’s stated reasons are in the second, though, as I have argued, probably align with third. Clearly, the hullabaloo on Twitter shows that some people would argue their reasons are encroaching upon the fourth. I have not seen enough evidence to give support to the claim that The Australian‘s motivations fall into the fourth category.

Nevertheless, many are choosing to interpret The Australian‘s actions as a threat against bloggers, and anonymous ones critical of The Australian in particular: “look what we did to Jericho; watch it, or we’ll take your firstborn.”

Will I continue to read The Australian? Of course, because some sections of the paper are worth reading. I don’t always agree with the editorials, but many of them take a considered and principled view in my opinion (probably the ones written by Paul Kelly; I don’t know for sure, because I don’t really care about the by-lines). It’s not all bad (despite what some people might think). And, in any case, The Australian happened to be in a position to break the “story”, but there’s nothing to say that another news outlet wouldn’t have broken the story if they were in possession of the same information. As mentioned above, the ABC‘s Annabel Crabb seems to think that what The Australian did was kosher, so presumably she would have reported Grog’s true identity if she had known it. Would I recommend the The Australian to others as a credible primary news source? Not on current form, and certainly not in isolation. However, I’m seriously contemplating Nassim Nicholas Taleb’s advice of just not reading the news, period. I’ll let you know how that one goes.

Note: This post is late. Very late. Hopefully it’s still relevant to somebody.

No startup culture in Australia

Posted on by ricky in Innovation | Leave a comment

Occasionally I go back and read some of Paul Graham‘s past essays. I find them to be a source of enlightenment, mostly on issues surrounding startups. Some gems are consigned to the footnotes:

There are two very different types of startup: one kind that evolves naturally, and one kind that’s called into being to “commercialize” a scientific discovery. Most computer/software startups are now the first type, and most pharmaceutical startups the second. When I talk about startups in this essay, I mean type I startups. There is no difficulty making type II startups spread: all you have to do is fund medical research labs; commercializing whatever new discoveries the boffins throw off is as straightforward as building a new airport. Type II startups neither require nor produce startup culture. But that means having type II startups won’t get you type I startups. Philadelphia is a case in point: lots of type II startups, but hardly any type I.

Incidentally, Google may appear to be an instance of a type II startup, but it wasn’t. Google is not pagerank commercialized. They could have used another algorithm and everything would have turned out the same. What made Google Google is that they cared about doing search well at a critical point in the evolution of the web.

In this footnote alone there is a sizeable nugget of wisdom for any government or other innovation funding body outside of the Valley that cares to listen. Whether you see it as a good thing or a bad thing, it’s clear there is no startup culture in this country. I’d guess that a disproportionate number of ventures in Australia fall into Graham’s type II category: commercialising the results of academic research with no startup culture required and none produced. Notwithstanding the regulatory risk that often accompanies startups formed around a scientific breakthrough (think biotech and pharmaceuticals), the VCs that fund these sorts of ventures would typically shoulder less financial risk than their type I-loving Valley counterparts; there’s a surer trajectory for type II ventures because there are fewer unknowns. Another way of saying this is that series A funding for type II ventures (probably the most common kind of startup in Australia) is more like a series B or C round in the Valley.

The last part of the footnote above is perhaps most important. I hope that governments here don’t think that by allocating tax-payer funded block grants to pseudo-commercial technology “incubators” with an academic bent that a Google will pop out the other end. It could happen, but not by design. What these “investments” are more likely to produce is a steady trickle of good science resulting in the occasional type II startup. If that’s what’s intended, it’s all good, but let’s be clear about it! The creation of a Google by this means would be due more to luck than careful planning, and our current funding models certainly won’t trigger a self-sustaining chain reaction of startups.

RSpec: verifying model instance creation

Posted on by ricky in Innovation | Leave a comment

As a good little rspeccer, I try hard to write my specs to verify behaviour rather than any particular implementation of that behaviour, and, for the moment at least, I’m in the “isolate your controllers from the models” camp. If you’re not in that camp (i.e., you don’t mock and prefer to do functional testing alone), this post probably won’t interest you. One case I often had problems with was model instance creation. There are just so many darn ways to create a new model instance! For a few examples:

@order_item = OrderItem.new(:hi => "hem", :ho => "hum")
@order_item.save!

@order_item = order.order_items.create(:hi => "hem", :ho => "hum")

@order_item = OrderItem.some_custom_creation_method(:hi => "hem", :ho => "hum")

The Problem

When you’re writing your spec (up front, of course!), you don’t want to presume too much about how the implementation will unfold. So, do you stub the create method on the model class? But what if we implement using the new/save combo (as above)? Or, what if we create the model instance through an association?

My Solution

My first pass solution to this problem is the following, based on Matthew Heidemann’s association stubbing technique:

module Spec
  module Mocks
    module Methods
      def stub_creators!(association_name, klass, stubs = {}, valid = true)
        target_mock = Spec::Mocks::Mock.new(klass, {:save => valid, :valid? => valid}.merge!(stubs))
        target_mock.stub!(:save!).and_return do
          target_mock.save
          valid || raise(ActiveRecord::RecordNotSaved)
        end
        klass.stub!(:new).and_return(target_mock)
        klass.stub!(:create).and_return do
          target_mock.save
          target_mock
        end
        klass.stub!(:create!).and_return do
          target_mock.save!
          target_mock
        end
        mock_association = Spec::Mocks::Mock.new(association_name.to_s)
        mock_association.stub!(:create).and_return do
          target_mock.save
          target_mock
        end
        mock_association.stub!(:create!).and_return do
          target_mock.save!
          target_mock
        end
        mock_association.stub!(:build).and_return(target_mock)
        self.stub!(association_name).and_return(mock_association)
        target_mock
      end
    end
  end
end

What this is doing

The thinking here is that, when I write my spec, I don’t want to be concerned with whether the implementation takes the create, new/save, build/save, or other route. In my spec I just want to know that at some point the controller asked for a model instance to be created and saved. The above code, which I put in spec_helper.rb, allows my specs to do just that. Essentially, I stub save so that it returns true or false, depending upon the optional valid parameter, and the other creation stubs derive from that: save!, create, create! on the target association class and the association itself. I also stub out new and build for convenience. This code ensures that save is always called, even though we’ve stubbed out create etc. Now if I need to check that a controller action has caused a model instance to be created, I need only ever check that save is called.

An example

In my specs I call stub_creators! on an instance of the association owner (in our example, the association owner is Order), passing it the name of the association I want to stub (order_items), the model class of the association target (OrderItem), optional stubs for instances of the association target, and whether or not we want the returned model instance to be valid (defaults to true). With this in place, I can do this:

describe OrdersController do
  before(:each)
    @current_user = mock_model(User, :login => "me", :logged_in? => true)
    @order = @current_user.stub_creators!(:order_items, Order)
  end

  it "should create a new order_item" do
    @order.should_receive(:save).and_return(true)
    post 'create'
  end
end

And it doesn’t matter which route the implementation takes to create that model instance. As long as save is called at some point, I know the controller has triggered the creation of the instance somehow.

Thoughts

Now, while this seems to work for me, I don’t really know whether this is kosher. Is it a sensible approach to take? I haven’t tested this extensively; as I said, it’s a first pass. Also, there’s bound to be stuff missing from my solution (for example, it doesn’t handle find_or_create_by_). Can a similar approach be taken to the various ways to delete an object, too? I shall continue to experiment.

Installing nokogiri on Mac OS X

Posted on by ricky in Random observations | 6 Comments

A quick search reveals that I’m not the only one who’s had difficulty installing the nokogiri Ruby gem on Mac OS X. The official docs recommend installing the fink or macports versions of libxml2, and so does this nokogiri tutorial over on the Engine Yard blog. I like macports. It’s a good way to stay up to date with the latest and greatest versions of everything, but I have this thing about trying to make things work with the libraries that come as standard on Mac OS X. I don’t know, maybe it’s that it reduces dependencies, or maybe I’m just strange.

Anyway, here’s how I got nokogiri to install under Snow Leopard without resorting to macports or fink:

sudo gem install nokogiri -- --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib --with-xslt-dir=/usr

What’s weird is that, unless I’m mistaken, those paths are exactly where nokogiri should be looking for the relevant libxml2 files in the first place! I’m still to find out whether it all works as it’s supposed to. But installation is the first step! Let me know if it works for you.

Introducing Claire

Posted on by ricky in My family and me | 1 Comment

Our daughter, Claire Elise, was born on October 29, 2009. Here’s a photo of her, and another with her proud family.

Claire Elise Robinson

Claire Elise Robinson

Big brother meets baby sister

Big brother meets baby sister


iCal/Exchange Integration in Snow Leopard – Booking Shared Resources

Posted on by ricky in Random observations | Leave a comment

So I’ve been using Snow Leopard for a few weeks now. Not too many changes on the surface. The integration of Exposé into the Dock is probably one of the more visible changes. But being in an organisation where Microsoft Exchange is the chosen communication and, dare I say it, collaboration platform, the Exchange support in Mail, iCal and Address Book is really useful.

However, there was one thing I couldn’t figure out how to do: booking a shared resource, such as a meeting room or a car park. Today, we figured out how to do it, and, in hindsight, it should have been obvious.

To book a shared resource, create a calendar event in iCal as you normally would, making sure the event is created in your Exchange calendar as opposed to your personal (local) one. Then, in the invitees field, add the resource you wish to book. Start typing the name of the resource, and if your Exchange integration is working correctly (and your IT people have set up the resources in Exchange correctly), it should find the resource just as if you were adding a person as an invitee. Once you’ve added the resource, you should see a link that says “Available meeting times…”. Click it. This will show you when the resource is available and when it’s booked, as well as the availability of any other people you’ve added to the invitees field. Once you’ve done that, you’re good to go! Microsoft Outlook users will see that the resource has been booked (if they’ve added the resource as a Shared Calendar to their Outlook console).

The Landing Pilot is the Non-Handling Pilot

Posted on by ricky in Random observations | Leave a comment

The Landing Pilot is the Non-Handling Pilot until the “decision altitude” call, when the Handling Non-Landing Pilot hands the handling to the Non-Handling Landing Pilot, unless the latter calls “go-around”, in which case the Handling Non-Landing Pilot, continues Handling and the Non-Handling Landing Pilot continues non-handling until the next call of “land” or “go-around”, as appropriate.

In view of the recent confusion over these rules, it was deemed necessary to restate them clearly.

– British Airways memorandum, quoted in Pilot Magazine, December 1996 (and in The Pragmatic Programmer, which is where I read it).

Citemine: a new way to do peer review and publishing

Posted on by ricky in Innovation | 3 Comments

As you probably know, I’m a ubicomp researcher by day. However, on the side, NICTA‘s allowed me to allocate some of my time to develop a new way for researchers to review and publish papers. We’ve deployed a very early proof-of-concept of our idea called Citemine. We think Citemine has several nice properties, including a potentially more meaningful measure of research quality than existing indicators such as h index and raw citation counts. You can read all about the underlying mechanism in Citemine here. Until we deploy a feedback mechanism for papers, please leave your comments about Citemine at the official Citemine blog.

Note that we’re experiencing a few difficulties with our Citemine production server environment, which means slow page loads from time to time. And it’s clearly lacking polish, but hopefully it serves its purpose as a proof-of-concept so that you can get a feel for what it’s all about. But please do read the paper. I’ve been told it’s a fun read.

The PACE framework for context-aware computing

Posted on by ricky in Innovation | Leave a comment

A long time ago, in a Cooperative Research Centre far, far away (well, actually, it used to be just across the road from where I’m writing this post, but it sadly met its demise), a small group of researchers worked on a ubiquitous computing project that came to be known as PACE: Pervasive Autonomic Context-aware Environments. This group produced a framework for context-aware computing, which was the subject of many research papers at Pervasive, PerCom, JPMC and elsewhere. For various reasons, the source code for PACE has only just now come out into the open. Yes, you can now download the PACE framework from SourceForge. Unfortunately, there won’t be a lot of support offered along with the code.

1 2 3 4 5 6 7 8 9 10 ... 55 56   Next »