On 08/06/11 9:34 AM, Anupam Jain wrote:
On Tue, Jun 7, 2011 at 2:25 PM, Shamail <sham...@inbox.com <mailto:sham...@inbox.com>> wrote:

    On 07/06/11 1:47 PM, Raj Mathur (राज माथुर) wrote:

        On Tuesday 07 Jun 2011, Shamail wrote:

                I've been working on a project from some time,
            http://tunesdiary.com

            Its now open for preview, please have a look at it and
            tell me the
            goods and the bads.
            Hope you like my work.

        Does this have anything to do with FOSS, even tangentially?

    Might be, site uses Django, python, jquery and more OSS libraries,
    runs on ubuntu server... (atleast powered by OSS)
    My apologies if you thought it was for marketing reasons.. Its not
    yet released even.


How about making this atleast marginally FOSS related by telling us something about the technical details of the implementation, so that it will help others using FOSS for web development. What are the FOSS components you are using and why? Where is the site hosted, what are the memory / processor requirements, and would you recommend that host? How many people in your team? How much development time? What's the business model here? Anything else you might think is relevant :)

-- Anupam

Hi,

Yes sure.. So this one is basically built completely upon free software. I being a fan of OSS opted for choosing things that minimize the cost.

It uses Django with a lot of third-party supporting libraries (like boto, twitter, oauth, eyeD3, titlecase, pyquery, mad, PIL to name a few), primarily for all the controllers that you see..
A little into for newbies in Django:
Dango is an MTV(Model, Template, Viewer) framework that lets you separate your business logic with HTML/CSS as well as the data models. Having said that, it follows DRY (Don't repeat yourself) principles. As a result, the complete python code for this site is under 2000 lines. For those familiar with rails, its pretty much like rails. (Check out: http://www.youtube.com/watch?v=PLUS00QrYWw )

My initial thoughts to cook this up were 2 only, rails or django. As I am quite much comfortable in python, the choice became obvious. Rails demanded one month before I can start the project on, though I was very curious to learn it.. (might be next time). They say, rails have a very vibrant community, but now I can very well say, Django is equally good. http://groups.google.com/group/django-users supported me a lot.

Further I am using MySQL for the DB layer. I earlier planned MongoDB for this, but then I thought it'll fall under the category of "premature optimization" so dropped the plan.
MySQL everyone know, for MongoDB (http://www.mongodb.org/):
MongoDB is a no-sql database which offers features like auto-shrading, map/reduce, gridFS. Its very fast, supports replication, and good thing is, its free! If you want to use it with Django, you might want to consult pymongo (python driver for MongoDB) and mongoengine. A Django like ORM for Mongo. Definitely if you are looking forward to a good scalable solution right from the start, give a shot to Mongo, There might be something good waiting out there for you. I am using this in another project and very happy with it. Apart from this, other good nosql DB that you might want to try is Apache Cassendra which is Java based. But APIs are available for almost all the languages.

For playing music and multimedia related stuff, the site uses a 1x1px FLEX applet hidden in the page. Flex is an open source SDK for building flash movies and better suited for development rather designing.


I am running this currently on Joyent cloud (reason: they give you 10TB free bandwidth each month), because this is bandwidth hungry, I couldn't afford Amazon ($0.10 per GB).

The system has 256MB of RAM, a processor giving me a performance of 1.5GHz single core kinda. So its very short in resources. So for this, I opted out of apache, switched to lighttpd, using Django over fastcgi running in multithreaded mode instead of prefork mode. The server uses Ubuntu 10.10 server (reason: I was most familiar with this, although they say, CentOS is a wiser choice for server, but ubuntu never let me down.)

Guess what, its working for me and I am still expecting some real good traffic on this very server in $16.

For those unaware: Lighttpd is a light-weight web server with very low memory footprint. It can serve almost all the frameworks under the hood, via FastCGI (Have found this good with Django, Rails and PHP)

So for a server like above, you might want to try a benchmark with Lighty. One good thing about Lighty is that, its configuration file's grammar is very cool.

Afa recommending a host is concerned, yes Joyent is giving me good performance. Choosing joyent was the matter of:
* Cost, $16.
* They accepted my Indian Bank master debit card for this :) - god knows how! Although, lately I got to know, even Amazon accepts Indian Bank's debit card. I am using Amazon SES for email delivery (pretty cheap to ensure email delivery, at $0.10 per 1000 mails = 46rs per 10,000 emails)

For those looking Joyent as an option, it took me this time to encode a wave(51MB) file to mp3(128kbps), on their $16 system:
real    0m13.191s
user    0m12.690s
sys     0m0.100s


We are three people, developer being me only, other two work for marketing. I started this project on 1st Jan, working along with my regular job, finally got something working by June. Still in process of deciding business model.


Hope this might be some OSS things that might help you out...

With best regards..

--
Shamail Tayyab

_______________________________________________
Ilugd mailing list
Ilugd@lists.linux-delhi.org
http://frodo.hserus.net/mailman/listinfo/ilugd

Reply via email to