In the streets

A couple walking down the sidewalk Their stride in perfect unison A man in a black trench coat Carries a white fluffy dog A broker passes by while on the phone Talking about investments and returns An elderly woman limps Asking for change along the way A kid on a ten speed Weaves through traffic

Dear Fibromy-Awesome

I've never met you, but I read you. Your writings have made me laugh and brought tears to my eyes. Tonight, I sit, awake and alive, reading "It's Snowing In New York." I stopped reading at the title and... 1. Wondered if I would wake my roommate 2. Having hours ago put on the PJ's, then 3. Traded the PJ's for jeans and a t-shirt 4. Fumbled to find shoes and fumbled again to tie them in the dark 5. Wrapped a scarf around my neck 6. Slipped into to my coat 7. Didn't care that my hair would turn a mess-put on a hat 8. Quietly unlocked and opened the door 9. To slip away, outside, to the city 10. On the small ray of hope that it is snowing in New York And when I returned to my room, having not yet found the snow, I shivered in the mystery, then read the rest of your words. You made the snow a possibility, in all it's truth and glory. And added some deepness behind it all. Perfect crystalline objects... New York would love you! Keep writing, be strong!

Debugging old relationships, well, and babies

No, not between two people as I'm fairly certain that could not be done in a short blog entry, but between software interfaces. More specifically, the middleware, the business intelligence/logic layer, the service layer-really, anywhere but the front end. Most companies have that legacy app sitting around, written in the stone ages by a developer that invented fire. Most likely, it is poorly documented. Often it is "childish" code. Most likely it sits somewhere in the back end and chugs along nicely, maybe every once in awhile spinning a thread out of control or having an accident and leaks memory, but you simply put on a new Pamper and recycle the app server. Then there's the day it throws a fit-a full blown tantrum! As the baby sitter, you have no choice but to intervene. 1. The first thing to do is to understand the business process. Actually, in hindsight, this can taint the process of fixing it. Why, you ask? Well, because when you ask for the business process, you are asking from the perception of someone who most likely did not do the initial describing of the business process to which the code was written. You have a gap of ,let's just say five years, where no one thought about this functionality, it just worked. The baby was ignored and turned out to be a trouble maker. You you now have this current understanding of a business process and code written to the previous understanding of the business process. 2. Lots and lots of moving parts! Arms flinging, legs flailing, head thrown back screaming. The front end invokes on application which calls another application through APIs which makes a web service request to a vendor which makes another call to another application which... you get the point. You need to understand the steps. More importantly, you need to determine where these applications reside. That seems like it would be an easy thing to do, except that some applications were deployed to app servers, but don't actually run on said app servers, ever confusing the analysis. 3. I despise improper use of variables, methods, etc, etc! There, I said it. I don't really hate them, but I do disagree with using improperly named components for something completely different. Suppose you have a variable named Milk_Bottle on the front end that has a value of '8' that gets passed into a feedBabyMilk(Ounces ounces) method. Then you realize that as your baby gets older, you need to switch to juice. Juice bottles come in milliliters so you create feedBabyJuice(MilliLiters milliliters) but call feedBabyJuice(Milk_Bottle) and convert oz to ml in the feeBabyJuice() method. Maybe this is OK, except that you are describing what is in the bottle, not the measurement of the bottle. Next, you realize that you will never feed the baby milk, so in the front end you change Milk_Bottle to convert to milliliters when it is inputted by a user and deprecate the feedBabyMilk() method, however what you don't realize is that there's another family (application) that has a newborn and still uses feedBabyMilk() thus breaking the method since you are now sending milliliters instead of ounces. I like feedBaby(Bottle bottle). 4. Duct tape vs. refactoring vs extending vs warm blanket and a soothing lullaby. When time is of the essence, what do you choose? Most of this depends on how long you end up spending researching what is happening. Mission critical says if you are crippled for 2 hours, then do what ever it takes to come back online. This means coming online could potentially involve a "fix" that might be unethical. 5. When do you give up? Thing is, you can't, you're the baby sitter. It is your responsibility to see this tantrum through. This means burning the midnight oil. Seeing the sunrise without sleep. Submitting eighty hour time sheets. 6. You eventually get argumentative. Why? Because the code appears to do one thing while the business process says it should do something else. Or, there is confusion in explaining what the code is doing and a misunderstanding of the intended functionality. But you are not arguing for arguments sake, you are still just trying to understand what is not happening that should be happening and why it decided to stop working (and wondering what else will break as you fix this). The baby should be sleeping soundly, but she's crying. He should be eating but he's burping. 7. You stop at 3 AM and think about the progress you should have made this week on new functionality, streamlining business processes, more efficient workflows, and you sink into a deep dark state, like some 1970's programmer sitting in a dark closet, closed to society while opening up the world. Where do you go from here? What is the next stage (if we ever get through this one)? 8. There's a light at the end of the tunnel. 9. Eventually you calm the beast. Slithering down into the couch and cranking up the jazz. The rhythms ease your mind-the scotch helps, too. You are the baby sitter, and the lion sleeps tonight. 10. In the end, we will always need to support the code, and if it was written last week, it just might be legacy by today. You never now how long your code will last. You never know who will need to debug it. You never know who's code you will need to debug. You never know what you will have to support. You never know when the interface will throw a tantrum.

2012

Just twelve days in. So that's 288 hours I need to account for. 27 hours on the phone 8 hours in a plane or airport 5 hours reading 37 hours working (actually 64 hours - 27 hours on the phone with work) 58 hours sleeping 3 hours picking the kids up from various locations 7 hours shopping 13 hours hanging out with friends 10 hours on Facebook or just10things 49 hours hanging out with the kids That leaves 71 hours I cannot account for which means 24% of this year has already been forgotten.  

Grey

I have four shadows From the lights behind Each one a little more grey Cast on the wall before me Mirroring my every move Mocking me Speaking to me In foreign tongues I turn off the light And they disappear

Confessions of a mid west town

8:34 I have a secret, well, it's no longer a secret. 8:41 I love this town, she has never let me down. When we're together, snowmen come to life (to borrow from my Americano cup). 8:56 "In real life I could be that anonymous nerd sitting across from you in chem lab, staring at you so hard. Then when you turn around he tries to smile, but the smile just comes out all wrong. You just think, How pathetic. Then he just looks away, and never looks back at you again." 9:18 Intricate weaving this morning as I cannot look away. 9:38 The song came out all wrong, the trumpet unable to stay in tune. The drums, a different beat. 9:57 Take to the skies, it's a faster way to travel. I'll never see it all, but I'll do my best to see as many beautiful sunsets as possible. Then you realize that everyday brings a memorable sunset no matter where you are, even when the clouds suppress the radiant colors or the rain scatters the light. 10:06 Comfort, as in dead of winter stew, as in blankets and a book, as in scarves and slippers and sand. Random secrets. 10:25 Positively half full, even when empty. Painting my own pictures now of live long and prosper. 10:46 [the kangaroo that cannot hop backwards and the dragonfly that cannot walk] 10:59 My secret? I now love beets!