Why PHP is (so much) better than Ruby?
I attended this weekend my first Ruby conference, Ruby Lugdunum…
I’ve been working on a little side project with my friend Victor during a few evenings. This project is called Bullshit Network (Bllsht.net), and you can track the usage on twitter if you search for #bllsht. The app was made in about 5 evenings, which basically represents 2 or 3 days of work.
WTF is it exactly?
Well, to make it short, Bllsht.net is a place where any twitter user can denounce another user and proclame he/she is saying lame stuff. It might be a bit mean at first, but it’s in fact really funny. It was built because Victor and I noticed that the blogosphere, especially the one from Paris, has a lot of haters.
What’s the point?
A friend of mine told me he didn’t get the point. Well, it’s true that voting x or y is full of shit is not that interesting. The real point is personal. Of course, it’s all about the fun, but it’s also a matter of skills. I love side-projects because they are like a playground where I can try new technologies. I could have done this website using LAMP stack, which is certainly the most used stack in the world, but I chose different technologies to improve my skills.
The technical stack.
The app is hosted on a very basic server (and very low-cost), it’s not even 64bits enhanced.
The webserver is Lighttpd, mostly because I think Apache’s configuration is a real pain in the
ass neck. Lighty serves static content such as images and css files.
The code is on Tornado, the open-source Python framework that powers FriendFeed (Lighty acts as a reverse proxy). I like it because I like the way you can code different actions according to the HTTP method, which makes the code a lot more RESTful (the code is a bit similar as web.py apps or Google App Engine apps). If you’re a developer too and don’t know about Tornado, you might wanna have a look at my basic Tornado app on GitHub. Plus, I’m getting a bit sick of PHP, which is really messy. Python, on the other hand only let you write nice and clean code.
All the stored data is stored on MongoDB, which is a DocDB such as CouchDB (but much more advanced imho). At first I’ve been playing around K/V store like Redis, but MongoDB includes in some ways classic RDBMS features, which is not negligible…
I might be writing soon a blog note about creating twitter mashups and using the twitter API.
A big thanks to my friend Victor for the design, and to my friend Wendy, who was really helpful for copywriting (yes, my english is crappy…). Also, thanks to the early beta-testers for their feedback.