This is about an application I have written so that customers can play their own songs in a cafe. The user interface looks like this ->
- User can delete his/her song by just clicking on the song, in his playlist. If such a thing is done on some elses song, a pop up pops up (which indeed is irritating, but you are not allowed to do that!)
- User can add his/her song by clicking on the song, which he wants to be played. In that case, the selected song fades out, but is not removed from the songs pool. Refreshing the page fades it in. Also, the selected song appears below your name in global playlist.
- Currently, the client continuously pings the server for some update. Shall rewrite it to use Comet technology. Due to short time frame, went for this short fall. But, it works…
- In the middle of the page i wrote messaging app. For crap people, to write crap! Its fun…Mostly, I use it to convey messages to others regarding application status. It is a cool thing, recently it was used in planning a beer party or request for lowering the volume, or a call for smoke.
- Songs can be searched as it can be seen in the image.
- Songs in the database can be renamed. This idea came up when one of my friends criticized about the wrong naming of the song ‘Man who sold the world’ (in database it was, ‘Monk’ in place of ‘Man’).
- Songs can be added to the database from users computer. This needs the user to be privileged.
- I use closure-compiler by Google for obfuscating and optimizing code.
- Page also has ‘Python Powered’ logo! I love it!
- In the backend I used Django as I was not at all willing to work with php. This came out of love for python. It really made development fast.
- Writing frontend is kind of crappy! But jQuery helped a lot. It solved the problem of browser incompatibility.
- Music is played by 2 lines of vlc player Python API on the server.
Jango is under active development, and fuckin lovin it!
One of the coolest things is the interoperability between different technologies. Thanks to the API provideded by these technologies. This indeed is no different from what happens inside your computer. Threads/processes co-operate with each other to acconplish a task. Or, how different commands in UNIX work with each other in a pipeline ( which specifically becomes a simplex operation ) or in some other way to accomplish a goal. So, what happens at a macro level is very much similar to what happens at micro level. Advocates being, atom and universe, computer and internet.
(This was my first post to posterous, thought of putting it on wordpress. This is the original post.)
This is the artist with whom I am in love these days. Priscilla Ahn. She is simple, beautiful and has a lovely smooth voice. She blogs here . I was introduced to her through this song.
You know you can get fucked up, but you still do not want to do it. Its boring. Its torture. But you still have to do it, someday or the other. Its talking to people you do not respect.
Ok, its about my short lectures in Modeling and Simulation which I had in 6th sem. And now, I have to attend it, well, if I get the permission to do it. Taking permission is indeed pain in the ass. You have to go and talk to people. The HOD, the lecturer and worst of all,people in the administrative office. Its not that I cannot do it, but its just that I do not want to do it.
Some entries do deserve the tile – ‘wtf’!
I wasn’t really happy by the design of the application, which included polling. Now I have changed the design in the sense that constant polling will still be there, but content of polling will be different. So, the client and the server both maintain time stamps for their respective objects (which client need to load as soon as it changes at the server end). Let tc be time stamp at the client side, and ts, the time stamp at the server side. During polling, if the ts==tc, there is no transfer of data from server to client. And if tcts, is undefined, and just indicates an error.
This still is not the best solution, which would be using asynchronous communication from the server to the client. Which would use technology like pubsubhubbub.