Mar 21 2009

Converting Optical Density of a Neutral Target into its RGB code value

Published by admin under color science

Converting Optical Density of a Neutral Target into its RGB code value

Well, the headline seems nerdy. Not really if you are into scanner world. This post it very much a knowledge sharing as I could not find anywhere in the net which says how to do the conversion. Not that it is difficult, but takes some understanding and head twitching to do the conversion.

To know what is Optical Density, refer to this wikipedia article . In layman terms, OD is a unit less measurement of  how much light passes through a sample.

Formula to know
OD_lambda = log_{10} O = - log_{10} T = - log_{10} left ({I over I_0} right )

O = the per-unit opacity
T = the per-unit transmittance
I0 = the intensity of the incident light beam
I = the intensity of the transmitted light beam

if you want a sample to have 50% transmittance, then OD of that sample is

OD (50%) =  -log(.50) = 0.3

A neutral target is one that has equal amount of RGB color coded in it. A OD 0.3 neutral target is one whose transmittance is 50%. Now you ask what is the RGB value of the OD 0.3 neutral target. If we consider 8 bit RGB value, then 0 stands for black and 255 stands for white. For 50% transmittance, then the value should be exactly half and it is 128 for R,G & B.

Now let us say you want to prepare a sample that has OD of 0.6. RGB value for OD 0.6 can be obtained as below

-log10(x) = 0.6
x = 10−0.6  ( Should be read as 10 to the power of -0.6 )
X = .25  ( This is 25% transmittance. )
Hence the RGB code will be ( .25 X 256 ) =  64 each ( i.e R=64, G=64,B=64)

Another example, OD of .08

-log10(x) = .08
x = 10−0.08  ( Should be read as 10 to the power of -0.08)
X = .83  ( This is 83% transmittance. )
Hence the RGB code will be ( .83X 256 ) =  212 each ( i.e R=212, G=212,B=212)

Comments Off

Mar 14 2009

Strong Password Generator & Verification Tools

Published by sethu under general

Strong passwords are paramount if you have to protect your online resources from being accessed by bad guys. However, you may not be sure if the password you use is strong enough. To check the strength of your password, please use the Microsoft Password Strength Checker.  Enter your password, and the site offers immediate feedback on the strength of the password. I would recommend if your password is weak, then try until you get something you can remember and as well strong.

Actually, it is not that difficult to choose something you can remember and at the same time it is strong. In general a strong password should be at least 8 characters wide and should be a combination of  small letters, capital letters, numbers and one of  printable special characters like ~!@#$%^&*()_+ …

One way to generate a strong password and yet easy to remember is to follow the below methodology.

Choose a name that you can remember. Lets us choose justin

Let us create a 9 character password using “justin” as the core

In unix world, ^ stands for beginning of a word/line, $ stands for the end of word/line

So first morphing of justin is ^justin$

Now we need to add at least  a capital letter. Let us choose “s” in “justin” to be capital letter.

So the second morphing is ^juStin$

Now we need to add at least a number. lets count the position of letter “s” in the word “justin”. it is in the 3 rd position. Please not in previous line we capitalized character “s”.  This is in a way helps your brain to remember that 3 rd character in the word “justin” needs to be captilized.

so the third morphing is ^ju3Stin$

This is good enough. Microsoft Password strength checker shows this as STRONG password. To make it even stronger, you need to increase the length to 14 characters and above.

If you are too lazy to generate your own strong password

Then you can use pwgen.net to create a strong password. But, it is not easy to rembember the password generated by this site.

If you really want a super strong password, then you cant beat GRC’s password generator.  This site is recommended if you are looking for a Wifi WPA pre-shared key.

Also, you can use one of the free tools available in the Net. Please be aware of any downloadable tools as it may be infested with spyware, adware or malwares.

Comments

Mar 07 2009

Script free pure CSS menu System

Published by sethu under Web2

Easy site navigation is paramount for users who are accessing a website to home-in on the information they need. Normally website navigation is provided by menu system that can be either horizontal or vertical. Most of the menus uses some kind of script ( javascript) to create a drop-down effect. I happen to bounce on Gibson Research Corporation’s script free CSS Menu and I was pleased the amount of thought that has gone into building the menus. As some of you may be aware that Steve Gibson’s www.GRC.com is know for “SheildsUp” port scanner service. 

If you are interested in knowing more about Pure CSS menu, then  I recommend to visit this link. Moreover, GRC has put the Pure CSS Menu in public domain and if you want it you can use it. 

Comments Off

Feb 28 2009

A new fish species named psychedelica –> movie shot of this new species

Published by sethu under Leisure, tidbits

This new fish species looks really alien. I was amazed how much variety we have in our oceans.  

                                             

Comments Off

Feb 14 2009

Perl script to do Dynamic DNS update for the domains hosted at NearlyFreeSpeech.net [NFS.N]

Published by sethu under general

If your domains are hosted at Nearlyfreespeech.net and if the  webserver for one of your sub-domains  is hosted on your home machine, then you need to update your sub-domain’s DNS info with the current IP address info. This is normally called as Dynamic DNS update. NFS.N provides a set of API’s to access  their DNS services to update the DNS information. I have created a simple perl script that does the Dynamic DNS update to NFS.N DNS servers.

How to use this script

1) Pre-requisites

Perl ( Perl 5 and above should work. Mine is Perl 5.8 )

Perl Modules:

WebService::NFSN;  LWP::Simple;  XML::Simple;  Data::Dumper;  Text::Trim;

You can install all the above mentioned modules via CPAN.

NFS.N Credentials

username ( This is the name you use to log into NFS.N website )

API auth Key. ( If you don’t have it , raise a secure support request at NFS.N support website. They will mail you the key )

2) Download the script into your home directory. The  script is available here

3) on the command prompt type, updateIP.pl username your-API-Auth-Key your-domain-name ttl_value name sub-domain-name type    A

( All the bold words as it is )

for example, your user name is jonny, your API auth key is XYSDGFGJHK , your domain name is jonny.net, ttl_value is 600 and sub-domain-name is home_server, then the command will be

updateIP.pl jonny  XYSDGFGJHK   jonny.net  600   name   home_server   type    A

4) You need to run this periodically. You can run a corn job that executes the above periodically. Recommended interval is 10 mins.

Acknowledgement

This script is based on a TTL_Value update script from C.J.Madsen. Infact, hs is the one who wrote Webservice::NFSN.

Additional Note:

NFS.N services requires that the time difference between your home server and its servers are not more than 5 secs. If it is , then the authentication step will result in error and hence you will not be able to update. The most reliable way to keep the time of your home server in sync with NFS.N server is to update your home server’s time using Network Time Protocol.  pool.ntp.org is a global , distributed NTP time servers that i use for keeping my server’s time in synch with NFS.N. And I do this once a day.

Here is the  command. You need to run this as root.

ntpdate  pool.ntp.org

Comments

Jan 31 2009

Eclipse and SVN

Published by sethu under subversion

If you like to know how to use SVN from Eclipse  refer to the following IBM developer link.  This article provide details on how to install subclipse ( SVN plug-in for eclipse) and create a new project. Also touches on deleting as well. This article assumes that you access your source repository over  http. But you can also access your repository over svn+ssh as well. So while you follow the article, replace http://… with the following if you have to access your repository over SVN+SSH:

svn+ssh://username@host_ip_address/path/to/repository

Let us assume that:

username = ben, host_ip_address=192.168.1.2, repository path  = /home/ben/source

then you would enter

svn+ssh://ben@192.168.1.2/home/ben/source

See the image below that show where to replace http:// with svn+shh://

Comments Off

Next »