My Golf Swing at 60fps

There's probably as much or more virtue in recording an off-day to see what's wrong in your swing as there is recording and reviewing your best. This is notedly an off-day for me. I've just started playing with a looser grip, which was working wonders for me at the range and on the course yesterday, but which is probably throwing off my timing today. Excuses, excuses...

I'm hitting whiffle balls here. Little pink, crappy ones that dent easily and seem to lack the weight needed to accurately represent an arc. I eventually split or crushed all my good ones and thought I'd give the cheapsies a try; half thinking they were marked down because it's probably hard to sell pink golf balls. But no. They're just light-weight junk is all.

I'll also note to the unfamiliar viewer that I am 'pigeon-toed.' So if it looks like my legs and hips are doing something impossible or unnatural, it's because they are.

And, yes ladies, those are my triceps bulging and rippling. And I'm sorry, but no, you can't have any of this delicious carnal hotness. Deal with it.

An Irreverent Hypocrisy

Continuing comments at You Are Your Television - Kill Everything.

It sounds like you are trying to excuse the people [...] for playing along; for voting against their own interests; for tuning in to a consolidated media that lowers their standards and keeps them stupid; for allowing atrocities to be committed in their names and under their flags.

But whether they made the problems themselves, whether they built the world in their image or someone else rammed it down their throats, they still live there. It's still their world and nothing can exempt them from the responsibility they bear for failing to respond to the real problems of their age; much less for playing along and paying homage to them. Example: Governor G.W. Bush didn't magically conjure a hurricane or personally poke holes in the levies, but when Louisiana flooded he damn well should've sent help. That's civic responsibility.

"We didn't want great big SUVs poisoning the atmosphere, unnecessarily depleting unreplenishable natural resources, increasing the demand for oil and thereby encouraging principalities of war and unrest to fits of murder in the middle east... But hey, now that they're here, fuck it. Look, honey, there's a TV in the headrest!"

If you're saying the people are too stupid to be responsible for their own actions... Okay. I can feel you. But if that's your point you should probably hang onto the stones of cynicism and defeatism, as panes of glass are rather expensive a material to build a house out of.

And if the people are too stupid, or ill-informed, or uneducated (oh the many diplomatic ways of calling people 'stupid') due the machinations of wealthy industrialists and capitalist oppressors... Good, great. We agree. So where's the beef?

Better yet, let's try something constructive here (since "troll" seems to be everyone's new favorite word to bandy about with irreverent hypocrisy) what do you think could be done to remedy the unaddressed evils in a world full of people too indoctrinated to recognize them? Let's talk solutions here. Let's pretend to hold ourselves to the same standards we claim to hold the rest and pause to look inward and ask of ourselves, "What are you going to do about it?"

Personally, I've got a 12 step plan which I'd love to outline for you now. Oh, but "Lost" is coming on, and it's sweeps month! Fuck it, I'm sure someone else will straighten it all out eventually.

Slow Boot at XP Logo

The Problem(s)

A machine came into the shop this week with a litany of issues, starting with a corrupted BIOS, an overheat problem that eventually led to the power supply, and an inexplicably slow boot time, hanging most notably at the Windows XP logo and scroll bar. The latter of the issues proved a challenge worthy of my efforts.

The Flailing Hunt for a Fix

We start with the basics. MSConfig, Hijackthis, and Sophos Anti-Rootkit (bullocks to RootkitRevealer) revealed no significant abusers. A defrag set the bits in order. Services and start-ups were reduced to good measure. And all without change to the incredibly long boot.

Some quick reading introduces me to a program called Microsoft Bootvis: A tool for recording and visually analyzing the sequence of events taking place during XP's boot cycle. In many circumstances, I'm told, Bootvis can cut startup time in half just using it's automated procedures. Though in my case, automation did not yield significant results.

The visualizations, however 1.) told me that the boot sequence was taking around 90 seconds start to finish, and 2.) about 70 seconds of that was dominated by two processes: an 'AVG Antivirus' dll file and fltmgr.sys.

First thing, I uninstalled AVG, immediately shaving twenty-five seconds off the boot time. This still left fltmgr.sys eating up fifty seconds all by it's lonesome. And on a 2.8Ghz Hyper-Threaded P4 with a gig of ram... Uh-uh. That boot is still way, way too slow.

I looked into fltmgr, of course, but found it an underlying construct of the OS - one that, in all likelihood, was supposed to be there, doing whatever it was doing throughout the boot.

I then turned my eyes to the visualization in Bootvis that showed the Prefetch process overarching the drivers sequence and taking just as long as any of the drivers. So, after some reading, I deleted the contents of C:\Windows\Prefetch and changed the registry to prefetch only boot items thereafter. This yielded no change in boot time.

More reading... Someone mentions the file indexing for XP's "high speed" search as a cause of slowdowns. I turn off indexing on the c:\ drive and disable the service. No change.

Disable print/file sharing. Nope. Network drives? Nope. Disable all superfluous hardware in the device manager: Out goes modem, network adapter, floppy drive and controller. Nope. Physically detach secondary IDE channel along with CD/DVD drives. Nope.

The Solution

In the Device Manager, under IDE Controllers, I finally found - stumbled onto really - that both channels had somehow reverted to PIO mode. This can prove a bit of an annoyance when it happens to your CD drive, and you suddenly find that burning a disc takes an hour or more; But when it happens to your hard disk... Well, you've lost gobs and gobs of bandwidth to an inferior data transfer mode, the likes of which the word 'bottleneck' cannot begin to describe.

The desired mode here is DMA and the easy fix to get your IDE channels recognizing their DMA capability again is to simply uninstall them by right clicking the offending channel in the Device Manager list and selecting 'Uninstall.' (They will reinstall themselves on reboot.)

After uninstalling both PIO-moded channels and rebooting, DMA 5 capability was detected once more and my customer shall be happy indeed to report - to friends, colleagues, and total strangers alike - a reduction in OS boot time from ninety to thirty seconds. I say again, :90 to :30. (That's with AVG reinstalled.)

And all this regards merely the boot time. Imagine how slow every other operation that required a call to the disk must have been. I wouldn't have noticed it in a few hours doing a repair (especially while simultaneously working on two or three other systems) but the disk access must have been insufferable!

Once a program is loaded into memory, of course, even the end user wouldn't easily notice a difference in performance, but that first double-click to open a program must have been taking... Well, by these figures I suppose it was taking at least three times as long to perform every disk operation!

The more I think of it the more I think this woman owes me some baked goods for figuring this one out, don't you?

In my Six-Fo' eight-nine to be exact. But hell it is a red Chevy so - six of one, half dozen of the other.

Today I began a full-scale tune up on my G20 Chevy van. I say "began" because it remains now in pieces and I have retired for the day. I started this project with a visit to Murray's. The man behind the counter had a sort-of permanent smile and upbeat attitude that seemed incredibly sincere, though extremely unlikely. I noticed myself being wooed by his smile, suggestions, and helpful demeanor. A half hour later I walked out with $75 worth of a tune-up. That guy will be President in 2012.

Seriously though, he was a great help and pointed me in some necessary and worthwhile directions I hadn't then considered. I walked into Murray's planning an oil and filter change, new air filter, and spark plug afternoon. I walked out planning an oil change, an air filter, spark plugs, plug wires, distributor cap, and distributor rotor. Or in other terms, every single act of vehicle maintenance I know how to do without a guiding hand.

The oil change went off smoothly; I even managed to drain the filter without splashing crude around. Then was the challenge. As an old-school cargo-style van, the engine is not so much under the hood as it is three inches to the right of the driver's right knee. Access to the engine is basically behind the ashtray on the dash, and it's a bitch to get behind.

On the contrary, once you've spent a good quarter hour prying the plastic back it's actually kind of nice to be able to sit in a captain's seat while you tinker with the engine. Though it does make a helluva mess.

With the engine exposed I first wrote down the orientation of the plug-wires to the distributor cap. Then I started pulling wires, and here's where I am especially indebted to the fellow at Murray's who told me I was going to need new wires once I got under there. For with each wire I pried back came a puff of blue dust; oxidized copper. A closer inspection of the plug ends thereafter would not have allowed me to, in good conscience, put them back on, feeble and broken as time had rendered them.

Then we pull the plugs. But wait, I don't have a socket deep enough. Back to Murray's. Cha-ching... Up to $80.00 now. I pull the plugs, install the new ones, and decide to tackle the distributor cap and rotor. A stripped and rusted screw eats up another fifteen minutes all on it's own, but I prevail and reach the rotor.

But the damned thing won't come off. A rotor basically just slides into place and this one won't pry off with a foot-long flathead. Fuck it: I break it off. Now we slide the new one on... We... We slide the new... Damnit... Get on there... Motherfucker won't go on. Maybe a little tap with the hammer. No. Pull it back off for a minute and let me look this over. Shit, I cracked the new rotor with the hammer.

What's happened is, the gear shaft on which the rotor sits has gathered some rust over the passed twenty years. No? Really? Sure has. And that has expanded it's foot print such that the old rotor couldn't release and the new one isn't really big enough to accommodate the extra millimeter of oxidized metal.

Sandpaper! I cleaned up the surface with some sandpaper, and the new rotor - though cracked - at least proves that it will now take the shaft. Now I'll just need another rotor... 'bout up to $90 with that, but I'm not going back to Murray's tonight. Evening is settling in and I'm getting hungry.

I finished running the new plug-wires and as I left it I need only slide on a new-new rotor, top that with the distributor, plug the wires back in according to my diagram, and reinstall the ashtray/firewall. All of which I shall complete tomorrow after work, having swung by Murray's yet again for my 2nd rotor in two days.

As of now I am sweaty and tired, covered in rust, grease, and electrolytic gel. So I'm off to shower, but don't worry, then I'll come right back here and regale you with all the details of how, where, and in what order I lathered.

Come to think of it I might just forgo the shower and have sex with your mom instead. Boosh! (See 'cause she's a dirty whore.)

Ant vs. Spider - Spider Wins

I was heading outside to film my golf swing when I noticed a congregation of crawlies on the screen door. A trio of ants - one grounded, two with wings - and a deuce of spiders that included our old friend Spider-Hunter! He's gotten even bigger, by the way.

You can see his Armpit Hair!

I didn't get any passable shots of Spider-Hunter this time, but made great labors trying to take just one good shot of his counterpart, what had caught itself one of those flying ants I mentioned and held it in a death-grip. Despite three or four dozen snaps I just didn't have the combination of light and angle I needed to get a decent shot. This one will have to do:

That's just Creepy.

Next time: My golf swing at 60fps.

Slice() is a Lie!

Today I tripped over a long forgotten Actionscript woe: De-Referencing arrays. What'll happen is, you'll slice() yourself off a copy of some multidimensional array, then later you'll change one of the values of your duplicate only to find it isn't really a duplicate, and the original it was slice()'d from has changed as well.

The problem is that slice() and concat() apparently only make true duplicates of the top level of an Array. So when you slice() off a 2D array, you end up with a genuine copy of that array - sure, sure - but what you've copied is really just a bunch of shallow references to the original.

Here's some code to try and make sense of it:

var sacred:Array = [ [0,1,2], [3,4,5] ];
var heretical:Array = sacred.slice();

heretical[0][0] = 99;

trace(heretical); //99,1,2,3,4,5
trace(sacred); //99,1,2,3,4,5

Mind you that if you alter the reference itself, say by changing the value of heretical[0] rather than going straight down to [0][0], you will have replaced the path to 'sacred' and heretical[0] will be thereafter wholly independent from sacred[0], such that any changes to heretical[0][0] will nolonger be reflected in 'sacred.'

It's a really old problem in Actionscript made new again by the Vector class brought in with Flash 10 and AS3. The Vector class is, after all, little more than a type-specified Array(), and so it is subject to the same slice() and concat() pitfalls. But in practice it's easy not to think of your Vectors as Arrays and that's how I managed to butt heads with slice() again today.

Here's an example of the slice issue using the Vector class:

var sacred:Vector.<Vector.<int>> = new Vector.<Vector.<int>>;
var heretical:Vector.<Vector.<int>> = new Vector.<Vector.<int>>;
var vInt:Vector.<int> = new Vector.<int>;

vInt.push(0,1,2, 3,4,5);
sacred.push( vInt.slice(0,3) );
sacred.push( vInt.slice(3,6) );

heretical = sacred.slice();

heretical[0][0] = 99;

trace(heretical); //99,1,2,3,4,5
trace(sacred); //99,1,2,3,4,5

Once you get deep into your own code - when your eyes have glossed over from too much trigonometry and micromanaging nested loops - it may not be immediately obvious to you that your Vector.<Vector.<int>> is, at end, an Array containing an Array containing some integers, or Array[Array[int]]. And that any duplication of that top level array really only passes along the inner array, which is still just a collection of references.

I don't know why Adobe hasn't provided a deep copy method for Arrays by now. I understand that the issue presented here isn't really a bug; that slice() is doing just what it says in the livedocs: Returning "a new array that consists of a range of elements from the original array, without modifying the original array." And that the shallow-references we end up with are the "elements" of the original array, as stated. Still, how many people have to bump their heads on the ceiling before Adobe integrates a method of really, truly, no shit, deep-copying an array? I suggest Array.noShitCopy();

Today Rocks!

This is a great day, don't you think? Blue skies; A little nip of fall in the air - you can smell it coming on, can't you - but still decidedly summer. Still warm, sunny and exuberant.

I went golfing with my dad today; in this perfect, awesome weather. And sure, it was a good game, but that's not all that has me glowing. I don't think, anyway. It's this air, maybe. I can taste the life, smell the aliveness in this air. Brisk air and warm sunshine. God grant me more like these. It's really too good a day to waste any of it sitting here typing about it so I'll just say what I came for and get back out into it, if you don't mind.

I shot a 107 at the White Lake Oaks golf course. I had a lot of good shots today, my drive improving greatly in consistency where perhaps not in accuracy. I rarely found fairway off the tee. I scored my first-ever par, and on a par 3. It was one off, one on, and one in! Hell of a par! And to end the day, on the 18th green - think of it, the very last shot of the day - I sunk an unprecedented, never before seen, crowd-pleasing 35ft putt for bogey. Thirty-five feet! We walked it out. Damn it was a good game.

But I'll waste no more of this marvelous oxygen sitting typing. I've got to keep this day going. The air is just too animating to resist. And you've got to make moves to parlay the good ones you get. Onward to adventure!

The TV Majority

Part of my comments, excerpted from the article You Are Your Television at Nik Maack's blog.

[...B]ecause I never seem to tire of saying it, I don't watch television. I don't listen to the radio or read the papers for that matter. And the reason I made the choice to turn it all off and leave it off, after a life much spent - I shamefully admit - mentally cataloging episodes of Roseanne, Tool Time, and Animaniacs, (all great shows!) was because of how damned stupid and vitriolic I came to see the beast, television to be.

I now find myself fortunate enough to be television intolerant. I just can't take it. Everything is a push; Everything is for sale; Every word has been focus group tested for maximum affect and majority agreement; and I, for one, am insulted and infuriated it by the whole fucking show. So I don't tune in. I can't. It just makes me angry and hopeless. It disgusts me: what passes for communication; what stands in midst the majority of my neighbors homes claiming itself to be reality.

And the argument you make that this hell-spawn thing, TV, is what the people want... I have to agree. It's hard to believe it's come to this, but this is as the majority desires. Hell, a good percentage point's worth of the population are part of the fucking revenue stream! They're content contributors. They're coming up with this horrible, mediocre, self-censoring tripe, writing it down like it's all worth repeating, and then filming it for Christ's sake... going so far as to put that extra bit of effort in, to spruce it up with special effects and shit! It's them! It's absolutely them. They want this TV. They crave it!

Doubtless, this -is- the product of addiction, lifelong conditioning, the lack of meaningful education, corporate-aristocratic influence, and so on as you suggest...

But what I'm starting to understand now is just how useless democracy really is in this situation. That these people cannot be brought together to see their shared interests; they cannot be motivated to accomplish those things they talk about; they are utterly dominated and, when considered en masse, will continue to be so in perpetuity.

They are a TV people. And I guess I'm coming to realize that you just can't leave it up to them. The same way you can't ask a child what they want for dinner every day, or whether they'd like to go to school. They are incapable of making these choices for themselves. I'll say it again: They are incapable. They won't change anything. They won't fix anything. They won't demand justice. They won't demand their due.

And if change is a goal - which at this point is probably futile - then it must be pursued without employing the majority. The will of the majority must be ignored, for it is the majority's will to destroy themselves and everyone around them. The majority's will is to miss the house payment but pay the Comcast bill. The majority's will is to kill 2,000,000,000 people in the middle east without an explanation why.

If change is a goal it cannot confer upon the majority. A minority must simply seize what it is able, as it unilaterally sees fit, and as I suppose has always been the way. And when all is done, that minority must write the history books as though the transpiring events were all due the will, strength, and fortitude of the people united.

I guess what I'm getting at is: This is a pretty fucked up world we got right here. [...]

Boys in the Hood


Covering Dynamite Hack covering Easy E. A cover of a cover... How original. Strap in for this one folks.

I love the mix I whipped up here. A liberal delay opens up the vocal track's stereo field; guitar track gets duplicated in each channel, eq'd using a single bus; everything compressed with the tube simulator... Little, yellow, simple.


...By which I mean a spider whom is also a hunter or is otherwise occupied or employed in the business of hunting; note the hyphen. This, rather than indicating those learnedly professed in the art of hunting spiders. What?

In the blind.

This fella' had spun a web flat against the outside of my sliding glass door, affording me the perfect opportunity to get these closeups. I ended up taking in the monopod's legs and simply leaning the camera directly against the glass. So there is literally an inch of seperation between lens and subject here. That's why you can see his little wee-wee so well. Tee-hee.

On the mend.

Twice, while shooting, a bug tried to fly through the glass door, brushing against Spider-Hunter's web in the process. Both times I was in the middle of taking a batch of bracketed shots when suddenly Spider-Hunter disappeared out of the frame. And boy, could he move.

He didn't catch anything while I was shooting - damned shame, that - but it was surely not for lack of trying. It took him less than one second to move to the exact point on his web that had been grazed by the passing bug, which is an even more amazing feat when you realize they aren't really using their eyes to dial into where they're headed. At least I don't think so... Eh, what do I know. I'm just the picture-takerer-guy.

Our boys in Europe send Adolph home to Mutter!

"Why spiders," you ask? Because they're there. Literally. It's spider season and I'm hemmed in by them on all sides. I might as well take a few snaps, you know? It's the least they can do to strike me a pose in repayment for biting the ass out of me in my sleep, don't you think?

Spider Mom

A month or two ago I bought a digital camera; a slightly out-of-date model: A Canon PowerShot A570 IS. I chose the model much because of its compatibility with CHDK, a firmware package that adds extra functionality to the PowerShot line of cameras. When the camera arrived I installed CHDK, drained the batteries thumbing through the thousand different options it contained, then set the thing in a corner to gather dust.

That's not entirely true, of course. You've seen some of the holiday snaps I've taken with it, and my last two YouTube videos were recorded thereupon as well. (Yeah, it records 60fps video too.) Point is, though, that all them there nifty after-market functions added by the CHDK pack, which had much guided my purchase of the A570, were going mainly unused.

Well make way America, as I enter the overpopulated world of amateur photography! Or in other words, check this shit out:

A Spider

Meet Spider Mom. Spider Mom was hanging from a ceiling tile in my basement. When I noticed her I grabbed the camera and the monopod and started shooting. Over the course of probably forty-five minutes I took over one hundred images of her, keeping the best twenty or so.

The Same Spider.

In the end I was able to close to within an inch of Spider Mom to get these shots. I am not using any zoom here. You should have seen me on my knees moving slowly, breathing shallowly, trying not to stir the air, because each time the air stirred the thread Spider Mom hung from would sway imperceptibly in space, blurring these low shutter speed, small aperture shots.

What's the black dot on her head?

The images above have been cropped - but not scaled - and rotated ninety degrees clockwise, all in the hopes that they will better fit your monitor. Please click on the images to view the full sized versions, and when viewing the larger image, make sure that your browser isn't scaling it down to fit the window. These images ought rightly to be viewed at their full pixel count.


"Amazing, Roy. Simply amazing! That you can take such startlingly detailed photographs with a consumer-grade camera... You truly are a wonder of God's own creation. If it pleases your magnificence, may we be allowed, sire, to fellate you?"

No, no... Well, later. As for now I'm sure you're asking yourself why I've named my subject Spider Mom. How have I divined her to be a mother? For that matter, what makes her a her? Verily I say unto you, "check this other shit out."

Awwwwww. Er, Ewwwwww.

Yes, that's a piece of lint stuck in her webbing... You'd have to ask her how it got there.

Unfortunately, Spider Mom was indeed harmed in the making of this film. For in my over zealousness to get more shots containing both her and her offspring I accidentally touched the camera to the line from which she and her baby hung. The line became glued to the camera, and as I gently tried to pull the camera away; as Spider Mom flailed about and crawled down the line toward the camera; in the midst of all this delicately controlled chaos I felt something crawling on my hand.

Mindlessly I brushed it away and returned to the task of prying Spider Mom's line from the camera's housing. When I had accomplished this I found Spider Mom right where I wanted her, still hanging in mid-air much as she had been before. But, oh no! Spider Baby was nowhere to be found.

Thus, when I say that Spider Mom was harmed in the making of this film, it is that worse hurt I speak of; more painful than any mere squishing beneath a shoe. For it is the pain of life continued in the untimely absence of a child. Whether Spider Baby still exists is unknown to me as I believe it is to Spider Mom as well.

Mourn we all for Spider Mom, whose child goes she knows not where. Amen.