July 21, 2014 @ 20:02 EDT
July 11, 2014 @ 14:56 EDT
More on the Kodak 6850
The venerable Kodak 6800 and 6850 printers are true workhorses; it's not uncommon to see them flogged on eBay with upwards of 200,000 prints on them -- not because they are worn out, but because they tend to outlast the systems they're plugged into.
I originally added support for these models to Gutenprint the better part of two years ago, and through some helpful volunteers, I was able to reverse-engineer enough of the printer communications to write an open-source CUPS backend to enable them to print under Linux.
That seemed to be good enough, and I generally forgot about these models.. until a few months ago, when the folks over at LiveLink arranged to have an Kodak 6850 sent my way. (These guys are awesome, BTW!)
Having full access to one of these things made it far easier to poke and prod and generally reverse-engineer the printer communications. Consequently, I've mostly decoded the printer media status (now with print counts!) and media query messages, and greatly improved error detection and recovery.
It's probably safe to say it now works better under Linux than it ever did with the Official Windows/OSX drivers, though without access to a 5x7 conversion kit and media I'm sure there's something I've missed.
In other news, I'm still hunting down some bugs involving the Sony UP-DR200, Canon CP900, and Mitsubishi CP-D70/CP-K60 models, but with only indirect access progress is slow.
It would be so much easier if the manufacturers of these things could toss some documentation my way. It could only help them sell more printers and media, after all..
Back to the bit mines..
July 07, 2014 @ 20:31 EDT
Sunset over Del Mar
June 29, 2014 @ 18:33 EDT
June 29, 2014 @ 18:07 EDT
June 14, 2014 @ 09:57 EDT
The soundtrack of my life, thrice
This morning, while changing the oil in my vehicles and generally puttering around the garage, I put on Lacuna Coils's latest album, Broken Crown Halo to play in the background while I worked.
This album is more of a return to their roots, darker, gritter, with more of the raw emotion that was less prevalent in their last two (and quite excellent!) albums.
And true to form, their music and lyrics were oddly relevant to my life's progressions, with several songs that cut right through me. This time, however, ther was one in particular that I'd heard a couple of times.. but not really heard until I was driving home from disposing of nine quarts of used motor oil.
Beating Bessie's steering wheel as I drove her somewhat more aggressively than usual (the old gal really does like being ridden with purposeful roughness!) I started singing along, eyes unexpectedly tearing as I let my voice carry over the music and Lacuna Coil's off-key vocal harmonics.
Burning the pyre Take me in your arms And start to burn Yearning for life Take me in your arms And start to burn Never ending darkness Yearning for life I burn with you We'll see it through I burn in you It will never be the same as it was before
Some day, I will see them in concert, and for once, sing my heart out.
June 12, 2014 @ 22:13 EDT
I sat down with every intention of letting the words flow forth, but I when faced with the enormity of what there was to say, I deciced to start with a picture that I did not take:
This, dear readers, is Dale.
I had started to tell the story of us; how we almost met years ago during some of our darkest times; how we were drawn together when we finally did meet; our first touch, our first kiss, and many more firsts, private or otherwise... but as always, it took writing and discarding many words to figure out what I really needed to say; what really important.
In the moment our awarenesses met, our worlds collided with the subtelty of a bolt of lightning. It was a moment, a charged touch... a moment that changed everything.
Five weeks, near-constant contact, and two long dates later, we are still catching up, learning each other's minds, hearts, and bodies as our souls continue to merrily frolic ahead, giggling in shared glee as they taunt us with promises of even more wonderful things ahead.
For we have found, in each other, the home that we have struggled so long to individually create. We are two sides of the same coin, united in a balance we've always thought, yet never quite believed, to be possible.
Even as I write this, we are still growing stronger, not just as a pair of newly-united kindred spirits, but also in our own individualities. I feel more myself, she feels more herself; we both feel alive, connected, and at long, long last... we are no longer alone in this vast universe.
...Welcome home, Dale.
June 06, 2014 @ 16:47 EDT
Walking in Beauty
Outside my place of work, there is a now-defunct golf corse. The northern 2/3rds is slated to be developed into another generic office park, while the southern third, which I can see through my window, is expected to remain as green space.
I have worked across from this green space for the better part of a year. Until a couple of months ago, it was reasonably maintained, but since then it has been allowed to lie fallow, slowly returning from its former gently-sculpted purpose to a much more natural, dissheveled state.
This afternoon, I went for a walk.
This afternoon is the first time I stepped out onto this space, after eleven months of parking my car not three feet from its threshold.
It was not a long walk, in time or distance, but it felt like both an instant and an eternity. I stepped out with my head spinning, both literally and metaphorically, needing to get out of the disconnected, artificial confines of a high-tech semiconductor design facility, needing something natural and real, needing to stretch my stiff limbs, needing to move about in the natural chaos of live.
I stepped out, not knowing what to expect; not knowing if the family of racoons would peek out at me from behind a weather-stripped fence, if a lizard would scuttle away from the crunch of my feet on the gravel path, if I'd inhale a swarm of gnats as I rounded a tree.
I went for a walk.
Why had I waited this long to begin to explore this slice of unnatural natural space a quarter mile from I-95? Every day I'd seen the birds landing in the water hazards, lizards basking on the now-overgrown sand traps, giant spiders weaving even larger webs between tall palm trees, insects gorging themselves on the sweet necar of wild flowers.
It was a beautiful walk.
I let my hair down, closed my eyes, stretched, inhaled deeply, and drew in the beauty around me. I tasted the air, I heard the dry grass crunch, I smelled the dog fennel's subtle scent lingering on my fingers, and from behind closed eyelids saw life emerge and spread out in an endless, infinite sea.
It was a walk in beauty.
On the way back up to the office, one of my colleagues remarked about how boring, ugly, and empty that old golf course was. He couldn't have been more wrong.
June 01, 2014 @ 19:11 EDT
May 31, 2014 @ 22:50 EDT
May 31, 2014 @ 18:03 EDT
May 30, 2014 @ 21:54 EDT
Friday Evening Remembrances
For the past few days, I've been uploading what I consider some of my best photographs to a much more public site. This has been ongoing for a few days, a slow process made slower by the need to describe what was going on when the photograph was taken.
It's no coincidence that my best work has come from some of the most intense moments of my life, and as I sort through these snapshots of time, I have been remembering.
And I have been remembering.
I hadn't intended to sit down and write anything in particular, but it seemed like a natural, proper progression of where I found myself tonight. Today, and this evening in particular, I've been in an odd frame of mind.
Yes, I know I say that here relatively often, but these are the times I feel like writing; these are the times I feel open; these are the times I feel ...connected. Connected to the world, connected to myself.
It is simultaneously beautiful and terrible, seeing and feeling everything. While I'm a much stronger person than I once was, it's still hard to both relax and hold myself in this place, in this moment, feeling the air breathe through my shoulders, into my arms, my perception warping in subtle ways.
This is a good place to be, a place without guards, without defenses. A place without bullshit; A place of truth. A place of being; A place to simply be.
It wasn't always this way.
The first time I was in this place was the worst night of my life. I found it through sheer exhaustion, collapsing through my inner barriers as they were smashed by a tsunami.
I was powerless, swept up like a leaf in a tornado, tossed and smashed and mangled and ground into myself with pent-up rage born of years of pain, suppression, and denial. I vaguely recognised that I was obliterating myself, and eventually, I succeeded.
I was quite surprised when my eyes snapped open the next morning to an only vaguely familiar room; it was if my memories were someone else's, with no connection to myself. So total was my destruction that I had no idea if I was even real. I eventually came to the same "I think, therefore I am" realization as Descarte, and from there, I slowly began to build anew, one deliberate piece at a time.
The next time I found this place, a couple of years later, I nearly died.
It is still perhaps the most profound experience of my life, achingly beautiful in that way that makes your heart hurt as it tries to expand to encompass its enormity. In that moment I was connected to everything; connected to life itself. I comprehended, I embraced, I accepted... and simply let go. Let go of myself; let go of everything.
As it turned out, that included letting go of breathing.
That eternal, peaceful moment came to an abrupt end when, out of concern, I was touched. This sudden contact brutally yanked me back, the shock and whiplash leaving me unable to do anything but shudder and shake, coupled with a terrible sense of loss. I had lost the most beautiful thing I'd ever experienced; the beauty well beyond my ability to even remember or imagine.
The evening that followed was one of those nights that could have changed everything, had I been a more daring person. But I was too much in shock, too unaware of my own ability to effect what was mutually wanted. The next morning; even that was yanked away.
That was more than fourteen years ago, and I made many, many mistakes trying to figure out how to get back to that place, chasing that feeling, that sense of loss, failing to comprehend that I'd been chasing a shadow cast by my own self, when all I had to do was turn around and see the light I kept turning away from.
Both experiences were of the same "place", albeit experienced by very different people. One was holding back the tides of denial, the other wholly embracing everything. One experience was pure agony; One was pure ectasy. Yet both were undeniable truth; my truth.
This place is where I find myself again tonight; while much less raw, much less intense than those moments that bookended my experiences, I am holding myself here, balanced as the winds of memories, the winds of dreams blow through me, fanning the flames burning within, and I ache with the need to grow beyond myself, the need to connect, to touch, to live.
It took far too long to learn just what this place was, even longer to learn why it had eluded me for so long, and longer still to learn that balance, and how to extend myself as a tree grows leaves and roots, simultaneously holding myself in multiple, intricate realms.
I learned that shadow, the shadow I chased for so long, was my own, ever shifting and flickering and changing as I shifted and changed myself, growing sharper or dimmer as the light grew and faded behind me.
That light, the light that cast that shadow I forever chased, was the terrible incredulity of life itself. It is the beauty that holds my gaze, eyes glistening as they feel that inaudible, overwhelming roar, and at the moment I yield, I come to know true madness.
I am the shadow; I am the flame.
I am the light; I am the darkness.
I am the peace; I am the storm.
I am thought; I am feeling.
I am my own definition; I am my own reality.
I am everything... yet I am nothing.
I simply am.
May 22, 2014 @ 07:12 EDT
Jumping off the Mobius Strip of Progress
I've written many, many words over the past couple of weeks; most of which will probably not be seen by anyone else. Which is undoubtedly a good thing, because those words were generally misguided attempts for me to sort out what was going on in my head.
I say misguided because I was writing for the same audience that created the situation in the process: Myself. Those words would become a cyclical, self-reinforcing morass of questions without answers; a mobeius strip that forever held the illusion of progress on a path towards enlightment.
Without a reader, without a listener outside of myself to absorb, understand, and to call "Bullshit!" on the obviously correct assumptions that made up these well-worn paths, the perpetual non-progress would just further fuel the perception that I was just that screwed up, that there was no point in trying to make sense of anything, and that I should just generally not bother.
Fortunately, I never was terribly good at giving up on things.
For as long as I can remember, I've wondered what the point of all of this has been. As a young kid wondering "Why did God put me on this planet?" to my ever-unanswered, self-referential "what am I?" question, it always seemed, if not quite random, completely arbitrary.
But if it is indeed arbitrary, who is the arbiter? God, in his/her/its infinite definitions? I eventually dismissed this answer (for reasons I won't get into here), primarily it made even less sense than a simple probability and coincidences of a bajillion independent actors.
My "One small step, one giant leap" moment came when I realized that I wasn't just an observer, but also one of those independent arbiters. I didn't have to accept what was handed to me; I could also act and change the world.
...Queue a whole new mobius strip of my trying to figure out what the right actions and goals should be. I got stuck here for a long time, afraid to do anying lest the butterfly effect of some random conversation bring about Middle Eastern peace.
Still, progress was made, slowly.
I generally tried do do what I felt was right, even when there didn't seme to be much point in the end. I built myself up, learned new skills, tried to experience new things, and would share the results freely, especially when they were of the culinary variety. "All things are worth knowing" and "Specialization is for insects" were two of my mantras.
Yet it still felt quite ... arbitrary, with nothing beyond general (arbitrary!) principles, to guide me.
Yet it wasn't arbitrary. I my choices had a pattern and purpose; my skills complementary and self-reinforcing, and my experiences providing incredible insight to how the world works in their attempts to connect to and yes, change, the world.
I used to say that I sort of stumbled into most major events of my life; accidental encounters that led to employment or relationships. Sort of being consistently lucky with "right place, right time" for something new to unfold. Yet it still felt like chance; that I had no real hand in these events; that they just, well, happened, and I would just go along with it. Because, hey, why not? It's all arbitrary anyway, and it seemed better than where I already was.
This changed for me, on a professional level, a bit over a year ago. I found, and accepted a new position that was several steps beyond what I'd done before. I knew I was a good fit, and oh how I wanted to do it. All of those seemingly-arbitrary skills I'd built and honed, my substantial knowledge of industry trends, my ability to arbitrate, organize, plan, and explain big-picture stuff.. I was at the right place, at the right time, and.. I was the right person.
All of that seemingly-arbitrary work and learning for so many years had led me to be poised to say "hell yes!" when opportunity presented itself. Even that's a somewhat fatalistic view; I sought this out. For the first time in many years, I had a current resume and was actively looking for new employment. I was open, seeking, and.. ready.
One year ago this Sunday will mark the end of my first year here.
Just under two weeks ago, this repeated itself, only on a personal level. The background is too long to go into now, and the details are too new, too raw as they continue to unfold, but.. again, right time, right place... right person. I was open, seeking, and.. ready.
All of that heartache, that pain, and the self-discovery of recovery; All of that self-dicipline and learning to control (or not!) without strangling; All of my poking and proding and endless hours with a shovel, trying to get to the core of what makes me tick; The slow, inexorable acceptance of what I am, and learning to be okay with it.. All of this has led to today, the electronic equivalent of a dozen crumpled balls of paper, and what you are reading now.
I've jumped, with eyes wide open.
The affinity I feel for this woman is incredible; two incomplete puzzles, torn, mangled, broken, disassembled and re-assembled and sort-of-mended over the passage of thirty-five years, independently making choices, at just the right time, to just the right place.. like an intricate West African drum rhythm with completely independent parts that combine and whirl and spin off only to end, hours later, at the precise, exact downbeat. A perfect, like-it-was-meant-to-be-like-this-all-along fit.
I've jumped, and left another, very-well-worn mobius strip behind.
I've jumped, into an unknown, yet somehow known, future.
May 20, 2014 @ 21:30 EDT
The Cane Toad or Marine Toad is a highly preditorial invasive exotic species, originally released accidentally into South Florida in 1955. It is the largest of the frogs and toads found in Florida, and their skin is toxic to most predators.
This not-so-little guy decided to camp out on my front doorstep tonight. That's a quarter next to his head. He is barely smaller than my hand, and my hands are pretty large.
May 19, 2014 @ 20:04 EDT
This male Polyphemus Moth was hanging out next to the elevator at the office. His wings were nearly six inches across, merely average for this species.
(...In other news, it looks like I have a new recurring theme...)
May 19, 2014 @ 10:38 EDT
May 14, 2014 @ 07:15 EDT
I don't wanna!
May 13, 2014 @ 13:13 EDT
This sexy creature is the larval form of the White-marked Tussock Moth. Apparently it's inadvisable to handle them; those tufted hairs can trigger an allergic reaction.
May 12, 2014 @ 20:03 EDT
May 12, 2014 @ 18:56 EDT
This little guy (an Echo Moth caterpillar) crawled across my chair when I was sitting in it.
May 08, 2014 @ 09:57 EDT
Canon CP820 and CP910, Redux
It seems my early enthusiasm was a little misplaced, as "some degree of driver-side color management/mapping" became considerably more involved than I'd first expected.
It turns out that rather than the subtractive Cyan/Magenta/Yellow primary data sent to the earlier CP-series printers, or even the additive Red/Green/Blue primary data used by many others, The CP820 and CP910 expect their data in a perceptual, Luminance-based format, not unlike what one finds in television and video formats.
My best guess is that the printers use the JPEG YCbCr444 format and coefficients (as opposed to the ITU-R BT.601, BT.709, or BT.2020, or various YUV colorspaces). Conversion between these colorspaces is fairly straightforward. Here's the code for the JPEG transformations:
/* All values are in the range of 0-255 */ Y = R * 0.29900 + G * 0.58700 + B * 0.11400 Cb = R * -0.16874 + G * -0.33126 + B * 0.50000 + 128 Cr = R * 0.50000 + G * -0.41869 + B * -0.08131 + 128 R = Y + + (Cr - 128) * 1.40200 G = Y + (Cb - 128) * -0.34414 + (Cr - 128) * -0.71414 B = Y + (Cb - 128) * 1.77200
Unfortunately, due to Gutenprint's internals and the fact that the printer expects the YCbCr data in a plane-interleaved format, this will be a little more invasive to implement. Consequently, it will likely not land in Gutenprint until after the 5.2.10 release.
In other photo printer news:
- Multi-cut support for selected printers is in the works
- Support for the Sony UP-CR10L (and DNP DS-SL10) is in the works
- Improved Kodak 6800/6850 status reporting
- I'm awaiting sniffs from Mitsubishi CP-K60DW-S and CP-D9550DW-S printers, which should lead to improved support
- The Mitsubishi CP-D70W is confirmed to work, but apparently needs major color curve tweaking
As always, the best way to improve a printer's support is to send one my way, preferably accompanied by programmer documentation. :)
May 07, 2014 @ 08:47 EDT
Canon SELPHY CP910 and CP820
For more than a decade, Canon's SELPHY printers have been largely evolutionary. While their bolt-on features have steadily improved (in-printer touchup, better screens, UIs, etc) the core printer engine itself has remained nearly unchanged from the outset. This is most visible when you consider they've used the same media packs the whole time.
The outlier here was the SELPHY ES series; they used different, all-in-one media packs to improve printer handling, but putting aside the physical differences, under the hood it was the same basic print engine, supporting the same print dimensions. Also unique to the ES series were a few minor variations in the printer spool data format, but with the exception of the CP790, the CP series has remained completely compatible for the entire life of the family.
Until the CP820 and CP910, that is. These two use an entirely new print data format (different headers, and RGB instead of CMY data) and despite using the same CP-series media, also sport a slightly different print engine that runs at a slightly higher resolution than the older models.
Another major change is that the CP820 and CP910 break from tradition and no longer need a special driver/backend to interactively send data over; now the whole thing is just dumped over in one big blob. This was an unexpected (and welcome!) change.
Unfortunately it looks like the printers still need some degree of driver-side color management/mapping; figuring that out is going to be tricky. Still, with luck, these printers will be supported in Gutenprint 5.2.10.
April 19, 2014 @ 21:45 EDT
Glass and Chrome
April 05, 2014 @ 23:08 EDT
Tucked into a corner of western Delray Beach is Morikami Gardens, a transplant of Japanese Asthetics into the general daily bustle of South Florida.
I'll definitely be going back, when I can take a more leisurely path befitting the gardens' contemplative nature.
April 05, 2014 @ 09:28 EDT
On Your Marks..
I was one of the 7,000 or so folks participating in the 2014 Mercedes-Benz Corporate 5K Run in Fourt Lauderdale -- as a walker. This is only the third time I've done something like this, and the last occured ten years ago.
I came in at a respectable 50:30, approximately 17 minutes per mile. My personal best was a little under 15 minutes per mile, but this wasn't bad given my utter lack of preparation!
I took some shots along the way, but this stitched panorama packed the most punch. It's my view of the holding pen about five minutes before the starting cannon.