Archive for the ‘computers’ Category

Error Errors

10 January, 2012 00:24
Error message:Bad Opaque

Error Message 1

I got this error message box again. Can anyone tell me what it means?

I actually sort of know what it means, where it originates, and why. But it is a good example of bad programming practice and poor program development management that an end user sees a message like this.

What is wrong with the message? “Bad Opaque”. Yep. This message is worse than opaque, it is a black hole that sucks energy into oblivion. “Bad Juju” (not to be confused with juju) would be just as appropriate and more comprehensible. Where did this message come from? The title on the box provides a clue “Failed to enter room”. I was in a “virtual room” a while ago but the meeting is over and I have closed all of the visible windows. The message box is “on top” and will will not release focus. So, even though it is NOT OK, I click OK because that is the only thing to do.
Some time later, I discover an all-gray window with a title “Failed to connect”. Yep. The programmer clearly failed to connect the “Bad Opaque” message with the application. At least I guess they should be connected as the 3 windows appear to occur around the same time among the 10-12 windows I typically have open on my desktop with no indication on the task bar or system tray.
So my interpretation of this, which may or may not be accurate, is that the meeting I was in has ended, the window-less program that makes the connection tried to re-enter the now closed virtual room. Failing that in an unexpected way pops the “Bad Opaque”.
Somehow the connector or the room-enterer did not get the message that the session was over.  A bit more transparency and better error messages would be helpful.

Some Microsoft products have gotten better about making it clear what the error is and what the consequences of “Cancel”, “End”, “OK”, etc are. But not everybody there has gotten the memo yet, or if they have they have not read it and taken it to heart.

Picture of: Uncorrectable Error has occured UpdateHandel:handle not allocated Press Enter to Abort

Uncorrectable

I like this one too.  It certainly gets your atten- tion.  I comp- lained about it to the system administrator for several years.  I am sure that it is no longer an issue because that account moved to Google Mail eliminating the application that was uncorrectable.  At least this message is clear about what it means and where it comes from.  The problem with this one is that while I may not be able to correct the error, the programmer who failed to anticipate the condition but was able to provide an error message could correct the code to make sure that the LookupHandle was allocated or perhaps provide a suggested corrective action to the user.  At the very least, the programmer could suggest the external cause, if that were the case, so that external corrective action could be taken, preferably before but in any case after “Abort”-ing the application.

But my all-time favorite is this one.

Windows message box Cannot quit Microsoft Office

Yes you can!

Typical of Microsoft’s lack of quality control, due to some unexplained condition, you fall into a routine where the debugging software has been left engaged. The good news is that you can use Open Office on Linux to eliminate this message, Microsoft Office, AND best-of-all eliminate Windows.

Nutrition Database

12 November, 2011 13:59

The taxpayers through the United State Department of Agriculture Agriculture Research Service, Nutrient Data Laboratory have provided a USDA National Nutrient Database for Standard Reference, Release 24 of foods, food ingredients, and nutrition.  The current revision is 24.

If you have the Microsoft Access database software, you can download a pre-made MS Access database which presumably has the relationships and perhaps some sample queries.

If you are a Linux or Unix user, you are left to your own ingenuity to create the database.  As I transitioned from SR 23 to SR 24 I thought that I should improve my own documentation to make my life easier next time. Perhaps you will find it useful as well.

Traveling Salesman Problem Lectures

6 November, 2011 09:17

This week I was able to attend 2 lectures by Professor William J. Cook, Chandler Family Professor, ISyE, Operations Research, Georgia Institute of Technology at Furman University’s 2011-2012 Donald H. Clanton Visiting Mathematician Program. 

Exact Solutions in Linear and Integer Programming

This lecture treats the problem of finding exact rational solutions.  While the details of the mathematical theory cannot be covered in a one hour lecture, Professor Cook was able to help the audience (me at least) understand the difficulties inherent in the computer’s limited numeric precision, the large number of calculations involved each with its inherent possible losses, and a number of approaches to reducing or at least managing these errors. With David L. Applegate, Robert E. Bixby, and Vasek Chvátal, William J. Cook is co-author of The Traveling Salesman Problem: A Computational Study

In Pursuit of the Salesman: Mathematics at the Limits of Computation

This lecture is  more accessible by the non-mathematician.  Professor Cook outlines the history and origins of the problem: How to minimize the length of the trip a salesman must make to visit all of the required cities.  The complexity of this problem grows super-exponentially with each added point. With delightful illustrations, pictures, and explanation he makes this problem come alive and helps us understand why the Traveling Salesman Problem is important not just to travelers but in genetics, manufacturing and astronomy.

Professor Cook’s book In Pursuit of the Salesman: Mathematics at the Limits of Computation be available in January, 2012.

If you have an opportunity to hear Professor Cook speak, do not miss it. You will enjoy his knowledge and excitement in mathematics.

Microsoft Excel – interesting feature Move Copy Worksheet

1 September, 2011 09:29

If you attempt to move or copy an Excel worksheet from a Excel 2007 or later workbook to an Excel 2003 workbook it will fail. The error message displayed does not give you any hint about the incompatibility and suggests cut and paste. You can complete the copy if you make the target workbook the same level as the sending workbook.
Do a Save As of the target worksheet to the new format. Close it. Re-open the just saved version to complete the conversion. The Move or Copy Worksheet function should then work properly.
This presumes that you actually found the Move Copy Worksheet function now conveniently located at Home -> Cells -> Format -> Organize Sheets -> Move Copy Worksheet. Whodda thunk it.

Mouse-wheel fix

29 May, 2011 22:13

The mouse wheel on the mouse that came with the Dell 8100 stopped working. Or at least is worked intermittently. If you moved your finger v-e-r-y slowly, you could get scroll to move. But the detent was too stiff for rapid moves. And of course applying more pressure clicked the middle button. I decided that there was slippage and determined to find out why.

Picture of a disassembled computer mouse.

Figure 1

Disassembling a mouse is typically one-screw removal. On the Dell mouse, it in the center of the bottom approximately in line with the screw in Figure 1. After removing the screw, separate the shell halves. On this Dell this seemed a bit tricky. There are two tabs on the front of the top shell that insert into pockets in the bottom shell. These pockets can be seen in the nearest part of figure 1. A certain amount of force is require to overcome the springiness and friction. When you separate the top from the bottom, the mouse wheel will probably come loose as it is retained on the top by posts on the top half-shell. It rests in half-journals on the bottom. The skinny end inserts into the detent/switch component on the circuit board. The fat end is over the micro-switch (black component with white bar) which is farther away on the left. The other two micro-switches are for the right and left buttons.
The tire has been rolled off of the hub in Figure 1. What I found was that there was an oily substance between the hub and the tire. I used a piece of tissue, water with a touch of detergent (actually still in the sink from the lunch dishes) to clean the hub and the inside of the tire.
A picture of the wheel assembly re-inserted into its bearings.

Figure 2

Re-assemble the tire to the hub. Insert the small end of the shaft into the detent/switch as you set the wheel assembly into its bearings. Press the wheel down to verify micro-switch click. Rotate the wheel an verify that the detent works as it turns. Carefully insert the two tabs on the front of the top half-shell into the two pockets that can be seen out-of-focus in Figure 2 beyond the wheel. There is a critical angle and pressure that bends everything just enough. Once the tabs are inserted, lower the top half-shell until it is closed. Re-insert the screw. When re-installing a screw, it is a good idea to rotate in the removal direction (counter-clockwise) until you feel the click of the threads. Then proceed to tighten. This is especially true of self-tapping screws as it is desirable to re-use the original thread, not cut a new one.
Plug the mouse into a computer and test its function.
While I did not disassemble another mouse, a Dynex, I noted that the screw is not visible. If you do not see a screw, probe or remove any label on the bottom to locate a screw. Another possibility is a snap-together arrangement. I suspect the insides will be similar to the pictures of the Dell mouse.

Middle

27 March, 2011 18:26

Who? What? When? Why? Where? How? Those were the questions I was taught to ask on every doubt. I had the good luck to attend the only college with a basketball court size map of the 48 states of USA. I haven’t been back for years but I understand that the space has been re-purposed. Lacking the balcony view of the curve of earth (Who needs that now with Google Earth). And lights that light up (if they were working) of the selected cities on the switch boxes. At least the Babson Globe has been restored.
I was addicted to maps long before that and still. The INTERNET can provide.
Now (when it may be vital to establish jurisdiction) I discover that my (unnamed) INTERNET provider not only mis-locates me but makes my locus a place which differs from the center determined by measurement.
Potwin, KS may be a rounding error.
Eureka, KS may be a closer center.
If you don’t know what a theodolite is please check your reply a couple of times.

Progress Widget

29 September, 2010 22:51

A while ago, I posted that I was learning about GTK and more important (to me), GTK for C++.  I have been carefully working through the tutorial.  The way I learn best is by preparing to teach others.  I have been taking notes and creating some exercises which I will contribute back to the GTKmm project when I get them into decent shape.  I have worked through the entry widgets and next is the progress widget.

In the mean time, my wife, a sometime  techno-phobe, asked me to help her purchase an online airline ticket.  Not a big deal.  An hour later, we have a printed ticket at a price that is not prohibitive. My wife, who had not heard the joke before, was amused by the phrase “World Wide Wait”.  Forty-five minutes of the ticket time was spent looking at what I call a “spinner” and some at what techies call a “progress bar”.

The spinner is a screen that acts like it is doing something while you are waiting.   The spinner that might be part the browser.  If it were the cursor on your system, it would slow down or freeze when the local system is waiting for resources.  Other times they hang because they are waiting for a remote, synchronous service like a firewall or a security check. But usually, they are just blinky lights, like the ones that used to chase each other around the marquee at the neighborhood theater until they burned out and nobody replaced them.

More important is the “progress bar”. Or more precisely, the lack-of-progress bar.  This is supposed to move along steadily and indicate how close the web page is to being complete.  I usually see it rush quickly toward half-way.  Then slow down until at 75%, the progress becomes nil.  Finally, after a time twice as long as the wait to half-way, a message box appears that the request cannot be completed due to a condition the user cannot do anything about.  The message never suggests that the web host capacity planner has been sleeping in his chair after a beer at lunch or that that the host DBA meant to re-org the database last month but was at the beach.

And so I propose the “lack-of-progress bar”.  This little gem, when embedded in your web page will not only entertain you by advancing in a non-monotonic way, arbitrarily falling back to a lesser state as the http under-covers encounters adversity, it will put out a meaningful message, pointing the finger at the actual cause of the delay, be it end-point host, local system, or the ISP.  If there are multiple culprits, it will name them all.

Wait there is more! If supplied with the appropriate information, it will simultaneously, write a letter to the U.S. Representative, both Senators, the President, the FCC, the ICC, the DHS, and least effective  but most annoying the TSA. It will  Twitter a spurious rumor about the failing service provider, and a short sale order to your broker.

Or maybe it will meet the release date deadline.  But probably not both.

Shakin’ it up here boss.

GTKmm Quick Start

15 August, 2010 11:53

I got the notion to learn something about GTK and review my C++. I have recently upgraded to Ubuntu 9.10 so some of the things I had before are gone.

Before you start, you will need libgtkmm-2.4-dev (version 1:2.18.2-1) installed.

When you install it should also call for

libcairomm-1.0-dev (version 1.8.0-1build1) will be installed
libglibmm-2.4-dev (version 2.22.1-2) will be installed
libpangomm-1.4-dev (version 2.26.0-0ubuntu2) will be installed
libsigc++-2.0-dev (version 2.0.18-2) will be installed

You may wish to install
gtkmm-documentation (version 2.17.4-0ubuntu1) will be installed
libglademm-2.4-doc (version 2.6.7-2) will be installed
libglibmm-2.4-doc (version 2.22.1-2) will be installed
libgtkmm-2.4-doc (version 1:2.18.2-1) will be installed

At that point, you can copy and paste the example code found on Wikipedia.

In order to follow the example literally, you will need to save each of the text files as the name indicated in the first line comment into an empty directory. Start a command line window and switch to that directory. Then the command given in the example should work.

If you copy and paste the g++ command you will get it right. If you type it, the “`” things are in the upper-left on most keyboards under the tilde (~), not a single-quote (‘)

me@home:~/Projects/gtk/hww$ g++ *.cc -o example `pkg-config gtkmm-2.4 –cflags –libs`
me@home:~/Projects/gtk/hww$ ./example
Hello world
me@home:~/Projects/gtk/hww$

HelloWorldScreenshot

Chrome EULA Rant

24 July, 2010 11:28

I went to download Chrome for my Ubutu distribution.  For some reason, I decided to actually read the EULA. I usually let the kitten step on the keyboard until that nonsense goes away.  I would never agree to any of that EULA crap without a lawyer’s advice. In the middle of the EULA was a reference to:

“AVC Patent Portfolio License”

Another license which I, without legal assistance need to understand.  Googling for the phrase gives me a great summary presentation.

Note that the title page provides this warning

“This presentation is for information purposes only.
Actual license agreements will provide the only definitive and reliable statement of license terms.”

In the presentation, on slide 2, second bullet, is “Align with AVC product value chain”

This line reminds me of the moment in my Draft Physical where the doctor says to a line of 20 young men, with their bare toes on a yellow tape line on the floor,  “Bend over and spread your cheeks”.

But do not delay…
First Term: August 1, 2002 – December 31, 2010
Threshold levels to encourage early-stage adoption and minimize impact on lower volume users…
Call now… Operators are standing by… Limited time offer… (Did I pay too much by not waiting for the price to come down?)  Does AVC seem like a scam to you?

Rate Protection on Renewal – royalty rates for specific license grants (except for Internet Broadcast AVC*) will not increase by more than 10% at renewals

This is my absolute favorite because I am a Mainframe Dinosaur.  While the predicted death of the IBM mainframe seems to be long delayed, the mainframe software vendors continue to work to ensure the mainframe’s imminent demise through destructive software licensing conditions.  Dr. Merrill and a few other have the right idea.

I’m with Shakespeare (Henry The Sixth, Part 2 Act 4, scene 2, 71–78)

Blessings

7 March, 2010 20:25

I am blessed that last month my son son became a member Upsilon Pi Epsilon (ΥΠΕ), the International honor society for people with interest and ability in Computer Science (CS).
I am impressed that in a small school, the UPE inductees include a young woman and young man with a visual handicap.