My Vietnam

My life in Vietnam, plain and simple

Singapore airport

leave a comment »

Bored… arrived a around 22:30 local Singapore time, surfed the book stores, looking for great manager books, stopped by the electronics shop, nothing exciting, finally found a sofa and a big TV, but what a crappy show; Asia Uncut on Star World, the host is trying to be funny and he is just a lame version of the real thing like Jay Leno.

Oh and there is a The Coffee Bean and Tea Leaf cafe serving a nice cafe au lait and some yummy big chocolate muffins, heated so the chocolate chips inside melts, would have taken a picture but there is no more cake it’s all gone.

Yummy muffin

My plane is leaving at 1:05 so gave me a little time to write some more nonsense.

Written by Thomas Bindzus

May 8, 2009 at 23:24:14

Posted in Uncategorized

Tan Son Nhat airport

leave a comment »

I am sitting in the airport waiting for my flight to Singapore, I am going on a business trip to Denmark as well as my mothers 60 years birthday party.
Just finished the worst coffee I’ve had in a long time, paid horrible 3 Euro for it, now I am thinking about why I bought it!
I miss my family already, and I am thinking about how stupid it was that I didn’t get that email send out to all our employees informing about my absence.
Well now they can read it here.
Written on my E71 mobile, love this phone, and just installed Python S60, why didn’t I know this sooner, that’s totally useful, what else should I do waiting here at the expensive airport cafe, waiting for boarding. Hmmm… Not that I know that much about Python yet.
Oops time to go, have to say goodbye to my mum on Fring, killer app over killer apps!

Written by Thomas Bindzus

May 8, 2009 at 19:29:04

Dynamic Resize by Background Image

with 3 comments

Not so long ago I came across a problem with dynamically setting the background images for my HTML elements. I wanted to let the user decide what background image to set for certain HTML elements through the cascading style sheet.

I did not want to bother the user with setting the dimensions of the background image, my code should handle this part automatically. To show why it’s not sufficient to just set the background image for a div element I created the following initial example:

< !DOCTYPE html PUBLIC
   "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Dynamic Background Image</title>

   <link type="text/css" rel="stylesheet" href="DynamicBackgroundImage.css" />
</head>

<body>
   <div id="aDivElementWithDimensions"></div>
   <hr />
   <div id="aDivElementWithoutDimensions"></div>
</body>
</html>

The cascading style sheet referred to by the name DynamicBackgroundImage.css in the HTML above, I put in the same folder and was pretty simple, two div elements with their background set, one element was specified with dimensions the other one wasn’t. Setting the dimensions of the second element I wanted to control dynamically:

#aDivElementWithDimensions
{
   border: solid 1px #000000;
   height: 285px;
   width: 280px;
   background-image: url(TestImage.jpg);
}

#aDivElementWithoutDimensions
{
   border: solid 1px #000000;
   background-image: url(TestImage.jpg);
}

For the test I found a suitable image of my daughter Mary, as we are under construction, she is wearing a helmet for safety:

testimage.jpg

As expected the first div element showed the background image whereas the other div element did not. The behavior was the same for both Internet Explorer 7 and Firefox 3.0.6 which I used for my experiments, figuring that there would be a pretty good chance it would work for other browsers as well if IE and FF3 worked.

dynamicbackgroundimagefirsttryhtm

My next naïve attempt at solving this problem didn’t work out very well, using a script on load I attempted to get the url for the background image so I could retrieve the dimensions and set the div element’s dimensions accordingly. I updated my HTML page with a JavaScript triggered on page load:

< !DOCTYPE html PUBLIC
   "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Dynamic Background Image</title>

   <link type="text/css" rel="stylesheet" href="DynamicBackgroundImage.css" />

   <script type="text/javascript"><!--
   function pageload()
   {
      // Get the element without dimensions
      var theDivElementWithoutDimensions =
         document.getElementById("aDivElementWithoutDimensions");

      // Create a buffer image used to retrieve
      // the dimensions of the image
      var aBufferImage = document.createElement("img");

      // Handle onload event to resize the div element
      aBufferImage.onload = function()
      {
         // Thanks to JavaScript closure we can access
         // the theDivElementWithoutDimensions variable
         // from the onload method
         with(theDivElementWithoutDimensions.style)
         {
            width = this.width+"px";
            height = this.height+"px";
         }
      }

      // Loading the image from the background image
      // into the buffer image should trigger the onload
      // event and allow us to set the dimensions for
      // the div element
      aBufferImage.src = theDivElementWithoutDimensions.style.backgroundImage;
   }
   --></script>
</head>

<body onload="pageload();">
   <div id="aDivElementWithDimensions"></div>
   <hr />
   <div id="aDivElementWithoutDimensions"></div>
</body>
</html>

However my attempt was not in anyway successful, the second div element remained collapsed not showing the background image, so what was the problem?

Well it turns out that the background image when set from CSS is not available through the normal style property found on HTML elements, but there is a way around it using the computed style instead.

Of course the computed style is not implemented in the same way for IE and FF, that would have been a bit too easy, right :-) So to get the computed style without worrying about what browser is used, I added a little wrapper function:

function getStyle(elt)
{
   var computedStyle;

   if(typeof elt.currentStyle != 'undefined')
      // IE
      computedStyle = elt.currentStyle;
   else
      // Firefox
      computedStyle = document.defaultView.getComputedStyle(elt, null);

   return computedStyle;
}

From the computed style it is possible to get the URL for the background image; computedStyle.backgroundImage which will return url(“url-for-image”) in IE and url(url-for-image) in FF, adding a wrapper function for parsing the URL as well proved useful:

function cleanupUrl(aUrl)
{
   var regExp = /^url\("?(.*?)"?\)$/ig;
   var matches = regExp.exec(aUrl);

   if(matches == null || typeof matches[1] == "undefined")
      return null;

   return matches[1];
}

With these functions added only a few adjustments were needed to the pageload-function in order to get it all up and running:

function pageload()
{
   var theDivElementWithoutDimensions =
      document.getElementById("aDivElementWithoutDimensions");
   var computedStyle =
      getStyle(theDivElementWithoutDimensions);

   var dummyImage = document.createElement("img");
   dummyImage.onload = function()
   {
      // Thanks to JavaScript closure we can access
      // the theDivElementWithoutDimensions variable
      // from the onload method
      with(theDivElementWithoutDimensions.style)
      {
         width = this.width+"px";
         height = this.height+"px";
      }
   };
   dummyImage.src = cleanupUrl(computedStyle.backgroundImage);
}

Finally I got the wanted behavior and a greater understanding of the way this specific style sheet property can be access from JavaScript.

dynamicbackgroundimageworkinghtm

But instead of stopping here I wanted more, because over the last year or so jQuery has grown in popularity, and as Scott Hanselman last year announced on his blog; Microsoft will ship jQuery with ASP.NET MVC and Visual Studio.

I didn’t know so much about jQuery until last year when I started to use it and I was taking by storm! It is such an incredible framework, and so different from other AJAX frameworks I have worked with.

I wanted to try it out for my problem, so that I didn’t have to think about computed styles. I created a copy of my initial HTML page and included the jQuery files:

< !DOCTYPE html PUBLIC
   "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Dynamic Background Image</title>

   <link type="text/css" rel="stylesheet" href="DynamicBackgroundImage.css" />

   <script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
   <script type="text/javascript">
      function cleanupUrl(aUrl)
      {
         var regExp = /^url\("?(.*?)"?\)$/ig;
         var matches = regExp.exec(aUrl);

         if(matches == null || typeof matches[1] == "undefined")
           return null;

         return matches[1];
      }

      function ApplyBackgroundImageDimensions(elt)
      {
         // Get the baground image using jQuery,
         // no need to worry about computed style
         // because jQuery will handle that part
         var backgroundImageUrl = cleanupUrl($(elt).css("background-image"));

         // If no background image is set then return
         if(backgroundImageUrl == null)
            return;

         // Create a dummy image to get the dimensions
         // of the image
         var dummyImage = document.createElement("img");

         // When the image is loaded then set the dimensions
         dummyImage.onload = function()
         {
            // Thanks to JavaScript closure we can access
            // the elt variable from the onload method
            $(elt).css("width", this.width+"px")
                  .css("height", this.height+"px");
         };

         // Get the URL for the background image
         dummyImage.src = backgroundImageUrl;
      }

      function pageload()
      {
         // Get the element without dimensions
         var theDivElementWithoutDimensions =
            document.getElementById("aDivElementWithoutDimensions");

         // Apply the dimensions from the background image
         ApplyBackgroundImageDimensions(theDivElementWithoutDimensions);
      }

      $(document).ready(pageload);
   </script>
</head>

<body>
   <div id="aDivElementWithDimensions"></div>
   <hr />
   <div id="aDivElementWithoutDimensions"></div>
</body>
</html>

Neat, But way too clumsy! This ruins the simplicity which can be achieved with jQuery, so I had to figure out how to create a small extension for jQuery, making my code, simple and thus easier to read.

Making an extension to jQuery turned out to be really easy, after looking at a few examples I got the idea, and I created the file DynamicBackgroundImage.js to hold my extension in. I added one function called fitToBackgroundImage which can be called on any HTML element.

I should probably build in some more error handling, but that can wait.

/*
 *  jQuery Dynamic Background Image Plugin
 *  Requires jQuery v1.2.6 or later
 *
 *  Copyright (c) Thomas Bindzus
 *  (http://bindzus.wordpress.com)
 *
 *  Dual licensed under the MIT and GPL licenses:
 *  http://www.opensource.org/licenses/mit-license.php
 *  http://www.gnu.org/licenses/gpl.html
 *
 *  Version: 1.0
 */
(function($)
{
   $.fn.fitToBackgroundImage = function()
   {
      // Helper function to extract the URL from CSS
      function cleanupUrl(aUrl)
      {
         var regExp = /^url\("?(.*?)"?\)$/ig;
         var matches = regExp.exec(aUrl);

         if(matches == null || typeof matches[1] == "undefined")
            return null;

         return matches[1];
      }

      // Returning the updated HTML elements in a
      // way that allows for other jQuery methods
      // to manipulate them further
      return this.each
      (function(index)
      {
         // Ensure we get a reference to the element
         // which we can use closure on
         var $this = $(this);

         // Get the baground image using jQuery,
         // no need to worry about computed style
         // because jQuery will handle that part
         var backgroundImageUrl = cleanupUrl($this.css("background-image"));

         // If no background image is set then return
         if(backgroundImageUrl == null)
            return;

         // Create a dummy image to get the dimensions
         // of the image
         var dummyImage = document.createElement("img");

         // When the image is loaded then
         // set the dimensions
         dummyImage.onload = function()
         {
            // Thanks to JavaScript closure we can access
            // the elt variable from the onload method
            $this.css("width", this.width+"px")
                 .css("height", this.height+"px");
         };

         // Get the URL for the background image
         dummyImage.src = backgroundImageUrl;

         // Cleanup
         dummyImage = null;
      });
   }
}) (jQuery);

With this addition finally true jQuery beauty arrived in my HTML page:

< !DOCTYPE html PUBLIC
   "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>Dynamic Background Image</title>

   <link type="text/css"
      rel="stylesheet"
      href="DynamicBackgroundImage.css" />

   <script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
   <script type="text/javascript" src="DynamicBackgroundImage.js"></script>
   <script type="text/javascript">
   function pageload()
   {
      // Apply the dimensions from the background image
      $("#aDivElementWithoutDimensions").fitToBackgroundImage();
   }

   $(document).ready(pageload);
   </script>
</head>

<body>
   <div id="aDivElementWithDimensions"></div>
   <hr />
   <div id="aDivElementWithoutDimensions"></div>
</body>
</html>

For this post I found useful information in a lot of places, main references resulting in my completion of this post are listed below:

https://developer.mozilla.org/en/CSS/background-image
https://developer.mozilla.org/en/DOM/window.getComputedStyle
http://blog.stchur.com/2006/06/21/css-computed-style
http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx
http://docs.jquery.com
http://plugins.jquery.com/project/jqTooltip

Written by Thomas Bindzus

February 8, 2009 at 18:08:40

Vietnam won over Thailand

leave a comment »

This evening Vietnam played soccer against Thailand in the final match of the Suzuki Cup 2008. Vietnam has played extremely well during this cup compared to earlier and this second match against Thailand made Vietnam the winner of the cup for the first time ever.

Vietnam won the first match against Thailand 2-1 on Christmas eve in Thailand. The streets of Ho Chi Minh City went crazy after that match there were people everywhere preventing us from leaving New World Hotel where we had our Christmas dinner.

We didn’t really pay attention to the fact that Vietnam and Thailand was going to play on Christmas eve, but when the streets outside New World Hotel was packed with happy people waving the Vietnamese flag on their motorbikes we knew that Vietnam won over Thailand, which is the first time ever as far as I know, at least I have never experienced that Vietnam has won over Thailand while I have lived here.

I got some great footage of the street next to New World Hotel of all the happy people as we were stuck there for around two hours before the traffic was restored to somewhat normal conditions, that is of course for Vietnamese standard.

This evening Vietnam and Thailand just finished the second match on Vietnam soil and I must admit for a long time it looked like Thailand was going to win after they scored one goal during the first half game, and during the second half game Vietnam just seemed to be unable to do anything.

Then in the last three minutes Vietnam got a free kick and scored! The crowd went wild and the players ran around wild some of them on the edge of fainting with sheer joy. The streets of Ho Chi Minh City wild go crazy tonight, wonder how many will come to work tomorrow on time :-)

Final score of the second match was 1-1 and Vietnam won the Suzuki Cup 2008 over Thailand, congratulations Vietnam!!!

Written by Thomas Bindzus

December 28, 2008 at 21:25:09

Oliver decided vegetarian food was not for him

with one comment

I have become a father for the second time, and it was just as great as the first time when we had Mary. Thanks for frequent diaper changes and infrequent sleep, boy did I miss that! No just kidding it is just as exciting as the first time, and I did cry because it is such a great gift to get a child!

Oliver arrived on Thursday the 9th of October, 11:18 AM, one day earlier than expected which I will try to explain below why that came as such a surprise to us.

The gynecologist had already shown us on the ultra sound scan that Oliver had a rather big head (98 mm long and around 350mm in circumference), and his calculated weight was around 4,000 gram plus minus 300 gram, upper leg size around 75mm.

Wednesday the 8th of October 2008 Thu went to get one final ultra sound scan before the gynecologist could decide whether Oliver was to be born normally or by c-section. Everything seemed to confirm that Thu had to give birth to Oliver by c-section, but on the following Friday the gynecologist would have a last look to decide.

When people in Vietnam go through operation it’s very common that there are very strict rules for what they are allowed to eat afterwards, like seafood for example, they say it affects the wound and cause “hotness” which leads to uglier scars. I don’t know if this is standard procedure after operation in other countries.

In the evening I joked with Thu that we might as well prepare to eat vegetarian food for the months to come, but I think Oliver got a little bit scared when hearing this because around 2 AM in the morning on Thursday the 9th of October 2008 Thu began to bleed a little bit, and since we live rather far from the hospital in district 7 (FV Hospital) we decided to call a taxi and go there.

Now that seemed to be a wise decision because Thu went into labor right after we arrived and with more and more frequent stomach pain. The next morning we were called down to the maternity room and Thu was put on the table, we were both a bit worried that they suddenly would decide to perform the c-section, but everything went in the exact same way as when Mary was delivered.

Thu got the epidural and that took most of the pain, and the contractions became more frequent until I could see a little bit of the head and the hair. Then the gynecologist was called in and I felt so sorry for Thu who really had to push, and then was told to wait because the gynecologist was not ready yet, he had to change his clothes.

Thu told me afterwards that if she had known French she would have cursed at him, guess that was mostly because Oliver was ready to take the final push, the gynecologist was not. Anyway as the gynecologist arrived he had to creep into the gloves fairly fast because it only took one more push and there was Oliver, 4,080 gram and 55 cm purple and screaming everything totally normal.

Afterwards Oliver was placed under a warmer and they checked his blood-sugar which the pediatrician told me was standard procedure for babies 4,000 gram and upwards. In the beginning his blood-sugar was rather low, so I was told to get some milk for him from the maternity ward on 5th floor.

Everything from there on has just been a pleasure perhaps except for the lack of sleep, but it is still great. Oliver’s blood sugar was above the mark and Thu had breast milk yesterday evening so we have kept Oliver on breast milk since then, which is cool, but a bit painful for Thu though.

We are going home tomorrow on the 13th of October and I am really looking forward to getting both Thu and Oliver home, so we can spend time together with Nhi and Mary as well. Both of them have been here to visit us at the hospital, and Mary did not really want to go home again, it was tough saying goodbye to her even though I know I will see her again tomorrow.

Don’t tell anyone, but I know how to change a diaper…

Powered by ScribeFire.

Written by Thomas Bindzus

October 12, 2008 at 00:06:22

Posted in Vietnam

Tagged with

When Ants Gets Thirsty

with one comment

Came across this blog today, realized it was my own, and remembered that I didn’t write anything for a long time. So I thought why not spend a few minutes adding a little post about my ant-farm developing here on my table at work.

Tried to capture the ants with my mobile’s camera, those tiny black dots are ants taking over my water.

I tried to take a close-up as well, but my camera is not that good. Wonder how long time it would take for them to empty my cup of water…

NO! You cannot have my Pepsi, even though it is only Pepsi, luckily it was delivered in a plastic bag, ants protection on the most advanced level! Again might not be that obvious put those tiny black spots on the table are ants.

Hope I have more interesting things to write in my next post. No I didn’t have too much Pepsi, I did actually have ants on my table, they are actually still there, trying to figure out a way to get inside, oh wait! NO! Gotta run, my Pepsi has moved half across the table already!

Written by Thomas Bindzus

July 24, 2008 at 12:19:47

Posted in Weird & Unimportant

Tagged with , , ,

The Solution to all Power Failures?

leave a comment »

This is definitely weird, I still have to question whether it’s unimportant or not. The truth is it has kept me awake for almost an hour now watching all 7 parts of it. It started very innocently with me paying a visit to Scott Adams’ blog and read this post about a guy who have apparently invented a very interesting motor. Judge for yourself but I would sure like to see some more solid evidence before I am 100% convinced, but it’s definitely interesting.

Written by Thomas Bindzus

February 9, 2008 at 03:25:30

SpiderMonkey Solution File for Microsoft Visual Studio 2005

with 22 comments

Lately I have experimented a bit with SpiderMonkey, the C implementation of the JavaScript engine used in Mozilla’s browsers, and it took me some time before I got it to work without changing the code. In the beginning I used the makefile, but found that it would be a lot easier if I could open the project as a solution in MS Visual Studio 2005.

Unfortunately I didn’t have any luck Googling for a solution file for MS Visual Studio 2005, I saw someone suggested using the js.mdp-file which is included when you checkout the SpiderMonkey project from Mozilla’s CVS server, but my version of MS VS 2005 wasn’t able to convert it, announcing that the project file was corrupt.

I thought there might be others out there having similar problems with their SpiderMonkey-build so I decided to write this post, hoping that I can help others getting started, and perhaps someone with more experience can help me make my solution file and project files better as it is the first time I have created handmade project files for C/C++ projects in MS VS 2005 so I might have made some mistakes along the way.

I have also modified the make file because some of the compiler options are deprecated and others should be used instead. But let’s get started, this post will let you know how to checkout SpiderMonkey and get started using my solution file and project files. I assume you already have an CVS client installed like Tortoise CVS which is the one I am using.

To check out SpiderMonkey the easiest thing is to follow the guidelines for check out which can be found here. I checked out the version tagged MOZILLA_1_8_BRANCH. Maybe you have more luck than I did following the included build documentation, but I was tossed around a bit before I found out that the makefile you really need is called js.mak if you want to build with VC8.

I checked out from Mozilla’s CVS server using the following commands:

cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l -r MOZILLA_1_8_BRANCH mozilla/js/src mozilla/js/src/fdlibm
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l mozilla/js/src/config mozilla/js/src/editline

Once you have checked out the version to your computer open a command prompt and execute the batch-file called vcvarsall.bat to get the MS VS 2005 environment variables registered.

Registration of VC8 enviroment variables

Now the C++ compiler and linker will be available from this command prompt, you can also choose to set it up more permanently, this is just the way I did it. Change path to the location of the files you just checked out from Mozilla’s CVS server, you should now try to build the project using nmake.

First nmake js.mak build

I didn’t include all the build information for as you can see I ended up with a linker error. Googling a bit on the subject I found out that this can be solved by including jsiter.c in the jsinterp.c file, but I really didn’t like to change anything in the code unless I had to, so I saw yet another reason for trying to make a solution file which wouldn’t produce any linker error.

Using the makefile I got a lot of warnings about deprecated option settings so I decided to follow some of the advice the compiler gave me to produce a make file more suited for MS VS 2005, furthermore I change a little bit in some of the dependencies for building and I was able to remove the linker error without changing any files at all. What I did was to include the jsiter.obj file when building the js32.lib which gave the linker the necessary references.

Using my updated makefile I was able to build the project, and because some of the functions used are deprecated according to the VC8 compiler I added the two preprocessor commands /D “_CRT_SECURE_NO_DEPRECATE” and /D “_CRT_NONSTDC_NO_DEPRECATE” as well. You can download my makefile from here.

Second nmake js.mak build

After running the make you should now be able to start the JavaScript shell which is included in the checkout using Debug\jsshell.exe from the current path in the command prompt.

Running jsshell.exe

Great so far so good, but what I really wanted to use MS VS 2005, so I still had some work to do. Based on the makefile I created four projects for the solution, the four projects are:

  • fdlibm - This project is needed for mathematical operations as far as I have been able to figure out
  • js32 - This project is the JavaScript engine itself, here the API for embedding the JavaScript engine into your own applications is defined.
  • jskwgen - This project I created in order to make the header-file called jsautokw.h which is a prerequisite for building the js32 project, basically it contains a big switch-block with, what appears to be, all JavaScript keywords which can be found in the file jskeyword.tbl.
  • jsshell - This project contains the files for creating the interactive JavaScript shell which can be used to execute JavaScript either inputted through the shell or loaded from an external file.

The hardest work was to get all the compiler settings right using the makefile as my only reference, I did omit some settings, and some of them might be important, but none the less I ended up with a solution file which allows me to build SpiderMonkey directly from MS VS 2005 which was my intention. If I make any updates to the solution file I will announce it in another post.

If anyone out there reads this post and can help me improve on this solution file then you are more than welcome. Also if you have any questions or comments to my post I would like to hear from you, I might be able to answer.

If you wish to have a look at my solution files then you can find them here. I made it available on Google Code as an archive maintaining the path from Mozilla repository, so you should be able to copy the top directory directly from the archive to the location of your check out from CVS.

Written by Thomas Bindzus

February 8, 2008 at 19:27:49

First Day in The Year of the Mouse

with 2 comments

Today we went downtown (district 1 in Ho Chi Minh City) to see all the beautiful flowers arrangements setup on Nguyen Hue Street. We arrived around 2 PM and found the whole street blocked for motor vehicles. I panicked a bit because I don’t usually have to park downtown and wasn’t quite sure where we could get rid of the bike.

 

We continued down Dong Khoi Street which runs parallel to Nguyen Hue all the way down to the river continued along the river past Nguyen Hue Street and there we found parking arrangements made for motorbikes. After getting rid of the bike our Mary, Nhi, my wife and I was ready to look at some flowers.

 

Nguyen Hue Street is probably one of the widest streets in inner city with a lot of office buildings lying on each side of the street, Sun Wah Tower is actually the only one I can come to think of right now because that is where the Danish Chamber of Commerce is located which also handle visa applications for entry to Denmark. Of course there are also some rather expensive hotels and pretty good restaurants on this street and the Saigon Tax Trade Center where we usually buy our movie DVDs, good quality low price (13.000 VND per DVD).

 

When we first entered the street we saw a ship setup in the middle of the street with flowers for sail. Nguyen Hue Street has 3 lanes in each direction one of the lanes is separated from the others with around a meter wide piece of green grass with trees. In each directions flowers were put up on each side of the two remaining lanes making room for bigger arrangements in the middle of the street. It’s kind of difficult to explain exactly how it looked so I took the photo below, hope it helps imagining how it looked.

 

There really was a lot of flowers it was quite amazing to see how much was put up, very creative and lots of different themes. Further down the street were islands with flowers, we saw an arrangements with a small lake and a monkey bridge across it, we didn’t try it though because there were people on it all the time, and I guess Mary is not yet that steady on her legs even though she did pretty well, walking on her own two most of the time.

 

Anyway short post about one of the traditional things (at least this year and last year) that happens during the Tet (Vietnamese for Lunar New Year) just felt like sharing some of the photos I took today, some more photos follow below.

 

Some of the arrangements contained mice since it is the year of the mouse (or the rat) we have just entered, so at the opposite end of Nguyen Hue Street we found the mouse family.

 

 

My favorite kind of flower is orchids and there were also a lot of orchids to look at, like in the arrangements shown below.

 

 

After reaching the other end of Nguyen Hue Street we paused for a cold drink at a café put up outside the Saigon Tax Trade Center for the occasion.

Written by Thomas Bindzus

February 7, 2008 at 22:56:43

Posted in Tet, Vietnam

Tagged with , , ,

Lunar New Year Eve

leave a comment »

So yesterday (06-02-2008) was Lunar New Year eve and we were at home waiting for 12:00 PM where we would welcome the year of the mouse (or rat) with a table set up for Buddha with fruit, rice and candles right outside our front door praying for good luck in the year to come.

 

We also had the TV on so we could see the fireworks at 12:00 PM, experience had taught me well, I had no intention of taking the bike around downtown again any time soon, just sitting at home enjoying the show from our couch would be more than enough for me.

 

Then at 10:30 PM the power went out, that’s just great, definitely the right evening to be without power, NOT!

 

We got a hold of our battery powered lights and even lit up some candles my preferred light source when the power goes to some other countries for a while, well that is at least how I imagine it, because I have heard that Vietnam is selling power to some of their neighbor countries, which is great when they can’t even supply Vietnam with enough power, but after a while you get use to it

 

The power failures also keep reminding me of Philip because almost every time I read his blog he has a post about yet another power failure in his area in the US (Southern California) and he do tend to mention the power failures he experienced during his time in Vietnam, pretty funny.

 

During the power failure we noticed that one of our fish started to act weird, swimming up-side-down, I don’t really know what has happened to it, but it hasn’t really been its true self since yesterday, it’s like it has been paralyzed from the middle and down to the tail.

 

Luckily the power was back again 11:40 PM so plenty of time to make last preparations and get the TV tuned in to the right channel for fireworks, the kids ran upstairs to try and get a glimpse of the firework downtown but Tan Binh is pretty far from district 1, so actually we didn’t get much besides the sound.

Written by Thomas Bindzus

February 7, 2008 at 08:15:22