Wednesday, April 09, 2008
Wednesday, April 09, 2008 5:28:49 AM (India Standard Time, UTC+05:30) ( Musings | Technology )
I mentioned at the end of my last post that British Airways seemed past the turmoil of problems surrounding the new Terminal 5 at Heathrow.   30 minutes later I was watching ground crews unload all the bags from the hold and manually check them against a list.   That process took over an hour.   The delay in London added up to a 2 hour delay reaching LAX.   When we got to LAX we had to taxi for a very long time to the most remote part of the airport, instead of going right to the International Terminal.   Then, to make matters worse, the jetway operator couldn't get the walkway to line up to the airplane.  That meant about 10 minutes of pointless delay.   We finally got on buses to the terminal, customs was packed taking another 30 minutes.  Another 15 minutes looking everywhere for my suitcase lasted until 11:00 PM, 30 minutes after my connecting flight to Phoenix had departed. 

The last part of the fiasco:  Nobody staffing the Lost Baggage desk from British Airways.  That left more than a few very angry people.

Throughout the whole trip, I was calm.  I have learned that it rarely does any good to get angry.  And the people on the plane were very apologetic.  At one point the captain came out to explain the situation and said he could have shared the information from the cockpit, but wanted to face the disappointed passengers.   He and the other crew were obviously frustrated and embarrassed by things that were outside of their control.

I am frustrated and embarrassed by my profession.  From what I read, this is largely a failure of a complex software system and a larger project to operate Terminal 5.   BAA seems to have ignored, through ignorance or ego, a similar disaster from the new Denver Airport a few years ago.   They probably trusted the hype of IBM and the other vendors that their software would "just work" without comprehensive testing that simulated real world situations.

But I don't hold British Airways totally blameless.   I don't know the details of what they could have done better at a higher level, but at a personal level they messed things up at LAX by not having staff on hand when one of their main flights from Heathrow arrived.  There were only two BA staff to handle dozens of angry and frustrated  customers.   These same two had to work the baggage area and then rush up to man the lost baggage desk.   Second, they offered no compensation for my missed connection and subsequent overnight sleeping in the terminal.   They said it was because I didn't book the flight through them.   Very poor customer service.  

As for my missing luggage?   The xeroxed form letter they gave me said to expect it within 36 hours.  It is going on 72 and they don't have any update.

Comments [0] | | # 
Tuesday, March 18, 2008
Tuesday, March 18, 2008 11:02:39 AM (India Standard Time, UTC+05:30) ( Technology )
If you are reading this then you are seeing my site running on a new server.   My old host (WebHost4Life) seemed to just get slower each week to the point where I was hearing about it from readers.   Researching web hosting services is difficult because there seems to be a lack of credibility across all the services that offer comparisons.   

My new host is DiscountASP.net which I chose because  it has many good reviews from developers I read as well as top hosting service recognitions from developer magazines.

It seems like the right balance of features, performance and cost.   I had hoped that WebHost4Life would in fact be for life, but it is just too slow.

Please let me know how the site performs or if there are any problems. 

Comments [0] | | # 
Monday, March 17, 2008
Monday, March 17, 2008 2:43:40 PM (India Standard Time, UTC+05:30) ( Technology )

A member of my team flew into Chennai over the weekend.   For the last three weeks Jayashree had been getting packages from Amazon containing replacements to electronics that had been destroyed by the horrible electrical system here.   That list included replacement power supplies for our Xbox and Wii consoles.   I added one small treat to the list, a pair of Skull Candy Full Metal Jacket headphones.  I am impressed to the point that I have to spend a few minutes raving about how good these headphones feel and sound.Fmj-silver

They are an in-ear design and come with three different size gel ear sleeves.  The ear bud is all metal (hence the name Full Metal Jacket).   The sound quality is amazing for head phones.  There are two size of speakers, I chose the larger 11mm over the 9mm.  I have been using the standard issue iPod headphones and they aren’t low quality, but these are far superior.   I started off listening to the Grateful Dead’s “Sugar Magnolia” and Jerry’s guitar really comes through.  I switched back to the iPod phones and everything sounds a bit more muddled.   This is impressive considering my ears have been surgically repaired and even now don’t work too well.

For the next test I chose Samuel Barber’s Adagio for Strings.   The piece has a strong cello foundation that cause my old phones to crackle at high volume.   The FMJ phones remained crystal clear even max volume.

The SkullCandy website targets the punk rock set and I finished off the test with “Rocky Road to Dublin” by the Dropkick Murphys.   I usually listen to DKM at full volume and the Skull Candy buds lived up to expectation.  Very clear, absolutely no distortion.

Due to permanent tinnitus (ringing ears), I prefer to keep headphones on as much as possible, and these are a great way to go.  Very comfortable and high quality.

 

Comments [3] | | # 
Thursday, December 20, 2007
Thursday, December 20, 2007 5:11:00 PM (India Standard Time, UTC+05:30) ( Musings | Technology )

JoelDough2.jpg

What a great opening line.  

My goal is to try to be as good a writer as Joel or the people listed below.   I am very grateful for all the people who take time to read this blog.  It started as a way to stay in touch with family and coworkers during my first trip to India.  Sometimes it reads like the Astonishing Tales of Costanza.   I can see from the comments that there are more than a few that are interested in our adventure.    There are a number of other blogs that I check regularly and may be of interest to you.

My relatives:
Kelli is married to my brother Derrick and is the mother of a herd of boys and a cute girl that can pass as a twin of Abby.  She writes at: http://foreverswanerfamily.blogspot.com/

India Expat Blogs:
I read every word of Teresa's blog before deciding to come to India (it should have persuaded me to stay in Arizona, but it was a realistic description of the "joy" of living in India).  Teresa's blog is: http://my.opera.com/myfamilyinIndia/

All I know about Danie is that she is the mother of Connor, a sixth grader at the school.  I know about Connor from Sarah who discusses the other 6th grade boys.   Danie writes at: http://earthtodanie.blogspot.com/.   As for Connor, HeHeely has his own blog: http://heheelys.blogspot.com/

Not sure the name of the person who writes this blog, but they just left Chennai for the US.  It was an interesting read:  http://nmj3.blogspot.com/

Technical Blogs for Developers:
If you are a developer then I suggest you read the following three blogs DAILY.  If you work for me then I consider it part of your job to read each new post on these blogs, in other words, I pay you to read these three blogs:

Scott Hanselman's Computer Zen: Scott and I have many things in common beyond the same birthday.  The significant exceptions being that is he is a much better writer and software architect than I am.  Scott has wide range of interests and skills.  His is the first blog I check each day.  http://www.hanselman.com/blog

Coding Horror:  Jeff posts original and well constructed articles 4-5 times per week.   His writing covers every aspect of the craft of software development and is essential reading for any technologist. The title comes from Code Complete, the most important book for a software developer to read (and re-read). http://www.codinghorror.com/blog/

Joel on Software: Joel is the master of writing for developers.  While his writing is increasingly less frequent, but the archives and his new posts are of a consistent high quality.  Study every word he writes.  http://www.joelonsoftware.com

A blog and a podcast for managers:
Manager Tools.  This is more podcast than blog, and something I look forward to listening to each week.   These guys have no-nonsense practical advice for every aspect of being a manager, from dealing with body odor to annual performance reviews.   http://www.manager-tools.com

Rands in Repose: Excellent writing about managing technical people and living and working in the technical world.   Irreverent and direct and very entertaining.  http://www.randsinrepose.com/

Comments [1] | | # 
Wednesday, December 19, 2007
Wednesday, December 19, 2007 12:31:22 PM (India Standard Time, UTC+05:30) ( Living in India | Technology )

A woman jumped out of the 9th floor of an office tower in Kolkata.   It was the same day I arrived last week, in the same building as our office, just 2 floors below.    As I arrived at the office a television news crew was packing up.   I would not have known about it if not for the proximity.   This paragraph in particular from the next days' Times of India reminded me of the need for cultural awareness in a job like mine.

   "The incident brings to lithe killer pressure of working and struggling to retain one's job in the 24X7 sector.  Unlike other countries, India still lacks a safety net for employees sacked from the industry that has triggered the current economic boon."

My group has not had any layoffs and I do not see any happening in the near future.   And this is not just an Indian issue, losing a job is hard anywhere.  But in the US you have Unemployment Benefits and other help that can at least soften the impact.  I wonder if Jayita Ghosh lost her job because she worked for some big US company that didn't consider the impact of hiring and then laying off staff in a country that has a hard time dealing with unemployment. 

On the plane ride back to Chennai I considered what I would do if I had met her in that coridor as she prepared to jump.  Of course I would hire her on the spot if it meant keeping her alive.   The challenge here is that you could spend all your time and fortune helping people in difficult circumstances.

JayitaGhoshArticle.jpg

Comments [0] | | # 
Monday, December 17, 2007
Monday, December 17, 2007 2:35:37 PM (India Standard Time, UTC+05:30) ( Technology )

Google has updated the image data for Chennai.  The previous image of my office was obscured by clouds.  Now you can see my office.  I never knew the roof was blue.  

 

Google Maps view is: http://maps.google.com/maps?ie=UTF8&ll=13.022537,80.20689&spn=0.007756,0.009978&t=h&z=17&om=1

 

I have also attached a Google Earth KMZ file for David and anyone else who uses that program.

 

Comments [0] | | # 
Sunday, January 08, 2006
Sunday, January 08, 2006 10:44:39 AM (India Standard Time, UTC+05:30) ( Musings | Technology )

My Sunday night hobby for the past couple of months is to try and programatically solve the NPR Sunday Puzzle.   Each Sunday morning on Weekend Edition Sunday Will Shortz and Liane Hansen offer a puzzle.  I have been a fan of this for well over ten years, but recently started using it as a way to have fun programming.  Most of the recent puzzles have involved words of a certain type (such as job titles or animals).  Since I don't have a complete database of words in a particular category, my resolution of the Sunday puzzle has not been complete, (i.e. to the point of saying "The Answer is: x").   After 5 or 6 weeks of getting a range of possible answers they finally gave me a puzzle that could easily be solved.

I missed last weeks puzzle because I didn't wake up in time, but remembered on Saturday night just in time to solve it before waking up to the answer tomorrow morning.

Last weeks puzzle is:

From Ed Pegg, Jr., who runs the Web site mathpuzzle.com: The numbers 2, 4, 6 and 30 are the first four numbers whose names lack the letter "E." What is the 23rd number whose name lacks an "E?"

I had wondered what the significance of the 23rd number was, if I was more quick witted, that alone should have been enough of a clue to solve the first puzzle of the new year.

Instead, I decided to use T-SQL as the language for this, in part because I think that the .Net Framework has a function that does what I did in the function below, taking the fun out of it.

So, here is the T-SQL code.  I know it is choppy and clunky, and the variable names don't make sense, but it works really well (for numbers up to 4 digits long) and was very easy to write.  In addition, it is a nice example of recursion, which makes me feel good after reading this post by Joel Spolsky.  I noticed as I pasted the code into this post that I have done a number of implicit variable conversions, this code would not hold up well in a code review, but it got the job done.

create function fn_NumberToText(@value int) returns varchar(100)

as

BEGIN

-- ********************************************************

-- * CODE COPYRIGHT 2006, Shawn Swaner *

-- * http://www.shawnswaner.com *

-- * Published under *

-- * Creative Commons Attribution Share-Alike 2.5 License *

-- * No warranty, express or implied is provide by author *

-- ********************************************************

declare @name varchar(100), @valueText varchar(9),

@Left1 char(1), @RightOrdinal char(1), @RightPair char(2),

@RightTrio varchar(3), @Left2 char(2)

set @valueText = Convert(varchar(5), @value)

if LEN(@valueText) = 4

BEGIN

set @Left1 = Left(@valueText, 1)

set @name = dbo.fn_NumberToText(@Left1) + ' ' + 'Thousand'

set @RightTrio = RIGHT(@valueText, 3)

set @name = @name + ' ' + dbo.fn_NumberToText(@RightTrio)

END

if LEN(@valueText) = 3

BEGIN

set @Left1 = LEFT(@valueText, 1)

set @name = dbo.fn_NumberToText(@Left1) + ' ' + 'Hundred'

set @RightPair = Convert(varchar(2), Convert(int, right(@valueText, 2)))

set @name = @name + ' ' + dbo.fn_NumberToText(@RightPair)

END

if LEN(@valueText) = 2 and LEFT(@valueText, 1) <> '1'

BEGIN

set @Left1 = LEFT(@valueText, 1)

set @RightOrdinal = Right(@valueText, 1)

select @name = case @Left1

when 2 then 'Twenty'

When 3 then 'Thirty'

when 4 then 'Forty'

when 5 then 'Fifty'

when 6 then 'Sixty'

when 7 then 'Seventy'

when 8 then 'Eighty'

when 9 then 'Ninety'

end

select @name = @name + ' ' + dbo.fn_NumberToText(@RightOrdinal)

END

if LEN(@valueText) = 2 and LEFT(@valueText, 1) = '1'

select @name = case @value

when 10 then 'Ten'

when 11 then 'Eleven'

when 12 then 'Twelve'

When 13 then 'Thirteen'

when 14 then 'Fourteen'

when 15 then 'Fifteen'

when 16 then 'Sixteen'

when 17 then 'Seventeen'

when 18 then 'Eighteen'

when 19 then 'Nineteen'

end

if LEN(Convert(varchar(4), @value)) = 1

select @name = case @value

when 1 then 'One'

when 2 then 'Two'

When 3 then 'Three'

when 4 then 'Four'

when 5 then 'Five'

when 6 then 'Six'

when 7 then 'Seven'

when 8 then 'Eight'

when 9 then 'Nine'

when 0 then ''

end

return @name

end

go

-- test statement

-- select dbo.fn_NumberToText(1111)

-- script to solve the problem

declare @iter int, @match int, @text varchar(100)

set @iter = 1

set @match = 0

while @match < 23

BEGIN

set @text = dbo.fn_NumberToText(@iter)

if charindex('e', @text) = 0

BEGIN

set @match = @match + 1

if @match = 23

print 'The Answer is: ' + @Text

-- TESTING CODE -- print Convert(char(2), @match) + ': ' + @text

END

set @iter = @iter + 1

END

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Comments [0] | | # 
Tuesday, October 25, 2005
Tuesday, October 25, 2005 6:48:16 AM (India Standard Time, UTC+05:30) ( Technology )
How do you get a kid to be interested in learning to program?   Show them how to create a program to do/help do their homework:
 
Josh has frequent assignments that involve reading a page long story and then answering some questions about the story.  Included are some scrambled words that appeared in the story.  Josh asked if a computer (like what they used in "National Treasure" to decode Abby's password) could help out.
 
The result, I told Josh that he could use any program he created to do his homework, and that I would help him out with his programs.
 
To show him how easy it could be, I created a program to provide a list of possible matches to word scramble questions.
 
create procedure usp_TextUnscramble @input varchar(20)
as
declare @query varchar(1000),
 @position int, @length int, @currentLetter char(1)
 
set @query = 'select top 1000 WordItem from WordList where '
set @length = LEN(@input)
set @position = 1
print @length
 
while @position <= @length
BEGIN
 set @currentLetter =  SUBSTRING(@input, @position, 1) 
 set @query = @query + ' charindex('''
 set @query = @query + @currentLetter
 set @query = @query + ''''
 set @query = @query + ', WordItem) > 0 AND '
 
 set @position = @position + 1
END
set @query = @query + ' LEN(WordItem) = ' + convert(varchar(5), @length)
 
print @query
exec (@query)
go
 
exec usp_TextUnscramble 'rmragrporm'
 
The WordList table is an import of the Moby Word List.  Tonight we are going to wrap this code in a Windows application so that he doesn't need to use Query Analyzer to run it.
Comments [0] | | #