Tuesday, September 29, 2009

Second Day of Store Cleaning

Still with no water and electricity at Blue Wave, we began our second day of cleaning up. We had to shuttle back and forth water drums to watch out the mud and reduce the stench inside the store. Engineering people from Yellow Cab head office were sent over to pull out all our kitchen equipmet so that they can be checked and repaired.

From YCMK Cleanup Day 2

It took a van and their truck 2 trips to pull out our ovens, dough roller, mixer, freezers, chillers and make table. A crew of about 10 were sent to help load the equipment onto the trucks. Since the food establishments around the area are still all closed, we brought lunch and drinking water for our cleanup crew.

Monday, September 28, 2009

Cleaning Up The Store After The Typhoon

The roads leading to our store were all impassable yesterday as flood waters have still not subsided. So it was not until today that we were able to brave through the muddy streets of Marcos Highway, to get to Blue Wave at Sumulong. The scene was like something from an end-of-the-world movie where you see cars left on the streets in all sorts of positions with no drivers.

Our store was a mess. Mud was everywhere and the smell was just plain awful. All the kitchen equipment from the mixers, rollers, to the really big ones like the freezers and ovens, were not spared.
The smell of rotten food mixed with mud and used oil that overflowed back from our grease trap. The Coke chiller and even our big freezer at the back were completely toppled. The electronic circuitry inside our very expensive ovens were completely fried.
The crew at the store last Sept 26 were able to bring up to the 2nd floor some of the expensive raw materials like cheese, but they eventually spoiled anyway because there was no electricity. The mall was like a ghost town with all the stores sharing in the same predicament. Our neighbors Starbucks and KFC were just as bad, if not worse.

The mall's water supply was contaminated so they could not provide water to even let us clean up the place. We had no choice but to shuttle back-and-forth between the house and the store to bring in gallons of water to wash out the debris inside the store.

If our store was badly hit, the houses along Tumana were even worse off. Judging from the water stain and the state they were in, water must have reached the second floor of the houses there. It was just mud everywhere and people had nothing to eat.
The first floor of Ethan's school, LINKS, just along the river was also completely submerged. So if you look at the photo below, you can imagine how high the water must have rose.
Even though its hard to think of a reason to be thankful for at this state, one only needs to see how worse off a lot of other people were in order to appreciate what one still has -- our house was relatively unscathed; the store can be rebuilt and is covered by insurance; our cars were not affected while a lot of others were submerged; and we are still alive!

Sunday, September 27, 2009

How The Telcos Fared During the Disaster

Natural (and man-made) disasters show the resiliency of telco networks. During good times, they always brag on how redundant their links are, or how their fiber rings can automatically re-route traffic in cases of major fiber cuts. But come major disasters and you see the true nature of their preparedness. So how did they do during Typhoon Ondoy?

Our BayanDSL conked out by Sept 26 mid-afternoon. This was during the height of Ondoy when the flood water was rising. The Bayan Wireless Landline (BWL) service was pretty stable though. So even though there is a preference for wired connections when it comes to data, wireless is still less prone to downtime. The interconnection with other telcos got pretty bad though. But this was understandable due to the unusually high number of calls people are trying to make to reach their relatives.

For mobile, Globe Handyphone signal was very spotty. Globe landline was totally dead in most (if not all) of Marikina. Smart held up pretty well. Signal was very consistent and I did not experience much problem calling other Smart numbers.

Mozcom's core data network did not encounter outages. But the "last-mile" link to several of our customers were affected mostly due to loss of power in the telco's outside-plant facilities.

Saturday, September 26, 2009

The Worst Flood in Marikina History

Sept 26 has historically been a bad luck day for me. Its actually my deceased brother's birthday. In the past 10 years, I've had major problems that coincidentally seem to be falling on that day -- from my previous company's altercation with a major telco; to working overnight to get a client's link up; and now this!

It was raining hard the whole night. But since the weather has been like this for weeks, we did not really pay much attention to it. We woke up this Saturday morning and went about doing our usual things. Well, I couldn't go to the gym because the rain was a bit hard, so I did some work at the den. At around 11am, Cols called my attention to the lanai as the water seem to have risen to an alarming level and our fish pond was threatening to overflow.

When I went out, I saw that the entire backyard was already submerged! Since we only moved here to LGV last December, we've never really been through a major typhoon here and were not aware how usual flooding here is. So I called up Tita Lucy and asked her if this is "normal". She said 'no' and that this was the first time in 20+ years that they've been here that water has submerged their garage as well.
The water has risen to cover the first step of our small stairs leading to the backyard. And it just kept going up and up. Our accent mound (see photo above) already looked like an island with the grass surrounding it completely invisible under the dirty flood water.

Our back gate, which normally has a large gap from the bottom frame to the ground that can fit our kids' toy ball, was already touching the water. Below is a photo of a person wading through the water outside showing the water is already knee level along Paraguay Street.
At around this time, I received an SMS message from our Store Manager saying that flood has already reached critical level also along Sumulong Highway and that the water has already entered the store. Sumulong Highway is also not typically a flooded area so I wasn't that concerned. I figure that the water would probably go into the at most up to ankle level. Little did I know that it eventually went on to go as high as 5.5 ft INSIDE the store effectively submerging all our kitchen equipment.

This turned out to be the worst flood in Marikina history as Typhoon Ondoy unleashed the equivalent of one month's worth of rain within a 24-hour period. It left 80% of Metro Manila under water. LGV was flooded heavily for the first time. Several commuters got stranded in front of our house as Soliven III Ave. was flooded about 100 meters further with water reaching up to neck level.

Amazingly, electric power at our house never went out. While brownout was widespread across the Metro as the electric company shut down power to avoid shortage, electricity and water was never interrupted at our house. This was unusual since power always seem to go out at our village whenever there is a big thunderstorm.

By around 5pm, a sizable crowd has already gathered outside our house as all the cars were parked there and could not proceed. By this time, the rain has already stopped but the water has not subsided. Many people just left their car parked on our street and waded through the flood to reach their house on the other end of Soliven III.
Caitlin slept over at Ilene's place last night so she did not witness the happenings here at our village. By around 8:30pm, we decided to fetch her since there's no power over at Speaker Perez and she was complaining that its hot. But alas, we got stuck along Quezon Ave. as Araneta was impassable with flood water also rising from the creek there. So we had to take a U-turn and come back home without her.

Wednesday, September 23, 2009

Programming with Windows Media Player and C#

I'm working on a prospective project that requires me to play mp3 files on our NetMachine kiosks. Under the old Windows system, one can play WAV files by calling some internal Windows functions. I've never tried playing mp3 or wma media files from an application so I did some research. While there are 3rd party libraries available, the best option seems to be to use the interfaces exposed by Windows Media Player (WMP). Since practically all Windows PC's come equipped with some version of WMP, it is fairly safe to assume that the components can be found in all these PC's.

Adding WMP to a C# application is very simpler. Just add a reference to the file wmp.dll in your Visual Studio project. Then from within your code, just create an instance; point to the source media file; and call play():

WMPLib.WindowsMediaPlayer player = new WMPLib.WindowsMediaPlayer();
player.URL = @"c:\My Music\somesong.wma";
player.controls.play();

You can also track state changes (eg. from playing to stopped) and respond appropriately using the standard event-handling model of .NET.

player.PlayStateChange += new WMPLib._WMPOCXEvents_PlayStateChangeEventHandler(player_PlayStateChange);

You can also access the playlists defined in WMP programmatically, and extract information about the media file (ex. the artist, song title, album title, etc.) through the IWMPMedia interface:

WMPLib.IWMPMedia objMedia = player.currentMedia;
listBox1.Items.Add(String.Format("[{0}] {1} by {2}",
objMedia.getItemInfo("Album"),
objMedia.getItemInfo("Title"),
objMedia.getItemInfo("Artist")));

There is a downloadable Windows Media Player SDK 10 at Microsoft. I'm not sure what more it adds to the components that are already built-in to Windows. I did not bother installing it anymore. I guess its just sample programs.

Tuesday, September 22, 2009

Programming with Multiple Monitors in Windows using C#

I have a couple of prospect projects that require the application to send 2 different outputs to 2 different monitors. While I have been curious for some time about exactly how do you install more than 1 video card/monitor onto a Windows box and extend your desktop, I've never really been pushed to find out. But because of this prospect, I assigned my tech guys to do some R&D using our notebooks.

It seems that all Notebooks have 2 x video cards built-in -- one going to the LCD display, and the other going to the external VGA port. I have always assumed that it was just 1 video card and that the VGA port is just like an "extension" of the LCD. But as it turned out, Windows treats them as 2 different video cards and you have to option of whether their output to be the same, or you want it to be in "extended desktop mode".

Detecting multiple screens under C# is very trivial. The only thing that makes it a bit tedious to work with is the fact that the Display names are null-terminated (C-style). Since C# does not work natively with null-terminated strings, you have to do a little bit of conversion to C#-style strings. The example below shows how to get device info and open a modeless window which will reside on the extended desktop.

Setting the bounds of the new window to that of the extended desktop and setting the WindowState to Maximized will cause the modeless window will eat up the entire extended desktop. Of course, this simplistic demo assumes there are only at most 2 monitors. In reality, according to other postings, Windows XP and Vista officially can support up to ten (10) video cards/monitors.


allScreens = Screen.AllScreens;
foreach (Screen screen in allScreens)
{
string deviceName;

int length = screen.DeviceName.IndexOf("\0");
if (length == -1)
deviceName = screen.DeviceName;
else
deviceName = screen.DeviceName.Substring(0, length);
}

ExtendedForm extForm = new ExtendedForm();
extForm.Show();



Then at the constructor of the Extended Window Form:


private void ExtendedForm_Load(object sender, EventArgs e)
{
Screen screen;

Screen[] allScreens = Screen.AllScreens;
if (allScreens.Length == 1)
screen = allScreens[0];
else
screen = allScreens[1];

this.Bounds = screen.Bounds;
this.WindowState = FormWindowState.Maximized;
}


Monday, September 21, 2009

Checking Out La Mesa Ecopark

Its yet another long weekend holiday today -- Ramadan. I've lost track of how many holidays the government has called for the year. I decided to bring the family to La Mesa Eco Park. I've been hearing about this dam-turned-into-an-eco-friendly-leisure-destination from the media for sometime so I looked up how to get there. At first, I thought it was somewhere in Montalban, but it turned out to be much closer -- just at Fairview, barely a 15-min drive from our house.
The place was packed today. It was hard finding a place to park. Our first stop was the zip lining attraction. When we were about to enter the area, we heard somebody shouting Caitlin's name. Turns out her ICA Kinder Daisy teacher Racquel was already in line at the zip line waiting for her turn.



Since the queue for the zip line was quite long, I decided to try the wall climbing attraction adjacent to it. Last time I did this was 7 to 8 years ago. It did not take me long to get my rhythm though. I reached the top in a couple of minutes!



Cols went for the zip lining activity. I wasn't too keen on it since I've already done zip lining in Cagayan de Oro before and this one was pretty short. In fact, its just almost one-way -- from the main platform; across the lake; to the other side. Then from the other side, you would do a quick zip that will only take you about the middle of the line. From there, you have to manually pull yourself back to the main platform. I don't know why they didn't just build a higher platform on the other side so that the gravity will take you all the way across instead of stopping midway and forcing you to manually pull yourself. According to Cols, the worst part of the attraction is actually the really smelly helmet and gloves. Apparently, they never wash them!



After zip lining, Ethan was getting restless already so Cols had to take him back to the car. Caitlin still wanted to go boating so I accompanied her. The man-made lake was only 4-ft deep. The attraction is sponsored by Aboitiz. Ironically, an Aboitiz Super Ferry just sank a few weeks ago.



After the boat ride, it started to rain. So Caitlin and I hurried back to the main deck. Cols drove the car over to pick us up and we left the park.

Sunday, September 20, 2009

Ethan's Birthday Party at LGV

Ethan has been excited about his birthday party for the past couple of weeks. Although the general theme is supposed to be "Thomas & Friends", it was not really a typical children's party. It was just a small gathering of family friends and their kids. Because the weather has been rainy the whole week, we had the tables placed inside the house and in the covered lanai area.

A friend of mine from high school, Cheryl came with her husband and son. Most of the other guests are Cols' high school friends and their kids.



We started the party early at 6pm. That way, we also finished early since kids can't really stay up late. Our caterer was the usual - Verleo. Food was simple but everyone seem satisfied.

Thursday, September 17, 2009

My Linksys is Back

Sometime ago, I posted my problems trying to restore my old Linksys back to its factory default. It seem that the steps I took to reset it was correct all along. I was just trying to login using the wrong default id and password. The default of the Linksys WAP54G is no username and 'admin' password. The guy at the Microwarehouse support center showed me that he could login to my WAP without any problems.

So I installed the Linksys at our home theater tonight and can now get excellent quality signal from our bedroom (I'm writing this blog entry from our room via Wifi) wheras I still could not get a signal from the small Belkin unit at the den. I think the old-style WAP with dipole antennas still outperform the new ones in the market with small or hidden antennas.

From our ground floor living room, I can get 3 bars from the Linksys upstairs, as compared to, only 1 bar from the Belkin which is just right across the living room.

Wednesday, September 16, 2009

A Rotarian for A Day

I was invited by the Rotary Club of Makati San Antonio to their weekly meeting at Sentro 1771 in The Fort. Their new "Smiling Visionary President" (SVP), Jon Arayata of Bayantel, is introducing the PayEasy online payment system into their website to accept payments for everything from donations to their projects, to payments of their membership dues. The online donation website of this Rotary chapter is http://rcmsanantonio.payeasy.ph.

The group was a rowdy and fun bunch composed mostly of accountants and telecoms/IT executives. They were very accommodating and friendly to newcomers (ie. potential recruits) which included myself. They're a small close-knit group of less than 30 people although probably only half of the total members were present tonight.

At the latter part of the event, I bumped into an old AdMU classmate - Monique Manalo. While I saw her name in the program sheet, I assumed that it must be another person of the same name. But as it turned out, it was a familiar face from 18 years ago! Very hard to believe it has been that long since I graduated from college.

Deceptive Celeteque Ad

Billboards for the new anti-aging moisturizer Celeteque Advanced has been popping up all over Metro Manila. The ad claims that in 6 weeks, you can see a reduction of up to 92% of your wrinkles. Hmmm..., ok. I don't know how the industry actually regulates the age-old adage of "Truth in Advertising", but so far, based on the billboards I've seen, it is so obvious that the image is 'doctored' by Adobe Photoshop.



The ad copy shows a comparison of a woman's photo - one supposedly taken from Week 1, and the other on Week 6. Now, it doesn't really take a genius to figure this out, but it is so blatantly obvious that the "Week 1" photo and the "Week 6" photo are one and the same. The only difference is the Week 6 photo went through some digital image manipulation to remove the wrinkles and whiten her complexion. But everything from the angle of the photo, the lighting effect, the facial expression, etc. point clearly to the fact that its the same photo!



Now, I am not saying that the product does not do what it claims to do. Perhaps it can really perform miracles in 6 weeks. What I just find offensive with the whole campaign is the fact that they obviously used digital image manipulation to fool people. If they were really serious in their claim, why not take a real photo of that woman in Week 1, then again in Week 6 and let the audience decide. Using Photoshop is a cop-out.

Wednesday, September 9, 2009

Standard Chartered Cash Back Credit Card

With so many credit card options nowadays, I've been trying to find the one offering the best deal. For some time, I've settled with the Citibank Cash Back Visa. The mechanics is very simple. They rebate you 0.5% of all your purchases every month. There are no points to be earned, that requires converting to some gift items. I swear some banks (Metrobank, in particular) are not really earnest in handing out those rewards. Despite my numerous requests to cash out my points into GC's, I still have yet to receive them after several months.

Recently, I got the Shell Visa cash back credit card. It has all the benefits of their old cash back visa plus you get 5% rebate when filling up gas at Shell. The only catch as I found out later is that its not available at all Shell gas stations. I guess some of the franchise stations did not agree to give up their margins.

Standard Chartered recently entered the cash back fray with their Platinum card. I cancelled my regluar Standard Chartered Mastercard in favor of this cash back platinum. While they only rebate back 0.3% of purchases, they give a special 3% for purchases from department stores and restaurants. So I have to pick and choose which card to use where.

The Standard Chartered cash back cards have the following additional drawbacks:
  1. Cash back earned has to be redeemed manually. Their system does not automatically credit it to your payables. You have to call their call center and request for it. Undoubtedly, a lot of people will not bother, thus saving the bank some money.
  2. You must accumulate at least P500 before you can redeem your cash back credit. Very deceptive.
  3. The cash back credits have an expiration! So for those cardholders who do not reach the P500 minimum redeemable credits, they risk foregoing the entire amount! Sneaky!

Saturday, September 5, 2009

Panic at PAL

Cols is still in GenSan so I was having a quiet morning eating siopao for breakfast when I got a cellphone call from Cols. She was at the airport already (this was around 9am) and she was in a panic. Apparently, the online ticket from PAL that I bought for her required that she bring along a photocopy of the credit card I used and an ID. She said that the counter was already closing and that I need to fax the data straight to PAL GenSan where they are waiting.

I hurried scanning my credit card and ID (had to leave my siopao behind) and ran to our fax machine. When I was a few feet away from the fax machine, it suddenly dawned on me -- our PLDT number at home has NDD disabled! Yikes! I did not enable it because in the past, we've racked up bills due to the maids calling their friends and relatives on their mobile.

So I had to go next door to my aunt (thank goodness for relatives/neighbors) and borrow her fax machine. Dialed the GenSan number of PAL where it rang... and rang... and rang... without answering! I gave Cols a call again on the mobile telling her I can't get through. And as it turned out, she was able to get her brother to pull some strings at the PAL office (you know how it is in the province where "connections" get you a long way).

I have bought tickets for Cols using my card several times in the past and this is the first time that the airline actually asked her for my card details. Or maybe it was because I mostly buy her Cebu Pacific tickets and CEB is not that strict whereas PAL is stricter. I guess all the credit card fraud is taking its toll in the airline industry. From what CEB told me, they previously required the passenger to show the card upon check-in, but eventually decided to stop doing it because it was too much of a hassle and that there were many legitimate purchases of one party of a ticket for another party (ie. the foreigner boyfriend buying ticket for his Filipina girlfriend -- how stereotypical).

Alternative forms of online payment like direct bank debit is really the better way to go. PayEasy will be supporting that hopefully by 1Q 2010.