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