Thursday, August 25, 2011

Ninite: For automatic multiple program installation

I had to re-install the operating system on my laptop recently. Leading to me wanting my entire list of frequently used programs reinstalled. This was going to be a pain. Amongst other things, I knew I needed the following programs.

Firefox
Thunderbird (Mozilla email client)
Keepass
Pidgin (Multi-protocol IM client)
Notepad++
WinSCP
PuTTy
Paint.Net
Inkscape
VLC
TrueCrypt
CutePDF (Standalone PDF printer)
Foxit PDF Reader

and more...
Installing each separately is a pain. (I've done it in the past) I remembered this post [1] on Lifehacker. Hence, I decided to give Ninite a chance.

Ninite is a bulk-installer. It automates the chore of downloading programs from their websites and then installing them. So, I went to their website and downloaded a custom installer for me. (The site gives you a list of programs available, you choose the programs you want, then the site gives you a smaller installer utility that downloads and installs the programs for you.)

Here's what I saw as it was installing:


Security paranoid folks might wonder what the implications are. There are risks - since you don't know what else this tool is installing for you. I had my anti-virus and firewall watch the application carefully and I didn't see it complain, so I guess I am good.

I will be suggesting this to people who want to make the re-install of applications painless on Windows machines. Ubuntu and other Linux distributions already do this with their package mangers and "software centers". Until this tool came along, either rolling your own OS installation disc with the other software slipstreamed into the disc or having a cloned image of a drive was the only way to have this sort of automated installation on a home machine. (Windows machines on a domain with a domain controller can have all sort of fancy features including a start up script that installs stuff from the server.)

[1] http://lifehacker.com/5388408/ninite-bulk+installs-great-free-windows-apps


Adding time servers to Windows XP

Windows XP by default allows you to configure it to automatically keep your system clock synchronized to two servers (time.windows.com and time.nist.gov). How about if you want to add another server to the list?

There are two ways to do this.

a) If you are logged in as an Administrator, you can directly type in the name of the server into the Internet Time tab (see image below, just type in the name of the server into the Server: box.) (ntppub.tamu.edu is the public facing NTP server from Texas A&M University)


b) Alternatively, you can add a couple of registry entries. [BEWARE! MODIFYING THE REGISTRY IS A RISKY BUSINESS, DO IT AT YOUR OWN RISK]

To make this happen: [1]
  • Open the Registry Editor (Start > Run> regedit.exe)
  • Navigate to to the following entry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current
    Version\DateTime\Servers. Click on the "Servers" entry to activate it on the right side.
  • You should see a list of servers (time.windows.com and time.nist.gov) listed in the window to the right.
  • Right-click in the window the right and select New > String value.
  • Name the value 3 (one more than the last # present) , and press [Enter] twice to open the "Edit StringValue" dialog.
  • Type the address of the NTP server into the textbox named Value Data, and click OK.
  • Close the Registry editor.
  • Now if you look at the Internet Time Tab, you should see your new time servers listed there.

    [1] http://www.techrepublic.com/article/tech-tip-add-internet-time-servers/5109818

    Monday, June 06, 2011

    MikTex and TeXniC center

    When using TeXniC center 1.0 on Windows-7 with MikTeX, look for the do
    the following to solve most issues especially related to BibTex acting
    up or PDF LateX complaining about GUI framework.

    a) Set packages to be updated automatically (Miktex>Settings)
    b) Install package 'translator' if you graphics in your PDF.
    c) Remove all languages you don't use Miktex>Settings>Languages.
    d) Leave MikTex to be in A4 size and use the Ghostscript/dvips settings
    to scale to Letter sized paper.
    e) Update MikTeX as soon as you install it.

    Tuesday, March 29, 2011

    Firefox-4: Prevent Tab scrolling / tabMinWidth not working / Tab width setting

    Firefox-4 does not support the configuration option >> browser.tabs.tabMinWidth [1]

    In Firefox 3.6 and older, you could set this value to 0 in about:config to prevent the scrolling of tabs if you opened up a large number of tabs.

    To get this to work in Firefox-4, you need to make some changes to your userChrome.css file [2]. Or you can install the Custom Tab Width Extension [3]

    In my XP installation the userChrome.css file was in
    C:\Documents and Settings\<userName>\Application Data\Mozilla\Firefox\Profiles\<randomString>.default\chrome\userChrome.css

    Open this file, add the below lines

    /*--start below this line--*/
    /*Added to re-enable min tab width=0 in Firefox-4 */
    .tabbrowser-tab:not([pinned]) {
        min-width: 1px !important;
    }
    /*--stop above this line--*/

    Restart Firefox and your tab behaviour should be back to the way it was.

    [1] https://bugzilla.mozilla.org/show_bug.cgi?id=574654
    [2] http://blog.miranda.or.at/mozilla/firefox-4-and-minimum-maximum-tab-width
    [3] https://addons.mozilla.org/en-us/firefox/addon/custom-tab-width/

    Saturday, February 19, 2011

    Embed all fonts in PDF

    The command line arguments to embed ALL fonts in a PDF document.
    (Especially required to pass IEEE Explore PDF Check)

    Place the following in the arguments to ps2pdf:

    -sPAPERSIZE=a4 -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite
    -dPDFSETTINGS=/printer -dMaxSubsetPct=100 -dSubsetFonts=true
    -dEmbedAllFonts=true -sOutputFile="%bm.pdf" -c save pop -f "%bm.ps"


    where "-dPDFSETTINGS=/printer -dMaxSubsetPct=100 -dSubsetFonts=true
    -dEmbedAllFonts=true" is the specification to tell ps2pdf to embed
    everything.


    See: http://people.engr.ncsu.edu/txie/publications/writingtools.html for
    more information

    Also, see my previous post here :
    http://suneilmohan.blogspot.com/2010/01/miktex-texniccenter-us-letter-sized.html

    Saturday, January 22, 2011

    CM19a X10 Transceiver on Ubuntu 10.04

    The CM19a is a USB based X10 Transceiver. This is a modified version of
    the more popular CM11/CM11A/CM15/CM17 versions all of which have serial
    interfaces

    ** All of this information is from :
    http://www.cuddon.net/search/label/CM19a ** I'm only posting it here so
    that I can find it again easily

    1. The Python driver written by Andrew (www.cuddon.net), requires
    sudo/root permissions. To make the USB driver work for any user, do the
    below:

    Add this to /etcudev/rules.d/cm19a.rules
    #Allow all users to read and write to the CM19a X10 Transceiver (USB)
    SYSFS{idVendor}=="0bc7", SYSFS{idProduct}=="0002", MODE="666"

    2. Blacklist two modules (in 10.04) so that the CM19a is seen by the system:

    Edit using vim or nano /etc/modprobe.d/blacklist.conf

    Add the following two lines at the bottom of the file:

    blacklist lirc_atiusb
    blacklist ati_remote

    Reboot the machine so that the modules are unloaded and the udev rules
    are updated at the same time.

    Visit Andrew's site for Python drivers for the CM19a
    http://www.cuddon.net/search/label/CM19a

    Monday, November 08, 2010

    Test Post?

    This is a test post to see if I can selectively lock down a post on this blog.

    Tuesday, October 26, 2010

    Random musing

    I think its high time I embraced the enterprise e-markets in order to
    monetize out-of-the-box mindshare that can enable the transition to
    efficient interfaces that empower the best-of-breed supply-chains.

    Friday, September 17, 2010

    Tuesday, August 17, 2010

    CUDA 3.1 on Ubuntu 9.10 for Tesla c870

    CUDA toolkit version 3.1 on Ubuntu 9.10 : [32 bit]
    For Tesla c870 with Intel Onboard video (Integrated Graphics)

    This is based heavily on the information from here:
    http://forums.nvidia.com/index.php?showtopic=171590

    [If you want CUDA 3.1 to run on Ubuntu 10.04, follow the above link to the Nvidia forums]

    Note : Windows XP does not like dual video cards from different manufacturers, I believe Vista and later do support it - hence I had to goto Ubuntu.

    You will need:
    a) Ubuntu 9.10 (This is the latest supported Ubuntu package from NVIDIA
    for CUDA 3.1)
    b) A compatible card that supports CUDA. I'm using the Tesla c870 in this case.

    My requirements:
    1. The Tesla cards do not provide Video Out - hence the card needed to work in conjunction with the onboard Intel video card.
    3. Multiple users need to be able to compile and run the code, so it needs to get installed to a commonly accessible folder

    **Installation and Configuration**

    ==Part A==Getting Started==

    1. Install Ubuntu.
    2. Run the Update Manager and get all the updates to date.
    3. Get g++ installed using "sudo apt-get install g++" (w/o quotes)

    This will install g++ compiler for gcc-4.4.1 (which is the default for Ubuntu 9.10)

    ==Part B == Installing the driver==

    Get the latest NVIDIA Developer driver from
    http://developer.nvidia.com/object/cuda_3_1_downloads.html

    Version 256.40 or later. Earlier versions will not work. (Ubuntu 9.10 comes with 175 and 195 in the restricted driver set, these did not work for me)

    When I wrote this, the driver was packaged in a file called
    devdriver_3.1_linux_32_256.40.run

    You will need to install this after stopping the gdm (Gnome Desktop
    Manager). To do this:

    a) From the desktop, press CTRL+Alt+F1 - this should take you to a tty prompt.
    b) Login with your username.
    c) Type in "sudo /etc/init.d/gdm stop" (w/o quotes) to stop the gdm.
    d) Wait 1 minute while the X server unloads from memory.
    e) To launch the installation type "sudo ./devdriver_3.1_linux_32_256.40.run" (w/o quotes).
    f) The installation should start - accept all the default options and you should be good to go.

    If step (f) does not start, make sure the file is executable (Type "chmod +x devdriver_3.1_linux_32_256.40.run" (no quotes) at the command prompt to make it executable)

    g) Once the driver has finished installation, reboot the system. This can be done easily from the command line - use the command - "sudo reboot"

    h) Ubuntu should reboot and bring you back to the Gnome Desktop at this point. Login normally.

    ==Part C==Installing the Toolkit==

    1. Now get the Toolkit from the CUDA site. When I wrote this, the toolkit was in a package called cudatoolkit_3.1_linux_32_ubuntu9.10.run

    2. Before running this, there are a couple of packages you need to get. Otherwise during the make process, you will hit errors.

    3. Open Terminal, and get the following packages
    #(Fixes "cannot find -lXi" error)
    * libxext-dev
    * libxi-dev
    * x11proto-xext-dev

    #(Fixes "cannot find -lXmu" error)
    * libice-dev
    * libsm-dev
    * libxt-dev
    * libxmu-headers
    * libxmu-dev

    #(Fixes "cannot find -lglut" error)
    * freeglut3-dev
    * libglut3-dev

    You can get all of these using "sudo apt-get [package-name]" (w/o quotes) where package-name is one of the above. Or you can use one large apt-get statement and get all of them in a single command like below.

    "sudo apt-get install libxext-dev libxi-dev x11proto-xext-dev libice-dev
    libsm-dev libxt-dev libxmu-headers libxmu-dev freeglut3-dev libglut3-dev"

    (no quotes, remove any linebreaks that the HTML inserts)

    You may not need all of them and some of them may already be installed on your machine depending on what you other software you have installed.

    4. Once you have the above, install the CUDA toolkit.
    4.a. Command = "sudo ./cudatoolkit_3.1_linux_32_ubuntu9.10.run" (w/o quotes)
    4.b If it doesn't execute make sure it is executable, using the command "chmod +x cudatoolkit_3.1_linux_32_ubuntu9.10.run"

    5. Accept the default installation path /usr/local/cuda, or change it as you wish, but keep track of it

    6. Let it run to completion. It will exit with a message saying that the installation was successful as well as messages to add certain PATHS to your profile

    **7. Open the GLOBAL .bashrc file (located as /etc/bash.bashrc) and add the two path statements listed below to the end of the file. You will have to be root to edit /etc/*, so open the file using the sudo command with your favorite text editor such as "sudo vi /etc/bash.bashrc"

    export LD_LIBRARY_PATH=/usr/local/cuda/lib;
    export PATH=$PATH:/usr/local/cuda/bin/;

    (Single lines, terminate with a semicolon, no space on either side of the = signs, no line breaks.)

    This is important for global use. If you don't want it globally, set these two statements inside your .bashrc (~/.bashrc).

    8. Back at the command line, type in "sudo source /etc/bash.bashrc" to read in the updated paths. Test it to make sure using "echo $LD_LIBRARY_PATH" it should return the above path.

    == Part D == Installing the SDK code samples ==

    1. Get the SDK code samples from NVIDIA's site. When I wrote this, the SDK was inside a file called gpucomputingsdk_3.1_linux.run
    2. Run it "sudo ./gpucomputingsdk_3.1_linux.run". Again do the chmod +x thing if it is not executable.

    3. DO NOT ACCEPT the default install path. The default install path is something like "~/NVIDIA_COMPUTING_SDK" which will put it in your home-directory. This is a bad idea if you want global access. Make it something accessible to all, I used "/opt/cudasdk".

    4. It will ask you for path to CUDA, if you installed cuda above in Part C step-5 to the default part, it will be in /usr/local/cuda

    5. Let it run till it completes.

    6. Once it completes, you need to compile the code samples for your machine. To do this navigate to the SDK path (path you specified in Step-3 of Part D). Then navigate to the subfolder "C". You should see a Makefile. To make the examples, run "sudo make"

    7. The make process may throw up a bunch of warnings, but all files should make without errors. If there were errors, see if all the packages you should have installed in Part-C, Step-3 are present.

    8. If you have to run make again, always do a "make clean" before running make.

    9. At this point, you have almost got everything to work. If you have a CUDA enabled graphics card, you should be ready to go. If you are using a Tesla card like I am, you need a few more steps.

    == Part E == Getting the Tesla card available on boot ==

    1. Because the Tesla card is another video card, you need to make it get created as a node in /dev/ on each boot. (If you are using a graphics card, you don't need this, since it will be present since it is being used).

    2. Make a file scriptname.sh (I call it cuda_start.sh) with the following (remove any line breaks that the HTML inserts) __Update the entry Provides: to match the name of the file__

    ===begin copy below this====

    ### BEGIN INIT INFO
    # Provides: cuda_start
    # Required-Start: $syslog
    # Required-Stop: $syslog
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Mounts CUDA device as a node in /dev
    # Description: CUDA card requires entry in /dev, force create since NVIDIA is not video card
    ### END INIT INFO

    modprobe nvidia
    N3D=`/usr/bin/lspci | grep -i NVIDIA | grep "3D controller" | wc -l`
    NVGA=`/usr/bin/lspci | grep -i NVIDIA | grep "VGA compatible controller" | wc -l`

    N=`expr $N3D + $NVGA - 1`
    for i in `seq 0 $N`; do
    mknod -m 666 /dev/nvidia$i c 195 $i
    RETVAL=$?
    [ "$RETVAL" = 0 ] || exit $RETVAL
    done

    mknod -m 666 /dev/nvidiactl c 195 255

    ===end copy above this====

    3. What the script does is to make a node in /dev. This is based off the code sample I found from user (mfatica) here : http://forums.nvidia.com/index.php?showtopic=49769&st=0&p=272085&#entry272085

    4. Place this inside /etc/init.d/ so that it can be called by init when starting up. If you don't want to do this, you'll have to call the script everytime you reboot the machine.

    5. If you are placing it in /etc/init.d, then
    5.a Make it executable (chmod +x scriptname.sh)
    5.b Run update-rc so that it calls the script as
    "sudo update-rc scriptname.sh defaults"

    Method from here
    http://embraceubuntu.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/

    ==Part F== Global access and making it all work

    We are almost there, a few final touches:
    Remember I wanted it to be global access. I have a group on my machine called 'examplegroup' - all the members of whom I want to give access to the CUDA sdk, so I need to set appropriate permissions.

    1. Navigate to /usr/local.
    2. Set group to examplegroup using the chgrp command
    "sudo chgrp -R examplegroup CUDA" (w/o quotes)

    Sets the group name of the folder CUDA (and recursively everything inside it because of the -R) to examplegroup/

    3. Give the group full read-write permissions to the group
    "sudo chmod -R g=rwx CUDA"
    (w/o quotes, the g=rwx means to assign permission r(read), w(write), x(execute) to the group, -R flag for recursive )

    4. Navigate to where you installed the SDK (Part-D, Step-3, for me it is /opt/cudasdk)

    cd /opt/cudasdk

    5. Set group to examplegroup
    "sudo chgrp -R examplegroup *"

    (w/o quotes, the * means everything in the folder, the -R makes it recursive)

    6. Give the group read/write/execute permissions
    "sudo chmod -R g=rwx *" (w/o quotes, again * = everything, -R = recursive)

    7. You are done!

    8. Logout and reboot the machine. This is so that your init script gets called and your device comes up. (You don't need to do it, you can source the script without rebooting but I'm not going into that)

    == Part F == Test installation ==

    1. When you reboot and come back, navigate to the SDK folder and then to C/bin/linux/release [For me that was cd /opt/cudasdk/C/bin/linux/release]

    2. Run the deviceQuery script (./deviceQuery) You should get some glorious output

    ==snippet of my deviceQuery output==
    ./deviceQuery Starting...

    CUDA Device Query (Runtime API) version (CUDART static linking)

    There is 1 device supporting CUDA

    Device 0: "Tesla C870"
    CUDA Driver Version: 3.10
    CUDA Runtime Version: 3.10
    CUDA Capability Major revision number: 1
    CUDA Capability Minor revision number: 0
    Total amount of global memory: 1610416128 bytes
    Number of multiprocessors: 16
    Number of cores: 128
    Total amount of constant memory: 65536 bytes
    Total amount of shared memory per block: 16384 bytes
    Total number of registers available per block: 8192
    Warp size: 32
    == end snippet of deviceQuery

    3. Run a benchmark test ("./nbody -benchmark -n=100")
    ==nbody output==

    Run "nbody -benchmark [-n=]" to measure perfomance.
    -fullscreen (run n-body simulation in fullscreen mode)
    -fp64 (use double precision floating point values for simulation)

    > Windowed mode
    > Simulation data stored in video memory
    > Single precision floating point simulation
    > Compute 1.0 CUDA device: [Tesla C870]
    100 bodies, total time for 10 iterations: 0.326 ms
    = 0.307 billion interactions per second
    = 6.133 single-precision GFLOP/s at 20 flops per interaction
    ==end nbody output==

    4. There is no step.4.

    At this point your installation is ready to go.

    Good luck!

    === Update : Apr 21, 2011 ===
    An unexpected power outage caused the card to stop working. On rebooting, the card refused to run deviceQuery and complained of a potential mismatch between the API and the Runtime library.

    After lots of debugging with the help of my colleagues and the department IT folks, we traced it to a corrupted driver package. The solution was to re-install the driver such that it overwrites the existing installation. To do this, follow Part-B "Driver Installation" again step-by-step and it will reinstall the driver for you.
    You must do this step from a local console. Part-B driver installation cannot be reliably done from a remote SSH login.

    Thursday, June 10, 2010

    Viewing an exception backtrace using gdb/dbx

    GDB is the GNU Project Debugger.
    You can use it to find out why/where a program caused an exception that
    caused the OS to perform a core-dump.

    GDB requires that you compile with the gcc -g flag (include symbols) to
    get useful information. If you complied without the -g flag, the core
    dump will not be very useful to you.

    (If you have the source file, you can recompile once more with the -g
    flag, then run gdb against the new executable and the old core dump file.)

    Presuming you have complied file.c into myfile with the -g flag and
    running it created a core dump named 'core'

    Do:
    $> gdb myfile core

    This will start GDB and read in 'myfile' and 'core' and process it

    At the gdb prompt, type bt (for backtrace)
    (gdb)$ bt

    This will walk you backward through the stack trace showing you where
    the exception that caused the OS to abort and cause the core-dump. You
    should see a line at the end of the output identifying which line of
    source code caused the abort.

    *******

    On solaris, you can also use dbx. Run it as:

    $> dbx myfile core

    The opening screen will contain the backtrace by default.

    Tuesday, May 04, 2010

    Nullsoft Beep

    Nullsoft Beep is an application that makes your computer sound like
    computers sound in the movies. It requires Windows 95 or later with
    DirectX 3 or later.
    features

    * Excitement-Generation Technology[tm].
    * Hyper-Auto-Blips[tm] on screen updates and keyboard input.
    * Variable low hum dependent on system CPU load.
    * System tray icon.
    * Install and uninstall support.
    * Source code included!

    http://www.nullsoft.com/free/nbeep/

    Wednesday, January 20, 2010

    MikTeX, TeXnicCenter, US Letter sized paper and IEEETran.cls

    IEEETran.cls for the Computer Society Conferences requires a 1 inch
    margin on all sides.

    The default configurations for TeXnicCenter do not provide the proper
    margins. You will probably get a top margin that is too wide (1.7 inches)

    TeXnicCenter along with MikTeX, has the default paper size set to A4. To
    get letter size, you must fix two sections in the build profiles.

    This is for the default LaTeX > PS > PDF build profile. Modify as required.

    Inside TeXnicCenter:
    Menu Build > Define Output Profiles
    Select the profile LaTeX>PS>PDF

    On the right side, under Postprocessor tab,
    1. Select DviPs by clicking on it.
    2. Under the Arguments section, add the argument "-t letter" (w/o the
    quotes)

    3. Now select Ghostscript from the above list
    4. Inside the arguments, change the argument "-sPAPERSIZE=a4" to
    "-sPAPERSIZE=letter"

    Click OK and close out the menu.
    Now rebuild your latex document, your margins shouls be accurate.

    To test your Latex setup, you could use the testflow from Michael Shell
    here: http://www.michaelshell.org/tex/testflow/

    References:
    http://amath.colorado.edu/documentation/LaTeX/reference/faq/a4.html
    http://www.michaelshell.org/tex/ieeetran
    http://www.linuxquestions.org/questions/linux-software-2/ps2pdf-bounding-box-and-page-size-problem-454441/

    Saturday, October 31, 2009

    Daylight Savings Time

    Spring "Spring Forward" > Move clocks forward - lose one hour of time
    Fall "Fall Back" > Move clocks backward - gain an hour of time.

    Thursday, October 22, 2009

    Forward references in Verilog

    Verilog supports forward references in an odd/different manner.

    If you instantiate a module with port connected to a signal line that
    you have not declared, Verilog will instantiate a one-bit wire for you.
    (and not complain during compile time). This is also true for wrongly
    spelled wire names.

    If you later attempt to declare the same wire, verilog will complain of
    double-declarations.

    You can get around this by declaring at the top line of every file
    `default_nettype none . This will force verilog to flag all undeclared
    wires.

    see this thread for more information on this:
    http://newsgroups.derkeiler.com/Archive/Comp/comp.lang.verilog/2009-01/msg00023.html

    Part select in Verilog

    Verilog allows you to declare the ranges of wires of components in
    either increasing or decreasing order (0:n] or [n:0].

    However, all references in a given system have to follow that same order
    - regardless of whether it is a part-select, non-indexed assignment(s) etc.

    Sunday, October 18, 2009

    New homepage template

    I have changed the template of my homepage on the university site. My
    old template had too much wasted white space down the center for most
    content. This template looks more efficient in use of space.

    Sunday, September 20, 2009

    View PDF contents in Vim

    From http://vim.wikia.com/wiki/Open_PDF_files

    To open a PDF file (in readonly mode) add the following lines to your .vimrc

    autocmd BufReadPre *.pdf set ro nowrap
    autocmd BufReadPost *.pdf silent %!pdftotext "%" -nopgbrk -layout -q
    -eol unix -

    (remove any line breaks, the second autocmd entry is one continuous line
    all the way to the "unix -" statement)

    Sunday, August 30, 2009

    Fourteen billion years ago expansion started..Wait...

    Our whole universe was in a hot dense state,
    Then nearly fourteen billion years ago expansion started. Wait...
    [pause momentarily, then quickly]

    The Earth began to cool,
    The autotrophs began to drool,
    Neanderthals developed tools,
    We built a wall (we built the pyramids),
    Math, science, history, unraveling the mysteries,
    That all started with the big bang! (bang!)

    The above is the first set of lyrics for the theme song of the TV show
    "The Big Bang Theory"
    http://www.lyricstime.com/barenaked-ladies-the-big-bang-theory-lyrics.html

    Two theme songs

    Theme song for "How I met your Mother"
    Group : "The Solids"
    Song : "Hey Beautiful"

    For the full album, the theme song clip starts at 3:08.
    Details here: http://www.howimetyourblog.com/theme-song/

    Youtube link : http://www.youtube.com/watch?v=SowWTahdb8Y
    ---
    Theme song for "Big Bang Theory"
    Group : "Barenaked ladies"
    Song : "Big Bang Theory Theme"

    Show Page from Wikipedia :
    http://en.wikipedia.org/wiki/The_Big_Bang_Theory_(TV_series)

    Youtube link: http://www.youtube.com/watch?v=Aym8_S3BXKw

    Tuesday, August 25, 2009

    Breakfast?

    2 Waffles + Maple Syrup
    2 Small Chicken Nuggets
    1/2 Glass of Unsweetened Orange Juice
    1 Medium sized Banana
    1 Tall glass of Water at room temperature

    Tuesday, August 18, 2009

    The search for zero

    On Google, the search for '0' produced 9,170,000,000 results in 0.10
    seconds.

    Sunday, August 09, 2009

    Ascii Cats

    Cats and other felines drawn in Ascii Art format:
    http://www.xmission.com/~emailbox/ascii_cats.htm

    Saturday, July 11, 2009

    Ceiling function-

    Ceiling functions symbols are present in Unicode under the font 'Symbol' .
    Font: Symbol
    Character Code: 233 (Open) ⎡ Unicode: U+23A1, 250(Close) ⎤ Unicode: U+23A4

    Friday, July 03, 2009

    Tweet from the Windows Command Line

    I cobbled together two tiny scripts in about ~30 minutes - that allows me to post tweets to Twitter from the Windows XP command line.

    My requirements for the setup were:
    a) I should not have to install yet-another-piece of software just to post to twitter. (There are tons of them for download on almost every possible platform)
    b) I'd like to be able to tweet from the command line.
    c) I want to know what's happening in the code.
    d) Since I have perl installed, if I could use it, even better.

    So I went to CPAN and looked for Twitter related stuff. Found a lot of packages. I ended up using the Net::Twitter::Lite package in a perl script.

    This caused one small issue, running the perl script required that I type in perl scriptname "message" to post to twitter. If I could compress it to just AppName "Message" that would be perfect.

    To fix this, I used a Windows Batch file (.bat) to encapsulate the script and pass it the message.

    If you want use it, you need two files, (twitterpost.pl and tweet.bat), let me know if you want to look at the source.

    Friday, June 26, 2009

    Fixing a Yahoo Widget

    I managed to fix a bug in a certain Yahoo Widget.
    I am a fan of Yahoo Widgets for their clean look and generally good performance.

    One particular widget has been a favorite of mine for sometime, because it does one task extremely well. However, it had one flaw. To display the text color correctly, it seem to rely on a set of deprecated Unix system calls. The bug/error was manifested when you tried to change the text color. The only text color it supported was Black _IF_ you did NOT have the Yahoo Unix Utilities installed.

    Today, I downloaded the widget and then spent some time reading around the Yahoo Widget developers' section. The reference manual allowed me to find the valid replacement code. It was a two line fix. Remove one line of an old system call then add two lines of code to implement the new API call.

    Since Yahoo widgets are just a repackaged compressed/zip file, extracting the code, changing the command repackaging it was simple. :) I was done in <20 minutes. I now have a working widget, that does NOT depend on the Yahoo Unix Utilities. Yay!

    Thursday, June 25, 2009

    Cosmos decommissioning announcement

    COSMOS, the ALTIX 3700 128-cpu symmetric multiprocessor and at one time
    our computational flagship, will be retired in mid-June this year. We
    urge current users to port their codes to HYDRA as soon as practicable
    and to back up all valuable files not residing in their home
    directories. Because COSMOS has not been under hardware or software
    maintenance for the last three years, a repair from a hardware failure
    may just be too costly to afford. Supercomputing Facility analysts are
    always available to help with with the transition to HYDRA.

    By its retirement, COSMOS will have capped five and a half years of
    extremely reliable (99.9% uptime) operation. It remains the favorite of
    many users and the only system on campus with large enough RAM (128GB)
    to accommodate serial jobs that require large amounts of it . Chemistry
    has expressed interest in assuming control and administration of COSMOS
    and plans to welcome users from other areas. We will keep our users
    posted on any relevant developments.

    ---
    Dear COSMOS users:

    The system will be powered off at 9 AM of June 29, 2009. Thereafter, the
    Chemistry department will take over its operation. This will be the
    LAST notice about the decommissioning of COSMOS.

    The Facility will delete all user data from the system right before
    power off. Since COSMOS is not under maintenance, the resumption of its
    operation, much less a prompt one, is not a certainty. Although we have
    every expectation that the transfer will be smooth and uneventful, we
    cannot exclude misadventures. The latter may even include junking it
    because of high repair costs.
    ----

    Yahoo and Pidgin

    Sometime in June 2009, Yahoo modified their IM authentication protocols.
    If you are running Pidgin 2.5.6 (www.pidgin.im/) or older, and having
    issues connecting, updating to 2.5.7 will fix the issue.

    [This is for WinXP-SP3]

    Tuesday, June 23, 2009

    SCSI is not magic

    "SCSI is *not* magic. There are *fundamental* *technical* reasons why you
    have to sacrifice a young goat to your SCSI chain every now and then."
    -- John F. Woods

    Saturday, June 20, 2009

    Learn with BOOK

    LEARN WITH BOOK



    - R. J. Heathorn

    A new aid to rapid - almost magical - learning has made its appearance.Indications are that if it catches on all the electronic gadgets will be so much junk.

    The new device is known as Built-in Orderly Organized Knowledge. Themakers generally call it by its initials, BOOK.


    Many advantages are claimed over the old-style learning and teaching aids on which most people are brought up nowadays. It has no wires, no electric circuit to break down, No connection is needed to an electricity power point. It is made entirely without mechanical parts to go wrong or need replacement.

    Anyone can use BOOK, even children, and it fits comfortably into the hands. It can be conveniently used sitting in an armchair by the fire.

    How does this revolutionary, unbelievably easy invention work? Basically BOOK consists only of a large number of paper sheets. These may run to hundreds where BOOK covers a lengthy programme of information. Each
    sheet bears a number in sequence so that the sheets cannot be used in the wrong order.

    To make it even easier for the user to keep the sheets in the proper
    order they are held firmly in place by a special locking device called a 'binding'.

    Each sheet of paper presents the user with an information sequence in the form of symbols, which he absorbs optically for automatic registration on the brain. When one sheet has been assimilated a flick of the finger turns it over and further information is found on the other side.

    By using both sides of each sheet in this way a great economy is effected, thus reducing both the size and cost of BOOK. No buttons needto be pressed to move from one sheet to another, to open or close BOOK, or to start it working.

    BOOK may be taken up at any time and used by merely opening it. Instantly it it ready for use. Nothing has to be connected or switched on. The user may turn at will to any sheet, going backwards or forwards as he pleases. A sheet is provided near the beginning as a location finder for any required information sequence.

    A small accessory, available at trifling extra cost, is the BOOKmark. This enables the user to pick up his programme where he left off on the previous learning session. BOOKmark is versatile and may be used in any BOOK.

    The initial cost varies with the size and subject matter. Already a vast range of BOOKs is available, covering every conceivable subject and adjusted to different levels of aptitude. One BOOK, small enough to be held in the hands, may contain an entire learning schedule.

    Once purchased, BOOK requires no further upkeep cost; no batteries or wires are needed, since the motive power, thanks to an ingenious device patented by the makers, is supplied by the brain of the user.

    BOOKs may be stored on handy shelves and for ease of reference the
    programme schedule is normally indicated on the back of the binding.

    Altogether the Built-in Orderly Organized Knowledge seems to have great advantages with no drawbacks. We predict a big future for it.



    -------------
    Found on slashdot :http://slashdot.org/comments.pl?sid=1276127&cid=28404637

    Monday, June 15, 2009

    Twitter

    So I signed up for the Twitter bandwagon this morning. In classic
    fashion, I went for the one username that has been mine for so long, my
    full name :P Nothing else I tried was available! (honest!)

    If you want to follow me on twitter, here's the relevant link ->
    http://m.twitter.com/suneilmohan

    Thursday, June 11, 2009

    Punching bag violence

    "Did you know a punching bag is hit somewhere in the world every 10
    seconds? End violence towards punching bags now."
    -- STKinTHEmud @ the PHD Forums

    Tuesday, April 21, 2009

    Cat and Mice

    Person A: (talking about network data cables) The largest danger to
    cable longevity remains mice...
    Person B: Any category of "cat" can certainly help with that...


    (Cat 3, Cat-5, Cat-5e, Cat-6, Cat-6a ... are all types of network
    cables- the one you plug into your laptop / router is generally Cat-5)


    [Seen on slashdot]

    Monday, March 02, 2009

    Thunderbird about:config

    Thunderbird, the email client from Mozilla stores its preferences the
    same way as the Firefox browser.
    In Firefox, if you want to change advanced configuration settings, you
    can get to this page, by typing in about:config into the address bar.

    So how do you do that in Thunderbird which has no 'address bar' ?
    Some research on Google found me the answer:

    Thunderbird's about:config can be reached by navigating as follows.

    1. Open Thunderbird,
    2. Goto Tools>Options>Advanced>General
    3. At the bottom of this tab, is an entry that says "Advanced
    Configuration" and has a button to the right called "Config Editor".
    4. Click on Config Editor to launch the Thunderbird editon of about:config

    Sunday, March 01, 2009

    My fortune of the day

    I logged into Orkut this evening and found this message greeting me.

    Today's fortune:
     The guy who reads your fortune is not feeling well. We hope you are.

    :D


    Thursday, February 19, 2009

    Whitespace

    Whitespace sensitive languages are evil.

    Saturday, February 14, 2009

    1,234,567,890 seconds since the Epoch ...

    At 23:31:30 UTC on February 13th, 2009, it was 1,234,567,890 seconds since the Unix Epoch

    In Unix world, the calendar starts on Jan-1,1970 and Unix systems compute time since the epoch.[5]

    The system call, 'gettimeofday()'- returns the number of seconds since the Epoch, which is defined as Jan-1,1970.
    [http://www.opengroup.org/onlinepubs/000095399/functions/gettimeofday.html]

    As was pointed out on Slashdot,([1][4]) if you want to be really precise about it, you would figure out that Unix time does not take into account leap seconds. Therefore Feb-13,2009 @23:31:30 UTC is not exactly 1,234,567,890 seconds from Jan-1, 1970.

    To be precise, Feb-13,2009 @23:31:30 UT1 is 1,234,567,890 seconds from Jan-1, 1970 See http://en.wikipedia.org/wiki/Universal_Time for an explanation of what UT1 is and how it differs from UTC.[2]

    People across the globe celebrated this time by having party and such. See the coordination link below[3]

    Possibly interesting further reading :

    [1]http://entertainment.slashdot.org/article.pl?sid=09/02/13/1534240
    [2]http://en.wikipedia.org/wiki/Universal_Time
    [3]http://www.1234567890day.com/
    [4]http://entertainment.slashdot.org/comments.pl?sid=1127059&cid=26851049
    [5]http://en.wikipedia.org/wiki/Unix_time

    Anyway, Happy 1,234,567,890 seconds since the Epoch!!

    Thursday, February 12, 2009

    Classic TV Ads

    I went Youtube surfing a while ago and found a bunch of old TV ads/spots that used to be played over the air many many years ago. Its been atleast on the order of 8-10 years since I've seen any of these aired. These were classics in their content and evoke memories of days gone by.

    Spread The Light of Freedom


    This was a television spot that was created by the Lok Seva Sanchar Parishad many years ago. It was a part of 2-3 series that were aimed at spreading the message of National Harmony and Integration. This one is my favorite amogst the lot. It features famous atheletes of the time carrying a flaming torch across the country.
    (2:37 in duration, completely instrumental)

    Note: Doordarshan is the Indian state run TV broadcaster. The music clip starting at 2:16 to the end is the closing verses of the Indian National Anthem.






    Bajaj

    A manufacturer of vehicles in India, came out with this ad in 1989. Classic for its content. I seem to remember this playing every weekend morning before some of my favorite cartoons.

    (40 seconds long, Hindi words)




    Doodh

    (Note: Doodh = Milk in Hindi) The ad is promoting milk consumption. -This ad that took me by surprise. Without having seen the ad for atleast 8 years in a stretch, the first time I viewed it on Youtube, I found that I could sing the words of the jingle flawlessly without stumbing or hesitating even a bit for the words.. Talk about information retrieval! I was impressed by my own ability to be able to recall this so well.

    (32 seconds long, combination of Hindi and English content)





    I'll post more of these if I come across more interesting ones.

    Thursday, February 05, 2009

    Creating GMail Interface buttons

    Gmail recently introduced new buttons' in its interface.



    They look pretty nifty and simple, but a lot of work went into them. Google's Visual Lead Douglas Bowman (stopdesign.com) was the leading force behind the creation of this new set of buttons. He wrote a detailed blog entry on the design and describes the work that went into creating the set of buttons that are just right for the job. Read his blog entry by following the link below

    Read "Recreating the button" by Douglas Bowman (stopdesign.com)

    Tuesday, February 03, 2009

    Building SimpleScalar/ARM cross compiler based on gcc-2.95.2

    This entry talks about my experience in building the SimpleScalar/ARM cross compiler based on gcc-2.95.2

    This was built on Ubuntu 8.10 with gcc-3.4 running on a Virtual Machine - Sun Virtual Box, XP Host, x86 Architecture

    (The following instructions are an updated version to the instructions in ANNOUNCE.cross from http://www.eecs.umich.edu/~taustin/code/arm-cross/ANNOUNCE.cross)

    --
    1. Get all packages from http://www.simplescalar.com/v4test.html
    cross compiler kit

    http://www.eecs.umich.edu/~taustin/code/arm-cross/ANNOUNCE.cross
    http://www.eecs.umich.edu/~taustin/code/arm-cross/gcc-2.95.2.tar.gz
    http://www.eecs.umich.edu/~taustin/code/arm-cross/binutils-2.10.tar.gz
    http://www.eecs.umich.edu/~taustin/code/arm-cross/glibc-2.1.3.tar.gz

    2. Untar and expand all 3 .tar.gz files into a single folder. (/home/example/arm-cross)

    3. Make sure you have gcc-3.4 installed on the system. (Ubuntu's GCC 4.3.2 did not compile this package)

    4. Build and Install binutils

    cd binutils-2.10
    ../configure --target=arm-linux --prefix=/home/example/arm-cross
    make
    make install
    cd ..

    5. You should now have a bin/ folder inside arm-cross/. Add this to your path. (If using bash shell, use the below command, modify to fit your shell)
    export PATH=$PATH:/home/example/arm-cross/bin

    6. Rehash the filesystem to see the newly created executables.
    In Ubuntu 8.10, rehash is /usr/bin/c_rehash - no arguments, just executable

    7. Now build the GNU GCC cross compiler (This is what gave me the most trouble- after lots of playing around, the following steps worked) [1]

    7.a. inside arm-cross/

    cd gcc-2.95.2
    ../configure --prefix=/home/example/arm-cross --target=arm-linux --with-as=/home/example/arm-cross/bin/arm-linux-as

    This should configure without any errors.

    7.b. Now, edit the Makefile. Inside the Makefile, find and replace 'rmdir' with 'rm -rf' (without the quotes)

    7.c The current version of libgcc (as shipped with Ubuntu 8.10) seems to be incompatible with the build environment of the cross compiler, so we are going to build it with STATIC linkage. [2]

    make LANGUAGES=c BOOT_LDFLAGS=-static

    This should take a while, but should complete without any errors.

    If you encounter any errors in this step, check the above steps carefully. Before reattempting to build, always do a 'make distclean'. This will purge all files that were created during the make process and allow you to start afresh. One of the side effects of make distclean is that it will also remove the Makefile. Hence you will have to begin at the ./configure step again.

    If this passes successfully, install the package using the below:

    make LANGUAGES=c install

    At this point you have the compiler installed and working.

    Here's the output of the version string as reported by the cross compiler at this stage:

    example@machine:~/$ arm-linux-gcc -v
    Reading specs from /home/example/arm-cross/lib/gcc-lib/arm-linux/2.95.2/specs
    gcc version 2.95.2 19991024 (release)

    8. Now follow the instructions in ANNOUNCE.cross to fix the specs

    vim /home/example/arm-cross/lib/gcc-lib/arm-linux/2.95.2/specs

    replace all occurrences of "elf32arm" with "armelf_linux",
    this fixes an innocuous incompatibility between the most
    recent GCC and GLIBC libraries...

    9. You now have a working arm-cross compiler that can produce binaries that can be run on SimpleScalar/ARM

    arm-linux-gcc example_code.c -o object_file.o

    Now run object_file.o using the appropriate simplescalar tool.

    -------------------------------------------------------------
    [1]
    To fix error with xgcc

    from http://sourceware.org/ml/crossgcc/2001-02/msg00081.html
    use an explicit "--with-as=/path/to/as" on the gcc configure line

    [2]
    This fixes the set of messages:

    ibgcc1.S: Assembler messages:
    libgcc1.S:1: Warning: rest of line ignored; first ignored character is `@'
    libgcc1.S:2: Warning: rest of line ignored; first ignored character is `@'

    from
    https://www.linuxquestions.org/questions/linux-general-1/arm-toolchain-problem-350988/

    use the BUILD_LDFLAGS=-static

    Sunday, February 01, 2009

    February

    Monthly Overview: (http://shine.yahoo.com/astrology/virgo/monthly-overview/)

    As the month gets going, you're going to be tempted on multiple occasions to rush. On the 1st, you don't want to spend the extra minute brushing your teeth. You want to skip the flossing. You want to hit 'send' before you spell check. You want to buy a suit without trying it on. You don't want to leave the chicken in the oven for the whole 45 minutes. The rule for you to keep in mind? Slow down! Rushing will get you nowhere (but you could contract salmonella), so watch out! You'll be in a better place for action-taking and decision-making on the 5th and 6th. Your life is more or less charmed on the 10th and 11th, when everything you touch turns successful. Going with the flow on the 16th is what you want to do, but you could find your canoe is stuck. Disentangle yourself, carefully. You're feeling awfully romantic on the 19th and 20th, so make sure somebody's going out on a date with you one of these two nights! You'll be ready to get things fixed-up
    quick on the 25th, but your colleagues aren't on the same page, so watch out. On the 28th, talk shop. You'll enjoy it.

    Monthly Career: (http://shine.yahoo.com/astrology/virgo/monthly-career/)

    A little soul searching, when it comes to where you're at with your career, would be helpful on the 1st. A lot of soul searching would be really helpful. After all, if you never ask yourself just how you feel about your work, where you're at, how you're doing and where you're headed, how will you be able to do a good job navigating your way there? Go over all those itty-bitty nitpicky details on the 4th. You'll be ready to try being a little bit more flexible on the 8th and 9th, if only because you've run out of other ideas for how to address the problem. You'll see just what an excellent approach this was when everything comes out just right on the 11th. Your curiosity could propel you into a very romantic place on the 14th. Who knew that that cutie at the office was so very interested? If you're taken, let them down easy. Hard work pays off, just the way it's supposed to on the 19th and 20th. A couple of super confusing details threaten to derail you
    on the 25th. Research on the 28th will get it all under control.
    --
    Monthly Relationships (http://shine.yahoo.com/astrology/virgo/monthly-love/)

    Sure, it's romantic to do things for the object of your affections. But giving too much of yourself too much of the time isn't romantic at all. On the 1st, it's time for you to step back and recharge. Spend all your energy doing nice things for yourself, and you'll find that, in the long run, you have a lot more energy for romance. After all, you can't take care of other people if you're all tapped out yourself. You should keep this in mind: Your job is to love you. From there, you can love others. Put romance on the back burner again on the 5th, when your best bet is to organize friends or family in some kind of activity. On the 10th, you're finally in tiptop form and ready to welcome romance with open arms. Guess what? Romance embraces you right back! Excellent! Now hold hands! If you're curious and you want to get to know them better, be sure to schedule something special on the 14th. You two are getting along like gangbusters on the 19th. You're
    ready to take things to the next level on the 24th, but don't criticize them if they lag. On the 28th, you're compatible.
    --

    January Review

    Lets just say that less said the better.
    January's so called accurate predictions didn't come true. Nothing happened on any of the many specific dates in january - though if you look at the financial aspects of it, they may have slipped by about a week.

    Oh well, lets see if February works out any better shall we?

    Saturday, January 31, 2009

    Adding PATH to bash

    In your .bash_profile, (or .bashrc) add the following

    PATH = $PATH:/PathToAdd1:/PathToAdd2:/PathToAdd3
    export PATH

    Thursday, January 29, 2009

    l33t

    The following post is in l33t. If you can't decode it, too bad. Go
    figure it out.

    $0 wh¥ 4m 1 p0$71n9 1n £337? Wh0 |{n0w$? 0r r47h3r wh0 (4r3$? 7h3r3'$ n0
    $p3(1Æ’1( r34$0n Æ’0r m3 70 p0$7 £1|{3 7h1$, 07h3r 7h4n jµ$7 Æ’0r 7h3 h3(|{
    0Æ’ 17. (4n 7h1$ b3 7r4n$£473Ð 1n70 r39µ£4r 73x7, ¥3$. 4nÐ ¥0µ (4n
    7r4n$£473 17 b4(|{ 1n70 (£34r 3n9£1$h 700. ¥0µ Ð1Ðn'7 7h1n|{ 7h47 1
    $p3n7 m¥ 71m3 wr171n9 7h1$ p0$7 1n pµr3 £337 Ð1Ð ¥0µ? 1Æ’ ¥0µ 4r3 r34Ð1n9
    7h1$ 1$ p£41n 73x7, 7h3n 900Ð Æ’0r ¥0µ, ¥0µ pr0b4b£¥ Æ’0µnÐ 4 7r4n$£470r
    $173 jµ$7 £1|{3 1 Ð1Ð. 1Æ’ ¥0µ 4r3 r34Ð1n9 7h1$ 1n pµr3 £337, 7h3n 3v3n
    b3773r, (3$p3(14££¥ $0 1Æ’ ¥0µ 4r3 4b£3 70 r34Ð 17 w17h0µ7 mµ(h 3Æ’Æ’0r7.)
    W1££ Æ’µ7µr3 p0$7$ b3 £1|{3 7h1$? 1 Ð0n'7 |{n0w. M4¥b3, m4¥b3 n07. b7w,
    70 7r4n$£473 7h1$ b£0(|{ 0Æ’ 73x7, 1 µ$3Ð 7h3 (0nv3r73r 0v3r 47
    www.4£b1n0b£4(|{$h33p.(0m/73x7/£337

    Saturday, January 24, 2009

    Servers and fan replacements

    I replaced one of the cooling fans on one of the group servers this morning. The process was relatively painless. From powering down the server to powering it back up with the replacement fan took less than 30 minutes of actual work.

    The old fan was still spinning, but the server's on-board diagnostics were complaining that it was bad. On shining a flashlight onto the spinning unit, it did appear to be spinning slower than the rest of the units - so we figured that replacing it was probably a good idea.

    It was much easier to do it early in the semester when people aren't using the machine that much. This made it easier to find a time slot when no one else was logged on, since replacing the fan requires that we power down the machine.

    Now I get to go look at the machine about once a week to make sure that the error lamp stays OFF. :)

    Wednesday, January 21, 2009

    Monday, January 19, 2009

    Thursday, January 15, 2009

    January

    Monthly Overview:

    From here : http://astrology.yahoo.com/astrology/virgo/monthly-overview/

    The 1st gives you the chance to immediately implement your New Year's resolution to not be overly critical -- when you wake up to find a great big post-party mess. Sure, there are party hats in the sink and plastic champagne flutes on the floor, but take a deep breath and remind yourself of your resolution: Be constructive. Don't be afraid to delegate, just don't give into the urge to nag. You'll be proud of your progress on the 5th and 6th, especially when you notice an overall sense of calm pervading your environment -- thanks to your diminished critique. On the 11th and 12th, you want to be organized, but something is getting in your way. Is it your desire to go skiing? Why not give in? You might want to lock up your credit cards on the 17th, since a whole lot of luxury items will look indispensable (they aren't). On the 21st, take a risk -- you won't be sorry. Being open-minded and experimental will only enhance your life on the 27th. There's always time to go to an experimental dance performance! Don't let a problem with a co-worker ruin your day on the 30th -- turn it into a learning experience!

    Monthly Career:
    From here : http://astrology.yahoo.com/astrology/virgo/monthly-career/

    As the year starts out, you might think you know just want you want, career-wise, on the 1st and 2nd. You very likely based all of your New Year's resolutions on a certainty of where you're at and where you want to go, but before you take the plunge into a new year at work, take a second look: Things may be far more complex than you realize. This isn't a bad thing -- after all, it would be boring if you already knew everything all the time. Don't fret, but do be prepared for some (exciting!) challenges this year. You need to be careful -- to the point of neurotic -- when going over details on the 7th. On the 13th and 14th, some of the very thrilling upsides of the unknowns you are encountering begin to present themselves. Could all this office upheaval result in a big promotion for you? You'll be very curious on the 19th, so give your quest for more details a wide berth. On the 24th, somebody cute at work has their eye on you -- if you aren't available, let them know right away (and ditto if you are available!). On the 28th and 29th, turn off your impulse to criticize before you know the whole story.

    Monthly Relationships:

    From here : http://astrology.yahoo.com/astrology/virgo/monthly-love/

    Somebody really, really, really thinks the world of you, and they want you to know that on the 1st. So why are you criticizing them so much? Are you maybe feeling a little bit vulnerable? Like if you allow yourself to feel how much they love you, you might accidentally give up some of your self-control? Have you considered that giving up some self-control and accepting unconditional love, unconditionally, could be a good thing? Give it a shot, this year. On the 4th, a personality clash at work could take the wind out of your romantic sails. Try not to let it. You'll be ready to communicate some of your deepest feelings on the 8th. The 13th and 14th are your days: Spend them as romantically as you can. Even just staying home and cooking dinner together could be perfect. On the 18th, if you're feeling romantically restless, explore those feelings. Where are they coming from? Fun and romance are in the cards for you on the 23rd, when somebody surprises you with a date you hadn't expected. Sushi dinner at the zoo after-hours? Don't say no! On the 26th, it's really important that you stay positive. You'll be more than ready to end the month in a well-rested spot on the 30th.

    ---
    Ok, let's see how the rest of January plays out.

    Forecasts

    Ever noticed that the predictions for the year/month/week/day are always glowing and positive for every sun sign every day/week/month/year? Days you know are going to be bad, always have a positive spin in the papers/website/your-source-of-this-info

    Since I figured out this patten many many moons ago, I'm rather skeptical about horoscopes.

    However, this being a new year and with my resolution to try to do new stuff on my own, I figured, I'd give Yahoo Astrology a chance to predict the months of January- March. Every month, I'll pick up and record what the site said for me and at the end of the month, I'm going to see how well (or not) it all worked out. Of course, the way some of these are worded, anything that happens could possibly be related to what was written.

    Yahoo Astrology can be found here : http://astrology.yahoo.com

    Next post, predictions for January.

    Wednesday, January 14, 2009

    Blocked schedules

    This is going to be another high intensity semester. Tuedays and
    Thursdays have me blocked from 9:35am through 7pm.

    And this is before finding out what the lab meeting schedule and other
    research based deadlines for the semester are. :-/

    Saturday, January 10, 2009

    Miss Mailers

    Essential reading for anyone curious about the etiquette connected with
    dealing with mailing lists.

    Miss Mailers Answers Your Questions on Mailing Lists
    http://www.faqs.org/faqs/mail/miss-mailers/

    <abstract>
    Summary: An explanation of how to use and run mailing lists
    </abstract>

    Monday, January 05, 2009

    Speed upgrade

    We were on a 1Mbps broadband plan until recently in my apartment.
    Looking at our bills over the past few months and talking to people
    around us, my roommate and I decided that we need to renegotiate our
    plan with the ISP. So he called the ISP this morning and they bumped us
    up to an 8Mbps plan for the same price per month!! Whoop!

    With a 54Mbps WiFi connection, my laptop just reported an average
    download speed of 5Mbps and an upload speed of 500Kbps. Not bad at all
    for a shared connection and the router being in another room. :D

    Friday, January 02, 2009

    Season's Greetings

    Season's greetings for a very happy and prosperous New Year 2009.
    May the year bring you lots of laughter, fun, success and prosperity in
    all your endeavors large or small.

    Sunday, December 28, 2008

    Disenchanted


    Edited to replace the embedded videos with links. (Jan-1,09)



    The 2008 HMS Genetics Department Christmas Skit



    PART-1

    http://www.youtube.com/watch?v=No8_2ID8ch4&hl=en




    PART-2

    http://www.youtube.com/watch?v=_MNOKDniNrw&hl=en


    PART-3

    http://www.youtube.com/watch?v=LntERliGozk&hl=en

    Thursday, December 25, 2008

    Christmas Eve Adventure

    I had an adventure of sorts on Christmas Eve.

    Just as I was pulling out of my apartment (I hadn't gone 50 feet), I saw what looked like white steam come out of the right side front corner of the hood of my car. With memories of having seen this in the past (in other cars), I stopped and opened the hood and peeped around.

    Two things caught my attention (a) My coolant tank was bone dry (b) The air filter and some other parts had green fluid sprayed on them. Meant I had a massive cooling system leak somewhere. The next question was where. We poked around the engine and found that the upper radiator hose had developed a large rip in it and hence the source of the leak.

    Finding a replacement for this on Christmas eve was tricky, but luckily it wasn't 5pm as yet. (It was 4:15). So we went looking for a replacement. Two stores said they would have to order it in, while the third one had one in stock. Armed with the replacement hose, new clamps, new coolant, we returned to the car, replaced the hose and refilled the coolant. At 5:30 we were done and the car was returned to regular operation. Oh, and it took 1.2 gallons of coolant to refill the radiator.

    Whoop! Yay! for being able to notice the leak in the day time, Yay! for it happening close to my apt and not in the middle of a highway, Yay! for it happening in town and where I have people whom I could call upon for help.

    Merry Christmas!

    Tuesday, December 23, 2008

    Bacon and Cheese Roll - I made it !

    So I did it.
    I made the bacon and cheese roll.

    See detailed pictures here :
    http://www.flickr.com/photos/68701052@N00/sets/72157611501230447/detail/



    [If you are not signed into flickr, you will only see one picture, you need to be signed in and on my family/friend list to be able to see all the pictures]

    Sunday, December 21, 2008

    Solstice and Equinox

    The Solstice is the day of the year (happens twice a year) when the Earth is at the farthest point from the celestial equator. It also marks symbolically the start/end of specific seasons (specifically the start of winter/summer)

    Equinox is the day of the year (happens twice a year) when the Earth has the same amount of night and day time hours.

    2008:
    Equinox Mar - 20th
    Solstice June - 20th
    Equinox Sept - 22nd
    Solstice Dec - 21st

    2009:
    Equinox Mar - 20th
    Solstice June - 21st
    Equinox Sept - 22nd
    Solstice Dec - 21st

    2010:
    Equinox Mar - 20th
    Solstice June - 21st
    Equinox Sept - 23rd
    Solstice Dec - 21st

    More here : http://en.wikipedia.org/wiki/Solstice
    and
    http://aa.usno.navy.mil/data/docs/EarthSeasons.php

    Wednesday, December 17, 2008

    Singing cat



    A cat that likes to sing along to the words of "Happy Birthday"

    Monday, December 15, 2008

    Owning the Empire State Building in 90 minutes

    From the New York Daily News:
    "In one of the biggest heists in American history, the Daily News "stole" the $2 billion Empire State Building.
    And it wasn't that hard.
    The News swiped the 102-story Art Deco skyscraper by drawing up a batch of bogus documents, making a fake notary stamp and filing paperwork with the city to transfer the deed to the property."

    Read all about it here : http://www.nydailynews.com/money/2008/12/02/2008-12-02_it_took_90_minutes_for_daily_news_to_ste.html

    Saturday, December 13, 2008

    Bacon Cheese Roll

    This is probably extremely unhealthy, but it looks good. Posted here to remind me to make it sometime. I'll put pictures up if I ever get around to making it.

    http://foodproof.com/photos/full/bacon-cheese-roll-1290

    [One person who randomly reads this blog, likes bacon a lot :) -> if you see this, call or text me and I'll tell you when I plan to make it.]

    Thursday, December 11, 2008

    and then there was snow...

    It snowed 1 inch in College Station last night after more than a decade.
    Here's a snowman (or is it a snow lady?) a friend and I found on campus

    (If you are familiar with the campus, this was located next to Sully's statue)

    [This is also an attempt at an emailed picture posting]

    Tuesday, December 02, 2008

    Quasars in Lightbulbs

    This evening, a conversation amongst friends turned to the topic[1] of "How much power does a Quasar emit, in terms of light bulbs".

    We looked up some statistics on the web[2] and came up with some interesting figures.

    A quasar is said to produce the same amount of power as 10^12 suns.
    Our sun produces 4 x 10^26 Watts of power.

    Taking the average light bulb to be 60Watts, that means the sun produces the equivalent power of 6.67 x 10^24, 60W light bulbs.

    Plugging that into the data above, we find that a quasar outputs the same amount of energy as 6.67x10^36, 60W light bulbs !

    So there you have it -> A quasar outputs the same energy as 6.67x10^36, 60W light bulbs

    --
    While most of us in this conversation were not astronomers or in related fields, two of the participants in this conversation were
    astrophysicists. One of them did some number crunching with actual formulae and numbers of luminosity and frequency from the field and came up with a value of 2.7 x 10^34, 60W light bulbs. Close enough for back of the envelope calculations!
    --

    [1] One person was going to be giving a talk on quasars to people from another discipline.
    [2] Some of the data was sourced from Wikipedia or links from Wikipedia, use these numbers at your own risk. If you use these numbers to do anything important, you are insane.

    Saturday, November 29, 2008

    More SPAM Winnings

    It seems to be my week of winnings again!
    According to the SPAM making its way into my email, over the past two
    days, I have apparently won over 1,500,000,000 British pounds.

    hmmm...

    Tuesday, November 25, 2008

    Paranoia?


    This post has been redacted for privacy.

    Email me for the text if you are interested.

    Saturday, November 22, 2008

    Pans and Heat

    No point in blaming the kitchen range for not heating a pan, when I forgot to turn it on in the first place eh?

    Thursday, November 20, 2008

    SPAM winnings ?

    If I believe the spam I've received this week, this has been the most lucky week of my life. Twice in the same week, I've won enormous sums of money from online lottery sweepstakes.

    On Monday, I was congratulated on winning 500,000 UK Pounds and today, I was congratulated on winning 1,000,000 UK Pounds. All I need to do to get the money is to send them my contact information. :P

    If only things were that simple ;) :P

    Tuesday, November 11, 2008

    Words, Parsing and Ads

    I sent an email using GMail to someone today. After I sent the email, the next ad that was displayed by Google, was exactly on the topic that I had written the email about.
    While I knew that the system does parse emails to display the appropriate ads - it was a tad surreal to see the ad so accurately reflect the content. (This wasn't a simple word matching, it was more complex than that.)

    Risks

    Thank you to a certain someone.

    [If you don't know what I'm talking about - Don't ask me. I will not tell you.]

    Sunday, November 09, 2008

    Another bike in the pool

    We found another bike in the pool. Looks like this is becoming a Friday night ritual for someone or some group of people.

    Friday, November 07, 2008

    Speech Recognition update

    Update:
    The speech recognition thing works quite well. More training has helped it improve accuracy.

    However, there is one issue that needs to be fixed before I can have it replace typing for large text entry. The fact that it is slow.
    I can type (and hence input data) faster than it takes to listen to my voice (which has to be at a controlled pitch and speed) and then transcribe it totext.

    Also, I find that I'm not used to dictating stuff to my computer and hence end up with lots of junk input in addition to the main text. Typing is more focused and controlled input of data in my case.

    Wednesday, November 05, 2008

    Speech Recognition!


    So last night, I was talking to a friend and I began to wonder why my computer could not convert speech to text. So today after school, I came home and looked up online to see if the Linux operating system had any utilities that would allow me to do this. While looking around online, I saw (to my surprise) multiple entries pointing to the fact that Windows XP and Office 2003 seem to have some sort of dictation software.

    Since I had Office 2003 professional on my machine, I went to take a look to see if the I had the software utility installed. After about 10 minutes of poking around the innards of my computer, I realized that I could indeed get this thing to work.


    Once I got the software installed, I spent a couple of minutes (about 20 minutes in all) training the package to understand my voice. Because of the fact that I am not a native English speaker the package takes longer than usual to understand my pronunciation of some of the words. For some reason it seems to think of the word 'package' as packet, and packet as 'kicked'. I obviously need to train this package some more so that it can understand me better.


    Oh, and a thank you to Amy, for introducing me to a project ;) that convinced me to go look up speech recognition from my computer to prevent me from having to type out pages and pages and pages of text.

    It may be that further posts on this web site will be powered by speech recognition. Let’s see what happens.



    The above post was composed using the dictation feature, then formatted and edited before I posted it here. To demonstrate how accurate (or not) the software package was with about 20 minutes of training, I have enclosed the raw text generated by the software below. Take a look, I'm rather impressed with the quality.





    So last night I was talking to a friend and I began to wonder why my computer could not convert speech to text Saturday after school I came home and looked up to see if the linux operating system had any utilities that would allow me to do this while looking around on the day of useful runs as a multiple entries pointing to the fact that the news expert and office 2003 seem to have some sort of dictation software

    Since I had office 2003 perfection of on my machine I went to take a look at if I had the senior treaty install . after about ten minutes of poking around that he notes off my computer and realized that I could indeed get this thing to work


    Once I got the package installed I have spent a couple of minutes training the packets to understand my voice
    because of the fact that I am not a native English speaker the packets take longer than usual to understand my pronunciation of some of the words. . For some reason it seems to think of the word package has been kicked

    I obviously need to train this packet some more so that it can understand what is better or for the first 30 minutes I think this is doing pretty well
    The law PCI and each time a friend using major project which required me to go look up speech recognition from my computer to prevent me from having to type out pages and pages and pages of text will obviously using me introducing me, it may be free to post on this web site will be powered by speech recognition. Let’s see what happens.

    Monday, November 03, 2008

    Bikes, chairs and swimming pools

    We found a bike and two chairs in the pool of our apartment complex over the weekend.
    While we didn't hear/see the folks responsible for this, one of our neighbors reported hearing people making a lot of noise the night before. Perhaps the drunken revelry lead to an idea about a new place to store your bike.