Less talk, more Synthohol.

Mass Effect’s Ending Was Terrible [My drop in the bucket]

April 16th, 2012

I realize that I’m extremely late in posting something about Mass Effect 3′s ending. The game has been out for well over a month by now, and the internet really doesn’t need another blog post about how terrible the end was. I also realize that probably everything that can be said about it has been said by now. In fact I’m so late in posting this that Bioware has already announced more than a week ago, that they’re going to release a free expansion to the ending in response to fan outrage.

But as the only posts on this blog that become even modestly popular are the ones where I complain profusely about things, I simply have to put my outrage on paper. Spolier Alert:

 

The ending to Mass Effect 3 is complete garbage and shut up my opinions are important.

 

Having just finished Mass Effect 3 this weekend, I definitely have a huge number of complaints with the ending. Even knowing full-well in advance that the ending sucked and with my expectations primed for  supreme disappointment, I was still shocked at how utterly terrible it was.

I had purposefully decided to avoid reading any specific details that would spoil the ending for me, but the sheer volume of press concerning the quality of the ending made it impossible to ignore. I saw the headlines all over, the ending was going to suck. I accepted this. I was ready for it. But I had to see it for myself.

I couldn’t help but imagine, as I worked my way through the missions, what exactly could be so bad in the ending. The rest of the game was so linguistically rich, the only kind of problem I could conceive was that the content of the ending was unsatisfactory. Perhaps that certain characters died, or the ending was too dark. I supposed that two things were likely: Shepard would have to sacrifice himself, and that the endless cycle was inevitable (ie. you end up losing the war). I could imagine that kind of ending might enrage some fans, but honestly I had no real objection to either.

 

But boy, was I in for a surprise. Firstly, neither of my predictions were too far off. Shepard does have to sacrifice himself. My second prediction was wrong in the specifics, but you don’t particularly “win” the war either, regardless of your choices (since the Mass Relays get destroyed in the process and potentially Earth or all synthetic life in the universe is destroyed). Browsing comments and forms now I actually see a lot of fans outraged by one or both of these plot points. I can’t say either are exactly satisfying conclusions, but that isn’t what makes the end to Mass Effect “bad”.

 

A lot of people smarter than me have nailed the real problems on the head: that the ending lacks narrative coherence, referring both to the sudden departure from the flow and path the story itself , and to the disconnected and unexpected emotions and responses by the characters in the scene. In a similar thread of reasoning, someone also called the ending options themselves thematically revolting, as none of the three choices left to your character were connected in theme to the entire plot-line that lead up to the ending, and worse they seem to actually contradict a lot of the themes presented earlier in the game entirely.

 

The major underlying story is that you are trying to stop the Reapers from wiping out all intelligent life in the galaxy. But the story is hardly that thin- a suite of supporting characters and races are critical factors in the success of this mission. Indeed it’s really the journey itself that makes this plot interesting and colorful. You make choices to help certain races and isolate yourself and your allies from others. You spend so much time in-game talking and learning about your crew, potentially even romancing one of them, that they are nothing short of family to your character. This seems to culminate wonderfully right up to the second-to-last level in the game, where you make an impassioned speech about having each others backs.

But the ending itself makes a turn so abruptly from these themes that you can’t believe what plays out in front you. The end itself is devoid of all of these characters. Despite their purported criticality, they are 99% absent from the entire last part of the game. Worse some of the characters closest to you presumably die in a mad last rush. I emphasize the word presumably because absolutely no time is given to their deaths whatsoever. If you happen to have your Love Interest with you on the battlefield, you get to limp awkwardly over their corpse for about 3 seconds and that’s it. Your character doesn’t bat an eye. It’s the first thing that really bugged me. For a full half hour before this part, there were speeches, goodbyes, then after another twenty minutes of battle they just croak without a second thought.

It was jarring, to say the least, and thematically disjointed from the entire rest of the game. It was also only the very beging of the downward spiral.

 

Next you know you’re beamed up to the Citadel and get to walk at a frustrating snails pace for several minutes, only to find The Illusive Man has taken control of your body and that of your comrade. He begins making a big dramatic speech about controlling the Reapers being the only way to advance humanity, even makes you shoot your friend – but instead of a big climactic fight, you either get to click the right-mouse and kill him immediately, or your speech skill is high enough he eventually kills himself. That’s it. A good half of the entire last game was about this guy, and he’s given no more than 4 minutes of screen time and just dies with a single boring shot. Frankly if they weren’t going to bother wrapping up his storyline in an interesting, meaningful fashion then they shouldn’t have put so much emphasis on attempting to defeat him the entire rest of the game.

 

So bad guy #1 goes down like a limp fish, and you go back to defeating bad guy #2, the Reapers. Theres a big beautiful scene of the Crusible docking, and then the narrative madness starts.

You zip up a platform to the roof of the Citadel, and the ghost of a child walks up to you. I audibly sighed to myself right then and there. The child immediately gave me an Anakin Skywalker in The Phantom menace sort of feel. So Star Child starts delivering plot points via clunky dialog at an alarming rate. My character gets to respond with the most awkward set of dialog choices, none of which make any sense whatsoever. The kid says that apparently he’s here to make sure robots and humans don’t kill each other, a theme made no sense in this story at all (hell I just saved the robotic Geth from destruction a few hours ago, and on top of that it’s the Reapers that seem to kill everyone all the time, and their organic…) and in my mind seemed needlessly ripped off from Battlestar.

 

Star Child then starts to describe my options. The options themselves are so difficult for this kid to describe each one takes a paragraph of dialog and they even have to show an example of your character doing them so you don’t get confused. You ever had a child try to explain a complicated board game game to you? It was exactly like that. The kid starts to blab about the choices:

 

“If you touch the blue thingy you’ll be able to control the Reapers. Oh also that will kill you . Because it’s really blue, it’ll blue you to death. You see how sparky that thing is, Shep? It’s definitely going to kill you. Painfully. Oh but you can save Earth and it destroys the Mass Relays. Essentially isolating all the races in the galaxy and undoing all you did to bring them all together in the last three Mass Effect titles, but you know, Earth rules!

Hmm, I wonder, isn’t this option exactly what the crazy crazy Illusive Man was going to do? Man, do I feel silly for killing him now! So, in my mind I’m thinking .. OK, blue option has got to be the bad one because I just killed a guy to prevent this exact option from happening. I literally screamed at this man that no human had the right to take control of the Reapers, to we we’re ready as a species, and then shot him to end the debate. So, I say to myself — we’re not going the Blue option. So, what’s next kid?

 

“Ok, so option 2: If you shoot that red conduit over there, it’ll explode in your face, and like — kill you. With fire. But the Reapers will all die and you’ll accomplish exactly what you set out to do, with nearly almost no other negative side-affects whatsoever. Oh except it’ll kill the Geth and EDI and like — ALL of the synthetic life in the galaxy. All of it. Everywhere. Like, robo-genocide. Also it’ll probably ruin your iPhone.”

Oh wow. THAT’S option #2? That sounds pretty awful. I actually have to wipe out several entire races to destroy the Reapers? That option is so shitty it actually makes the crazy Illusive Man’s ideas seem sane. Also wait — this immediately confuses me because presumably the Reapers kill intellegent life to keep us from fighting with the robots we always end up creating — but that can’t be true. I literally hours ago just saved an entire race of robots who sacrificed their own lives to help me get here, on the Citadel. And now you’re telling me that I have to kill them all to save us from the Reapers who kill us … to keep us … from killing each other.

WHAT?!? This make no sense logically whatsoever. The fact that the Geth were visibly fighting in the space above my character right now, against our shared enemy — completely contradicted Star Child’s theory that we always end up killing each other and will never be friends.

 

But OK, the kid stops talking and I am supposedly left with Door #1 or Door #2, both of which seem utterly terrible, bizarre choices. Torn and confused, I decide sacrificing the Geth was better than leaving the Reapers alive, so I took that route and thought they’d be the inevitable casualties of this war. Tears and all.

 

BUT NO. This option seems to literally vaporize the surface of the Earth, and destroys the Normandy. And the last scene I see is the ship’s wreckage and … a door opening slightly. And star-wipe, roll credits.

 

My face is just blank at this point. I have no words for the train wreak that just unfolded in front of me. It was like watching a play where everyone forgot their lines, ab-libbed the last 5 minutes, then part of the set caught fire and fell into the audience. It was shockingly dreadful.

 

I figured I “picked wrong”. There is no way Blue Door could be so terrible as Red Door. So I loaded an earlier save to check out the other option, suffered through the limping scene, the Illusive Man’s terrible Bond-esque monologue that you can’t skip. I let the Star Child barf words at me, and picked the Blue Door.

WHAT THE HELL!?

It’s exactly the same, except blue, and apparently BLUE doesn’t kill everyone on Earth, because you know — BLUE! I was so stupefied that I actually started to laugh. The rest of it happened the same, ship crash, door ajar.

Apparently you can also take neither path and go up the middle, perhaps I’m just profoundly stupid or perhaps the Star Child’s horrendous dialog just dulled my mind, but I didn’t notice that was possible at all. Forgive me for thinking a game that previously gave me two choices for literally EVERY line of dialog (which are also always red vs. blue) actually had a third option all of a sudden. Apparently this choice is some “synthesis” where you make robots and organics fall in love or some trashy shit. This one is GLORIOUSLY GREEN and otherwise exactly the same.

 

It is all just so bad I literally had to write about it. Even though thousands have written about this before, I am so emotionally scarred by this experience that I had to put it all out on paper therapeutically.

 

So apparently the word is the “New Ending” content to be realsed this summer is going to “clarify” and expand on what happened in the end. But honestly none of those three options make any sense, even if they were explained far more eloquently, even if the scenes after the choice were more expansive or more unique — none of them make any sense at all. The choices presented are thematically flawed and no amount of downloadable-caulk and seal the gaps. Perhaps if it were delivered more masterfully in the first place my white-hot rage would only be a fiery-red, but it makes no real difference. All three options leave some pretty big plot holes and inconsistencies I can’t ignore, regardless of the quality on which they are served:

  • Red (Destroy all synthetic life) — Genocide shouldn’t even be presented if you’ve gone Paragon. It’s a waste of time to present it as an option if you’ve made peace with the Geth. Choosing it under these circumstances is like choosing to drive your own car, filled with your own family, off of a cliff to just kill a wasp on your dashboard.
  • Green (Synthesis) — Ok, so Star Child one minute ago said organics have “come a long way”, that just being in the Star Kids presence proved this since no one had ever done it in thousands and thousands of years. And just hours ago we proved that man and machine already can make peace, there’s an entire plot line that shows you that the Geth (and by extension, all synthetic life) are two sides of the same coin, that both share the same desires to live and be free and grow and evolve.  This choice seems to suggest that the real purpose to life is a Borg perfectionist synthesis of both forms when you just proved (and fought and died for) the independent strength of each independent form.
  • Blue (Take control of the Geth) — Even if you’ve gone Renegade the entire game, you just killed the Illusive Man for thinking that was a good option. Choosing this is like telling someone not to touch that pot on the stove barehanded because it’s hot, then immediately  afterwords bear-hugging the pot yourself, with both arms and no shirt on. I don’t understand why you’d shoot a man for his ideals one minute and then adopt those ideals yourself two minutes later.

 

So really if all we end up getting are more supporting scenes to clarify the last few minutes of storyline, it won’t make much of a difference. I’ve seen a lot about the so-called “Indoctrination Theory”, that the ending actually isn’t what it seems at all, that Shepard is undergoing Reaper “Indoctrination” and supposedly this explains the myriad of inconsistencies and odd choices left to users at the end. I’ve watched the video on this and it is very interesting indeed:

But I also noticed that the theory is has some gaping holes. Parts of it make a lot of sense, the ghostly trees, the convenient level design. Some of it simply fit nicely — like the Illusive Man’s monologue. But a lot of it is a stretch. The video has to explain the last three choices as odd “symbols” brought about by your indoctrination — but it seems overtly complicated at this point. It seems to me occams razor cuts pretty deeply here.

 

Even if these guys are right about Indoctrination Theory, it was delivered to us all so inexcusably poorly I could never accept it was true.

It’s one thing to be craftily cryptic, to obscure the truth and then surprise your audience with the “twist”. But if the truth of your story is so hazy that only conspiracy theorists can see it, you did a really bad job with the delivery. This is a twist so thinly presented even M. Night Shyamalan would never have made it.

For this theory to work, Bioware really had to do what he Indoctrination video itself did — interlace the hidden truths with blatant exposition. If it were done right, it would have started ambiguously so only the careful would be able to spot it early. You leave clues like the trees and grass on the ground, the level design, stuff only a few would get outright, but then start to slowly show your hand. Perhaps make the dialog from the Illusive Man scene a little more to the point, and use the medium (video) to lead us down the path you’re intending: if you won’t tell us the truth, use sound and sight to visually explain that what your viewing in the game isn’t real, that your character is being indoctrinated.

When you make your choice of explosion color, if you don’t explicitly reveal the truth to us at this point, no one is going to get whats going on. Storytelling isn’t supposed to be like finding a needle in a haystack. Tell us the damn story at some point. Dropping a couple of hints is a crafty start, to get us interested in what’s going on, but at some point you have to tell us: did we “choose wrong” and get indoctrinated? Or did we “choose right” and kill the Reapers? The game shows us absolutely nothing — all we see is that we picked one of three colors for our explosion scene and the game ends.

 

So while Indoctrination helps make sense of the chaotic crap that was presented to us as “the ending”, the fact that (if true) it was told so appallingly that I actually hope it’s nothing more than conspiracy theory. If Bioware releases DLC that proves the conspiracy theorists right, it will feel at best like a convenient cop out. In my mind, they fucked up so badly at this point no downloaded explanation could iron it out besides a total effective re-write.

 

You already burnt the toast, spreading jelly on it won’t make it taste better.

 

Oh, and I almost forgot. After the credits, there is the most atrocious scene of them all. It contains a repugnant trifecta: lame voice acting, juvenile animation and modeling (note the child is just a shrunken copy-paste of the adult), and  Stephanie Meyer-caliber writing. Watch the clip below, but make sure your barf bag is handy:

-Andy


Tags: , ,
Posted in Games, Rant | No Comments »

Thunderbolt Sucks

February 6th, 2012

You’re not going to hear me bad mouth Apple very often. I’d like to think that’s more because they usually give me very little reason to complain, and not because I’m a brainwashed Cult-Of-Mac member (but sadly it’s most likely the latter). But damn it, when they get something dramatically wrong I’m not going to let it go.

I recently procured the latest MacBook Pro (2011). And to be blunt, it has a lot of problems. More problems than I’ve had with a laptop of theirs before. Both hardware and software. I’ve been reasonably satisfied with it’s speed, but there’s some serious crazy in this thing.

 

It started with narcolepsy.

 

No, it really did, I’m not joking. The damn thing would fall asleep all the time and simply not wake back up. It would act like it was trying to come out of it’s coma, but usually the screen would stay black even if the computer was “on”. Worse, force restarting it didn’t usually work. It acted like it tried to restore to the exact state before it fell asleep, but that state just lead it to go black again. It’d sometimes take dubious quick force-shutdowns in rapid sequence to snap it out of it. I finally discovered that frequently hitting the “dim” button (not the “get brighter” button) actually could get the screen to come back alive (sometimes, maybe). Truly annoying.

It also seems to now require you type in two passwords when you wake from a hard sleep, once to wake up the computer, and once to re-launch everything. It’d likely bother me less if it didn’t fall into hard sleep so often. But now just trying to quickly check email might take 4 or 5 minutes. It’s pretty ridiculous.

 

But the final straw wasn’t a sleeping problem. It’s the damn Thunderbolt port. The thing is a complete piece of crap. It’s got a long feature list for sure, but realistically one of the most important functions for this port (in fact the only function I’ve ever needed it for) is to plug in an external monitor. With no explanation or reason, it decides not to detect an attached monitor. It happens sporadically, working one day on a particular projector, then failing the next. Some monitors just seem outright incompatible. I’ve got a nice 23″ Sceptre that my MacBook is sure doesn’t exist. I can connect it up and click “Detect Displays” until I’m blue in the face.

I’ve tried not two but four different adapters. All of them different brand and one HDMI. And several DVI and HDMI cords. It’s not the cords. It’s also not this poor monitor’s fault — both of my older MacBook and PowerBooks detect it immediately and without issue. It’s this damn port. How can I be so sure? They’ve released three updates to fix this and very similar display issues already. And I’m also not the only one stuck with this problem. Apple Discussions, as well as many other forum communities, are filled with hundreds of people at their wits end with Thunderbolt and their display/TV/projector/hard drive.

The only option left to me is dropping $200+ on a new monitor. But who knows if the one I pick out happens to be “just incompatible” too.

 

Mac OS X “Lion” seems all too apt a  big cat name to me. It’s as if this particular version has comfortably settled in as The King of The Jungle: basking too long in the shade, issuing orders with four-finger swipes, gorging itself on the intermediate states of every lowly application. Nearly every new feature has an curiously arrogant feel to it .

It dumbs down the application launching process until it’s just a refrigerator with pictures on it. As if the Dock, Spotlight, Finder, and the Desktop weren’t enough to turn on Mail. Every accidental gesture on the trackpad sends you whizzing through your browser history, pinching and zooming every map that graces your cursor.  It creates a full unabridged history of every document’s evolution over time; so I can finally sift through an unimaginable pile of “versions” to pluck out that witty comment I deleted 17 days ago. It like an episode of Hoaders: Mac OS X edition, hundreds of piles of moldy old copies I keep on hand “just in case” and because “one day I’ll use it”.

 

To top it all of, it crams everything up in the iCloud and sends you off to the Mac App Store to buy yet another addition of Angry Birds.

 

Oh, and I intended the Angry Birds reference to be just a joke, but out of curiosity I opened the App Store just to see if ….

 

Sigh.

 

You sold out, man.

-Andy


Tags: , ,
Posted in Rant, Review | 1 Comment »

Open Sessions in PHP

February 1st, 2012

I’ve spent many years with PHP, and one of the most surprising problems I see, made not only by developers but even by PHP frameworks, is in how they handle sessions. More specifically, how they handle closing a session. It’s such a core concept to PHP development that I would have at least expected some of the frameworks to provide options around closing sessions on the fly, but alas even Zend seems to think the best thing to do with session is open it and keep it open for the entire thread.

Indeed in many circumstances keeping it wide open is the best thing to do, since opening and closing a session file will require disk access (unless session is configured in non-default manners, and stored in a database) and disk access is slow. If your web application does not rely much on asynchronous calls, but on full page reloads, then it’s easy enough to go with the flow: open your session and close it at the end of thread execution. But this is the year 2012, if you’re website can’t support at least some level of AJAX I’m not sure you’re doing it right.

If your application even runs a few things at the same time, you could benefit greatly from keeping sessions closed until they are explicitly required. Essentially, if you keep the session open, no asynchronous threads can grab onto the session file until the first thread completes. Asynchronous calls become quietly sequenced (which is pretty bad) and can dramatically increase overall load times.

Here’s an example of the problem, using Prototype on the client side to run to two supposedly asynchronous calls at the same time:

 

The result: Firebug shows us that even though the bar function should be pretty instant (since it doesn’t sleep like foo), it waited the entire 5 seconds for foo to finish:

Bar took 5.02 seconds!

 

The culprit is the first line, “session_start()”. What’s happening here is this:

  1. A request with function ‘foo’ begins a new execution thread (we’ll call it “Foo Thread”)
  2. Foo Thread calls session_start(). This opens the user’s session file for reading and writing, and locks the file
  3. A request with the function ‘bar’ begins a new execution thread (call it “Bar Thread”)
  4. Bar thread calls session_start(), but the file is currently locked by Foo Thread. Bar Thread now has to wait until Foo unlocks the file
  5. Foo Thread finishes sleeping, and ends execution. PHP automatically calls session_write_close() when the thread is complete
  6. Bar can now open the session file, quickly echo’s “bar” and exits

 

The easiest way to solve this is to keep the session closed until you need to write to it. At the most basic level, do this:

 

There are obvious problems that may arise with this approach, however, so I would not recommend closing the session wildly. Essentially, if anyone ever changes $_SESSION paramaters without first re-opening session by calling session_start, the change is lost when the thread ends execution. Calling session_start after making a change removes that change. I suspect this is the main reason most people leave it open all the time – managing opening and closing it over and over isn’t at all practical.

There is also the possibility that your copy of $_SESSION could become out of date, as an asynchronous thread updates values in the session file your on-hand $_SESSION array doesn’t know about. It won’t be updated again until session_start is called, which could potentially be problematic if your code relies on the absolute, most recent state of session for critical functions. Realistically many applications simply won’t find this limitation all that daunting, but it’s certainly something to keep in mind.

 

But these two problems alone shouldn’t deter you. The execution time saved can be tremendous, and there is a deceptively clean way to properly manage your session in a large application: don’t ever call $_SESSION directly. Create your own class to mange $_SESSION, or use a framework like Zend Session to manage it for you (but note, Zend Session doesn’t close the connection automatically either, you’ll have to use a wrapper class to trigger that automatically).

-Andy


Tags: ,
Posted in Coding | No Comments »

Things To Do While Comcast Is Loading

November 30th, 2010

So I’m not sure what’s different, but for days now Comcast has been so slow I’d swear I had dial-up.

Ever since I (very happily) dropped their exceptionally overpriced cable service, I’ve fallen back on Netflix and Hulu for complete replacement of their services. For free.

My personal proof-of-concept has convinced coworkers and friends alike to join me. It’s just hilarious that they charge $150+ a month for content available for free on the internet, and with either no ads at all or far fewer than on TV.

The problem is that I am forced to get Comcast to provide my internet. There literally is no alternative in my area (Qwest’s DSL is far to slow). So even though Netflix and Hulu are amazing services, they are funneled through the tiny pipe that is Comcast’s bandwidth.

I am currently watching Netflix buffer, I’ve been waiting so long for it just to start playing that I decided to write this blog post in the meantime. I thought I could make a list of the things I did while waiting for Comcast to buffer:

I’d write more, but in the 25 minutes it took to write this crap the video loaded so I might as well watch it.

-Andy


Posted in Uncategorized | No Comments »

Add Nauseam

April 7th, 2010

So a quick shout out to any Javascript programmers. Please note that Javascript can’t add, multiply, subtract or divide. Let me repeat that for you: Javascript can’t add, multiply, subtract or divide.

I know it sounds implausible that the base code for all web browsers (ie. the internets) can’t do basic math. But I’ll prove it too you. Open up your “Error Console” (Firefox’s Tools->Error Console) and type the following basic math, followed by enter:

1.519+0.075

The Result:

Yep, according to Javascript, 1.519+0.0750 = 1.593999999999 (for all the math wizards out there, the correct answer is just 1.594).

I don’t want to hear those “Javascript Apologetics” out there blame something else, like the ways floating point numbers are calculated or that it’s the browser or whatever — if I were to design a programming language of any quality at all, Requirement #1 would be “can do basic math.” This imperfect result is in no way useful to me. I can’t even round it back to the right number reliably since the fractional inaccuracy isn’t consistent.

There is a solution, albeit an asinine one (since you really, really, really should NOT have to deal with this in the first place) but if you convert the number to a pure integer, do the math, and then convert it back to a decimal, then it all comes out mathematically correct.

Observe, the solution:

Math.round((1.519*Math.pow(10,3) + 0.075*Math.pow(10,3)))/Math.pow(10,3);

Yes, all of that to just add two numbers and get the correct result. To break it down:
  1. Math.pow is a way to do exponents. First argument is the base, second the exponent. So Math.pow(10,3) is the same as 10 ^ 3 (which equals 1000).
  2. The 1000 is then multiplied to each number: 1000 * 1.519 + 1000 *  0.075
  3. The result is 1519 + 75. Since these are whole integers, Javascript won’t do any fancy calculation-ruining floating point math. The result is simply 1594.
  4. Math.round will cut off any trailing decimals (though I’d recommend you just increase the precision with Math.pow instead).
  5. Now it will divide by 1000 to get it back down to a decimal: 1594 / 1000 = 1.594

There we go! We now skirt the whole floating-point error issue by using whole number arithmetic! It’s just that easy! Call now, and you all receive subtraction AND multiplication at no additional charge!

Subtraction:
function addNumbers(num1, num2, precision){
return Math.round((num1*Math.pow(10,precision) – num2*Math.pow(10,precision)))/Math.pow(10,precision);
}
Multiplication:
function multNumbers(num1, num2, precision){
Math.round((num1 * num2)*Math.pow(10,precision))/Math.pow(10,precision);
}

That is all. </rant>

-Andy


Posted in Coding, Rant | 2 Comments »

Spam I Am

March 24th, 2010

Like any WordPress blog, I get  a decent amount of spam comments. Even for a blog as backwoods as this, I still get a good handful every week. I covered how to set up spam controls on your wordpress blog before – but no spam filter is perfect and a few are bound to get through. I thought I’d share with you the system I’ve come up with to determine if any given comment is spam. If I had the time I’d write my own plug-in to detect and filter these, but the basic principle would go like this:

If the comment is in any way a compliment – it’s spam.

The fact is that no right-minded person would like this crap. It’s simply glaringly obvious when the comment is glowing with rave reviews that it was not written by an actual reader of your website. Here’s a few of the gems that I’ve received over the last few weeks that are so complimentary that they practically scream spam:

“Another quality post. I put in a plug for this blog at mine. So, I am sure many people forget the points you are making.”  — That’s true, many people do forget that Captain Picard finds his iPhone an ‘Amazing non-Borg extension of his human hand‘.

“Well said! If I could write like this I would be well happy. The more I see articles of such quality as this (which is rare), the more I think there might be a future for the Net. Keep it up, as it were.” — If only I could be well happy too…

“One has to ponder what the eventual final result of all of this could be – that said, impressive views yet again on this subject – and your webblog is still a first class supply of facts.” — To the spammer’s credit, this article did include a graph. However any graph whose title begins with “Pigeon vs.” is unlikely to be a first class supply of facts.

“You truly outdid yourself today. Well done” — Thanks? Frankly it’s not all that flattering if all I have to do is post a video of a keyboard cat knockoff to ‘outdo’ myself…

“For one am glad for this excellent article. Often times, the greatest content originate from the websites one may not expect. Recently, I did not give much thought to placing comments on web log posts and have left feedback even less. Looking through your powerful post, may well encourage me to take action more regularly.” — You’re too kind! I can see how an article about fake corrections to articles I never posted would be, if anything, powerful.

“Very interesting information here plenty to chew on thank you.” — Somehow I don’t think an article about a Verizon ad for Droid gave you much to digest…

“Hi all great information here and good thread to comment on. May I ask how did you think of these ideas ?” — Oh why thank you! To answer your question, I usually steal this crap from Reddit

If these guys had half a brain they’d write comments about how idiotic and wrong I am about everything – it’s a lot harder to pick those out from the real comments.

-Andy


Tags: ,
Posted in Random, Rant | No Comments »

Windoz 7 4 UR Phone

February 16th, 2010

"Golden Days" of Treo

It seems that Microsoft has finally decided to enter the Mobile market with their own OS. Oh what’s that you say? They’ve had a mobile version for years now? Oh yes, I remember now. It was that bland “mini me” copy of 2000/XP, with it’s cute little Start button, it’s cluttered home screen, it’s ‘massive’ collection of some of the worst software to ever be conceived. It replicated all the hardships of Windows in a convenient, on-the-go handheld headache.

Back in the day when “Mobile OS” meant PDA’s (not phones), I remember all the fun I had with Palm’s simplistic, minimalist PalmOS. It made a casual device feel, well, supremely casual. I remember the clean white sheets laced with playful colors on my Handsprings, the slick stylings of the menus on my Clié. Thinking back even further to the powerhouse that was the Apple Newton -  a device so ahead of it’s time, so feature rich than even it’s modern equivalents don’t exceed it functionally – I recall hours wasted playing games, taking notes in classes, even downloading programs straight from the internet. In 1994.

What I remember of Windows Mobile was an unnavigable sea of horrid software, a clunky port of Win2000′s already unimaginative interface, and the inevitability of freezing, crashing, and force-quitting whatever you managed to get running on the retched thing.

The lack of good software wasn’t really the programmer’s fault, however. I remember having to write a program on the platform, nothing too complex mind you, simple data entry with a server-side back end. Getting code to run on it was like a dream … in which I was being constantly beaten over the head with a splintery baseball bat. It’s a shock people bothered coding on it at all.

There’s a reason it’s popularity has dropped year over year and why the devices running it were the first PDA’s to die off and disappear. There was plenty of room for Windows Mobile to grow, but instead they lost ground to a (at the time) comparatively feature-poor RIM Blackberry, whose terrible click-wheel interface, dreadful setup and unreliable syncing stand as a testament to exactly how much worse Windows Mobile really was. When you boil down the argument to it’s most basic form, there is really only one reason Windows Mobile died off:

It sucked.

Not even the most dedicated fanboys have carried the flame. If there ever was a time for it to be born again from the ashes – what with Apple, RIM, and Palm gobbling up all the nooks and crannies in the booming mobile market – this is it.

And so it has been reborn, as the blogosphere is raving, and “Everything is Different”! All I can say is thank god. I hated how complex and frustrating Mobile Windows has been. It’s going to be cleaner, sexier, and so much simpler. So, please tell me, what did they call this revolution?

Windows Phone 7 Series.

Seriously? You’re going with that? That phrase barely makes sense … It sounds like something you’d see spelled out accidentally in magnetic fridge-poetry. Maybe they forgot to name it, and this morning when they wrote the press release, Balmer just started spouting words. “Oh what’s it called? It’s … uhm, windows … ph-phone, yes that’s it, windows phone .. the number seven …. er, series.”

We’re off to a fantastic start.

It’s clear from the name alone that Microsoft has really spent the time to drastically simplify the experience for their end users. NOT. Let me see, since we didn’t spend any time picking the name, they must have spent all of it revamping the interface. You know, really tearing down all their preconceptions and starting from square one.

Well, looking at the new home screen (on the right), I think they took the “square one” thing far too literally:

Left: Old and busted. Right: New hotness.

It’s hard not to improve on the word-vomit of Windows Mobile 6, really. So let’s see, with <do I have to type it? Ugh…> with Windows Phone 7 Series you can see at a glance:

  1. How many phones you have (in this case, 2)
  2. Your collection of canoeing pictures from StockPhotos.com
  3. An animated GIF of the logo for Xbox Live
  4. A mosaic of your ex’s from Facebook

It astounds me how Microsoft always puts emphasis on shear quantity of features over the slightest thought to real usability. Now instead of word-vomit, we  have what I will coin as colored-squares-vomit. This interface is literally assaulting me with color and 90° angles.

While it tip-toes on a ingeniously simple getup, it still manages to miss the mark on what people will probably use it for. A link to my Xbox profile taking up precious home screen real estate? There is literally no reason for me to want to check my Xbox profile anywhere, anytime other than when I’m on the Xbox. I just don’t get why this is cool. You can already look this crap up online, not that it was particularly interesting to begin with. And it made the home screen?

Ok so let’s move on, we’ve got photos, social portals, solitare:

Nothing to big to complain about here. I can’t really say I’m excited about a photo collection on my phone, I guess welcome to the 21st century on that one. I love the idea that I can simultaneously spam Facebook, MySpace, and Twitter at the same time. God knows I love redundancy. The Games section looks pretty sparse, and I am not liking that it’s bookended by ‘Spotlight’ ads on either side. Bleh.

Now let’s get onto the really important part of any mobile platform these days: the internet!

Oh for the love of all that is holy – it’s running f#@%ing Internet Explorer. Blog post over. Seriously, I can’t believe I didn’t see this coming. I honestly thought the only people that still used IE these days were the last 3 AOL users and companies with Stalinist IT departments. Get ready to hate the web all over again!

The only way I think it could be worse is if they integrated it tightly with Bing…

-Andy


Tags: , , , , , , , , , ,
Posted in News, Rant | No Comments »

Engage!-ing

February 2nd, 2010

Patrick Stewart and his take on the iPhone:

  • Amazing non-Borg extension of his human hand
  • Perfect for people who hate making phone calls
  • Can determine weather at Heathrow Airport from Starbase 117
  • Great for looking up that one forgotten line of Shakespeare
  • Games will be the end of us all

-Andy


Tags: , , , , , , , ,
Posted in Rant | 1 Comment »

The iPad Revolution

January 31st, 2010

Here’s the thing – Apple has been doing this for a very long time. If you find yourself saying “Oh the iPad sucks – it doesn’t have blank OR blank …What does it even do? Why would ANYONE possibly need this?!?” … then I’m sorry to say you still don’t get it.

I’ve been hearing these same old tired arguments since 1990 – when people didn’t understand why you’d want a computer that didn’t run Windows. They didn’t understand what you could do with a Mac – “Without Windows how can you _____ (fill in with something from 1990′s software library)??” I won’t lie – the fact was that Windows back then 1) had a much wider set of software available for it, 2) was a lot cheaper, and 3) could be a lot faster. So why would anyone purchase a Mac?

If here, in 2010, you still can’t answer that question, even if you do prefer Windows to this day – then you’d really missed their company philosophy entirely. And that’s a big deal considering how large an influence Apple has in the computer industry these days.

Don’t agree? Then answer me this: How many iPods have you owned so far? If it’s more than 1 … you should really get it. You purchased a product that was probably less-feature rich than competitors at the time (no radio, locked to iTunes, shorter battery life, battery wasn’t swappable, etc.). Why would you do such a thing? The answer is a lot less convoluted than most people admit. It wasn’t what it did, it was how you could use it. Plain and simple – more is less, less is more. Apple time and time again releases products with serious competitive shortcomings when you look at a straight-up feature list, but somehow they gain popularity to the point where they actually define new industry standards for usability.

You might be inclined to think the iPad is no iPod – that it’s uniquely crippled, so let’s take a moment to review. Here is what people said, what Apple fanboys nontheless, said about the original iPod in 2001:


“Gee! an mp3 player with a [hard drive]!” – ooh wow

“$400 for an Mp3 Player! … [It] wont sell, and [will] be killed off in a short time…and it’s not really functional.” - elitemacor

“Any way you spin this it is:
1. Not revolutionary. …
2. A bad fit. …
3. Without a future.” - Meetoo

[via MacRumors]

The iPad is exactly the same kind of product as the iPod was. It’s even got the same reviews. And it is going to be successful for the same reasons. It takes something really rather complex (a whole computer) and boils it down to a uniquely simplistic, casual medium. If you think about the average users out there – many don’t really understand their computers, not entirely. They tolerate them. People don’t really need a nest of files and folders, control panels and installers, device managers and drivers – they just need basic internet access, a way to view and hear their media, and maybe few simple games. The rest is really just trees obscuring the forrest.

Jason McC. Smith of The Microsoft Blog does a pretty good job explaining this:

“Windows and the Mac are, really, just two variants of the same theme: a geek machine. Consumers recognize they don’t need a pro-level machine, so they buy something cheap – but it’s just a badly hobbled pro machine, not a consumer machine.”
[via seattlepi]

Even as a developer, after I get home from work, I don’t really need a Core 2 Duo MBP with 512 MB of VRAM to just browse Reddit. Or even to write these blog entries. I especially don’t need a short battery life, a 6 lb. footprint, and a screaming 100° processor while just watching some TV, or eating a bowl of cereal in the morning. My iPhone would be perfect for these times – if it weren’t too small to browse, or too slow to handle it.

This is where the iPad fits a lot of our lives very nicely. It brings casual computing to the mainstream, in a way that leverages the usability of the iPhone with the size and power of an actual computer. I really think the iPad will spark a whole new era of simple, clean computing, in much the same way the iPod revolutionized MP3 players. In a sea of increasingly convoluted, complex computer systems, Apple has once again rethought the concept entirely, and come up with something that will, in all likelihood, be surprisingly convenient and fun to use.

No one needed an iPod – they were fine with CD’s. No one needed an iPhone – they were fine with their Blackberry’s. No one needed a MacBook – they were fine with their Dells.

And now more than half the laptops on campuses are Macs, everyone and their mother has an iPhone, and most people have owned a half dozen iPods in the short decade they’ve been around. Give it time, wait for the initial shock to wear off and the traditional resistance to die down, and I’d bet you’ll start seeing these things show up in the hands of those you’d least expect.

They called the iPod the “revolution in your pocket” – the iPad is simply the revolution on your desk.

-Andy


Tags: , , , , , ,
Posted in News, Rant | 6 Comments »

Dvorak

January 21st, 2010

So for no particular reason I’ve decided to learn  an alternative keyboard layout known as Dvorak (as opposed to Qwerty). The Dvorak layout reduces the amount of movement for your fingers and purportedly can actually improve your typing speeds. I even switched the keys on my keyboard to the traditional Dvorak layout:

Dvorak!

Dvorak was designed back in the 30′s, but the big push to make it common didn’t start until the computer age, as the typewriter was phased out and the original reasons for using Qwerty weren’t applicable anymore.

Wikipedia has an excellent article explaining the design:

  • For maximum speed and efficiency, the most common letters and digraphs should be the easiest to type. This means that they should be on the home row, which is where the fingers rest, and under the strongest fingers.
  • The least common letters should be on the bottom row, which is the hardest row to reach.
  • The right hand should do more of the typing, because most people are right-handed.
  • Digraphs should not be typed with adjacent fingers.
  • Stroking should generally move from the edges of the board to the middle. An observation of this principle is that, for many people, when tapping fingers on a table, it is easier going from little finger to index than vice versa. This motion on a keyboard is called inboard stroke flow.[3]

Dvorak is already feeling a lot more comfortable than Qwerty, learning curve aside. Considering Qwerty was invented just to keep typewriters from jamming and not for ease-of-use, the quirks of the layout become readily apparent after just a couple days with Dvorak. Qwerty is laid out so you almost never type on the same side left or right nor the same row top to bottom from letter to letter. In Dvorak the vowels are all on the home row to the left, and the common letters H, T, N, and S on the right. About half the time your fingers don’t even have to leave the home row to type the whole word.

While it does take a lot of practice up front, but I’m starting to get the hang of it. It’s actually been an interesting learning experience. The hard part isn’t so much learning where each individual letter has moved – but rather retraining the sort of engrained patterns of typing I’m used to. Words like “google” or “therefore” have a sort of  rhythm for me in Qwerty, and it’s difficult to learn a different pattern. What’s also odd is that words that I don’t seem to have a rhythm for yet (like “distinct”) have a good rhythm in Dvorak.

If you’d like to try it yourself, check out http://learn.dvorak.nl/. The tutorial lets you test out the layout without actually changing the keyboard settings.

You can also switch a normal keyboard to the Dvorak layout, in all operating systems. On a Mac, type “International” in Spotlight, and select the International System Pref. Under Input Menu, find Dvorak in the list and check the box. If you also check “Show input menu in menu bar”, you can toggle back between regular qwerty (U.S.) and Dvorak on the fly.

Happy hunting!

-Andy


Tags: , , ,
Posted in Random | 1 Comment »