Category Archives: Uncategorized

If you spend any time on the shell command line use “z” it will save you tonnes of time!

I am not for using superlatives to attract attention. But I cannot but emphasize how amazing this shell add in has been for my daily activities.

I do spend a lot of time on the command line changing between directories. My typical directory path will read something like this

cd /home/hari/data_processing/cro_data_4_14_23/p53_p212121/compound_id_4642222/final_procesing

Now imagine if you could just cd to that directory by matching against a keyword that is unique to that directory. I could just say

z 2222 TAB

And bing! It “cd’s” you into that directory!

THAT is the amazing power of “z”

This and a few other tips like this came from a talk on Tools for Web developers from +Paul Irish

Screen shot 2013-06-23 at 5.56.36 PM

Crystallization reports at the RCSB or PDB : crystallization conditions for already crystallized protein

Embarking on a quest to crystallize a protein that others have already crystallized?  You need to get a detailed report of all the crystal conditions that have been used in the literature for your protein of interest.
Thanks to the many excellent features of the PDB  (RCSB)  you can use the Generate Reports drop down tab to get  a nice tabular report of all the Experimental, crystallization conditions once you have narrowed down your list of PDB files.
The above short screencast, shows you how.
Static image credit: Tabular help documentation at the RCSB/PDB

Why the ipad will change everything

I was watching Steve jobs’s ipad announcement keynote the few months back and a few minutes into it when the ipad slide first appeared ..I impulsively said ” they will sell it for $499 and this will change everything” . A few slides later I felt happy I was right with my price bet and I started thinking about what I think the device will do for us.

As we are now weeks from the device getting to market I thought I would put down my thoughts on how well the ipad will do.

The ipad IS the new “ipod” and “iphone” , a trendsetting device which will first define and then dominate the category of handheld content consumption devices.

At 499 it is the perfect internet reading device . Yes it will bring the internet to everyone!. Just as we all stopped using our CD collection once we could carry our albeit lower quality mp3 collections around with us. We will stop using our laptops and computers to consume our internet content on the ipad and other similar devices.

Multitouch is the best thing to happen to UI since windows and the mouse. Anyone who has an iphone and the kindle realizes how much more intuitive it is to slide across the screen and touch something and see it respond. It does seem like Apple with its custom silicon and ipad screen will dominate the innovations around multitouch as it gets integrated into more and more apps that work on this bigger screen. The new avataar of of iphoto and it seems are so revolutionary in their approach to UI, that ipad apps will become the new showcases for killer apps across all platforms.

Despite the fact that it does not give you the refresh free comfort of e-ink. The fact that it can do video and the web natively will ensure that e-ink and kindles etc move away from mainstream towards the hardcore reader market. The ipad will become the reader of choice for everyone. It will be wrong to call this the kindle-killer , but for everyone who has not already bought a kindle or reads less than one book a week , they will prefer the ipad.

The rebirth of the web-app. If you have ever saved a website as an icon on your iphone , or used a site specific browser like Fluid or others , you know how much sense it makes to consume a website as an App. The ipad will ensure that javascript and native web interfaces will get comeback as the chosen way of delivering functionality to users without suffering the control of the apple app store.

Perhaps contradictorily, the app store will retain its stranglehold over the iphone-ipad ecosystem. Just as everything from Yelp to Evernote to even gmail is now “just an app” for everyone. Teams of people will develop exclusive Apps for their portals , if they chose not to re-engineer their websites to feel native on the ipad screen. App development will now make more sense for everything from board games to radiology and imaging to photo-management and sharing.

If there ever was a non computer – web browsing device..this is it! It really will change the way we consume content, watch video , listen to podcasts , watch HULU , Boxee , read Ebooks , subscribe to podcasts, watch webcasts….you name it!. I believe the ipad is the next iphone and will be a worthy successor to the ipod and iphone as trendsetting devices that will be huge successes.

The burden of python deployment

Sorry for a grouchy new years post , but I figured I will attempt to get started blogging for the year with this post. I had authored this post a while back ( October 09) when I struggled with deployment of a python app. Much of what I talk about still holds true. Indeed python deployment remains a problem with many solutions , and therefore quite painful since there is still no sure shot way to deploy a python app across platforms.

Its been almost three weeks since I released my maiden python-wxpython app. While Ive been busy doing other things , I decided to write this post to say how painful the “deployment” process of writing an application has been.
The most ironic fact is that the easiest platform to deploy for has ironically been Windows.
Once I used py2exe and innosetup I had a working setup.exe that installed the app on Windows Xp and Vista , 32 and 64 bit.
The next most fun platform to create a deplyment target for was linux. It was almost trivial to use the cxfreeze to create a binary build for Ubuntu Linux 32 bit and 64 bit . With the help of a Virtualbox VM for 64 bit SUSE, I could even release a binary build for that platform because someone asked.

But thats when the fun ended!. The mac has been an extremely painful platform to deploy python application for!.
I am using py2app to create standalone binaries. The idea is to have an app that I can click on and have it launch on any mac.
Some interesting hurdles:
1) If you create a standaone py2app build on Leopard it is not guaranteed to work on tiger
2) If you create one on Leopard it definitely does not work on snow leopard.

The only solution is to create a standalone app on tiger and then maybe it will work on Leopard.

In the end I did manage to solve my mac deployment issues which I detailed on this wiki page. Also Chris Lasher Lasher pointed me onto his series of links which talk about python deployment, Ian Bickings response is specially worth noting.

c2cbio .25 episodes and counting

Since October 2008 my good friend Atom ( Deepak singh to most of you) and myself have spent many of our Sundays recording the coast to coast bio podcast.  With the last episode the c2cbio podcast has completed 25 episodes, and we are thrilled. These 25 episodes have seen us talking about everything from version control , to meta-programming to synthetic biology to to pubsubhubub  to synchrotoron data collection to hadoop and all things cloud computing. The unifying theme  ( if any) is that mixing technology and science makes both better and definitely a lot more fun.

Its mainly thanks to c2cbio that I finally decided to sit down and start coding . Thanks to our many conversations about what makes a good programmer ,  version control , IDEs , test driven development and agile programming, I decided to try and put these into practice while I attempted to statisfy my code-itch.  Thanks to all the git topics from Atom , I too decided to start playing with git. The fun part was when I could see myself coding a lot more and writing code that even I reusedAnother conversation had us talking about Living code , about how Paul Buchheit built gmail and add-sense  . The take home message for me was to prototype and test extensively, and release often .   All of these lessons combined with version control have ensured that I am few days away from a simple app that hopefully makes creating and keeping track of crystallization solution grids easier.

Thanks to the podcast I feel I get to keep up with the goings on, especially when bench work leaves me with little time to browse and catch up.

Thanks to everyone for listening and writing in  . Heres to podcasting , coding and hopefully a lot more episodes of c2cbio.