Jun
26

Doing whatever it takes

I am not sure this is a lesson I learned in Kindergarten, or if it is a character trait I was born with, or is a philosophy I adopted or develop during my life, but I am still amazed at people who do not step up to a challenge when a task needs to get done.

Case in point. Friday I was working and the client management decided at 2:30 to commit to running a data conversion. This was not a complete surprise since it was on the schedule. As with any conversion, the timing of the conversion is critical to the success. This means we have to wait for the users to finish with the old system, grab the data, run through the conversion, load the data into the new database, and test the heck out of the system and verify the correct data was converted. Anyone who has performed a conversion knows the importance of the timings, the importance of the validation, and the importance of all team members coordinating their efforts to ensure success.

This conversion has the following players:

  1. Management: corporate managers who fund the staff, set priorities, and run the company.
  2. Project Manager: coordinate all team players, schedule the project, make sure we are meeting deadlines, and ensure proper resources are working toward success.
  3. Onsite consultant: application experts for the new system who know the data and know if the system is working properly with the new data.
  4. Business Analyst: business experts who know the old system, who know the data in the old system and how to verify the correctness of the conversion by reviewing the data in the new system.
  5. Developer: software craftsman who know how to extract the data from the old system, translate it into a format later imported into the new system.
  6. Help Desk: staff of experts in support of the hardware, networking, Citrix, operating systems and general business productivity software.
  7. Users: Experts in running the business they are in using the software provided to them to perform their jobs.

My role in this project is Developer. I extract the data from one or two different FoxPro systems (data stored in DBFs), and format the data into delimited text files for import into a SQL Server database. I was informed of the conversion by both management and the Project Manager. So I call the users and coordinate a time when they are done for the day so I can compress the files and prepare them to be transferred from the plant and brought back to the corporate offices by the Help Desk. I stress the importance of everyone being out of the system. I send off an email to the Help Desk at 2:45pm to coordinate the transfer (around 5:00pm) and note the urgency and importance of the timing for the task. Communication, Communication, Communication (or as I refer to it, Communication-cubed).

I call the end users at 4:45pm (which was fifteen minutes late because I was dealing with a different support call). All I ask for is that no one is in the system so I would avoid possible DBF corruption. I was assured this was the case. I zipped up one folder and then start the second set. Before the second set was done the user informs me that they need to go home. I asked them to stay so I could ensure the files were not open. They had more urgent matters to attend to than this corporate conversion of their data and left. Guess what, the files were in use and no one answered the phone when I called back.

I walk over to the Help Desk to inform them the files were ready to transfer. One person from the team was still in the office. It is now 4:55pm. I was informed the assignment to get the data was assigned to one of the people who left for the weekend and I was asked of the files could wait until Monday. In my 2:45pm email I noted the timing and urgency of the file transfer. All I was met with was resistance and questions of who made the decision to convert data on Friday evening. The manager of the Help Desk also questioned the decision. The Project Manager left for the day as well. The only one there was the developer (me) and one IT manager. After 15 minutes of groaning how the Help Desk person was going to have to give up an hour of “personal time” to copy the 100MB files, and how poor planned this was, the Help Desk person initiated the files, handed me her cell number and left for the day. She had dinner plans. While I can appreciate the dedication to family, I sacrificed my plans to help my family set up for my son’s grad party and the 120 people schedule to visit the next day.

Now the only way for me to know the files are transferred is opening the files with WinZip and see if they are corrupt. At 6:30 I check and had success, but literally was flying blind. I ran the conversion and fortunately none of the DBFs were corrupt even though they were open. I sent the files to the SQL Server developer for import at 8:30pm.

So once again, despite the lack of cooperation, I delivered because I have the “do whatever it takes” gene. So management, the Project Manager, Business Analysts, onsite consultants, Help Desk and end users will not suffer the consequences of several people having better things to do than running this conversion, which is important to the future of the plant and the company and keeping the project on schedule. If I had not dedicated myself to the success of my client, this conversion would have not run. I could have easily said, sure, copy the files when you get time on Monday and went home to a peaceful household Friday evening instead of one that was behind schedule a little bit because I was not there.

I apply my “do whatever it takes” attitude in all aspects of my life. It frustrates me each time I run into people with the “I don’t really care what it takes”, the “I will do barely enough to get by” philosophy or approach, or what I often refer to as the clock-puncher mentality. I can tell you right now, if you ever apply to White Light Computing and have a clock-puncher mentality, forget about being hired.

It is about balance. Sometimes you put in a little extra effort for the good of the business and sometimes the business is flexible enough to let you take time for the other important things in life. With respect to working with co-workers, clients, friends, and family, be willing to step up and do what ever it take to get the task accomplished. If you have not already done so, adopt the “do what ever it takes” philosophy. You will be more successful in all your endeavors.

Jun
26

Congrats to the Spurs

I wanted to blog about game 7 the night the Spurs beat the Pistons for the championship, but we got home late after the game, Friday was nuts at a client, and Saturday was Chris’ graduation party.

So back to Thursday. I got a call mid-afternoon from my son asking if I had already bought tickets for PalaceVision. He was bummed when I said no because the game was sold out. We were under the impression that tickets went on sale when you arrived at the game. This naturally was a disappointment. Around 4:00 I got the bright idea of driving out to the arena and finding a “ticket broker” who might want to make a couple bucks for his time of purchasing our tickets in advance. We got to the Palace around 7:15 and found out the security people would not let you drive into the Palace grounds without a ticket. We figured this is where most of “ticket brokers” would be hanging out. More disappointment for my daughters who really wanted to go to the game.

So I told them to make a sign asking if anyone had tickets and we would drive through some parking lots of restaurants, gas stations, and the main road around the Palace. We even let the girls wave four five dollar bills along with the sign (the face value of the tickets were five bucks).

People honked horns, and thought the sign was cute, but no tickets were available. Not to give up easy, I had Therese drop me off and I walked into the Palace grounds in search of someone with spare tickets. In the mean time Therese and the girls drove around some more. The three of them were able to get two tickets at face value and I was able to hunt down two more at face value! No premium price, which was sweet.

We had decent seats and watched the game. It was hard to hear Al Micheals and Hubie Brown when there were 22,000 fans screaming. The game was well played by both teams and it was fun listening to Mason (the team announcer) do introductions before the game and announce part of the game as if it were being played at the Palace.

It was great to be in the crowd. They booed loudly when ever ABC stuck Bill Walton’s mug on screen. The only thing I was disappointed in was the reaction and cheering when Tim Duncan, and I think Robert Horry both went down on the floor with what looked like possible injuries. Most of the fans stayed until the end and the crowd was very well behaved. The energy in the arena was the same as if the game was bing played on the floor in front of us.

Naturally we are disappointed in the results, but losing to the Spurs is the best alternative to winning back-to-back championships. They are a great team and have a lot in common with the Pistons. Class players, a deep bench, young players, play fantastic defense, a great coach, and the stigma of being underrated (both as individuals and as a team).

We had a great time and my daughters had a lot of fun trying to get tickets, did some people watching, and learned more about the game of basketball. Nicole, who is now 16 still recalls watching the games back in the early 90′s when we were home together and mom was out working. I think this is one adventure added to the list and will be a story told over and over when they have kids.

I am looking forward to next year and would love if the Pistons could make a third consecutive trip to the NBA Finals. I think it would be fantastic to watch another series between these two teams. Now we get to see if either of them have the drive it takes to get back.

Jun
22

Pistons Basketball…

When the Pistons have their backs to the wall, count on a win. No team has won a game six on the road in the finals when down 3-2 to force a game seven, Pistons win. They say no team can win two games on the road to finish a series. No team has won a game seven on the road in the Eastern Conference Finals, and they beat Shaq and Wade on their home floor. Keep giving this team the impossible because it only fuels the fire.

They have the same resilience as the Fox Community. {g}

Oh, Bill Walton, time to find a different line of work. You have not called it right once this entire playoffs. If I was head of ABC Sports I would not even let you finish out the season. You would definitely be fired. You are the worst basketball analyst on the planet. Pull Charles Barkley off his vacation.

Two great teams, one fantastic series. I cannot wait until Thursday night. We are going to try to get to the Palace and watch the game with 20,000 other fans to cheer the Pistons to one more impossible win. Last time we went to see the Pistons in the Finals on PalaceVision was the back-to-back championship when Vinnie Johnson sunk the winning shot with 00.7 seconds left against Portland in 1990. It would be cool to repeat history one more time.

Go Pistons!!!

Jun
17

Just in case you did not see this one: Drew Speedie posts his thoughts about the VFP Roadmap on the Visionpace Blog. This is a relatively new blog in the VFP and .NET community.

Well said Drew.

Jun
17

OK, early this week I posted why I was not able to attend Advisor DevCon, but now I am declaring I have returned from Microsoft DevCon? What’s up with this? Well apparently Microsoft thinks the DevDays is better called DevCon. Yesterday I attended the one day Microsoft DevCon which highlighted Visual Studio 2005 (web and smart clients), Team System, and provide a 50,000 foot view of the Visual Studio and Longhorn RoadMap.

I had three goals for the day. One was to meet local Microsoft reps here is Detroit, find out who is replacing the local Microsoft Developer Evangelist (an official job at Microsoft), and make some connections with other Microsofties. The second goal was to get a jump on ASP.NET 2.0 and the third goal was to learn as much about SQL Server 2005 as possible.

The first goal was accomplished in short order. Drew Robbins was very kind and even knows of Visual FoxPro MVPs in Canton, Ohio (actually Andy and Marcia are in Akron). Drew noted he worked on one VFP project, but asked me not to quiz him on VFP syntax. I mentioned that Michigan has three VFP MVPs and he was surpised how many VFP MVPs were concentrated in the Midwest. We talked about the user groups in Michigan as well. It was nice to get a positive reaction to the groups and VFP in particular. I also talked to several .NET MVPs and user group leaders.

The sessions started out early in the morning and I had to drive across town in rush hour traffic, which I normally avoid. The keynote speaker obviously did not rehearse because he went over by 50% for a 60 minute session with few questions asked during his time. I cannot imagine how frustrating it is to work every day in VS 2003. The crowd got excited at things I have taken for granted for the last 15+ years like a window to evaluate expressions (Command Window) and Visualizers (the BROWSE).

The morning sessions I attended covered the new features in ASP.NET 2.0. The sessions were okay, but the presenters were not prepared. They did not cover all their material, the demos crashed, and that morning they found out their 75 minute sessions needed to fit into sixty minutes. A tough task for experienced speakers. The product looks promising despite the sessions not going well. I felt bad for the presenters. One thing is obvious though, you need a serious machine to run Visual Studio 2005. The presenters all used Virtual PC to present the material and it looked very sluggish. I am not sure if it was VPC or if it was the Beta 2 version of the product, but every presenter said you need a serious machine to run this product.

At lunch I talked to a couple if “kids”. One is starting college in the fall, the other is a developer at a company, but is definitely in the early years of his career. It was interesting listening to their perspective as they are in the midst of being brainwashed by academia with respect to the “Evil Microsoft”. The college freshman definitely loves LAMP and was only at the conference to connect up with some Microsoft people and see what it takes to become a Microsoft Ambassador for his college (Michigan Tech). The other developer is working on financial web apps. I think it would be good to wear the rosy-colored glasses once again.

The afternoon sessions were great. The ASP.NET session covered the separation of presentation from the business objects and data. It looks like the data binding is a lot easier in ASP.NET 2.0. One of the design goals with ASP.NET is to reduce the coding by 66% and the speakers demonstrated several ways this is true. It was pretty impressive. The binding initially looks a lot like the VFP CursorAdaptor object. The other session I attended was on the Compact Framework, SQL Server 2005 Mobile, and deploying apps on PocketPCs and SmartPhones. Despite the struggles with VirtualPC, the speaker did a great job to getting the message across and showed how to deploy an app and do merge replication with SQL Server.

The day wrapped up with a peek into the Microsoft future and the promised delivery of VS.NET 2005 on November 7th (the announced release date). Lots of information in a 75 minute session about Longhorn, WinFS, Indigo, Avalon, WinFX, SQL Server 2005. Interesting, there was nothing about Orca (the version of VS.NET after 2005). Looks like the developers in Redmond are going to be very, very busy over the summer. I get the impression from the speakers and Microsofties that the schedule is very aggressive and announcing the release date this early is nuts.

I really enjoyed the day, learned a lot, and walked out with three books, two t-shirts, and several VS.NET press on tattoos (giving a whole new meaning of product branding {g}).

Jun
14

The NBA Finals

You might be wondering what has happened to the Pistons in the first two games of the NBA Finals. Simple explanation: they have been schooled and beaten by their own game. Fortunately the Pistons play best with the backs against the wall. Spotting San Antonio two games should provide them the pressure situation they thrive in.

I am impress how global the finals have become. More than 150 countries have sent reporters to cover the games and I have already forgot how many languages the games are broadcast in, but it is staggering.

The one thing the NBA needs to discard is the goofy trophy poses the players have to make when their name is announced before the start of the game. Dumb idea. You can see the players are embarrassed when they are standing there.

Hopefully the real defending champs will show up tonight and we will see a real game between two great teams. Go Pistons!

Jun
13

DevCon Keynote Notes

David is performing a fantastic service to the community with his DevCon coverage on his blog: Talking Fox. Thanks for the information David and I look forward to many more posts! Looks like the Universal Thread does not have any official coverage, so I guess it is up to the bloggers to help us out.

Normally I like to attend DevCon in a year when the Fox Team makes a release (in this case, VFP 9). This year I cannot because my oldest son graduated from High School and we are doing some work on the house to get ready for his party (120 people are coming for dinner in a couple of weeks). So instead of getting together with Fox friends, I spent the weekend cleaning out the garage and mudding the walls so we can paint. I can only say, I wish I was at DevCon {g}.

Jun
07

What does the word “FoxPro” mean to your customers? In the last year I have contracted to two different IT departments to assist the developers in supporting and enhancing their applications. These two clients have provided me an interesting perspective to what FoxPro means in the business community.

Customer one has a staff of five developers and several contractors working on supporting a FoxPro DOS application, which has been around since the late 1980’s. They have several applications making up the core mission critical system supporting a company of more than 500 employees and revenues which would blow your socks off. At the same time the developers are trying to migrate the application to the latest version of VFP and SQL Server. This process has been started several times and now the company has part of their application in FoxPro DOS and the other part in Visual FoxPro (sharing a common set of DBF tables).

Soon after starting at this client, I was sitting in the conference room working on a module for the VFP application. One of the employees poked his head in and asked me, “Are you the guy who has FoxPro as his license plate?” I gave him an affirmative answer and he proceeded to warn me that I should park my car somewhere else, and not in the company lot unless I wanted it damaged. I was shocked! I asked why and was told that many of the employees hated FoxPro! This was not one of the developers; this was one of the users. The users referred to the custom application as “FoxPro”, not as the application. Since there are parts of the app that are suffering from lack of attention there are users who are not 100% satisfied. In fact, some of the users wanted to take out their frustration on the FoxPro car! The users throughout the company refer to the system as FoxPro 2.6 and FoxPro 6.0, not by a custom application name or acronym.

In February this year I started working as a consultant at a multi-billion dollar, publicly traded company. The director of systems development introduced me as a “FoxPro Expert” to several people as we walked around the office. When a support call comes in and the Help Desk determines it has something to do with one of the many FoxPro applications, I get assigned to a ticket to investigate and recommend a solution. I have been assigned numerous tickets to solve. At the same time several people have popped their head into my cube or called me. The typical conversation goes something like this: “I hear you are an expert on FoxPro. I have a question to ask if you have a couple of minutes.” Now talking about FoxPro is something I really enjoy and of course was ready to help out. The users then proceeded to ask me a detailed question about some process in one of the applications. When I shrug my shoulders and tell them I will look into it, they are appalled that I did not have expertise I was allegedly hired to have and show. They too associate the name FoxPro with the company’s mission critical applications.

I have clients who know nothing about Fox or the fact they have a FoxPro application running on their computers. I have other clients who know Visual FoxPro is the tool I use to create their application, but still refer to the app by the name or acronym. Until recently my dad thought I owned “FoxPro” since it was on my license plate.

So how do your customers see the name FoxPro? Do they see it as the application they use all day, or is it just the world’s best database application development tool their developers use?