tag:blog.sidmitra.com,2013:/posts ...fumbleLog 2017-02-27T20:43:31Z tag:blog.sidmitra.com,2013:Post/479291 2011-05-11T07:23:00Z 2015-08-27T07:56:41Z Add Open Trackers to all your torrents

Here're some open trackers that I add to every new torrent file I download. They're pretty useful, since most of the time they help me get the number of peers up for some of the rare ones.

Most modern torrent clients would let you add new trackers. You just need to add the following lines:










See below for more info and a list of more trackers.



tag:blog.sidmitra.com,2013:Post/479293 2011-04-06T03:20:00Z 2013-10-08T17:04:07Z Poor man's database backup using Dropbox

If you’re using a lot of cheap VPS like me, then you you need a way to ship database backups to a third party site. If you’re on EC2, then you’re probably shipping it to Amazon S3. Other providers have their own automated techniques for backup. I have a lot of smaller sites that run on cheap VPS, with no backup solutions. I tend to use dropbox to sync them out to external storage. It’s not the best way, but it’s definitely cheap(read free), and quick to setup. More importanntly you can automatically have them sync to your local or any machines that you want!!!

Dropbox basically designates a folder on your computer as a sync folder. Any changes to that folder are synced to the cloud automatically if the dropbox service is running on local.


To install dropbox on your server, you simply run the following,

cd ~     wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86"

#For x64, use below:
#wget -O dropbox.tar.gz "http://www.dropbox.com/download/?plat=lnx.x86_64"

tar -tzf dropbox.tar.gz     
tar -xvzf dropbox.tar.gz


To link your server with an account run the following


This will print out a link. You can visit that link and and it will ask you to create an account. This will automatically hookup that dropbox account to your local/server machine that you ran this on.

This client is not linked to any account...     
Please visit https://www.dropbox.com/cli_link?host_id=7aaaaa8f285f2da0x67334d02c1 to link this machine.

Once you’ve signed up you can actually see dropboxd command line acknowledge the account creation. You can close the daemon by running ctrl+c. To run it again in the background so it syncs automatically always, run

~/.dropbox-dist/dropboxd &


You have to run the dropboxd daemon to sync automatically, so make sure its running by running htop or top. Once you’ve done that, you can also make sure you have a directory called Dropbox on your home folder.

cd ~/Dropbox

To backup anything simply move it to this folder. For eg. i periodically run a cronjob that dumps the live sql database to this folder. See below for an example. You can dump hourly backups of your database this way and they’ll be uploaded to dropbox. You can also set your local machine to use the same account and they’ll be downloaded on your machine as well. Instant gratification!!

mysqldump --single-transaction -h -u -p > ~/Dropbox/dump.sql

More Dropbox tricks to come later.



tag:blog.sidmitra.com,2013:Post/479295 2011-04-05T02:55:00Z 2013-10-08T17:04:07Z Turbo charge apt-get with apt-fast

You can easily make apt-get use a download accelerator for faster upgrades. Using apt-fast, which is simply a script that uses Axel, a command line application which accelerates HTTP/FTP downloads by using multiple sources for one file.


sudo apt-get install axel
cd ~/Desktop
wget http://www.mattparnell.com/linux/apt-fast/apt-fast.sh
mv apt-fast.sh /usr/bin/apt-fast
sudo chmod +x /usr/bin/apt-fast


Now you can use apt-fast instead of apt-get and it will use our download accelerator to speed things along.

sudo apt-fast install htop
sudo apt-fast update



tag:blog.sidmitra.com,2013:Post/479299 2011-01-23T16:35:00Z 2013-10-08T17:04:07Z Expanding your arsenal with virtualenv and virtualenvwrapper

If you’re a freelancer, then you’re probably working on multiple projects at the same time. If by any chance the projects use different versions of django, then you’re pretty much in version hell, writing bash scripts to change paths and all the other sins. This is where virtualenv will save your rear end.

virtualenv is a python module to help you isolate virtual python enviroments. Each environment will have its own python executable, it’s own site-packages effectively allowing you to install completely diferent dependencies for each project.


First we’ll simply install virtualenv. We’ll also use Doug Hellman’s awesome virtualenvwrapper (http://www.doughellmann.com/projects/virtualenvwrapper/). It will allow us to organize all virtual environments at once place.

I prefer pip to all the dirty work for me. So simply run,

easy_install pip
pip install virtualenv
pip install virtualenvwrapper

This should install both packages to the global python site-packages. One thing to note during installation is the path to virtualenvwrapper.sh. It will be printed during installation. Typically it’s found at /usr/local/bin/virtualenvwrapper.sh . We’ll need this later.

There’re some extra steps to setup virtualenvwrapper. If you’re on *nix then add the following lines at the top of ~/.bashrc . Here we’re just specifying that we want to save all our environments in a particular directory.

# virtualenvwrapper
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

Now let’s create that directory, and initialize virtualenvwrapper

mkdir ~/.virtualenvs
source ~/.bashrc


mkvirtualenv --no-site-packages myenv

This will create an environment and not import the global packages. This is important. This means it only uses libraries/versions in the local env. I prefer to do this on all production environments to make sure upgrading a global package doesn’t affect the web app running on the current venv. The only down side is that you’ve to install all the modules again in each new environment you create. You can choose to skip the argument —no-site-packages, and it will use all the modules in your global python path.

To enable a particular environment, virtualenvwrapper gives us some shortcut scripts. This will change the prompt to show the name of the current environment, eg. (myenv)$>

workon myenv


You have a brand new virtual environment to play with. While it’s active you can pretty much install any module an it will be installed only for this environment. Your global packages will be safe as ever. Also it’s a good idea to keep all your project dependencies in a requirements.txt file.

cd ~/go/to/project/dir
 pip install -r requirements.txt

A sample requirements file could look like the following.


You can try $>pip freeze > requirements.txt to port an existing virtualenvironment to a requirements file. Now you can add a step to your deployment script to install all required dependencies each time. Fabric is also an awesome tool that every Django programmer should know and use.

There are other awesome things that will save you time. If you goto your WORKON_HOME dir, you will notice files like postactivate, postdeactivate. These are global shell scripts that you can add commands to. They will be exectued on each activate, deactivate etc. Infact each environment directory inside can have their own hooks like these. Enough spoon feeding, browse the docs to find out more.


But wait!! it’s not that easy. If you’re running a django project like this, you’ll have a hell of a time installing modules like mysql-python, PIL etc. using pip inside a virtualenv. They need to be compiled, and due to changed paths the correct libraries aren’t found on a fresh system. I’ll explain some more common gotchas on my next post.


tag:blog.sidmitra.com,2013:Post/479301 2010-10-26T05:32:00Z 2013-10-08T17:04:07Z How to add request.user to HTTP 500 error reports on Django?

Continuing on from the last post, django provides an excellent hook in middlewares to process exception. You can add a new middleware and override the process_handler exception to add any kind of info to the request object. This info then shows up on the errors displayed on the screen(in debug mode) or sent as email. Profit!

class ExceptionUserInfoMiddleware(object):
    Adds user details to request.META, so that they show up in
    the error emails.

    Add to settings.MIDDLEWARE_CLASSES and keep it outermost
    (i.e. on top if possible). This allows it to catch exceptions 
    in other middlewares as well.

    def process_exception(self, request, exception):
        Process the exception.

           - `request`: request that caused the exception
           - `exception`: actual exception being raised

            if request.user.is_authenticated():
                request.META['USERNAME'] = str(request.user.username)
                request.META['USER_EMAIL'] = str(request.user.email)

You can also find the latest version of this snippet at http://gist.github.com/646372

tag:blog.sidmitra.com,2013:Post/479303 2010-10-24T04:57:00Z 2013-10-08T17:04:07Z Retrieve user names from session ID in Django errors

Django error emails on 500 errors are pretty useless if you’re the acting
customer support for the day. There’s absolutely not much besides a
session ID, to identify which user actually got that exception. Obviously
for a startup, that’s essential to reacho out to little customers we do
have, if for nothing else than to apologize. Anyways here’s a simple
little snippet that can help you figure out a user from a session id.
Note, that the user might not be logged in, in that case there’s not much
you can do.

def get_user_from_sessionid(sessionid):
       ``sessionid`` - is the identifier for the users session. 
       You can also find it in the Http500 error messages on screen
       or via email.

       >>> get_user_from_sessionid('fd3479022d77794897e5b23f4d461bbf')
       from django.contrib.sessions.models import Session
       from django.contrib.auth.models import User

       session = Session.objects.get(session_key=sessionid)
       uid = session.get_decoded().get('_auth_user_id')
       user = User.objects.get(pk=uid)

       return user.id, user.username, user.email


There’s also a way to add the username to the error emails themselves, by overriding a process_exception on a middleware. You can read about it here


tag:blog.sidmitra.com,2013:Post/479306 2010-10-14T03:11:00Z 2017-02-27T20:43:31Z How to rename a tag already pushed to a remote git repo

Here’s a quick git tip that i end up searching each time i need to do it. So i’m posting this here. There’s plenty of times i’ve added a tag, pushed to remote and realised that i’d named it wrong. Eg. 1.59 instead of 1.49 . To change it back you would need to add a new tag and push it,

$> git tag new_tag old_tag
$> git push --tags

Total 0 (delta 0), reused 0 (delta 0)
To git@github.com:some.git
     * [new tag]         new_tag -> new_tag

Then delete the old tag from remote and local

$> git push origin :refs/tags/old_tag
$> git tag -d old_tag

But remember this can screw around with other people local repositories if they’ve already pulled before you make the change. So be careful!

tag:blog.sidmitra.com,2013:Post/479307 2010-10-13T04:06:00Z 2013-10-08T17:04:07Z Upgrade to Apache 2.2.16 on Ubuntu Lucid

Ubuntu Lucid only contain Apache 2.2.14 in their repos. In case you intend to install a newer version you don’t have to worry about downloading, and installing all dependencies. Luckily the new Maverick repos contain the newer version. Thus, all you need is to add them to your sources.list

#Add the following line to /etc/apt/sources.list
#deb http://cz.archive.ubuntu.com/ubuntu maverick main
#and run the commands below.

sudo apt-get update
sudo apt-get install apache2

Also remember to remove the new repo, otherwise it might try to update everything and you certainly don’t want that. I recently upgraded to Maverick, and loving the new font!

tag:blog.sidmitra.com,2013:Post/479308 2010-09-26T05:53:00Z 2013-10-08T17:04:07Z Install IE on Ubuntu Lucid

I recently switched to Ubuntu Lucid from Windows XP. Switching to a new OS is probably harder than the decision to change one’s religion. Being a web developer, IE is unfortunately a staple diet for most of us. Unfortunately i couldn’t get IEs4Linux to run on Lucid. After trying to figure out loads of install issues, and then almost settling on virtualbox, i just found out about winetricks.

$>wget http://www.kegel.com/wine/winetricks
$>sh winetricks

and it should pop up a box with tools you can install and simply select IE8 or other goodies to choose from.

tag:blog.sidmitra.com,2013:Post/479310 2010-08-13T00:01:00Z 2013-10-08T17:04:07Z Where's my dislike button?

I was reading a post yesterday. It touches the topic of social filtering or collaborative filtering. I’m not sure if those are equivalent terms yet.
It raises questions on recommendations, popularity but from the other end. Most of the recommendation engines in my opinion focus on similarity of attributes, doing matrix manipulations to come up with more of the same. The reasons for those are obvious, people like something and they want to see more of it. If you show them items more aligned to their interests, they are more likely to buy stuff, spend more time on your site and improve upon a variety of such positive metrics.

I’ve always thought that was an incomplete way of going about it. In anything involving social behavior, there are infinite such aspects which we might not ever fully understand. All we can hope to do is capture and simplify everything into essential bits that explains most of it. I rather see recommendations as:

recommendations = similarity + serendipity + sieving

  • similarity – this is simply including the items that we think are most similar based on some finite attribute set. This is where the current focus is and what collaborative filtering tries to do.
  • serendipity – A good recommendation system should have an element of surprise built in as well. Thus given the same item, the result set should not be fully predictable. Tastes change over time, and in addition a StumbleUpon-like feature has a potential for interesting user feedback
  • sieving – or another kind of filtering, which is simply the act of filtering out stuff i would hate.

I think sites like http://www.thesixtyone.com do a good job of hooking people in with good music. The reason i spend so much time on that site is they give you a feeler first, of tried/tested/proven music. The music that people before you have liked a lot, it somewhat increases the probability of you feeling the same way. They have an explore section where i can set the level of “adventure”, and listen to completely random new music and which is the most interesting aspect of the site for me. Although it’s probably harder to figure out what algorithm they or anyone else use to recommend the next item but it’s easy to get a feel for it based on the kinds of data they collect.

Facebook like buttons are everywhere now. It’s adding a social layer on top of external links that tells us something important about its popularity. It also tells me Facebook wants to know what people read, watched or listened to. But i still think they’re missing out on important pieces of the puzzle here. Why shouldn’t there be a dislike button there. Why are companies not collecting any negative metrics? Page rank builds on the implicit recommendations in links. Does the meta data even exist on the Internet for generic Web pages to specify dis-similarity? Sites like Digg/Reddit have down votes, which is a start. My Yahoo Hackday project was an Anti-recommendation engine for music/movies(it used to live at http://epcntr.appspot.com). But it didn’t do a very good job, and the reason for that was simply lack of the right dataset. The questions being asked right now, ofcourse do not provide enough data to answer the converse questions.

How can we start collecting the right data? How would it improve the web if we had additional data on “hate patterns”? Do upvotes/downvote data from Digg, Reddit tell us something more about all the uncharted anti-matter on the internet. Like the article asks, what would a negative page rank look like? I have no clue, but collecting the right data might be a start.

Some other related articles/papers, that might be of interest: http://www.readwriteweb.com/archives/why_filtering_is_the_next_step.php http://ways.org/en/blogs/2010/jan/07/social_filtering_of_scientific_informati... http://blog.superfeedr.com/social/algorithm/a-social-filtering-algorithm/ http://portal.acm.org/citation.cfm?id=1451983.1451997

tag:blog.sidmitra.com,2013:Post/479313 2010-05-29T03:40:00Z 2013-10-08T17:04:07Z Getting up and running with Django nonrel

This POST might be slightly out of date from time to time. See http://github.com/sidmitra/django_nonrel_testapp.

The Django nonrel project is an attempt to make django work with non relational backends. They’ve also made a Google AppEngine backend for the same. Thus, now you can easily run native django apps on GAE.

Some caveats first, there are some features from Django that are missing(like joins! which is coming) or some that aren’t perfect yet but it’s a good start to port over any existing simple apps that you already have on Django. Something you should keep in mind is that there’s no way to mix the native django models with those that appengine provides. Some of the steps i took to get it running are specified below. In case you are too lazy :–), I have a Github repository for the same at http://github.com/sidmitra/django_nonrel_testapp.**

Downloading stuff

Getting a simple test app running with nonrel is simple. But you would need to install Mercurial first. Once you have that up and running, they project already provides a sample project to support the dev server. So you can start by cloning all required repositories first.

hg clone http://bitbucket.org/wkornewald/django-nonrel
hg clone http://bitbucket.org/wkornewald/django-testapp/
hg clone http://bitbucket.org/wkornewald/djangoappengine/
hg clone http://bitbucket.org/wkornewald/djangotoolbox/
hg clone http://bitbucket.org/wkornewald/django-dbindexer/src

Setting it up

django-nonrel is the main project containing a modified django, and we need djangoappengine, djangotoolbox as further dependencies. django-testapp is the sample app created with custom configuration to make this quicker.

cd django-testapp
cp -R ../django-nonrel/django django
cp -R ../djangoappengine djangoappengine
cp -R ../djangotoolbox/djangotoolbox djangotoolbox
cp -R ../django-dbindexer/dbindexer dbindexer
python manage.py runserver

And that’s it. Essentially we’ve copied all the dependencies into the project folder. So your directory structure should look something like this.

* django-testapp
     * django
     * djangotoolbox
     * djangoappengine
     * dbindexer 
     * ...

You can also use links on linux instead of copying the directories. On windows install Link shell extension. You can drop junctions into the common-apps folder.


http://www.allbuttonspressed.com/blog/django/2010/01/Native-Django-on-App-Engine http://www.allbuttonspressed.com/projects/djangoappengine#docu

tag:blog.sidmitra.com,2013:Post/479314 2010-04-01T17:40:00Z 2013-10-08T17:04:07Z How to syncronize a server's clock and correct drift
Servers with large uptime, might gather quite a few seconds of drift in their clocks. To synchronize the server's time with an external source, simple run the following:

sudo apt-get install ntp ntpdate
sudo ntpdate pool.ntp.org ntp.ubuntu.com

If you get an error while about the port being in use, then you might try killing the previous running ntp process and trying again.
It would also be a good idea to add the second line to your cron tab as a daily run.


tag:blog.sidmitra.com,2013:Post/479316 2009-12-26T12:25:00Z 2013-10-08T17:04:07Z Check raw SQL queries that Django ORM generates

To find out what queries Django generates behind all that ORM magic, make sure that settings.DEBUG=True, and then run:

>>> from django.db import connection
>>> connection.queries
[{'sql': u'SELECT `auth_user`.`id`, `auth_user`.`username`, 
`auth_user`.`first_name`, `auth_user`.`last_name`, `auth_user`.`email`, 
`auth_user`.`password`, `auth_user`.`is_staff`, `auth_user`.`is_active`, 
`auth_user`.`is_superuser`, `auth_user`.`last_login`, 
`auth_user`.`date_joined` FROM `auth_user` 
WHERE `auth_user`.`id` = 2 ',  'time': '0.002'}, ]

The connection.queries attribute spits out a list of dictionaries of all queries in order of execution. The dictionary contains the actual SQL executed along with the time it took for the same.

To see the last query run, you can use pop:

>>> connection.queries.pop

and to explore further methods, attributes on the connection object, you can always do:

>>> dir(connection.queries)
tag:blog.sidmitra.com,2013:Post/479319 2009-11-30T08:37:00Z 2013-10-08T17:04:07Z Static site generation frameworks

My homepage at sidmitra.com, started out as a single page portfolio, but since then has grown into multiple pages. It’s coded in simple static HTML, CSS, JS and with no moving parts.  A full blown content management system seems overkill in my case and also ‘cos I'm running it on App Engine. So i was looking for frameworks that would let me exploit the benefits of a full blown templating engine, but spit out a static site. I came across quite a few, which are listed below. I’ll be exploring the Python ones a little bit more to see if they fit my need. Somehow i feel the itch to make my own, though.



Hyde - http://github.com/lakshmivyas/hyde/tree/

Sleepy-django - http://code.google.com/p/sleepy-django/

Stango - http://www.digip.org/stango/

Blatter - http://bitbucket.org/jek/blatter/



Jekyll - http://github.com/mojombo/jekyll

Templette - http://github.com/jdunphy/templette

StaticMatic - http://staticmatic.rubyforge.org/

Nanoc - http://nanoc.stoneship.org/

Webby - http://github.com/TwP/webby


If you know of any more, even for other languages let me know in the comments. I’ll update this list further.

tag:blog.sidmitra.com,2013:Post/479320 2009-10-11T14:10:00Z 2013-10-08T17:04:07Z LinkStash - 12 Oct '09

I cleared out my Google Reader unread count after months. I’m not sure about the actual numbers but my guess is there were more than 10,000 items there.

I was listening to cover songs on http://copycats.tumblr.com and these are some of the ones i loved recently.


Nature Lover by Philippe Sainte-Laudy
tag:blog.sidmitra.com,2013:Post/479321 2009-10-10T02:29:00Z 2013-10-08T17:04:07Z Django complains “Unable to Open Database File”, with SQLite3

This is a fairly common gotcha, that i had forgotten about until i wasted half a day troubleshooting it again.

To solve, make sure the database file itself is writable, and not only that, also make sure that the parent directory is writable as well so the database engine can make temporary files. So just chmod 777 to check if it works :-) but remember to choose your permissions carefully later.

Ref: http://code.djangoproject.com/wiki/NewbieMistakes#DjangosaysUnabletoOpenDatabaseFilewhenusingSQLite3

tag:blog.sidmitra.com,2013:Post/479322 2009-09-10T12:18:00Z 2013-10-08T17:04:07Z Merge multiple PDF files into one from the command line

Unless you have Adobe Acrobat, it’s hard to find tools that allow you to play around with PDFs. For viewing i stick to Foxit for now, as it’s the fastest thing around. But when it comes to merging, there sure is a lack of good free tools. I looked at and some other ones, but they were purely crap.

The best tool i found was pdftk, the PDF Toolkit. It’s a simple exe that you copy to your system path and merging files is as easy as

pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf

It also allows you to merge/split files, update meta data etc. You can check out its page for more details.

tag:blog.sidmitra.com,2013:Post/479323 2009-08-18T07:45:00Z 2013-10-08T17:04:07Z Test Redmine with sqlite3

I asked around on HN a while back for a project management solution. I’ll do a comparison post soon among all the ones i checked out. I also tested Redmine, which came highly recommended.  Using it with SQLite on Windows might result in an nmake error, while installing the ruby-sqlite3 gem. Make the minor changes mentioned below to make it work.

You can choose to download it from RubyForge, or plain old svn with

svn co http://redmine.rubyforge.org/svn/trunk redmine

You might also want to check out the Bitnami readymade stack at http://bitnami.org/stack/redmine.


Redmine is based on Ruby on Rails, so you need to install those two first. The install guide on their site uses MySQL by default, but we want to use the more portable SQLite instead. To do that, you only need to modify/add to the steps listed in http://www.redmine.org/wiki/redmine/RedmineInstall, as follows:


  • Install the Ruby sqlite3 gem, after installing Ruby and Rails. Only the specific version mentioned below works on my machine. If you don’t specify the version, it may result in an nmake error on Windows.

     gem install sqlite3-ruby -v=1.2.1 

  • Follow the steps in the install guide till where it asks you to copy the database.yml . Then in database.yml, you could replace

    adapter: mysql
    database: redmine
    host: localhost
    username: root
    encoding: utf8


    adapter: sqlite3
    dbfile: db/redmine.db

  • The rest of the steps stay the same, for eg. the following commands

    rake db:migrate RAILS_ENV="production"

    rake redmine:load_default_data RAILS_ENV="production"

    ruby script/server webrick -e production

The rest of the steps should be similar to the one mentioned on the install documentation, for example setting permissions to directories etc., if you’re on Linux.

tag:blog.sidmitra.com,2013:Post/479324 2009-08-18T01:26:00Z 2013-10-08T17:04:07Z Access the App Engine datastore on your localhost

The data store on the local AppEngine dev server is available at:


tag:blog.sidmitra.com,2013:Post/479326 2009-06-27T13:39:00Z 2013-10-08T17:04:07Z Get a standalone version of Windows Live Essentials

Windows live has some pretty nifty tools, like Live writer which is one of the best blogging tools that I've come across. I recently tried to upgrade from my previous beta version of Writer to a new one at http://download.live.com/.

I can’t figure out this fixation for web installers everywhere. First you download an installer which in turn will download more stuff. This is an obvious problem if you want to run the installer on a computer that’s offline (yes, that does happen in this day and age!!).  It is also a major problem if the web installer croaks and complains that there isn’t an internet connection when there evidently is.  You get stuck with this unhelpful error:

OnCatalogResult: 0x80072ee6

There are some suggestions given here, but they didn’t work for me. The only way to get it working was to download a standalone version. When you click the download link on the main page you’re redirected to a page and also get the prompt to download the web installer (something like http://download.microsoft.com/download/E/B/7/EB7AAFE7-514F-495A-A981-99830FE8E99E/en/wlsetup-web.exe). You can choose to cancel this prompt and press “Try Again” on the same page to download the full standalone version. Or even simply rename the above link to wlsetup-all.exe instead of wlsetup-web.exe. The file size is a lot bigger, but it works!

tag:blog.sidmitra.com,2013:Post/479289 2009-03-22T08:09:00Z 2013-10-08T17:04:07Z LinkStash – 22 Mar’ 2009

Microsofts Vision for 2019 [vid]

Music that makes you dumb [pic] – Music choices versus SAT scores…. and some interesting finds. Now where did I put my Ninth Symphony Mp3.


Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.

-Howard Aiken


Chrome experiment – Brilliant use of scripts.

 SXSW 2009 Music    -  6gb of SXSW music in 3 torrents!!!


n A w L ! n * f R ! D a Y * f A n D a N g o by I Travel East


Coda.fm – For you music and bittorent fixation.

BLH's tour of Chernobyl – What Chernobyl looks like after 23 years.

tag:blog.sidmitra.com,2013:Post/479290 2009-02-28T23:35:00Z 2013-10-08T17:04:07Z LinkStash – 1 Mar’ 2009

 Six word sci-fi stories -

Last man on earth. Hears knock.

—Pete Berg


Gaping hole halloween costume -  by  evanbooth


Pinocchio paradox – pic….lol.

Evan Williams talks about unexpected uses driving Twitter growth.


The Hacker's Diet – by John Walker.

tag:blog.sidmitra.com,2013:Post/479292 2009-02-24T04:26:00Z 2013-10-08T17:04:07Z LinkStash – 24 Feb’ 2009

Mindfuck movies – Here are some good recommendations from The Morning news for the coming weekend.

Really? Slumdog-Millionaire? – My thoughts exactly.


Charles M. Schulz - "All you need is love. But a little chocolate now and then doesn't hurt."


In the subway by Kaj Bjurman


The most awesome pencil sharpener -



You have misunderstood your place in the food chain. You are google's product. Your PC is a crucial part of the delivery mechanism by which you are made available to google's customers.

- by keithb


StreamDrag – Stream  all your favourite songs from YouTube videos.


No-Tech hacking - An impressive talk by Johnny Long, on how to snipe and gather information.


The new Miro is awesome. It was a huge  memory hog in the past but not anymore. It now features a pretty decent UI, with new features like adding sites that you can browse directly inside. It records a consistent under 50 MB memory usage on mine, which is less than half that of the previous version. It now has separate audio and video feed sections. The in built browser feels more responsive and so does the media player (now you can pop it out into a separate window too).

tag:blog.sidmitra.com,2013:Post/479294 2009-02-05T10:30:00Z 2013-10-08T17:04:07Z Primer – Movie Review

This film made in 2004 with just a budget of just $7000,  is relatively older than some I’ve reviewed recently. It came highly recommended by Jeff Cannata of TRS, and sounded quite interesting. So I decided to catch it last week.

AND!! It turned out to be one hard movie to review. So this won’t try to be one. Firstly, this film is an orgy for people that love paradoxes. The movie in essence is about time travel, when a pair of engineers discover it by accident. It tells the story of how it effects people differently and how they behave. It talks about their temptations, their desire to become heroes. Towards the end the movie becomes convoluted in increasingly complex paradoxes, which to be honest left me completely clueless. But rather than throwing it out as a waste of my time, it had me so intrigued that I actually researched it, starting at its wikipedia article. It was only then that I understood its premise properly. I can’t say that I still understand it fully, far from it!

It is pretty apparent that no attempt was made to dumb down any portions of it. So I’ll watch it a couple of more times and hope to fathom a majority of it. To any people who are fans of science fiction and thinking movies, this is a treat. It is perhaps meant to be a puzzle that you sit down with and ponder over, and it’s beauty lies in just that.

Rating: 7/10

tag:blog.sidmitra.com,2013:Post/479296 2009-01-16T11:49:00Z 2013-10-08T17:04:07Z Seven Pounds – Movie Review

An emotional drama starring Will Smith as an IRS agent (read tax collector) trying to redeem a mistake that killed seven people, by helping seven strangers. Smith also managing to recover from the disaster that Hancock was, and gives a stellar emotional performance in the same genre as The Pursuit of Happyness. If you liked that movie then I am positive you’ll like this one, and leave you teary eyed at end. On the other hand that is also my only gripe. The initial one line description sums up the movie entirely. Its only attempt is to make your eyes moisten, although it does succeed with a highly depressing end. Rosario Dawson turned out to be the surprise act for me in this one, with a prefect portrayal of a dying girl. The movie is slightly confusing for the major part and you’re left wondering about the motives behind the protagonists actions, but it clears out quite magnificently in the end.

Very few characters, small storyline and I’m still amazed at how much the movie accomplished in the end. So I would probably rate it around 7/10 and is probably on of the best movies out of 2008 and I liked it better than Slumdog. If you’re into serious, emotional movies then this one’s for you.

Rating: 7/10

tag:blog.sidmitra.com,2013:Post/479297 2009-01-03T08:26:00Z 2013-10-08T17:04:07Z Slumdog Millionaire – Movie Review

   This movie is certainly a humanity interest piece, something expected from every Oscar season. The story of a kid from the slums of Mumbai, and a game show years later with him at the verge of winning 20 million rupees, sets the right contrast for the entire movie. It has its fair share of dark humour and satire, like the shit clad child running for Amitabh’s autograph. An overdose of reality with a window into what life's like on the streets.

That was the better part of the review. For the lack of a better cliché, the film is a rollercoaster of emotions. I loved parts of it, I hated parts of it. The emotions in many parts of the movie seem overly forced and directed towards the American audiences and I'm sure they’ll love it. The 'real India' was exaggerated and glossed over and at all the wrong places. Moreover, the protagonist fails to evoke much emotion, once you've gotten over your initial curiosity. In the end, it starts resembling a  typical Bollywood melodramatic piece more, than a serious endeavor it sought out to be. The soundtrack by A.R. Rahman though, is not an add-on at all as in most Hindi movies, but is an essential gene in the pool.

At the same time I do feel that I am being overcritical. It’s still a must watch, more so because of the concept and contrast than the artistic merit of the director. There was a lot of potential in the movie but it might leave you with an aftertaste of dissatisfaction lingering inside. Perhaps I was expecting a little too much.

tag:blog.sidmitra.com,2013:Post/479298 2008-11-11T11:36:00Z 2013-10-08T17:04:07Z Fashion Nugget by Cake

Did you know the PirateBay also gives you music recommendations?? Every download page related to music has a detailed artist info section with a list of artists very similar to one you’re trying to download and it’s pretty darn useful. A preliminary search for some mellow bands led me to a dozen year old album called Fashion Nugget, by an alternative rock band called the Cake.


The album contains some gems like ‘Nugget’, a cool song with a funk feel, although I should probably warn you that it periodically contains a well known four letter :-D. They also managed to make use of that word in a remake of the Gloria Gaynor’s ‘I Will Survive’. A little research leads to a nifty piece of trivia that this it is also the goal music of the Turkish football club Galatasaray SK. The album starts with a trumpetty-sad but still rythmic number titled ‘Frank Sinatra’, which has had the honour of appearing in the hit series The Sopranos. It seems like a pretty well know band and I'm surprised at not having heard of them. Moreover, this album has left me intrigued and curious about their music and I hope to find more and more of it. I give this album my thumbs up!!

You can get a taste of their music here.

tag:blog.sidmitra.com,2013:Post/479300 2008-10-08T06:19:00Z 2013-10-08T17:04:07Z LinkStash - 08 Oct' 08



“Saying that Java is nice because it works on all OSes is like saying that anal sex is nice because it works on all genders.”  -  Alanna


Northern lights at the summer house by Now in Iceland


“Any fool can use a computer.  Many do.”   -  Ted Nelson



Recommended App

  • Miro – Is an internet media application or a podcast receiver like Juice. Nomally i wouldn’t recommend any app that uses as much memory as this one does, but I’m making an exception here. Juice had given me trouble in the past and refused to recognise previously downloaded files and somehow stopped downloading new media from subscribed feeds even when new episodes were available. So I switched to Miro a month back. Its easy to find content to listen to and watch through it now. It recommends new feeds and you can search directories for topics you like. It also keeps track of what episodes you’ve already seen. The killer feature being that if you start playing any video/audio and quit, Miro can automatically remember  the point where you last stopped and continue playing from there. One thing that does bug me is if you play a file and navigate to some other feed, the files stops playing. This starts getting irritating if you’re listening to some MP3 and want to browse some other channel offerings at the same time. But otherwise its a pretty good app for people just starting out on podcasts.





Subscribe to my RSS feed… or subscribe to my FriendFeed for all the links and info I post over the web.

tag:blog.sidmitra.com,2013:Post/479302 2008-07-22T07:06:00Z 2013-10-08T17:04:07Z Stumble your way to new music



StumbleAudio is another new social music discovery site. It lets you stumble upon new music in a neat cover flow’ish interface. Just select a genre and it automatically prepares a playlist of interesting new songs and artists. In case you like what you’re listening to, then give it a thumbs up. If you don’t then press the stumble button to find something else more to your liking. Pretty simple!! right? :-D

It currently has around 2 million tracks to discover and the artists get paid when you listen to their music too.  It reminds me of Pandora, which is now closed to residents outside the US. The site features mostly indie artists, so its very easy find music that you haven’t heard before.

tag:blog.sidmitra.com,2013:Post/479304 2008-07-01T01:08:00Z 2013-10-08T17:04:07Z Home by Hype


From the album Lies and Speeches, the song has a Cranberries like quality and dark cloudish beats. It’s a steal considering it’s free. You can download this whole album at Jamendo, by following the link below.

Listen to more of Hype..