Monday, April 5, 2010

Attempts to Restore Vision

Researchers worldwide are trying to find ways to use electronics to improve visual recognition.
clipped from www.wired.com
bionic-eye-australia
Bionic Vision Australia, has developed a device called the wide-view neurostimulator
Bionic Vision Australia uses an external camera
An electrode array is implanted in the eye and that connects to the central part of the retina where the greatest number of retinal neurons are present
An external unit has vision-processing software to help generate the electrical impulses.
The resultant vision is not the same as the images that a sighted person sees
it’s a pixelated version with a relatively small number of dots: about 100 in early versions
bionic-eye-australia3
team hope to do the first human implant in 2013
groups in Germany and Japan are working on similar projects
clipped from www.wired.com
MIT work on a retinal implant that can bypass damaged cells and directly offer visual input to the brain
retinal-implant3
It won’t entirely restore normal vision, say the researchers, but it will offer just enough sight to help a blind person navigate a room
The eyeball holds a microchip encased in a sealed titanium case
retinal-implant2
clipped from review.ucsc.edu
image
Wentai Liu
clipped from www.wired.com
Frank W. Ockenfels 3
Frank W. Ockenfels 3
The Dobelle artificial vision system
 blog it

Saturday, March 20, 2010

Effect of Calcium on Iron absorption...

I wanted to know, once and for all, if calcium had an effect on iron absorption. We usually consume yoghurt with meat, which is our main iron-supply.

This new paper (2010), that takes into account various other studies, concludes:
"calcium in amounts present in many meals inhibits the absorption of both heme and nonheme iron".

Guess we'll have to change this eating-habit of ours...

Wednesday, March 17, 2010

"Procrastination" Tales Of Mere Existence

Now why does that sound familiar
In fact, I just vacuumed my room, so it wouldn't distract me while I get my stuff done
clipped from www.youtube.com
 blog it

Friday, March 5, 2010

Applying Mathematics To Web Design

Some interesting ideas and sample psd-layouts.
“Mathematics is beautiful.”

Golden Ratio and Golden Rectangle

Gr01 in Applying Mathematics To Web Design
A golden rectangle is one whose side lengths have the golden ratio 1:(one-to-phi); that is, 1:1.618
Rectangle in Applying Mathematics To Web Design
Spacegeek Full in Applying Mathematics To Web Design
Spacegeek Rect05 in Applying Mathematics To Web Design
a sample PSD layout that is designed according to the Golden Ratio and Golden Rectangle

Fibonacci Design

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...
Fib in Applying Mathematics To Web Design
Fibonacci01 in Applying Mathematics To Web Design
Fibonacci02 in Applying Mathematics To Web Design
a sample PSD layout that is designed according to the Fibonacci sequence

Five Elements, Or Kundli Design

Kundlilayout in Applying Mathematics To Web Design
Kundlilayout02 in Applying Mathematics To Web Design
Fiveelements01 in Applying Mathematics To Web Design
Fiveelements03 in Applying Mathematics To Web Design
a sample PSD layout that is designed according to the Kundli design

Sine Wave Design

Sw01 in Applying Mathematics To Web Design
Sinewave01 in Applying Mathematics To Web Design
Sinewave02 in Applying Mathematics To Web Design
a sample PSD layout that is designed according to the Sine Wave design

Other Techniques

Rule of Thirds
Musical Logic
Learn more about music and mathematics in this Wikipedia article.
 blog it

Playing to learn math

Fun math games

Chemistry games

  • Learn element names, facts and symbols with Element Quiz
  • Learn to balance chemical equations with Classic Chembalancer
  • Algebra games

  • Learn to draw linear equations by finding points with the Line Gem 1 game.
  • clipped from www.mangahigh.com

    Basic Shapes to Advanced Geometry

    Ordering Decimals, Fractions & Percentages

    All of the incredible maths games on Mangahigh can be played for free!

    Playing to learn math?

    Playing to Learn Math? on Prezi

  • Wolfram|Alpha: Recalculating Teaching & Learning
  • Brightstorm’s Math Video Library
  • Compounding Fun with Vector TD
  • Prime Number Manipulatives
  • Chain Factor
  •  blog it

    Saturday, October 3, 2009

    Accessing Flex-Object via Javascript

    About :: Firebug 'is not a function'-Error
    Problem :: Call to function before object is fully loaded
    Solution :: Delay call until object available


    I wanted to embed a flex-object into a web-page and access it via Javascript with the purpose of setting/getting/managing so called 'local shared objects'.

    Everything worked fine during the tests, but in the live environment firebug1 threw me an error telling me that getLSO(), which is a function in my flex-object, is actually not a function. That was weird, because the test- and live-environments were exactly the same (same files, only in different folders).

    I have been struggling with this problem almost half a day. And now that the problem is solved, I decided to share my insight.
    I give you the code first; only the parts that are relevant to the topic at hand but enough that it sums up to a working example, keeping it clipped and clear. Then I'll describe the problem and the solution.


    The Code


    The flex-file, lso.mxml, looks essentially like this:

       1:  <?xml version="1.0"?>
       2:  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp()" >
       3:  <mx:Script>
       4:  <![CDATA[
       5:  import flash.external.*;
       6:  public var so:SharedObject;
       7:   
       8:  <!-- Determine, which functions will be accessible through external calls. -->
       9:  public function initApp():void {
      10:      if (ExternalInterface.available) {
      11:          ExternalInterface.addCallback("getLSO", getLSO);
      12:      }  
      13:  }
      14:  public function getLSO() :String {
      15:      so = SharedObject.getLocal("label");
      16:      return so.data.text;
      17:  }
      18:  ]]>
      19:  </mx:Script>
      20:  </mx:Application>
    Figure 1. lso.mxml

    The compiling of this file results in the file lso.swf2, which we embed in the file lso.html, directly after the body-tag, in the following way:

       1:  <body onLoad="initPage();">
       2:    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="" id="FlexObject">
       3:      <param name=movie value="lso.swf">
       4:      <embed play=false swliveconnect="true" name="FlexObject" 
       5:        src="lso.swf" quality=high bgcolor=#FFFFFF 
       6:        width="0" height="0" type="application/x-shockwave-flash" 
       7:        ....>
       8:      </embed >
       9:    </object >
      10:    <!-- Further HTML-Code -->
      11:  </body>
    Figure 2. lso.html :: Embedded Flex-bject

    The Javascript code to acsess this flex-object and call one of its functions, looks like the following:

       1:  <script type="text/javascript">
       2:  function getFlashMovieObject(movieName)
       3:  {
       4:    if (window.document[movieName]) 
       5:        return window.document[movieName];
       6:    if (navigator.appName.indexOf("Microsoft Internet")==-1) {
       7:      if (document.embeds && document.embeds[movieName])
       8:        return document.embeds[movieName]; 
       9:    }
      10:    else {
      11:      return document.getElementById(movieName);
      12:    }
      13:  }
      14:  function initPage() {
      15:    var userID;
      16:    var flexObject = getFlashMovieObject("FlexObject");
      17:    var lso = flexObject.getLSO();
      18:    if(lso != null) userID = lso;
      19:    else userID = 0;
      20:  }
      21:  </script>
    Figure 3. lso.html :: Javascript functions to access Flex-Object



    The Problem


    As said before, while testing there were no problems. After moving everything into the live-environment and removing all the redundant comments and alerts, firebug threw the following error:


    Figure 4. Firebug :: Error Message


    I had no clue why the function was suddenly not accessible anymore, since I didn't change anything essential. After some research and some experimenting I found out that the script worked fine when I called alert() prior to getLSO().

    To cut a long story short, it turned out that the function getLSO() was invoked before the swf-file was fully loaded, and hence was not available. The alert()-call gave the swf-file enough time to load.



    The Solution


    The function initPage() was being initiated after the page is fully loaded (see Fig.2, Line1). But apparently that does not ensure that the swf-file in the document is fully loaded as well.
    We couldn't find a way to determine the point in time/code where the loading of the flex-object is finished. I thought of calling the initPage() function with a certain time delay. This would be done like this:

       1:  <body  onload="setTimeout('initPage();', 1000);">
       2:  <!-- This will delay the execution for 1 second -->
    Figure 5. lso.html :: Fixed Time-Delay

    But that would not be an elegant solution, since the loading-time will differ from user to user, and we can't make sure that the time delay is enough for the slowest connection.
    We ended up using an additional Javascript function:

       1:  <script language="javascript" type="text/javascript">
       2:  function isLoaded() {
       3:    var fo = getFlashMovieObject("FlexObject");
       4:    try {
       5:      var lo = fo.getLSO();
       6:      initPage();
       7:    }
       8:    catch(err) {
       9:      setTimeout('isLoaded();',200);
      10:    }
      11:  }
      12:  </script>
    Figure 6. Time-Delay Until Object is Available

    This functions catches the error and, after a pause of 0.2 seconds, calls itself again. As soon as getLSO() is available, initPage() is called.
    Now let's replace line 1 in Fig.2 with the following:

       1:  <body onload="isLoaded();">


    and we're done...



    1 Highly recommended: Firebug for Firefox
    2 You may want to download the Flex 3.4 SDK (free), unzip it to a convenient location, and then use the compiler mxmlc.exe in the bin-folder.
    3 To format your code for your web-page, you may want to use this Formatter

    Friday, February 6, 2009

    I like coffee so much that I have tea for breakfast :-)

    One man's roller coaster history with coffee:
    "I like coffee so much that I have tea for breakfast: The first cup of the day in particular is so good that I’m afraid I won’t be able to properly appreciate it when I am half-asleep. Therefore, I celebrate it two hours later when I am fully conscious".

    Coffee

    Christoph Niemann - Coffee

    One man's roller coaster history with coffee.

    Christoph Niemann - Coffee
    I must have been 5 when I first discovered the taste of coffee, when I was accidentally given a scoop of coffee ice cream. I was inconsolable: how could grown-ups ruin something as wonderful as ice cream with something as disgusting as coffee?
    Christoph Niemann - Coffee
    When I was 10 I still hated coffee, but fell in love with the ritual of making coffee
    Christoph Niemann - Coffee
    At 17 I still suffered from coffee schizophrenia: I loved the concept of coffee, but resented the taste
    Christoph Niemann - Coffee
    When I was 21
    I would brew a gigantic pot of coffee around 9 a.m. to help us get through the day
    Christoph Niemann - Coffee
    I was focused less on taste and more on quantity and price
    Christoph Niemann - Coffee
    My inner accountant quickly convinced me to buy one of those little espresso machines
    Christoph Niemann - Coffee

    Here’s a chart that shows my coffee bias over the years.

    Christoph Niemann - Coffee
    I order large coffees, but stop drinking when the coffee gets too cold
    Christoph Niemann - Coffee
    Hot milk greatly improves the taste of coffee
    Christoph Niemann - Coffee
    When you are craving a beer
    coffee is the most disgusting
    Christoph Niemann - Coffee
    my personal choice: drip coffee with steamed milk
    Christoph Niemann - Coffee
     blog it