Hung Truong: The Blog!

  • February 05, 2007

    Final Fantasy IV (6, or 3…) Out For Gameboy Advance Today!

    ffvi.jpg

    So Final Fantasy VI is being released today for the Gameboy Advance! I remember playing this when it was known as Final Fantasy III for the SNES. I still have it, too.

    Something tells me I shouldn’t buy this, since I already own this and I already beat it before. Plus I have Final Fantasy IV on the GBA which I haven’t beat yet (though I have beat it on the SNES, and I still have it!).

    Couple this with the fact that I have Final Fantasy XII unbeaten, and Legend of Zelda Twilight Princess unbeaten, and I do think I have a case for not buying this. But it’s Final Fantasy VI!!!

    Decisions…

  • February 03, 2007

    Vulnerabilities In The Mechanical Turk Search For Jim Gray

    ocean.jpg

    I just read about a really awesome use for Amazon.com’s Mechanical Turk: finding missing people! From the Mechanical Turk’s page:

    On Sunday, January 28th, 2007, Jim Gray, a renowned computer scientist was reported missing at sea. As of Thursday, Feb. 1st, the US Coast Guard has called off the search, having found no trace of the boat or any of its emergency equipment.

    Follow the story here.

    Through the generous efforts of his friends, family, various communities and agencies, detailed satellite imagery has been made available for his last known whereabouts.

    You will be presented with 5 images. The task is to indicate any satellite images which contain any foreign objects in the water that may resemble Jim’s sailboat or parts of a boat.

    Jim’s sailboat will show up as a regular object with sharp edges, white or nearly white, about 10 pixels long and 4 pixels wide in the image.

    If in doubt, be conservative and mark the image. Marked images will be sent to a team of specialists who will determine if they contain information on the whereabouts of Jim Gray.

    While I think it’s a really nifty and commendable idea, it bothers me how vulnerable this system is from the way I understand it. It seems to me that once an image is marked as containing a sailboat-like object, it will be sent to others for investigation. If not, it will be discarded.

    In computer science, you’re trained to think as an adversary to the algorithm. While I’d hope there aren’t any people malicious enough to try and sabotage this system, it’s always worth considering the possibility. I’ve thought of a few vulnerabilities that the Mechanical Turk faces in the search for Jim Gray:

    Vulnerability 1

    The adversary marks each picture as not containing anything of interest, even if it does. In the case that an adversary finds the picture with the sailboat, he and he alone can invalidate it. The data is never considered and the search fails.

    I’m assuming a few things about the system. The biggest assumption is that each HIT will be viewed by only one person. The Mechanical Turk doesn’t specify this. If two people are assigned to each hit, the odds of this happening are lower. Though this system can still be defeated by two adversaries working in tandem.

    Vulnerability 2

    The adversary marks each picture as being interesting. An overwhelming amount of data is sent to the “team of specialists” and we’re back to square one. We can’t just assume that all of the pictures flagged as interesting were not, because one could be useful.

    This kind of attack seems much more malicious to me. At best, you could invalidate all of the adversary’s HITs and reassign them. This could take precious time, though, since once a HIT is taken, it is locked from other users to attempt.

    Vulnerability 3

    The adversary randomly marks non-interesting pictures interesting, and interesting pictures to be non-interesting.

    This is probably the most malicious and the hardest to detect. While the odds of finding an interesting picture to mark non-interesting would be low, it could happen.

    I can’t think of a way to combat this kind of attack, apart from having two users work on each HIT. Again, this could still be defeatable by two adversaries working together to dirty the results.

    Conclusion

    Even with these vulnerabilities, I think the Mechanical Turk’s search for Jim Gray is an incredible idea. I sincerely hope that they do find him. It would be a great victory for everyone involved. Please do join in the search for Jim Gray. Please don’t follow any of the adversarial techniques I mentioned!

    I just hope that the people behind the Mechanical Turk are aware of these vulnerabilities, and have come up with solutions (that are better than mine) to combat any kind of malicious use that could undermine the entire project.

    If you have any ideas to combat these vulnerabilities, or have any other ideas for vulnerabilities that I may have missed, please let me know in the comments. I’d be interested from a computer science sort of viewpoint.

  • February 02, 2007

    Google Phone Interview Get!

    logo.gif

    In last semester’s Software Engineering class, I had a classmate who was an intern at Google. We both went to the Google Information Session a while back, where I got a sweet, sweet Google shirt. Anyway, he was awesome enough to offer to forward my resume internally. After a few weeks and some other paperwork, I’ve been offered a phone interview!

    I’m not too sure how many people get to this point, but I’m pretty stoked about it. I’ve read that the interviews are pretty hard, though they really should be. I mean, it’s Google, after all! I should be getting a date for the phone interview very soon. Until then, I think I’ll try and brush up on my algorithms, asymptotic analysis, probability, and combinatorics! Don’t fail me now, Introduction to Algorithms!

    I’m feeling lucky!

  • February 01, 2007

    Nintendo Wii Component Cables: Impressions

    wii-cables.jpg

    After getting my Wii, I immediately noticed that the cables that came with it were only the normal RCA crap ones. I have an HD capable TV, so I was pretty peeved. I went to Play-Asia.com and ordered the cheapest component cables. I ordered ‘em on the 23rd and they came on the 31st, so it took about a week.

    So far, I’m fairly impressed. After switching the Wii from 480i to 480p, the difference is pretty noticeable. Before, I could see the picture getting blurry where the cursor was moving. It was kinda weird. With the component cables, that doesn’t happen anymore.

    I tried playing Zelda: Twilight Princess. There’s a huge difference with the cables. Before it was super blurry, and now it’s somewhat jaggy. Sure, the antialiasing could use work, but it still looks 100% better.

    If you have a Wii and a TV that takes component input, you MUST get cables. These ones were like $13, shipping included.

  • February 01, 2007

    Installing The RMagick Rubygem On Media Temple’s DV

    framed_clown.jpg
    Damn you, RMagick Clown! You haunt my nightmares!!!

    Oh boy, so once I got rails actually running on my dv, I figured out that my applications needed the RMagick ruby gem. RMagick does graphics stuff, like resizing and creating captcha images and whatnot, so I really need it. I ran into a few gotchas while trying to install RMagic (well, installing ImageMagick) so here’s what I did:

    First, you must install ImageMagick. This involves installing a bunch of dependencies first. I did all of the ones listed on the Rmagick ImageMagick installation guide, but the ./configure command still wouldn’t see the jpeg delegate library.

    The error message I got when trying to install RMagick was like this: “No decode delegate for this image format.” I found out from this page that I needed to run: “./configure –enable-shared” for it to register properly. When I tried running make and make install, I got some error like this:

    Magick::ImageMagickError: unable to read font `…/ghostscript/fonts/n019003l.pfb’

    It turns out the font directory set up for ImageMagick didn’t have any fonts… So I downloaded the GhostScript fonts (I had already installed GhostScript) into that directory. And it worked. The end.