End of June checkpoint

Livi is halfway through her 4th trimester. She’s still a pretty mellow kid, oftentimes we’re distracted with Ruby and we don’t even remember that Livi is around. We tried bottlefeeding her at one month so she can be fed when Illie goes back to work, but unfortunately Livi is just as difficult with the bottle as Ruby was, if not more. She is no longer nocturnal, and sleeps at night with the exception of her feedings. She does not consume as much milk and is not gaining weight as fast as Ruby did.

Ruby’s language skills are picking up – in fact she already knows words in Mandarin that I don’t know. About a month ago we realized that she is now truly bilingual – not only does she reply in the language she is spoken to, but she can also translate words from one language to another. She knows words that we had no idea she knew – especially in English, since her Mandarin is better than her English. Now we are very purposeful in reinforcing the bilingualism by teaching her words in the different languages and telling her which word is in which language. There are no signs of her confusing a western language with an eastern language. At home she mixes a lot of Taiwanese and Mandarin.

Ruby is now officially potty trained. No more diapers.

Work has been pretty stressful these days, especially at the beginning of this year. After an huge re-org last December, I got moved into the lead developer position with a team that was gutted and replaced with green offshore developers that had to be trained from scratch. When the other onshore developer besides me took about a month of disability, with me really only one with any knowledge of our applications supporting 6 simultaneous projects, including writing a new web app from scratch. It was unreasonably insane and by late April I was close to moving on. When a spectacularly awesome onshore lead finally moved onto our team in April and the offshore developers were more properly trained, while work is still stressful, it has become manageable.


This lady is the gatekeeper to all of my applications’ data. Without her, I cannot deploy any schema changes out into production. I cannot do anything without her.

This lady instills fear in me. It’s not just because she is the gatekeeper to all of my applications’ data, or that only through her, can I deploy any schema changes out into production. It’s also because she shares the same first name as the woman who gave me life and the same last name as the woman who sustains me in my marriage. As I have two important women in my personal life, she is symbolically the one important woman who holds the key to my progress at work. She is my database admin.

So for tonight’s deployment, I hadn’t heard word from her at all. She didn’t make yesterday’s pre-deployment meeting, and she didn’t respond to an email that I wrote to her this morning to confirm her attendance. So I nervously messaged her.

“Can you make it to tonight’s deployment?”

Robin Yan [1:49 PM]:
did you get my email about tonight’s deployment?
****** ** [1:52 PM]:
Robin Yan [1:52 PM]:
can you or someone else support the implementation tongiht at 11pm?
****** ** [1:53 PM]:
Robin Yan [1:53 PM]:
schema change required
****** ** [1:53 PM]:
I already promissed to support why you ask again

…ok, ok, that doesn’t sound too bad. I’m always joking with my coworker friend about her unique attitude at work. This humor is my way of dealing with the mortal fear I have every time I deal with her.

Offer accepted + Surprise Baby Shower!

what a memorable day/week! Our offer was accepted on Wednesday, and as a first-time homebuyer, and especially since this deals with a lot of money, I was scrambling the whole week to understand what needs to be done and getting everything lined up.

The offer was verbally accepted on Wednesday and signed on Thursday. We didn’t get escrow information until late Thursday night. Since I’m in San Diego, I decided to have my mom drive the deposit check to escrow in Long Beach, since it gave me better peace of mind. This idea was cleared by my agent and my lender. My mom dropped off the check first thing Friday morning. And while doing some due diligence and comparing lenders, I found out at about 10:20am that the lender will not like it if the deposit was written by someone else other than the buyer. I suddenly needed to drive home, get the checkbook, and write a check and send it overnight/certified. I wrote an email to my group saying that I needed to attend to a personal matter immediately and that I would be back online at home to telecommute.

I had already gotten to my apartment, grabbed the checkbook, and was driving into Postal Annex, when two things happened : I saw that Postal Annex had closed, and I received a phone call from my analyst saying that there was a late scheduled, high priority meeting at noon, and that I was to be there in person and that I couldn’t conference in. It was highly unusual because we’re always allowed the flexibility to conference into meetings, especially in circumstances like this. This sudden development added more stress onto an already-crazy morning.

Rewind two weeks. There were two things I observed that were kind of suspicious:
1. a coworker at lunch mentioned some party on “Thursday” and I was unaware of it. He thought it was kind of strange that I didn’t know about it, but then that topic got dropped.
2. another coworker, later that day, asked me for Illie’s number. After giving her Illie’s number, I asked her why she wanted it, and she wouldn’t tell me, and then weaseled out some excuse to talk about “girl stuff”.

I mentally correlated those two things and two nights later interrogated Illie about it for fun. Since Illie and I don’t lie each other, she simply wouldn’t release any details about her conversation with my coworker. As my usual silly self, I started making wild conclusions in a teasing manner and then received more silence. It was then that I basically confirmed some kind of baby shower planning, but I didn’t know the details.

Fast forward to last Sunday. We submitted an offer for the house and my mind was completely preoccupied with negotiations. On Wednesday, my agent was completely unreachable for the whole day, and I was left hanging for the whole day, wondering what the seller’s response to my last counter-offer from noon the previous day. I got word from her on Wednesday night that it was accepted. First thing I needed to do was to get the earnest money deposit in within the three day time period. We didn’t get the escrow information until late Thursday, so I had already lost time to get a personally signed check from San Diego to Long Beach. That’s why I asked my mom to write a check from her account on my behalf. And besides that, I’ve been scrambling, shopping between lenders, finding out about homeowner’s insurance, double checking my agent’s data for errors, and going back and forth with an inspector to schedule an inspection date. This whole week I was completely preoccupied with these tasks, and I was called back into office on what seemed to be an emergency high priority meeting.

As I was driving into the lot, I saw my analyst and her boyfriend walking into the building carrying boxes of soda. Odd?? I was still a bit hyped on adrenaline, frantic about having to attend a high priority meeting in person, but when I saw that, I did more mental correlation.. I checked Outlook and saw four attendees to the meeting invite : my boss, me, my analyst, and the lead. Unusual? The IBP folks weren’t included in the invite, and that’s what the meeting was supposedly about. And lastly, big 4th floor conference room? Rare?? That’s when I started feeling a sense of relief.

It was the very first surprise party I’ve had thrown for me. The sleuthing made it even more fun, and it was a welcome distraction from both work and homebuying. It was a very special and memorable day.

Me in my cube at work

This is where I spend most of my waking hours on weekdays.

Gary took a pic of me in my cube to show another coworker in Monterey Park, and cc’ed me in the email. Pretty good picture quality for a camera phone.

So this is my cube. Very bare bones. I don’t have many things to personalize my cube with – I just got that green plant from my mom for Christmas. Also is a picture of me and Illie at Williamstown after a hike, and lastly a Wu cup from Illie’s grandmother’s 98th birthday get-together in Minneapolis. These are really the only things I have that personalize my cube. Otherwise it’s pretty bare bones.

But I spend most of my time staring at the screens anyway, so if I had anything interesting in my cube I probably would hardly notice it was there.

work + silver strand

last weekend after my last blog, a failed deployment meant that I had to work on a build and spend another night working on a second deployment. Sunday morning, that second deployment failed and I had to make a third build and deployment immediately. It pretty much had to work. All-in-all, I got paged several times and ended up working a lot of last weekend.

This weekend, I got paged/called about five times, all during the night/early morning, several times waking me up. Friday night, there was a party in the apartment complex that kept me up for a lot of the night – I called Summit Security twice but they were still very loud. I was very upset about not getting enough rest in for Silver Strand.

The last page, I saw in my work email that gave me the impression that the IPL had been canceled, and then called into the IPL conference call number and noticed that there was no one there, so I reset my alarm clock to 4:20am. As I was driving to the race I got called twice on my cell phone asking me to do the IPL validation. I had to redirect the validation to my coworkers, which I was pretty annoyed about.

Silver Strand was predicted to be a hot one. I set the three goals : sub 1:30 half, a PR, and sub 1:35. The temperature was nice and cool for the first three miles and then the sun just kept on beating down. As we got towards Imperial Beach, it suddenly got a lot warmer, and there was a hot headwind – it felt like a blast furnace. In the distance, for most of the race, I saw a huge plume of wildfire smoke blowing westward. I decided to turn the race effort into an easy run, and I came in at a easy 1:45:?? time.

I certainly did my homework – the speedwork, the distance – and I carbo-loaded pretty well. Some days, the stars are just not aligned for the race. This weekend, all the external factors out of control, teamed up against me in a really horrible way.

update: the highly obnoxious, “monthly” fire alarm went off at night, and then there was an earthquake at 4:30am that woke me up. Just not my weekend.


It’s a bit past midnight, and I’m telecommuting via citrix and on a conference call. We’re doing a deployment of three web applications with dependencies on each other.

There are period of activity interspersed with … well, just waiting. That’s what I’m doing right now.

I’m starting to feel sleeeepppy…. why is this SIDOR execution taking so long???

online account opening

So we rolled out our web application to the public yesterday, early afternoon.


I only worked on the back-end of this application. If you’re really interested in opening an account at Union Bank of California, you can see my results of what I’ve been focusing on since about March (with a hiatus in August when I was temporarily pulled into a different project).

The parts that I spent most of my time on are the “out of wallet” questions after “Your Information” and some invisible processing that takes all of the information you entered and passes it to the mainframe. Also, the back-end processing of the atm pin and the signature card stuff.

I would personally be denied by this application because of a nasty thing called ChexSystems. Well, I really shouldn’t blame ChexSystems as much as I should blame Washington Mutual. Back in August 2004 I bought an airplane ticket with a debit card, and a couple weeks later I closed my California-based WaMu account to open up an Illinois-based one. The ticket purchase didn’t go through as fast as I would expect, and instead of contacting me about it, WaMu sent the problem straight to a collection agency and reported me to ChexSystems, even though I paid immediately upon finding out. So I can’t open up an account with any bank that has a policy of denying applicants with Chex reports.

Within 5 minutes of opening up our web app to the public, we started seeing people opening up accounts. Wow. All of the successful ones were existing customers that didn’t have to go through some authentication steps that prospects have to go through. Almost all of the prospects that attempted to create accounts got .. guess what, denied by ChexSystems.

My hypothesis is that there is a floating pool of legitimately honest people with money who are looking for bank accounts, and end up with banks that either don’t perform a ChexSystems report on their applicants or ignore ChexSystems flags. My bank will deny these kinds of people, and this is not a decision that I have influence over.

A couple days ago, thinking that my Chex flag had expired, I tried opening up an ETrade account. Denied by Chex. Great. I just opened up a 6-month CD at another online bank that I already use, and just like last time, they approved my application. I saw the word “CHEX” in the url so I think they must have ignored those nasty things ChexSystems said about me.

Having seen these two different web applications that do account opening, I can say that ours is more comprehensive. ETrade doesn’t do Out-Of-Wallet questions to really make sure the applicant is who they say they are, and the online bank that I use always goes through some external vendor webservice calls for authentication even for existing customers. Of course their applications were rolled out a lot earlier than this one, and our current one replaces another one that pretty much became a dinosaur.

Work: Final stages of our project

The project I’ve mostly been working on since about March is an web-based account opening application for Union Bank. All of my work has been on the backend, such has writing code that communicates with webservices such as Single Sign On (SSO) and various Experian-based identification authentication services, host calls with the mainframe that for customer/account creation/maintenance. It will be exciting to see it rolled out soon.

The project had successfully gone through UAT and was ready for general rollout, but a last-minute security scan and analysis revealed several holes that we hadn’t anticipated, so the official public release got delayed.

This is actually the first web application I’ve worked on that anyone with internet access can use. So this is the first time I’ve actually had to think about security. Our framework (Seam/JSF/Hibernate) takes care of a lot of basic issues, but there was a whole class of holes based on http protocol essentially being a stateless protocol, against the wizard-like properties of our application introducing state into the process.

We spent most of our time fixing these problems, and I spent some time trying to think like a hacker, for the first time. It was pretty fascinating.

During these economically turbulent times, Union Bank is doing pretty well. We didn’t get involved in the subprime mortgage market, so we’re pretty stable. However, the bank that I actually bank at is having some trouble. Yesterday, I moved some money out of it into another bank which is more stable, and I’m looking to open an account at a third bank. It’ll be interesting to use the online account opening application and compare it to our own.