How to deploy: database, source and binary changes in 1 patch?


Today, was an exciting day for me, again. :)

I was working on several client’s projects and something seems to have crystalized in my brain today. This crystallization created a new question that I posted on stackoverflow: How to deploy: database, source and binary changes in 1 patch?

Amazingly, 6 hours went by and I only got 20 views and 0 answers. You know what this says to me? To me this says that people do not have an easy answer to this question. I know for myself, i usually look for questions that I have quick answers to, I think this is not one of those questions.

Well, this actually was a test to see if something like this already exists, because I think I have an answer to this question. I outlined it in my conversation with Trevor today. I put it to your for consideration, I would love to get feedback so please tell me what you think.

A transcript of this conversation is in this post:

Announcing a new project called: Social Photography


Some of you know that in my spare time I’ve been taking pictures of people at parties.

Well, I’m making it official. I registered socialphotography.org, created Social Photography Facebook Group and socialpics twitter account.

The concept is very simple. I take portrait of people at parties, on their way to parties and generally just having fun. It’s usually a very social experience. I really enjoy the social aspect of the pictures, that’s why for me it’s – “Social first, Photography second.”

I see you later guys!

Collaboration is hot again!


I was at Cascon 2009 today and collaboration seems to be a hot topic again. Within the last 24 hours, I met 2 new people who are interested in a collaboration platforms.

3scale.net integration is complete


I’ve now integrated 3scale.net into our Datastore API.

Now can I control and meter access to the Datastore API using 3scale.

Next, I’m moving on to RabbitMQ and Celery, the goal is to be able to create tasks that are executed by offline worker servers.

Testing REST API with restclient


Here are some code snippets from the test that I wrote for testing the REST API for one of our projects.

API Testing Code is ready


Finally, I have working tests for the Vacation API. There were several things that I needed to overcome to accomplish this.

  1. Add ability to POST body to restclient – created patch and contributed it to the project
  2. Write a bunch of tests

Done, now I can move on to integrating 3scale.net into the API Server.

September 30th, 2009 -> October 14th, 2009


The next 2 weeks are dedicated to finishing the development of the Data Store on the Google App Engine. I want to have a solid testing framework setup for the Data Store REST API before I integrate 3scale. This will allow me to ensure that the API is working perfectly without having to manually test everything. This will also make it possible to do regression testing.

Last week, I got distracted trying to eliminate errors that dev_server.py was generating because it was trying to include packages from site-packages that it did not require for the project. I attempted to resolve this issue by creating a buildout for GAE projects that I could use in combination with virtualenv –no-site-packages configuration. This did not work because GAE was attempting to load packages from system’s python instead of looking in virtualenv directory. I’m not going to bother trying to resolve this anymore, I’ll just have to live with the errors.

Ok, on I go.

Architecture of our Infrastructure


My main goal is to create a system that will scale easily and allow us to use commodity infrastructure elements. These commodity infrastructure elements each have their advantages and disadvantages. The architecture of the system aims to utilize the advantages and minimize the disadvantages.

Pocket Retro Game Emulator


I want one of these:

bd6f_pocket_retro_game_emulator.jpg

Building python development environment


I’m preparing to start development on beecoop and anonymous websites and I would like to establish a comfortable python development environment to make development and deployment of different applications easier.

There are several factors that I need to consider:

  • I’m going to be working on several different projects at the same time.
  • Each project is going to be using different python modules.
  • Some projects will run on apache, others on cherokee.
  • Cherokee does not have installer for Mac OS X, so I can not replicate our production environment locally.
  • I would like to start working in TDD
  • Last and not least, I have to make it easy for our sysadmin to deploy these projects.

Taras Mankovski Blog

Here, I write about building Beecoop, creating tools to make developer's lives easier and my thoughts on the web development industry.