Microsoft Layoffs

Many of you’ve probably already heard that that even the almighty giant Microsoft has announced layoffs. For more details, you can see Steve Ballmer’s Entire Memo to the Microsoft Troops About Layoffs and Weak Results

In brief, 5,000 people will be laid off, with 1,400 to be laid off on the 1st wave. I was actually asleep when all this was announced and when I got into work a little past noon, that’s when I first heard of the news. I knew there was supposed to be a big announcement that day and layoffs were quite probably a topic they’d hit.

At first, everything felt a bit surreal. The thought about a giant like Microsoft laying off people just felt very foreign, strange, and unfamiliar. However, it wasn’t until I found out someone I knew was actually laid off that it really hit me, and it hit me hard. I went looking for another tester on a different team to see if he had anything he wanted to discuss during today’s meeting, but he wasn’t in his office. I dropped by his neighbor’s office and asked if he knew where person x was. He said person x has been laid off. At first I had problem grasping that fact and even questioned if he was serious. And of course he replied unfortunately he was being serious. I just stood there shocked… Thinking back, asking if he was serious was rather insensitive, since no one in the right mind would joke about something like that on such an ominous day.

Rumor was that if your manager asked you to go have a conversation with him, it was most likely in regards to this issue.

I’m not sure how long exactly were the managers told to choose people to lay off, but my lead had come talked to me a week earlier saying another team in the Federated Identity group really needed help and would be transferring me over to that team. With that in mind, I thought there was good possibility of me not being laid off, however there was still that little bug gnawing at the back of my head.

It wasn’t until our general manager emailed us and gave us the news that those who would be laid off would’ve been spoken to already, that a sigh of relief came about. Later I found out that apparently if you were going be laid off, HR would’ve scheduled a meeting with you on your calendar, but I did not know that beforehand.

Even though there’s some relief now, knowing that an additional 3,600 would be laid off over the next 18 months doesn’t really breed a nice working environment and the anxiety is still there…

The following day, we found out that someone from my team was getting laid off. That gave us a even worse feeling. Seeing anyone from my team get the pink slip really hurts, since our team is pretty tight-knit. We even go bowling and paint balling together on our own time.

Given all that, the recession is real, the economy is in the dumps, and this trend will probably continue until the market stabilizes. Lets just hope the economy recovers sooner than later…

Go Obama?

Birthday Hot Pot

Birthday Hot Pot Photosleeve Album A bunch of friends and I celebrated my birthday last weekend doing hot pot. I took some pictures and posted them on Photosleeve: Birthday Hot Pot. Unfortunately, I didn’t take any pictures of myself, but Sathana took a few pictures with me in it: Just another day in Seattle#4.

It was rather fun. Valerie cooked some yummy crabs. We even had 2 different soup base: Chicken stock and Kimchi. Like always, we end up with too much food and I still have left overs ;p I found out today that deep fried shrimp is actually pretty good.

After hot pot, we rocked out on some Rock Band 2. Everyone’s getting good. Perry can even play at expert guitar and drums now!

VOiCE

So now onto the animation I wanted to share: VOiCE (Download):

I quote Sankaku Complex:

Plenty of (presumable) professionals seem willing to turn their hands to animating MADs of late; the latest is VOiCE, the tale of a girl (who would appear to be an infant Miku) and her robot, in a war-torn land…

This animation was very beautifully done and the ending is just so sad, I felt a tear starting to form.

I previously posted a 3DCG Nendroid Vocaloids animation (blog post). Very cute if you haven’t seen it before. That post will also talk about Vocaloids and Miku if you’ve never heard of them.

Update: I’ve also ripped the mp3 if you want just the music: Download VOiCE Music

Updated Gallery2 to Use JW FLV Media Player

So this little exercise started with the fact I was introduced to the JW FLV Media Player a few weeks back. Today, I wanted to share an flash video and thought it would be a good time to hack Gallery2 to use this flv video player.

If you’ve seen flash videos in my Gallery before, you’ve noticed it was using the default G2flv (Gallery2 Flash Video) player:

G2flv Player

One of the things I disliked about it was that it didn’t have a full screen mode, and it’s double-size feature behaved differently in IE and Firefox.

So I downloaded the latest version of JW FLV Media Player (currently at 4.3) and uploaded into the libs folder: /modules/flashvideo/lib

Then I had to modify modules/flashvideo/classes/FlashVideoRenderer.class to tell it to use the new flv player. I would highly recommend you back up that file before you modify it. Here’s a copy of what my resulting FlashVideoRenderer.class looks like: FlashVideoRenderer.class using JW FLV Media Player.

I’ll explain the changes I made.

I disabled forceSessionId as the url generated wasn’t like by the script. I’m guessing it did not like the ‘?’. I also added a pointer to the new .js file and updated the playerUrl.

$urlGenerator =& $gallery->getUrlGenerator();
$src = $urlGenerator->generateUrl(
        array('view' => 'core.DownloadItem',
              'itemId' => $entity->getId(),
              'serialNumber' => $entity->getSerialNumber()),
        array('forceFullUrl' => true,'forceSessionId' => false,
              'htmlEntities' => false));
list ($width, $height, $title) =
        array($entity->getWidth(), $entity->getHeight(),
              $item->getTitle());
GalleryCoreApi::requireOnce(
    'lib/smarty_plugins/modifier.markup.php');
$title = smarty_modifier_markup($title, 'strip');
 
/* Default player: G2flv.swf */
$swfObjectUrl = $urlGenerator->generateUrl(
        array('href' => 'modules/flashvideo/lib/swfobject.js'),
        array('forceFullUrl' => true));

$playerUrl = $urlGenerator->generateUrl(
        array('href' => 'modules/flashvideo/lib/player.swf'),
        array('forceFullUrl' => true));
$flashVars = 'flvUrl=' . urlencode($src) . '&Width=' . $width .
            '&Height=' . $height . '&title=' .
            urlencode($title);
$extraAttr = '';

This remaining was basically following the instructions on JW FLV Media Player on how to use their code. I also added another paragraph where I would put the fallback code (e.g. Download Movie). If you prefer that to only show up when the item could not load, I would suggest putting the %s in the paragraph above.

return sprintf(
    '<div id="flashvideo">
 
        <p id="%s" %s%s></p>
        <p id="fallback">%s</p>
 
        <script type="text/javascript" src="%s"></script>
        <script type="text/javascript">
        var s1 = new SWFObject("%s","player","%s","%s","9");
        s1.addParam("allowfullscreen","true");
        s1.addParam("allowscriptaccess","always");
        s1.addParam("flashvars","file=%s");
        s1.write("%s");
        </script>
 
    </div>',
 
    !empty($params['id']) ? $params['id'] : 'movie',
    !empty($params['class']) ?
        ' class="' . $params['class'] . '"' : '', $extraAttr,
    $fallback, $swfObjectUrl, $playerUrl, $width,
    $height, $src,
    !empty($params['id']) ? $params['id'] : 'movie');

I’ll probably update my Gallery2 mp3 audio player to use this new player some time in the future.

WordPress Flash Upload Not Working

After upgrading to WordPress 2.7 awhile back, I noticed they included a flash uploader for images. However, I never did get it to work as I was unsure what to do with the following UI:

WordPress Flash Uploader Not Working

I ended up switching over to the browser uploader, which has worked for me.

The other day I decided to go figure out what was wrong. At first I thought it was because I didn’t have the latest version of Flash, but even after upgrading to Flash 10, it still did not work. Then I thought maybe it only works in IE and not Firefox, but even on IE with the latest version of Flash, it didn’t work.

I started researching the issue online and found: Flash Upload Not working in Latest 2.7 ver

Turns out the version of swfupload included with WordPress is incorrect or broken. I went to swfupload – Google Code and download the latest version, and overwrote the files in /wp-includes/js/swfupload. The only file you really need to keep in there is handlers.js.

Now the flash uploader is working like a charm:

WordPress Flash Uploader Working

Lipstick on Mirror (Joke)

Saw this funny joke and thought I’d share:

According to a radio report, a middle school in Oregon was faced with a unique problem. A number of girls were beginning to use lipstick and would put it on in the bathroom. That was fine, but after they put on their lipstick they would press their lips to the mirror leaving dozens of little lip prints.

Finally the principal decided that something had to be done. She called all the girls to the bathroom and met them there with the custodian.

She explained that all these lip prints were causing a major problem for the custodian who had to clean the mirrors every day. To demonstrate how difficult it was to clean the mirrors, she asked the custodian to clean one of the mirrors.

He took out a long-handled squeegee, dipped it into the toilet and then cleaned the mirror.

Since then there have been no lip prints on the mirror.

Young Lady

So I was at Costco this past weekend at one of those sample booths trying out their guacamole and chips. Anyway, I was so surprised to be referred to as “young lady” when she handed me the sample. Seconds later, she realized she made a mistake and began apologizing profusely and said it was the long hair and she got confused. I wanted to tell her not to worry and but the first word that popped into my head was 気にしない (kinishinai), which means don’t mind/worry in Japanese. It took a second or 2 before I remember what the English phrase was, accepted her apology and walked away. I guess my anime vocabulary is mixing up with my real life.

I’ve been referred to as ma’am on the phone a lot, which I can understand since I talk in a semi-higher pitch than most guys. But this was a first I’ve been referred to as a lady in real life. I just found the situation mildly amusing.

Along the same lines, at another sample booth, there was a guy who would not give the sample to what I would say to be a 11-year old kid because his parents weren’t around. When I was small, I’ve confronted this situation many times and had to always drag my dad or mom with me to get those samples. However, I always thought it was because I wasn’t old enough to purchase it, so in order to try the samples, I needed someone who is capable of purchasing to request a sample with.

However, this guy gave a different and much more logical response than what I had believed in. It turns out they’re not allowed to give samples to children who aren’t accompanied by adults because they would be liable for anything that happens to the kid. His example was allergies. I agreed that this was the correct action Costco needed to enforce to protect themselves. The kid then insisted he’s not allergic to the 7 layer dip, but the sample guy would not relent. It was a pretty awkward situation and I blame America for being so sue happy. Whatever happened to parents taking responsibility of their kids and making sure they’re not wandering off trying stuff they’re allergic to.