It is about collaboration between healthcare professionals. A patient record shared between several health actors in charge of a common patient. The family doctor has a coordinating role.
There’s already a lot of health care open source software, but they don’t talk together. So there is a need for a more modular approach in order to share those components. Python seems a good match for the project, but they need technical help for this. See the open source working groups of the international society for telemedicine
The GAE isn’t really portable. That’s just for practical issues, not by design. One of the barriers is the datastore. So he chose to reimplement the datastore (as alternatives weren’t practical yet). Targeting small to medium apps. In the end he went for BDB which shared some features with the original google data store. He uses java for it, for instance as Python’s protocol buffers are dog slow. And the java implementation of BDB is pretty good and solves some issues with the normal BDB.
Python and excel: you could use CSV or the “HTML hack”. There’s something better: xlrd. This can directly read and write excel files.
It collects declared dependencies between eggs as a tree. And it can visualize them using dot/graphviz. You can filter out uninteresting packages (like setuptools) and zoom in on the dependencies of one specific package. You can also group for instance all zope.tal.* packages into one zope.tal node to make the image cleaner. And you can even filter by regular expression.
MOAI is an open access server platform for institutional repositories. The server manipulates OAI feeds that are in some xml format. One of the users is http://www.cwi.nl which actually is the birth place of Python. Infrae harvested the 8963 documents in CWI’s repository. So in the demo Kit was able to find 16 documents by a certain Guido van Rossum from 1995.
So 14 years after Guido left CWI, the first fully fledged Python application is installed at CWI. Python has come home!
He demonstrates amazon’s cloud stuff. Cloudware is outsourced virtualization. So a virtual server or storage hosted on a remote platform. The two well known once are Amazon Web Services and Google’s app engine. It is good for scaling on demand. And you can get some outsourcing of your infrastructure. The oldest of Amazon’s web services is S3, the storage solution. There are Python libraries to connect to it and manage it.
How to hack like an evil overlord in five easy steps:
Shooting is not too good for my enemies. There is no software bug for which shooting is not the good solution.
Take a 5 year old as an advisor. They will always spot the flaws in your plans. So always have someone else look at your code.
Do not consume any more energy than will fit in your head. So no metaclasses.
If I have an unstoppable superweapen, I will use it as early and often as possible. So pdb instead of print statements.
“Push the button” should be enough. Automate everything. Don’t do long manual steps or the hero will slay you.
Governments are turning the internet and the mobile networks into the greatest mass surveillance system ever. Iran likes that as it can use our surveillance software and our data-retaining mobile infrastructure to retain all the protesters SMS messages and analyze them afterwards… So our western measures enacted for our protection is going to send thousands of Iranians into the torture chambers.
And the government in some countries is allowed to put trojan horses on your devices. And the government in Germany can in the future sensor any webpage they want. Just by executive decision instead of democratic process. And France tries to put a three-strikes law into effect.
And all that even though the internet is so great. But it is turning into a huge surveillance database for the government. There are technical counter-strategies. Unlocatable content. Untrackable connections. Untrackable access. And there are political counter-strategies like blogging, involvement, twitter, etc.
So support political actions and create cooler technology! For a free internet.
He showed an event-like system used for re-rendering placeholder-tags in an html page with the real content.
At the end of July there’ll be a European conference for Python in science in Leipzig, Germany. http://www.euroscipy.org
They’re working on a new Python IDE: pycharm. Currently a plugin for intelliJ IDEA, but soon standalone. See http://www.jetbrains.com . Price not yet announced, should be available later this year.
He demoed it with nice warnings, quite intelligent autocompletion. Integrated test support. Snippets. Display of docstrings for methods with just a keyboard shortcut.
He showed a speed test of a normal and a pure Python property implementation to see how much psyco2 can speed that up. On average, there was a 100x improvement. There’ll be a psyco2 release on Saturday.
There are self-service terminals at his university (Wirtschaftsuniversitaet Wien), implemented with Python, for paying study fees, taking photos, etc. So a card reader, printer, touch screen, etc. All vandal-proof.
The hardest thing of the project was to communicate with all the hardware. There’s a watchdog that monitors a subversion repo for updates. And it starts the main program. Zope is used with xmlrpc for the data. The data is stored in an oracle database. The use mostly WXPython widgets for the user interface. Quite big buttons as the interface is a touch screen.
Please use political activism to prevent the recording industry from being allowed to lift us from our beds in the middle of the night for horrid crimes like downloading stuff or even developing open source software. It is a very real danger. We prevailed against software patents after a long struggle. There are politicians that are willing to listen, but we must be the ones to do the talking.
PSI is a Python C extension to get information from the kernel via system calls and kernel hooks and so. It currently supports most unixy platforms already, but BSD is lacking and windows too. They do want to add that.
TwOTP: twisted interface to Erlang. http://launchpad.net/twotp . Erlang is a functional language with a focus on scalability. There is an “ERM” protocol to communicate between nodes, which is documented. CouchDB is one of the nice applications made with Erlang. But as a Python programmer we want to access that too.
TwOTP has parsing/packing to/from Python types, an EPMD deamon implementation and implementations for server and client protocols. And monitoring of Erlang processes. Send and receive messages from/to Erlang processes. The good thing: every Python goodie is available to develop with, like UI, web libraries and database interfaces. Several of those things are hard(er) with Erlang.
Most numerical analysis is still done with Fortran. Not nice. So he tried to do it with Python. All the goodies like eigenvalues, green functions, plots of the green functions. The number of lines in the program was much lower than with a comparable Fortran program. He hopes that the Python community will work towards promoting the scientific application of Python. It is so much nicer.
Filterpype: “complex systems in 10 lines of code”. A classic case of a filter and pipe system is an oil refinery. With filterpype you can also work with pipes and filters: from source to sink.
There are base classes for all sorts of filters. Stuff you can do? Just pass it on, bzip compression, etc. You tie the filters together in a pipeline with a small config file that specifies the route between the various filters.
Django’s admin interface is highly customizable. At his company he needed to make some modifications, especially adding reports for their issues database. In the end, he generated reports with word by using a template in word’s xml format where he could get the software to fill in data. The template was simply uploaded to the site. The documentation on how he did it is all on the wiki of djangoproject.org.
Use it, it really changes the way you program. It is real easy to make a clean copy of something, work on it and possibly push the changes back. He thinks there should be more tools like that. For instance for bug reports: there is a tool that embeds bug reports in such a DVCS.
hatta is something that he made that embeds a wiki in the DVCS, including the whole page history. It comes with a small web server that you run straight from your DVCS checkout, so you can easily browse your version of the wiki and even change it via the web interface. And also directly in the source file, of course.
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):