Tuesday, July 10, 2007

Python in the Control Room

I started my second day at EuroPython learning about how ConocoPhillips is using Python to improve integrated operations of North Sea oil platforms in onshore control rooms.

Coin3D wrapped in Pivy on top of a database, serving out through Qt, gives operators real time views of the drilling platforms and surrounding vessels. We zoomed in on the Ekofisk field, checking out weather conditions, logistic features (e.g. vessel trip planning, viewing cargo manifests).

The demonstrated application implements collision and speeding detection, sea bed visualization. Applying a dynamic language such as Python was a big experiment and considered a success. Our speaker was Roly Seehaus of Kongsberg.

Fabio Pliger from the University of Verona also cast his talk as a success story regarding Python's ability to perform in real time, generating critical feedback, this time within the pharmaceutical industry.

His shop is still Windows-based, but Python plays well with others.

I next learned about the somewhat experimental PyConsole.py running atop Python's win32console module. This gives users a Windows compatible command line, atop which another Python interpreter might be loaded.

By use of callbacks, one might use multiple consoles to leverage the operating system's multi-processing capabilities (e.g. instead of Python-level threading).

The speaker, Michael Graz, also demonstrated using AJAX to invoke a server-based Python command line from within a client's web browser.

The Pygame guy unfortunately had no sense of time. Though obviously a genius, we barely got to the core substance of his discussion (tmap, RenderUpdatesThreaded).

Jonathan Fine of The Open University in the UK demonstrated the public MathTran server (mathtran.org) designed to put mathematics on web pages. The service takes math formulas written in Tex and sends back an image for web page embedding. Python glues it all together. Let's give it a try. Sending \sum_{k=1}^\infty \frac{1}{k}, receiving back the following png:


OK, cool.

On the agenda: two way translations between TeX and MathML.

Johnny Stovall, a wild man Texan expat from Indonesia belted out his Data Driven Parsing for the Real World. The guy's been on a 36 year mission to develop a utility he's been told is impossible (he's been nicknamed "the impossible man").

But what is a data driven parser and what is it for? It doesn't depend on an exhaustive rule-based description of a knowledge domain or human language.

Mostly he talked about how computers complement humans by accomplishing tasks that humans cannot (but I think we knew that).

I believe until what he's looking for -- some kind of very generic pattern recognizer -- is better defined, the kind of non-computable problems he imagines tackling will be handled on the human side of the fence, though with the aid of computers. I don't think we're quite ready to do Python sprints to solve the perennial problem of creating an Artificial Intelligence.