Commitment Chains, GUIs, Frustration, And Other Ramblings…
Warning: massive brain dump ahead…
As I was laying down to sleep and having a discussion with my wife – much to her dismay – the topic of her current graduate class came up and she mentioned how much she enjoyed just sitting down and writing for 45 minutes each class. I found it strange that she should put it in such a perspective. I mean, there’s nothing preventing her from taking the time to sit down and write for 45 minutes each day (and she did keep a journal up until maybe 3 or 4 years ago) as surely, countless minutes of her day (and any average person’s day) is spent doing mindless things like watching television or eating or something else equally useless.
The idea of commitment chains occurred to me as I was using an analogy about exercise and trying to convince her that writing for 45 minutes each day is relatively trival compared to working out. Think about it: in exercising, one starts a chain of commitments which can seem unconsciously daunting. To exercise is to sweat, to sweat is to necessitate an immediate shower (well, unless you don’t mind body odor or the salty stickiness of sweat), to exercise necessitates a larger load of laundry, and most importantly, in this proposition, is that it necessitates a healthy lifestyle lest that exercise went for naught.
It is a relatively large commitment chain to make simply by exercising and perhaps this is why so many people find it so difficult to maintain a healthy lifestyle: the weight of this commitment chain is simply too heavy. On the other hand, writing for pleasure carries little commitment of any kind. You write if you want to, you don’t if you are not in the mood.
What’s the point? No point, really 😀 I guess if there was a point, then perhaps it is that very often in life, we don’t really take into consideration how little commitment it takes to do what we want to do and do what we enjoy. We also fail to realize how these low commitment activities have a profound effect on our lives as they help us feel like we’ve done something. Simple things like taking a stroll around the block, watering some flowers, laying down and watching the clouds pass, sitting with a cat on the grass, drinking a cup of lemonade on a hazy summer afternoon. Perhaps that’s the secret to finding balance in life: to have a healthy mixture of tasks with long commitment chains (work, family, health) mixed with activies of low commitment (I’m mixed on whether blogging is the former or the latter, but I do find it constructive to put thoughts to text some times).
Shifting gears now.
Prior to this discussion, we had another discussion about how we visualize dates. I was thinking back to something that I had once read about how to interview tech candidates: propose that some object typically comes in a set of 14. Now 5 additional elements are introduced…ask the candidate how he or she would organize the new elements.
Some people, like my wife, would tend to place the 5 elements “below” the 14 elements and line them up and start to form a multidimensional array – or a matrix, if you will. Some people like me, would visualize it as a separate block of elements, but in a linear manner…more like containment where the first set contains 14 elements and the second set contains 5, but they are part of yet a larger set. It is less of a repeating pattern and more of a general grouping.
This manifested itself clearly in the way in which we think about and visualize dates. For her, as day of the week is important, she tends to organize her events and key dates in a typical calendar fashion and in fact, she can visualize it so well, that given one event in a month, she can probably tell you the day of the week of any other date in the month nearly instantly. She views the set of 7 days in a week as a part of a matrix much as a calendar is typically visualized.
In my case, as day of the week is generally not that important, I visualize date and time as linear and quite abstract (I think the most natural way to think about it since it really is linear and absolute…it is only the incidental cyclical nature of our orbit around our Sun that defines constructs like seconds, minutes, hours, days, weeks, years and so on). In my case, I am terrible at remembering dates and I am terrible at remembering order; I only roughly index that I have something to do some time in the future. Ask me what I’ll be doing two weeks from now, and it’ll take me a good amount of time to figure that out whereas my wife’s response will be nearly instantaneous. I tend to think of time in blocks where I have commitments (meetings, errands, and so on) and blocks where I don’t have commitments.
When you really think about it, time itself is completely abstract (what is it? will it end? when did it start? how much of it is there? what does it look like? what is the absolute unit of time? can it really even be counted?), but the organization and demarcatinon of time into units seems…weird and useless to me; I am fine thinking about it in the abstract (i.e. “some time in the future, I need to do this”) and not as an absolute (i.e. “on such and such date at such and such time, I need to do this” or “x units from now, I need to do this”).
There is a parallel in my profession: as a software developer, there is nothing tangible about the constructs that I build; the contructs that I build are purely abstract in nature: every GUI, every construct in software, is but an abstraction of numerous lines of code – or, is it the other way around? Software is but one layer of abstraction on top of another…modern day software could not exist without the huge levels of abstractions that have been built to allow programs to be written efficiently. Buttons are not buttons, they are rectagles. Rectangles are not rectangles, they are arrangements of lines. Lines are not lines, but merely a linear set of pixels. But in essence, there is nothinig to grasp and to utilize to visualize proportion, all of it is purely hypothetical and kind of “uploaded” into my brain as a set of objects, relationships, and other abstract constructs when I sit down at my desk in the morning.
In actuality, I find this process of uploading and unloading quite unpleasant (particularly the unloading part). I have been told by my coworkers, wife, and family members that I can become quite unruly when I’m involved in my work. The reality of it is that when I’m in my groove, unloading and then loading so much abstraction and so much data causes some sort of mental instability…I just get frustrated at the individual forcing the purge or I just lose my groove and have to kind of veg for the rest of the day…I simply cannot be constructive.
From an observer’s perspective, I think this makes me seem like a loner or anti-social or if a colleague is coming to me with questions, it may seem like I’m impatient or uncooperative. In reality, my bitter reaction is more of a defensive mechanism to kind of keep myself from having to go through these periods of derailment as in my case it’s not a temporary derailment…it’s like a long term derailment once it happens as there is simply too much data to store and reload that it’s taxing on my mind.
For this reason, I think I’ve recently been in some hot water with some coworkers. I simply don’t take afternoon interruptions very well as that is the time when it is hardest to recover from derailment at that point.
Of course, the whole reason that this discussion and train of thought came up was the movie Stranger Than Fiction (it’s an absolutely brilliant screenplay with an absolutely excellent performance by Will Ferrell (everytime you think he’s going to break into his “normal” genres, he surprises you and keeps his acting true to the character…a brilliant perfomance)).
This movie draws my attention on various levels: it is at once a deep inspection of what it means to live and to be alive, it asks what exactly is the scope of one life in the grander scheme of the universe, on some level it is a movie about religion (I haven’t really fully formulated this part of it yet), and of course, it’s a touching romantic comedy :-).
I also found the specials (and this isn’t the first time) to contain some very insightful information on teamwork and project management that would apply to almost any field (but that’s a discussion for another day).
What also caught my attention was how director Marc Forster and the visual effects team realized how Harold’s thoughts were visualized with these planar “screens” with metrics, text, and data layered together. It’s much the same way I visualize data, code, structures, and tasks, all on virtual screens that I slide around, stack, layer, and intermingle. I now realize that there is no organization to how I think about these constructs and abstractions…I simply see them in my mind as if before me was a stack of cards strewn about and yet I am able to reach out and pluck the ace of spades at will with no effort.
Maintaining such mental order requires a lot of effort and a lot of concentration. I think it is because of the amount of effort required to work the way that I do, that I am so unpleasant when interrupted (much to the dismay of my wife, mother, and coworkers). And believe me, it’s not that I don’t like to help others with the development issues or educate other developers and team members, rather such tasks are not my primary concern and shifting gears is extremely difficult when you have to maintain such large abstractions and structures in the mind.
So of course, the question is, what is the solution? Well, perhaps I need to invest some time in some organizational books. Perhaps I need a whiteboard to help unload some of the data and make it easier to reload as well. Perhaps I need a bigger desk so I can scribble more and keep better notes.
Well, I think that about wraps this up. Possibly not the most coherent or well organized entry, but it contained data would have kept me up all night if I didn’t unload it 🙂