mengu on web programming.

Python Contact Importer

It has been more than a year since my last post. It is shameful on my end because I only blog new things I do or learn which pretty much means I neither did nor learnt anything new. I choose to believe that is not the case but you can't hide from the truth. I am currently trying to adjust my life and change the way I live. We will see how things are going to be. A beloved friend of mine and I were developing a social networkish platform and as many of them we thought a system to invite friends over e-mail accounts would be great. I have checked out my options and had some problems with the existing solutions therefore I came up with my own library. Implementation for Gmail and Live accounts were extremely easy due to the fact that they are using oAuth 2 however Yahoo implementation was a pain because the request signature was never correct. Thanks to Leah Culver, I have discovered her oauth library and used it for Yahoo implementation. It was a breeze. Ladies and gentlemen, I present you the [Python contact importer.](https://github.com/mengu/contact_importer) Though I made it sound like I have just open sourced it, it has been over a month since I've made it public on github. This library is the way you are going to import Gmail, Live and Yahoo contacts from your users' accounts. In order to maximize the benefit of this library I have also developed the [Django implementation](https://github.com/mengu/django_contact_importer) and [TurboGears implementation](https://github.com/mengu/tg-contact-importer) for the library. This is a simple yet commonly needed utility. Hope you all enjoy it. Please do not hesitate to fork it, send your pull requests or request new features. After all, it is all about giving back to the community.

TurboGears Development Blog

A new era for TurboGears has started. From core developers to community members, we have started doing something for TurboGears. It deserves it. We love it. We want to spread it. That's why, if you are wondering. I have started a blog on TurboGears development. For you. For any web developer. For any Python web developer. You will start from scratch and become an advanced TurboGears developer. You will like it. You will become very productive with TurboGears. You can visit the blog at [http://tglogs.wordpress.com](http://tglogs.wordpress.com). Let me know your ideas, your suggestions and feedback. Enjoy!

Deploying A TurboGears Project to DotCloud

Hello everyone! Recently I have seen a cloud service called DotCloud. It seemed nice and I wanted to check its Python support. I've looked at their documentation and saw their Django docs which basically means they support WSGI. I also wanted to see how much effort does it take to deploy on this service. I have jumped in, signed up and tried to deploy a very simple quickstarted TurboGears project to DotCloud. It went well. Let's go ahead and deploy a quickstarted project.

A Depressive Journey With MongoDB

Disclaimer ---------- You are about to read a long story on how I got burnt with MongoDB and depressed with it. I am not blaming MongoDB, anyone using, advocating or developing it. I am blaming myself for this. MongoDB is a good tool. You can use it but just make sure it is what you need and it handles your requirements very well. This is not specific to MongoDB but applies to every tool we use. A Brief Intro ---------- I am working for the top entertainment tv production company in Turkey. This season we have launched a new show called "The Voice of Turkey". Americans would know this show as just "The Voice" while Dutchs as "The Voice of Holland". Long story short, boss called us and explained he wanted a page for contestants with their detailed information and a wall on it where members and the contestants would post. We thought OK, we can use our current infrastracture and go with caching for reads. After he told he is going to make live announcements the only thing I had in my mind was MongoDB. I knew that it could handle heavy reads and writes so why not use it? I've discussed with the rest of the team. We used it.

2011 At A Glance

I can call 2011 quite a good year on my behalf however when I look at things I've done, I feel I've done much less than I could. Here is a list of what I have done in 2011. Things I've Done in 2011 ---------- * Executed an idea we had with my brother, [http://compector.com](http://compector.com). * Built the start-up above with Ruby on Rails so I became more familiar with Ruby world. * I have made the switch to PostgreSQL from MySQL. * Got a job in one of Turkey's top web sites where we deal with thousands of concurrent users...
more