Database

I haven't been posting during the last few weeks because I was busy improving my database skills. I never really pushed very deep into SQL or relational algebra before. Relational algebra is the theoretical stuff upon which RDBMS (Relational Database Management Systems) are built.

The projects I've worked on already had a stable ORM (Object Relational Mapper).

I used Stanford's "Databases" MOOC by Jennifer Widom. It's free and it's brilliant. I recommend it to every dev who, like me, didn't any have formal CS education.

Then I had to find and learn an ORM for Python. I chose SQLAlchemy and followed the introductory course "Introduction to SQLAlchemy" presented at PyCOn 2013. Links to video, slides and prerequisite material are on the tutorials page of sqlalchemy.org. The prerequisite material contains instructions to use interactive Python slides (sliderepl): half slides, half interactive Python shell where you can try your own commands and do the embedded exercises. You can also get it from https://github.com/tony/introduction_to_sqlalchemy.

Now I am ready to embark on the next step: retrieving all conversation trees from Twitter's database and storing the tree structure efficiently in Postgres for fast retrieval. Each conversation tree must be displayed near instantaneously for crowdsourced analysis. Physician's time is a scarce and precious resource.