Yeraze's Domain 3.0

Supercomputers, Programming, and Life in Mississippi

Entries for January, 2007

Animusic & Animusic 2

This weekend my Dad brought home DVD’s of Animusic and Animusic 2.  Apparently his company uses them at Conferences to demonstrate their audio amplifiers.  Not only do they have a fantastic mix of classical, techno, and pop to exercise all audio ranges, but they are simply mesmerizing and eyecatching.  I first heard of Animusic back at SigGraph 2000 when (I think) they won an award in the Electronic Theatre for their original animation "Pipe Dream". 

I could sit and stare at them for hours, each time catching more fine details that I missed before.  Details as small as that the xylophone keys or harp strings are actually sized correctly according to their sound, or how the mechanics work between the multiple instruments.  They’re simply astounding to watch, and I can only imagine the amount of time and work that must go into timing the video.  The actual rendering probably isn’t too bad, but setting up the Scenes has to take months for a single song. 

Not only is the animation fascinating and mesmerizing, but the music is simply good.  Lots of Drums, string instruments, bass, and synthesizers.  It’s not everyone’s thing, but I really enjoy it and it keeps the "Science Fiction" feel of the whole thing.  Rhianna loves it too, she’s watched it several times so far and every time she just sits in awe watching it, gently bouncing back and forth to the music or "air keyboarding".

If you’re interested, you can find clips of the songs on the Animusic site, and full versions of the songs are posted on YouTube (questionably legal, but there they are).  I highly recommend you pickup the DVD’s if you like them tho.  Not only will you be financially supporting a (hopefully!) Animusic 3, but the quality of the video and special features on the DVD blows away anything Youtube can manage.
[tag:movie][tag:dvd][tag:animusic][tag:cg]

Update

It’s been a busy couple of weeks, sorry for the lack of updates.  Here’s a brief update on what I’ve been doin:

  • Laura’s got a new job, started this week…
  • I’ve been working on VizWorld.com
  • I’ve been working on another website at Work
  • We got our new Cluster in at work (6-nodes, 16CPU/128G ram per node)
  • We got our new RenderFarm in at work (60 nodes, dual-proc dual-core Intel Core’s)
  • My dad "procured" me a motherboard for my MythTV, a DFI RDX-200 , an Athlon64 3700, and 1G of ram for it
  • Arguing with imcompetent Hospital Billing from Ethan’s Birth

So it’s been pretty busy… hopefully once the rest of the parts for my new system trickle in I’ll be able to post some info on how it works (I’m really lookin forward to being able to use my MythTV on the TV, instead of burning DVD’s every morning).  Also, alot’s goin on with Ethan & Rhi that I’m sure someone will find interesting.  So check back again soon.

Final Fantasy XII

Here’s a post written by a Friend of mine, Cuj… Enjoy.

When I read some of the first information about what Final Fantasy XII, I was somewhat put off. The idea that the latest installment of the franchise would be based in the same world of Ivalice from Final Fantasy Tactics irked me. Save for X-2 there was little to no references to any of the previous Final Fantasy worlds, so why would they go back and use the same world for a game that, I thought, didn’t deserve to be called part of the Franchise?  I swore I’d never buy it…..

If I ended there and followed my resolve on that issue I wouldn’t be writing this, so suffice to say, I did go out and buy it, and I have been playing it. There are some noticeable changes, the biggest of which will create great joy for many RPG fans out there, no more random battles. Let me repeat that, no more random battles. Yup, you heard me, in fact combat is quite different from the norm for Final Fantasy games. You have the map sets you run around in like from X and X-2, but now instead of random battles, you actually can see the creatures on the field, and, if you so wish, even avoid them. There’s no more fancy screen changes to go from the game field to a combat field, all the combat is done on the game field.

Characters still gain xp from defeated creatures and gain levels after reaching a certain xp amount, items however are different. No longer do certain types of weapons only work with certain characters. Now also with each kill, you are rewarded license points which are then spent on purchasing licenses for weapons, armor, and skills. In other words, in order to use a certain type of weapon, armor, accessory, or even to unlock certain skills to use in battle including magic, you must have both purchased the license via the license menu and purchased the item itself from a shop. Each character starts with different licenses, however, characters are not limited on what licenses they can choose.

There are some disappointments as well, the voice-over is not as extensive as it was in X and X-2, they the vo’s so far have only been in cutscenes and a little bit for combat. And the music seems to have scaled down some too. But as with all the games of the franchise, it does make for an interesting game.

And as always….there is a Cid, chocobos and airships. Still waiting on seeing Biggs and Wedge though.
[tag:game][tag:finalfantasy]

Long Cold Sleepless Nights

As some of you may have heard, it’s finally gotten cold down here in Mississippi.  Up until yesterday, we were in the middle of a 2-week rainstorm.  It’s finally dried out, but has yet to top 55F, making it quite chilly and ruining my nice low Gas bills.

To make matters worse, Ethan has entered the Fear of Pooping stage of babyhood.  For the unindoctrinated amongst you, the FoP stage is when the bowels move into a regular 24-hours cycle (1 bowel movement a day), and the 6 or 8 hours leading up to the "grand event" are filled with grunting and screaming as they ponder what in the heck is going on.  Thankfully, Ethan’s have been in the 8-10pm range, meaning we all got a decent night’s sleep afterwards.  No longer, as he’s now moved into the 10am bracket, meaning we get to spent almost all night listening to him grunt and trying to keep him from screaming.

Last night I finally reached my breaking point.  In the hours prior to the "grand event", he’s simply inconsolable.  I’ve tried holding him, talking to him, walking with him, petting him, playing with him, everything.  Just when you think it can’t get any louder, he cranks it up another notch.  What is the solution to this malady?  Mommy.  Laura comes in and picks him up, and within 30 seconds he’s sound asleep again.  It’s as if I offend him in some way and he simply wants to be rid of me.  Of course, that’s not the truth but it sure seems like it, and it makes things hard to deal with.

A few nights like this and you start to see how someone could go too far and do something they’ld regret.  Thankfully, Laura seems to be able to calm him in the evenings.  Unfortunately, that leaves Laura with little to no sleep.  So what’s the Solution to that?  Grandma.
[tag:baby][tag:family]

Cisco Vs. Apple: The War for "iPhone"

The internet has been abuzz about Apple’s new latest product: the IPhone.  As the reality distortion field enveloped everyone at MacWorld, the world reveled in the potential that a fully loaded OSX PDA (it’s really not a Cell Phone with all the WiFi features) could bring.  Of course, as the field disappeared and reality returns to normal, people are slowly realizing that the iPhone isn’t all it’s cracked up to be.  To summarize:

  1. It’s expensive: $499/$599 + a 2 Year Contract with Cingular (and only Cingular)
  2. It’s locked: No programs/widgets installed unless supplied by Cingular or Apple
  3. No 3G: So slow 2G on cellular networks, or WiFi

As for the positives, it’s common Apple to have taken lots of existing ideas and simply combine, present, and market them better than anyone else.  Nothing the iPhone does is particularly innovative or unique, but the integration and presentation seems to be better than anyone has managed so far.  Will it be successful? It’s hard to say, we’ll know more as June comes closer.  What really interests me (and many other people) is how Apple is able to call it the iPhone?  It’s been a well-known fact for several years now that the iPhone Trademark is owned by Cisco Systems, although they haven’t had a product using it in quite some time.  So how was Apple able to use a trademark owned by another company for their new flagship product?  With Cisco’s latest lawsuit, it seems they’re wondering the same thing.  Well, let’s take a look…
[tag:apple][tag:iphone][tag:cisco][tag:trademark][tag:legal]

NewEgg Rocks, but not so much with PayPal

Ever since I started doing freelance work and posted the TextLinkAds on my website, I’ve had a fair trickle of money coming in via PayPal.  So far, most of it I’ve used with NewEgg to buy various gadgets and parts for the MythTV.  I know PayPal has somewhat of a bad reputation but I’m not naive to believe it’s a "Bank", and I generally transfer money out of it as fast as it comes in.  It’s all worked well so far, until this week that is.

On Saturday I decided to blow a bit of my PayPal stash on a new spindle of DVD-R Media and a Leather Pouch for my new RAZR phone.  A simple ~$35 order, I checked out and let it rip.  I noticed PayPal’s interface had changed a bit, but didn’t think much of it.  Everything seemed to go fine, I got my confirmation email from NewEgg, and just waited. 

This morning I noticed that, 5 days later, my order was still at "Step 1".  I fired off an email and got the (somewhat standard) response that the order didn’t complete successfully with PayPal, so I should void it and try again.  No surprise, I’ve had to do this before, so I canceled it and rebuilt my cart.  This time I forked over the extra $3 for "Express Processing" (or whatever they call it) and again, I waited.   12 hours later it still hasn’t left "Step 1".  This time I decided to try the "Live Support Chat" option.

Well, after only about 20 minutes of chatting with someone at NewEgg, they admitted they had a problem with PayPal.  They didn’t have an ETA on when it would be resolved but they were working on it.  As a consolation for my difficulties, they even gave me a $10 credit on my next purchase!  It’s great, they didn’t just keep spewing the same form-letter response, they didn’t even accuse me of being a moron.  They believed what I had to say, they researched the problem, and then even took steps to make me feel better about it when they couldn’t immediately fix it!!

So I’m gonna have to wait a little while longer to get my cellphone pouch, but I’m gonna get it for $10 less than I usually would.  And NewEgg has earned another customer for life :)

Update 1/11/2007: As of this morning, the PayPal problem still hasn’t been fixed.. Still no ETA, and still no public acknowledgement of the problem.
Update 1/12/2007: Talked to another rep this morning, still isn’t fixed.  Much to my surprise, I can’t find it mentioned anywhere on their site either.
Update 1/30/2007: Just spoke with another agent, and they claim that now it’s fixed.  I’ll know for sure in the next few days.
Update 2/1/2007: Just tried to place my order, and again I got stuck at Step 1.  I talked to ‘Salina’ for a few minutes and while they are not aware of any problems wih PayPal, they don’t know why it isn’t working either.  Looks like I’m gonna have to start shopping elsewhere for computer gear.. Oh, and that $10 credit they promised?  That never came through either :-(
[tag:newegg][tag:paypal][tag:customerservice]

C Loop Optimization: Duff’s Device

Yesterday I stumbled across an interesting article on a code snippet known as "Duff’s Device".  It’s a clever little C Macro to partially unroll a loop, offering pretty significant performance improvements in certain scenarios.  The code is relatively simple, consisting of the single define shown here:

#define DUFF_DEVICE_8(aCount, aAction) \
{ \
  int count_ = (aCount); \
  int times_ = (count_ + 7) >> 3; \
  switch (count_ & 7){ \
    case 0: do { aAction; \
      case 7: aAction; \
      case 6: aAction; \
      case 5: aAction; \
      case 4: aAction; \
      case 3: aAction; \
      case 2: aAction; \
      case 1: aAction; \
    } while (–times_ > 0); \
  } \
}

The code itself is a little strange, placing a Do/While loop inside a Switch is something that most programmers have never seen before (Myself included).  Upon closer inspection tho, there are several little optimizations in here aside from the main one:

  1. The loop iterator –times_ is a pre-decrement.  This is a minor detail, but pre-decrement (and increment) are faster than post-decrement (and increment).  Post requires the compiler to create a duplicate of the variable and copy the updated value back at the end, while a pre-operation can be done in-place immediately. 
  2. Use of Shifts instead of Division at the beginning.  This is a huge improvement when working with integers and powers of 2 (>>3 is equivalent to division by 8).
  3. Comparison against 0.  This is a special-case in most hardware that is faster to evaluate than any other comparison.

These three optimizations are often done by the compiler for you, so specifying them won’t usually do much for you.  But the entire "Duff’s Device" is somewhat mysterious.  How does it work? Click inside for details…
[tag:c][tag:source][tag:optimization][tag:duffdevice]