Friday, March 23, 2012

Fly Over States

A couple of guys in first class on a flight
From New York to Los Angeles
Kinda making small talk killin' time
Flirting with the flight attendants
Thirty thousand feet above, could be Oklahoma

Just a bunch of square cornfields and wheat farms
Man, it all looks the same
Miles and miles of back roads and highways
Connecting little towns with funny names
Who'd want to live down there, in the middle of nowhere

They've never drove through Indiana
Met the man who plowed that earth
Planted that seed, busted his ass for you and me
Or caught a harvest moon in Kansas
They'd understand why God made
Those fly over states

I bet that mile long Santa Fe
Freight train engineer's seen it all
Just like that flatbed cowboy
Stacking US Steel on a three day haul
Roads and rails under their feet
Yeah, that sounds like a first class seat

On the plains of Oklahoma 
With a windshield sunset in your eyes
Like a watercolored painted sky
You'll think heavens doors have opened
You'll understand why God made
Those fly over states

Take a ride across the badlands
Feel that freedom on your face
Breathe in all that open space
Meet a girl from Amarillo
You'll understand why God made
You might even wanna plant your stakes
In those fly over states

Have you ever been through Indiana
On the plains of Oklahoma
Take a ride

Fly Over States—Jason Aldean

Alone With You

I could swear, this song has been on the radio like every few hours this week. Well, at least during the times I work and drive :/.

I don't see you laugh
You don't call me back
But you kiss me when you're drunk

I don't know your friends
Don't know where you've been
Why are you the one I want

Don't put your lips up to my mouth and tell me you can't stay
Don't slip your hand under my shirt and tell me it's okay
Don't say it doesn't matter cause it's gonna matter to me
I can't be alone with...
You've got me out on the edge every time you call
And I know it would kill me if I fall
I can't be alone with you

Please don't chain that door
I can't win this war
Your body's like a pill I shouldn't take

Don't put your lips up to my mouth and tell me you can't stay
Don't slip your hand under my shirt and tell me it's okay
Don't say it doesn't matter cause it's gonna matter to me
I can't be alone with...
You've got me out on the edge every time you call
And I know it would kill me if I fall
I can't be alone with you

I can't be alone with you

Don't put your lips up to my mouth and tell me you can't stay
Don't slip your hand under my shirt and tell me it's okay
Don't say you love me cause you know you're gonna love me and leave
I can't be alone with...
You've got me out on the edge every time you call
And I know it would kill me if I fall
I can't be alone with you

I don't see you laugh
You don't call me back
But you kiss me when you're drunk
Alone With You—Jake Owen

Monday, March 19, 2012

Having glanced at news of the new Kelper card running the Smaritan demo, a job that originally took a trio of 580 GTX cards (can you say expensive and smokin' hot?). I couldn't help but wonder, just how much optimization work may have been invested between NVIDA and Epic Games, to get that monster running on the new card.

Well, turns out from the sound of it, that it probably wasn't quite as bad as I thought it would be or not in the ways I expected it would be. The new FXAA (Fast Approximate Anti Aliasing) technique being one such "Unexpected". The fairly simple write up in the article hints to normal people, why the amount of video memory on graphics cards have been going up so much. Damn, I remember when 32M was just starting to fade away, and when 256M was the going norm' alas, times change.

Anti-aliasing is one of those things, people see in their games video settings (usually) but don't understand. They only can summise it must be "Better" the higher the number gets and that e.g. 16x AA must be better than 0. Ditto for issues like Anisotropic, trilinear, and bilinear filtering. It really isn't hard to understand. Further complicating the life of a gamer,  some games let you choose various types of Anti Aliasing (such as MSAA or CSAA).

Anti-aliasing makes things look "Better" in simple terms. Let's just say that aliasing is a distortion of the image. Something like this: 
The above picture taken from Wikipedia shows the effects of anti-aliasing on the right. SImply put, it makes things better. In some games it can be a lot more noticeable than others, Raven Shield or Call of Duty for example might benefit from AA a lot better than Sonic the Hedgehog or Pong.

The problem is it is expensive. Imagine, you can make things appear less jagged but you must pay a painter to smooth out the image. Now imagine, not only do you have to do this not only for every Frame Per Second of game play, but also for every pixel on screen. On my computer that is 1,920 x 1,080 = 2,073,600 pixels. Most games need at least 25-35 frames per second to be playable smoothly and 50~60 can be noticeably better.

The artist is using your CPU and GPU (graphics card) to do all this work. Because the screen works with "Pixels", little dots, it can be a hell of a lot of work but hey, it's easier to smooth out your neighbors than using a paint brush.

Techniques for doing all this shit have varied with time but in essence, they can vastly change the work load on your computer. One way of thinking it, if you can play a game fine in 800x600 with AA, you might be doing more work than playing it in 3200x2400 without it! This site has a great and simple write up about various techniques. 

In general a little anti aliasing is good but you are not likely to notice turning it all the way up to 16x FSAA, give or take your computer might cry.

FSAA should probably be avoided unless you want to boast about your hardware or publish screen shots that look good.

MSAA is close enough that for how much less work it takes to do, it's worth while. 

CSAA or CFAA are available on most decent graphics cards since 2006, and is worth consideration. Think of it as similar to MSAA in the way MSAA is to FSAA. If you have a fairly dark game like SWAT 4 or Modern Warfare 2, as opposed to a very vibrant and colorful game, CSAA is probably worth it.

If you have a lower end graphics card, try using CSAA. If you can _actually_ tell the difference or just want to flaunt your cash, try MSAA.

In most cases, it is "O.K." to use like 2x or 4x AA in a game now. It's not like the old days when the computers just couldn't handle it so much without better hardware. By the time you reach and exceed like 8x (MS)AA, you are probably not going to notice the difference all that much, seriously. If the difference between 16x MSAA and 8x MSAA is so easily seen on your screen and it bugs you, you probably should get a top end graphics card.

How to tell what you should use? Welp, just try a value like 4x Anti Aliasing and see how it impacts your game. If your computer can't handle it, try tuning it down a bit (2x or off). If you can run it fine, hey, feel free to see if you can go up a notch or two.

A little secret though: no one gives a shit as long as the game looks good and plays good. So as long as you don't turn the setting to high, it's all good.

Tuesday, March 13, 2012

Lincoln versus the lighthouse

This is the transcript of a radio conversation of a US naval ship with Canadian authorities off the coast of Newfoundland in October, 1995. Radio conversation released by the Chief of Naval Operations 10-10-95.

Americans: Please divert your course 15 degrees to the North to avoid a Collision.
Canadians: Recommend you divert YOUR course 15 degrees to the South to avoid a collision.
Americans: This is the Captain of a US Navy ship. I say again, divert YOUR course.
Canadians: No. I say again, you divert YOUR course.
Americans: This is the aircraft carrier USS Lincoln, the second largest ship in the United States' Atlantic fleet. We are accompanied by three destroyers, three cruisers and numerous support vessels. I demand that YOU change your course 15 degrees north, that's one five degrees north, or countermeasures will be undertaken to ensure the safety of this ship.
Canadians: This is a lighthouse. Your call.

Most awesome urban legend ever.

Monday, March 12, 2012

Things will likely be odd for a bit with the site style as I transition my journal from a customized modern/traditional template to the new dynamic views.

Thursday, March 8, 2012

So my mother calls me at work for something "Important" that probably fits in the 3/10 or 5/10 buckets, which is a blocking I/O event when you're trying to debug code, eh? This is something anyone out of grade school should understand by now:

  1. Walking in
    • In addition to calling (see below), blocks visual input if face is turned to look at you.
  2. Calling (E.g. phones, Skype calls, etc).
    • Blocks other tasks requiring conversational or non-automated mental function.
    • Suitable for urgent matters that demand a response time under five seconds.
    • Signal and local state issues may get you ignored to /dev/voicemail.
  3. Rolling conversations (E.g. from a desk away, over TeamSpeak, etc).
    1. Blocks either tasks requiring conversational output (responding) and reading comprehension (listening).
    2. Suitable for when a response time under 15 seconds is okay and you can repeat something.
  4. Messaging (E.g. instant message, text/SMS message).
    1. Suitable for when response time under 5 minutes is ideal but not urgent.
    2. Temporarily blocks text output ON writing a response.
  5. Electronic post (E.g. e-mail, forum PM, etc).
    1. Suitable for when response time of 2-5 hours is okay.
    2. Minimal obstruction when response is uneeded and notification can wait.
  6. Snail Mail
    1. When it involves something you can't digitize.
    2. Risk of being ignored is acceptable.

In most cases, "Response time" in the above can be replaced with time of notification as well, should you be conveying news. Case for 1: the building is on fire! Case for 5: you need to do ${task} tomorrow.

This is what it is like to deal with someone exercising grey matter. Programmers, copy readers, writers, etc.

Wednesday, March 7, 2012

Contemplating mutiny from Amazon to Google

Back in August, I rambled a bit about my thoughts on electronic books. Later on I acquired an Android tablet; about 4 x as much as a Kindle for the make/model tablet I purchased, but a hell of a lot more useful than a kindle or my netbook.

Since then, I have more or less established myself with getting books via Amazon. In fact, it's the only setup I've been using these past few months. I like it and my only complaint is I find wish-list issues more useful from a real web browser. Since then the Cloud Reader has become widely available, so Linux/BSD issues are even pretty moot now. I like Amazon and use it for plenty but they may have just lost a customer.

Today I clicked through references to Amazon and Google Play and became angry.

Now Amazon rarely makes me angry, the worst they've ever done is hook me up with a seller that bungles tracking data, but hey, packages still got there and it was small stuff. So far as long as I don't have to work for Amazon, it's a good enough thing in my books. Up to now, if a competitor would offer a lower price: I would still buy the Kindle version, in order to keep consistency and not have to remember which app/platform I bought it from.  It also sometimes pisses me off that books I want are not always available in a Kindle edition, but that makes me upset with publishers, not Amazon! The price difference of $58.28@Amazon versus $69.42@Google isn't /THAT/ bad, seriously. Although I will admit I usually find Amazon has much better deals on books that _I_ want, I have never seen this issue with Kindle books before.

Real Time Rendering is available in a Kindle edition but, I can only view it using the PC/Mac clients or the iPad client. You cannot tell me that dinky ass XGA screen on the iPad can display books better than my 22"/1080hd monitor using the Cloud Reader client, or my Android tablet with hit's 10.1"/720hd screen. OK, I can understand it might not look sexy on my phones 3.8"/WVGA screen but still, wtf? Total steaming pile of stupidity right there. 

I want my content and I want it on all of my able bodied devices!

That discovery inspires me to jump ship and change my purchasing habits: to Google Play by way of Play Books. Once upon a time I thought about just going with whichever resource gave the best price, Amazon, B&N, or Google; Kobo I won't trust with my $data after poking 'round there site. In practice though I found that having consisency like all my books either via Amazon, or physical books, was much more convienant than maybe saving $2 here or $5 there. Even for price differences between used real books and electronic books, because my shelf space is at a premium in the real world.

Looking at other books of interest, here's a little break down:

Title Amazon Kindle Price Google Play Price List Price @Amazon Amazon Availability Google Availability
Real-Time Rendering $58.28 $69.42 $89.00 PC, Mac, iPad Web, iOS, Android, eReader
OpenGL SuperBible: Comprehensive Tutorial and Reference $28.59 $37.67 $59.99 Kindle, iOS, Android, Blackberry, PC, Mac Web, iOS, Android, eReader
Essential Mathematics for Games and Interactive Applications, Second Edition: A Programmer's Guide N/A $47.36 $59.95 N/A Web, iOS, Android, eReader
3D Game Engine Design: A Practical Approach To Real-Time Computer Graphics N/A $66.36 $82.95 N/A Web, iOS, Android, eReader
Linux Kernel Development $17.69 $31.19 $39.99 PC* Web, iOS, Android, eReader
Understanding The Linux Kernel $29.79 $37.67 $59.99 PC* Web, iOS, Android, eReader

eReader in the above table is defined as what is described here. Amazon Availability is what's listed on the web page, although I assume the OpenGL SuperBible would work with WP7 and the Cloud Reader clients too. Ones marked with a * say what is listed but e.g. can have a sample sent to my tablet, so I'd assume they work anywhere.

Loss of dedicated applications for Windows Phone and Blackberry don't bother me, I don't use either, and should have other means of accessing my content off these devices if I ever need to change. I'm also inclined to think that Google's published policy on removals beats the shit out of Amazon's track record. From the look of the help pages, Google also offers more natural syncing between devices, as long as you don't have to resort to pushing files over Adobe/USB. So really the only gripe I can have is the when the price tag may be more drastic (like for LKD).