Last day

January 31st, 2022  |  Published in Uncategorized  |  3 Comments

As I noted in my last post, I started working for what was then the Data Processing Division a little over 34 years ago. Now, today, January 31, 2022, is my last day working full time for the University. I will be coming back part-time in March, but I want to mark this milestone with a few comments.

First of all, I want to thank the leaders of that old Data Processing Division where I started, not only for hiring me but also for creating and fostering the developer community I have had the privilege of working with for the past three decades and more. I would mention names but I’m sure I’d forget someone. It saddens me that some subsequent management members haven’t appreciated how much that community has done to support the University, and how much more impoverished the University would be without it.

I also want to express how grateful I feel for all the members of that community. It has truly been a blessing and privilege to work with you. I salute your efforts to make the University a better place to work, do research, study, and learn. I am grateful for the many kind comments about me and the things I’ve been able to accomplish that I’ve received from people I’ve worked with acknowledging my retirement.

I hope that those of us who work designing, building, and maintaining information technologies never lose sight of the fact that, as much fun as those technologies may be, they only exist to serve actual human beings. We have an obligation to make the technology work for people, and not the other way around.

Finally, although I expect most people are aware that I’m a member of the Church of Jesus Christ of Latter-day Saints, there haven’t been very many occasions during my time at work when I’ve felt like it was appropriate to discuss my faith. As I leave, I want to affirm that I do believe that Jesus of Nazareth was in fact the Son of God, born of a virgin in fulfillment of prophecy, and that he suffered for all our sins, died on the cross, and rose from the dead. I believe that salvation comes through his name, and in no other way. I also believe that Jesus called Joseph Smith to restore his church in our day, and that Joseph translated the Book of Mormon by the gift and power of God from records kept by ancient prophets who lived in the Western Hemisphere.


Goodbye for now! I hope to get to work and talk with you in the future.


September 27th, 2021  |  Published in Uncategorized

On September 27, 1987, 34 years ago today, I started working for the Data Processing Division at the University of Texas at Austin.

Apparently it’s been a while

July 21st, 2021  |  Published in Uncategorized

I just got a notice that this blog would be archived for inactivity if I didn’t post anything. By golly, I haven’t posted anything for a year.

I guess with all the COVID stuff I haven’t found myself with much to say.


New page, old hardware

July 21st, 2020  |  Published in Uncategorized

In case you didn’t notice, there’s a new page linked above. It’s a gallery of old mainframe hardware. Check it out!

Change management

February 27th, 2020  |  Published in Uncategorized

This seems to be my week for rants.

Change happens. Some changes cause problems. Some times avoiding changes causes problems. No “change management process” can change this.

Of course, when you’re making a change you need to be careful. You need to have a plan to back out the change if it’s too disruptive. The change needs to be communicated appropriately.

If a change management process is too onerous, people will avoid making changes. You will have fewer changes, and many changes will be delayed. This doesn’t mean you’ll have fewer problems, though, just that they will be tilted towards the problems that come from not making changes.

Unfortunately, it seems that the motivation for most change management processes is to avoid getting blamed for problems. It doesn’t work, though. You’ll get blamed anyway.

Integrity self-assessment tool

February 25th, 2020  |  Published in Uncategorized  |  3 Comments

I just received an email:

I just wanted to provide a friendly reminder that each staff member should have completed the Integrity Self-Assessment Tool B by Friday 2/28/20.


You manager will be scheduling team meetings with your respective teams to discuss the self-assessment process starting in early March.


Action Required:  We are asking each employee to complete the Integrity Self-Assessment Tool B prior to Friday 2/28.


Your results are private and do NOT need to be shared.  After this deadline has passed, managers will setup time with the team to debrief the survey PROCESS with you – and NOT the RESULTS.  You may share the results if you wish. Some questions that might be posed include “what was the experience like”, and “did you have any takeaways?”, “What did you like / not like about this activity”?

You may consider this post my “debriefing.” Let me say up front that I hope no one will take this personally, or consider it an attack on any individual or group. My intent is to criticize the ideas that inform this exercise, not people. I strongly believe that judging our fellow humans is wrong, but ideas are fair game.

I did not complete the tool. I consider the whole thing an insult and do not choose to be subjected to it. I do not believe the University has a right to require this of me or my coworkers.

The implication of this exercise is that the University would function better if lower-level employees improved their character. It comes across as an attempt to divert responsibility for deficiencies from those in leadership to those below them.

What should  those in leadership or management positions actually be doing to make the University function better? I’ve never held such a position, but this is what I expect of those who do:

  • Determine direction and set priorities. What are we trying to accomplish? What is our strategic vision? How do our immediate tasks contribute to that vision? When two goals conflict, which one should be focused on first? Answering questions like these are an important part of leadership.
  • Provide resources and remove or minimize obstacles. Make sure that equipment and teams and other things needed to accomplish the work are available. If something is preventing the work from being done, find out what needs to change so the work can move forward.
  • Facilitate communication and coordinate tasks. If the vision and priorities are not known to those tasked with accomplishing them, the goals will not be reached. Similarly, if workers are unaware of the resources available they won’t be able to use them. In the other direction, leaders need to listen to determine whether people know and understand the goals and what obstacles are preventing their achievement. Often, faulty or absent communication is one of the principal obstacles.

Where does character come in? Well, those hiring new employees should try to ensure they are of sufficient character to perform their work. If a character deficiency is creating obstacles then management has an obligation to deal with it.

By all means let’s strive to have good character and work together to accomplish great things for the University, but these sorts of exercises will do more harm than good.

No modes

February 24th, 2020  |  Published in Uncategorized

Last week I saw several articles about the passing of human-computer interface expert Larry Tesler. Most of the headlines mentioned his invention of cut-copy-paste, but if you read more deeply one of the things he really emphasized was eliminating modal interfaces—he even got a vanity license plate that said “NO MODES”.

I realized this morning that this is exactly my gripe with the Workday timesheet application: it’s extremely modal, where the one we used to use with our in-house developed HRMS was almost completely modeless.

When you went to the HRMS timesheet page, you were immediately given a form with a table for inputing this week’s hours, with links to the previous and next week or a separate page that listed several weeks you could choose from. It had ten or twelve rows (I don’t remember the exact number) for entering different types of time. The three most common types, hours worked, vacation, and sick leave, were fixed in for the first three rows, with individual pull-down menus for the rest of the rows if you needed to enter a less common type. There was a text field after the table  where you could add comments, and finally buttons for saving what you’d entered or submitting a completed timesheet for approval. When you went to a week with incomplete information, whatever you’d already entered was filled into the form fields. When you submitted a timesheet, you were shown a page showing the hours you’d submitted along with the links to the previous and next week, and another button to withdraw the submission.

In other words, almost the entire interface was two pages, one for unsubmitted weeks and one for weeks you’d already submitted. Just about anything you’d want or need to do related to your timesheet was available right on one or the other of those two pages.

Now contrast the Workday timesheet app. The first page is just a “pick the week to work on” mode. (Annoyingly, it only provides this week and last week. Since the entire experience is so awful, I usually put off completing timesheets until I have to go back more than that.) Once you’re on the week you want it only displays the hours you’ve already entered (if any) with a pop-up menu at the bottom to select a mode for entering hours. The options are “Auto-fill from Prior Week”, “Enter Time by Type”, “Quick Add”, “Request Absence”, “Review Time by Week”, and “Run Calculations”. To be honest, I’ve never tried the bottom three options so I have no idea what they do. Auto-fill sounds like a good idea but my schedule is erratic enough (and I fill out my timesheet infrequently enough) that figuring out if it’s appropriate is more work than just filling out the time in most cases.

So suppose you decide to go with the so-called “Quick Add” option. What it really means is “only add one type of hours,” so now you’re shown a page where you get to pick which type of time you want to add. Fortunately “hours worked” is selected by default, so usually you can click a button and finally get to a form where you can input hours worked this week. Oh, but it doesn’t fill in any hours you’ve already entered, so if you’ve already entered hours for some days you have to remember which ones.

On the other hand, the “Enter Time by Type” is the one to go to if you need to enter, say, a few days a sick leave and a few days of work. This is the closest you’ll get to the HRMS interface, although even here you have to explicitly create a new row for each type of hours.

What do you have to do if you entered something incorrectly? Well, in this case you have to be back on the page that shows what you’ve entered. Then you can click on the erroneous entry, which pops up a new window where you can change or delete it.

OK, so now you’ve finally got your hours entered correctly and you’re ready to submit them. When you click the “Submit” button you get another page to enter notes or comments. Click the button here, and you’ve finally managed to submit your time sheet for that week. But before you can do anything else, you get a page that basically just has a link for finding out what will happen next to your time sheet and a “Done” button.

In summary, this interface is almost completely modal: each page only lets you do one thing, and you have to click through pages and pages to complete the full task.

This is why Larry Tesler fought against modal interfaces: they make it harder to get the job done. And he had this figured out back in the 1970s. Too bad big software companies like Workday still don’t understand this, or don’t care.

ARPANET 50th anniversary

October 29th, 2019  |  Published in Uncategorized

The first message was sent on ARPANET, the predecessor to the Internet, fifty years ago today. The first attempted message was LOGIN, but (presaging many things to come) the network crashed after the first two letters. See coverage by the Register.

COBOL turning 60

September 16th, 2019  |  Published in Uncategorized

Yes, it’s older than Unix: COBOL: Five little letters that if put on a CV would ensure stable income for many a greybeard coder

I never really learned COBOL (and I don’t regret that) but it still runs a lot of the world’s business.

Signs of the apocalypse

September 5th, 2019  |  Published in Uncategorized  |  1 Comment

Richard Stallman speaks at Microsoft