Windows 7 on Lenovo Thinkpad X61 Tablet

It’s only been a few days since I’ve installed Windows 7 on my Lenovo Thinkpad X61 Tablet, but so far it’s been GREAT! The version I had installed was the beta (build 7000).

I’ve been hearing a lot of good things about Windows 7, and it’s not like I didn’t want to install Windows 7, but things had been working fine for now, and I saw no reason to chance destabilizing any of my critical machines. However, I had Vista SP1 running on my Thinkpad and generally it does okay, but once in awhile, after I haven’t rebooted the laptop for a few days, I get into a state where the laptop just becomes unresponsive and slow and has problems connecting to the wireless network.

Jan Lyk had shown me Windows 7 running on his Dell mini laptop and I decided I’d give it a shot. It was pretty much an impulse decision. The same day after I saw Jan Lyk’s laptop, I grabbed the beta, and installed it that night. I decided to do an upgrade instead of fresh install since I didn’t want to bother reinstalling all the applications and backing up the data.

The upgrade actually went pretty well. It did take longer than I expected. In fact, there were certain points in time during the upgrade which I thought it was stuck, especially when it was migrating files, settings, and programs.

The “fun” part came when it prompted me to log in. I swiped my finger and it logged me in.

I started typing on the keyboard. No response. I started moving the mouse. No response. Thinking to myself, I’m !@#$%^. I could use the fingerprint scanner to login, but I needed some other way to actually install drivers if they’re missing. Suddenly I remembered I still had a tablet pen to try out. Amazing, the tablet pen WORKED! Typing using the tablet pen wasn’t that fun though, but I managed to get to the device manager and noticed that the keyboard and trackpoint devices had the little yellow alert sign. I opened both of them and told it to automatically update the driver and amazingly, it found the driver and I was able to use the keyboard. The trackpoint/mouse actually needed a reboot before it started working.

The only other issue was I also needed to update the GEM smartcard reader driver (which was also done automatically). Things were starting to look good.

Moving on, it complained that my antivirus software was not turned on. I use AVG 8.0 and it was turned on from what I could tell. Someone on the AVG forums mentioned that if you disable resident shield and re-enabled it, Windows 7 would stop warning you about it. I tried that, but didn’t seem to work. I thought I’d try reinstalling, but in the end, decided to just switch back to eTrust, since AVG doesn’t officially support Windows 7 yet. This thing also warned me that Windows Defender was turned off, but I think that’s because it was set to delayed start, and the warning would disappear after awhile.

I love the fact that the tablet feature and fingerprint scanner just worked out of the box. It definitely boots up a lot faster than Windows Vista and definitely more responsive. I haven’t had much time to tinker or play around with it much, but it looks like most of the Lenovo applications also work out of the box.

The pinned programs on the task bar is like a merge of quick launch + task bar, which is pretty neat. Usually I have a vertical task bar, because when horizontally, the names of the tasks just take up too much space. Now that they’ve gotten rid of the name and only show an icon, I no longer really need to have a vertical task bar. However, I still dislike the fact that they group same tasks together. There’s probably a way to disable it, or make it more responsive so the moment I hover over the icon, the windows thumbnails would appear immediately instead of waiting a few seconds.

Another cool thing I noticed is that they have a dim screen feature. Usually you have 2 options for your screen: On or Off. I usually set mine to turn off after 5 minutes of idleness, but now there’s an intermediate step where it dims it after 2 minutes of idleness and turns it off after 5 minutes.

I’m going to enjoy playing with Windows 7 on my laptop.

If the IRS were smart…

I saw this article on Digg earlier: Swiss bank to ID U.S. tax evaders

Banking giant UBS AG, Switzerland’s largest bank, agreed to pay $780 million to settle accusations that it helped U.S. customers hide money from the IRS. And in what the Justice Department described as an “unprecedented move,” UBS agreed to provide the names of up to 20,000 Americans who sought to avoid paying income taxes by keeping secret accounts.

This got me thinking… If the IRS were smart, they should make the following announcement:

—————
Attention Tax Evaders:

Before UBS gives us the report, we would like to give all of you a chance to come clean. If you come clean now and admit to tax evasion, we’ll forgo any charges, fines, fees, interest, and penalties associated with the tax evasion. You’ll still have to pay off the taxes you owe us, but we’re going to give you a clean state afterwards. We’re also willing to work with you and/or your accountants to come up with a repayment plan if you’re unable to pay off all the back taxes immediately.

After we receive our report from UBS, the offer above will no longer be valid. We’ll be filing criminal charges for tax evasion on all remaining individuals who have not come forward. We’ll pursue every case to the fullest extent and request for maximum penalty and fines. Not only will you owe us the back tax, you’ll also owe us the accumulated interest, penalty fees and fines, legal fees, and anything else our lawyers can come up with to tack onto the list.

You thought you could fool us. Is it worth the risk to continue trying? Your call.
—————

If only the IRS were smart…

Bank of America Notary Service

So this ordeal all started Friday evening at 5pm, when I received a call from the escrow agent. He said he needed me to sign and notarize some documents by today (Saturday) and mail it back to him. I’ll talk more about the whole refinance ordeal at a later time. Anyway, I was given 2 options:

  • I could pay about $100-150 and he’ll send a notary agent to my house and get the documents signed, notarized, and delivered back to the escrow company.
  • He could overnight me the documents, I could get them signed and notarized, and mail them back on Saturday.

Neither of those 2 options sounded great. I asked if it was possible for him to email me the documentation, I’ll get them signed and notarized myself, and then mail them back. He said that would be great, but he warned me there was going to be about 100 pages. I said that should be fine.

I get the documentations awhile later, so I start looking for places to get it notarize. I thought I might even be able to mail it out tonight.

Turns out I was so wrong. Apparently places that provide notary services have a very fixed working schedule, Monday to Friday till 4 or 5pm. I found out that Microsoft has some people who does notary for us, but all of them were off work by then. One replied saying if I still needed the documents notarized, to contact her on Monday. I tried calling a few places (i.e. Kinkos and The UPS Store). Both are open on Saturday, but both their notary services are only available Monday to Friday. I thought, “I’m screwed…”

The last suggested place were banks, and I had a gut feeling that I was going to get shot down like the others. I mean… they’re BANKS. When they have the worst possible hours for someone like me, how can I expect them to be better than all the others I’ve tried. Plus the fact by the time I decided to start looking at banks, it was past 6pm already (their “closing” time).

Anyway, I decided to give calling them a shot. I called the Bank of America in Issaquah, since the FedEx Service Center was just 5 minutes away and I was given an FedEx account to ship with. After a few rings, someone actually picked up. I asked if they provided notary services, and they said they did, but were now closed. I said I understood and was wondering if they provided notary services on Saturday, and she said they indeed did. I’m like, JACKPOT!

So given that banks close at 1pm on Saturday, which is before the usual time I even get up, I set my alarm clock for 10am to give myself some buffer time just in case. Turns out I was pretty much awake by 9:30am without the alarm going off.

I drive over there and the receptionist greets me and I tell her I’m here to get some documents notarized and she smiles and asks if I was a Bank of America customer. I said I was and she directed me to sit and wait for a bit. Moments later, I was greeted by the notary agent and he asked if I was a Bank of America customer, and I repeated that I was. I asked if he wanted to see my Bank of America ATM card, and he said he just needed my drivers license.

We go over the documents that needed to be notarized and everything went pretty smoothly. I thanked him for his time and asked if there was any fees I had to pay, and he goes “nope, it’s a free service for Bank of America customers”. And to think that they didn’t even need to verify that I was one. That’s the type of trust I don’t expect to ever see in Los Angeles.

You hear bad customer stories about Bank of America all the time, but this was one of those times that Bank of America came through and made the experience that much better!

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.