Ken's profileTempus FugatePhotosBlogLists Tools Help

Tempus Fugate

Another outlet for simplistic insights and prose, random news and verbal spews.

Mostly Magic

Writing code can be highly scientific. Design software can be highly artistic. Defining architecture that encompasses elegant designs, is easy to test, efficient to construct, and still manages to satisfy constantly changing business goals is some science, some art, but mostly magic.

Let's face it, every code monkey likes the way they write their code. Conversely, they think the code someone else writes is mostly garbage. In the same way, all designers thinks their particular designs are elegant and demonstrate "best practices" while simultaneously denouncing other designs as grotesque or impractical. These two elements that are combined when defining the architecture of a solution are both highly inflammatory and subjective. So how does one allow individuals to contribute according to their skills and from their own perspectives without turning the architecture into a Frankenstein-like monstrosity?

The first technique is generally applied only at the design and code levels and is called Separation of Concerns. It is generally regarded to have originally been introduced by Dijkstra in a paper written in the '70s.

The general idea is that the various aspects of single effort should have their boundaries defined and respected in such a way that they can each receive focus individually. For example, separating how a screen displays information from the format in which the data is stored. Or agreeing on the bolt pattern for a tire so that tires can be manufactured by different suppliers and fit many cars. By creating a boundary between two areas of concern, they can each apply different ways to support the boundary independently.

While this principle is often touted and used a tool to flog the unsuspecting for the need for services, loose coupled interfaces, interface contracts, etc. it can just as easily be misapplied. Consider how there are many components in an automobile that require access to the electrical system. In software we often see these as secondary types of functionality such as providing access control, auditing activities, or styling a screen. When you have these type of cross-cutting concerns, they tend to flout the rules by which we create primary concerns. Which leads to the aforementioned architectural monstrosity.

In reality separation of concern is more than just for the elements, but it needs to be applied at all levels from how the work is structured, how the business processes interact, to how systems utilize shared resources. So working magic in your architecture will often involve applying this concept to more than just your designs, but will be present in your mindset and how you attack and decompose complex solutions into elements to be designed. Including the cross-cutting concerns as first-class concerns is definitely part of practicing this magic.

The second technique doesn't really have a formal name that I've been able to uncover. It essentially is realizing that there is going to be a difference between what is asked for, and what is needed. Generally, speaking we all think that providing good software is about giving users what they want. In reality, it's about giving them what they need in an efficient way and helping them feel like it's what they wanted.

Ask any user what they want and they immediately turn into children. We all know that every kid wants a pony. Girls want it to be white and gentle. Boys want it to be dark with a white streak and wild side that makes it run really fast. And there are a few crazy kids who go all out and decide they want a unicorn. They are users, they have no idea what goes into the lifecycle of acquiring, maintaining, riding, and eventually putting a bullet in the head of said pony. They just want all these things they associate with having a pony!

If you focus on giving them the pony, you are going to end up with really sad pony-owners. They'll have paid a premium for a beautiful pony that can't carry a rider and keeps growing until it's a huge horse that costs to much to keep. And who knows that they might have been totally happy with a cheap, durable, practical: donkey.

The magic isn't just in realizing that a donkey can meet the need. It's on selling the donkey to someone who thinks they want a pony by focusing on what they get instead of what they think they want. Sounds hard, doesn't it?

I told you it was mostly magic. And as an architect, it's what I practice every day.


You Have To Work At It

How do you live your faith when you are in the workplace? What about every other community or situation when you aren't at church?

I know this isn't the popular question. For me, it's probably one of the most incriminating areas of my faith that can be examined. After all, I've studied religion and I do profess my faith clearly when those infrequent opportunities arise where I feel I can express my beliefs without pressuring others or crossing lines of courtesy. But am I shirking my duty?

The clear call would be to proclaim your faith at all times. But sometimes to show love you have to listen instead of talking. Sometimes you need to simply show mercy, or humility, or compassion. How do you balance the need to be in the world, with my mission to not be OF the world? This from the guy who routinely separates his world life view into black and white/wrong and right.

But you should keep a clear mind in every situation. Don’t be afraid of suffering for the Lord. Work at telling others the Good News, and fully carry out the ministry God has given you.
-- 2 Timothy 4:5
Intellectually, I understand the idea that you have to speak the gospel and carry out His will. Even to your hurt. I'm willing to sacrifice (or so I say from the comparative comfort in which I live). But when the rubber meets the road, am I passing up opportunities to shine His light merely because I don't want to rock the boat? Am I hiding behind courtesy and conformity when I should be striding boldly in service?

Perhaps I need to change my prayer a little. It's not so much that I need to stand up when called. Maybe I need to look around a little more and stick my neck out a little more often. I need to be more willing to face an uncomfortable silence, a confrontation of emotion, the judgment by the unbelieving. They will not all be called. Not all who are called will care to listen to me.

I don't just want my light to shine in the dark. It extra specially NEEDS to shine in the dark.


Moving Day...

With the decision by Google to discontinue support for outside hosts for blogs, I've had to migrate my various and sundry blogs to use Google hosting and custom domains.

This turned out to be less onerous then I anticipated, even though I'm still not cool with the idea that I don't have copies of my files sitting on my servers.

In reality, who cares were the files sit? Google promises to allow me to export them at any time, and I assume (as most of you probably do, let's face it, only geeks read the fine print in the EULA!) they'll show good faith with my data and my sites. It's not like I'm really trusting them with anything new anyway. I'm just another step removed away from my files. *harumph*

When it's all said and done, I understand they've got a business to run, and they seem to be making the right noises to reassure the restless inmates (myself included!) who tend to run generally amok in this particular zoo.

Feel free to point out broken links, missing images, or other things that seem odd. Except about my writing of course. That has been and will remain, very, very, very odd.

Brain Cramps - Information Overload

Over the next several posts I'm going to be reflecting on several concepts that are shaping our world, specifically how we are dealing with technological advances. The first couple, you'll recognize immediately. Once we dispense with the obvious, I'll delve into the more obtuse. Along the way, I'll provide some pointers to the various techniques I've investigated for handling the brain cramps that can occur.

The first concept is Information Overload. This phrase was made so popular by Toffler that we all think we understand what it means. At the core, this condition arises when we have too much information to easily digest or understand. While problematic, there are many techniques for dealing with an onslaught of data. The real issues arise in the follow-up problems for which this is just a precursor.

If it was just about handling a stream of consistent data, we could apply lots of ways to survive and possibly thrive. It is when the information coming at us is always changing, always new, and therefore increasing in complexity and depth that our normal coping mechanisms start to break down. For now, let's just understand some techniques for managing Information Overload.

If you want to be success and handling large volumes of information, the first step is to Be Deliberate.(If you've read any of my previous writing, you probably knew what I was going to say.)

Like any activity, you won't be nearly as efficiently successful until you have clearly defined intentions. With your goals understood and an end-result in clear sight, our natural ability to focus, prioritize and assign value kicks in and easily let the irrelevant fall away. With practice you will learn to be ruthless in determining if the incoming information flow is supporting your intentions and ejecting that which doesn't.

Once you have some sort of filter in place, you can then identify those sources where the signal-to-noise ratio is unduly high. The STN ratio is a measure of how much usefulness or relevant information is received from a source in comparison to how much useless or irrelevant information is presented by that same source. A new show that only has 1 story out of several hundreds that supports my intentions has a very low STN. Conversely, a blog that posts infrequently but routinely has excellent information relevant to my intentions, has a high STN.

So the next step is to Limit Information Sources. Prune away those sources where the STN is too low. If you can't remove it completely, find a way to consign it to less impactful or interruptive times during your day. Ideally, only review those sources during your down or idle time.

Adjusting the information by limited sources is easier when you Define Touchpoints. Set aside different areas and tools for doing work that are different from the areas and tools where you interact with others. For example, I use a separate computer for IM, personal email, and social networking then my work computer. When I'm on one device, I create different accounts and workspaces to keep things separate. Set a work schedule and stick to it. If people know when you arrive and leave work, the times of day you respond to email or IM messages and so forth, you'll have a better chance of them respecting your work times.

Lastly, Forget Useless Information Quickly. No matter what you do, the flow of information will continue and you will be presented with too much information that is vying for your attention. So learn to ask some questions of each new piece of information and if it doesn't meet your criteria, dump it. This is one of those behaviors you will have to practice to become ruthless and deliberate about, but the rewards are significant.

An interviewer once asked Albert Einstein why he didn't know his own phone number. Einstein replied "Because I don't use it." How much information are you carrying that you don't use? Much of the information we keep only has limited time value anyway. By the time we need it, the information will have changed or been outdated. So ask yourself:
  • Do I really need the information? If it doesn't support your intentions, get rid of it.
  • Is this information I can get somewhere else? If there are other ways to acquire it when needed, forget it right away.
  • Is this information time-sensitive ? If it will be obsolete before you'll be able to use it, dump it.

In the next series of posts, we'll talk about the other derivative issues that arise from the increasing speed of technological advancement. As always your comments are coveted.


Her Pants on Fire, My World Ablaze

What hurts the most is that she doesn't call. She doesn't write. She reaches out to me not at all. She says she will.  She says she wants to.

But she doesn't. Ever.

Life just keeps rolling in some fake parody of normalcy, everyone just smiling and pretending everything is fine. They say the words, and courtesy, but the secret is there behind the eyes.  When we are alone, then she can make me believe her words. And once goodbye is said, I'm right out of her mind again. With doors closed I feel her gentle touch and tight embrace, once gone I don't even have her words for comfort. Her grasping reach for me is always and only when we part, and then only when alone. I lie to myself that how I see her move is only confusion.  That she does care for me as she says, and the lie shown in her lips and limbs are the raucous feelings she keeps in check and tensed.  After all, she said she would call, she said she wants to.  Surely soon she will.

But she doesn't. Ever.

I want to call. I want to be with her again, but how I can trust. Words and actions must align.  Truth is in the talking and the walking.  While she shows a double-face and worries more about others than about my heart, I can't give it to her for safe-keeping.  I physically restrain myself from calling her again. I cannot be the one to close the gap again. It comes from her this time, or not at all. She claims me, or I was never hers.  And so I roll-over and hug myself and tell myself she said she would, she said she wants to, surely soon she will.

But she doesn't. Ever.

Our leavings are such awkward things now. Our meetings few and far between and only at my urging.  The expanse of time between contact is filled with gossip from her fun filled life, and secondhand news from shared compatriots.  I see her more in pictures now then I do in any space in front of me.  I know her life now more in the stories told by others, and the tweets and posts of others.  All details and images about a life I once knew well. The shared experiences faded, her words no longer guide me to my bed at days end.  The phone no longer brings her voice to me. She said she would call, she said she wants to.  Surely soon she will.

But she doesn't. Ever.



 

Man of Your Word

Loading...Loading...

Liquid Perspective

Loading...Loading...

Neo Diem

Loading...Loading...

Ken Bergmann

Occupation
Location
My stars shine darkly over me; the malignancy of my fate might, perhaps, distemper yours; therefore I shall crave of you your leave that I may bear my evils alone. It were a bad recompense for your love, to lay any of them on you.
-Twelfth Night