• (cs) in reply to Coughptcha

    The real WTF is that the developer and the tester had such different ideas of what the product should do. Are there no grownups in the shop?

  • Pasa (unregistered) in reply to DrMindHacker

    You can make whatever assumptations, just what you say actually classifies YOU as one far from professional development, sorry.

    Especially because you even failed to recognise that the program in subject DID the validation you talk about and did it correctly too. At least form the testing report we can't deduce a single missed case. 

    Bad input was rejected with a sensible message. It pointed out the place of the problem. Also let's guess the context: was it a professional program with sole purpose to take random input and provide detailed analysis why it can't be accepted as date or email? Or a Busytown-like toy program for 4-8 year old children?   Or it was a form where the user shall enter the actual data he HAS in his mind. Correctly. And validation is there just to look out for typos and format mistakes.  

    I bet 100:1 on the second case, and in such a program simly stating the entered data is wrong is just enough, the user will read it and retype. The extra info the testers complain about is not needed. Worse, it can be more distraction than help, by the time you parse the message you'll forget what you wanted to type in.

    If the specs say nothing about validation of date and email fields the professional solution is to stick with a single message. If they DO say something, the test groul should have follow those specs, and report failure by those points.

     

     

     

  • Pasa (unregistered) in reply to Kiss me, I'm Polish

    Anonymous:
    Yeah, right. Kill the testers. They're evil, they complain about bugs in the programs. It makes the developers feel bad. Testers bad! Developers good!

    Excuse me, what bugs? Can you point ONE out explicitly?

    That's the whole point, the esters in the issue did not feel like testing for bugs, instead looked for a way to drop the work after some BS comments.   (Even if we consider the comments valid, they should have gone to the 'improvment TODOs and specs update' list while carry on with actual testing.

  • Pasa (unregistered) in reply to Gene Wirchenko

    >"I entered a date of 2/30/2006.  The error said that the format was wrong.

    Can you people READ? Really. In the issue the message was:

    "The date entered is not valid. Dates must be entered in the MM/DD/YYYY format."

    My English parser says the message didn't state the format of the date was wrong. I states the date is not valid. Besides that it hints that dates shall be entered in what format, a good piece of information far from evident in general.

  • Marni (unregistered) in reply to eddieboston

    Many or most of us agree that saying an invalid date was in an incorrect format is a minor usability bug but that the real issue is project management (the lack of detailed, agreed-upon, requirements) and that the tester did not continue testing.  (Finding bugs should be fun for a tester or they should take up a different profession.)

    However, on a side note, you have a very good point.  If the user is setting up a new email address, then more rigorous validation of email format, user name, and domain, along with more detailed error messages, would be required.

    However, we're assuming that in this case, the user is typing in their own email address.  If it is invalid, tell them so.  They must have typed it in wrong (or have been given an invalid email address for some reason).  Possibly verify that there is one and only one '@'. and if not, give an appropriate error message.  Otherwise, give a generic error message.  Possibly the error message should state that the user should retype the address.  Then, instead of sitting there looking at the one they typed in, trying to figure out what's wrong, they try again and hopefully they won't type ',' instead of '.' a second time.  In any case, the requirements should be written and agreed upon well, well before the tester gets his hands on the finished project.  If they were, then the only problem with what the developer (assuming he followed the requirements) was the minor usability bug.

    FYI, I've been a developer, QA tester, and requirements writer and have a lot of respect for people in all those areas that do their job well.  I don't see a need for bashing any one type as a group.  To say 'testers' are idiots and 'developers' are lazy as some have done on this post is a sign of peevishness and probably not appreciated by most of us. So, why don't you guys that do that sort of thing shut up and get some sleep.

     

     

  • Erik (unregistered) in reply to Dave
    Anonymous:

    Oh and the logo clashes with my shoes.  Its got to go.

    Signed,

    Paula the Brillant Tester

    ROFL, Paula <3 :D

  • Marni (unregistered) in reply to Marni

    >> I don't see a need for bashing any one type as a group.  To say 'testers' are idiots and 'developers' are lazy as some have done on this post is a sign of peevishness and probably not appreciated by most of us. So, why don't you guys that do that sort of thing shut up and get some sleep.

    Sorry for that last.  It happens in every forum all the time.

    I'm going to shut up now and go get some sleep. 

  • (cs) in reply to Coughptcha

    Coughptcha:
    KenW:
    The WTF here is that the error messages were meaningful enough.
    Please, never ever do any work for me.  Heck, do us all a favor and get out of the industry now.  You'll never deliver an application which is usable by the population at large.  The error messages were most emphatically not meaningful enough.
    lrb:
    Bottom line, is focusing large amounts of resources to programming to meet the expectations for the 20% most inept group of end users comes at the expense of providing features of little to no value for the other 80% and delaying or canceling features that would be of high value to this 80%.  IMO there is rarely a business case to support providing the level of error messaging being requested by the testers.
    Ditto.  If you're only providing an application which is usable by the geekiest of end-users, you have added negative value to the business overall.  Go home.  No business needs you. Let a programmer who knows what a real business demands do the work, while you go play some more kiddie games or whatever it is you need to do for entertainment.  Quit dragging down the economy for money that you don't deserve.  Maybe some geeksquad will hire you to fail to provide answers to other geeks, but apart from that this is a lost cause.

    Exactly why would you need to know which part of an email address was type incorrectly.  It might be nice to be told, but that would really be icing on the cake.  In 99% of cases, an email address is simply a piece of string information that is being copied from memory or from paper.  You don't have to guide the user in creating a valid address, they're just typing the thing.  If they get any one key wrong, it's wrong.  The best possible input validation would fail horribly at finding typos.  Consider this address:

    [email protected]

    A perfect syntactical validation routine would catch a mistype of the dot or the at sign.  If any of the other 18 characters were mistyped, it wouldn't catch it.  A validator that actually sends an email would result in a lot of "false invalids".  If this application were allowing employees to type in contact email addresses for customers, sending a test email may even violate the CAN SPAM act.

    So, to summarize, a generic validation routine isn't great, but isn't bad either.  An aggressive validation routine doesn't solve very many problems and possibly violates US Federal law.  If you actually need the email address to be correct, simply have the data be entered by two employees independently and compare them.  Any mismatches go to a third for a tiebreaker.

    BTW, how would you suggest a phone number be validated?  My usual suggestion is to do NO validation on phone numbers, unless the numbers will be dialed or processed by an automated system.  Why prevent these valid numbers (yes, they are all valid):

    1 (212) 555-1212
    2125551212
    212-555-1212
    1800-FLOWERS
    555-1212
    408-1212
    + 49 711 - 70 10 70
    911
    0180 - 2 34 54 54
    212-555-1212 (hit * and ask for accounting)

    Over-validating is just begging for maintenance problems.  And, you cannot fully validate anything ever.  If a person makes a mistake, they make a mistake.  If you could say they were wrong/right with 100% confidence, then you wouldn't have had to ask them in the first place.

    As for security and validation, that should always be handled by the appropriate widget.  A web widget should prevent html escaping problems, a database widget should properly escape quotes and special keywords like "GO", and so on.  Doing one-off validation for security is begging to miss something.  If your existing widget doesn't do that now, wrap it in another widget.

  • Zachary Palmer (unregistered) in reply to jsmith

    What has already been said pretty much covers the angles, as far as I can tell.  Most if not all people here agree that the quality of error messages shouldn't have been a show stopper.  There is a great deal of dissonance about whether or not the developers produced error messages which were up to par, although (I say at the risk of being the next flame target :) ) implying that 02/30/2006 is incorrectly formatted seems to be generally disapproved.  I personally also agree with those of you who think that the somehwat demeaning tone used by the testers was inappropriate.  All in all, it seems that both sides need to be attending their faults and trying to smooth this problem out a bit.

    However, there is one thing I can point out which has not yet been mentioned.  [email protected] seems to be a perfectly valid mail recipient.

  • Zachary Palmer (unregistered) in reply to Zachary Palmer

    I had added to the end of that post the sentence:

    I just tried to register it and, not surprisingly, it is already taken.

    I rather dislike this post editor...

    Cheers,

    Zachary Palmer

  • Leo (unregistered) in reply to Mr Beeper

    You need to play the game if you want to get along. Nobody can blame you for not reading other people's minds. What about the following reply:

    "Madam,

    thank you for pointing out the deficiencies in the test release of our software. As you know, the specifications do not go into a great depth concerning the correct treatment of the various error conditions and the messages supposed to be shown. Therefore, to provide at least a basic form of validation initially, we used standard components for the validation of these fields.
    In order to improve the perceived quality of the software we definitely require a more detailed specification. As you seem to be the person who best understands the concerns of the users, please do supply this specification in the following form:

    Entered value - Error message

    This specification should be given for each field in the entire application. Please provide as much detail as necessary. I beg you to send me this information asap.

    Kind regards, ..."

    I bet this will greatly reduce the amount of work you will have in rewriting the software.

  • Mr. Snyde (unregistered)

    What's the test case # that failed so we can use the matrix to find which requirement is incorrect or missing?  Oh, wait, that would require a real process... DOH! stupid me.

    In crappy shops, testers feel that they have to validate their existence somehow.  It could simply be a power struggle and nothing more.

    IMHO...

  • Mr. Snyde (unregistered) in reply to Mr Beeper

    Check out identify software.  It rocks for tracking what actually occured.

  • (cs) in reply to Cooper
    Cooper:
    ParkinT:

    Ok.

    After all this discussion,

    <font face="Arial" size="6">WTF is the *real* WTF?</font>



    Good question.

    The fact that this was posted implying that the testers were at fault for their pissy attitude is my vote......


    The fact that 90% of the people here, including you, think it's about how much verbosity can be expected of error messages. We have not enough information about that, it's a question of specification, though the testers's expectations border on the unreasonable.

    The WTF is refusing to test further because of "insufficient" error messages on the first screen. That goes well beyond "pissy attitude" and into "refusing to do your job" territory.
  • (cs) in reply to ammoQ

    ammoQ:
    If a valid email adress is _really_ important for the system, you might decide to do exactly that.

    Yes, you could shell out $40/hour to your developer to spend a couple of weeks searching out every possible scenario wherein an email would fail.  Or, you could hire testers with a clue.

    select * from Testers where Clue > 0

    0 rows returned

  • (cs) in reply to Rick

    Rick:
    One of the key developers frequently mistyped the LIST command so he added LSIT to the language.

    In OS9 (anybody besides me recall the TRS-80 Color Computer?) the assembly language documentation showed the code for a module named "hepl".  It wasn't until I had typed that very thing several times that I got it.

  • (cs) in reply to Matt B

    Matt B:
    So in all seriousness, if you were the developer in this situation, and you got that response back from the testing team..

    ..What the heck would you do?

    I agree with those who have posted before me, that this matter would be decided by the wording in a Requirements document.  Error trapping will be written for every scenario the document specifically mentions.  Seeing that the clients signed the document agreeing to its specifications before I started coding, the testers can eat shit if their complaints aren't in there.

  • (cs) in reply to makomk

    makomk:
    <FONT color=#246398>TheDailyFTW</FONT> - a GreaseMonkey script fixing some of the forum software's WTFs.

    Sorry, mak... I went to your link and tried to see what you were saying, but it kept being covered up by advertising, so I just gave up and closed the browser window.

  • (cs) in reply to Phlip

    Anonymous:
    The developers must have memorized a sequence of specific keystrokes, and ran these over and over again, to get back to the point in the code where they were developing.

    Everybody knows that no developer should test his own product.  No matter how thorough we try to be, we can never duplicate all the stupidity of the end user.  That's why we have testers to do it for us.

  • Jon (unregistered) in reply to brazzy
    brazzy:
    The WTF is refusing to test further because of "insufficient" error messages on the first screen. That goes well beyond "pissy attitude" and into "refusing to do your job" territory.
    Thank you. I was getting worried that I was the only one who got it...
  • awfwaf (unregistered) in reply to DrPizza
    DrPizza:
    Anonymous:
    Anonymous:

    Regular expressions CANNOT validate matching parenthesis (or matching symbols of any kind) where the number of left-hand symbols must match the number of right-hand.  Its mathematically proven.  Now, some implementations of regular expressions (such as .NET) have EXTENSIONS that do allow you to validate them correctly, but regular expressions by themselves cannot do it.  There is a whole area of study called Formal Language Theory that studies these kinds of things.

    Wait a second.  So you're telling me that someone out there added these things... called extensions...  to regular expressions...  that give regular expressions the ability to match parentheses...  So that means that regular expressions can in fact, match parentheses?
    No, because a regular expression "plus extensions" is not a regular expression any more. A regular expression is a well-defined term, that corresponds both to the language it describes and the machine required to recognize that language. The various extensions that are out there which allow some languages to match arbitrarily deep matched nested parentheses prevent those languages from having regular expressions by definition.
    Well then, you're going to be mighty disappointed, because there are absolutely ZERO complete and/or correct implementations of "Regular Expressions (formal theory)" in any programming language.
  • awfwaf (unregistered) in reply to Tony
    Anonymous:
    Anonymous:
    Wait a second.  So you're telling me that someone out there added these things... called extensions...  to regular expressions...  that give regular expressions the ability to match parentheses...  So that means that regular expressions can in fact, match parentheses?


    If you want to go ahead and read up on regular expressions, and the finite automaton that are used to recognize them, and then read up on context-free grammars and the push-down automata that recognize them, well, that would probably enlighten you a little bit more about how you're talking out your ass.

    By definition, regular expressions CAN NOT recognize matching parens.  If there are some extensions somewhere to regexes that can, well fine.  But that doesn't generalize to the entire class of languages considered to be regular.  Really, if someone were to be able to recognize them using DFA, then they would have broken Chomsky's hierarchy of grammars.  That'd be awesome, but I don't think that's likely.

    Tony

    Blow me, asswipe.
     
    If YOU knew what the hell you were talking about then you'd know that "Regular Expression" in terms of formal language theory is simply the basis of "regular expressions" implemented in programming languages.  "regular expressions" in programming languages (even in languages like PERL) currently are a weak subset of "Regular Expression".  No to mention the numerous bugs that various implementations have.
     
    Secondly, you'd realize that NFAs AREN'T the only way to parse regular expressions, and most programming languages use backreferencing to implement "regular expressions".
     
    To even try to use "regular expressions" like "Regular Expression" is futile, because they differ so much.
  • Rhialto (unregistered) in reply to Alun Jones
    Anonymous:

    Programming is the process of removing the bugs from an empty directory tree.  The first bug in most such empty directories is that they don't produce an executable when "make" is run.  Then you have to fix "the executable doesn't do anything", followed by "the executable doesn't do everything", and "everything the executable does is wrong".  Eventually, you get to "some things the executable does are wrong".  At that point, you should remind the user how many bugs have already been removed from the piece of crap they gave you to start from.



    Wow! A generalisation of my favourite saying "Programming is debugging the empty program."
  • Rhialto (unregistered) in reply to Alun Jones
    Anonymous:

    Typing "02/30/2005" should not give you an error that implies your formatting is incorrect.  The formatting is correct, but the values supplied are invalid.



    But the error message IS correct! It read "The date entered is not valid. Dates must be entered in the MM/DD/YYYY format." which is perfectly fine. The first sentence describes the situation. The second one is additional information that simply does not apply in this case but is still correct.

  • Rhialto (unregistered) in reply to qwer
    qwer:
    As for email addresses, the RFC is intentionally vauge.  It basically says it takes the form of user@domain.  There is a regex for domains, but the user part is defined to be okay so long as the mailserver accepts it, and it can accept or reject any format it chooses.


    For fun you should try to fill in user (mailbox) names that contain a + sign. Perfectly legal. Sendmail does useful things with it. [email protected] will deliver the mail to mailbox "name" and pass "extra" as a parameter so that a mail classifier can do something with it. But on most websites where I tried it they spuriously rejected it.
  • Rhialto (unregistered) in reply to Mike K.
    Anonymous:
    Gene Wirchenko:
    Matching parens can not be done with regexes.

    Sincerely,

    Gene Wirchenko

    You can't be serious?

    Just because YOU don't know how to write a regex to match matching parens, doesn't mean that it can't be done.

    WTF



    No, you can't be serious. Matching parens can not be done with regexes. You obviously never followed a computer science course. I suggest you read up about the difference in power between regular expressions and context-free grammars (and context-sentitive grammars of various kinds, while you are at it).

  • (cs)

    poor Sridhar working for the braindead people.
    I will pray for your soul Sridhar.

    PS: look on jobserve.

  • Niels (unregistered) in reply to sao
    sao:

    umm... under windows XP... it even tells u 'Network cable unplugged'.... see... Microsoft CAN get one thing right.
    but lets leave it there.


    Yeah, but they also tell me that when the power plug to my switch fell out of it's socket! The bastards! Can't they get anything right?!?
  • (cs) in reply to Remco Gerlich
    Anonymous:
    All regular expressions can be implemented using a finite state machine, basic result of computer science. Finite state machines cannot check if a string with an arbitrary number of parens has all of them matching, since that would need an arbitrary number of states.

    If you feel different, please show us a regular grammar for a language that contains exactly the strings of the form '()', '(())', '((()))', etc.

    That said, the "regular expressions" present in modern computer languages have more features that make matching matching parens possible; but that just means they're not real regular expressions.

    So you're both right.

    Remco



    So what you are saying is that the "regular expressions" that are used in actual practice, i.e. those present in modern computer languages (that are not real regular expressions, but extended versions of them), can actually perform matching parens tests to a degree, right?

    In that case, the point of the original poster claiming that regular expressions "CANNOT" match parentheses is moot, as we are talking about using practical implementations of regular expressions in modern computer languages -- you know, what we actually use to code with -- not as purely theoretical mathematical models.

        -dZ.
  • (cs) in reply to Coughptcha

    Coughptcha:
    KenW:
    The WTF here is that the error messages were meaningful enough.
    Please, never ever do any work for me.  Heck, do us all a favor and get out of the industry now.  You'll never deliver an application which is usable by the population at large.  The error messages were most emphatically not meaningful enough.
    lrb:
    Bottom line, is focusing large amounts of resources to programming to meet the expectations for the 20% most inept group of end users comes at the expense of providing features of little to no value for the other 80% and delaying or canceling features that would be of high value to this 80%.  IMO there is rarely a business case to support providing the level of error messaging being requested by the testers.
    Ditto.  If you're only providing an application which is usable by the geekiest of end-users, you have added negative value to the business overall.  Go home.  No business needs you. Let a programmer who knows what a real business demands do the work, while you go play some more kiddie games or whatever it is you need to do for entertainment.  Quit dragging down the economy for money that you don't deserve.  Maybe some geeksquad will hire you to fail to provide answers to other geeks, but apart from that this is a lost cause.

    First off it would be a cold day in hell before I would knowingly agree to do any work for you.  From your post it you come off as the type of person who knows just enough to be extremely dangerous, but not enough to realize it.  It also appears that you might have a reading comprehension problem.  I spoke of most applications programming to meet the requirement to be very usable to 80% of the target market.  After this there is a point of diminishing returns for every dollar spent to make the system more usable.  This is a rule of thumb that not only has been proven to be the case the vast majority of the time by my own extensive 15+ year carreer on working on major enterprise applications for Fortune 500 clients, but more importantly has been proven to be the case by hundred's of thousands of hours of research and documentation of real systems by experts in the software engineering and business fields. 

    Just recently I finished work redesigning the search engine of one of the most trafficed sites on the World Wide Web (top 100).  the site had little if any additional details for users on errors when entering an email address or a date.  The target users of the site were the general internet public in the US and Canada.  Yet in an extremely competive market, that site was the fastest growing of any of the top 20 companies in it's industry while spending millions less than any of it's competitors in the top 10.  (BTW the site was in the 10 in it's industry).  Now I can tell you things that I would endorse improving at this company, because they like any company were perfect.  However what they did great was provide a terrific and accurate business model to both predict and then measure ROI on features added.  Providing the level of detail you seem to thing is needed for dates, internet email addresses, and other relatively simplistic data never showed up in the business model. 

    So why don't you step out of your ivory tower world and learn something about cost/benefit ratios and what the general internet public really wants most in feature sets.  I guarrantee you it's not anal retentive error messages for mistakes that few are going to make besides a typo, and then will probably correct easily with only knowing what field had an error.  Will 100% be able to do this?  No.  But more than 80% will usually be able to do so.  If you want to be #1 you spend you time working on features to woo the 80% and not the bottom 20%.  I'm sure this doesn't jive with your ivory tower view with your rose colored glasses.  But people more concerned with implementing the best and most pratical business plan to recieve a return on investment care a lot. 

    And you don't need to be a geek and certainly don't need to be a programmer to know that 'MM/DD/YYY' isn't a date and that '@.@.@.@.@' isn't a real email address.  People who can't get that, should be directed to an 800 number because they'll have much problems using the software than can be addressed by more descriptive error messages. 

  • (cs) in reply to DZ-Jay
    DZ-Jay:
    Anonymous:
    All regular expressions can be implemented using a finite state machine, basic result of computer science. Finite state machines cannot check if a string with an arbitrary number of parens has all of them matching, since that would need an arbitrary number of states.

    If you feel different, please show us a regular grammar for a language that contains exactly the strings of the form '()', '(())', '((()))', etc.

    That said, the "regular expressions" present in modern computer languages have more features that make matching matching parens possible; but that just means they're not real regular expressions.

    So you're both right.

    Remco



    So what you are saying is that the "regular expressions" that are used in actual practice, i.e. those present in modern computer languages (that are not real regular expressions, but extended versions of them), can actually perform matching parens tests to a degree, right?

    In that case, the point of the original poster claiming that regular expressions "CANNOT" match parentheses is moot, as we are talking about using practical implementations of regular expressions in modern computer languages -- you know, what we actually use to code with -- not as purely theoretical mathematical models.

        -dZ.


    Consider this analogy: You have a bicycle.  You put two more wheels on it, but still call it a bicycle.  Guess what?  That does not make it a bicycle.

    With the extensions to REs being discussed, the expressions are no longer REs.  They may be very useful, but they are not REs.

    Sincerely,

    Gene Wirchenko

  • (cs) in reply to Gene Wirchenko

    It's trivial to use regexes-plus-a-little-code to determine whether parentheses in a string are balanced, of course.

    sub is_balanced($)
    {
        my $string = shift;
        $string =~ s/[^()]//g; # strip everything but parentheses
        1 while $string =~ s/()//;# strip parentheses in balanced pairs
        return $string eq ""; # balanced iff there is nothing left
    }

  • dave (unregistered)

    The real WTF is the use of the rather strange and illogical American date format.

    Other than that - the testers are on the ball - the purpose of error messages is to tell the user what went wrong, not give nebulous messages that don't actually say anything useful (as an example I've been fighting with ImageMagick all this weekend with useless error messages which don't actually tell you the real problem: out of memory and out of disc space).

  • (cs) in reply to TJ
    Anonymous:

    damn your pretty smart.

    That's not a very nice thing to say. What's his pretty smart ever done to you?
  • (cs) in reply to dave

    Anonymous:
    The real WTF is the use of the rather strange and illogical American date format.

    Other than the fact that you apparently aren't used to it, what's illogical about it?

  • (cs) in reply to Marni

    Anonymous:
    To say 'testers' are idiots and 'developers' are lazy as some have done on this post is a sign of peevishness and probably not appreciated by most of us. So, why don't you guys that do that sort of thing shut up and get some sleep.

    You're right.  I was out of line to select * from Testers where Clue > 0.  I offer my sincere apology to testers the world over.

    It's only the testers mentioned in the original post of this thread who are clueless.

  • (cs) in reply to Iago

    Iago:
    Anonymous:

    damn your pretty smart.

    That's not a very nice thing to say. What's his pretty smart ever done to you?

    Hallelujah, brother.  Their/they're/there, your/you're, etc.  It seems the bug really is in the details.  Long live the pedants!

  • (cs) in reply to FredSaw
    FredSaw:
    Anonymous:
    The real WTF is the use of the rather strange and illogical American date format.

    Other than the fact that you apparently aren't used to it, what's illogical about it?


    The fact that the parts are not in order of significance, which is very inconvenient for sorting.

    DD/MM//YYYY is fine, as is YYYY/MM/DD, but MM/DD/YYYY is just plain weird.

    But the biggest problem is that since DD/MM/YYYY is used elsewhere, you cannot tell what format a date uses just by looking at it if the day is <= 12. It is best to use the ISO standard YYYY-MM-DD when there's any chance that there will in international user base.
  • (cs) in reply to dave
    Anonymous:
    The real WTF is the use of the rather strange and illogical American date format.

    That is a security feature! Why do you think the US achieves surprise in so many invasions?

    And don't tell me Europeans are more logical - type in "cal 1752" to see what happened when they were in charge of dates. Nor the Babylonians - you'd think they'd have picked octal or hex if they were going to deviate from decimal, but nooooo, it has to be f'ing base 12.
  • (cs) in reply to RyuO
    RyuO:
    Anonymous:
    The real WTF is the use of the rather strange and illogical American date format.

    That is a security feature! Why do you think the US achieves surprise in so many invasions?

    And don't tell me Europeans are more logical - type in "cal 1752" to see what happened when they were in charge of dates. Nor the Babylonians - you'd think they'd have picked octal or hex if they were going to deviate from decimal, but nooooo, it has to be f'ing base 12.


    The French -- France is in Europe BTW -- came up with a base 10 system, commonly called "metric".  It gets commonly used pretty much the world around, except for the U.S.A.  The French also came up with a decimal calendar with ten months.

    Sincerely,

    Gene Wirchenko

  • (cs) in reply to Gene Wirchenko
    Gene Wirchenko:
    RyuO:
    Anonymous:
    The real WTF is the use of the rather strange and illogical American date format.

    That is a security feature! Why do you think the US achieves surprise in so many invasions?

    And don't tell me Europeans are more logical - type in "cal 1752" to see what happened when they were in charge of dates. Nor the Babylonians - you'd think they'd have picked octal or hex if they were going to deviate from decimal, but nooooo, it has to be f'ing base 12.


    The French -- France is in Europe BTW -- came up with a base 10 system, commonly called "metric".  It gets commonly used pretty much the world around, except for the U.S.A.  The French also came up with a decimal calendar with ten months.

    Sincerely,

    Gene Wirchenko


    France has a ten month calendar?! I'll pass that on to my Pentagon colleagues - a two month window is just about right...

    Oh, hold on - it was not the calendar I was thinking of. Thermidor and Fructidor were the 11th and 12th months. Besides, the French military was pretty good back then.

    Again, the refusal of the US to adopt the metric system is a security feature. Invading metrically based armies are more likely to run out of petrol or drive too fast and have accidents.
  • (cs) in reply to Anthony
    Anonymous:
    GoatCheez:
    Oh yes, of course, how stupidly retarded of me. Let me rework all of my code and center it around completely 100% retarded monkeys. Let me make sure that my verification code is five billion lines wrong and littered with stuff that will check stuff like:

    (assuming we are using internet only e-mail)

    Given:
    [email protected]n
    Response:
    con is not a valid top-level domain name.



    That would be bad even if it was cheap to do. New top-level domains do appear from time to time, like the new .eu and proposed .sex domains. Not to mention cases like .co.uk<o:p></o:p>

    <o:p> </o:p>Attempting to enumerate all valid email address suffixes and disallow all others will just create ongoing maintenance work, and sooner or later it won't be done and your system will fall into obsolescence faster than it has to. <o:p></o:p>

    <o:p> </o:p>
    Not to mention that very few things piss me off as a user more than a system that won't accept my perfectly valid input.<o:p></o:p>

    <o:p> </o:p>
    In short, it's extra work,  and makes the system less flexible.<o:p></o:p>



    sarcasm....
  • (cs) in reply to RyuO
    RyuO:
    Again, the refusal of the US to adopt the metric system is a security feature. Invading metrically based armies are more likely to run out of petrol or drive too fast and have accidents.


    LOL

    There's a reason train track widths were standardized in the US immediately after the Civil War.
  • Josh (unregistered) in reply to Eli

    3-4 years ago when I was writing an email address parser that consumed input from users on the internet I found that comments were pretty common.

  • (cs) in reply to RyuO
    RyuO:
    Oh, hold on - it was not the calendar I was thinking of. Thermidor and Fructidor were the 11th and 12th months. Besides, the French military was pretty good back then.


    They did, however, have a 10 day week (with 3 weeks to the month and 5 days that ddidn't belong to any month) - which was probably the reason it didn't stick: fewer free days. There was also a plan to make a day have 10 hours of 100 minutes of 100 seconds (which would make a second only 14% shorter than with the current system), but it was never implemented because it was deemed too much effort to replace all existing clocks even back then.
  • Mark H (unregistered) in reply to Rhialto
    Anonymous:


    But the error message IS correct! It read "The date entered is not valid. Dates must be entered in the MM/DD/YYYY format." which is perfectly fine. The first sentence describes the situation. The second one is additional information that simply does not apply in this case but is still correct.



    I hope you're not a native English speaker. The second sentence may indeed be just a "helpful hint" thrown in there for the user, but nobody reading those two sentences in that order can possibly be expected to recognize that one is specific to their problem and the other is just general advice.
  • duh (unregistered) in reply to JR

    obviously

  • (cs) in reply to Mark H

    Anonymous:
    Anonymous:


    But the error message IS correct! It read "The date entered is not valid. Dates must be entered in the MM/DD/YYYY format." which is perfectly fine. The first sentence describes the situation. The second one is additional information that simply does not apply in this case but is still correct.



    I hope you're not a native English speaker. The second sentence may indeed be just a "helpful hint" thrown in there for the user, but nobody reading those two sentences in that order can possibly be expected to recognize that one is specific to their problem and the other is just general advice.

    Fewer than 10% of the nonTechnical people that I know who use a PC as part of their work duties would have a problem distinguishing what was need from the error message given for the date.  Of those 10%, more than 80% would get it after a 5 minutes of training.  Of the remaining ones, almost no error message would suffice in allowing them to get it.  If the users can't get it with the listed error message, then training is probably the best and certainly most economical solution. 

    I would imagine that given the size of the application in question and the apparent detailed and the apparent customized need for error messages it could easily cost well over $50,000 dollars (figured at $100/hr for time for all business stakeholders, developers, project managers, QA personnel, management, requirements analysts, etc. to derive the specifications, develop them, test them, and completely debug them to client's satisfaction: 5000 total man hours * 100/hour = $50,000) to modify the error handling system to meet client expectations.  Now if the client manager who is autorizing payment for this application wishes to fork over the money, then the developers certainly should do it.  However, extremely rare is the case where this is justified and even rarer is the case where a manager will agree to expend should a relatively extravagent amount of money for what will most likely be a negative ROI.  BTW the $50,000 dollars does not include opportunity cost of delaying deployment and use of the application until the enhanced error messages were added and debugged. 

    Certainly the error message isn't the most clearest nor does it form a contract describing the desired results with vertually no room for misinterpretaion.  However not very much description is needed for the vast majority of computer literate users to discern what needs to go there.  It just doesn't make sense to pay for a Cadallic why a Chevy more that meets what is needed.

  • (cs) in reply to lrb
    lrb:

    Anonymous:
    Anonymous:


    But the error message IS correct! It read "The date entered is not valid. Dates must be entered in the MM/DD/YYYY format." which is perfectly fine. The first sentence describes the situation. The second one is additional information that simply does not apply in this case but is still correct.



    I hope you're not a native English speaker. The second sentence may indeed be just a "helpful hint" thrown in there for the user, but nobody reading those two sentences in that order can possibly be expected to recognize that one is specific to their problem and the other is just general advice.

    Fewer than 10% of the nonTechnical people that I know who use a PC as part of their work duties would have a problem distinguishing what was need from the error message given for the date.  Of those 10%, more than 80% would get it after a 5 minutes of training.  Of the remaining ones, almost no error message would suffice in allowing them to get it.  If the users can't get it with the listed error message, then training is probably the best and certainly most economical solution. 

    I would imagine that given the size of the application in question and the apparent detailed and the apparent customized need for error messages it could easily cost well over $50,000 dollars (figured at $100/hr for time for all business stakeholders, developers, project managers, QA personnel, management, requirements analysts, etc. to derive the specifications, develop them, test them, and completely debug them to client's satisfaction: 5000 total man hours * 100/hour = $50,000) to modify the error handling system to meet client expectations.  Now if the client manager who is autorizing payment for this application wishes to fork over the money, then the developers certainly should do it.  However, extremely rare is the case where this is justified and even rarer is the case where a manager will agree to expend should a relatively extravagent amount of money for what will most likely be a negative ROI.  BTW the $50,000 dollars does not include opportunity cost of delaying deployment and use of the application until the enhanced error messages were added and debugged. 

    Certainly the error message isn't the most clearest nor does it form a contract describing the desired results with vertually no room for misinterpretaion.  However not very much description is needed for the vast majority of computer literate users to discern what needs to go there.  It just doesn't make sense to pay for a Cadallic why a Chevy more that meets what is needed.



    5000x100=50,000?


  • (cs) in reply to ammoQ

    ammoQ:

     


    5000x100=50,000?


     

    Sorry, it should have been 500x100=50,000. 

Leave a comment on “The Bug is in the Details”

Log In or post as a guest

Replying to comment #:

« Return to Article