Wednesday, February 23, 2011

Brilliant ideas

So I was talking to a friend about pumps. In particular, we were talking about membrane-bound pumps (cellular biology). I thought about it for a moment and I could think of no examples of a non-membrane-bound pump. Of course, with my limited knowledge, that by no means indicates that there are none. At first I thought that the whole concept of a non-membrane-bound pump was kind of odd. If the pump didn't connect to the membrane, then what was the purpose? To keep the fluid that it was floating around in circulating? I tried thinking of non biological examples of pumps and then it hit me. Perhaps the most iconic pump of all is not membrane bound. A bike pump is a perfect example of this. It is a unattached pump that attaches to a membrane pore.

This is where my 'brilliant' idea came in. As a thought exercise, I thought of practical applications of a bike pump-like pump in terms of biology. I thought that it would be a great way to deliver drugs. You could use the pump as a way to target specific cells. In essence, a pill would contain two different compounds. One compound would be the pump. This pump would be a custom designed protein with two to three functional parts. The first would be a tissue-specific ligand that would bind to a pore or channel of sufficient size for the drug to pass through. The second part would forcefully open/activate the channel. Finally, the third would be a pump specifically designed for unidirectional transfer of the active drug. The second compound in the pill would, of course be the drug.

It seems like a no brainer when you think about it on the surface and it seemed, at least in my head, to work really well. Then when you delve deeper into it there are a variety of problems to overcome. First would be that making the custom pump would be ridiculously expensive and time consuming, probably better just to make a wide acting drug and let people deal with the side effects. The second problem would be finding a receptor or pore that is ONLY on the tissue you want. Another problem would be finding a way to make sure that you're pump doesn't attach permanently. This might actually solve itself, as some receptors are internalized after activation (which might be a problem in and of itself). Of course the biggest obstacle would be the fact that many drugs act on the receptors themselves, tricking the cell into doing a desired effect, which means that there is no need of a delivery system. Sigh so much for these brilliant ideas of mine.

-------------------------------------------------------------------------------------------------------------------------------

Another 'brilliant' idea I had recently was a slot machine dim sum restaurant. I figured that it would be a great way to introduce newbies into the world of dim sum. By leaving the choice to chance, they get an unbiased variety of dishes. Rather than being limited to the dishes that their friends or family want, they can try out more exotic dishes. Of course, this kind of defeats the purpose of dim sum whereby you choose the dishes as they come by but it doesn't have to be used by everybody. In addition to the slot machine dim sum, a rotation-sushi-like delivery system would be nice. It is unfortunate, though that such a delivery system kind of makes the dining experience kind of impersonal due to the fact that the participants are facing the conveyor belt rather than each other. Still, despite the problems, I think it would be a cool thing to do and not necessarily limited to dim sum. I could definitely see something like this used in conjunction with Microsoft Surface in restaurants.

Feeling dumb

So as some of you know, I wrote a little script to make my life easier during the process of writing this novel. The purpose of this script was to facilitate multiple versions of my novel. I have a nasty tendency to rewrite parts of my story and I wanted to be able to keep track. This was the script:

#!/bin/bash
IFS="
"
function findfile {
for word in $filetype; do
    case $word in
        .tex) find /home/ray/ -name *.tex | sort;;
        .odt) find /home/ray/ -name *.odt | sort;;
        .doc) find /home/ray/ -name *.doc | sort;;
        .html) find /home/ray/ -name *.html | sort;;
    esac
done
}

function editfile {
for word in $filetype; do
    case $word in
        .tex) gedit $response;;
        .odt) oowriter $response;;
        .doc) oowriter $response;;
        .html) oowriter $response;;
    esac
done
}

function makerevisions {
if [ -d $directory/Revisions/ ];
then
    echo "Revisions directory exists"
    mkdir $directory/Revisions/$(date +%F-%R)
    cp $response $directory/Revisions/$(date +%F-%R)/
else
    echo "Revisions directory does not exist"
    mkdir $directory/Revisions/
    mkdir $directory/Revisions/$(date +%F-%R)
    cp $response $directory/Revisions/$(date +%F-%R)/
fi
}

filetype=$(zenity \
--list \
--title="Select filetype" \
--column="Filetype" \
    .tex \
    .odt \
    .doc \
    .html)   
if [ "$filetype" == "" ]; then
    exit 1
fi

response=$(zenity \
--list \
--title="Select file" \
--column="File" \
    $(findfile))
filename=${response##/*/}
directory=${response%/*.***}
if [ "$response" == "" ]; then
    exit 1
fi

editfile $*
makerevisions

echo $filetype
echo $response
echo $filename
echo $directory

unset IFS

Anyways, to continue my story, I found out that I was being extraordinarily dumb. In many ways I was simply trying to reinvent the wheel. I forgot that there were many tools out there that did the exact same thing. Basically, what I was trying to do was a primitive version control script. I realized relatively recently (to may shame) that I could use things like git and svn to do the exact same thing, except better. So I took a look at a few different tools and I finally decided upon using git. I chose git because, well simply, it appeared to be the easiest to learn and I could use it offline. Now I have a script that I worked so hard on (a symptom of my amateurish scripting abilities) that's, for all intents and purposes, useless.

As a side note, it should be mentioned that git these 'software revision control' tools work particularly well because I am using LaTeX. I am unsure as to whether or not it would track changes just as well if it were regular doc, odt... etc. files.