The Blood Brain Barrier
2009-01-08
I wouldn’t be wrong if I say the Brain is the most vital organ in the human body. As we all know brain handles most of critical operations inside our body such as keeping and managing memories, organizing our activities, keep other organs perform, and so much more.
The Brain, as most of us already know, works by sending electric signals through complex meshes of neurons so the brain has to maintain a good environment around to keep the accuracy of this electrical signal flow.
The environment inside the brain is the brain fluid so the ingredients or components of the brain fluids are very critical to the functionalities of brain.
Any organ of the body gets the supplies it needs through blood and so does the brain. Ingredients of human blood vary depending on the situation, food, problems of other organs, etc. so it is obvious that the blood is not the same all the time.
Not like other organs, the brain has to think a lot before extracting anything from blood because if the chemical levels of brain fluid vary it directly affects the signals passed through neurons. If the brain fluid is not maintained in an optimum level, the environment will become too noisy for neurons and sending signals would become like talking in the middle of a party.
So there is this Blood-Brain Barrier (which is also referred to as BBB) which extracts the necessary ingredients such as Oxygen and Glucose and make sure nothing else is taken in.
Blood-Brain Barrier Diagram
Photo courtesy: Malcolm Segal
Where is Blood-Brain Barrier Located?
BBB is located at the brain blood capillaries. These capillaries are unusual in several aspects from capillaries in other organs. Those aspects are briefly described below:
- The end-points of cells which make up the walls of these capillaries are sealed together at their edges by tight junctions which are a key component in the barrier. These junctions make sure that water soluble substances in the blood don’t pass between the edges of cells.
- These capillaries are enclosed by flattened cells which altogether called the ‘end-feet’ which also work as a (partial and active) barrier.
- The only way for water soluble substances in the blood is through the walls of capillaries. These walls plays the other role in the barrier because their cell membranes are made up of a lipid/protein belayed only allowing flat-soluble molecules including those of oxygen and carbon dioxide, anesthetics and alcohol to pass through the walls of capillaries.
- In the capillary wall there are three classes of ‘efflux pumps’ which pumps various lipid-soluble molecules back in to the blood out of the brain.
However, the brain needs water soluble compounds such as Glucose for energy production and amino acids for protein synthesis so there are these Carriers in the walls of capillaries which allow those compounds to go through the wall and move waste products and unwanted molecules in the opposite direction.
The blood-brain barrier plays another key role in keeping the volume of the brain at a constant level. Since the brain is contained inside a rigid skull it is important to keep the fluid from free movement thus keeping volume of the brain static.
Problems Related to BBB
Even though BBB is made in the sole purpose of protecting the brain, it has become a barrier to medicine to access the brain. Since many medicines are water soluble, they are barricaded at the BBB. This process has made it very hard to treat brain tumors and infections such as AIDS virus.
In fact, AIDS virus uses BBB as a shield by hiding behind the BBB from body defense mechanisms.
Due to such reasons medicine has to be made as fat-soluble but then a new problem arises because then the medicine will be absorbed by most cells of the body which may be toxic.
The alternatives are making drug molecules that can ride on natural transporter proteins or use drugs that can open the Blood-Brain-Barrier.
Was this post helpful to you? How can I improve? - Your comment is highly appreciated!
Cassian Menol Razeek
What is a Permalink
2009-01-07
If you maintain or work around blogs then the word “Permalink” should be familiar to you.
In early stages of the Internet all web addresses or URLs were static or permanent but as the web became more complex where large volumes of content is added daily, it became hard to handle in the usual way.
The involvement of database driven systems was necessary to manage large volumes of web content.
The URLs used with these systems were not human readable and each URL is only brings a main or central page and loads the requested page from their.
Ex/ Non-Permanent (Old) link for the Wikipedia page for Albert Einstein
http://en.wikipedia.org/w/index.php?title=Albert_Einstein
As you can see, these dynamic URLs do not provide a permanent link to the relevant page. The part “Albert_Einstein” is only a parameter sent to the internal CGI of Wikipedia.
A Permalink is a permanent link for each item in the web site or domain. With this concept each page of a domain gets a unique permanent URL.
Ex/ Permalink for the Wikipedia page for Albert Einstein
http://en.wikipedia.org/wiki/Albert_Einstein
Why Permalinks are Helpful for Bloggers…?
In blogs, post goes down the stack as new posts arrive. So when permalink is enabled, each of your post gets an individual URL so that anyone on the Internet can link to your post from their site or blog without depending on what happens at your blog.
Was this post helpful to you? How can I improve? - Your comment is highly appreciated!
Cassian Menol Razeek
Recommended Books:
C# ASP.NET - GridView : How to Use Checkbox in Gridview to Select Multiple Rows
2009-01-06
I wanted to select multiple rows of the grid view using check boxes to select each row.
In this post I will discus how and what I did to achieve this goal…
I used a template column which holds a check box to select or de-select a row in the grid view.
Adding a Template Column:
There are several simple ways to add a template column/field to your grid view:
- Select your grid view and then click on the small task button (the small square button located to the top right corner of the grid view control) and select “Add New Column…” from the “GridView Tasks” box.
- Use “TemplateField” as the field type
- Provide a header text
- click ok
- Or… Select “Edit Columns…” from the “GridView Tasks” box and
- Select “TemplateField” from the “Available fields: ” section
- Click “Add” button
- Provide a header text in the “TemplateField properties: ” section
- click ok
- Or… Select “Columns” from the grid view properties and follow the steps described in the earlier method (2nd one)
Adding a Checkbox to the Template Column:
- Select “Edit Templates” from the “GridView Tasks” box. Then it will show you the inside of the template.
- Select “Item Template” from the “Display: ” drop down list.
- Drag and drop a check box in the item template area.
- Give an id as “chkid” for the check box - You can use a different name if you want but make sure you don’t confuse when I use this name in later parts of this article.
- Click “End Template Editing” from the “GridView Tasks” box.
If you have completed the above steps correctly, you should see the expected checkbox column added in to the grid view.

As you can see in the image above, in my example I use a Name column along with the check box column to make this clearer.
How to Databind the Template Field:
I use a datatable to populate the gridview so we have to databind our two columns.
The second column name is a “BoundField” so to databind it simply specify the name of the data table column you want to bind to this column in “DataField” property under “Data” property set in the fields dialog box you get when adding the second column (use one of the ways I described above to add a column).
Databinding the template field is a bit tricky, but not hard.
- Click “Edit Templates” from the “GridView Tasks” box so that you will see the check box.
- Click on the small button with a triangle in the upper right corner of the check box which is similar to the one we clicked on the grid view to get the “Checkbox Tasks” box and then click on the “Edit Databindings…” link inside that box.
You can use this dialog box to bind any property of the control to a data source column
In this example we will bind the “Checked” property of our check box to a Boolean column called “Selected” of the data source.
For that:
- Select “Checked” from the Bindable Properties section and enter following in the Custom Binding section:
- DataBinder.Eval(Container, “DataItem.Selected“)
- Note: the word “Selected” (in red color) refers to the “Selected” field of the data source.
Populating the GridView:
As I described earlier I create a simple data table in the page load, populate it with some dummy data and then bind the grid view with it.
Note: I have used several methods to add data to a table to illustrate those to you.
The Code:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Selected", System.Type.GetType("System.Boolean")));
dt.Columns.Add(new DataColumn("Name", System.Type.GetType("System.String")));
DataRow dr = dt.NewRow();
dr.ItemArray = new object[] { false, "Cassian" };
dt.Rows.Add(dr);
dt.Rows.Add(new object[] { false, "Menol" });
dt.Rows.Add(new object[] { false, "Razeek" });
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
}
There are several things that I’d like to bring to your notice:
- I have checked for postback to make sure this data population is not occurred in general post backs. The reason is the framework refreshes when the grid view is re-bound.
- So if we don’t do this check, whenever we click on a check box, a postback occurs, the grid gets refreshed, the check boxes get cleared, we cannot keep track of what check boxes are selected…!
- As illustrate in my code, you can either first populate a datarow and then add it to the datatable
- Or you can directly add the items using only one line of code.
Retrieving the Status of Checkboxes:
Now we have completed the interface and the user now can select several rows of the grid view using the appropriate check box.
The next step is to capture the rows that the user has selected.
In my example, I have used a button, once clicked; it will display the list of names of the selected people.
I will introduce the code first and then explain it to you.
protected void Button1_Click(object sender, EventArgs e)
{
ArrayList names = new ArrayList();
foreach (GridViewRow gvr in this.GridView1.Rows)
{
if (((CheckBox)gvr.FindControl("chkid")).Checked == true)
{
names.Add(gvr.Cells[1].Text);
}
}
this.Label1.Text = string.Empty;
foreach (object itm in names)
{
this.Label1.Text += " " + itm.ToString();
}
}
Note following:
- The code iterates through each row of the grid view using a for each loop, takes the Name field from the selected rows and then adds those names into a arraylist
- The GridViewRow refers to a single row in a grid view
- Control Control.FindControl(string controlID) - GridViewRow class provides this method to find a specific control within a grid view row. This method becomes very handy in situations like this where we cannot directly access the control from the code because those are generated at run time
- FindControl returns a control so you have to explicitly cast the returned control to the type of it
Screen Shot:
Conclusion:
We can use a template field with a checkbox to allow user to select multiple rows using checkboxes associated to each row. When the button is clicked, checkbox of each row is checked for its status and the row is selected if the user has chosen it.
Was this post helpful to you? How can I improve? - Your comment is highly appreciated!
Cassian Menol Razeek



