Category: Writing

  • Canary Colours

    Since its first release version, Canary Coloring has used the default Adobe color picker:

    To the programmer, this color arrangement is very logical and even beautiful: each row and column represents a single step through a six step progression of the three segments of the hexadecimal color system. (Just writing that statement conjures images of precessionally perfect higher orders of programmer paradise.) This is evidenced by the clustering of colors into panels of six by six. The progression of the 36 colors in each panel do not just look nice, they are also representative of three complex processes going on: base color changes, blending and shading.

    The first column and top row of each panel represent the shading steps of the pure colors which are shown at the bottom of the first column and end of the top row. Stepping back from the pure color to the upper left most swatch in the panel are the six shades for each respective color. The remaining columns and rows are simply blending the corresponding shades from each column and row together.

    An interesting affect to persons who frequently use paint can be observed as brighter shades blend together: they approach white. This is because in light, unlike paint, white is made by combining the three pure primary colors of light: red, green and blue. In paint, the primary colors are red, yellow and blue and when combined make black.

    Each panel represents a step in another six step process of changing the base color from no red, to full red. Adjusting the blending of blue and green from the base of red allows for six shades (four actual shades plus the pure color and absence of that color) to interact with of each six swatches of the other primary colors in every possible combination. This gives the color palette a total of 216 colors, which are considered the “web safe colors”.

    Back in the early days of the internet (as in: the days of Netscape) those 216 colors were the only colors that a developer could reliably use across all web browsers and computers. Today we are spoiled with the fairly consistent rendering of the full range 16.78 million colors possible for display technology (not to mention the animation, music and videos we also get to enjoy).

    216 colors is not accidental nor is the frequent usage of six arbitrary. Indeed, as I have frequently been taught by programmers, few numbers in the computer sciences are incidental.

    Numbers in the computer world are generally stored in a hexadecimal format. For definition, we normally use a decimal number system. This is not referring to the numbers that come after a “.” but rather the number of items that increment the count to the next category. In a decimal system (also called “base ten”), there are 10 digits (zero through nine) before the next level is incremented. This means that the highest two digit number can be is equivalent to 99. In a hexadecimal system (also called “based 16”), there are 16 digits before the next level is incremented. To effectively communicate this, the letters “a” through “f” are used to substitute digits greater than nine. For example, “a” is equivalent to 10 and “f” is equivalent to 15 (15 plus a count for zero gives us sixteen). This means that the highest two digit number can be is equivalent to 256 (or “ff”, 16 times 16). 256 is a favorite number for computers because it can be easily built using 8-bits (while use of 8-bits is important, it is beyond the scope of this essay).

    With the hexadecimal system, all 16.78 million colors a can easily be represent with a color code such as “ffffff” (pure white) or “0000ee” (the blue used by most web browsers to highlight a link). These same colors using a decimal system would be “000000000” and “000000238” respectively. Fewer digits in a sequences means less code, faster programs and more accurate communication, all very good things when under the tight constraints of sending data across the world.

    Going back to the color picker: the color progression is not simply shading and blending but is actually a mathematical progression in hexadecimal. Following are the color codes from the first panel, notice how each row in the first column and each column in the first row increase by “33” (“33” in hexadecimal is actually 51 which, when adding zero makes 256 shades) while each of the other rows and columns is simply a combination of the first row and first column:

    000000 000033 000066 000099 0000cc 0000ff
    003300 003333 003366 003399 0033cc 0033ff
    006600 006633 006666 006699 0066cc 0066ff
    009900 009933 009966 009999 0099cc 0099ff
    00cc00 00cc33 00cc66 00cc99 00cccc 00ccff
    00ff00 00ff33 00ff66 00ff99 00ffcc 00ffff

    While most hexadecimal color systems order the colors as red, green, blue, this system orders the colors as red, blue, green. This first block has no red (hence the “00” as the first two digits) and then progress the blue down by row (the third and fourth digits) and green by column (the final two digits). I will not go through the boring process of iterating the second (or anything other) block of numbers because they are almost identical except the first two digits are “33” and thus red is incremental in each panel with the blending and shading of blue and green remaining the same.

    Unfortunately, beautiful numbers does not necessarily translate into a beautiful interface and the color picker did not do a good job of letting artists find the color and shade they were looking for (or, as my nephew said, “I need grey in my palette”.)

    To the artist, this color arrangement is almost useless. For example, and addressing my nephew’s point, finding grey is a chore. There are four shades of grey plus black and white. Black and white are easy to find in the top left and bottom right corners respectively. Greys however, are a bit harder to find: the first grey from black is in the top row, middle panel, second column, second row. The second grey is in the third panel, the next column right and the next row down from the previous grey. This pattern progresses through the panels to white in the bottom row, last panel, last column, last row. This makes perfect sense when looking at the numbers, but not when looking at the colors.

    Most often, when picking a color, we have a general idea of what color we want and we want to compare the shades and blends within a group of colors to get the right match. Think of paint swatches. They are clustered by base color with each swatch strip containing different shades of a given color. This system allows us to quickly compare a particular color against another particular color. Noting this, I set out to rebuild the palette to be more useful for artist (not programmers).

    My first thought to present a more artistically appealing color picker was to rearrange the colors by hand and sight. I got to my third swatch before I gave up. My problem: the colors progressed three dimensionally (base color, blending and shading) making it rather daunting to rearrange 216 swatches. I stopped working on the colors after rearranging three swatches; then I realized that if math got me into this predicament the math could get me out of it.

    My second thought was to transpose the data twice. What do you get when you transpose a data set twice? The same thing you started with (like rotating an image 180 degrees, twice).

    My third thought was to transpose the entire data set and then transpose and mirror every other panel. This transformed the original color palette into something beautiful:

    Notice how the colors now gradually (well, as gradually as can be done with a 20 percentage point increment) change between base colors by transitioning through the various shades and blends. This arrangement makes finding the right red (out of the available 30 variants of red) or green or blue much easier because the colors are generally grouped together.

    (Oh, and I added the greys and basic colors at the bottom to make them even easier for my nephew.)
  • A Muse on Whales

    Whales weep not, neither do they sorrow. For they, more so than any other creature, know of nothing to cause either. They are born in the midst of their very womb, a womb they will only leave for mere moments as they leap out of the water into the infinite sky above.

    Whales worry not, neither do they fret. For they, more so than any other creature, know that the earth, their true mother, will always provide for their every need. So, they are left to ponder their existence. Not in the same lowly way as a man, but from all, to all, for all.

    Whales cry not, neither do they shed any tears. For they, more so than any other creature, know only of being surrounded by joy. Their greatest joys are shown in their bounding out of the ocean’s soothing embrace and in the songs they sing from the ocean glades.

  • The Night is Sad

    Note: I wrote this some time ago (as in several years ago). I am not sure where it came from though I am thinking that I woke up in the night and forgot that I should have been sleeping and instead started writing.

    The sadness of the night seeps in through the open window. Like the gentle breeze it rustles my hair and fills my nostrils with its sweet ways. If not for this, the quietly crying night, I would myself be asleep. But when the night is sad, how can I sleep?

    I feel that I must listen to its sad song and cry with it. Somehow we, crying together, can be healed of her pain and heartache. Why is she sad? Scorned by some ancient lover past, betrayed by a dear friend or perhaps the death of a precious star that she spent so much time and effort to keep alive. In the end, it doesn’t matter why. What matters is that I am here to hear her weeping sobs and console her with what little I have to offer, just like she has been there for me so many times before.

    Tears all gone, we stop and wait. Tick, tick, tick. The seconds pass as we contemplate the future.

    Futures all considered, we drift to sleep. Drip, drip, drip. The thoughts pass between us until hope and life are restored.

    Me and the night, together once again.

  • Take Stock

    There are times in life when you are prompted to take stock of where you are and what you are doing. You may even take a moment to reconcile the two to each other.
    And when the prompting comes, it is most important that you act on it. Such promptings do not come often enough or reliably enough to be ignored.
    When you choose to reconcile the facets that make you, it will be a long and difficult process to faithfully compare your dreams to reality, your expectations to performances.
    And you will want to reconcile the two. The real power of these introspective moments comes when you discover what more you can do.
    Take time to craft a plan while your vision is clear and your thoughts are focus. More importantly, take time to write the plan down so that you can read it later.
    And when you write it down, make it clear as possible. Many a brilliant word has been lost because they were not recorded clearly enough.
    When taking in the moment, try to make it a rich, endearing experiences that can soak and penetrate your being so that they can be treasured and reflected upon in the future.
    And when you reflect upon these moments, and you should reflect upon them often, you can be reminded about your life plan. The one you made when comparing.
    Follow the plan that you craft until life breaks too far away from it. You will find solace and comfort in knowing what has been done and what yet remains.
    And life will break away from the plan. Sometimes it will happen right away and sometimes it will take a long time. Either way, revel in chaos of it all.
    As the chaos threatens to consume, remember to step back and breathe… deep… long… breaths… until you can collect your wits again. Wit may save your life.
    And even if wit will not save you, it will at least make life, or death, more bearable. Maybe making death bearable is all that can be done. Maybe that will be enough.
    In the deepest depths though, you will realize that you are not dying, you are just not living. We were meant to live and life hurts when it is not being used.
    And so, you begin to live. You climb mountains, ride rhinos, chatter bears and take every challenge that is thrown at you and you feel fantastic.
    Feeling fantastic puts you on top of the world. You find that for once in your life, you, and you alone, are in command of it all.
    And then you relax on a much needed vacation. Instead of adventuring throughout the world, you keep it low-key for a while.
    While on your vacation you start remembering back when you used to work. It seems like so long ago even though it has only been a few days.
    And then suddenly, almost inextricably, your chest is swelling with a great desire to do something. Anything. Relaxing is killing you!
    In a burst of vigor you surge forward. A glance at your plan, written in clarity, reminds you of all the things that you should be doing.
    And you get back to work, trying to make up for time lost while relaxing. Vacation was fun, but there is still so much to do.
    Like a bear waking from a long hibernation you burst onto the scene. Nothing works faster than you, harder than you, smarter than you.
    And you do all the work because no one else is competent to do it. No one else can come close to matching you. They are losers.
    Then you realize that you are the loser because you are the one so caught up things in things that do not matter that you have forgotten to live once again.
    And you start to scorn yourself for being so dumb. How could you have got so caught in such a silly game with yourself?
    There comes a prompting, a small wriggling in your toes that makes you think that you should take stock of where you are and what you are doing.
  • A Hard Life Without Empathy

    I recently met a young man whose life was “made.” His parents were rich and give him a generous monthly stipend, he had a fat trust account waiting for him when he turned 25 years old and had lacked little (if anything) growing up. Interestingly, he was not a spoiled brat. Not in the traditional sense at least. He was well mannered, generally respected the space and possessions of others and even had used his intelligence for somewhat worthwhile causes.

    In addition to a wealthy upbringing, his life was “made” in other ways: he had never had a rough patch in his life. High School had been a breeze, his family was almost picture perfect, people flocked to him to be his friend, he had had a one girlfriend and had never experience manual labor.

    As I associated with him during his first semester of college, I grew to enjoy his generally pleasing demeanor and upbeat, good, clean, fun loving attitude. While we did not hang out a lot, he lived with some friends of mine and so I would periodically run into him.

    I was tempted to be jealous of him from time to time—I love the thought of a trust account and the thought of how my life would be different if everything had been handed to me—until one day when we were talking about his academic goals. He was schooling for a degree in Business Management and planned of getting a Master of Business Administration after that. I am always confused as to why anyone would get a degree in Business Management (because it teaches so few real skills and instead stuffs the heads of young people full of theories on how businesses should work), so I inquired why he was pursuing such. The answer: because his grandfather did (and got rich from it) and his dad did (and got rich from it) so too would he (and, he hoped, would get rich from it). The fatal flaw in his thinking is that he had no idea what “business” even is let alone important things like how his ancestors got rich with business degrees. He just knew that they did.

    At first it was comical to probe this area of his mind but as naivety turned to ignorance and then to lack of comprehension I started to get worried. How could he get a degree in something that they knew nothing (and I mean nothing) about? To be clear, I do not expect most students pursuing university degrees or trade certificates to be experts in their field of study (if so, why would be there?). I do expect them to have at least a basic understanding of their chosen field. If one is going to spend four years of their life studying something, they should have some idea what that field entails.

    There was none of that here. He knew that businesses ran stores and stores charged money and he swiped a card to pay them. He did not know how the store figured out what should go on which shelves where, what it meant to buy a share of stock or even how the store shelves got restocked. It was all a mystery.

    Beyond the mysteries of the business degree he was seeking, I also became disturbingly aware of his complete lack of cognitive empathy. That is, he could not imagine what other people experienced (as opposed to affective empathy in which one can relate to others’ experiences because one has experienced similar).

    That became glaringly obvious one day when he got into an argument with one of my former roommates. In this argument, the young man became vehement as he wondered how anyone could be such a failure as to be “old” (by which he was meaning, 25 years old) and not be married when he had arrange for his girlfriend of four years to marry him at age 21. Further, he could not understand how one could surpass 24 years old without getting a degree. Anyone, he exclaimed, who did not do well in school should just drop out because they were not smart enough to it and perseverance was a myth.

    These were scathing words from one so young to one not much older; yet they were also very telling of the young man’s easy life. He had never known the difficulty of finding a girl that he liked who liked him back. His girlfriend seemed to not know that other boys even existed. Beyond that, he seemed to think that plans laid in teenage years were all but assured to come true. Thus a failure to be married at 21 was a failure to plan correctly and had little to do with one’s circumstances.

    College, he believed, should be as easy as High School. High School was a venue that he saw very little of. He had one of the easiest High School experiences I had ever heard of including very, very generous absent policies. Further, college was just a recap of prior schooling so if you learned it the first time you should be able to show up for the test (and ace it) without issue. Perhaps ironically or perhaps tragically, he failed his first semester of classes.

    Things like depression, sadness and all but the most obvious of physical pain (things like getting punched in the gut and not things like aching bones) were all just figments of imagination and as such could easily be overcome by simply dismissing the thoughts. Thus his spoiling was not in his meticulous manners but was an inability to understand the troubles of those around him.

    In other words, his life had been so easy that he had never developed empathy sufficient enough to even imagine some of the most basic ailments of his associates. The saddest part for me was the realization that he would eventually have to trudge through sorrow equal to the joys he had known and that while in a dark valley that to most of us would be little more than a “bad day” he would feel like he had just descended into nethermost depths of the inner bowels of the earth never to emerge into the light of day again. Life, that which had once come so easy, was going to become seemingly very, very hard.

    Only seemingly though because compared to everyone else, his troubles will be nothing new; indeed for some his soon-to-come difficult experiences would be seen as “everyday life.” This is where the darkness of his path will come. For where this young man could not have empathy for those with hard lives, others would not have sympathy for his easy life.

    Realizing how much cognitive empathy has helped me in my life, I was no longer tempted to be jealous of my friend but, instead, to pity him and the smallness of his world—rather, the bigness of the world that he cannot yet understand—and the great pains of growth that I hope he accepts as he an opportunity to grasp the larger world.

    That being said, if I could get a fat trust fund in addition to my empathy, I would take it.