Recently in Zope Category

Are you looking for a job?

| | Comments (2) | TrackBacks (0)
I tried hard, but it seems impossible to find Python programmers for our start-up. I know, living in Pecs (Hungary) limits the choices, but I also tried in Budapest and I was unable to find anybody with a good knowledge of Python and Zope. For this reason, we finally decided with my business partner to experiment with telecommuting.

We are looking for talented Python programmers to join our team, based in Pecs and Budapest (Hungary) with a satellite office in Turin (Italy). You will be able to work from home, planning your time based on your schedule and goals. You will work on the development of a free (as in speech) CRM and marketing platform built on the Zope Toolkit (aka Zope 3).

About you:

  • Willing to work in a young start-up;
  • You love finding efficient solutions to challenging problems;
  • You have a lot to teach and a lot to learn;
  • One of your goals is to learn something new each day;
  • You prefer quality over quantity;
  • You love to get things done;
  • You like working in team and having strong responsibilities.
Requirements:

  • Strong background in Python and web application development;
  • Excellent knowledge of HTML, CSS, JavaScript (Prototype);
  • Experience in database design, performance tuning, SQL;
  • Good knowledge of PostgreSQL;
  • Deep knowledge of Linux, with a focus on performance monitoring and tuning;
  • Unit Testing and Functional Testing shouldn't be alien to you;
  • Strong communication / collaboration / problem solving skills;
  • Willing to travel for real-life meetings and conferences.;
  • A resume in a non-proprietary format.
Nice-to-haves:

  • Knowledge of the Zope Toolkit (aka Zope 3);
  • Contributions to open source projects.
If you are interested, drop me a line at kobold@debian.org.

While developing web applications using Zope3, my Python web framework of choice, I always have the same issue: where should I store the UGC data? I usually used an NFS filesystem, using a Zope utility to manage the storage and retrieval of the files.

The most obvious disadvantage of this technique is that the NFS server is a single point of failure: if it disappears, there is no way to access the files from the application servers.

Another problem with this implementation is that all the UGC data files have to be served by the application servers, using resources which could be used to serve more clients instead of transmitting a static file over the network.

MogileFS is an application-level distributed filesystem which solves these problems, ensuring data integrity and redundancy, written by Danga. The only problem is that it is written in Perl, it works only with MySQL and requires WebDAV servers for the storage.

To solve my problem, I decided to borrow some of the ideas behind MogileFS and to develop my own distributed application-level filesystem. KoboldFS is written in Python, uses a PostgreSQL database to store the filesystem status and it is released under the GPL license.

I deployed it a few days ago on one of our production clusters, and it reduced the load of the application servers allowing us to serve the UGC files directly from nginx. You can find the source code along with a rough description here.

PyCon2, Firenze (Italy)

| | Comments (0) | TrackBacks (0)
I'll take part to PyCon2, the second italian Python Conference which will be held in Firenze (Florence) from the 9th to the 11th of May. I'll also give a talk about one of our last projects built on Zope 3 and all the issues we faced with while deploying and scaling it.

I've never been in Florence before, so I decided to bring my family with me to spend a few days before the conference visiting the city.

I'm looking forward to taking part to PyCon2 and meeting in person a lot of people I only know from the web, although I'll probably follow just a few talks and spend the rest of my time with my wife and the babies enjoying the city.

About this Archive

This page is a archive of recent entries in the Zope category.

Personal is the previous category.

Find recent content on the main index or look in the archives to find all content.

May 2009: Monthly Archives

Categories

Pages