Tuesday, January 13, 2009

Philosophia

So the new semester is underway and although I couldn't get the math class I needed (damn my procrastination!) I did get a chance to work on some of the liberal studies requirements for my major. I'm taking an introductory philosophy class toward that end, and already I've learned more about philosophy than I thought I knew before. Which is a funny way of putting it but it describes it well.

We've started with Plato's Apology-- now previously I've not studied any more about Socrates than was necessary to complete high school but from this one dialogue I've found out that I've been missing a lot of keen insights into understanding ethics and virtues. If you are not familiar (don't feel bad!), I've summarized the first half or so of it. I've added a couple comments which I've colored blue, so those who are already familiar with the work can skip past the summaries.

In Apology Socrates is defending himself against two charges brought by his enemies, old and new. The first group hates Socrates because they were at the blunt end of his philosophical wisdom detector (that is, his mind). Socrates explained that Chaeraphon had approached the oracle of Delphi and asked her whether there was any man wiser than Socrates. The oracle replied that there was no man wiser. Chaeraphon returned the news to Socrates.

Socrates was very puzzled by this, knowing that he was not wise he was curious about why Delphi had declared this. So Socrates decided to find the meaning of the god's words by seeing for himself the wisdom of a respected Athenian, a wiser man than himself. He first selected a politician for examination who was reputed to be a wise and virtuous man. Socrates' discussion with this man quickly lead him to the conclusion that his reputation was false. Socrates felt it his duty to show the man that his wisdom was founded upon the politician's self-image, and he quickly made an enemy of him.

Still searching for a wiser man, Socrates then talked to one politican after the other but could find no man who's "wisdom" was true. He then talked to poets of all sorts. He asked them questions about the meaning and significance of their verses. Although the poets acclaimed their own work beautifully, none of them could tell him the messages behind their most popular works. He concluded that the poets acted more on inspiration than deep thoughtfulness. He continued, talking to artisans, orators and many of other professions but still could not find a single man whose wisdom was true.

The second class of his accusers, led by Meletus, said that Socrates was a deceiver of youth and that he did not follow the religion of the State (Greece, so the Greek gods which I'm sure you are aware of).

Socrates questioned Meletus directly asking him firstly who was a man worthy of improving the youth of Athens. Meletus replied that the laws were their improver. Socrates then asked who would know the law to which he replied that the jury presently in the court knew the laws. Of course Meletus replied affirmatively and Socrates had him confirm that the jury was in fact capable of improving the youth of Athens. Socrates then had him confirm that the senators were capable of improving the youth. Finally he said surely the assemblymen must corrupt the youth then? And Meletus said no, the assemblymen also improve their youth. Socrates then stated that, according to Meletus, everyone improves the youth of Athens-- except Socrates of course.

Socrates handling of the first charge is impeccable, certainly worthy of modern day practice of law, despite his admitted lack of experience in the field. In this part he showed that Meletus was not concerned with the guilt nor innocence of Socrates', but merely that he is punished for his personal vengeance (as Meletus was at the sharp end of a wisdom assessment by one of Socrates' followers). The fact (confirmed by Meletus himself) was that in his eyes, Socrates was incapable of improving youth merely because of his identity.

Towards the second charge, Socrates asked whether Meletus was implying that he worshipped different gods or was an atheist. Meletus confirmed it was the latter. He then asked Meletus whether a person can believe in divine actions without believing in gods. Meletus replied negatively, saying that no, a man who believes in divine actions must believe in gods. Socrates then pointed out the differences between Meletus' testimony and the indictment which he swore by as his charges against Socrates, in which he says under oath that Socrates taught and believed in divine activites.

Once again, Socrates has nailed down another charge in a way that would probably result in a charge of perjury against Meletus and a quick exoneration of the second set of charges against Socrates in the modern legal system of the US. He shows his excellent reasoning skills which also seem to resonate the falsehood of the charge of his deception too, as he does no deceiving of any kind, presenting only the contradictions of his accusers.

I won't cover the whole story as it is rather lengthy and Socrates points are many. In fact, I doubt I could express his arguments eloquently in my crudely insufficient hardly-philosophical way but it's a story that by the end had made me regret not investigating the orations recorded by Plato and subsequently Plato's student Aristotle. I can tell you that Socrates is found guilty, but the most amazing part of the story is the punishment which Socrates himself proposes to the court and Socrates final speech after the proceedings were finished. (in the legal system of ancient Greece both the offense and defense parties would propose punishment which the original jury would vote on).

So if you are currently an undergrad and need some liberal studies classes outside of your major, take a philosophy class. Many times requirements for even introductory philosophy classes can be intense, and of course there is lots of deep and abstract readings, but that's a pro in my book! It's not much worse than your average history or composition class anyway.

Saturday, January 3, 2009

How Prince of Persia captured my heart, and then skewered it in ground spikes

There's a lot of hype about Prince of Persia's new undying gameplay. If you haven't heard-- in the new Prince of Persia you apparently always have a magical friend who will pull you out of fatal situations to let you keep playing without downtime. I was interested from the point of game design, but as I read my memory began to recall the many recommendations over the years to try the Prince of Persia games. Up until now I never had.

So I finally grabbed a copy of Sands of Time (for those not in the know, that's the PS2-era Prince games). What transpired was a veritably executed bait and switch maneuver by Ubisoft to first steal my heart, and then repeatedly drop it off cliffs into ground spikes.

Let me start by saying that Prince of Persia: Sands of Time is a tour de force of beautiful gameplay, capturing story, and intriguing presentation. The game starts out with the Persian king's siege on the palace of it's enemy the Maharajah, facilitated by the betrayal of the Maharajah's corrupt Vizier Jaffa. The Prince plays a minor role in this, but manages to find his own unique keepsake: the Dagger of Time. This all goes well and the Persian's have their way with the belongings (and apparently maidens) of the Maharajah's palace. They also find a huge hourglass (the Hourglass of Time of course) which they cart off to their friend's palace.

Persuaded by the treacherous Vizier (who for some unknown reason seems to be treated as some sort of trusted advisor to the Persian king??), the Prince stabs the dagger into the Hourglass of Time which manages to release the sands within, ravaging the people and palace in it's wake. The people are turned into what amounts to Zombies, and your goal throughout the game is to get to the hourglass so you can somehow reverse this mess.

The gameplay is phenomenal, consisting of a brilliant blend of fast paced action, intelligent puzzles, excellent plot line, and extraordinary attention to detail. In many parts of the game I was surprised to see how well they had anticipated the character's actions when scripting the voice work, and they even managed to make Farah, your female sidekick, not suck at fighting. There are many times when Farah is in the fight and needs help and no, you don't always have to help her (at least to me, these parts never seemed too much like escort missions). Over the course of the game the Prince and Farah hit it off (surprise, surprise) and the romantic nuances are neither overwhelming nor poorly done.

I finished the game in two days of solid frenzied playing to experience an end which made me happy to have spent the time. I immediately started looking for it's sequel, Warrior Within.

Here's where shit hits the fan. I don't want to say that Warrior Within isn't a decent game in some respects... actually fuck it yeah that's what I'm saying the game sucked. I spent more time on this one than Sands of Time but the reason I spent more time isn't because the game was longer, or I was inspired to keep playing because of it's excellent replay value. No. The reason is because it is so uncompromisingly brutal to it's players.

For those who haven't seen or played it, Warrior Within is the dark sequel. It's the sequel you can be pretty sure was handed over by the Devil when Ubisoft Montreal sold their soul to keep the Prince of Persia franchise alive. Warrior Within couldn't have been the first name they picked: I'm betting on Prince Of War, but alas there was already a popular ultra-violent racy demonic action/adventure game series for the PS2 that sounded like that. But in the end they picked a good name: it's a name which embodies the plot of the game: fighting. What you say? Fighting isn't a plot, but a gameplay element? Tell that to these sell out fucks, the only thing that qualifies as an actual plot point in the game is at the end when the plan doesn't work and you decide to find the Sandwraith mask. And by that point in the game you just don't care, you'd rather skewer yourself in the eye than get involved in anything this game throws you.

Mostly gone are the puzzles from Sands of Time, replaced by neverending sand enemies and mostly crappy rock music. Oh, I won't forget mindlessly repetitive acrobatics, because unlike it's predecessor, all the monkey work in this game revolves primarily about six possible paths, meaning by the end of the game you will fucking hate the world you are in. They didn't have to drain all color from the game. They didn't have to turn the Prince into a God of War wannabe with some unexplained pissed offness about the whole Sands of Time thing (psst: at the end of Sands of Time, everything returns to normal and none of it happened). The only justification for the game (and the journey it entails) is that the Prince is being chased by a big ass beast for fucking with the Sands of Time and not dying. So wait, this Empress of Time bitch makes these sands of time which are supposed to sit in an hourglass doing nothing, and if anyone unlocks them than they have to die? I'm sorry but what was the fucking point of making them in the first place!?

On top of that, the game is infuriatingly difficult, even on Easy. I played through Sands of Time in probably fifteen hours of gameplay with virtually no problems. That game also does not have a difficulty setting. Welcome to Prince of War, where I think the game has more fun killing me and throwing the insidious Game Over screen at my face. Come to think of it, I bet I spent more time sitting behind the game over screen than I did actually playing this game. So many deaths in the game out of reflex my mind said "this would be way more fun if it was easier". So then it says OK well change the difficulty. Crap. Not only am I already on Easy but I would have to start a fresh game to change that.

The game is also extremely glitchy. I had to consult walkthroughs countless times just to make sure I had picked the correct path (the game is only SUPPOSED to give you one path but if you find some of the possible branches and take the wrong one, you will sit there for decades trying to figure out where you went wrong and why there is nowhere to go. There's also lots of scripting glitches. At one point I was supposed to face a mini boss (the Golem), the battle music started but no enemies appeared. So I continued through the room and reached a window where I could look out on the "battlefield" to see the Golem had appeared down there and was patiently waiting for me to go back and kill it. Later in the game you must jump quickly between the masts of a broken ship before they fall down and even if executed perfectly, the Prince will likely glitch out and fall off it, forcing you to waste most of your time rewind powers to make it through it. The game even feature my most hated of all gameplay "features", the times when you have literally the lowest amount of health you can possibly have and you have no choice but to go back to a previous save or face insurmountable odds fighting huge amounts of extremely difficult enemies without getting hit once. Believe it or not, the latter was the quicker option in many scenarios.

The Bink video codec used by the game for cutscenes is absolutely terrible. I'm sorry but my computer is rendering millions of polygons and particle effects, it's applying NUMEROUS vertex and pixel shaders, it's applying realistic lighting settings and real time shadows, and it's using compositing to do motion blurs, color filters, all while the CPU is handling audio, enemy AI, input and general gameplay. This all works pretty fluidly on my system. So the question is, why in Canada's freezer can't the stupid Bink codec play these shitty quality cutscenes properly? This is definitely not just my problem, I found loads of forum posts across the web about frustrated users trying to fix their settings, even upgrading their hardware just to make the stupid cutscenes work right in this game!

There are redeeming points, but really they are all just bait to get you hooked. Once you're deep into the game, you start loathing it; planning it's assassination- some way to stop it from devouring your soul before you finish it. Oh wait, I didn't finish it because I missed some life upgrades and the end boss battle is too difficult for me to care, considering the only way I'll ever get that second ending is if I play through the entire game again and use a walkthrough to make sure I don't miss the hidden life upgrades, which unlike in the Sands of Time, look entirely like the confusing maze your ALREADY trying to get through. I mean big surprise if you miss it considering half of the paths won't let you get back easily. And what would the point of playing through again if it wasn't somehow different. Usually in this sort of scenario I would up the difficulty level one notch. Oh right, I hardly made it through this game on easy. And I don't ever want to see another square foot of that fucking island, nor do I want to ever hear the stupid fight music.

No, I haven't and am not going to play Two Thrones (that's the second sequel to Sands of Time) because I can't risk to be used again for some Persian demonic agenda. I don't have a PS3 or 360 to play the new Prince of Persia, but if I ever do, I think I will just not play it. I played Assassin's Creed before this whole mess and loved every moment. In fact that style of acrobatic gameplay made me enjoy Sands of Time.

This isn't the first franchise with a popular first game and a mind blowingly terrible sexed out, ultraviolent, big budget rock-music button mash romp for a sequel, but the boys at Ubisoft Montreal really took the concept to a new level. It's the kind of game that gives you a choice: stop playing or risk partial or full-on insanity, rage, scitzophrenia, upset stomach, diahhrea, bloody nose, incontinence and partial disembowelment.

It's overwhelmingly disappointing that such an excellent trilogy could be ruined for me by such an astronomically shitty game. The game actually induced me to think about ways to get back at the developers, for wasting not only my time but my love on a sold out piece of shit franchise. There's an air of "the sequel lost it's visionary" and as I look at Jordan Mechner's Wikipedia (the creator of the original PoP game) it
does indeed mention that Mechner was actively involved in Sands of Time, but in name only for Warrior Within as he was busy with the movie. That explains a lot. The true genius leaves the house and all that's left is the wannabe fuck designers who only care about getting a best seller game on their resume, at the expense of the fans. Well it won't be at the expense of me, because I, sir, am not a fan.

Saturday, December 27, 2008

Patents move too slow for the Internet

A small Indiana company has sued tech heavyweights Microsoft, Apple, and Google, claiming that it holds the patent on a common file preview feature used by browsers and operating systems to show users small snapshots of the files before they are opened.

Cygnus Systems sued the three companies on Wednesday saying that they infringed on its patent with products such as Windows Vista, Internet Explorer 8 and Google Chrome, which allow users to view preview images of documents on the computer. Mac OS X, the iPhone and Safari also infringe, the company said in court filings. Apple uses this technology in its Finder and Cover Flow Mac OS X features, the filings state.

More

Later in the article it mentions that Cygnus filed for the patent in 2001, and it was granted this past March. Seven years in computer time is a century, more than enough time for every known file manager, browser, and operating system to integrate these features in their entirety. It's clear that the patent system is falling apart not only in the patents it grants but the time it takes to grant them. How can we make the patent system work better for the Internet?

Saturday, December 20, 2008

What does "Chrome" mean?

In lieu of any serious reporting of any kind, I've decided to clarify the different uses of the name Chrome in the tech industry as of late. I'm sure if you read this you are aware of Google's new Chrome browser, but little did you know that "chrome" is actually a general term, referring to the UI components of a web browser. For Mozilla and it's Firefox browser it is something more specific: it refers to local XUL applications as chrome. Mozilla also uses "chrome" as a URL scheme for loading local XUL (ie, chrome) components.

Google most probably is just following the browser UI meaning. I bet some people at Mozilla were biting their tongue about the name of the new browser, in addition to the obvious fact that Chrome is fierce new competition.

I've just noticed a lot of confusion in the news media about the origins of the word. So now you know, Internet.

Sunday, December 14, 2008

isoHunt Search Tool version 0.2a

I've been quietly sharing a tool I've made to search isoHunt's massive torrent index from the comfort of your desktop (without loading Firefox!). This is possible thanks to isoHunt's new JSON web service which allows applications to integrate the search functionality directly, without scraping any HTML.

It supports all the features of the web service including sort by seeds, paging, links to the isohunt torrent page and direct torrent downloads.

I wrote it in C# using the excellent JSON.NET library by James Newton King. You will need the .NET Framework version 3.5 to run it (especially Vista users).

Honestly I'm doing this just for the hell of it. But if you find it useful, great! It's released under the GPL version 3, so feel free to do anything you want within the constraints of that license.

This is the second release of this tool, but the first to be publically recorded in a blog. Grab the release from the downloads section of my website.

Wednesday, December 10, 2008

Linux holds back our children!

Before reading on I would advise putting on your troll armor, as well as your "smack the idiot" protection.
"...observed one of my students with a group of other children gathered around his laptop. Upon looking at his computer, I saw he was giving a demonstration of some sort. The student was showing the ability of the laptop and handing out Linux disks. After confiscating the disks I called a confrence with the student and that is how I came to discover you and your organization. Mr. Starks, I am sure you strongly believe in what you are doing but I cannot either support your efforts or allow them to happen in my classroom. At this point, I am not sure what you are doing is legal. No software is free and spreading that misconception is harmful. These children look up to adults for guidance and discipline. I will research this as time allows and I want to assure you, if you are doing anything illegal, I will pursue charges as the law allows. Mr. Starks, I along with many others tried Linux during college and I assure you, the claims you make are grossly over-stated and hinge on falsehoods. I admire your attempts in getting computers in the hands of disadvantaged people but putting linux on these machines is holding our kids back.

This is a world where Windows runs on virtually every computer and putting on a carnival show for an operating system is not helping these children at all. I am sure if you contacted Microsoft, they would be more than happy to supply you with copies of an older verison of Windows and that way, your computers would actually be of service to those receiving them..." http://linuxlock.blogspot.com/2008/12/linux-stop-holding-our-kids-back.html

It appears as if she thinks Linux is some sort of drug ("I [...] tried Linux during college..."), and clearly she doesn't understand copyright law ("At this point, I am not sure what you are doing is legal.").

I think there are two misconceptions going on: 1. She thinks Linux is a proprietary product distributed similarly to Windows, and 2. She thinks the HeliOS people are providing free illegal copies of Linux to her students.

The question is, how do we efficiently spread the truth about Linux's legality: it is OPEN SOURCE and thus complete and perfectly legal versions can be downloaded for no cost? It's already hard enough fighting the fear, uncertainty, and doubt that Microsoft and others of the ignoramus spread related to Linux itself!

In any case it made me chuckle, so I share.

Sunday, December 7, 2008

Songbird 1.0: Blend your music with the web

It was inevitable: only a matter of time before someone decided to pioneer the era of web music players. That someone is the Pioneers of the Inevitable, and that player is Songbird.

Songbird is a new music player application created around the same software platform that powers Mozilla's Firefox and Thunderbird. This gives Songbird a number of tricks for free: a powerful user-interface/web engine (Gecko), excellent cross-platform support (XULRunner), and an excellently flexible extension system (Mozilla Addons).

Underneath the hood it's a solid audio player with the excellent open source GStreamer media system as it's backend across all the platforms it supports. It provides extensions for playing Apple's FairPlay and Microsoft's WMA DRM as well as those for interacting with iPods and MTP devices (Zune and friends). The player is skinnable (Feathers in Songbird parlance), and third party extensions throw in support for retrieving album covers from the web, new ways to view content in your library, recommending new music based on the artist currently playing and much more.

But the most important part is Songbird's integration with the web. The main player interface of Songbird displays normal music library/player controls, but the music library view is actually just a static browser tab. You can open new tabs and use Songbird as a normal browser. A number of integration features are provided including music blog support. When viewing a music blog (or any web page that links to media content), Songbird opens a pane at the bottom of the browser view showing each media item it has found, including music store links that it could find for the music. You can preview the items on the list, download the whole version (if provided by the blog), or purchase the music via Amazon, iTunes, eMusic, or Amie St.

Although few music blogs have added support for it yet, the browser even supports ecommerce integration, providing cart and checkout interfaces, and tallying the cost of the tracks you've selected for purchase before sending you to the checkout. The support is basic but functional and I suspect it will be receiving more attention in future development. Songbird comes pre-setup with a bookmark to the Hype Machine, a popular music blog aggregator which is a good demo for the new features.

The builtin mashTape extension provides an extensible way to mash web data related to the music you are playing. Out of the box it provides artist info from Last.fm, news, photos from Flickr and videos from YouTube, Vimeo, Yahoo Music and others. Extensions can provide new data categories as well as data providers for other web services.

Songbird 1.0 was about the music. The software isn't quite ready to handle your video collection. By default Songbird pretends like it can't play video, instead opting to play the audio portion of the media. However the bulk of the support is there thanks to the GStreamer core, and in fact it is possible to coerce version 1.0 to play videos, but the user interface is not yet complete, so it isn't particularly useful. To enable video in Songbird 1.0 open the URL "about:config" and change "songbird.mediacore.gstreamer.disablevideo" to false. This probably means that it won't take many version numbers for video support to make it's formal premiere.

As much as I'd love to see normal video file support, a lot of video watching on the web is done at Hulu and Youtube, so it's not unreasonable to expect some extensions which allow linking Youtube videos into the library like any other media, and if I'm lucky, a similar extension for Hulu that supports it's video queue/subscription feature :-D.

Songbird supports smart playlists in which you can set criteria about the songs you want on the list. This isn't nearly as cool as Amarok 2's new Bias-based dynamic playlists, although to be fair, you can use any playlist as a rule for a smart playlist.

The only real downside to Songbird is it's startup time and general weight. Both of these are a direct result of choosing the Mozilla platform, but I think it was the right choice given the goal of creating the world's first music player VS web mashup.