Yeraze's Domain 3.0

Supercomputers, Programming, and Life in Mississippi

Entries for September, 2007

Giant Babies

What you’re looking at here has not been (significantly) modified or PhotoShopped.  That’s our 4 year old daughter and 10-month old son, and yes they’re almost the same size.  Just as Rhianna was incredibly small in her youth (mostly due to the prematurity), Ethan is incredibly large.  At 10-months of age, we can barely pack him into 18-month outfits. 

He’s not "fat" per-se, he’s just big all around.  On head circumference, height, and weight, he clocks in at the 90% percentile (meaning he’s larger than 90% of kids in all 3).  He weights almost 30-pounds, and is nearly indestructible.  He’s trying to learn to walk, and every time he falls and we all rush to the loud "thud" of him hitting the hardwood floor, we arrive to find him looking around with a smile.  He’s incredibly happy all the time, and suffers from a uncontrollable, unsatiable appetite for anything to go in his mouth.

He’s got 2 good teeth now, with several more incoming.  He can easily crawl, say "dada", and hold his own bottle/sippy cup/pacifier.  He can stand, and he can even walk if he has something to hold onto.  That, of course, means that everyone on the couch is now fair-game, so our TV remotes have some interesting scratches all over them now.  The mobility also means that Rhianna no longer sits in the floor & watches TV while she eats, as Ethan will quickly come to "help".

In other news, Laura is doing well in her RHIA program and preparing to take her CCS exam.  We found out that her employer will pay entirely for her RHIA classes, so she’s going to school for free.  She’s doin pretty well at work, too, and seems to be enjoying performing the work she was originally educated for.  She’s a bit frazzled with the school, certification tests, and work all at once, but she’s doin pretty good on all angles of it.

As for me, things are pretty slow right now at the office.  I get to go to Alaska next month for some training, and I’m hoping to have time to take some good pictures (and panorams!) that I hope to post here. 

And that wraps up the "Hand Family Update" for a while :)   Folks have been on me for not posting much "family" information, so hopefully this will fulfill that end for a few weeks…
[tag:family]

Samus vs Master Chief

Being a big Metroid & Samus Aran fan, and with today being the big release of Halo 3 for the XBox 360, today seemed like a good day to link to this: An animation showing the (fictional) battle between Samus Aran & Master Chief.  With tribute to the Matrix (all 3), Star Wars, and pretty much every action film of the last 5 years, it’s a great little action clip.  The ending is a bit odd, but given that the entire thing is the work of one man, it’s impressive to say the least.

Found on GameTrailers via JoyStiq.
[tag:metroid][tag:halo][tag:samus][tag:masterchief][tag:game][tag:video]

Trouble with the Airlink AWLL3026 802.11g Adapter

For the last two months or so, my MythTV box has been network-connected via an Airlink AWLL3026 802.11g USB Dongle.  I discussed my configuration in my AWLL3026 Review, and again when I configured WPA on Linux.  It’s been working perfectly, until this Saturday morning when I woke up to find the network not working.  When I checked my syslog, I found the following repeated over and over again.

Sep 22 11:27:58 mythtv kernel: ADDRCONF(NETDEV_UP): eth3: link is not ready
Sep 22 11:31:01 mythtv kernel: ADDRCONF(NETDEV_UP): eth3: link is not ready
Sep 22 11:32:02 mythtv kernel: SoftMAC: Authentication timed out with <REDACTED>
Sep 22 11:33:07 mythtv kernel: SoftMAC: Authentication timed out with <REDACTED>
Sep 22 11:34:18 mythtv kernel: ADDRCONF(NETDEV_UP): eth3: link is not ready
Sep 22 11:35:19 mythtv kernel: SoftMAC: Authentication timed out with <REDACTED>
Sep 22 11:36:23 mythtv kernel: SoftMAC: Authentication timed out with <REDACTED>
Sep 22 11:37:22 mythtv kernel: ADDRCONF(NETDEV_UP): eth3: link is not ready
Sep 22 11:38:23 mythtv kernel: SoftMAC: Authentication timed out with <REDACTED>
Sep 22 11:39:27 mythtv kernel: SoftMAC: Authentication timed out with <REDACTED>
Sep 22 11:40:10 mythtv kernel: ADDRCONF(NETDEV_UP): eth3: link is not ready
Sep 22 11:41:03 mythtv kernel: ADDRCONF(NETDEV_UP): eth3: link is not ready
Sep 22 11:41:42 mythtv last message repeated 2 times
Sep 22 11:42:06 mythtv kernel: SoftMAC: Open Authentication completed with <REDACTED>

I tried the usual "ifdown eth3", "ifup eth3", but the DHCP client was never able to obtain an address.  I tried using static addresses, I tried using WEP, I even tried switching out my Airlink with the one from my Windows PC, but nothing worked.  When I resorted to digging around the internet, I finally found someone talking about how they solved the problem by removing their unpowered USB hub from the equation.

Sure enough, I moved my USB key from the rear USB port it was on to the front USB port on the case, and it came up almost immediately.  It seems that, for some unknown reason, the USB port of the back of my case is no longer supplying enough power for the device.  It’s obviously providing some power, since Linux was able to recognize the device and the LED and such worked, but apparently not enough to make it work properly.  On the front of the case it seems to be working fine, although I’m not entirely certain I want to leave it there (too easy to get accidentally bumped/broken).

When I get the time (and resources), I’m going to install a powered USB hub and see if the USB key will work on the back of the case through that (to supply the lacking power).  In the meantime, hopefully this will save someone the 2 hours it took me to figure it out.
[tag:linux][tag:wifi][tag:usb]

Metroid Prime 3: Corruption

This weekend I managed to grab a copy of Metroid Prime 3: Corruption for the Wii.   After 3 or 4 hours of gameplay, I can easily say that the guys at Retro Studios (the company that made it) have created the best Wii control scheme I’ve ever seen.  I never could get the hang of Metroid on the Gamecube, but this is a breeze.  After a few hours last night (culminating in the first real difficult boss fight, against another hunter for the Ice Missiles), I was standing in the living room.. I was exhausted, sweaty, sore all over, and loving every minute of it.  It’s a full-body experience using the wiimote to aim, the nunchuck for motion & target-locking, as well as gesture-control with the nunchuck for the grappling hook.  It’s intense, it’s action packed, and it’s by far the most amazing thing I’ve seen on the Wii to date.

The game also has alot of new stuff not seen in previous games.  You get to see inside Samus’s ship for the first time, piloting it (in a limited fashion) and using it to warp around the planet between spaceports.  Also, you fight on multiple planets now.  You start on one planet to setup the backstory, and quickly find yourself having missions with objectives set across multiple planets.  It’s a big game, and there’s alot to see and discover.  There’s also alot of voice-acting in this one, and the introduction of several other "hunters" that actually help you in various early areas of the game.

It’s an incredible game, and I highly recommend that anyone with a Wii and a thirst for first-person shooters check it out.  Easily giving this one a 5/5.

Update 10/15/2007  I finished it.. 80% of Pickups found.  Awesome game :)
[tag:wii][tag:game][tag:metroid]

The Good, the Bad, and the just plain Sorry of package delivery

Lately I’ve had a few interesting experiences having things delivered to my house.  I’ve had one great experience, and a few pretty lame ones.  I thought I’ld break em down after reading one bloggers great experience with DHL on Consumerist.

Laura’s a student again (a Junior now), and asked for a laptop for her classes.  I was very (happily) surprised to find that Dell’s prices on laptops have come way down from last I recall.  I was able to get her a good Inspiron for around $600 (With WindowsXP even!), and have it delivered to the house.  I paid extra for the 2-day shipping, and was surprised to find out it was shipped via DHL.  A few days later (on a Wednesday night), I got an email from Dell saying that the laptop had shipped, and that we could expect delivery sometime between the following Monday and Wednesday.  They sent me a tracking number, and DHL showed they picked it up on Thursday morning, with an expected delivery of Monday.  Laura and I were excited, but then shocked and disheartened when she came home from work around 3:00 Friday and we found a note on the door for a failed delivery attempt!  We were happy to see they tried on Friday, but now we had to live with the fact that the Laptop was in the local warehouse all weekend!  I called the central office, and after a bit of routing, they said they would put a note in the log to call us when the delivery driver returned to the station so we could go pick it up.  Impressivly, they called the house less than 10 minutes later from the local dispatch, saying it would be available any time after 6.  Then, to really knock our socks off, the delivery guy made an inpromptu second delivery attempt before returning to the local station, giving us our laptop.  This was simply fantastic and I really wish I could get more stuff delivered from DHL.

Now, for the not-so-impressive.  Twice now I’ve had items delivered via UPS, the de-facto standard in home delivery.  One time it was a bracelet from a small jewelry & engraving company.  They never sent me a tracking number, but I had ordered it & paid the extra for 2-day shipping, hoping to get it before our Saturday Anniversary.  I was frustrated and upset Friday night at 6:00 when it hadn’t shown up.  Then, when I stepped outside to set the trash out, I found the small box sitting in our driveway in front of the garage door.  The driver never rang the bell, knocked, or anything indicating he was there.  Just today I had a small package delivered from ThinkGeek via UPS.  I’ve been watching it carefully via the web interface ever since they sent the tracking number.  I noticed this morning that the website finally updated to show that at 2:30 yesterday it arrived in Jackson, and at 11:30pm it had a "Destination Scan", whatever that means.  Beyond that it never updated.  I waited anxiously this afternoon for the package, constantly checking all the doors to see when it would appear.  Finally, around 6:30, Laura opened the front door to close the garage and found the (slightly crushed) package sitting on our doorstep.  Again, no doorbell, no knock, nothing.  After he delivered it, the website finally updated to show "Out for Delivery" and "Delivered".  Both their Website & their customer service stink.

So, that’s my story.  I’m a definate DHL fanboy now, and UPS is quickly getting on my bad side.  Anyone know any good way to get UPS to shape up?
[tag:dhl][tag:ups][tag:package][tag:shipping]

Work in Public: Rapid Levee Repair

I was kinda surprised to find this (Thanks to some researchers in the office for tipping us off to this), but there’s some conceptual animation one of my coworkers did of a Rapid Levee Repair possibility.  A somewhat far-fetched possibility, but a possibility nonetheless (Man, if you think this is far-fetched, you should’ve seen some of the other… wow).

It’s courtesy of an article in New Scientist entitled "Air Dropped Dams could fix levee breaches".  The YouTube clip is below in pretty poor quality.  Our version was significantly higher-resolution, somewhere around 720p.

It’s strange how stuff shows up in public sometimes, without rhyme or reason.
[tag:work][tag:daac][tag:neworleans][tag:levee]

Rookie Mistakes: Overmodularization & "Black-Box" design

A friend of mine has been roped into doing some web-design for a project with some friends of his from school.  It’s a relatively simple project, and they’re paying him decent money (not good, but decent).  Over the last few weeks, though, he’s slowly started to realize just how big of a mess this project is.  It seems to be some students that are doing most of the coding, and they’re doing it all in ASP and C-sharp, while they’re not particularly proficient with either.  The fact that they held up development for 2 days while they tried to get Visual Studio to work should indicate the caliber of development we’re talking here.

Today he was telling me some of the horrors he’s seen in the code (I’m still trying to convince him to submit some to WorseThanFailure.com), and it started to dawn on me what’s really going on here.  It’s a classic problem that pretty much every programmer falls into in his first big project: Overmodularization leading to "Black-Box" designs.

Let me explain.  All through school & training, we’re continuously told that "Design for Code-Reuse" and "Module design is good", and they’re right.  A piece of code that you’re going to use over and over again needs to go in a function, rather than suffer the ravages of cut-n-paste.  But, it does have a limit.  Nobody tells you that part.  I’ve fallen into this trap myself, everyone has at least once.  Here’s an example (from my friend’s project):  I’m going to use a table-less design, all divs, in this webpage.  So rather than scattering the div tags all through the code, I’ll write a "writeDiv" function that accepts a string and automatically puts the div tags around it.  Sounds good right? 

It’s a trivial example, but it’s a classic starting point for the type of failure we’re talking about.  You start with a basic "writeDiv", and scatter it all through your code.  Then you realize that not all Div’s are the same, some need CSS class specifiers.  What should happen is that you would modify the original writeDiv to accept a class argument, but we think it’ll be more efficient if we have a "writeTitleBarDiv" and "writeBorderedBoxDiv" functions instead.  Afterall, we’re just gonna be passing the same argument to all those anyway, right?  This goes on and on until you’ve achieved maximum modularity, but absolute zero code reuse.    The entire application is encapsulated in functions that are each called a single time because they’re too specialized to be used more than once.

That alone is bad enough, and a perfect example of Over-modularization. But, for alot of new programmers it doesn’t stop there.  (I’ve done this myself, I’m ashamed).  Since the resulting system that you’ve designed is so incredibly "modular", it’s a bit difficult to work with.  So, we’ll just encapsulate it as an engine that you can feel a short input to and get your desired output.  This is exceptionally prevalent in web-page systems.  Rather than writing HTML, you write some small script that somehow describes the page, and then the parser engine takes over and generates the actual page.  This could be a text file full of strange Wiki-like symbols, or it could be an ASP & C# script that uses no C# functions, just calls hundreds of methods of the "ParserEngine" object.  However, because of how the system is designed, writing this weird input language is easily several orders of magnitude more complicated than writing the raw HTML would be.   Not to mention, when the existing "Engine" fails in some way, good luck trying to debug it.

Such systems are typical of new "rookie" programmers, and there’s no telling how many of these poorly designed systems wind up becoming production tools.  Experienced programmers can see these things coming and make changes to avoid them.  It takes experience to know when to modularize and when to just write it there.  Be it in DSP microcode or web-page design, it takes experience.  Modular design is good from a code-reuse and maintainability perspective, but it does bring overhead in increased function calls and push’ing/pop’ing stack arguments.  Where to put the line is something that only comes with experience.

So, how many of these "Black-Boxes" have you built in your day? How many programmers did it take to "fix" it?
[tag:badcode][tag:programming][tag:modular]

SchedulesDirect, KnoppMyth, & Zap2It

For users of MythTV, this weekend was the "cutoff" for the Zap2It DataDirect service. Although technically Zap2it is still providing listings, they could cut it off at any time (and probably will), so everyone is supposed to transition to the new SchedulesDirect service.  SchedulesDirect is (currently) an identical service to Zap2it, with the difference of now costing $$.  Current pricing is $15 for 3 months of listings, but they expect to drop this down to $20 a year once they hit break-even (which they already have, thankfully).

I use KnoppMyth for my MythTV, and unfortunately they have not yet released a new version to accomodate the SchedulesDirect transition.  Fortunately, Cecil (an all around awesome guy and KnoppMyth maintainer) posted in the forums a set of commands to upgrade the MythTV to the latest 0.20-fixes branch.  It’s something like this:


wget http://internap.dl.sourceforge.net/sourceforge/xmltv/xmltv-0.5.48.tar.bz2
tar xjvf xml<tab>
cd xml<tab>
perl Ma<tab> PREFIX=/usr
make
make test
su
make install
exit
cd..
svn co http://svn.mythtv.org/svn/branches/release-0-20-fixes/mythtv
svn co http://svn.mythtv.org/svn/branches/release-0-20-fixes/mythplugins
cd mythtv
./configure –prefix=/usr –arch=i586 –enable-dvb –enable-firewire –dvb-path=/usr/include –enable-xvmc –enable-xvmc-vld –enable-opengl-vsync –enable-mmx –enable-proc-opt –enable-memalign-hack –enable-xvmc-pro
qmake mythtv.pro
make
su
make install
exit
cd ../mythp<tab>
./configure –prefix=/usr –enable-all –disable-festival  –enable-fftw –enable-sdl –enable-aac –enable-new-exif
qmake mythplugins.pro
make
su
make install

I did this Sunday Night, and I’m happy to report that it worked perfectly.  Once those steps are finished, you do have to reload the MythWeather plugin with the patches to fix the weather-channel changes, and you do have to rebuild the KnoppMyth menu options (both are covered within that forum post), but it seems to be working great.

Another data point for the proponents of the ease of Open-Source :)
[tag:mythtv][tag:schedulesdirect][tag:knoppmyth]