|
I agree -- and not as a joke. In general code should not fail*.
* -- in case you see my code fail: it was by design.
Greetings - Jacek
|
|
|
|
|
Continuing on your serious note: the code per se, should not fail, I agree. But the final program may fail at times. Say you have a web request in there, and any of the following occurs:
(a) the remote server times out (e.g. the server is offline)
(b) the remote server has a bug, returning a 500 error
(c) the remote server cannot find the requested resource, returning a 404 error
(d) the remote server forbids access to the requested resource, returning a 403 error
Any of the above results in the web request throwing an exception in YOUR application, but your code is not to blame. So there is a chance that a bug-free program CAN fail. That's why you should have error handling and meaningful error reporting.
Φευ! Εδόμεθα υπό ρηννοσχήμων λύκων!
(Alas! We're devoured by lamb-guised wolves!)
|
|
|
|
|
|
|
It is in Polish!!!
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is (V).
|
|
|
|
|
Uhm, WHAT is in polish? "zm_prieb"? These "names" are meaningless abbreviations of names in polish. No docs of course...
Greetings - Jacek
|
|
|
|
|
Jacek Gajek wrote: cpar1
cpar2
cpar3
cpar4
cpar5
cpar6
cpar7
cpar8
cpar9 I am pretty sure they switched the positions of 2 of the letters
Microsoft ... the only place where VARIANT_TRUE != true
|
|
|
|
|
That's called obfuscation!!!
|
|
|
|
|
How dare you blame someone because you don't know what a ztlgpu is?
No memory stick has been harmed during establishment of this signature.
|
|
|
|
|
Actually I know what is it, but telling it would require some inappropriate words.
Greetings - Jacek
|
|
|
|
|
I had a boss once that did not believe in comments. He felt names should be descriptive enough that you should be able to read the program and not need them. Who ever wrote this would find all their personal belongings in a brown card board box the next day.
So many years of programming I have forgotten more languages than I know.
|
|
|
|
|
I recently worked on a project and at a certain point noticed that the executable that is created requires elevation. It has this icon indicating that an administrator approval is required, and when it is double clicked, the elevation prompt appears.
It drove me craze to remove this setting, as the nature of the software didn't require it to be elevated. I looked at the Manifest section when there are settings related to UAC (User Account Control), but even when I matched these settings to the ones taken from another project, which didn't require elevation, my new project did.
Today, while speaking to another programmer, he told me how to fix that....
Well, my executable had the string "install" as part of it, and when I renamed it to demo.exe, the icon has changed and no elevation any more required.
|
|
|
|
|
I'm not sure if there's a complete list anywhere, but the heuristics are documented on MSDN:
Installer Detection only applies to:
- 32 bit executables
- Applications without a requestedExecutionLevel
- Interactive processes running as a Standard User with LUA enabled
Before a 32 bit process is created, the following attributes are checked to determine whether it is an installer:
- Filename includes keywords like "install," "setup," "update," etc.
- Keywords in the following Versioning Resource fields: Vendor, Company Name, Product Name, File Description, Original Filename, Internal Name, and Export Name.
- Keywords in the side-by-side manifest embedded in the executable.
- Keywords in specific StringTable entries linked in the executable.
- Key attributes in the RC data linked in the executable.
- Targeted sequences of bytes within the executable.
Note The keywords and sequences of bytes were derived from common characteristics observed from various installer technologies.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thanks. This is really useful information.
|
|
|
|
|
Richard Deeming wrote: Filename includes keywords like "install," "setup," "update," etc.
What the elephant ?
It checks for filename or keywords to determine if a file is an installer ? I call this epic fail !
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Do not feed the troll ! - Common proverb
|
|
|
|
|
Yes, it does. Any icons with those words in the names do not show up in the Start menu, even if you pin it.
|
|
|
|
|
|
The alternative to a heuristic like that would have been 99% of installers trying to run as normal processes when Vista launched, failing because they couldn't access privileged areas, and bombing. That would have been an order of magnitude more elephanted up. And not just because setting runs-as-user in a manifest if your app name matches the heuristic is strait forward for a dev; but 99% of lusers don't know there is something called admin mode, never mind how to launch a program in it.
Edit: PS The VS2k3Sp1 installer doesn't get detected to auto elevate and fails/backs out in a way that gives no indication of what's wrong until on the nth try you realize you never got the elevate prompt.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Yes, there really was no nice clean solution available to them at that point.
Just because the code works, it doesn't mean that it is good code.
|
|
|
|
|
|
That seems a very deep quote from Homer, I'm more used to "mmm doughnuts".
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
Thanks for sharing this WTF!
|
|
|
|
|
I was assigned a QA bug today and I found this horror code written by my colleague ...
private static double ConvertToDouble(object obj, out bool good)
{
if (obj is double || obj is int)
{
good = true;
return (double)obj;
}
good = false;
return double.NaN;
}
This code exploded in to
Exception type: InvalidCastException
Message: Specified cast is not valid.
[System.InvalidCastException]
|
|
|
|
|
It failed converting int to double?
The signature is in building process.. Please wait...
|
|
|
|
|
Yes!!
Actually the question was raised by the same colleague when I told him its wrong....
|
|
|
|