We parted our ways yesterday

scorpio-1

He came to me 9 years back.  He was a family since then.

Scan-120311-0006

You were like this when I got you…

He took me to places.  We made our own roads.

He saved me from road rages, accidents..

Scan-120311-0003

Scan-120311-0004

Scan-120311-0005

He came with me for Tsunami Relief work.  He was happy to be part of the team

Scan-120311-0002

Dear Scorpio, Donnie misses you the most. He liked to watch other dogs on the road from your height.  He liked the wind blowing in his face through your window.

donnie-scorpio-2

We will remember you always…

Recently I had a unique need to have a mix of public and private network on a particular server for some testing.  A number of services were already configured for the public interface. I had to test a particular feature using a NAT environment and the easiest I could think of was to configure the same server with a NAT ifc in the VMWare environment and configure that feature to use this private interface.  Setting up the proper routes where I can reach the server through the public interface or through the router’s port forwarding via the NAT interface was a challenge in this case. 

Network-ppMy networking requirement is something like this.  As the diagram suggests, 164.99.89.77 is the public interface (eth1) and 172.17.2.80 (eth0) is the private interface.  vmnet5 provides the NAT environment with the network 17217.2.0.  My requirement was to reach the guest via eth0 or eth1 from the 164.99 network.  The host (164.99.89.74) also provides port forwarding so that I can connect to the gust via the private interface. 

I realized that I need to make sure that all answers to traffic coming in on a particular interface get answered from that interface. 

After a little research on Linux advanced routing, I stumbled upon this page.

I designed my routing table based on the recommendations from there.  I’m listing the steps I followed for future reference.

  1. Disable reverse-path filtering for both interfaces.  When source and destination traffic to the same IP using different interface occurs, the Linux kernel drop the traffic as potentially spoofed.  This is called reverse-path filtering. 
  2. Create two additional routing tables, say T1 and T2 in /etc/iproute2/rt_tables.   This file will look something like this

    image

  3. Then populate these tables as given below

    ip route add 164.99.0.0 dev eth1 src 164.99.89.77 tabel T1
    ip route add default via 164.99.89.254 table T1
    ip route add 172.17.2.0 dev eth0 src 172.17.2.80 table T2
    ip route add default via 172.17.2.2 table T2

    164.99.0.0 => public network
    164.99.89.77 => IP address of the public interface
    164.99.89.254 => Gateway address for the public network
    172.17.2.0 => Private network
    172.17.2.80 => IP address of the private interface
    172.17.2.2 => Gateway address for the public network

  4. Set up the main routing table.

    ip route add 164.99.0.0 dev eth1 src 164.99.89.77
    ip route add 172.17.2.0 dev eth0 src 172.17.2.80

  5. Then a preferred default route

    ip route add default via 172.17.2.2

  6. Next set up the routing rules

    ip rule add from 164.99.89.77 table T1
    ip rule add from 172.17.2.80 table T2

Above rules will make sure all answers to traffic coming in on a particular interface get answered from that interface 

My routing table looks something like this with the above changes

image

There are a few more desirable routing additions mentioned here

With these changes, I can connect to the server via the public interface or via the private interface with the port forwarding in the router.

image

image

NMAM Institute of Technology, Nitte held an International Level Conference on “Computer Architecture, Networking and Applications” (IC-CANA 2011) at Mangalore on 7th and 8th January, in association with Penn State University, Harrisburg USA. The conference was co-sponsored by Nitte University, Nitte Education Trust, ISTE, NewDelhi. CSI Division-V (E&R), VTU Belgaum, TCS, EMC, Veriguide and Robosoft Technologies. I was invited as one of the speakers in the tutorial session. I presented Intelligent Workload Management in the cloud track on the first day. I co-chaired the thesis presentation along with Dr. Swarnalatha on the second day and participated in a panel discussion on “Relevance of Industry Institute Interaction in the Global Education Scenario”.

It was a long journey that took close to 27months from here

to here….

And still, a lot more to do…..

This was the big news I read yesterday.  Everyone talked about the price Intel is paying – $48 per share – which is 60% premium over McAfee’s previous day close of $29.93.  What is Intel going to get out of this deal?  I found a not-so-encouraging analysis from Forrester. One of the reasons everyone talked about is, if Intel wants to embed security into the chip.  While it makes perfect sense for a desktop dominated market we used to have a few years back, I can’t agree if its valid now where we are moving to Virtual Desktops and data center virtualization.  Why would I have my security in the chip level in a virtualized world?.  Why not we take care of that in the Virtual machine level? Intelligent Workload Management is such an effort where we try to integrate identity and security into virtual machine level instead of the hardware level.  The software security is another dimension that can be added in the IWM framework level.

One of my technical writers asked me how they can leverage cloud computing.  Interesting thought!!!. From a developers perspective, we have been talking about cloud as a development and testing resource.  For eg.  I can easily scale up my resources using the cloud environment if I need to run a scalability test.  In the past, I used to raise a request and wait for the resources to arrive before I can even start my test; and I used to call this time as the planning phase.  How do you leverage cloud for technical writing?

The immediate benefit came to my mind is online collaboration.   Desktop publishing is going to be a thing of past.  Google Docs (I’ve been using google docs over 4 years now) revolutionized online shared editing though there were other players in the market at that time.  Adobe, Zoho, Whiteboard and a number of others came in, but none of them could attract us as much as Google. The latest addition to this list is Microsoft with its office live and SkyDrive.  BTW, I just noticed that Office Live doesn’t use a secure connection.  Online documents and collaborative editing will help me to update documents the way we add notes or review comments in Acrobat, Word and OpenOfffice documents.  It will be faster for developers and testers to update the documents as and when they find some changes required and a team member from the technical writers group can merge the changes easily.

Another area is ePublication.  I would assume that all documents need to be available (or online conversion when I download) in one or more of the epub format as eBooks and smart phones are going to be used more for reading and getting our work done.  Today, I read my Books24x7 using my Blackberry when ever I get time. 

Other areas worth considering are location aware content which also includes online translation, integration of product documents with user supplied content, etc.  A couple of blogs I read recently support these predictions. 

I have been reading Times Life.  The theme for today was sharing. Helping the needyA few of the captions particularly caught my attention as I myself believe in that.  The author was trying to convey the message that not having enough money to donate is not a reason to hold back on sharing.  You get the meaning if you read this comment from “Soul Curry“;

If you make two cups of tea, one for your husband and one for yourself, then you have not made use of God’s gift of life.  Make three cups of tea and vie the third cup to a stranger and your life will be blessed.

I always believed that you get maximum joy when you give something that you enjoy yourself.  Philanthropy should not be to get your photo and name appear on  Page 3.  Acts 20:35 states that

It is more blessed to give than to receive

Also, Bhagavatgeetha says

one should be concentrating on Karma and not on the fruit of karma.

You can see the importance of sharing in many places in the Bible, from old testament to new. (Luke 12:33)

Sell your possessions and give to the poor. Provide purses for yourselves that will not wear out, a treasure in heaven that will not be exhausted, where no thief comes near and no moth destroys.

Though there are different interpretations for the above statements, I believe its about knowing the pain of the poor so that you help them to what ever way you can.

Have a look at the traffic signal, next to your street or the families helping you with various chores at home, you will find a number of ways to help them.

I was attending ACM India Launch at Taj Residency today.   ACM India was formally announced today though ACM India was active for over 3 years now.  The program started with a brief introduction by Dr. Anand Deshpande. Co-Chair, ACM India,
Prof Dame Wendy Hall, FRS. President, ACM  and Dr. John White CEO, ACM.  Dr. Rick Rashid, Sr. VP Microsoft Research presented various activities they do in the research area.  I must say that we all enjoyed the talk by Prof. Barabara Liskov about her work on CLU and Abstract Data Types.  She mentioned a number of papers that I liked particularly.  A few of them are:

There were a few more.  She also explained liskov substitution principle.  The next talk was by Dr. Raj Reddy.  I liked his knowledge navigator video very much.  After this, Sir Tony Hoare talked about the international verified software initiative.   Today’s programs were concluded with a panel discussion on lack of research initiatives in Indian education institutions. Various reasons and possible remedies were discussed. 

ACM Bangalore chapter is organizing compute-2010 tomorrow and day after.  I’m planning to attend the morning session where they talk about cloud computing.

We just viewed our first Solar Eclipse of the year 2010.  As usual, there were many reports of losing the eye sight if you view the eclipse with a naked eye and ways of viewing the eclipse. I didn’t see much of scientific evidence to the above arguments.  Why would I lose my eyesight?  UV rays and other harmful rays are bounced back by ozone layer always.  So, how can it be any different on an eclipse day?

I always believed that those harmful rays always existed.  Only difference is that, you will never be able to see the Sun directly due to its brightness.  This is possible on an eclipse day.  More over, though the light appears not that intense on an eclipse day, its good enough to harm your cornea.  Note that, Cornea doesn’t have any way to sense pain and you will never see when your rods and cones are getting burnt. 

This report from Nasa supports the above argument.  Here are some excerpts. (Thanks to Girish for pointing out to this report)

The only time that the Sun can be viewed safely with the naked eye is during a total eclipse, when the Moon completely covers the disk of the Sun. It is never safe to look at a partial or annular eclipse, or the partial phases of a total solar eclipse, without the proper equipment and techniques. Even when 99% of the Sun’s surface (the photosphere) is obscured during the partial phases of a solar eclipse, the remaining crescent Sun is still intense enough to cause a retinal burn, even though illumination levels are comparable to twilight [Chou, 1981, 1996; Marsh, 1982]. Failure to use proper observing methods may result in permanent eye damage or severe visual loss. This can have important adverse effects on career choices and earning potential, since it has been shown that most individuals who sustain eclipse-related eye injuries are children and young adults [Penner and McNair, 1966; Chou and Krailo, 1981].

There are other Indian superstitions to spice up an Eclipse.  I’ll leave that for another post.

I have been using Airtel International calling cards for a while.  Rate to US is relatively cheaper compared to the full international calling rates.  Only problem I had was the long dialing procedure which used to take almost a minute to get into a conference call.  I worked around the manual dialing process by storing frequently used numbers in the phone along with the calling card number.  For eg. one of my contact entries look like this. 1802202pppp123456789012#ppppp0015172345678#pppp123456#
where
1802202                      is the Airtel access number
123456789012           is how my card account number looks like (12 digit)
001 517 234 5678     is the US number I need to dial
123456                        is the passcode for the above conference number
‘p’ adds one second delay in the dialing sequence.  ‘p’ and ‘w’  (explained below) can be added to the dialing sequence by pressing ‘*’ key repeatedly on your Nokia phone.  On Blackberry, use keypad ‘b’ for wait and ‘n’ for pause or use the options menu (options menu can be invoked while entering a number by pressing the Menu key) and choose "Add Pause" or "Add Wait".

RFC 3601 (Text String Notation for Dial Sequences and  Global Switched Telephone Network (GSTN) / E.164 Addresses) defines the implementation of pause and tonewait as follows:

Implementation of  ‘pause’  and ‘tonewait’: 

  • one instance of a ‘pause’ SHOULD be interpreted as a pause of one second between the preceding and succeeding dial string elements;
  • a ‘tonewait’ SHOULD be interpreted as a pause that will last until the calling party hears a dial tone or another indication  that more dial string characters may be processed. An off-hook  indication MAY also be interpreted as this kind of indication      (meaning that the audio channel has been opened to the  receiving party)

As you notice, the above number sequence is very long. Sometimes, Airtel doesn’t connect you correctly within the 4-8 seconds delay you introduced between the numbers.  You can add a ‘tonewait (w)’ instead of pause.  So, if you modify the above number like this:

1802202w123456789012#w0015172345678#w123456#
Note that, ‘p’ has been replaced with ‘w’.  In this case, phone waits for the next set of sequences at every ‘w’.  You can listen to the prompt and ask phone to send next sequences.  On nokia, you will see the prompt “Send” against one of the option keys.  Blackberry shows the next sequence of numbers  and wait for you to press the trackball to send those numbers.  I noticed that Blackberry ignores the ‘w’ if you have a ‘p’ and ‘w’ together.

However, storing the numbers like this become annoying soon because:

  • Airtel doesn’t have the notion of recharging.  (This service is outsourced to another company).  You get a new account number when you ‘recharge’ and you have to edit your phonebook and update all numbers that you stored this way.
  • You may want to dial different numbers. Dialing this entire sequence (if not stored in the phone book) is time consuming considering that quality of service is not great from Airtel and there is no guarantee that you will get connected at the first attempt.   More over, your line will get disconnected multiple times and you will have to redial if you are taking the call while traveling in Bangalore.
  • You will take more time to get into a conference number because you have to dial a large sequence of numbers.

This is where I started exploring the way of registering your phone for the account number that you receive so that if I use my phone to dial out, I don’t need to enter the account number.  This FAQ from Airtel was the starting point.  This didn’t work as expected and the customer care was clueless as usual.  Here are the steps to register your phone.

  • Dial 1802202
  • Enter your 12 digit account number
  • You may be asked to choose the language if this is the first time you are using the number after a recharge
  • Dial 111# after the IVR announces your account balance
  • Follow the IVR.  Press 1 for registering the card.
  • You will be asked to enter the PIN.  The default PIN is 0000 (4 zeros).  You can’t change this.
  • You will be given another set of options related to phone registration.  Follow the IVR and register the phone.  You will have to enter 0091 before your 10digit phone number.

Henceforth, you will be presented with your card balance anytime you dial 1802202 using your registered phone.  Your dialing sequence becomes simple now. For eg.

1802202w0015171234568#w12345#

(Use ‘w’ or ‘p’ as explained earlier).  Just register your phone after a recharge every time and then you don’t need to update your phone book entries.

One last line of caution for those who use your mobile phone for taking calls. I noticed that my line gets disconnected at every hour.  Airtel customer care tells me that there is a DoT regulation that the lines should not be active continuously for more than an hour.  I don’t know if this is true or this is a way of Airtel managing a large number of customer base with fewer lines.

Next Page »