Archive

Archive for the ‘Uncategorized’ Category

Feb
05

I have a streak of good luck when it comes to the stereotypical tech support call in the middle of the night. I have never taken an unexpected phone call from a customer between the hours of midnight and six in the morning. You know the call, the one that wakes you out of a slumber when the only thing you can think of is something bad has happened to someone you know! I have supported customers and users of my software in some way shape or form since January 1984. The streak really is 23 years.

I should say was 23 years – broken this weekend on Saturday morning at 2:01am.

Now I guess I should consider myself lucky, but the streak would still be alive if someone had done their job. I should have expected the call because of a conversation I had with the client earlier in the day Friday. His big concern with the latest conversion was that the end users were calling the Help Desk with requests for unsupported printers. I reported to him my concern is the onsite consultants and end users were not looking at the data we have converted for their review no less than 5 times before, including one last Tuesday. It was too quiet. I had repeatedly asked if the data looked good and got nothing but positive confirmation, but the signs were all there. You all know conversions are quirky, and every one of them is unique. This is the 21st different conversion I have run for this client and every one of them reveals something new. Data conversions are never smooth, never normal, and rarely clean, especially on the night they are processed for production.

Sure enough I get a call at 2:01am. I answer my phone on the second ring, which is real slow for me. Normally I get it on the half ring in the middle of the night, and definitely before the second ring starts. But I was dead tired and in the middle of an excellent dream that had nothing to do about coding or natural disasters. I asked who it was three times before I understood who was calling. Dead tired. Nothing like being greeted with “Hi Rick, the conversion you ran did not work. There is missing data and we think you pulled the wrong data or converted an older set of the files.”

Unlikely. Not that I am infallible (just ask my wife, kids, customers, friends, enemies, well – any human and even some non-humans), it is that I follow a process and the process has checks that make this nearly impossible. Things happen though, and I normally accept it as my problem. I am not a fan of finger pointing.

In the mean time while I was scrambling to determine what went wrong several emails went out to every important person on the planet for this project proclaiming my failure to process a clean conversion.

Come to find out there was data missing. Sure enough the review of the data showed certain records after January 11th did not get converted. But we ran a conversion on 1/30, strange? The fact is: if someone had reviewed Tuesday’s conversion the problem would have been recognized and the streak would be alive. The problem happened because someone did not follow the documented process and run a report that archived the data that we use in the conversion.

I really hate when that happens.

Not a single email was sent proclaiming the real reason for the failure. So my reputation takes a beating and the real troublemakers skate free without showing even a scratch. I am guessing they will get bonuses or some other recognition for finding the problem and getting the goofy Fox guy out of bed to fix his problem. Ah, the joys of being the hero. {g}

The good news is the conversion went into production on time, and I am on day two of my new streak.

Feb
05

I have a tradition about Super Bowl Sunday for the last four or five years, maybe more of watching the commercials, and usually kicking out some code or do something techy as I listen to the game (occasionally watching the replays). This year was no different.

I purchased a new laptop before Christmas. I am typing this blog entry with my old laptop. Goofy for sure!

The fact is I have been too darn busy cranking out VFP code, running conversions, doing sales calls, and preparing for conferences that I have not had time to load 100+ apps and configure everything to make the screaming ThinkPad Z61P anything more useful than a boat anchor running Windows XP Professional. OK, maybe it only takes 50 apps to make it useful, but I think I will have close to 110 apps loaded when I am done later this week.

I started out late in the afternoon recalling where I left off. Last I left the machine I finished installing IIS, and uninstalled all the unnecessary apps like Norton Anti-virus and Google Desktop Search and a few other cycle stealers.

I joined the White Light domain, installed AVG Network Anti-virus, installed the firewall on my server, installed ZoneAlarm Pro, upgraded to IE v7.0, and of course installed FireFox v2.0. I figure any one of these apps could take out the machine so if I have to rebuild, now is the time to destroy {g}.

Next was Office 2007 Enterprise. I have been a little reluctant to load it only because I probably don’t have the time to get adjusted to it at the moment. I was pleasantly surprised how fast it installed and I installed everything (2 GBs of everything). I opened up Word and activated it and started typing the paper log I was creating to a document this process. So far I am really liking the ribbon. Microsoft has made some subtle changes to it since I last saw it demoed and it looks like they were reading my mind on some of the things I disliked from a discoverability perspective. I am hoping the rest is going to be so pleasurable.

The next thing I installed is Visual FoxPro, starting a VFP 5 all the way to VFP 9 SP2 CTP. For some reason the Visual Studio 6 (VFP 6) install barfed and won’t let me install the Visual Studio 6 .0 SP5 disk. Not a big deal since I can just copy the VFP 6 directory from my old machine. I am a bit worried about the InterDev implications, but it should be okay.

I am probably 33% of the way to productively using the machine. A couple more nights this week should do it. It is not installing the apps that is a pain. It is the configuring them and getting data moved over for SQL Server, setting up all the ODBC connections, and getting all the Web sites up in IIS that is time consuming. I cannot take the new machine to production until I can certify my presentations work for OzFox and I can remotely support customers while in Australia in a couple of weeks. I am already bordering on breaking the new app installation rule so I will have to see how things go over the next couple of days.

Speaking of traditions…I was really disappointed in the Super Bowl commercials this year. Very little humor, and very little creativity. Nothing really stands out except the FedEx “outer space”, which I enjoyed the theme of going opposite of the dinosaurs, but still had one of the astronauts getting whacked like they did with the caveman getting whacked last year. The animated Coke commercial was good because of the pay-it-forward theme.

Feb
01

I received an email this evening from Christa at Advisor letting me know I will be speaking at the Advisor Summit from May 6 – 10, 2007 in Anaheim, California at the Anaheim Marriott Hotel. Looks like my schedule will be a busy one with four different sessions:

  • Professional Developer’s Toolkit
  • Visual FoxPro Debugging Essentials
  • VFPX Tools and Components – Live
  • SQL Server Toolkit for the VFP Developer

I am not sure who else is speaking, but I am sure the line up will include some great sessions.

, ,

Feb
01

Last month at the Detroit Area Fox User Group, my friend Paul Mrozowski demoed a number of tools and tips he uses every day in his VFP and .NET development. It was a great presentation and one where I learned a number of new things. One of these tips is to use the Consolas font from Microsoft.

The Consolas font is a non-proportional font like Courier New, but is better in many respects. The first is it is heavier or thicker than the Courier New font, but it is narrower too. In my opinion it is easier to read and provides more text in the same space. Other big differences are number zero (is it the letter O or the numeric zero?), the possible semi-colon vs. colon confusion, and the comma vs. period. Here is an image with both fonts set at 12 point, bold:

You can download the Consolas Font Pack for Microsoft Visual Studio 2005 direct from Microsoft. It works with Visual FoxPro too ;) .

I like to work with smaller fonts and work at a high resolution (1920×1200) on a 15.4 inch wide screen monitor running Clear Type. I believe the eye strain I experience working long hours is reduced.

Thanks Paul for this simple, but fantastic tip!

,

Jan
30

As Craig Bailey notes in his blog, this is a good news and bad new announcement.

Unfortunately Craig Boyd has to withdrawl from OzFox 2007 because of a family emergency. I really wish there were better circumstances, but after talking to Craig Boyd last week I was happy to hear while things are a little stressful, things are okay. Still, Therese and I will be keeping the Boyd’s in our prayers.

So when Craig Bailey asked me if I could help out and be a speaker at OzFox I did not hesitate and said yes! It is the least I can do and I am honored by the request. I know I am no Craig Boyd, but I will do my best to provide the OzFox attendees with some cool VFP sessions, and hopefully some inspiration in similar fashion to Craig.

One thing is for sure, I am really excited. I was hoping to go to OzFox 2007 as an attendee late last year. I heard OzFox is a great conference, but I decided to hire my son and had to buy him a laptop instead. It was a tough decision at the time, but the best decision I could make for my business. So now I get the best of both worlds.

I have always wanted to make a trip to Australia. What could be better than heading to Sydney in February (Summer) to hang out with VFP developers?

Doug and I will be doing the opening keynote, and I am presenting three regular sessions. Craig is finalizing the details over the next couple of days. If things go well I am hoping to blog live from the conference too.

Now is the time to get registered and save AUD$100 with the early bird registration through January 31st. I look forward to meeting everyone in a few weeks.

, ,

Jan
29

You may be wondering why my blog has been silent of late. There are numerous reasons and this is the week many of the reasons will be announced. The first is the CoDe Focus issue from the publishers of CoDe Magazine called “Sendna: Beyond VFP 9.0″.

I was asked to write two articles for this special issue of CoDe Magazine centered on the release of Sedna from Microsoft. Just in case you do not know what Sedna is: it is the next release of VFP currently available as a Community Technical Preview (CTP). I wrote the articles on the changes to the Data Explorer and the new Upsizing Wizard. There are a couple things to note about this issue:

  • It is the inside story about the new and updated components in VFP
  • It provides details about interoperability with the latest wave of Windows components and .NET
  • …and much more

While the articles were fun to write, they time consuming and a lot of work. I am also excited because this is the first time White Light Computing is advertising in a magazine.

The exact schedule of the release has not been revealed yet, but it should be available soon. The issue is free after you sign up for it here. User groups can sign up to get a bulk delivery of issues too.

,

Jan
17

Yesterday I returned home to Detroit from a business trip out west. I returned to Michigan to find ice and snow had glued my windshield wipers to the windshield. As I scraped the ice off one of the wipers ripped. No problem since they were wearing out and I had the new ones in the trunk. This is where my “I am not an idiot” story starts.

It was cold but sunny yesterday so I decided to drive home and not worry about the wiper. I figured it would be easier to change the wiper in the garage than in the middle of the airport parking lot. No problem getting home, but I wanted to catch up on email, and one thing led to another and I forgot about the wiper until this morning. So I look at the wipers and try to figure out how to remove them. It was not obvious so I cracked the user manual. The index and table of contents were very helpful, but this is where it ended. I turn to the page to change wiper blades. Step one is to turn your key to the accessory setting. Step two is to turn on the wipers. Step three is turn the key to the off position when the wipers are up in the middle of the windshield.

Sounds easy, right. No. Every time I did this the wipers parked themselves down at the bottom of the windshield. I am not an idiot, but..

So I tried again and again. Each time worrying the metal of the ripped wiper blade would scratch the windshield. What engineer thought this was a good idea? You need to turn them on to change them? Stoopid. Plain stoopid.

I decided to take it to the dealer and let them explain to me how you change a wiper blade. The service person was nice, but her face was revealing her thoughts something to the effect: “Another male idiot who can’t simply change his wiper blades. I bet he has an I.Q similar to the rock he crawled out from under this morning…”

I mentioned that I followed the instructions in the owner manual and the blades would not stop in the middle. She told me the owners manual is “useless, and should not be followed.” I agreed with her, but it was the only thing I had to go on because the user interface to change them was not intuitive. I revealed to her that I am a software developer to hopefully get her to think my I.Q. level was higher than the rock I crawled out from underneath this morning {g}. I believe this did not affect her perception of me one bit.

She offered to educate me on the finer points of wiper replacement and then failed miserably. The words out of her mouth as she battled the steps to not reproduce the problem made me want to laugh, but I figured this would only worsen the situation. Long story shorter, it took a couple of mechanics to wrestle with this and finally get the blades replaced. Sadly, they did not teach me how to do it, but it does not matter since my lease is up in a few months and I will get two new blades with my new car.

So the lessons learned are simple:

  1. Update the manual with the reality of changing the wipers to include a free visit to the professionals at your local dealership because our engineers are not bright enough to make it easy. In fact, just include one piece of paper instead of the book, the one page could be a list of dealers in your area. This would be a huge time saver for all of us.
  2. Reengineer the problem so end users can perform the simple task and not waste the professionals time and save money for the car company. This does not have to be hard by design.
  3. Improve the help interface for cars. I suggest voice activated link back to the central office call center. Any time the car senses you are swearing or cursing at it the call should be placed. OnStar, are you listening to me? This would actually make it worth the US$17 I pay you bozos every month.

Did I mention I hate hardware and cars?

Jan
11

I have not played tag since grade school, but Alex Feldstein caught me on the virtual play ground. Nobody told me where the “safe zone” was so I got caught. I am innocently working hard on three client’s projects today and now someone wants me to write about stuff people may or may not know about me. I have actually enjoyed reading some of these over the last month this meme has been going around. Guess this is someones way of telling me to take a break. OK, here it is…

  1. I have had more than 125 stitches in my head at one time (doctors stopped counting) when I dove through a plate glass doorwall when I was 8 years old. I am sure this explains a lot for those of you wondering {g}). I was sleep walking/running/diving at the time. I had a swimming test the next morning that must have concerned me at the time. According to my grandpa who came over while I was being stitched up, it was a near death experience because the remaining glass at the top of the doorwall shifted down, but got stuck. Otherwise I likely would have been fatally wounded. The largest scar is along the right side of my head. It makes for interesting conversation when I get my hair cut. I usually tell them about a gang fight I was in years ago {g}. I lost a lot of blood that night, but did not require a transfusion. And for the record: this is not my only near death experience.
  2. My dream job is being an astronaut, but sleepwalking is something they frown upon so I took up my second favorite job instead. I almost blended the two while I worked at EDS. EDS had a job opening for systems engineer on the shuttle maintenance software. I wanted to apply for the job, but Therese did not want to live in Titusville for a couple of years. It had nothing to do with Florida, and everything to do with living more than a short drive to visit family. I love my wife more than my work so I turned down the opportunity.
  3. I did horrible in my first computer science class (CIS 101) at Oakland University. I finished with a “B”, but I was use to all-”A”s in high school, and it took a near perfect score on my final to get the lowly-”B”. As my first semester was ending I went to my grandparents for lunch since they were close by. I was telling my grandpa (who never finished high school) that I was thinking about moving over to the business school. He talked me out of it and before lunch was over I knew I was not going to give up so easily. He gave me some of the best advice, and in this instance he told me school is where you make mistakes and learn from them. He also told me to go into a career where I was going to have the most fun. Turns out he is one of the wisest people I have ever known and I wish he was still alive today to benefit from his guidance. I believe I caught the pay-it-forward mentality from this great man.
  4. I live in the motor city and have no interest in cars. In fact, I don’t like them because they cost a lot and lose value quickly. I don’t like working on them, have no interest in fixing them up, I hate when they breakdown, and pretty much would do without them if there was a better mode of transportation available.
  5. I rarely drink alcohol as most of you know, but I use to collect beer cans when I was younger. My dad would occasionally let me taste the different beers when I got a new one that was not yet opened. I still have an unopened Billy Beer, which is the beer President Jimmy Carter’s brother’s labeled back in the 70′s. I threw out most of the collection years ago, but kept some of the more unusual cans.

Hope you enjoyed this. Hmmm, who to tag next…

Andrew MacNeill
Kevin Ragsdale
Kevin Cully
Mike Feltman
Randy Jean

,