My adventures on a Mac

Santa got iPods for both of my kids, within 15 minutes they were playing music, downloading games and sending each other messages. Kids absorb, they are little sponges. Me, however, I'm old. I can still learn, but it takes me a little longer. This is also the case when I have well over 15 years of "experience" with something. This something is Microsoft Windows and various *nix platforms. So the other day I decided to get a super sexy MacBook Air. Mostly because I like toys, but also because I feel that I need to know how to use a Mac, but mostly just because I like toys. So after a day, here's my list of things that are just weird to me. 1. Is it me, or is there no such thing as a right click? 2. I use Lotus Notes, which I've installed. In Notes the shortcut to mark a message as read is the Insert key. Does a Mac not have one? If it does, I surely cannot locate it 3. How do I copy/paste? 4. Please explain to me the control, command, option, alt, fn and how they relate to the keys - it feels like overload 5. How do I get an application out of full screen? 6. I installed Firefox, but I cannot find it once I closed it last night, where did it go? 7. Is the dock at the bottom all apps or just most recently used apps? 8. I can't figure out where open applications go sometimes, how do I alt-tab like the Windows world? 9. Is there a Mac for Dummies book? 10. I'm in love with it (go ahead and say it, "I told you so") but it sure is making me feel dumb right now, and I'm a geek, so that's not cool

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.

7 clicks to happiness

Facebook, today, decided to unleash a new user interface, and a lot of people are, well, they are pissed off!  An article I stumbled on just a few days ago commented that Facebook was getting ready to release a new front end and new services such as music and video in order to compete with Google+ after months of silence.  Well, that's great, I'm happy for them, but I'm not 100% sold on the Google+ interface yet, nor do I like the Twitter interface notifications that happen magically as my browser sits.  As a matter of fact, I don't care for anything in my browser window that refreshes or updates unless I tell it to.  Period.  Same goes for my phone.  So why change? 1. I like the new Lists feature, it was released a few days, maybe even a week, ago.  This answers Google+ Circles and the seems-to-be-dead Diaspora, but it's too cumbersome.  I now have lists on the left with numbers of unread posts in them, sometimes big numbers, and the only way to get rid of them is to click on the list, even if I have read the associated comment or post that this number is referring to. 2. Painful, it's like your kid that sits in the back seat of a car on a 12 hour trip and every 30 seconds says, "Are we there yet?" 3. The stock exchange ticker tape style thingy on the right top column, I'm sure it has something to do with the fact that my email won't replicate as fast as it used to on a slow hotel connection.  I don't like instant coffee, I don't NEED instant Facebook 4. And this little bugger, , is the most unreliable notification thingy I think I've ever experienced - but that's been going on for some time, and now, to think we got the ticker tape (see #3), do I really expect performance to be better? 5. Ah, performance, do you know how long it took me to "Check In" this evening from my phone with a decent signal?  27 minutes before FB Android App recognized I was in NYC @ Kellarney Rose.  It only took 20 seconds on Monday from the SAME seat.  My email replicated today before I could even get a list of "Nearby Places" on FB 6. SLOW, too many requests going on to update this and update that 7. Clutter.  Makes me feel like I'm in Vegas being bombarded with a million pamphlets for adult entertainment/escort services at every corner (and then some) 8. The fact that some stuff scrolls and some stuff doesn't is annoying 9. I get change, I do.  It is needed, but change for the right reasons, not just to be like the other guys.  Change for what your people need, not what you think they need. 10. Would 750 million and growing still be sticking with it if you sucked? I really think you need to add this to the site (can't promise browser compatibility with HTML marquee): Mowracer just shared a link: 7 clicks to happiness

There is an object in front of me

1. It has a silver cap 2. It is made of plastic 3. It contains inside a liquid substance blue in color 4. It was invented prior to QWERTY 5. It will fit snugly in my shirt pocket 6. It may leak there 7. It opened up the door for the pocket protector inventor 8. It glides effortlessly across paper 9. It can be an extension of your thoughts 10. It is a pen

Inappropriate icons

I round the corner, roller bag in tow and see the doors of the elevator start to close.  I hurried to ask the occupant to hold the door, but opted for the daring move of sticking body parts into closing metal doors that could surely crush your skull.  The doors opened back up as I stepped into the elevator.  Carrie, as she later introduced herself, apologized for hitting the wrong button to keep the door open.  So for the next 8 floors, we discussed and laughed about why elevator buttons for opening and closing the door were inappropriate icons, which has me wondering, what else it just wrong in the way of user interface that we just accept, and sometimes struggle with.  Since I could not think of any that cause us to come close to the possibility of loosing an arm or a leg should the safety mechanisms fail, today's list is technology news.
  1. Inside the $41 Million Investment in Color
  2. Missing Cobra Shows Up... on Twitter
  3. Amazon Floats Cloud Music Service
  4. Will Apple Grow WWDC in the Wake of Sell-Outs?
  5. Cord Cutters (I dropped cable/satellite already)
  6. Why You Can't Ignore Social Media
  7. Intel Announces 600 GB SSD
  8. Behold the World's Largest Photo: 40 Gigapixels
  9. Google Fast Flip (catching up on news is fun again)
  10. Java Inventor Joins Google
Tunes:
  1. Colder Weather by Zac Brown Band
  2. Hold That Thought by Chuck Wicks
  3. Are You Sure Hank Done It This Way by Alabama (cover)
  4. Staring Down by Collective Soul
  5. Smoke a Little Smoke by Eric Church
Drinks
  1. St Peters Old Style Porter