Category Archives: technology

Browser wars brewing

Browsers have graduated from a simple tool into a platform. For example, Mozilla Firefox has a build in database (starting with v3), support for plugins/add-ons. With appropriate add-on installed, Mozilla becomes a web browser, chat/IM client, VoIP client, RSS Reader, email client etc etc.

At present, various browser components (add-ons, plugins) and web services exists are disconnected entities. If these can be integrated, browser can be the window to the Wide Web World! Flock is trying do it, but still the components are held very loosely. Interaction between various browser components has to be seem less and the browser (through web services) should be able to react to user needs more intelligently.

The video posted below is a glimpse of what next browser might look like.
Source: http://gigaom.com/2008/05/29/the-new-new-browser-wars/

Aurora (Part 1) from Adaptive Path on Vimeo.

Axe your long distance call rates with jax

Jaxtr, the company that links your phone to the Web, now offers local phone numbers in India. Jaxtr is the first and only company to offer its members the ability to bypass expensive international toll charges by calling a local Indian number to reach friends and family abroad-cheaply and easily-from any ordinary mobile or landline phone. (Press Release)

With the local numbers, India jaxtr members can call for as little as 0.43 Indian rupees (43 paisa or 0.01 USD) per minute.

For Indians in US, the reversal of calling patterns can result in tremendous savings.

eg.

I use StanaCard or Reliance Calling Card to call home. Both of these cost almost 6 cents per minute. (Apart from this, I also use my operator’s tariff minutes).

If I consume about 320-360 mins/month calling India. 70% of thse minutes are calls to my immediate family. Rest of the minutes are divided between friends and relatives.

I’m trying to analyse the cost savings if I purchase jaxtr India number(s) where my family can call me. Calling US from India is much cheaper (on Jaxtr) that calling India from US, this should result in considerable savings.

The following table should explain the scenario in detail.

  Minutes Jaxtr Others Jaxtr Others
Phone#1 120 1.2 7.2
Phone#2 90 0.9 5.4
Phone#3 30 1.8 1.8
Others# 60 3.6 3.6
    2.1 5.4   18
Total 300 $7.5   $18  

Wow! this cuts down my long distance charges by more than half! The only downside being, for each of my phone in India (from where calls are made), I need jax minutes since sharing of minutes across multiple phone numbers may not be allowed by Jaxtr.

bash script to check if a process instance is running

#!/bin/bash
if [ $# -ne 2 ]
then
echo "$0 process_name instances_count"
exit 1
fi

function count_match {
echo Count Match #Your code goes here
}

function count_mismatch {
echo Count Mismatch #Your code goes here
}

process=$1
exp_count=$2

run_count=`ps eax | grep ${process} | grep -v grep | wc -l`

if [ ${exp_count} -eq ${run_count} ]
then
count_match
else
count_mismatch
fi

Please note “grep -v grep” is not be required for cygwin, but even if you retain it, it doesn’t alter the behavior.

Notebooks getting leaner and meaner!

Apple can still claim the MacBook Air is the skinniest laptop currently available – for the moment. The machine that beats it, VoodooPC’s Envy 133, is just 1.75cm thick. The Air is 1.90cm thick.

Voodo Envy has lots of innovations and it’s carbon casing makes it light and beautiful. Backlit keyboard is a useful feature too. Since ethernet port has been moved to laptop’s AC adaptor, the adaptor looks bulky an aberration to otherwise sleek design of the entire package. A missing feature is Apple style optical drive.

Voodo Envy enables the user to use browser, skype or IM client without booting into the full fledged OS (Vista in this case). Probably this is provided by “Instant-On Linux” integrated in the BIOS flash chip.

In my opinion, this is the way to go; you don’t have to stare at “Please wait…” screens just to catch up with your emails, on the laptop, between the flights.

All these goodie features come at a price. $2000 is pricey price point for getting bewitched!

IIT/IISc – National Programme on Technology Enhanced Learning

On the lines of MIT’s OpenCourseWare, top Indian institutes (IIT, IISc) have launched National Programme on Technology Enhanced Learning (NPTEL).

The main objective of NPTEL program is to enhance the quality of engineering education in the country by developing curriculum based video and web courses.(Videos on YouTube)

Eklavya is similar effort by IITs and HRD Ministry.

Both are commendable effort and will benefit many people who are unable to make it to these highly competitive institutes. Opening up courseware has many other benefits too.

Open cousewares allow aspiring studens to study the subjects online before they can decide whether they actually like the courses, helping them make educated choices about their specialization and cirriculum.

Dynamic programming using closures in Ruby

I was playing around with ruby and proc blocks caught my fancy. Here’s the code snippet (not a perfect algorithm, but shows the use of closures)

def get_angle_checker(start_angle, end_angle)
  return Proc.new { |angle| (start_angle <= angle  && angle < end_angle) }
end

acute_angle_checker = get_angle_checker(0, 90)
right_angle_checker = get_angle_checker(90, 91)
obtuse_angle_checker = get_angle_checker(91, 180)

puts acute_angle_checker.call(12)      #true
puts acute_angle_checker.call(90)      #false
puts right_angle_checker.call(90)      #true
puts obtuse_angle_checker.call(112)    #true

For some one looking for more info on closures, following resources may be useful:

http://martinfowler.com/bliki/Closure.html

http://blog.codahale.com/2005/11/24/a-ruby-howto-writing-a-method-that-uses-code-blocks/



How to boot Linux using Windows bootloader (XP)

You want to setup dual boot on your computer but do not want to install Grub or Lilo (You still are use LILO?), then read on….

Otherwise, if you are tired of Windows over writing Grub or LILO every time you setup Windows, then you can sacrifice the powers of Grub and shift to Windows Boot Loader to boot you into Linux.

Here are the steps: (Ideal case)

Windows XP Loader (NT Loader) needs Linux Master Boot Record (MBR) to boot into Linux.

If you can boot into Linux, grab the first 512 bytes of boot sector from the root partition of Linux  where Grub is installed (/dev/sdaN) to an external drive.

 dd if=/dev/sdaN of=grub.bin bs=512 count=1

Here is the twist!

In my case, I had an existing Linux installation but I could not boot into Linux and I didn’t have a rescue disk. I installed Ext2 IFS For Windows and copied MBR which I had extracted previously before I wiped out Grub  /boot/grub/stage1 and named it grub.bin (Your MBR is nothing but stage1 boot-loader used by GRUB).

To setup Windows bootloader to load Linux, we need to add an entry corresponding to Linux.

Boot into Windows. Set appropriate attributes for boot.ini so that it is editable.

attrib -r -w -s c:\boot.ini

Add the following entry to the file boot.ini

 c:\grub.bin="Ubuntu Linux 7.10"

Restart the machine and Windows XP boot loader shows Ubuntu Linux 7.10 as one of the options.

Select this option and viola! you should see Linux booting 🙂

For more detailed instructions follow this : http://www.tprthai.net/bootmgr.htm

http://www.supergrubdisk.org/ provides a specialized rescue disk to restore Windows/Linux. I haven’t used it anytime though.