Sunday, December 30, 2007

Ganges

Now I am beginning to wonder if I should change the name of my blog to "IndiaImpressions" or maybe "IndiaAmerican" as it would appear that I am infatuated with the great country of India and it's people.



I received a book named Ganga: A Journey Down the Ganges River by Julian Crandall Hollick. I finished reading the book in 3 days during the week off for Christmas and New Years. The web site for the book has some really nice photos and accompanied radio broadcasts from which the book originated. Over the next few days left in my vacation, I hope to listen to the NPR broadcasts so I can comment on them. I really enjoyed the book as it gave me a better understanding of Indian mind. The Ganges is considered a holy goddess and therefore cannot be polluted but it can be dirty. Even if it dried up from what we westerns think of as factory pollution and human waste dumping freely in the Ganges then the goddess will live on. Since this British man spent 20+ years in India researching the Ganges, the book has valuable insights to help a weak American grasp such deep concepts.

In the future I hope to walk parts of the Ganges with a good friend of mine, who has walked almost half of it in bi-yearly two week jaunts and has only 20 more years to go to complete the walk.

Saturday, December 29, 2007

Real men can weep

My blog, which started out as a collection of web design problems and solutions as I encountered them, has turned into a discussion of Indian movies and the Hindi language. Having lived in India for two years, when I was but 20 years old, there is something that happened to me while I was there that I have not been able to remove since - I just love to be around the people of India and to learn more about the culture.

Last night was very interesting... My wife and I wanted to see a movie at the local Indian movie theater. I read the reviews in the local newspaper of the new Indian films currently showing and one of them sounded bad while other one had a certain appeal. A really good friend of mine once told me that he did not like movies that invoked your emotions as the director was manipulating you. I understand his view, but for me a movie has to stir up your emotions or make you contemplate life in order to be a good movie. There is no way I could watch so many Indian movies without this view, as I still believe the goal of an Indian movie is to make you cry, laugh, and dance, but not particularly in that order!

The movie we choose to see was Taare Zameen Par. I was really wondering what we had done as the opening credits were quite strange, but it all made perfect sense by the end of the movie. In summary, I have never ever wept as much as I did last night. I wanted to quickly leave the movie theater when the movie was over, in case I saw someone I knew and had to show them my red eyes! The movie was so emotional for me due to many reasons...

When I was in the first grade I had severe learning disabilities as I had dyslexia. My first grade teacher hated me and it was a mutual feeling. I would not sit still and I could not read, but I loved to draw - not a good combination when the whole goal of the class was to learn how to read. In the rural Virginia school I attended, they decided by the third grade whether you were in the smart class or dumb class and split you up. My mother was determined not to allow me to get into the dumb class as you basically never got out and by high school you were delegated to shop, woodworking and industrial classes. Looking back this seems so cruel and such a bad educational system. Anyway, for two years my mother tutored me and somehow using the local library as a resource learned how to help me get over my dyslexia. I actually only learned about this recently. Throughout my life, few things have come to me easily and I just overcame by working as hard as I could.

Our daughter had similar reading disabilities and had trouble reading until she got into the third grade. The schools now are much more forgiving and she was given special reading classes and taken out of her normal classroom every day for 1-2 hours of tutoring with teachers who specialized in disabilities. Now she loves to read and had the highest grade for reading in her last year of elementary. One of our boys has suffered thru his disabilities, but much later in his life. With the internet providing so much information, my wife has become an expert at helping him. I can just imagine what would become of them both 100 years ago, when ignorance on such issues ruled.

One more point... I have had many Indian friends over the last 25 years who have attended private Catholic schools in Indian as they are considered the best education you can get. Once you get to be college age, if you are the absolute best you can try to get into one of the 5 Indian Institute of Technology (IIT) universities as many of my friends were able to. One of them told me there were 25,000 applications for the 1000 freshmen allowed to attend. Just imagine how privileged you are when you graduate from these universities - truly the cream of he crop. What happens to everyone else who does not make it? It reminds of of professional sports in USA. There is an excellent book that documents just how hard it is to get into pro sports called Fair and Foul: Beyond the Myths and Paradoxes of Sport.


Back to the movie, I think so many factors came into play to cause such emotions to flow. Having lived the subject of the movie and having seen my kids live it as well along with having lived in India, it all came to life in this movie. When watching the movie, I thought I had been there before. In researching it this morning I found out that I had indeed been in the same location for a month when in Mahabaleshwar, Maharastra some 25 years ago. When watching the movie I saw a sign that said New Era High School and the town of Panchgani.

It all just leaves me speechless.

Tuesday, December 25, 2007

Remembering in Tears

So it is Christmas and time for me to reminisce about Christmas' past as this is my 48th Christmas. The up and coming year will be a year to remember enduring feats. My sister is turning 50; I will be married 25 years; two sons will be out of the home (hopefully) and other personal landmarks.

Last night I watched It's a Wonderful Life on TV with my wife. I think I had seen it when I was a just a young whipper snapper, as a couple of parts seemed familiar. Watching that movie made me become nostalgic as we just gotten back from eating at Olive Garden for my son's 17th birthday, when I turned on the TV. My son told me twice during the evening how much he liked that movie. They just don't make them like that any more - I am talking about both my son and the movie!

This has been an emotional couple of weeks for me. It started off last weekend when I rented an Indian movie called BLACK, which I had watched on the plane to India in February of this year. I cried like a baby on the plane and was hoping no one was watching this American man with tears running down his face. India has a way of invoking a broad range of emotions in anyone. I must say that in the privacy of our bedroom, the tears on the plane were nothing compared to my uncontrollable sobing. I tried to turn over so my wife would not see a grown man cry. It amazes me that a movie can invoke such emotions. In this case, the subject matter helps as the movie is an Indian version of the life of Helen Keller. I remember hearing about her when I was a boy. Reading her story now reminds me how little I do with what GOD has given me and how she overcame such huge obstacles.

The next crying event of this week was a CD my wife gave me to listen to in my car driving to work. I thought it was going to be something to stimulate me to think and to challenge me to be a better person. It turns out my wife wanted to embarrass me in public as I was crying huge tears in my car! Just a newer case of someone doing amazing things with their life as David Ring has Cerebral Palsy and yet he did not just give up, he travels all over the USA as a motivational speaker. He motivated me to cry that is for sure. Such an amazing story of how someone can take the little GOD gave them and use it for great good. The CD I was listening to is available on-line at Focus on the Family as a 3 part series called "Victorious Living".

Lastly, a good friend of mine, sent me a YouTube video of Evel Knievel speaking at Robert Schuller's church. I remember when I was a young kid how I marvelled at Evel Knievel's daring antics. A couple of years ago we saw his son at the NC State fair jump a bunch of vehicles just as his father had done many years before. I had anyways heard Evel Knievel liked to live life in the fast lane or cars and women. It warmed my heart to hear that in his last moments of life on this earth he wanted to follow in his Creator's footsteps. I was even more amazed at the comments in this YouTube video as they are people that really take offense to spiritual things. Reminds me of how I used to be many years ago, but that will have to wait for another day.

Wednesday, May 23, 2007

Hidden secrets of every society


My wife and I saw the Indian movie Provoked this weekend. It did not shock me that there was only one other couple in the theater with us when we saw it, as I do not expect this movie to be popular. It is not your typical feel good movie, but a true life story of an abused wife who kills her husband. We get used to bad news in the west, but to even talk about a husband abusing his wife is shocking for an Indian topic. Shocking that someone would try to make a movie about such a taboo topic.

I was 19 years old when I first went to India. I knew very little about India, except that Indira Gandhi had something to do with it and that my mom always told me "eat all your food since children are starving in India". For some odd reason I thought India would be full of highly religious people. I still remember how shocked I was the first time I saw drunk men in a remote village. I had the strangest misconceptions, but what to expect at such a young age! I would not have been able to handle such a harsh topic as wife abuse.

Becoming wiser in my old age, I now understand morals have nothing to do with culture as there are good things about India and America and at the same time evils I really don't want to know about. There are so many good things about the Indian culture that I really like and appreciate the more I get to know Indians. I have to say that I am a better person because of becoming immersed in another culture other than my own.

Thursday, April 26, 2007

death & taxes

The last couple of weeks have made this topic come to life for me.

We paid the highest amount of taxes this year that we have ever paid. I have never thought about avoiding taxes. It is just something I do every year. I try not to think about how they are used improperly by the government as that would only drive me crazy. I try to think how much I like the roads here and how wonderful are the public universities. I also like my freedom as that is priceless.

Having met my wife at VaTech and her grandfather was Dean of Argiculture for 30 years there, we have a lot of family history involved in VaTech. The senseless deaths of 33 people was truely a sad day for me. I have always thought about my time in Blacksburg as perfect and such a wonderful place to attend college. One crazy person has messed up my perfect view of that small town with an even bigger student population than permanent residents. One fellow worker told me his son pulled an all nighter and accidently slept in and missed his class. He was supposed to be in room 204 in Norris where 4 students were killed. What a perfect day to skip class and obviously GOD protected him. It just reminded me that mental health is so neglected in America and if you don't deal with the real issues, there will be consequences.

Today I learned that a good friend of mine died yesterday. It really made me sad as he suffered for the last year. Now he is gone, his young children and wife have to suffer, which makes me even more sad. Life can be hard sometimes. There are no simple answers to such suffering. Jim Cortese was a true friend in that he was willing to share his sadness and happiness with me. For two years we worked closely together and he is the best designer I have ever known. He transformed the product we worked on together into the most usable product at the company. What shocked me the most is that he was younger than I was. That is what really hit home for me. Younger and with surviving small children. Sometimes life just does not seem fair. Makes me want to enjoy every day with my kids!

Sunday, April 15, 2007

fight over the backyard

I have been in a fight over who owns the yard behind our house for the last month. Two weeks ago, I lost the battle for that day. Yesterday I returned to the battle field as I want to win the war. Vines have been trying to kill my tress, but yesterday I taught them that I am in it for the long haul. Two weeks ago as I was moving the vines I had removed from some of the trees to a brush pile, I tripped on a stump, which I think was trying to get me back for hurting it's brethren. The farmer who originally owned the land, deposited a pile of glass and metal right where I fell and that is why I think the stump tried to get me. I cut my arm pretty bad and had to rush to the local Fuquay Urgent Care, where I was seen by a great doctor who gave me 14 stitches. I had a "nice" tetanus shot, which will keep me out of harms way in the battle zone for the next 10 years.

I have three different vines trying to kill my trees. The most hasty of all is the green briers. I have seen this enemy before growing up in Virginia. The bright green stems and the long yellowish thorns give them away. They really climb up a tree and they once they reach the top, the grow leaves and have no thorns. The second enemy is wild grapevine. It does not have thorns, but it makes up for it in the shear volume of vines it grows from one root. Once they reach the top of brushes or small trees they pretty much choke the poor neighbor to death. I actually have found a couple of grapevines 2" in diameter, which reach to the top of 100' trees. The last one I have been fighting is a hard enemy to conquer, it is Carolina jasmine. It looks so pretty this time of year with its yellow flower, but it really puts the choke hold on small bushes. It wraps itself around the trunk and a strangle hold. It you try to pull it off, then it will either break off or snap the tree or brush. I have one 50' tree that it crawled all the way up and made a cork screw bite into the tree half way up. It made sure if it ever died in battle it would leave a mark to be remembered.

For now I have 1/3 of the area cleared of vines and it is looking very nice. In other areas I am not going to clear I have wild raspberries and blackberries, so I am forced to leave the nasty vines alone to I can have the berries from the good vines. I also a have a couple of poison ivy vines, but I have to leave those alone as I am highly allergic to them, but that is another story...

walled offices vs. cubicles

I moved into my walled office this week, so I have to comments on comparing working in a walled office versus cubicles. Having worked in cubicles for 8 years out of a total of 23 years of my working life, I am speaking from experience.

As an aside, I read an article by Joel Spolsky once of what he thought about this topic. I see he is still writing about this topic as they are considering moving to a larger space. I am in no way as creative in my thinking as Joel, but then again he runs a company and wants the best for his employees, which is a great thing.

For me, there are both pluses and minuses about either walled offices or cubicles. At the moment I cannot decide which I like better.

















  Good Bad
Walled Offices

  • Privacy when you need it to make a personal phone call

  • Can listen to music without headphones

  • Can put up posters and paintings on the wall

  • Personal white board to sketch designs and to-do notes

  • Wife and kids can come and I don't feel about being loud




  • Harder to have interaction with team members

  • Must work at communication to learn what others are working on

  • Others may need your help, but must walk to see you for help


Cubicles

  • When surrounded by team members, easier to know what everyone is working on

  • Perfect for Extreme Programming, if no walls are present

  • Easy to help others when they get stuck and need help

  • Fosters team environment in getting to know team members




  • Everyone hears personal conversations or phone calls

  • When loud talkative people around, can be very distracting

  • Little room for personal items, unless they are small

  • Hard to pair in small cubicles and show someone your screen

  • Suffer through gopher syndrome : people popping up out of chair and talking across cubicles


Friday, March 23, 2007

Eklavya


The latest film my wife and I went to see was called Eklavya. We saw it at our local movie theater called Galaxy Cinema. Much of the film was shot in the Devigarh Place in Upaipur, India. If we had unlimited money, then it would be a fun place to visit for a 2nd honeymoon! I enjoy movies like this one, because they have a point instead of being pure entertainment with no thinking involved. I liked how they took a traditional story from the ancient Mahabharata and came up with a story in the present that showed the same struggles as the original story. The struggle of following traditional values in a new age at any cost is such an important topic for today. The original story on the surface does not seem to be applicable for today, but the same question remains, should I follow dharma or not?

Sunday, March 4, 2007

Names in Hindi


Rick : िरक
Sarah : सारा
Nathan : नाथन
Daniel : ढानेले
Andrew : एनडरू
Jake : जेक
Jessica : जेिसका
Evans : इळनस

Learning Hindi हिंदी

My current long term goal is to learn Hindi हिंदी. A group at work is learning Hindi during lunch breaks on Mondays. I am not a huge fan of the book we are using as the font is so small. It is the classic book for learning Hindi called Teach Yourself Hindi.

I really like the Hindi Script Tutor web site as I can see how the letters are drawn and can hear them spoken so I don't have to guess on either.

As soon as I can get a grip on the Devanagari script I am going to go thru the NC State Hindi site by Afroz Taj. He is also on local TV in Raleigh on Time Warner channel 18 from 9-10pm on Monday and Wednesdays.

These are my other 3 attempts at learning non-English languages:

  1. 1980 to 1982 - while in India I was mostly in in West Bengal and Bangladesh so I learned Bengali using the LAMP method. The beauty of this method is immersion in the local culture. I lived with people who did not know English so I learned the language by listening and knowing what was the correct thing to say in the appropriate situation. This is so much better than learning by translating from English to Bengali. I taught myself to write and read the script only when I returned to USA when being around Bengali friends.


  2. 1983 - to graduate at VaTech I was required to take a foreign language, so I chose Spanish and took a compressed full year of Spanish in 9 weeks in summer school. The class was 3 hours a day 3 times a week and we had to speak 1 hour of each class to our Cuban speaker in Spanish only.


  3. 1987 to 1989 - while living in Saudi Arabia I taught myself how to write Arabic since I love the calligraphy of the language. I enjoyed the artist value of the language as they use it as an art form as well as a language. An example of this is Hassan Massoudy's art


So far I have learned how to write the vowels and my name is pretty easy to write: िरक, using this on-line Hindi unicode editor.

Thursday, February 22, 2007

Geocoding

What in the world is Geocoding? The basic idea is to supply your address and find the matching latitude and longitude values like this free geocoding service. Maps within Google use this technique as well as other web maps. It is kind of scary how much information is available from your physical address or publically listed phone number if you also retrieve the census track number. While there is free US Census TIGER data, the alternative is expensive up-to-date Tele Atlas data.

Monday, February 19, 2007

Customer support gone wrong

My father-in-law told me that his Compaq Presario 900Z wireless internet just stopped working one day. Since it was his 80th birthday I felt sorry for him and told him I would get to the bottom of it. I decided to call Linksys since he was using Time Warner Road Runner with a cable modem with a Linksys router, which was all working fine the last time I was in his home. I knew better than to try Time Warner customer support, as I had done that before and failed miserably, in getting any help that is. I struggled thru for 1 hour with Linksys explaining the problem and then I was finally told that I had a hardware problem where I had to reflash the IP stack. What in the world did that mean? I then called HP as I could not find anything about this model on their web site. For 1 hour I then walked thru the same problem again only to find out he did not know what reflashng meant nor now to fix my problem. I then called Linksys again with my trouble ticket number and for another hour explained the problem all over again - I was not sure what the trouble ticket did for me if I had to start all over again. At the end of the hour, he told me he would try one final thing. That did not work, but at least it gave me an idea of what to try. Finally after 3.5 hours I fixed the problem. Man do I ever hate Windows even more and am all the more thankful for my Apple laptop and iMac desktop at home.

Indochine Cafe

For my father-in-law's 80th birthday he requested we as a family eat at Indochine Cafe in Wilmington, NC. Besides the fact that my mother-in-law insisted on paying for the meal, it was a great place to eat. The food was so excellent that I would go back any chance I get.

We tried many things, but the 3 I liked the best were the following listed from hottest spice-wise:

1. red curry
2. green curry
3. yellow curry

The red curry was one of the hottest dishes I have put in my mouth and just kept getting hotter the more I ate. Finally my temples felt like they were increasing 1 degree in temperature every minute. Then the back of my neck started sweating. What a strange experience but the taste was so good. I also tried the green curry and it must have been the coconut sweetness that did not give it the same edge. It was also very hot but the hotness did not last. If you like coconut and hot food, then it is a perfect dish. The yellow curry was spicy with tumeric based spices and had a great flavor but was not hot at all.

The environment is so unique with Buddhist statues all around and lovely pottery as well. What a nice evening!

Thursday, February 15, 2007

PHP code

I have heard from several developers that they hate PHP, but I have to admit that every time I need example code to help me do something the PHP documentation has never let me down. Why is that? The PHP documentation allows user comments, just like a blog and the comments are displayed at the bottom of every PHP command. For instance, I needed to find a way to read an MP3 file MP3 files and return it to any browser to allow the user to save the file to their computer. Sounds easy, but it turns out the code is quite complex. I searched google for "read MP3 PHP" and found sample code that did not work, and then saw one line at the bottom of the sample that used a PHP function I had not heard of before called "fpassthru". When I went to PHP fpassthru, I learned that using fpassthru is actually much slower than feof and fread. The code I am using was taken from the post named file downloads verified by session vars : 22-Oct-2005 03:36.

Wednesday, February 14, 2007

left undone on A2D web site

I did not have enough time to add the following to my A2D web site:

  1. menus using Suckerfish menus as starting point

  2. AJAX using Prototype Javascript library :: when a need arises I will be ready within minutes

  3. Multiple column CSS layouts

browser compatiablity

I have been working all week long to get my A2D web site working correctly in Safari (Mac), Firefox, and IE 7. I finally achieved it, only to find out A2D does not work in the latest Opera. The good news is that it is not due to the way I designed A2D or coded A2D, but Opera reports errors in latest prototype and rico libraries I am using. I did not have time to revert to an older version of Opera or to debug these libraries and fix the code, so for now you cannot click on the toolbar buttons in Opera. This is the error in the Opera Error Console:

message: Statement on line 1194: Type mismatch (usually a non-object value used where an object is required)
Line 1194 of linked script http://www.attentive2design.com/js/rico.js
Line 78 of linked script http://www.attentive2design.com/js/prototype.js

Most of the fight involved using text shadow for the "Attentive 2 Design" text. I thought I had it working, but the CSS code is very dependent on certain CSS properties. If you set a "background-color" then the shadowing does not work in IE.

The second largest battle was on the width and height of the browser window. I needed this in order to size the content pane on the right hand side of the A2D web site to fill the browser window. I found a web site with working Javascript code to determine the browser size at:

http://www.howtocreate.co.uk/tutorials/javascript/browserwindow

var myWidth = 0, myHeight = 0;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
return {width: myWidth, height: myHeight};

active button underneath content pane
When I had all of this working, I noticed that the active buttons, which I configure to look like horizontal tabs did not look right on Safari as the active buttons were below the content pane. This started happening when I set the "overflow: auto" CSS style on the content pane. The only way I could figure out to fix this problem was to try the following:

Position.relativize(button);
button.style.zIndex = 100;

Then I found out that this code caused Javascript errors in IE, so I had to surround the block with a Safari check:

if (navigator.appVersion.match(/Konqueror|Safari|KHTML/))

Tuesday, February 13, 2007

UCD vs. Activity Modelling

I have been reading about Activity Modelling in contrast to User Centered Design:

Donald Norman's Activity Modelling

The problem is that I am comfortable with UCD so I will have to digest on this a bit before seeing if it can help me.

Swamiji's blog

I helped create a blog for a very good friend, who I was with in India recently:

http://samvaddialogueoflife.blogspot.com/

Sunday, February 11, 2007

blog on India

When I was looking for photos of India of the same places I went, I found one of the nicest blogs I have read. The photos are excellent and give you a great feel for the diversity of life in India:

Destination India

India photos

There are many ways to post photos on the internet, but an easy way to organize photos on your PC and then publish to your web site is to use JAlbum. This has been updated recently and is now even easier to use. Yes, I have a Mac laptop and iPhoto exists, but JAlbum works on just about any platform so I use it so I can help friends who use it. I used a very cheap disposable camera while in India and then scanned the photos on my PSC950 HP All-In-One printer/fax/scanner. Nothing high tech here at all, but even with all of this low tech cheap stuff, the photos did not turn out that bad at all:

Photos of India 2007 trip

I also used Google to search for other people's photos of the same areas I visited and created another photo album of these:

India photos found in Google

Both of these were created using JAlbum with different output skins.

Saturday, February 10, 2007

IE UL width fix

The only way I could get the <ul> custom lists to look right within IE 7 was to use the following Javascript code to adjust the widths os the <ul>:


windowWidth = $('content').clientWidth;
$A(document.getElementsByClassName(name)).each(function(element,index) {
// fix only for IE
if (Element.getStyle(element,'padding-left') != null) {
element.style.width = windowWidth - parseInt(Element.getStyle(elemen
t,'padding-left')) - parseInt(Element.getStyle(element,'padding-right')) - parse
Int(Element.getStyle(element,'margin-left')) - parseInt(Element.getStyle(element
,'margin-right'));
}
});

Thursday, February 8, 2007

rounded corners #2

rounded corners
Just when I thought all was well as the nice rounded corners looked so good on Safari and Firefox, I found out that they look horrible on IE 7. The first problem I found was that the Rico library in IE 7 does not like color names, so I switched the "white" color to "#ffffff".

IE bug with vertical-align:top
Next I have to find out why the Rico demos work on IE 7 but my special code does not. Why does web development have to be so hard? Who would have believed that setting vertical-align: top on the parent <div> would have caused all of the havoc? It is fixed now and looking the same on Safari, Firefox and IE.

Monday, January 22, 2007

Customizing HTML lists

custom styled list
I decided to change the ordered <ol> and unordered <ul> lists on the A2D web site to use a custom style based on one of the List-a-matic styles. The CSS I created looks like this:

.article-list {
padding: 1px 1px 1px 40px;
margin: 0px 0px 20px 100px;
background-color: #cccccc;
color: #ffffff;
border: 1px solid #cccccc;
}
.article-list li {
border-left: 2px solid #4c4c4c;
list-style: lower-alpha;
background-color: #ffffff;
color: #663300;
padding-left: 5px;
padding-bottom: 3px;
}


Wouldn't you know that IE 7 does not display these correctly, but Safari and Firefox show the list as the example image above. Back to debugging IE problems. The problem required a little investigation but isolating the <ul> and then removing and adding CSS style changes until the problem was located. In IE you must add the style padding-left: 40px to allow room for the custom list style lower case alpha characters!

JavaScript dialogs

example dialog
I found an extremely useful JavaScript library called Prototype Window which is built on top of Prototype and Scriptaculous. I really like how easy it is to customize and add different skins to the dialogs. I am using this for the dialog that explains how I created the A2D logo. Creating a dialog is easy as this:

var dialog = new Window('modal_window', {className: 'dialog', top:logo_top, left:logo_left, width:logo_width, height:logo_height, zIndex:150, opacity:1, resizable: true});
dialog.setContent('logo_creation');
dialog.show(true);

Saturday, January 20, 2007

CSS tricks

Today I have been using a couple of very nice CSS tricks in my recent contracts, so I re-created them from scratch on the Attentive 2 Design web site:

  • Rounded corners using Javascript without images. What I really wanted to do was add a dark burnt orange border around my definition box on my home page, but when I tried to do so the

    Rico.Corner.round('a2d_description', {corners:'all', color:'#4c4c4c', border:'#ffa500', bgColor:'#ffffff', blend:'#ffa500', compact:false});


  • Setting transparency using CSS that works in Safari, Firefox and IE - I used this for dialogs - click on the A2D logo and a description comes up in a dialog.

    opacity: 0.5; /* ------> Mac: Safari */
    -moz-opacity: 0.5; /* -----> Firefox */
    filter:alpha(opacity=50); /* ---> IE */


  • Creating a box punch is a standard printer technique, but I like the effect so I added it to the same dialog that explains how I created the A2D logo. The CSS to enable this was very simple:

    div#punch_logo {
    background-color: white;
    float: left;
    text-align: center;
    border: 1px solid black;
    border-width: 0px 1px 1px 0px;
    margin: -1px 1em 0.5em -1px;
    padding-left: 3px;
    }

    Where the HTML looks like this:

    <div id="punch_logo"><img src="images/a2d.png"></div>


  • Drop shadow for text, which I used for the © copright notice at the bottom on the A2D pages. The CSS is very complicate because of browser issues, but I like the code that works in Safari:

    text-shadow: #4c4c4c 3px 3px 3px; /* color, horizontal offset, vertical offset, blur */


  • Dynamic Drive ToolTip II is a nice example of how to create custom tool-tips, hover help, balloon help or whatever you would like to call it. It is used for the A2D logo and for the drawn arches within the toolbar.

Bollywood Movies

Today was a monumental day as my wife and I went to an Indian movie at the local movie theater which shows Indian movies. I say that because sometimes you can actually see an Indian movie distributed in the USA at a regular movie theater but that is rare. It was fun for me as I remember watching an Indian movie on the TV every Thursday night when I worked in Saudi Arabia and that was definitely entertaining. We try to rent an Indian movie every week from Blockbuster on-line, but the really good ones are always on a long waiting list. The movie we saw today was called Guru. I don't want this to be a movie review, but this is the kind of Indian movie I want to watch. It makes you laugh, cry and want to dance all in 3 hours - amazing entertainment.

Sunday, January 14, 2007

Streaming Audio with MP3

Today was MP3 streaming audio day. I had the task of copying 2 conference audio CDs to a remote web server and then add access to them thru a streaming audio server. Besides waiting for the files to transfer, most of the day was spent trying to figure out how to get the files to stream. I tried the simple approach of having links to the MP3 files, but that forced a download of the file. Then after many googlizer searches, I finally found the help I needed in a custom Flash audio player at boutell.com. I like the allowed customization as I created a playlist type XML file for each CD and that was all there was too it - only 8 hours later!

Saturday, January 13, 2007

PHP changes

I have been using PHP to maintain a couple of web sites for years and I just moved to another web hosting provider and now I am in the middle of changing every one of my PHP scripts. I am using a freeware PHP bulletin board that just stopped working. I check into it and find out that it was assumed every where that a form posting data would set global variables for every form element. For instance, if I have a form element of <input type="text" name="email"> then the function that read that would have a statement of "global $email". I ended up switching all of the globals to use a syntax of $_REQUEST['email'] and now it is all working, well almost. In that same forum code I have a login that is saved to a cookie and that is not working. It used $SCRIPT_URL but that does not work. Who knows how long that will take to figure out? I go to the friend who has never let me down PHP Documentation. The best thing about it is the comments added by users that often has sample code...

Friday, January 12, 2007

email subscriptions

I am currently subscribed to 2 different email groups.

One is discuss@ixda.org, where I am currently receiving around 50 emails per day on the new Apple iPhone. Normally I receive around 10-20 a day on some hot topic as it seems like someone always has something to say. This group is for Interaction Designers.

The other is agile-usability@yahoogroups.com, where people talk about trying to integrate traditional up-front design into agile development methods. I like the term Just-In-Time-Design as it describes what takes place. I have experienced this first hand on a project I worked on for 6 months last year. It was definitely hard to get used to as I wanted to observe users and run usability tests, but instead I had to give in to the fact that the design was getting better every week and sometimes daily instead of trying to create the perfect app up front from user observations and tests. I really like the quick iterations and putting something in front of users as soon as possible. I don't like the lack of time thinking about design as it always seems like I am rushing into a decision. But the app does get better over time...

Apple User Experience documents

I learned that all of Apple's User Experience documents are on-line. Which means you have links to good stuff like the User Experience Guides, but my favorite is the Apple Human Interface Guidelines.

Wednesday, January 10, 2007

How RubyOnRails go onto my Mac laptop

I must say that I feel like I went back in time as I watch RubyOnRails being installed on my Mac laptop. Everything was installed by looking up the public web sites and then the installers were mostly run from the command line. The first thing I needed was Xcode to get a compiler. Then DarwinPorts (or known as OpenDarwin or MacPorts) which helped us load all of ruby. Once we had ruby, then I needed ruby gems and rake (which is ruby-make). Of course where would I be without subversion for version control. To access mySQL I now have CocoaMySQL. Lastly, in order to edit ruby code I was forced to use TextMate. When I thought I was really done I was told I cannot live with QuickSilver to locate all of the programs put on my Mac today.

Mac and RubyOnRails

I must say the best way to learn RubyOnRails is to work with young guns. I was starting to learn Rails on my own and was struggling so the RoleModelSoftware fellows I was working with helped me install everything and now I have mySQL and RoR working on my old Titanium G4 MacBook. Then to work with these great people on the latest technology and all on Macs was a thing of beauty for me.

web server host

I helped some friends find a new web hosting service and I picked HostMonster.com because they needed tons of disk space for conference sessions and support for their existing PHP code. For $4.95/month we got 200 GB and support for either PHP or RubyOnRails. I am pleased so far as they even have an on-line chat service that did not install anything on my Mac computer!

Tuesday, January 9, 2007

button widths in IE

Then there is a problem with the button widths in IE. I thought it may be fixed in IE 7, but alas it is still there. Thankgoodness there is a work around. To fix the navigation buttons on the left hand side of the Attentive 2 Design web site I set the button style widths to the same as the width of the images. The navigation bar is created in Javascript so this is done in one place. I could have just as easily added a className and used CSS to control the width as well.

blogger

I must at least say something about this blog. I asked a good friend, Adam Williams, which blog he liked the best and he suggested blogger.com. I already had a google email account so in 15 minutes I had my first ever blog up and running, and without having to read any documentation on how to do it. Now that is what I call easy to use. I had to find an easy one to us for a sadhu friend in India to use. It will be interesting to see how easy he finds it!

Favicon

I remember the last time I tried to set one of things. It required putting the favicon.ico file in a specific place within the web server configuration files. Today I found a Wikipedia article that described how to easily get it working today.

I searched for "favicon generator" in google.com and choose one faviconprime.com from the list of many and in seconds I had a favicon from my company logo.

I added the following to all of my Attentive 2 Design HTML files in the <head> section:

<link rel="shortcut icon" href="http://www.attentive2design.com/images/favicon.ico" type="image/x-icon">
<link rel="icon" href="http://www.attentive2design.com/images/favicon.ico" type="image/x-icon">

I verified that using this technique the Attentive 2 Design icon now works for Safari (mac), Firefox (mac & window), IE 7

Monday, January 8, 2007

free business cards

In posting my resume, I found a very nice business card printer called Vista Print that is cheap and does high quality work. I received the business cards by US post in 1 week's time for only $17.19 for 250 cards. They have free business cards with pre-designed templates where you customize the text, but I choose to build my own from scratch. I really enjoyed using their business card builder for just $3.95 more. Most of the cost is in shipping, which I paid more to make sure I had my business cards before going to India. You can even upload your own designs as they document the format and resolution required, but I choose the cheaper option for my first pass. I especially liked their logo builder.

This is the end result that I scanned using my HP 950 All-In-One printer:

Going to India

Totally unrelated to my job search, I am going to India to be with friends in the band called aradhna.

---------------====||| USA to India |||====---------------

Wed, Jan 24: DELTA AIR LINES INC, DL 5274 - Operated by COMAIR INC

From: RALEIGH DURHAM, NC (RDU)
Departs: 4:46pm
To: NEW YORK JFK, NY (JFK)
Arrives: 6:41pm
Aircraft: CRJ-CANADAIR REGIONAL JET
Mileage: 425
Flight Time: 1 hour(s) and 55 minute(s)

Wed, Jan 24-Thu, Jan 25: EMIRATES AIRLINE, EK 0202

From: NEW YORK JFK, NY (JFK)
Departs: 11:00pm
To: DUBAI, UNITED ARAB EMI (DXB)
Arrives: 8:35pm Thu, Jan 25
Aircraft: AIRBUS INDUSTRIE A345 JET
Mileage: 6839
Flight Time: 12 hour(s) and 35 minute(s)

Thu, Jan 25-Fri, Jan 26: EMIRATES AIRLINE, EK 0518

From: DUBAI, UNITED ARAB EMI (DXB)
Departs: 9:50pm
To: BANGALORE, INDIA (BLR)
Arrives: 3:00am Fri, Jan 26
Aircraft: AIRBUS INDUSTRIE A332 JET
Mileage: 1684
Flight Time: 3 hour(s) and 40 minute(s)


---------------====||| India to USA |||====---------------

Sun, Feb 4: EMIRATES AIRLINE, EK 0517

From: BANGALORE, INDIA (BLR)
Departs: 6:30pm
To: DUBAI, UNITED ARAB EMI (DXB)
Arrives: 9:05pm
Aircraft: AIRBUS INDUSTRIE A332 JET
Mileage: 1684
Flight Time: 4 hour(s) and 5 minute(s)

Mon, Feb 5: EMIRATES AIRLINE, EK 0203

From: DUBAI, UNITED ARAB EMI (DXB)
Departs: 2:00am
To: NEW YORK JFK, NY (JFK)
Arrives: 7:20am
Aircraft: BOEING 777-300ER JET
Mileage: 6839
Flight Time: 14 hour(s) and 20 minute(s)

Mon, Feb 5: AMERICAN AIRLINES, AA 4655 - Operated by AMERICAN EAGLE

From: NEW YORK JFK, NY (JFK)
Departs: 12:25pm
To: : RALEIGH DURHAM, NC (RDU)
Arrives: 2:00pm
Aircraft: ERJ-135 JET
Mileage: 425
Flight Time: 1 hour(s) and 35 minute(s)

job searching vs. resume posting

I started off with a group of companies that sponsor the local TriUPA events as I know they support usability methods. I tried looking at each company's web site to see if they posted any external jobs. I submitted my resume to each job I found. I then went to such sites as monster.com, hotjobs.com, and careerbuilder.com. I never could get monster.com to accept my resume, so I have not used it since. I set up a couple of job agents on hotjobs.com top notify me of new jobs. I search every morning and every evening for new jobs so it does not consume my every waking hour.

jobs mapped by city & state

What I would like to see is a graph of all of the jobs by keyword on google maps. I could see how close the job is to my house and I could also see a cluster of jobs by city and state. I can also tell most of the jobs are located in NYC and CA.

Starting the Job Hunt

When my last contract expired before Christmas 2006, I begin the tedious process of trying to find either a contract or permanent position. The hard part is coming up with why people should pay me and how I can make a difference as being unique among the general job pool.