• Someone (unregistered) in reply to jonsjava
    jonsjava:
    Wow. Gotta say, it must be this guy He seems like a crock. Maybe I'm wrong, but doesn't this seem like a spin on the story:
    http://uk.linkedin.com/in/garymailer:
    # Analyst Developer Aardvark Media

    (Privately Held; 1-10 employees; Internet industry)

    May 2001 — September 2001 (5 months)

    • Identified opportunity and facilitate implementation of improvement of core application for major client.
    • Played a major role in the team that developed an innovative Pan-European Extranet for Siemens Communications.
    • As part of team identified the business and functional requirements.
    • Designed and developed parts of the system that met those requirements within timescale and budget.
    • Facilitated regular project reviews both internally and with client, face to face.

    Analyst Developer Motion Pixels

    (Privately Held; 1-10 employees; Information Technology and Services industry)

    August 2000 — February 2001 (7 months)

    • Management of ongoing systems development and enhancement of large client website.
    • Undertook requirement analysis, systems design and implemented solutions, and provided support for new pieces of development. Including black box and user acceptance testing.
    • Identified opportunities for improvements as well as ensuring they were commercially viable.

    For sure....

    Bachelor Science, Majoring in Business Information Technology.

    I scoff at any degree that adds 'Business' to the title....

  • Herby (unregistered)

    Yes, quite a few "technical" books are very poor (or worse) quality. Fortunately there ARE some that are very nicely written: http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&s=books&qid=1270587120&sr=1-1 Unfortunately this is an exception to the rule (SIGH). If more books of a technical nature were written as this example, technical libraries would be MUCH smaller due to the consise nature of the content. For now we can only dream.

  • Joseph (unregistered)

    Noone able to find an equivalent Steve? Well, that is a coincidence, that a perfectly anonimized (?) name like Gary comes up with such results....

  • blunder (unregistered) in reply to Drew
    Drew:
    Arrays? Seriously? Can't get your head around arrays?

    Recursion, maybe I could excuse. Certain kinds of trees if you haven't messed with them in a while. But arrays?

    Not knowing recursion is inexcusable. Why the "recursion is ivory tower" thing pops up on here every week (unless I'm being trolled?) just makes me weep. It's first week stuff. That there are even people out there in the profession who are so intellectually lazy to have avoid recursion for years and years explains pretty well why a site like TDWTF exists in the first place.

  • somedudenamedbob (unregistered) in reply to Crash
    Crash:
    Let's work from left to right to see what's wrong with this simple one-liner. This is narrated in the voice of the PHP while attempting to run the code.

    echo - Okay, we're going to print something to the screen. Got it, we're ready. Let's do this!

    if - Wait, what? 'If' doesn't return anything so how can we echo this? Oh boy.

    isset - alright, so we're inside a conditional apparently. Let's check if this variable is set...that's not a variable, that's an expression! Who let this moron near a computer? Let's try to evaluate the expression anyway. Alright, $bob plus 1000. I really hope $bob is a number of some kind in order for that expression to work. Let's assume it's correct and $bob is, in fact, an integer - we'll pretend $bob = 1. isset(1+1000)...WTF? see below explanation of isset.

    ; (semicolon) - The conditional is done...and we have no instructions to execute after it so it does nothing...this was a waste of time.

    isset is a PHP construct that tests variables to see if they're set to a value. You can pass it multiple variables, each variable as a parameter. You can't pass it an expression or it will vomit up a parse error.

    Captcha: vulputate. Sounds dirty.

    Maybe the poor fool forgot Perl and PHP were actually two distinct languages that are for the most part completely different.

    Gary: But they both use the dollar sign thingy...

  • shocked (unregistered) in reply to SR

    O my, I actually worked with the first author listed, after the book was written. I was shocked he had actually helped write a book. He then told me they had asked him to write another on cakePHP, I asked him "oh you know cakePHP?" his answer, "oh no I don't but I'll learn it before starting the book."

  • umm.. (unregistered) in reply to SR
    SR:
    SonicLover:
    CAPTCHA: aptent - a tent Gary definitely has not been camping under

    Wanna go camping? There's an app for that.

    I'll get my coat.

    Don't go! He's probably this guy.

    captcha: genitus - how appropriate

  • (cs) in reply to Joseph
    Joseph:
    Noone able to find an equivalent Steve?

    Pick one.

  • NeXEkho (unregistered) in reply to Robert

    Haha, you haven't tried reading some of the games design bilge. Awful, incorrect, plagiarist, and often by the makers of the engine.

    Mastering Unreal Technology in particular.

    CAPTCHA: suscipit

  • Chaos Rocks (unregistered) in reply to Remy Porter
    Remy Porter:
    I love LISP because its syntax is so simple.
    Correction:

    (if (simple (syntax)) (love (I LISP)) agckdie)

  • epsalon (unregistered)

    From the book:

    [image]

    Stupid spam filter thinks my comment is spam! Well, it isn't!

  • (cs) in reply to Chaos Rocks
    Chaos Rocks:
    (if (simple (syntax)) (love (I LISP)) agckdie)

    No, no. More like this:

    (if (hasProperty simpleSyntax LISP) (iLove LISP) agckdie)

    Seriously, though. LISP has the simplest syntax of any language. It has only one data structure- the list. A list has only one rule- the first element in a list must be a function name. The value of a list is the result of applying the function to the other elements in the list.

    There's obviously a lot more to the language- closures, macros, etc., but the actual syntax is simplicity itself.

  • Tom (unregistered) in reply to Stanley H. Tweedle
    Stanley H. Tweedle:
    if ( $condition ) { statement; }

    ...

    However PHP does not allow this...

    if ($value) { // Thing to do }

    Is perfectly valid in PHP.

  • Chaos Rocks (unregistered) in reply to Remy Porter
    Remy Porter:
    LISP has the simplest syntax of any language. It has only one data structure- the list.
    Machine language (the only real language; what everything else gets turned into, eventually) has one data structure: the bit.
  • (cs) in reply to Chaos Rocks
    Chaos Rocks:
    Machine language (the only real language; what everything else gets turned into, eventually) has one data structure: the bit.

    Not really true. It has one syntax element, the op-code, and two data structures- addresses and registers. It's still syntactically simple, but op-codes are far less expressive than s-expressions.

    "Give me an s-expression and a place to run it, and I shall move the Earth." - Lispimedies of Syracuse.

    Addendum (2010-04-06 18:32):

    Chaos Rocks:
    Machine language (the only real language; what everything else gets turned into, eventually) has one data structure: the bit.

    Not really true. It has one syntax element, the op-code, and two data structures- addresses and registers. It's still syntactically simple, but op-codes are far less expressive than s-expressions. And this is all assuming one of the more common architectures.

    And, of course, on a LISP Machine, many LISP operations are executed directly in hardware, obviating the need for machine code entirely. There are similar things for Forth and C.

    "Give me an s-expression and a place to run it, and I shall move the Earth." - Lispimedies of Syracuse.

  • (cs) in reply to Remy Porter

    Wow, so… my edit broke, then. Ignore the first part, read the addendum.

  • Mick (unregistered) in reply to Tom
    Tom:
    Stanley H. Tweedle:
    if ( $condition ) { statement; }

    ...

    However PHP does not allow this...

    if ($value) { // Thing to do }

    Is perfectly valid in PHP.

    I think what OP was saying (albeit not so clearly) that the 3 forms were equivalent in perl, however PHP doesn't allow the variations (only the original if)

  • 50% Opacity (unregistered)

    Wow, I used to work with a "Gary" as well. Our Gary didn't comment on everybody's code, but he was just as incompetent. He talked his way past management as well, even insisted on a very special keyboard that he needed (which I'm using now, it's actually pretty good). He kept asking the simplest things and never got his head around objects. Apparently at some point he just stopped learning, even commenting sometimes "I don't need to know this." When one of his really simple projects, a simple multi-step sign-up form, bombed completely, he was finally let go.

    Representative lines:

    $id = /* long code to generate id */;
    while (!isUnique($id)) {
        $id = /* long code to generate id */;
    }
    

    and

    $anArray['a'] = $otherArray['a'];
    $anArray['b'] = $otherArray['b'];
    $anArray['c'] = $otherArray['c'];
    $anArray['d'] = $otherArray['d'];
    … and so on …
    

    Last I heard he was programming iPhone apps. Which is amazing, since apparently he learned something new. But even the description in the AppStore has apologetic undertones a la "App depends on 3rd party service, if it don't work, me no fault."

  • Kef Schecter (unregistered) in reply to Steve H
    Steve H:
    You really think you can only put a variable in an if()?

    Somebody fails at reading comprehension.

    (Hint: isset() is not 'if'.)

    Remy Porter:
    Seriously, though. LISP has the simplest syntax of any language.

    I see your LISP and raise you Forth. Forth doesn't even need the parentheses! (Imagine an RPN calculator generalized to a complete programming language, and that's basically Forth.)

    Now, if we're only talking about languages that are actually usable by human beings, I'll agree and say that LISP has the simplest syntax. :)

  • Zarggg (unregistered) in reply to Crash

    "Vulputate" is when you cut off your fox.

  • (cs) in reply to jonsjava
    jonsjava:
    Wow. Gotta say, it must be this guy He seems like a crock. Maybe I'm wrong, but doesn't this seem like a spin on the story:
    http://uk.linkedin.com/in/garymailer:
    # Analyst Developer Aardvark Media

    (Privately Held; 1-10 employees; Internet industry)

    May 2001 — September 2001 (5 months)

    • Identified opportunity and facilitate implementation of improvement of core application for major client.
    • Played a major role in the team that developed an innovative Pan-European Extranet for Siemens Communications.
    • As part of team identified the business and functional requirements.
    • Designed and developed parts of the system that met those requirements within timescale and budget.
    • Facilitated regular project reviews both internally and with client, face to face.

    Analyst Developer Motion Pixels

    (Privately Held; 1-10 employees; Information Technology and Services industry)

    August 2000 — February 2001 (7 months)

    • Management of ongoing systems development and enhancement of large client website.
    • Undertook requirement analysis, systems design and implemented solutions, and provided support for new pieces of development. Including black box and user acceptance testing.
    • Identified opportunities for improvements as well as ensuring they were commercially viable.
    Strangely enough that guy and myself have a link in common.
  • (cs) in reply to Kef Schecter

    Forth is one I haven't played with. I'm working on playing with Haskell in my free time.

  • DH (unregistered) in reply to Remy Porter
    Remy Porter:
    Forth is one I haven't played with. I'm working on playing with Haskell in my free time.

    Me neither, I got as far as Therd and lost interest....Sekond was pretty cool, though!!

  • pH paper (unregistered) in reply to Anonymous Coward
    Anonymous Coward:
    Why would you use PHP or Perl on a CD-ROM website?
    Ding ding ding, we have a winner! This is the real WTF.
  • (cs) in reply to blunder
    blunder:
    Drew:
    Arrays? Seriously? Can't get your head around arrays?

    Recursion, maybe I could excuse. Certain kinds of trees if you haven't messed with them in a while. But arrays?

    Not knowing recursion is inexcusable. Why the "recursion is ivory tower" thing pops up on here every week (unless I'm being trolled?) just makes me weep. It's first week stuff. That there are even people out there in the profession who are so intellectually lazy to have avoid recursion for years and years explains pretty well why a site like TDWTF exists in the first place.

    Recursion's inherently hard for some people because it requires you to think inside out.

    Now, concurrent processing, that requires you to think and not think simultaneously.

  • NotDomo (unregistered) in reply to WebDevHobo
    WebDevHobo:
    Years later huh?

    Pre-broadband days you say?

    Well, a lot can happen, given enough time. It's easy to just sit here and laugh, thinking Gary is still the dumb clutz he was at that time. But him getting fired might have been the spark he needed to take developing more seriously.

    11 jobs in 10 years looks like one weak "spark" to me...

  • Kai (unregistered) in reply to Crash

    Disclaimer: I know nothing about PHP.

    On to the point, does PHP have pointers? If it was a pointer, then at least the isset would make sense, right?

  • Kef Schecter (unregistered)

    Nope, PHP doesn't have anything like a pointer, just the "assign by reference" semantics that most dynamic languages have.

  • Darius (unregistered) in reply to Anonymous
    Anonymous:
    Cygnus:
    One of the worst programmers (though a very nice person) I ever worked with went on to publish several programming books. I thought about purchasing one or more out of curiosity but I didn't want to waste my money. Strange how those who "can't do" seem to think they can teach.
    Those who can, do. Those who can't, teach.

    Well, it explains why a lot of books are nothing more than paraphrased Help files. I prefer to spend money buying software to learn first hand, rather than books about the software.

  • Bryan (unregistered) in reply to blunder
    blunder:
    Drew:
    Arrays? Seriously? Can't get your head around arrays?

    Recursion, maybe I could excuse. Certain kinds of trees if you haven't messed with them in a while. But arrays?

    Not knowing recursion is inexcusable. Why the "recursion is ivory tower" thing pops up on here every week (unless I'm being trolled?) just makes me weep. It's first week stuff. That there are even people out there in the profession who are so intellectually lazy to have avoid recursion for years and years explains pretty well why a site like TDWTF exists in the first place.

    Sadly I understand recursion but can't use it were I work. We use MUMPS which does not handle it well(tends to die).

  • SomeHo (unregistered)

    did anyone else misread "homey" as "horny"?

  • sdf (unregistered) in reply to Bryan
    Bryan:
    blunder:
    Drew:
    Arrays? Seriously? Can't get your head around arrays?

    Recursion, maybe I could excuse. Certain kinds of trees if you haven't messed with them in a while. But arrays?

    Not knowing recursion is inexcusable. Why the "recursion is ivory tower" thing pops up on here every week (unless I'm being trolled?) just makes me weep. It's first week stuff. That there are even people out there in the profession who are so intellectually lazy to have avoid recursion for years and years explains pretty well why a site like TDWTF exists in the first place.

    Sadly I understand recursion but can't use it were I work. We use MUMPS which does not handle it well(tends to die).

    Gets the mumps....

  • K (unregistered) in reply to Anonymous

    Aww man! You scared him away!

  • Redled (unregistered) in reply to Someone

    This story is a fake, too big.

    A book about PHP that wouldn't speak about arrays ???

    What's more, the featured PHP statement really looks like one which is invented by an average coder that would think like "what would be the worst possible statement ?"

    I mean, why would Gary have written that ? What would he be trying to do ? Even retarded, even drunk, even the baddest coder ever wouldn't write this. This never happends in real life.

    But now you have 300 comments on ThedailyWTF, here's the glory...

  • iWerner (unregistered) in reply to Redled
    Redled:
    This story is a fake, too big.

    A book about PHP that wouldn't speak about arrays ???

    What's more, the featured PHP statement really looks like one which is invented by an average coder that would think like "what would be the worst possible statement ?"

    I mean, why would Gary have written that ? What would he be trying to do ? Even retarded, even drunk, even the baddest coder ever wouldn't write this. This never happends in real life.

    But now you have 300 comments on ThedailyWTF, here's the glory...

    You must be new here

  • (cs)

    After reading all these comments on how difficult recursion supposedly is compared with loops and arrays, I suddenly feel so 'smart'... though I used loops in BASIC, when I switched to HyperTalk, for ages I didn't realise loops still existed (I guess I couldn't find 'wend' in the documentation?) and did all looping by recursion. I even had to put in some extra code to avoid the 'too much recursion' errors when I recurso-looped too many times. My only excuse is I was 14 at the time and it was only my second programming language.

    With WTF skills like that, I could have been a star.

  • (cs) in reply to jonsjava
    jonsjava:
    Forgot to mention: his CV looks like a bad movie sequel, "Fired in 60 Seconds":

    Left after 2 years Left after 7 months Left after 5 months Left after 8 months Left after 2 months Left after 5 months Left after 1 month Left after 7 months Left after 2 years, 8 months (getting nitpicky now) Left after 11 months And last, but not least:

    2 years, 7 months That makes 11 jobs in 10.9 years.

    This is a very WTF attitude. I have also had a lot of jobs in the last 12 years, back in the late 90s the contract market was like that. There was also a dot-com crash in 2001 and you were lucky to get any work at all. In the mid-2000s a lot of companies were starting to outsource their work out. The decisions are usually made by someone upstairs with regards to head-counts and has nothing whatsoever to do with the person's programming ability at all.

    I also have no reason to believe that this is the same Gary, in fact the person in the real story probably wasn't even called Gary, they change names here...

  • Redled (unregistered) in reply to iWerner
    iWerner:
    You must be new here
    No I'm not.

    Other stories are credible. This one is not.

    With most of other stories, you can tell "Well, I can see how he went wrong", most are about wrong solutions to known problems.

    He it's as credible as a ten-years old child who says "hey, I know a guy who's so stupid that one day, he forgot how to walk"...

    if echo(isset($bob + 1000))... Who can believe this ? I mean, what can be the context ?

  • Anonymous (unregistered) in reply to Cbuttius
    Cbuttius:
    jonsjava:
    Forgot to mention: his CV looks like a bad movie sequel, "Fired in 60 Seconds":

    Left after 2 years Left after 7 months Left after 5 months Left after 8 months Left after 2 months Left after 5 months Left after 1 month Left after 7 months Left after 2 years, 8 months (getting nitpicky now) Left after 11 months And last, but not least:

    2 years, 7 months That makes 11 jobs in 10.9 years.

    This is a very WTF attitude. I have also had a lot of jobs in the last 12 years, back in the late 90s the contract market was like that. There was also a dot-com crash in 2001 and you were lucky to get any work at all. In the mid-2000s a lot of companies were starting to outsource their work out. The decisions are usually made by someone upstairs with regards to head-counts and has nothing whatsoever to do with the person's programming ability at all.

    I also have no reason to believe that this is the same Gary, in fact the person in the real story probably wasn't even called Gary, they change names here...

    Utter rubbish, 11 jobs in less than 11 years just reeks of incompentence. I wouldn't dream of even offering this guy an interview.
  • kftt (unregistered) in reply to Remy Porter
    Remy Porter:
    Joseph:
    Noone able to find an equivalent Steve?

    Pick one.

    Advanced PHP for Flash? Thats like "Get the plague while you still have cancer. And gonorrhea for dessert!"

  • (cs) in reply to Remy Porter
    Remy Porter:
    Seriously, though. LISP has the simplest syntax of any language. It has only one data structure- the list. A list has only one rule- the first element in a list must be a function name. The value of a list is the result of applying the function to the other elements in the list.
    That's oversimplifying. In reasonably modern LISPs there are also several different types of atoms with different syntaxes (e.g., strings) and there's also the array compound type. Moreover, you can't really understand LISP without understanding quote, quasiquote, etc. LISP is only syntactically simple if you ignore the things that make it simple, and gee, so are many other languages if you're allowed to do that...
  • Chopper (unregistered) in reply to Redled
    Redled:
    iWerner:
    You must be new here
    No I'm not.

    Other stories are credible. This one is not.

    With most of other stories, you can tell "Well, I can see how he went wrong", most are about wrong solutions to known problems.

    He it's as credible as a ten-years old child who says "hey, I know a guy who's so stupid that one day, he forgot how to walk"...

    if echo(isset($bob + 1000))... Who can believe this ? I mean, what can be the context ?

    I kinda see your point, but human stupidity knows no bounds.

    I once worked in a team which hired the self-proclaimed "best Perl programmer in the country". When he had finished his first piece of work, I had the job of reviewing it (review, mind you, this was supposed to be tested code), and the code he handed over was so screwed up that it wouldn't even compile. He was escorted out of the building the next day, still protesting that he was a better programmer than all of us....

  • callcopse (unregistered)

    Was it this guy?

    http://en.wikipedia.org/wiki/John_of_Nepomuk

    Inviolability of the confessional is TRWTF

  • Redled (unregistered) in reply to Chopper
    Chopper:
    I kinda see your point, but human stupidity knows no bounds.

    I once worked in a team which hired the self-proclaimed "best Perl programmer in the country". When he had finished his first piece of work, I had the job of reviewing it (review, mind you, this was supposed to be tested code), and the code he handed over was so screwed up that it wouldn't even compile. He was escorted out of the building the next day, still protesting that he was a better programmer than all of us....

    For sure, I've seen some very bad programmers too, in real life, forums, on this site, bad programmers that pretends they're great...

    But here, I cannot even find one single case in which the stupidiest guy on earth could write something like "echo if(isset($bob + 1000));". Please tell me just one case, one weirdest way of thinking.

    Second thing, it would mean that the guy had never launch his code during all those X weeks. Because if he writes this, then he has for sure written such things everywhere in his code. Actually, it would mean that the guy has never written PHP before, simply. Even programming, because he doesn't even know what is an "if" here...

    And when you don't know what is an "if", then you don't know what is an array either.

  • Redled (unregistered)

    And yes, human stupidity HAS bounds. Sometimes it transcends your imagination, that's all :D

  • Gary (unregistered) in reply to Crash

    Finaly, now i know who to blame for me being fired ! Rick, i will get my revenge !

  • (cs)

    Beginning PHP, Apache, MySQL?

  • Pedants R Us (unregistered) in reply to DH
    DH:
    Remy Porter:
    Forth is one I haven't played with. I'm working on playing with Haskell in my free time.

    Me neither, I got as far as Therd and lost interest....Sekond was pretty cool, though!!

    God help us. How can geeks shake their reputation for not knowing how to behave around women if they get to Therd and lose interest. The goal is in sight man!

  • Anonymous (unregistered) in reply to Remy Porter
    Remy Porter:
    Seriously, though. LISP has the simplest syntax of any language. It has only one data structure- the list. A list has only one rule- the first element in a list must be a function name. The value of a list is the result of applying the function to the other elements in the list.
    LISP fan eh? These must be yours then:

    ((((((((((((((((((((((((((((((((((((((((( ))))))))))))))))))))))))))))))))))))))))) ((((((((((((((((((((((((((((((((((((((((( )))))))))))))))))))))))))))))))))))))))))

  • (cs) in reply to dkf
    Redled:
    if echo(isset($bob + 1000))... Who can believe this ? I mean, what can be the context ?

    That line was copied directly from the submission. I don't know the context either, but having seen similar code in the past, I find it quite plausible.

    kftt:
    Advanced PHP for Flash? Thats like "Get the plague while you still have cancer. And gonorrhea for dessert!"

    chortle That pretty much sums up my feeling on PHP and Flash. More the Flash than the PHP.

    dkf:
    That's oversimplifying. In reasonably modern LISPs there are also several different types of atoms with different syntaxes (e.g., strings) and there's also the array compound type. Moreover, you can't really understand LISP without understanding quote, quasiquote, etc. LISP is only syntactically simple if you ignore the things that make it simple, and gee, so are many other languages if you're allowed to do that...

    Strings and arrays aren't really needed in LISP. And quote, quasiquote aren't syntax- they're functions that have an optional syntactic sugar. You could remove the sugar without changing the language.

    But mostly, I love LISP because I secretly love parentheses.

Leave a comment on “It's a Linear Failure Structure”

Log In or post as a guest

Replying to comment #:

« Return to Article