|
I do the user interfaces in our commercial ink-jet printing systems. There are more than 1,000 error messages defined, a number of which are "programming errors". A programming error is one where the code detects an error condition (out of memory, say) and then just throws up its hands and gives up. To quote Peter Griffin from Family Guy, these really grind my gears. All of these get directed to a generic message "An internal software failure has occurred. Please contact your service representative (symbol )" where symbol identifies the actual error.
More generally, error messages should identify the problem and guide the user to a solution: "Sensor A is out of calibration; adjust parameters A1, A2, and/or A3 to measured values." Even if the solution is to restart the application or the entire machine, this is what your users need for you to do. Telling them "It's broke" and thinking they'll just know how to fix it is contemptible.
Software Zen: delete this;
|
|
|
|
|
|
Our printing systems are a little larger scale than that. We can print full color duplex at 17 feet of paper per second and systems run $1.5M-2.5M.
That said the desktop folks learned the basics of their business model from us. Our machines sell relatively close to cost. We make money on ink (which comes in anything from 5L cubes to 208L drums to 1000L pallet containers), printhead refurbishment (a $50,000 printhead can be refurbed for much less), and service.
The corporate bullshit about defeaturing scan when you're low on ink, disabling black printing when you're low on color, etc. isn't specific to ink-jet. It's any excuse to nickel-and-dime the customer. It's an attitude that once you've bought the machine you're a captive customer. What they don't realize is that when you're printer is <$100 and your ink is $25-$40 per cartridge the customer doesn't give a who makes their printer. If you piss them off, they will buy something else.
I used to be an HP loyalist because at one time their hardware was good and their ink cartridges lasted for months with my casual usage. Not any longer. The recent batch of malware/adware from HP was the last straw. I tossed out my HP printer and bought a Canon instead. If Canon turns out be untrustworthy in some way, I'll switch to something else.
Software Zen: delete this;
|
|
|
|
|
Gary R. Wheeler wrote: We make money on ink (which comes in anything from 5L cubes to 208L drums to 1000L pallet containers), Reminds me of a price list I saw many moons ago for toner cartridges for the HP Laserjet III: Prices was stated for 1 unit, 12 units, a pallet (I believe that was 144 units), and then a truckload of toner cartridges.
(Deep in my old paper archives there is a xerox of that price list, but it is too deep down for me to dig it out tonight to check how many units a truckload was. I believe it was in the order of 8000 units.)
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
It always pays to cover all bases!
Every switch statement that I write contains a default clause. This is true even when switching on an enumerated type, because the underlying variable is an int (or another integral type), and it is possible that the value got corrupted.
enum {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY} weekday;
weekday = SATURDAY;
++weekday;
switch (weekday)
{
case SUNDAY: ...; break;
case MONDAY: ...; break;
case TUESDAY: ...; break;
case WEDNESDAY: ...; break;
case THURSDAY: ...; break;
case FRIDAY: ...; break;
case SATURDAY: ... break;
default: report("weekday out of bounds!");
}
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
That doesn't generate error here... we start the week on Monday
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
The problem is rooted in
Daniel Pfeffer wrote: the underlying variable is an int (or another integral type) If enumeration was a first class type, "++weekday;" (given Daniel Pfeffer's enum definition) would generate a runtime error, similar to a numeric overflow exception. Unless, of course if the enumeration type allows an enum to be defined as cyclical, in which case the new value would be SUNDAY.
Nelek wrote: That doesn't generate error here... we start the week on Monday First: I think that goes for all of Western Europe nowadays. We (Norway) changed from Sunday to Monday as the first day of the week something like 40-50 years ago to be in harmony with other European countries.
As the English term is 'weekend', and Sunday is part of the weekend, I always assumed that Sunday ended the week in English speaking countries. I was surprised to learn that while this is true in GB, in the US of A it appears that the week ends one day before the weekend ends.
A little nitpicking: Different cultures disagree about the first day of the week. If you make software for use in multiple cultures, you cannot (or at least should not) replace the enum definition when you start marketing the software in a new region; that could result in subtle errors. Rather, the enum definition should be completely ignorant of which value is considered to be the position of the air valve on the rotating wheel.
So, Daniel Pfeffer's definition is perfectly OK, even in Europe, assuming that his application code never makes any assumption about the first enum value being the first day of the week. Given that enum is not a first class type, the code would correctly go to the default case even in Europe.
If your language allows: Overload ++ for the weekday type, to make weekday++ == SUNDAY when the old value of weekday == SATURDAY. Then it doesn't matter.
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
You missed the "joke" icon... didn't you?
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
At least a couple of points were dead serious: I really wish that today's programming languages had enumerations as a first class type, not just as a thin veil over an integer 'base type'. Cyclical enumerations would be an obvious modifier.
Second: I am dead serious when claiming that a far too high fraction of programmers ignore cultural differences in their coding. Stressing that the first enumeration value is unrelated to first day of the week is no joke. Yet you frequently see that kind of implicit assumptions in code.
Overloading ++ (and --, and for that sake plain + and -) to make an enum type cyclical is no joke.
So although I wrote it as a follow up to your joke marked entry, I wanted to point out that there are connotations to the joke that are not just a joke, but serious matters.
Unfortunately, I have never found an English translation of one of the Danish poet Piet Hein's 'gruk' (he made up that term for his short, pointed words of wisdom), the one that goes, in my very un-poetic from-the-top-of-my-head translation:
He who sees a joke as just a joke
and seriousness always seriously,
he really understands them both
rather poorly.
If I had flagged my post as a joke, I fear that a lot of readers would have failed to notice that the major points of my post are dead serious.
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
I'm reminded of the work we did for SEPTA (South Eastern Pennsylvania Transit Authority). We did the computer aided dispatch system which had to communicate to the trains via packet radio.
When they showed us the protocol they wanted to use I just about died. No error check, no ACK/NAK. Asked them how we were supposed to test the protocol they said they were going to use a VT100 terminal to type in the messages. I proposed a better protocol and told them we would design an emulator so we could emulate the entire train system.
Then there was one big bugaboo....they had to be able to connect dispatch to all the train's audio systems for emergency announcements and such. I told them they needed a broadcast message and they said "no". I also explained to them that with the ACK/NAK protocol and single train connections it would take up to 30 minutes to get all the trains connected and another 30 minutes to disconnect them (all during which the live dispatch radio system is connected to train speakers). I put this in writing to them. They said "we aren't going to fix it". Around 3 years after we delivered the system they called us and blamed us for the 30 minute delay. I had to haul out the letters between us to show them we warned them.
|
|
|
|
|
I found this very hard to read.
|
|
|
|
|
I found it hard to understand, software error don't like, remove error, get general Windows error, like even less, try to explain error message useful was removed.
|
|
|
|
|
Not to worry...
Even AI is getting fed up with stupid Humans.
In one incident, a user asked the AI a question and the response was, "Figure it out yourself..."
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
When you don't test it.
Been using the same backup software for our virtual machines (Windows servers) for several years. This week, when I tried to recover a file during a test run, I got an unhandled exception (oh sugar moment!).
Created a new Windows VM and installed the same level of software. Imported the BU image and recovered a file without error (phew). Have to reinstall the backup software on the Windows console system (not a VM).
When is the last time you tested your backups?
>64
It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
|
|
|
|
|
We use Windows Server Backup that came with Window Server. That said We haven't used anything past 2012 so I don't know when the kiddies at MS may have had oportunity to muck up the codebase. but to answer your quesion, when Window Server backup has said it was successfull (we check the logs daily) then it will restore. Have never ever had an issue with it for the decades we have been using it on client's on premiss boxes. Can't say that about any other 3rd party software.
We are backing up to a local drive (usb generally). On a VM on the cloud things may be different. I'm old and yell at clouds.
|
|
|
|
|
I use VM imaging software for backups. Take the images to SOHO and restore to a duplicate ESXi system (software wise). I could take this system on site and put on line while I use the off site DR "kit" to rebuild. Would have to update data to the latest level, that is done nightly to NAS and weekly to removable storage.
Alas, Murphy is out there ...........................................................waiting.
Edit: Should add that system was stress tested several years ago when someone let ransomware creep in and encrypted everything. Lost 2 days of data which was backed up by paper and had to be reentered. Lost a weekend of my time restoring. Back in the early days of ransomware, they only encrypted the data files, not the OS. Much friendlier then.
>64
It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
|
|
|
|
|
One of my first jobs (1996) as a freelance support person was for a company who's accounts machine had gone bang. OK, they had a full set of daily backups, including off-site, and all beautifully labelled. Went to restore on the new machine - they'd backed up the APPLICATION every day, but not the data files...
|
|
|
|
|
I don't use any backup software other than the built-in robocopy.exe, which is essentially just a glorified file/folder copy app (with the invaluable option to skip over what hasn't changed). If something can't be written/read back, it's either a hardware failure, or a fundamental bug in the OS that you know would be addressed already. So, I'm really not at the mercy of any bug in some third-party software. That's one layer of possible problems removed. And if I need get directly to a file...the backup is just another file system, not some proprietary blob that can only be read back by a working instance of some software.
The only problem is that if a VM is running when I'm running the backup, I'll get a file in use error, so, I have to shut down my VMs to perform a proper backup of the server. Which I'm okay doing on weekend evenings - start the backup early evening, and odds are, it'll be done before I'm ready to go to bed, so I start my second backup, which is then done by the next morning.
How do I back up the host OS itself and its settings?
I don't. There's nothing running on it except for the OS, maybe some proprietary driver (I have a Drivers folder on a file share, organized by system, which makes it trivial to determine what's needed by a given machine), and the OS's latest CUs (which are quick to install nowadays).
|
|
|
|
|
No intent to be argumentative, we are in different environments. We are up 24/7, so I don't have the luxury of shutting down for backups. Copying the VM files from ESXi is also not a trivial task, IMO. One of the servers is maintained by a third party (via VNC) and using the systems backup program for each VM on an ESXi server is less than stellar when it comes time to restore. The 3rd party software takes a snapshot, does the backup and then deletes the snapshot. I copy the backup files to a removable cartridge (typically about 500GB) and use it to update/replicate the VM's on my ESXi machine. I have a script (VBS, shhhhh) that uses robocopy to backup the new/changed data files nightly and send me the report log via email. Robocopy is a very handy piece of software, similar to rsync.
Ask me what I think about the new licensing for Vmware.
>64
It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
|
|
|
|
|
theoldfool wrote: No intent to be argumentative, we are in different environments. We are up 24/7,
No offense taken. Indeed, I was talking about my own personal home setup (which I do use as a work lab). I'm responsible for my own systems, and being up 24/7, while desirable, isn't vital (eg, nobody but myself knows when my VMs are down for backups).
theoldfool wrote: Ask me what I think about the new licensing for Vmware
I remember it made the headlines. I never read the actual details, but I suspect they're rather nasty. I did pay for a VMware license over a decade ago, and already at that time gave up in disgust. Frankly I'm happy using Hyper-V as a freebie.
|
|
|
|
|
I am using the VMWare Player for long time. Is free for personal use and allows to mount new OS too.
I know the workstation has a lot more features, but didn't miss any of them.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I keep hearing that VMware (and even Player in this case) is still the better choice according to some people, and - as far as I know - that mostly revolves around things such as better support for USB devices under virtualized OSes.
Is that your experience?
I currently have two hosts here at home, each with 64GB of RAM, dedicated to running Hyper-V. I'm not sure I'd want a third host, especially if it was for the sake of (re-)familiarizing myself with VMware's current offerings...especially with the recent licensing discussions.
|
|
|
|
|
I am not sure if I can answer you satisfactorily.
I can only say, that I have been using the player for really long time and until now never had issues that I could not solve within minutes.
In private I use it for several things... a "crap OS" to go online without worrying to what I click. I have winXP and Win7 guests with old software that wouldn't work in newer systems. I don't usually use the USB in the VMs, but the few times I have used it, had no issues with it. The only problem I had (and still do not understand why) was that BitDefender wouldn't install properly, while the ETH Bridges of the VMWare were there. I had to deinstall the VMWare Player, install the antivirus, activate it and then install the VM again.
At work we used to use VMWare too, the images were done using the Workstation, but we had the player to plain use them. VM was the most confortable way to get through software version incompatibility (specially with Siemens Automation and some periferics for industry like Screwers, light barriers for safefty and things like that). I have used USB to Serial, USB to ETH, ETH to Profibus, Null-Modems... I can only remember having problem with the gadgets once.
On the other hand, a co-worker complained a lot about one specific converter to connect to a particular device. But I think that would be a driver problem on vendor side.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
My first introduction to virtual machines was when Microsoft in all it's glory tried to terminate Windows Xp. Well, that raised a $hit storm because so many other 3rd party products would not run under Windows 7. So, MS rolled out a canned VM that would allow you to run Xp. A few years later, I converted that to a VMWare Professional virtual machine. Why? Well, I write s/w for a living, I get paid for it, and VMWare should get paid as well. The price was reasonable, and none of this bull$hit annual licensing nonsense.
It has been rock solid. For 15+ years. It has its quirks, but overall as a development platform it's my goto. I tried openbox and a few others, and since time is money, nope back to VMWare. I mainly work off a laptop which maxes out at 64GB of ram. You have to be careful spinning up to many Windows OS VMs.
USB detection - solid. But you have to be careful. In my case, I have that Xp VM - it does not understand USB 3.0. Other than that, I've never had an issue.
As for VMWare licensing, Broadcomm is going after the corporate market (I feel the customer pain). I fully expect Broadcomm to push VMWorkstation to a subscription model (bye bye), and terminate VMplayer, but I'm a bit of a pessimist.
If you are leaning this way, grab a workstation license now and a player download. Broadcomm is gutting VMWare as I type this (the termination letters are going out). On the good side, there are going to be a lot of very experienced people with VMware on the job market.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
well that makes things different.... and non-trival.
The company I contract with has transitioned to a pure VM environment - generic hardware and lots of VMs. I asked this question - "how do you know your backups are good?" I received a tutorial on all of the system software they use to make the world a perfect place. The backup king explained this that and the other, and it was clear he did not want me to ask the $10 question.
Are you sure?
It was layer upon layer and layer and some ice cream of software - at some point, you have to trust people to do their jobs. But, I am making copies of stuff and saving them off to my local machine. They simply have no validation system active to validate the backups... and I'm too tired to care. It's easier for me to agree and just make my own backup.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|