#1. Python in the IT Field
Greg Lindstrom / NovaSys Health (http://www.novasyshealth.com)
In business, customer service is the name of the game. In the Information Technology field, this service manifests itself in the ability to accept, format, store, and analyze data. At NovaSys Health, we selected Python for our programming needs because it's easy to use, plays well with a variety of platforms (not only different operating systems, but a wide variety of databases) and the Python community is as helpful as it gets. This talk will discuss how Python is allowing us to list technology as a competitive advantage (accessing MS SQL database, teaching other techies, using Python's standard library).
#4. MissionEngine: Multi-system integration using Python in the Tactical Language Project
Prasan Samtani (http://www.isi.edu/~samtani), Hannes Vilhjalmsson (http://www.isi.edu/~hannes)
University of Southern California - Information Sciences Institute (USC/ISI)
Project homepage URL: http://www.tacticallanguage.com
The Tactical Language Training system is designed to help learners acquire communicative competence in spoken Arabic and other languages. Learners practice vocabulary items and learn gestures, following which they apply them in a simulated Mission Environment. In the simulation environment, users interact with the systemís onscreen characters using a speech recognition interface. The simulation environment is built on the Unreal tournament Game Engine.
In the past several months, a major transition has been made from the original system in Java, to a new Python-centric architecture. This presentation traces the evolution of the Tactical Language Training System from a set of separate programs to a single integrated system. The various different system components will be introduced, and the underlying technology behind will be briefly discussed. We will go over what features of the language we found especially useful for integration (latent-typing, lambda functions, pickle), and some hurdles we found particularly tricky coming from a C++/Java background.
The talk will also address the way we tackled the problem of talking to incompatible languages. For example, Unreal Tournament uses a proprietary scripting language - UnrealScript - and in order to communicate with Unreal we had to make use of an earlier ISI technology called GAMEBOTS, which is implemented both in Python and UnrealScript, and uses sockets as a method of communication.
Other topics discussed in the context of Tactical Language will adress the performance issue (writing expensive routines - the speech recognition and NLP algorithms - in C and authoring extension modules), the importance of using a powerful language for build scripts, using algorithmic optimizations over language micro-optimizations and the importance of Python's standard library in speeding up the development process.
#7. Happy Hooking: Designing Software for Extensibility and Customization
It is rare for anyone to create any non-trivial software project that will not need customization at some point. It is therefore wise to plan for this when designing your code by inserting hook methods that are designed to be customized to add additional functionality later on. By default these methods do nothing, so they can be freely overridden by others without the risk of losing a critical behavior because a superclass method had been overridden. This is especially useful for creators of frameworks and tools that can be extended by their users. As one of the two primary authors of the Dabo framework, I am especially aware that in order to be useful, the code I create needs to be adapted and augmented by developers who build their apps with Dabo. I will show several code examples from Dabo to illustrate my points. Paper
#9. Dabo, the 3-tier Database Application Framework)
Ed Leafe /
