Harsh J

Memoirs of a QWERTY Keyboard

Archive for the ‘Computing Issues’ Category

Arkham Spider-Man

leave a comment

I have to play every Spider-Man game produced, somehow. So I went ahead and got my hands on the most recent one of them, “Spider-Man: Shattered Dimensions“, and oh boy. I’m blown away!

Spider-Man: Shattered Dimensions

Spider-Man: Shattered Dimensions Box Cover showing all four playable Spider-Men -- 2099, Amazing, Noir and Ultimate (The Ultimate character comes with a Venom suit)

After playing Batman: Arkham Asylum, my bar that sets the definition of a good RPG action game just took a shot towards the sky. The game-play in it was the most involving for a comic character based RPG, based on a comic character who’s at human heights. The fights were great, the moving around the area fluid and just like how the character would do, etc.. I’m sure you’ll appreciate the game if you play it, cause the story doesn’t disappoint you either.

Along came the Spider-Man game, and brought in perhaps for the first time ever, the Spider-Man 2099 and the Spider-Man Noir characters into video games! I think they’re great characterizations. The former imposing the role upon himself to get rid of a drug addiction, and the latter just facing a twisted history with his timeless humor. Their comics are great too.

Spider-Man Noir

Spider-Man Noir -- Incapacitating a henchman. All in total silence. Way cool.

Now case-in-point: Spider-Man Noir. The Noir Spider-Man levels in Shattered Dimensions is very similar to what much of Arkham Asylum had to offer. Only, it has much more pace. Any Spider-Man game worth its salt would offer deadly combos and faster-than-eye-can-follow agility during battles, and Shattered Dimensions doesn’t disappoint. The way you could incapacitate a henchman in Arkham Asylum, you can do it with Spider-Man Noir using webbing. Sneak up on them in the darkness, and web yank them to blackouts. Its Arkham Asylum all over, but with webs and sticking on walls! I’m not getting enough of this, so am going and playing more of it now. What’s more is that it offers a great bunch of classic rogues from Spider-Man gallery, across different timelines; yet you don’t get lost!

You should try this game out, its good fun with not too repetitive themes. For Spider-Man fans, it is an imperative. Stan Lee has himself voiced over a few narrations. This one is surely a timeless classic.

Written by Harsh

December 26th, 2010 at 1:16 am

Posted in Fun,Personal,Software

Tagged with

Changing the Google Chrome’s User Agent String

one comment

A simple google for changing the Google Chrome web-browser’s UA (user-agent) string would lead you to a horribly old, yet popular result that would ask you to basically hex-hack the chrome binary [Winks at labnol.org]. Ugh, ugh, ugly for 2010!

For those who don’t know yet, you can start a fresh chrome window with a custom UA using the –user-agent command-line parameter while launching it:

# Using chrome, or chromium -- as you like it.
chrome --user-agent="My User Agent String. Bow to it, statisticians. Kidding."

You can then visit http://whatsmyuseragent.com/ to verify the results of the user-agent property change in Chrome/Chromium.

The command-line parameter, –user-agent, is (not very) surprisingly not documented under the supplied manual page.

Written by Harsh

December 22nd, 2010 at 1:18 am

Swype Beta APK [Zeitgeist]

one comment

[This is a December 2010 Post -- mind it]

Here’s a quick way to download the now-available beta swype.apk if you don’t really want to download right onto your phone via their given link:

wget https://beta.swype.com/android/get/?download_NOW=androidBeta -U "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" -O Swype.apk

There, nice and easy?

Sorry Swype, to make you count a N1 download instead of an SGS.

Written by Harsh

December 22nd, 2010 at 12:56 am

Posted in Fun,Software

Modals and the spinning void

leave a comment

If you like modal dialogs, you love being annoyed and probably don’t care if you murder someone out there due to the rage that you didn’t know popped up cause of some piece of software pushing a neat looking, variable sized box with aligned text and a helper image onto your face.

Never has a modal dialog made you read itself to understand. It has always been about pressing the right button, to get back to whatever it was you wanted to do. As far as intentions of the developers, and to some extent the libraries go, they only want you to do whatever it is you wanted to do in the software’s right way. Press the right button, and maybe the software will do good to you. Press the wrong button and you’re probably doomed. Press the only button and you know you’re back to square one. If there are no buttons, then thank god for the display manager. If there is no display manager, you’re free of all annoyances.

There have been enough criticisms of modal dialogs that the Wikipedia page for the same has a section discussing it. But one hardly finds an application that does not throw a modal dialog on your face for whatever it is you did wrong or it did wrong (oh the horror).

Then there came the web, claiming to do away with most modal stuff as the web GUI programming model is hardly similar to the desktop model. Designers had a great chance to rid all the flaws of ancient desktop models and implement the best usability ways there could ever be, with support of some very powerful languages and associated libraries. What got popular instead, are things similar to Lightbox.

Such elegant are the looks of a lightbox implementation (an example of modal-ness), that it makes you feel all warm inside when you see it working on your own website, the feeling you get about never having to, or having your visitors to, leave the page they are on in order to see content associated to it; and to certain extent, browse horizontally across all other associated content than just one. It began okay first, click a media and it begins a modal environment that looks like Apple’s keynote events with a spinner. People could also open the link in a new tab to view the image in their browser’s image viewer (or other). Then, people couldn’t. Someone exclaimed with great delight that their JavaScript Kung-Fu was better than others.

Its one thing to pop a modal window and darken out all other content to let it have focus. It is another thing to add a spinning animation with absolutely no information, percentage wise or other, to indicate progress. Nobody cared if the spinner were enough to let the user know content’s actually loading or not because hey, they developed it in environments where the network was blazing fast and you hardly ever saw it. Progress. They just don’t get its meaning right. Space and time are measurable quantities and with content, progress is finite and must be calculated to be called as a progress animation. Fancy circular spinning darkness is anything but fancy. Even the Flash developers of the past, present and the future understood this mostly. But not the web developers, never ever.

Has no one ever noticed how a browser or image viewers worth their salt render images? Has nobody seen the progressive rendering of image data on the screen as it gets downloaded? It might make your network feel slow, but it never lets it feel non-functional.

Plague like the Lightbox (and associated beautiful modals) must be scrubbed out of the WWW. Let my clicks pass me to another page, I don’t mind. Nobody ever minded it until someone suspected they did.

Written by Harsh

September 25th, 2010 at 12:08 am

Justice enough

leave a comment

About the immutability of variables once bounded in Erlang:

Single assignment is like algebra.

When I went to school, my math teacher said, “If there’s an X in several different parts in the same equation, then all the Xs mean the same thing.” That’s how we can solve equations: if we know that X+Y=10 and X-Y=2, then X will be 6 and Y will be 4 in both equations.

But when I learned my first programming language, we were shown stuff like this:
X = X + 1

Everyone protested, saying “you can’t do that!”. But the teacher said we were wrong, and we had to unlearn what we learned in math class. X isn’t a math variable: it’s like a pigeon hole/little box…

In Erlang, variables are just like they are in math. When you associate a value with a variable, you’re making an assertion – a statement of fact. This variable has that value. And that’s that.

Joe Armstrong, in his book Programming Erlang.

Written by Harsh

August 7th, 2010 at 11:08 pm

Posted in Computing Issues,Fun

Tagged with ,