Python Links Jan 7, 2009

Was wondering whether I should just put this in a page instead of blogging every day. Anyway, here are the links.

  1. lxml 2.1.5- lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It provides safe and convenient access to these libraries using the ElementTree API
  2. Blender 3D: Blending Into Python/Optimize – A wikibook for Blender Python API, a growing collection of Python modules (libraries) that give access to part of the program’s internal data and functions. Also see Blender Python API Reference
  3. IMDbPY 3.9 IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about movies, people, characters and companies.
  4. owyl 0.2.1 - The goal of Owyl: provide a fast and flexible Behavior Tree library implemented in python. For more on behavior trees refer to
  5. PyAMF 0.4rc2 The Adobe Integrated Runtime and Flash Player use AMF to communicate between an application and a remote server. PyAMF provides Action Message Format (AMF) support for Python that is compatible with the Flash Player.

Meta:

Some of these alerts come from Python.org’s  Python Package Index (pypi) and others come from a variety of sources including PlanetPython (and variants), wikibooks and several other sources. The descriptions are simply extracted from the headings of these pages.

StratML – Update

Strategy Markup Language (StratML) is an XML vocabulary and schema for strategic plans. It was originally intended to be used by US government. Its scope is now expanded. According to this updated presentation:

The vision is to establish StratML as an international (ISO) voluntary consensus standard for potential use, by all organizations worldwide.

At a high level, it looks as if the schema can be adopted for use in any large organization to track initiatives.

stratml.jpg

From StratML web site, the broad goals of StratML are to:

  • Facilitate the sharing, referencing, indexing, discovery, linking, reuse, and analyses of the elements of strategic plans, including goal and objective statements as well as the names and descriptions of stakeholder groups and any other content commonly included in strategic plans.
  • Enable the concept of “strategic alignment” to be realized in literal linkages among goal and objective statements and all other records created by organizations in the routine course of their business processes.
  • Facilitate the discovery of potential performance partners who share common goals and objectives and/or either produce inputs needed or require outputs produced by the organization compiling the strategic plan.
  • Facilitate stakeholder feedback on strategic goals and objectives.
  • Facilitate updating and maintenance of discrete elements of strategic plans without requiring review and approval of the entire plan through bureaucratic channels, thereby helping to make the strategic planning process more agile and responsive to stakeholder feedback and changing circumstances, thus helping to overcome the tendency of strategic plans to become outdated “shelfware”.
  • Reduce the needless time, effort, inconsistencies, and delays associated with maintaining data redundantly in myriad “stovepipe” systems rather than referencing the authoritative sources.
  • Enable agencies to comply with the provisions of subsections 202(b)(4) & (5) and 207(d) of the eGov Act, which respectively require agencies to:
    • Work together to link their performance goals to key groups, including citizens, businesses, and other governments, as well as internal Federal Government operations; and
    • Adopt open standards (e.g., StratML) enabling the organization and categorization of Government information in a way that is searchable electronically and interoperably across agencies.

Can we use something like StratML? You bet.

Let us take it one step further. If each project or initiative has a set of goals and objectives, and if we can use commmon vocabulary to articulate them, we may be getting off to a great start. Supplement this with a similar vocabulary for projects (let us call it ProjectML) which can include deliverables and interfaces (where applicable) and libraries (produced), we may even have some cool technology to identify reuse or cross-pollinate. It does not have to be XML, but using XML has the advantage of taking this format and sharing it with others and refining it.

You can find more information on StartML here. There is a link to the presentation here.

LinkLog: New XBRL Taxonomy, Facebook Enterprise Application

New XBRL Taxonomy a “Boon to Investors”

the new taxonomy represents “a tremendous boon to investors” because it provides greater access to information buried in financial reports.

Hope this will spring up a whole class of XML apps in Finance.

First Enterprise Application for Facebook Launched

An interesting development. Using Facebook as a platform for building social applications will extend Facebook and simplify development of social applications.

KML Moving Closer to a Standard

This is one area where we can definitely benefit from a standard representation.

The Open Geospatial Consortium has dubbed Google’s Keyhole Markup Language – the language used for developing Google Earth – a best practice and is working with Google and other OGC members including ESRI and Autodesk to make sure KML integrates well with such other standards as the Geographic Markup Language. 

An OGC official said the main advantages of making KML a standard are that it speeds development of Web-based mapping applications, encourages greater interoperability of products and ensures easier movement of data between applications.

OGC expects KML 3.0 to be released as a standard early next year.

via Cover Pages and GCN article. KML is an XML based markup language.

Making Information More Useful

This is mostly notes I jotted down after listening to the Jon Udell’s Interview with Art Rhyno. First of all, I think the concept of Interview with Innovator’s itself is a great idea. I plan to listen to more.

A few ideas worth noting from the interview:

  • The concept of Social Search and Discovery
  • Desktop Indexers (like Google desktop) taking advantage of structured metadata
  • Desktop systems could be intelligent assistants. They could find out more of what we do and help us.
  • Putting metadata directly into files so that when you move the file out of the desktop the meta data can be used too (Jon mentioned that this is in Vista)
  • Meta data creation at the time of content creation.
  • Collective as a trust network.
  • FOAF is a low barrier syntax.
  • We listen to certain people for certain reasons – Authorities in that space (example – Stephen Hawking in Physics) are more likely to carry trust. There are all sorts of reasons to listen to certain people on certain topics. There should be some flexible infrastructure. We assign authority for all sorts of reasons.
  • Freebase has a way of declaring connections. Very ingenious in the way it attracts you to do certain things.
  • We are entering the era of XML compound documents on the desktop.
  • Bi-directional objects that move freely between desktop and web.

Each one of these ideas merit their own blog entries and definitely require quite a bit of research. To me the fascinating parts of these conversations is how these simple observations provide useful insights. For example, Jon was talking about how del.icio.us tag recommendations (from not only your past bookmarks but also from the collective) may be a great idea to bring to desktop content.

I wonder if I am creating or saving a document, if the file dialog looks like the del.icio.us interface, whether I would pick a few tags? I do it for bookmarks now. Can a desktop agent do this automatically?

Enterprise 2.0 and Rich Internet Applications

What’s SAP doing to help customers infuse Web-based apps with rich-client functionality?

It’s nearly impossible to achieve a RIA architecture – even on one of the many RIA stacks – unless you’ve done a decent job of service-orienting the underlying capabilities you want to access. You need the metadata that describes not just the business process execution, but also the metadata that describes conceptually what the service is doing, how it can be used, and how it should adapt to different device capabilities in order to give you a rich application. That could be on a PDA or a smart phone as well as on widgets, Flash-type experiences as well as dynamic HTML Ajax-types of environments.

According to SAP Enterprise 2.0 has these multiple aspects that need to work cohesively.

  • Rich Internet Applications (RIA)
  • services-oriented architecture (SOA),
  • metadata,
  • model-driven architecture (MDA)
  • event-driven architecture (EDA)

Front end technologies (Web 2.0 functionality):

  • portal,
  • widgets,
  • RSS,
  • wikis,
  • blogs and
  • Ajax technologies

Another two interesting trends mentioned in this Q&A are that:

  • The run times are in Flash
  • The development environment is NetWeaver

Look at the list of TLAs (three letter acronyms). You can read more in this Q&A: SAP on Rich Apps, Architecture and AJAX based Portal Environments.

OpenAJAX Gets Stronger

Since first formed, OpenAJAX seems to have gained a lot of support (70+ members). One of the most visible recent events, is Microsoft and Google joining the OpenAJAX alliance in addition to a host of other members.

The Alliance, an industry collaboration whose purpose is to develop and expand the use of Ajax, said it now has a membership of 72 companies. In addition to Microsoft, 30 other companies have recently joined. You can see the full list of companies at Open AJAX Alliance website.

The Alliance, only ten months old, has grown from 13 member companies to over 70. Besides Microsoft, other Alliance members include Adobe, BEA, IBM, Mozilla, Laszlo Systems, Novell, Openwave, Opera, Oracle, SAP, and Sun.

It was a good idea to begin with. Hope this alliance moves fast and does not get bogged down with the weight of the participants.

Here are some resources:

Open AJAX Member Wiki

Open AJAX Blog

John Resig – Thoughts on OpenAJAX 

I am hoping that now that we have some move towards standardizing the AJAX, we will see the following:

  • A component model for building AJAX components
  • An AJAX based wiki
  • AJAX extensions to popular wikis (like MediaWiki)

Content 2.0

Here is an article titled Acrobat 8.0 and Content 2.0 by Robert J. Boeri talks about the content transformation taking place as Web 2.0 applications become more popular.

Since content is data, Web 2.0 portends a content transformation that we might call “Content 2.0,” with XML driving many of the changes.

Most of the Content 2.0 currently is driven by adoption of XML as the standard for representing data. Even thought XML is not perfect, it definitely is an open format (well almost – a subject for another blog). Here are some trends, you can see:

  • Open Office uses ODF (open document format), a content format based on XML for storing documents, spreadsheets, presentations
  • Microsoft’s current Office Suite, Office 2007 is based on OOXML, another open XML format for storing most of the content generated by office applications
  • Microsoft’s XML Paper Specification (XPS) is another format that is likely to gain some traction
  • FreeSVG from Texterity (which Robert refers to in his article). Its success seems to depend on the success of SVG itself
  • Adobe’s new MARS initiative to represent PDF in an XML friendly format

It will be interesting to watch, which format becomes the dominant one.

XML Format Mandated for Government Documents in California

According to bill AB 1668:

Beginning on or after January 1, 2008, all documents, including, but not limited to, text, spreadsheets, and presentations, produced by any state agency shall be created, exchanged, and preserved in an open extensible markup language-based, XML-based file format, as specified by the department.

California is the second state where this is happening. Which is great. When documents are in XML format, you get several benefits.

  • Documents are in a well defined format and can be easily read/written using other programs
  • Easy to refer to fragments inside the documents (for example the attendee list from the minutes of a meeting)
  • You get the ability to work with fine grained individual elements in a document
  • Better Search since the structure of documents will be well known

There are lot of other benefits.