I hate nerds



  • This message came up while trying to register a technorati account.

    Photobucket

    Seriously, I don't care that they can't handle accented characters and I have to misspell my last name. 

    But that message? Really?



  • You are correct.  That error message is wrong.  Even properly coded that would be 10 bytes at most, wouldn't it.



  • @Medezark said:

    You are correct.  That error message is wrong.  Even properly coded that would be 10 bytes at most, wouldn't it.

    That's exactly the problem, to my eyes. It's not that the error message is stupid (although it is), but that it's conflating two totally different things: characters and bytes. Since we don't know how many bytes are used to store each character, the message is worse than useless.

    The good news is that it's almost certainly actually counting characters and they just wrote "bytes" to be cute.



  • @blakeyrat said:

    The good news is that it's almost certainly actually counting characters and they just wrote "bytes" to be cute.

    ... except that the message doesn't make them look cute, it makes it look like they don't understand the concept of multi-byte character encodings. Which they apparently don't, since they can't handle accented characters. Maybe the really are using ASCII on the backend?



  • I can make it 28 bytes. UTF-32 charset is 4 bytes / character, which would be 20 bytes. Add a unicode BOM on the start = +4 bytes. Create "ó" using combining accent + o instead of a single pre-combined character = +4 more bytes. = 28 bytes.

    I could only get it higher using hidden / non-printing characters, which would be your own fault.

     

    The most likely option is that the form is submitting in UTF-16, and the byte order is making the first byte be 0 (due to the first character being basic ascii, i.e. code page 0). The server is interpretting the form data as an 8-bit charset (most likely plain ascii, but could be utf-8), as a null-terminated string, sees the 0, and assumes it's a 0-length string. If your browser submitted as UTF-8 it would work fine, but IE...



  • @arotenbe said:

    @blakeyrat said:
    The good news is that it's almost certainly actually counting characters and they just wrote "bytes" to be cute.

    ... except that the message doesn't make them look cute,

    I said they were attempting to be cute, not that they were succeeding.

    @arotenbe said:

    it makes it look like they don't understand the concept of multi-byte character encodings. Which they apparently don't, since they can't handle accented characters. Maybe the really are using ASCII on the backend?

    Sadly, that also seems likely.



  • Maybe they encode them in UTF-64, in which case you have 1.125 too many characters.



  • @Thief^ said:

    The most likely option is that the form is submitting in UTF-16, and the byte order is making the first byte be 0 (due to the first character being basic ascii, i.e. code page 0). The server is interpretting the form data as an 8-bit charset (most likely plain ascii, but could be utf-8), as a null-terminated string, sees the 0, and assumes it's a 0-length string. If your browser submitted as UTF-8 it would work fine, but IE...

    The most likely option is that the developer is an absolute moron.  Here is a potential chronology that could lead to the existence of this error message:

    1. Developer builds page and puts absolutely no error handling in it.
    2. QA gets a hold of it, bangs on the keyboard, and manages to make the page crash in an ugly manner when the database column overflows.
    3. QA files bug explaining that typing more than 31 characters crashes the page.
    4. Moron developer adds an exception handler that catches all exceptions and assumes that the error is an overflow.  Moron developer also doesn't speak english and apparently the development team doesn't have an established manner of internationalizing error messages, so we get silly wording.
    5. No other bugs were filed related to the error handler on this page, so the fix succeeds in closing the bug without screwing up something else.

    This is a minor peek into a typical outsourcing/contracting job gone wrong.  The contrator oversold himself as a professional and the client doesn't have the experience to know that low-cost contractors need to be babysat 100% of the time.  I work with these people all of the time (many of them American), it drives me freaking crazy.  Come to think of it, I have yet to hire a contractor that can be trusted to properly handle errors in a block of code without going through ten cycles of code review.  The last code review I did uncovered that every single call looked like one of these two:

    try
    {
      ... stuff ...
    }
    catch (Exception ex)
    {
      throw ex
    }

    or

    try
    {
      ... stuff ...
    }
    catch (Exception ex)
    { }

    I'm not sure which is worse, but I am sure that there is no worse way to handle exceptions.  At least the second variation has a few uses in the real world.  The first does nothing other than make debugging harder and allow the dev to say "but I have an exception handler".



  • @Jaime said:

    I'm not sure which is worse, but I am sure that there is no worse way to handle exceptions.  At least the second variation has a few uses in the real world.  The first does nothing other than make debugging harder and allow the dev to say "but I have an exception handler".

    The latter is worse, because it completely hides exceptions. Real-life cases where it's useful are extremely rare. The first one is a waste of code lines, but at least it doesn't cause bad stuff to go unnoticed.



  • @Medezark said:

    You are correct.  That error message is wrong.  Even properly coded that would be 10 bytes at most, wouldn't it.

    Patón - 12 bytes



  • @Jaime said:

    The last code review I did uncovered that every single call looked like one of these two:

    try
    {
      ... stuff ...
    }
    catch (Exception ex)
    {
      throw ex
    }

    or

    try
    {
      ... stuff ...
    }
    catch (Exception ex)
    { }

    I'm not sure which is worse, but I am sure that there is no worse way to handle exceptions.  At least the second variation has a few uses in the real world.  The first does nothing other than make debugging harder and allow the dev to say "but I have an exception handler".

    I've always been fond of this:

    try
    {
       ... some stuff ...
    }
    catch (Exception e)
    {
       throw new Exception(e.Message);
    }

    I keep finding something very similar to that in the code around here (the bits I've found tend to do some formatting around the exception message).  Evidently it used to be a part of our coding standards.  Fortunately, we've gotten better.



  • @tdb said:

    @Jaime said:

    I'm not sure which is worse, but I am sure that there is no worse way to handle exceptions.  At least the second variation has a few uses in the real world.  The first does nothing other than make debugging harder and allow the dev to say "but I have an exception handler".

    The latter is worse, because it completely hides exceptions. Real-life cases where it's useful are extremely rare. The first one is a waste of code lines, but at least it doesn't cause bad stuff to go unnoticed.

    The obviousness of the second being worse is what makes the first so bad.  Empty catch blocks almost always get fixed.  Stupid catch blocks are much harder to discern from proper catch blocks.  "throw ex" is almost as bad as no handler because it throw the entire stack trace away.  Now you know that you had an error, but you have to guess where.


  • See? This is why I hate nerds

    You keep discussing all the techcrap WTF's, which is OK because there is plenty of it, but the biggest WTF is not what kind of messed up process ensued to end in this message, but the fact that it says "your lastname must be between x and x bytes".

    Come on people, this message is supposed to be read by common humans, not fucking robots, or geeks that can translate words into bytes, and know the ASCII or whatever table codes from memory.

    This message is on a public website registration form.

    Whomever wrote this message, for whatever reason or excuse, should be handled a military class wedgie, so he stops being an Aspergers wannabe and learns to communicate with other humans.1

    The god damned message should read something like
    "Sorry, we are to stupid to process non "american" last names, please change your last name to Smith or something easier for us to process. "

    1On the other hand, it might be just some Darwinian thing. I mean this guy's genes should be taken out of the human genepool, so being an idiot will reduce his chances of getting laid and procreating



  • @fatdog said:

    See? This is why I hate nerds

    You keep discussing all the techcrap WTF's, which is OK because there is plenty of it, but the biggest WTF is not what kind of messed up process ensued to end in this message, but the fact that it says "your lastname must be between x and x bytes".

     

    Apparently you just hate sarcasm.  Or at least can't detect it.  The very first reply was completely tongue-in-cheek.


  • @fatdog said:

    Come on people, this message is supposed to be read by common humans, not fucking robots, or geeks that can translate words into bytes, and know the ASCII or whatever table codes from memory.

    We all get, and I think it's safe to say completely agree, with your point. The problem is if nobody talked about the geeky stuff, or imagined how this came to be, there's literally nothing to talk about here.

    Unless you wanted a giant thread of "oh that is a bad message, I agree entirely" posted 50 times.



  • @Markp said:

    Apparently you just hate sarcasm.  Or at least can't detect it.  The very first reply was completely tongue-in-cheek.

    Yes I do, and I hate you too

    But don't feel so bad, it's nothing personal, I just hate a lot of people

    And don't worry about those geeks, I'm pretty sure they'll end up having kids one way or another



  • @fatdog said:

    See? This is why I hate nerds

    You keep discussing all the techcrap WTF's, which is OK because there is plenty of it, but the biggest WTF is not what kind of messed up process ensued to end in this message, but the fact that it says "your lastname must be between x and x bytes".

    This was created by one of two processes: insufficiently managed third-world outsourcing or the fact that 95% of developers don't realize how little they know.

    It turns out that outsourcing only pays back big if you allow the developers to screw everything up.  Most big studies of properly outsourced work only show a saving of a few percent.

    Also, I've found that programmers self-assessment is inversely proportional to their skill level.  In the first year, you learn a lot a feel like you are almost there.  Over the next 40 years, you keep realizing that you underestimated the skills that are needed to do the job right.  Essentially, every year you learn how to do X number of things, but you discover Y number of things that you don't have time to learn.  Y is much larger than X, so you ratchet down your self-assessment every year.



  • @blakeyrat said:

    We all get, and I think it's safe to say completely agree, with your point. The problem is if nobody talked about the geeky stuff, or imagined how this came to be, there's literally nothing to talk about here.

    Unless you wanted a giant thread of "oh that is a bad message, I agree entirely" posted 50 times.

    Yes I guess you are right, there's might be nothing to talk about besides the geeky stuff. Which I actually enjoy and approve (read the first paragraph), since I'm really curious about the mentall process of whomever decided to write that message.

    I guess I just had to rant and vent a bit more about this pet peeve of mine.

    Sorry, carry on.

    ...

    BTW, I hate you too



  • @fatdog said:

    I guess I just had to rant and vent a bit more about this pet peeve of mine.

    I share your pet peve, and i've let loose a few rants over the years about the same thing. We differ in the fact that i think the problem may be deeper rooted than just being a nerd.

    I think the problem is the faux-nerd, the guy who reads xkcd and installs ubuntu/kde and tells himself hes saving the world from M$, buys and android phone instead of an iPhone b/c apple is open and free but wouldnt be able to code hello world on the iPhone much less delve down to the hardware level where apple has placed restrictions. This guy makes genuinely intelligent people who work with computers seem less credible, because they say things that don't make sense and quite frankly generate a good deal of confusion (between these people and "tech movies" like the last die hard i'm surprised most people allow computers in their homes at all)

    so why is this happening, why do so many people want to seem smart? previously being a nerd was an insult and people fled from them like they had leprosy. so what changed?

    Information is now power in our culture, people who can turn data into useful info have a significant amount of control, and tend to lead successful lives. And how does this happen? computer magic! so these people look and see that many of todays millionaires became so with information services.

    Facebook produces no tangible products, its just a website some kid set up in his dorm room right? how hard could that be?


    So these faux-nerds start out with the aspiration of being real nerds and succeeding wildly, but that requires discipline and skill, and not everyones mind is able to conceive these types of problems. So they get discouraged, downtrodden and when they are about to give up, something happens.... They realize that if its hard for them and they actually want to know it, then it must be a complete mystery for the non-interested.

    Theres a whole group of people that they can impress without knowing anything.

    So then they begin the most annoying thing a person can do (this happens outside of IT as well) they steer every conversation towards topics that they can talk about(intelligently or otherwise). This guy put bytes not to be cool, but because he felt he had an understanding of how the DB stored strings and he wanted us to know that he knew.


    he is the kid in class that asked questions that were basically exactly what the teacher just said with a ? at the end so she would know he got it.

    he is the guy that asks asinine questions in company meetings so the higher-ups know that he can do the job they are paying him to do (b/c that should be impressive somehow).

    he is the most public face of nerdom and IT

    he must be stopped



  • I have it on good authority that that's not your last name.  Who's identity were you stealing this time to create a myspace page?

    Does last mean something different in your country?  is it synonymous with "not?"



  • @chikinpotpi said:

    (a bunch of stuff)... .

    Maybe it's a lost in translation or cultural thing, but to me a Nerd is not a the smart, tech savvy shy guy who can't get laid.
    To me a nerd is more like what you describe. And I think the word "annoying" is a must in my definition.

    It's the Big Bang Theory's Sheldons wannabe (without the being a genius) that irk me

    And I think you nailed it here

    @chikinpotpi said:

    This guy put bytes not to be cool, but because he felt he had an understanding of how the DB stored strings and he wanted us to know that he knew....

    @belgarionthedrag said:

    bla bla...

    How do you know that the last name you think you know as being my real one, it's not in reality just another identity theft?

    In any case, the last name I posted on the picture it's not even a lastname it means Big Footed, and it's a "corporate" account I had to create to submit a bunch of our clients blogs to technocrappy. I tried Pató after Moñoño Corazón de Jesús failed.

    And I hate you too too



  • @fatdog said:

    @chikinpotpi said:
    (a bunch of stuff)... .

    Maybe it's a lost in translation or cultural thing, but to me a Nerd is not a the smart, tech savvy shy guy who can't get laid.
    To me a nerd is more like what you describe. And I think the word "annoying" is a must in my definition.

     

    That's the traditional distinction between a "nerd" and a "geek", as I understand it. 



  • @chikinpotpi said:


    I share your pet peve, and i've let loose a few rants over the years about the same thing. ...snip ... 
    he must be stopped

     

    Holy carp dude. That's a lot to read into this single error message.

    It's probably a lot simpler than that or any of the equally convoluted  explanations posited here -- speaking specifically of the text of the stupid message.  A lot of times, developers don't or can't think of things in the terms of end users.  Even had this been the technically correct message, it likely just never occurred to him that anybody would look at this and not know what it meant.

    Those of us who can make the distinction -- and consequently are comfortable talking to The Users in their own terms --  are depressingly rare. 



  • @Buffled said:

    @chikinpotpi said:


    I share your pet peve, and i've let loose a few rants over the years about the same thing. ...snip ... 
    he must be stopped

     

    Holy carp dude. That's a lot to read into this single error message.

    It's probably a lot simpler than that or any of the equally convoluted  explanations posited here -- speaking specifically of the text of the stupid message.  A lot of times, developers don't or can't think of things in the terms of end users.  Even had this been the technically correct message, it likely just never occurred to him that anybody would look at this and not know what it meant.

    Those of us who can make the distinction -- and consequently are comfortable talking to The Users in their own terms --  are depressingly rare. 

     

    Maybe I've been sheltered from such people but I don't believe any developer would use the "between 1 and 31 bytes" message and think that this was the best way to notify the user that their input was of the incorrect length.  It has to be, as chikinpotpi states, an attempt at technical smart arsery.  That sort of person I have plenty of experience of and their excesses should be controlled in public facing systems.

    There's obviously nothing wrong with being intelligent but there is with being the sort of person who thinks they are being clever by counting in binary, outlining their plans in pseudo-code and describing characters as bytes in error message.



  • I see nothing bad in outlining my plans in pseudocode, given that no one except me is the intended audience for them.

     The WTF is to share such outlines with others.



  • @shimon said:

    I see nothing bad in outlining my plans in pseudocode, given that no one except me is the intended audience for them.

     The WTF is to share such outlines with others.

    What do you mean? I'm intrigued about pseudocoding plans.
    You mean like real life stuff planning on pseudocode?
    If so, anyone care to share an example pseudocode of a friday night date plan? (or something like that)



  • @Someone You Know said:

    @fatdog said:

    @chikinpotpi said:
    (a bunch of stuff)... .

    Maybe it's a lost in translation or cultural thing, but to me a Nerd is not a the smart, tech savvy shy guy who can't get laid.
    To me a nerd is more like what you describe. And I think the word "annoying" is a must in my definition.

     

    That's the traditional distinction between a "nerd" and a "geek", as I understand it. 

     

    Likewise. And then, of course, you've got 'dork' and 'dweeb' muddying the waters...



  • @fatdog said:

    @shimon said:

    I see nothing bad in outlining my plans in pseudocode, given that no one except me is the intended audience for them.

     The WTF is to share such outlines with others.

    What do you mean? I'm intrigued about pseudocoding plans.
    You mean like real life stuff planning on pseudocode?
    If so, anyone care to share an example pseudocode of a friday night date plan? (or something like that)

     

    Well, we had people on my degree who would write out and share stuff like...

    Goto Student Union
    Repeat
       Drink beer
    Until drunk
    Buy Kebab
    Eat Kebab
    Go home


     



  • @RTapeLoadingError said:

    @fatdog said:

    @shimon said:

    I see nothing bad in outlining my plans in pseudocode, given that no one except me is the intended audience for them.

     The WTF is to share such outlines with others.

    What do you mean? I'm intrigued about pseudocoding plans.
    You mean like real life stuff planning on pseudocode?
    If so, anyone care to share an example pseudocode of a friday night date plan? (or something like that)

     

    Well, we had people on my degree who would write out and share stuff like...

    Goto Student Union
    Repeat
       Drink beer
    Until drunk
    Buy Kebab
    Eat Kebab
    Go home

     

    Feel queasy

    Run to bathroom

    Repeat

        Vomit

    Until exhausted

    Collapse on bathroom floor

    Sleep



  • @PeriSoft said:

    @RTapeLoadingError said:

    @fatdog said:

    @shimon said:

    I see nothing bad in outlining my plans in pseudocode, given that no one except me is the intended audience for them.

     The WTF is to share such outlines with others.

    What do you mean? I'm intrigued about pseudocoding plans.
    You mean like real life stuff planning on pseudocode?
    If so, anyone care to share an example pseudocode of a friday night date plan? (or something like that)

     

    Well, we had people on my degree who would write out and share stuff like...

    Goto Student Union
    Repeat
       Drink beer
    Until drunk
    Buy Kebab
    Eat Kebab
    Go home

     

    Feel queasy

    Run to bathroom

    Repeat

        Vomit

    Until exhausted

    Collapse on bathroom floor

    Sleep

     

    From what I could judge their pseudocode should have been...

    For Beers =1 to 2
      Try to fit in
    Go home



  • Please do not hate the nerds

        


Log in to reply