Kwai Lan Tam, 1916 – 2012

Mother, grandmother, and great grandmother, Kwai Lan Tam passed away peacefully surrounded by family on April 24th 2012 at the venerable age of 96.

She was very much loved by her children and their partners : Gallan (Lynda), Stella, Denise (John), Elicia (Ian) and Tam (Ted); grandchildren and their partners: Carolyn (Cliff), Jeffery (Nicole), Jeananne (Scott), Jaclyn, Joyce (Rob), Jason (Amber) and Jonathan ; as well as wonderful great grandchildren Ella, Cohen and Bruno.

Born 1916 in Hong Kong, she immigrated with her husband Chung Lok in 1977 to join their children in Canada where they made Toronto’s Kensington Market their home.

With a deep love for learning, she did everything she could to make sure her children were educated under the most difficult circumstances in Hong Kong. (Her granddaughter, Carolyn Ji Jong Goossen, a writer with New America Media, interviewed her for the article : Celebrating Lunar New Year and Long Life.)

After moving to Toronto, as a loving grandmother she helped raise her grandchildren. Kwai Lan was also a long time active participant and volunteer with the St Stephen’s Community House Senior program and a keen student of ESL and Tai Chi classes.

 

 

 

I have been greatly honoured to have her as my Mother-in-Law.

 

 

UPDATE : The memorial was beautiful. It felt like a real celebration of her life.

 

Below are some of the comments from the visitation page :

 


Medi and Manny Herrera (Friend)
Entered 04/29/2012 from USA
Dearest Elicia and Ian,

Our thoughts are with you and your family.

Love and prayers from the Herreras always.

 


Ashley McFarlane (Other)
Entered 04/29/2012 from Toronto
Dear Tam and Family,

I would like to offer my condolences during this time. I never met your mother, but I’m sure I met her through you. She has raised a marvellous women and mentor to me. My thoughts and wishes are with go out to you and yours.


Ashley
Miu Lin (Friend)
Entered 04/28/2012 from Toronto
Dear Tam’s family,
I had the honor to know Auntie Tam when I arrived in Toronto 18 years ago.  Her forceful and clear voice as well as her sharp mind always impressed me.  My mom Sally admired Auntie Tam’s intelligence and reading abilities and said, “I wish I could read newspaper like her!” Auntie Tam had possessed wisdom in reading people’s mind and their heart and would not be shy in sharing her opinions.  I believe her wealth of wisdom, assertiveness and strong will had inspired excellence and dedication to everyone around her.  She lived an enjoyable long life and successfully brought up a big family with great grandchildren.  What a great blessing! You will be missed Auntie Tam!

 


Wendy Leung (Friend)
Entered 04/27/2012
I knew Tam for 5 years. she is our day program participant. Her cheerful smiles, her active participation and involvement in our program, her stories about raising up her children, her strong view on “knowledge is the king” and more … all are very impressive and inspirating. at her later stage, i truthly understand why she is so proud of her children.

 


Carol Wolkove (Friend)
Entered 04/27/2012
Dear Gallan Lynda and family

May her memory be for a blessing, (as we say in Hebrew).

I send you my condolences on your loss.


Carol

 

Rose & Louis Ma (Friend)
Entered 04/26/2012 from Charlotte, NC USA
Dear Tammy and Tam family,

We’re sadden to hear that Ah-yee is gone.  Her sweet smile and kind voice will remain in our heart for ever.  It is comforting to know that she left in peace and was surrounded by love ones.

Our deepest condolences to you all.

Love,
Rose & Louis


 

Jenny Poon (Other)
Entered 04/26/2012 from Toronto
Tam is an active Adult Day Service member & positive life attitude will be missed.  With deepest sympathy to Tam’s Family.          Jenny Poon


 

Suyin Sancho (Friend)
Entered 04/26/2012 from New York City
Dearest Elicia,

I was so sorry to hear from Medi about your mother’s passing.  I know you were devoted to her.  You and your family are in the Sancho sisters’ thoughts and prayers.

With deepest sympathy,

Suyin


 

David Cheng (Other)
Entered 04/26/2012 from Toronto, ON.
Her smile….. will be missed. Tam will be in my memory forever.
Blessings,
David Cheng, Senior Services Worker at St. Stephen’s


 

Irene Tsang (Friend)
Entered 04/26/2012 from Toronto
Tam will be missed by our staff and seniors at St. Stephen’s Community House.  She was known to us as “Scholar Tam” because she was always knowledgeable about the news and sharing her views of life and politics.   Our warmest thoughts are with the family.


 

Maria Serrano (Friend)
Entered 04/26/2012 from Toronto
May your memories bring you comfort at this difficult time.  My thoughts are with the family.
Maria Serrano


 

Anshula (Friend)
Entered 04/26/2012
Dear Tam, I am thinking of you knowing how much you loved your mother, and how much you will miss her now. My thoughts and prayers are with your mum, yourself and your family. Please take care.
With Best Regards,
Anshula


 

Maria Sancho (Friend)
Entered 04/26/2012
Dear Elicia,
With sympathy and love, in behalf of the Sancho family (Medi, Suyin, Rubi, Nen), I would like you to know that you are very much in our thoughts and prayers.
Love,
Beng


Twendr and Twitter Trends – Now in 41 more Locations for 152 places

Twitter has just rolled out (very quietly this month) new trend locations for a total of 152, up from the previous 111. That’s the “World”, 34 Countries and 117 Cities! This is all up on the Twendr Global Trend Dashboard, a big change from a year and a half ago and 11 locations!

There are 3 new countries are Pakistan, Guatemala and Russia ( with the cities of Saint Petersburg, Moscow, and Novosibirsk)

In Japan, Tokyo has been joined by Takamatsu, Okinawa, Fukuoka, Sendai, Kyoto, Sapporo, Nagoya, Osaka, for a total of 9 cities.

and India went from just Mumbai to include 5 more cities: Delhi, Bangalore, Hyderabad, Ahmedabad, Chennai

Brazil went from 2 to 4 cities : Manaus, Brasília, Fortaleza, Salvador

and Indonesia went from 2 to 4 cities with Bandung and Jakarta joined by Surabaya and Bekasi

France now has 3 cities : Lyon, Marseille, Paris

as does Germany : Munich, Hamburg, Berlin

and Netherlands in : Rotterdam, Den Haag, Amsterdam

in Venezuela we have the cities of Barquisimeto, Maracaibo, Valencia joining Caracas

Spain includes Barcelona and Madrid

the Philippines now has Manila and Quezon City

for Turkey we have the 3 cities of Istanbul, Ankara, and Izmir

Sweden now has Stockholm

Mexico now has Monterrey joining Mexico City

in Malaysia we have Kuala Lumpur and Klang

in Nigeria we have Lagos

Ireland has Dublin

and in South Africa we have Johannesburg

You can see all the glory on Twendr.com.

This is a cross post from the Twendr Blog

The tripPad™ arrives in Madrid

Via TUAW comes news that Madrid’s visitors can rent tourist-friendly iPads from a business called Pad In The City, preloaded with a collection of Apps geared towards visitors to that Spanish city.

Back in 2009, after traveling in Europe, I wrote on my ideas about using an iPod as a travel device and the what could be (aka the tripPad™). (Note: this was several months before the 2010 iPad announcement.)

Now, I have heard of boutique Hotels giving guests a per-loaded iPhone for their guest, so this isn’t the first move in this direction.

So, I am pleased to see a steps towards my vision, with several caveats :

The 9″ inch size of the current iPad is not pocket friendly, nor makes it easy to be taking out every 5 minuets to help with navigation, read up on a sight, or use in augmented reality mode. Until Apple has a 7″ version of the iPad, the iPod or an iPhone remains a better option. Android devices in the 7″ size are also a currently a very viable option. My though was something the you could hang on a lanyard, around your neck.

The daily price is reasonable, but the deposit is steep (although understandable), and the fear of losing it – by accident or not – will be a disincentive.

I do understand why did go with the current iPad. They use the version of the iPad that comes with 3G Data cellular connectivity, which is not an option on a iPod. By sticking with the iOS platform, the most well know mobile operating system, they reduce training issues.

Pad In The City’s reservation system is a simpler way to get this in the hands of travelers, and easier to get started as a business.

Nonetheless, and despite my issues, this does look to be a nice test of this kind of device and business and a big step towards my LWR (lazy web request). First Madrid, next Paris, London, New York and Tokyo. (and the World!)

Doing Conditional Comments for your Internet Explorer css fixes better, with HTML top tag classes

Now browser sniffing is basically a bad thing but there is still a need to fix / hack issues on older browsers, in particular Internet Explorer. Okay, almost entirely in Internet Explorer. IE6 may be -mostly- dead, but IE8 will be around for a long time given that there is no IE9 for WinXP.

The “traditional way” to correct IE issues is using a conditional css style sheet (in the head section ) to load an additional style sheet after the default styles specific to that browser version and take advantage of the cascading part of Cascading Style Sheets (CSS) like so:

1
<!--[if lt IE 8]>       <link rel="stylesheet" href="/css/ie.css" media="screen" />< ![endif]-->

The conditional comments tag is a proprietary IE tag, introduced in IE5, and only works in IE, and “are thus excellently suited to give special instructions meant only for IE”. (IE10 will not support this tag, because it will render perfect HTML5. No ,really.)

I have become aware of a slightly different way to do this via the new hotness of doing feature sniffing ( or Object Detection ) via Modernizer. Modernizer’s trick of loading (or over loading :) ) classes on the tag can be used not only be used for its JavaScript-driven feature detection for html5, but also for creating a top-level class that apply styling to that an individual page or type of page. For a more general description see Why use Classes or IDs on the HTML element?

So technique of “Classes on the HTML tag” was demonstrated by Paul Irish’s back in 2008 (lots of good updates and info there) and a a variation of it is used in Html5 Boilerplate :

1
2
3
4
5
6
<!--[if lt IE 7 ]> <html class="ie6"> < ![endif]-->
<!--[if IE 7 ]>    </html><html class="ie7"> < ![endif]-->
<!--[if IE 8 ]>    </html><html class="ie8"> < ![endif]-->
<!--[if IE 9 ]>    </html><html class="ie9"> < ![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <!--<![endif]-->
</html>

This will allow you to make your corrections close to the original place in your css (or sass) files, general reduce the number of files to maintain and load, and as a bonus it appears to fix problems where the IE conditionals around css files for IE6 can slow down your page load time in IE8!

Note that when this technique was first used, the classes were added on the body tag not the html tag, but best practice suggests the body tag for more dynamic classes (after the page is loaded), although (for example) WordPress does use classes specific to the page being loaded on the body tag.

Extra bonus : If you are using HAML and Rails/Padrino, then Toronto’s Gianni Chiappetta (aka gf3) created a Conditional HTML tag with HAM helper which can also be found in his github repo:

1
2
3
4
5
6
7
8
9
10
def conditional_html( lang = "en", &amp;block )
haml_concat Haml::Util::html_safe &lt; <!--[if lt IE 7 ]>              <html lang="#{lang}" class="no-js ie6"> < ![endif]-->
<!--[if IE 7 ]>                 </html><html lang="#{lang}" class="no-js ie7"> < ![endif]-->
<!--[if IE 8 ]>                 </html><html lang="#{lang}" class="no-js ie8"> < ![endif]-->
<!--[if IE 9 ]>                 </html><html lang="#{lang}" class="no-js ie9"> < ![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <!--<![endif]-->
HTML
haml_concat capture( &amp;block ) &lt; &lt; Haml::Util::html_safe( "\n" ) if block_given?
end
</html>

used thusly:

1
2
3
4
5
6
7
!!! 5

- conditional_html 'en-CA'
%head
  %title Website
%body
  = yield

Detecting a Mobile Browser on the Server in your Rails app

the following code was extracted from my Mobile Ruby on Rails Web App Demo, which was intended as a very simple Mobile Ruby on Rails Web Application (Web App) which uses Ruby 1.9.2, Ruby on Rails 3.0.7 and jQuery Mobile (specifically the jQuery Mobile 1 Alpha 4.1 maintenance release in May 2011.)

The code does a mobile client detection, server side, in the Application Controller by parsing the HTTP_USER_AGENT, or “User-Agent” HTTP header. This is sometimes called “UA sniffing” or User Agent Sniffing.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class ApplicationController < ActionController::Base
  protect_from_forgery
 
    before_filter :set_browser_type
 
 def set_browser_type
   @browser_type = detect_browser
 end
 
  private
   
  MOBILE_BROWSERS = ["playbook", "windows phone", "android", "ipod", "iphone", "opera mini", "blackberry", "palm","hiptop","avantgo","plucker", "xiino","blazer","elaine", "windows ce; ppc;", "windows ce; smartphone;","windows ce; iemobile", "up.browser","up.link","mmp","symbian","smartphone", "midp","wap","vodafone","o2","pocket","kindle", "mobile","pda","psp","treo"]

  def detect_browser
    agent = request.headers["HTTP_USER_AGENT"].downcase
 
    MOBILE_BROWSERS.each do |m|
      return "mobile" if agent.match(m)
    end
    return "desktop"
  end
 
 
end

The hard part is the Mobile browser user agent list. Sadly I dont remember where I got the original list and then added in the several more recent agent names, but the nature of such things is that it is always out of date! ZYTRAX has a good list of Mobile Browser ID (User-Agent) Strings.

It is used in a ERB view like this :

1
< %= "You don't Look like a Moblie Client :(" if @browser_type != "mobile"  %>

You could also use similar code to control whether to add or change the javascript and css being used, the size of images to use, or additional page elements on the view. In the controller such code could redirect users to the mobile views, if the non mobile views are very different.

If you needed more detailed parsing of the Agent string then Kevin Elliott's Agent Orange looks really good, and goes beyond just mobile browser detection.