Photo Montage

A motel we did not stay at on the way to Florida, whose signage met the perfect shade of dusk.

Ripley's Aquarium of the Smokies in Gatlinburg, Tennessee, as testifies my skullcap, purchased thereat.

Where can that fish be? It is a most elusive fish. And it went wherever I did go. Oh fishy, fishy, fishy fish. A fish, a fish, a fish, a fishy-o. Oh fishy, fishy, fishy fish, that went wherever I did go.

Father and sister, under the sea, in an octopus' garden, in the shade.

The look on sister Emily's face is so purely human; so between breaths; between trying and not; between caring and not. This is the face of Maya the earth mother, whose joy is as much in creation as it is in destruction. Who smiles and gives birth; who smiles and strangles her newborn child to death. This is the face of nothing and everything. And the fish are pretty too.

And then Grandma and I hung the Christmas lights.

Buster, angered by the existence of anything larger than a bowl-sized body of water, fought a battle with the pool, and to my surprise smelled little like a wet dog should.

Victor's Thanksgiving table setting, pre-carnage.


Back in Michigan the cat gets a Christmas gift; proceeds to swat at the mouse on the stick for three consecutive hours, falls asleep next to it, wakes up and renews pursuit.

Christmas day at cousin Jeremy's. Three extended branches of the family tree pile gifts beneath the pine and try to tolerate each others' existence for a few hours. They meet with an unlikely success!

Be the ball.

I order a cheap electronic drum kit. It comes broken. I tell customer support where they can stick it. They overnight me a new one.

The new one.

An early morning flower blooms one day as I'm preparing for work.

This very morning all my suspicions are at last validated. I am being stalked by some hairy-palmed, peeping-tom of a rabbit!

...Even 'Rocky' had a montage.

Bad Mood

I may be chemically depressed. I wonder if that's what it would be called. I'm definitely in a bad mood, and have been, more and more, for the past week or two. I'm easily excited to anger and quick to bursts of rage. It's not really depression as I define depression. It's violence; violence of the temper -- that's what I've caught.

Now, it's not that I'm sitting here typing this message with a furrowed brow, red cheeks, and a hateful stare, thinking of how stupid everything is and how it should all go off and die somewhere. No really, I'm not. I swear. I'm quite content just this moment. If I didn't know any better I would suspect that I am no more restive than is my tendency; that I am as bio-chemically inert as a juniper in February. No, I don't know what that means either. I'm just trying to say that I feel absolutely normal in the interims. It's only when some small trifle of a disturbance falls within my purview that I find my moods leapfrogging passed the usual landmarks of annoyed, frustrated, and angered, straight into manic-homicidal-fit mode. Seriously... Hulk smash!

Hulk smash, indeed! I've been going straight into a full-on 'get the fuck away from me' mode without passing 'Go' or collecting $200, and I just haven't been able to stop myself. I haven't been able to pull myself aside and realize the insignificance of the thing that's upset me. And I had really started to be very good at that lately.

I've felt, for a few months now, that I am finally becoming a man. Probably since I turned twenty I have wondered if I would ever feel like I was an adult; if I would ever perceive myself as a full-grown, legitimate member of humanity, and not just a wide-eyed child bumbling through life, tossed about by the winds that flutter 'round this life. As of late I have begun, at last, to sense the end of my adolescence approaching. I find I have a sturdiness of mind and heart... Surely I will never cease to waver with the winds, nor would I want to. It is my nature to float a bit, to dabble in a thousand things. It is a nature I would not betray for much. But I judge that I have steadied greatly. I can more and more frequently see beyond myself and others, beyond the fleeting things; beyond moments and situations that would previously have entrapped me in their seeming importance.

Perhaps the greatest sense of maturity I now find has come in the recent discovery of what seems the suddenly sizable wall of life standing behind me. Even as I hope the most and best of my life is only soon to begin, I have become aware the depth and bounty of my own private archives thereof. A sense of superiority has emerged that comforts and adds perspective to my cares; that soothes and eases my worries with the awareness of the many similitudes present in what is new, to what I have, in my own time, seen come to fruit before and so often watched wither away again. I have witnessed, with my own senses, enough now to lend comfort to myself - not always to search it out in others, as does a child - but to look inward and grant my own inner being strength, resolve, encouragement, and even a meager port of patience, by sheer reflection upon my own vast stores of previous realities that once were, and are no more.

By these I am fast becoming a man. Yet, here I stand as evidence of the child within, very much alive and kicking; overwrought with momentary though uncontrollable torrents of anger.

I can see myself, even in the midst of these spells. There is still the father figure within watching over and rebuking the smallness, the petulance of the outburst. But he is so small then. His voice is such a tiny point of light in an otherwise complete blackness of firmament. I do not truly hear his tiny rebuke, but only see that he is somewhere far off and away rebuking; as one sees a ship's sail the moment before it vanishes behind the planet's edge. And I am powerless to restrain myself.

I suppose I had been using the signposts of annoyance and frustration as a means of early detection, to combat anger and hatred before it had the time to mass its full forces against me. Here, now, I find my enemy has redoubled his resolves. Every attack he wages is a blitzkrieg. The whooping of sirens sound nolonger as deterrent; nolonger an an announcement to mobilize defense -- but now only as a warning to take cover; that the bombs are in the air, gravity is nigh and irresistibly drawing them upon us, and nothing can be done to undo their course.

This is a chemical thing. I'm certain of it. Something is off in my brain's chemistry that is causing my sudden propensity to rage; this turning again into the worst shades of child-self. The knowledge codified itself within me just this morning when I realized the exact correlation of my temperament's fouling to my sudden increase of appetite. I have been eating greater portions these passed two weeks, and many snacks throughout the night. I now understand this as an unwitting subconscious attempt to regulate my faltering moods; to meet the gap of a chemical imbalance with the chemical releases come of consumption and digestion.

Yet I take it as further evidence of my budding maturity that I was able to detect these things. Not long ago I may have bumbled about, a tangled mess of hostile emotions, for weeks or even months without ever considering the source. It is often so difficult to read one's own changes of character. Or had I detected it, I may just as well have done nothing at all to curb it; may never have even considered the possibility of correction. It's strange how capable men are, though only when it concerns themselves mind you, to ignore shortcomings, and even when one is recognized, to draw it closer to themselves as a sort of welcomed parcel of their core being.

I recall with fondness a woman I once knew who, after treating me to a somewhat jarring car ride, announced solemnly and soulfully, "I'm a bad driver. I know I'm a bad driver and I've accepted that about myself." That didn't stop her from driving, of course, nor from bending as many fenders. And insomuch as I know it never occurred to her seriously, then, to go out of her way to learn any better driving habits. Nor was she able to fully grasp the danger in continuing to operate a two ton vehicle in the public space as a self-proclaimed "bad driver."

I take it as a further indication of my coming of age that I have divined this sudden emotional impropriety of mine, and moreso that my life's experience has granted me both the tools and designs to correct it. I once wheeled among the starts of mysticism and the best of what I have retained from those youthful pursuits is my admittedly abbreviated knowledge of meditation. While I haven't seriously practiced the art in some years and even now feel uncertainty in its application, I know exactly where I shall start in the reseating of my wayward chemistry. The mini-meditation I speak of requires simply that I close my eyes and breathe deliberately with the intent of bringing on a certain physical sensation -- a tingling about the neck, and eventually upon the face and shoulders. The results are physically pleasurable and inspire an increased sense of well-being. Incidentally I find it difficult and undesirable to focus my eyes for some time after this simple process. I have long suspected the medical results of this meditation to be a sort of burst-release of serotonin. Whatever its nature I mean to implement it in again lengthening my so recently shortened fuse. I shall also take this as a cue to lay designs on some form of fuller meditation and perhaps become more constant and rigorous in my physical workouts, which have slackened of late -- very probably due the same cause.

Drum, drum, red drum, redrum, REDRUM!

All day drumming. All damned day. Trying to settle this whole ASIO thing and get my MIDI EDrum solution for the IED05 MKII stabilized. ASIO4ALL had been really inconsistent, occasionally working perfectly, then acting up again on the next system reboot; dropping or losing hits. It's very frustrating. This is not the way computing is supposed to be and it's putting me in a bad mood. Results are supposed to reproduce on a computer. Same hardware, same software, same situation, same results. Zero or one. On or off, damnit!

Anyway I tried this alternative to ASIO4ALL called ASIO2KS, and spent all day developing a theory as to why some buffer rates were perfect - didn't drop a single hit - while others, regardless of buffer size, were complete rubbish. I penciled down the few buffer rates that were working, noted a significant sound improvement and immediate end to the buffer overrun fart-noises in 3 and 4 block mode, but couldn't find an absolutely perfect buffer rate in those modes. I finally accepted that I wouldn't be able to use ASIO2KS because the designer wrote in a kind of shareware-style thing where after ten minutes use it starts beeping every thirty seconds, ostensibly making it unusable for recording and damned annoying for everything else. It's especially ridiculous because the guy isn't even selling it! If it had worked flawlessly, and he'd wanted ten or twenty dollars to get rid of the beep, I might've sprung for it, (eventually) but you go to his site and everything is a beta version. He so anticipated selling the thing that he built a 'pester' into it from day one so everyone would have to come back to him for the retail version, and then he never actually took it to market. There's capitalism for you, folks. An otherwise perfectly usable program sabotaged by its maker on the merits of anticipated revenue; greed, to be followed by stifling apathy.

ASIO2KS being therefore deprecated I eventually reinstalled ASIO4ALL, hoping to apply what I'd learned in ASIO2KS. Mind you, the learning process was all day... It was 10pm when I, at last, went back to ASIO4ALL. And quickly discovered that nothing I had learned about ASIO2KS bore any relevance to the configuration of ASIO4ALL.

Nevertheless our stalwart hero marched on. I quickly found that setting ASIO4ALL to 3 kernel buffers and any buffer size below 192 samples ended my disappearing strike woes, and in the end I actually left it at 4 kernels and 152 samples, which seemed to be the 4-kernel butter-zone where all buzzing disappears.

This, however, I have no faith in, seeing as the last time I found the "perfect" settings, they ceased being "perfect" on the next restart of my machine. I did, however just notice in the ASIO4ALL documentation that they recommend turning off processor p-state switching (SpeedStep) while ASIO is in use. Now I just happen to be running the awesomest mobile processor Intel ever put out - the Pentium M - and she is known for her seductively sultry ability to clock down from 1.6Ghz to 600mhz in steps of 200mhz, under varying loads. I suppose that could be causing some of my problems... I'll reserve judgment there until further testing. For while it seems a plausible suspect prima facie, I happen to know SuperDrumFX (the VSTi I'm loading) to be a major draw on my CPU's resources. I would be surprised if Intel's SpeedStep is finding occasion to do anything but open the throttle up wide as she'll go, while SDFX is in use, Captain. (Probably has to take off the governor, matter of fact.)

Recording is going to be the biggest bitch of all. My preference is to record as MIDI data. That would be best as it would allow for the most flexibility. I get butterflies in my naughty-bits when I imagine being able to reach into a drum performance and nudge an early strike into its proper place. The problem with MIDI recording is that I just don't seem to have the power here. Running SuperDrumFX on any host more complex than SAVI or VSTHost just lags it all to hell. My trusty HP NC6000 laptop is at last, and finally, showing it's age. Funny to think that it took all this -- a demand for less than 10ms audio response from dynamically generated, overlapping wav playback during simultaneous timestamping of incoming midi events. It's the first thing in so many years that 1.6Ghz and 768Mbs hasn't been able to handle. Goes to show how overpowered the average computer is these days, with your Quad-core, 4GB DDR3, 32Mb cache SATA-II, and whatnot. I digress.

MIDI recording while the VSTi is active has so far resulted in little more than the occasional sputter of an errant drum firing way off time. The MIDI input seems to all get recorded well enough, but the solution is not of much value if I can't hear what I'm playing while I'm playing it. And in fact, even playback of the recorded MIDI track has been too much for the sequencer I tested to handle. More of the strikes playback than sound during recording, but thirty percent or more still disappear in lagsville.

If I can't have MIDI recording, I'll settle for capturing the wave output, but there are problems here as well. The A-number-one problem is playback during recording. To record for production purposes I need to be able to playback a music track to drum along with during record. Because I lack an elegant solution that can simultaneously host the VSTi and record the output without bogging down SuperDrumFX, I've had to playback the song and record the wav output using a seperate program. I've been trying Audacity.

But Audacity can't just reach in with a magic microphone and record the audio being produced by SuperDrumFX. If I want to record the SuperDrumFX output with a separate program, Audacity or any other, I can only do so by recording the main audio bus, or in other words I have to record every sound that is currently being sent to the speakers. This, unfortunately, would include the playback of the song that I'm drumming along with. Sigh... The shorter version is: I can't easily record a clean drum track during playback. I have hopes that I'll be able to put VSTHost to the task of overcoming this. It hosts SuperDrumFX well enough, and if I can simply figure out why it's recording functions are producing wav files nothing knows how to read, I might have a way of capturing my VSTi's output before it hits the bus.

If I ever succeed in nailing down all this mind-numbing bullshit I mean to write and record a whole slew of material promoting the IED05 MKII as a viable eDrum kit. I might just start a separate blog dedicated to expanding the capabilities of the IED05 out of the box. In fact, once I've hammered out an all-purpose software solution, I'd even like to delve into DIY'ing some more natural drums for the kit. All together it's a good winter project and for $140.00, let me tell you, when you get this little kit working perfect - if you can get this little kit working perfect - it's a damned beautiful sight to hear.

Collapsing Margins / Borders in CSS

Here's a simple example of the kind of unexpected behavior caused by collapsing margins in CSS.

<div style="background-color: red">
<h2 style="background-color: cyan">
Hello flawed world!

The Problem

When displayed, (tested in Firefox 3.5.7) the code above produces the text "Hello flawed world!" on a cyan background, and nothing else. This is not as expected.

The <h#> tags have a built-in top and bottom margin to them of around 20px. Now, a margin, specifically, is white-space surrounding a tag, outside of it. Margins push out from a block's position to create empty space around it. With this in mind, the code above should produce 20px worth of red - the background color of the <div> containing the <h2> - above and below our cyan-backed text. But it doesn't.

Meet the concept of collapsing margins. Because nothing whatsoever has been placed in the space between the div's borders and the h2's borders, the browser is taking it upon itself to remove what it perceives as empty-space by collapsing the margins together.

I don't know why it might be beneficial for the browser to collapse margin-space this way, nevertheless here we are. We must work around it.

The Solution

In order to get the desired margins to appear we must prevent the browser from perceiving them as empty. The simplest, most unobtrusive thing to shove in the gap is a bit of padding. Padding is sort of the inverse of margins, in that it creates white space within the block, rather than outside it; pushing inward from the borders. 1px worth of padding will keep your margins and borders from falling in on themselves.

<div style="background-color: red; padding: 1px 0;">
<h2 style="background-color: cyan">
Hello flawed world!

The corrected code inserts 1px worth of top and bottom padding to the div. Again, note that the padding is added to the outer container. It pushes inward, giving the previously empty space between the edge of the h2 block and the edge of the div block a tiny bit of content. In the example I've used the 2-value format of the 'padding' style, where the first value represents top and bottom padding, and the second left and right.

I've always looked at margins and padding as being the same thing in a different direction. Apparently this isn't entirely true. For some reason the CSS standard views white-space created by margins as sacrificial when unoccupied, but maintains a hallowed view of white-space declared as padding. Preserving padding makes sense. Not preserving margins... I'm sure there's a reason, but from the coders perspective it seems an inconsistency.

Learning Time

Inspired by Nik Maack's article HERE, I created and published a short flash 'animation' at Check, check it:

Learning Time

May it not be blammed by the twelve year olds who run that place.

Happy Palindrome Day!!!

It's here! Finally, we have arrived. W00t w00t w00t w00t...


It's a palindrome day! Break out the Cristal and order me up a fleet of albino whores. This is gonna be one to remember.