We all stuff up …

As much as I might insist to my children that I am infallible (cue sighs and rolling eyes) I must admit sometimes I make mistakes … E-bloody-normous ones. If you’ve been working in the game of delivering complex software for any time you all know how that’s possible, even probable. The true measure of a professional is how you deal with it. I was reminded of this by a great post today by Brian Harry of Microsoft who was responsible for delivering a rather complicated piece of functionality and had some problems after implementation. Don’t worry about the techy side of the post, although if you are into it, it makes an interesting read on the problems of designing for the cloud. He presents a text-book approach to dealing with a stuff-up in a pretty admirable way:

  1. Accept that an error was made. There’s nothing worse than trying to hide or deny a mistake. They know it, you know it.
  2. Take responsibility. Don’t pass the buck. Customers will respond by offering you their loyalty if you are honest with them (and obviously don’t bugger it up too often). Your team will respond with loyalty when you are not sending them down the river when mistakes are made.
  3. Look after your team during resolution. Nothing harms quick resolution than panic and screaming. Allow them to focus. Analysis requires concentration and it’s hard when the pressure is on. Accordingly a good manager is someone who allows their team to do their work.
  4. Fix the problem. Do it calmly. Obviously if it’s a big problem you will be in full panic mode but try to ignore the panic and focus.
  5. Communicate. Explain why the error was made clearly. Don’t make excuses, that just annoys people. People will forgive if they understand why the mistake was made.
  6. Apologise. An apology is a recognition that a mistake was made and is a commitment to try to not make the same mistake again. The really good developer (craftsman, teacher, manager, …) is one that doesn’t make that mistake again.

Now for a bit of a folksy interlude … I grew up on sheep and cattle stations in rural NSW. My dad threw me on the back of a horse before I could walk. Despite retreating into a definitely urban existence for most of my adulthood a couple of things stand out from the lessons he taught me about horse riding. If you ride a horse you are going to fall off, accept it. You will not be a good rider till you’ve fallen off a hundred times. Get back on the horse!

Read Brian’s post.


Windows 8/8.1 tip

I’ve been using Windows 8.1 for a while now (yes, I am he of bleeding edge) and Windows 8 from the early days. I even quite like it (he says ducking and weaving)!

As a person who typically spends his time on the desktop rather than in the Modern UI (Metro) interface it really helps to get to know your Windows key shortcuts.  You users of older releases of Windows have reason to believe that the windows_keykey sitting there between the Fn and the Alt key to the left of your space bar was a waste of time … And you’d largely be right before Windows 8. After Windows 8 it becomes indispensible for those of us who spend time on the desktop. Pressing it by itself takes us to the Start Menu, Windows-D always gets you back to the desktop. The real hidden gem is Windows-X which brings up the power user menu:



Windows-X then hitting P brings up the Control Panel quicker than anything I know.

Well today there’s been an excellent posting at 4Sysopson how to edit the Power User Menu. Check it out, it’s really handy!

Denied …

Robert X. Cringley (he of Accidental Empires and Triumph of the Nerds) has a very interesting take on both the technical errors in the U.S. healthcare.gov insurance sign-up web site and in particular how big data is destroying the U.S. healthcare system as it changed from covering as many people as possible to denying cover to as many unprofitable people as possible. Have a look at:  http://www.cringely.com/2013/10/26/big-data-destroying-u-s-healthcare-system/?utm_source=rss&utm_medium=rss&utm_campaign=big-data-destroying-u-s-healthcare-system

More on the COBOL Dictionary


It’s been great to see some interest being generated in the COBOL Dictionary already. As a further thought, I thought it might interest some of you to see some information on how to use it and what some of the facilities are within it before you all download it eagerly! I’ve ported the documentation to here… Click away!

Reboot, relaunch and a new COBOL product

Yes, I have been gone for a while, haven’t I? I’ve been distracted for a while in the usual struggle to make my daily bread … I’ve made a decision to make myself present here again, but be a little more sensible about the scope of my postings. In the past the size of the postings meant that I was finding little time to do the other things that I needed to do. I will still try to provide real meat here but scale down the size to something of a size that means I can post regularly here.

Those of you who know me will be aware that in the past I’ve largely worked on bespoke tools and consultancy for the re-hosting of large mainframe applications onto other platforms. Over a period of time it became apparent that one of these tools, my COBOL Dictionary, was a tool that could be useful to any user of Micro Focus COBOL, and if re-packaged with the general COBOL developer in mind, might have a market. Well, finally I have got my act together and have released to the web, Filix COBOL Dictionary

Soooo, exactly what is the COBOL Dictionary? Broadly it is an impact analysis tool and cross-reference and index for your COBOL code built on top of Micro Focus compiler technology. It works with all modern versions of the Micro Focus compiler (both Visual COBOL and Enterprise Developer right down to the free Personal Editions) and builds a database of the COBOL programs and structures.

The typical COBOL programmer hammers their central repository of source code multiple times a day searching for strings in order to analyse the impact of changing an entity. Need to find all the places a particular copybook has been used? What will be changes needed if you change the calling signature of a program? You need to chase the calling structure of a complex application? Which programs modify a particular database field, or alternatively just read the field? All of these questions can be answered using the COBOL Dictionary in a simple, fast and intuitive environment that takes you directly to the line of code that you are interested in. The code is presented in a browser that understands COBOL and the user is able to have multiple windows concurrently open, side by side to track through complex applications.


The Field Usage tool from the COBOL Dictionary (click to enlarge)


The Program Usage tool. Note the calling tree structure … (Click to enlarge)


Copybook usage (click to enlarge)

Why not download it and give it a whirl? The evaluation version allows you to index up to 50 programs, 80 copybooks and up to 2,000 fields. If you would like to license the COBOL Dictionary, you may at an introductory price of $US250 per user on the same page.

If you haven’t a current licensed version of the Micro Focus compiler, you may want to register with Micro Focus to use their free, Personal Edition version of Visual COBOL here!

Let me know what you think!

Not dead yet

No, I haven’t passed away … I have been VERY busy. I’ve spent a considerable time in the last couple of months converting mu NetExpress 5.1 product, Cobra to Visual COBOL 2010. Let me tell you, something I thought would take a couple of weeks at the most was considerably more work that that! The effort involved in ditching gnt’s and replacing them with dll’s, rewriting the Panels2 code and dealing with obscure COM interop problems has kept me truly busy. To add to that I’ve also been working on integrating my toolset with Visual Studio 2010 and that’s been both challenging and a lot of fun. Be prepared for some future posts in this area soon …

On another point, no COBOL doesn’t appear to be dead either … Check out here for in interesting view by an obviously informed commentator …

I’ll be back soon, I promise!

Cows with guns

Just to let you know, I’m still around and have something coming soon enough … In the meantime: