Monday, January 26, 2009

I consider myself a blogger, so I feel entitled to recommend services I've found useful to my reader(s). The other day, I was trying to embed a video file in a Power Point presentation, but the file was in the wrong format: .avi. I looked around for a free video conversion program, but most looked really shady and full of spyware. On a whim, I searched "online video converter" and stumbled across Media Converter.

Media Converter is a free online tool that lets you upload a video from your hard drive or off the internet, convert it to the format of your choice, and download it to your computer free, without registering. It worked perfectly for my short video, and it didn't take very long, either. I would highly recommend this site to anybody who doesn't want to take a chance on a shady freeware video converter or doesn't have the computer muscle to convert a video. Try it out for yourself at

Tuesday, January 20, 2009

Name this Object #1

Well, I've stumbled across another obscure item collecting dust in my bedroom, so it's time for round 2 of Name this Object! I know what this item is, thanks to the obvious label affixed to the side. Unfortunately for you, I've cleverly concealed the label, so you'll have to work with the object's appearance alone. Since I know what this one is, there will be no cash prize, just the recognition that you have some serious internet snooping skills. On to the thingamajig!

Side View:

Back View:

Bottom View:

Front View:

Brief video demonstration:

Monday, January 19, 2009

Mega Man 3: Retro or Dated?

I am addicted to Mega Man. My first experience was with the PS3 demo for Mega Man 9, and although I received game over after game over, I couldn't stop playing until I reached Concrete Man. Therefore, when I found myself without a new game to play, I cashed in some of my Wii points for Mega Man 3.

I wasn't disappointed. Mega Man 3 is tough as nails and a blast to play. When I started to notice some relics from the NES era such as my health bar sporadically blinking and the level backgrounds being loaded before my eyes, I marveled at the port developers' attention to detail. However, my admiration turned to consternation when the game started slowing down with just two enemies on the screen.

I fully understand that this painstakingly realistic emulation probably impresses people who have played the original game on the NES, but I know I'm not the only person who's frustrated by this lack of quality. Even if a staggering forty percent of the people who download this game have played the original, that leaves sixty percent of the potential audience unlikely to appreciate the relics.

I seriously doubt that removing gameplay slowdown would be a challenge for Capcom's port developers, and I'm confused as to why they would choose to leave it in. I can understand some of the appeal of quaint little glitches like the pulsating health bar, but I can't fathom Capcom's reasons for leaving the gameplay impaired for the port.

Gaming quality has come a long way in the last twenty years, and I know I'm not the only one who appreciates this progress.

Monday, January 12, 2009

Are bookmarklets still cool?

I'm by no means an accomplished Javascript programmer, but I'm pretty good at writing small scripts and very lazy when I'm faced with repetitive tasks. So, when I wanted to rip a series of pictures off a website's page (and I had asked permission from the website's owner), I wrote a small Javascript bookmarklet to do it for me.

Just type cut and paste the following code into a bookmark, then click on the bookmark on whichever page has the pictures you want. It will leave you with a page full of image tags you can cut and past onto your own site, provided you got permission from the pictures' owner.

javascript:var htmlDiv = document.createElement('div');var garbageDiv = document.createElement('div');var pageImages = document.images;while (pageImages[0]) {var cleanImage = document.createElement('img');cleanImage.setAttribute('src', pageImages[0].src);htmlDiv.appendChild(cleanImage);garbageDiv.appendChild(pageImages[0]);} var body = document.getElementsByTagName('body')[0]; = '#ffffff';body.innerHTML = '';void(body.appendChild(document.createTextNode(htmlDiv.innerHTML)));

It's a relatively ugly script, but it's easily understandable, nonetheless. It starts by initializing a couple variables: htmlDiv to store the pictures and garbageDiv to hold the pictures that have already been scanned. pageImages just saves me the trouble of typing in document.images over and over again. A simple while loop runs while there is something in the first slot of pageImages. Within the while loop, a new, blank img element called cleanImage is created, given the src of the current picture, and appended to htmlDiv. The current image is then appended to garbageDiv, thus removing it from the page and the pageImages array. Once the loop terminates, the whole page is restyled to have a white background (the website I made it for had a black background) and its contents are replaced by the HTML inside htmlDiv.

If you're wondering, that void() block at the end is necessary because bookmarklets are required to return something. If you didn't have that block there, the last line of code would return true and the only thing left on the screen would be true.

I have at least one more bookmarklet to show off when I again run out of things to say. It's a little more specialized, but it's useful, nonetheless.

Saturday, January 10, 2009

Python Impressions

Why on earth would you care what I think about Python? I mean, really, what can I say about it that someone else hasn't? I'm not the most experienced programmer, so I can't give you an exhaustive analysis, and I'm not clueless about programming, so I can't tell you what it's like to learn programming from Python.

So, instead of giving an outstanding take on Python, I'll give you just a normal programmer's opinion. I'm not remarkable in the world of programming, so my opinion will probably be closer to yours than some coding luminary's. So here it is, Python through the eyes of a smalltime Javascript, ActionScript 3, PHP programmer. Please note, I just started writing Python a couple of days ago, so this evaluation will not be exhaustive.

However, even in that short time, I've noticed a couple things. First of all, I got a whole lot done. Even in the brief time that I've actually been writing scripts with Python, I've managed to replace a sizable amount of PHP code. I've almost finished writing an object-oriented Python include scheme for my websites.

I was going to put a paragraph here about how Python doesn't support private methods and variables, but then I googled "Python private methods" and found out how to make your methods private. You just need to add two underscores before the name of the method. I'm glad that I don't have to leave my programs' private parts exposed, but I'm disappointed that I had to backspace my eloquent and somewhat insinuating "No private methods" rant.

This topic will probably come back up later, when I have more of an opinion on Python. For now, I'm feeling a little too ignorant to continue.

Wednesday, January 7, 2009

Name this Object #0

As I was glancing around my cluttered closet the other day, I noticed something I hadn't thought about for quite some time. It was a dohickey that I had picked up at a garage sale while I lived in Colorado. I believe it is some sort of plotting device or spirograph, but I have no idea of its origin or purpose.

If you can find the origin and purpose of this object and prove their claims with a link, I will credit five dollars to your Paypal account. Of course, speculation is welcome, too, but a prize will only be awarded for a substantiated origin. Happy hunting!

Top view:

Bottom view:

Angled view:

Video demonstration:

Friday, January 2, 2009

Ratchet and Clank: a technical marvel

I have recently begun to play the PS3 game "Ratchet and Clank Future: Tools of Destruction". I'm thoroughly enjoying playing through the game, and I can't help but notice the stunning graphics. The detailed environments are further enhanced by the showy effects, including the over-the-top weapons.

Upon closer inspection, I realized that this game may be the most technically impressive game I have ever played. The genius developers at Insomniac have created far more than a pretty game, but one that is a benchmark by which other games will be judged.

A few good examples:

  • One of the staples of R&C games is the taxi, a convenient object within the game that allows you to travel to other parts of the level you're playing. This could be a mundane enough piece of the game, but it is in reality one of the most impressive demonstrations of the power of the R&C engine. As you ride the taxi, you can move the camera around to look at the world passing by. The entire level is displayed before your eyes, from the enemies mulling around to the boxes just waiting to be broken. There is no canned travel screen, no suspicious fog that limits your visible area, and no visible enemy pop-in. It is just an unobstructed view of the entire world. It appears that they accomplished this feat by caching the entire world to the PS3's flash memory. More evidence of this can be found in the teleporters found sporadically in the levels. These teleporters are not the usual developer excuses found in some games, but truly instantaneous transports. There are no spinning gears, no canned loading animations, and no lags of any kind. Step in and step out; it's that quick.
  • Another notable technical achievement of this game is its incredible lighting effects. From the dull sheen of exotic crystals to the tarnished gleam of ancient metal, almost every object in this game has some kind of reflectivity. One time, I was walking through an already-destroyed level when I noticed a yellow flash. Upon closer inspection, it was a gear, half-buried in the dirt and completely covered in shadow. This gear was reflecting the glare off a light-colored wall opposite it. Not only that, but the reflection shifted as I changed my angle relative to the gear. It's quite an accomplishment when your engine creates environments so immersive that the player can see beauty in debris lying on the ground.

Obviously, these aren't the only two examples of good graphics in the game, but they are two of the most striking. Ratchet and Clank Future: Tools of Destruction is a testament to the obsessiveness of all its creators, not just its art directors and level designers.

Show your appreciation by buying it here: Ratchet & Clank Future: Tools of Destruction