• (cs)

    So did the hero impale the idiot on the unicorn's horn?

  • Bob Freeman (unregistered)

    Not Frist.

  • Herwig (unregistered)

    Huh? WTF? How do you implement progress bars?

  • Twilight Sparkle (unregistered)

    A sparkling unicorn? My pony senses are tingling... :)

  • GoodtimesSnuggler (unregistered)

    I think I speak on behalf of everyone.

    We need that gif.

    Seriously.

  • Matt (unregistered)

    Paragraph four: "produly" = "proudly"

  • wonk (unregistered)

    Well, at least the code reviews don't end in:

    My eyes! The goggles! They do nothing!

  • Give me your name first, then I'll give you mine (unregistered)
    merging document structure and implementation code in the same file _was a terrible idea_. Classic ASP was a bad thing, even by the standards of its day.

    So, by your standards PHP is also terrible. I'm not complaining - just verifying that your logic is consistent.

  • Andrew (unregistered) in reply to Give me your name first, then I'll give you mine
    Give me your name first:
    merging document structure and implementation code in the same file _was a terrible idea_. Classic ASP was a bad thing, even by the standards of its day.

    So, by your standards PHP is also terrible. I'm not complaining - just verifying that your logic is consistent.

    There's still debate about that??

  • qazwsx (unregistered) in reply to Give me your name first, then I'll give you mine
    Give me your name first:
    merging document structure and implementation code in the same file _was a terrible idea_. Classic ASP was a bad thing, even by the standards of its day.

    So, by your standards PHP is also terrible. I'm not complaining - just verifying that your logic is consistent.

    There are people who think PHP isn't terrible?

  • (cs) in reply to Give me your name first, then I'll give you mine

    PHP has frameworks that allow you to not merge implementation and document structure. But PHP, as usually used, is friggin' terrible. It's Classic ASP with PERL-like syntax, which is roughly equivalent to the product of a forced mating between a hippopotamus and a duck-billed platypus.

    Which language matches which organism can be left as an exercise to the reader.

  • Jens (unregistered)

    Well, it is a good idea. Not the unicorn part, that is more a matter of taste. But slowing down processing to enhance the UX may sound like a sin to engineers but often it is really helping the customer to understand what happens. Not automatically the best solution here, but sounds reasonable to me.

  • YR (unregistered)

    TRWTF is that the file was not URL-encoded after the fancy file upload GIF being shown by client-side JS...

    ...but that would make the client's browser work. Nah, the server must to do it! He have to show his worth!

  • YR (unregistered) in reply to Jens

    I'm sorry, TRWTF is Jens.

  • (cs) in reply to Jens
    Jens:
    Well, it is a good idea. Not the unicorn part, that is more a matter of taste. But slowing down processing to enhance the UX may sound like a sin to engineers but often it is really helping the customer to understand what happens. Not automatically the best solution here, but sounds reasonable to me.

    I know nothing of web development, but surely there's a way to do the delay on the client end for the sake of animation. What if a different function wanted to upload a file and they don't want no spiffy animation. Now it takes them all the extra time to get files uploaded because there's some ui delays in the server end.

  • (cs)

    Unicorn is making story more cornier. I think this is the story of Remy and his boss.

  • Le Forgeron (unregistered) in reply to Herwig
    Herwig:
    Huh? WTF? How do you implement progress bars?

    The old way of web 1.0: with an animated gif

    Each frame of the gif is part of the progressing bar... and loop forever, just in case it take longer than expected by the timer in the animated gif.

    It's similar to the Remaining Time: 10s, 2 hours, 8 s, 5 days... of some downloading browsers.

    I second the motion: we need that gif.

  • (cs) in reply to GoodtimesSnuggler
    GoodtimesSnuggler:
    I think I speak on behalf of everyone.

    We need that gif.

    Seriously.

    Finally, we'll have something to stick it to that nyan cat.

  • Some Jerk (unregistered)

    I find it funny how every wtf article ends up with people claiming one language or another is the WTF. It is surprising that one of the largest commonalities among developers (and the distinction between inferior developers and good ones) is that they are all brashly convinced that the coding language they choose to use is the single best solution and all other languages, platforms and technologies are inferior.

    I, for one, will use any language to equal effect (except cold fusion... but that is OBVIOUSLY not designed for professional use... or Flash, which is clearly modeled for designers and not programmers... and other such tools that are obviously inappropriate). In my experience, I have seen JSP and ASP.NET websites perform the same functionality with a lower performance threshold as vbscript or php websites... due to the inexperience or stupdity of the coder. They were probably fools that were simply using a technology they didn't understand because some idiot convinced them that it was best.

    Hopefully.. my fellow developers will move forward and judge the quality of the code and not their enthusiasm for the technology exectuting it.

    CAPTCHA : consequat - when cause and effect turns you into a vegetable?

  • Some Jerk (unregistered) in reply to Some Jerk

    [quote user="Some Jerk"]I find it funny how every wtf article ends up with people claiming one language or another is the WTF....quote]

    wow... sorry for all of them typos! I am trying to multi-task... and not doing so well at it I suppose

  • TheSHEEEP (unregistered)

    Nice unicorns you have there :D

  • (cs) in reply to Some Jerk

    "I think it's foolish to look down on any language except this one that I look down on."

    LULZ.

    When you get down to it, each language is exactly the same- they're all (or mostly all) Turing Complete, and hence can be used to solve any problem. But there's a difference between being able to solve a problem and their ability to solve a problem elegantly.

    Mixing implementation with document structure is bad, unless you actually validate them both (like Razor syntax). And Razor isn't really implementation- it's letting you define document structure programmaticly, but it's entirely, 100% about doing document structure.

  • (cs)

    I look down on all languages includes English.

  • Some Jerk (unregistered) in reply to Remy Porter
    Remy Porter:
    "I think it's foolish to look down on any language except this one that I look down on."

    LULZ.

    When you get down to it, each language is exactly the same- they're all (or mostly all) Turing Complete, and hence can be used to solve any problem. But there's a difference between being able to solve a problem and their ability to solve a problem elegantly.

    Mixing implementation with document structure is bad, unless you actually validate them both (like Razor syntax). And Razor isn't really implementation- it's letting you define document structure programmaticly, but it's entirely, 100% about doing document structure.

    1. Didn't say I look down on other languages... just said that I choose not to use the ones that are not designed for my role. I don't look down on Flash and Cold Fusion... they just are designed with a different intent in mind... and one that is incompatible with what I do (professionally speaking).

    2. I agree about the implimentation strategies... but most of the major development platforms do have advantages... and ways to utilize them to maximum effect. Most of them also have ways that a novice can do what they are attempting and produce unintended results. I just look down on the developers that seem to equate learning something new with an indication that they may be inferior and therefore judge all that they do not know as being inferior instead.

  • WC (unregistered)

    I'm not sure what the WTF is supposed to be. This is actually something that is done and works.

    People want to feel that something is happening, and computers often do it really fast. Slowing it down makes them think it worked harder. One of the major tax companies does this with their online tax software. It spends like 5 seconds 'loading' my account, when I know good and well that it's already loaded when I logged in.

    I've heard other usability stories that say their customer opinion improved when they showed a loading bar in certain places that it was expected, instead of just doing things fast.

    If there's any real WTF here, it's people. And not the one who implemented the loading bar here.

  • (cs)

    Given who anonymized this article, I very strongly doubt that the animated GIF in question was actually of a unicorn.

  • (cs) in reply to Some Jerk

    And PHP was designed with a different intent in mind- because it couldn't possibly have been designed to be a modern web development language.

    PHP, like Flash and Cold Fusion, isn't fit-for-purpose. Its popularity arises, not from any inherent quality of the language, but because of the prevalence of its deployment on cheap web hosts.

    I'll say this much: PHP is better than using CGI to do web development.

  • iToad (unregistered) in reply to Remy Porter
    Remy Porter:
    "...But there's a difference between being able to solve a problem and their ability to solve a problem elegantly..."

    I am so going to steal this.

  • Some Jerk (unregistered) in reply to WC
    WC:
    I'm not sure what the WTF is supposed to be. This is actually something that is done and works.

    People want to feel that something is happening, and computers often do it really fast. Slowing it down makes them think it worked harder. One of the major tax companies does this with their online tax software. It spends like 5 seconds 'loading' my account, when I know good and well that it's already loaded when I logged in.

    I've heard other usability stories that say their customer opinion improved when they showed a loading bar in certain places that it was expected, instead of just doing things fast.

    If there's any real WTF here, it's people. And not the one who implemented the loading bar here.

    it is actually quite simple... but one of those things that you improve on over time. For one thing... the progress graphic should have been small enough to load more quickly. Secondly, if it was a real progress bar, it might have ajaxed the status, or used a similar means of retrieving that information. Finally, The server process should not have been tied up longer than necessary. If need be, report a success / fail and use javascript to forward the user on after an interval. Windows Server 2000 and before will only process a limited number of concurrent requests ... and even classic asp implimentation on later servers have some limitations in that regard. Hanging a thread for 15 seconds unnecessarily will have consiquences.

    CAPTCHA: esse - Hooked on Phonics is very esse to use!

  • Ayn Rand's Ghost! (unregistered) in reply to Nagesh
    Nagesh:
    I look down on all languages includes English.

    If I were to speak your kind of language, I would say that man's only moral commandment is: Thou shalt think. But a 'moral commandment' is a contradiction in terms. The moral is the chosen, not the forced; the understood, not the obeyed. The moral is the rational, and reason accepts no commandments

  • Some Jerk (unregistered) in reply to Remy Porter
    Remy Porter:
    And PHP was designed with a different intent in mind- because it couldn't possibly have been designed to be a modern web development language.

    PHP, like Flash and Cold Fusion, isn't fit-for-purpose. Its popularity arises, not from any inherent quality of the language, but because of the prevalence of its deployment on cheap web hosts.

    I'll say this much: PHP is better than using CGI to do web development.

    PHP is designe daround the idea of text templating with code infrastructure behind it. Though it is certainly incompatable with my typical development workflow, I acknowledge that for plain text rendering it is an innovative approach. PHP also uses true standard coding architectures while not removing the intent... which is to create a template that represents the desired output.

    It is not my favorite language... but I must acknowledge that it has its' strengths. Consider ASP.NET, which I use 70-80% of my time over the past decade. It originated with the intent to obfiscate the distinction between client and server in order to deploy a code structure... which I always despised. MVC provided a more elegant way of bringing code to an application... and if anything the entire platform became MORE similar to php.

    Not saying that you are wrong... just saying that this is a matter of perspective. The tools that I don't use are typically developed for people who are not me... designers or prototypers or other such critters. But php, unlike any other web hosting platform, was designed ONLY for web development.

  • (cs) in reply to Nagesh
    Nagesh:
    I look down on all languages includes English.
    It only took a few years, but you finally said something funny!
  • F (unregistered) in reply to Ayn Rand's Ghost!
    Ayn Rand's Ghost!:
    Nagesh:
    I look down on all languages includes English.

    If I were to speak your kind of language, I would say that man's only moral commandment is: Thou shalt think. But a 'moral commandment' is a contradiction in terms. The moral is the chosen, not the forced; the understood, not the obeyed. The moral is the rational, and reason accepts no commandments

    Wot?

  • Andrew (unregistered) in reply to pitchingchris
    pitchingchris:
    Jens:
    Well, it is a good idea. Not the unicorn part, that is more a matter of taste. But slowing down processing to enhance the UX may sound like a sin to engineers but often it is really helping the customer to understand what happens. Not automatically the best solution here, but sounds reasonable to me.

    I know nothing of web development, but surely there's a way to do the delay on the client end for the sake of animation. What if a different function wanted to upload a file and they don't want no spiffy animation. Now it takes them all the extra time to get files uploaded because there's some ui delays in the server end.

    Or, even better, preload the animation. The user is going to have to go find the file to upload anyway, may as well use that time to load the progress bar graphics rather then wait until after they have already found it and stick a useless delay in.

  • (cs) in reply to C-Octothorpe
    C-Octothorpe:
    Nagesh:
    I look down on all languages includes English.
    It only took a few years, but you finally said something funny!

    It only took a few years, but you finally got a joke.

  • (cs) in reply to Nagesh
    Nagesh:
    It only took a few years, but you finally got a joke.
    No, "Nagesh" really is tediously unfunny 99% of the time. About the only thing this persona consistently succeeds at is being annoying. If that's what you're going for, well... sucks to be you.
  • Andrew (unregistered) in reply to Remy Porter
    Remy Porter:
    When you get down to it, each language is exactly the same- they're all (or mostly all) Turing Complete, and hence can be used to solve any problem.

    Can we please stop repeating this vacuous truth? Turing-completeness only applies if you're willing to dedicate an unbounded amount of memory and wait an unbounded length of time for your solution.

    Problems in the real world come with hardware, time, and programming effort constraints, so no, just because a language is Turing-complete does not mean it can be used to solve any problem.

  • HS (unregistered)

    Hurrah - the first time in an article by Remy that I guessed the Cornify word first time!

    Captcha: iusto - two levels higher than gusto.

  • (cs) in reply to Nagesh
    Nagesh:
    C-Octothorpe:
    Nagesh:
    I look down on all languages includes English.
    It only took a few years, but you finally said something funny!

    It only took a few years, but you finally got a joke.

    If recycling "can I haz teh codez" jokes ad nauseum is "funny", then I am grateful that it took me this long to get it...

  • (cs) in reply to Some Jerk

    Doing templating with code infrastructure behind it is one of the fastest ways to generate unmaintainable spaghetti code.

    WebForms is also terrible, although for different reasons (look at Node.js to see how event-driven web programming is done correctly). I'm fairly certain Alex built this site in WebForms, but that doesn't change the fact that WebForms was hideous and makes the dolphins cry.

    PHP was designed for web development, in theory, but given the core design decision was that it should mix code and document in a single file, it is not good for web development. You can make it good for web development by never using it the way it was designed, but once you leave a certain level of small scale applications, you're going to bump into serious problems with the PHP architecture.

    Code is code. Document/presentation is document/presentation. You shouldn't mix them any more than you should put data access code in your view classes.

  • (cs) in reply to Andrew

    It certainly can- it just might not be useful for doing it in practice. I think it's an important truth, because it forces you to identify the elements that are the same in every language. Programming is programming, and once you understand how to program, the choice of language is based on the problem you're trying to solve.

  • onitake (unregistered) in reply to GoodtimesSnuggler
    GoodtimesSnuggler:
    We need that gif.

    That.

  • Some Jerk (unregistered) in reply to Remy Porter
    Remy Porter:
    Doing templating with code infrastructure behind it is one of the fastest ways to generate unmaintainable spaghetti code.

    WebForms is also terrible, although for different reasons (look at Node.js to see how event-driven web programming is done correctly). I'm fairly certain Alex built this site in WebForms, but that doesn't change the fact that WebForms was hideous and makes the dolphins cry.

    PHP was designed for web development, in theory, but given the core design decision was that it should mix code and document in a single file, it is not good for web development. You can make it good for web development by never using it the way it was designed, but once you leave a certain level of small scale applications, you're going to bump into serious problems with the PHP architecture.

    Code is code. Document/presentation is document/presentation. You shouldn't mix them any more than you should put data access code in your view classes.

    Spoken like a true enterprise developer. Have you forgotten that for every website with a complex business model, there are nearly 100 which require only a handful of basic CRUD operations?

    I have never liked the implementations of enterprise applications in php... I agree with you on that. But on smaller, or more basic scale web applications, and most especially communication portals and such... it is appropriate to the task and does not become combersome to modify even without the abstraction between automation and presentation. I think the comment about "choosing what is appropriate to the task" is a much better definition than deciding that php is no longer good for websites.

  • (cs) in reply to Some Jerk

    There are lighter, simpler, and more developer friendly programming frameworks than PHP.

    You can write good, easy to maintain applications in PHP. I've done a bunch. PHP handles the CRUD operations, and the UI is implemented in pure HTML/JavaScript, and they communicate over a RESTful API.

    PHP is fine- if you don't use it the way it was designed.

  • pantsman (unregistered)

    TRWTF is not using a Data URI for the GIF, so that it would not need to be downloaded.

  • Some Jerk (unregistered) in reply to Remy Porter

    And that is the test of a TRUE developer. I (for one) don't make any specific point to use anything exactly in the way that it was intended. Programming is like math... the more complex the expression is, the more paths there are to a solution. It is silly to think that every possible path has been used in the first place. I take enjoyment in finding a hidden trail that nobody uses... perhaps not for the purpose of adding it to future implimentations of code... but more in the spirit of discovering new potential in my tools.

  • (cs) in reply to Nagesh
    Nagesh:
    C-Octothorpe:
    Nagesh:
    I look down on all languages includes English.
    It only took a few years, but you finally said something funny!

    It only took a few years, but you finally got a joke.

    "Joke"??? Is that what you've been trying to do all these years?

    Jebus on a pogo stick, you really should have told us. Cuz your jokes are... well... not funny. At all. Non-epic but complete fail.

  • (cs) in reply to Jens
    Jens:
    Well, it is a good idea. Not the unicorn part, that is more a matter of taste. But slowing down processing to enhance the UX may sound like a sin to engineers but often it is really helping the customer to understand what happens. Not automatically the best solution here, but sounds reasonable to me.
    In principle, this is absolutely correct. However, making a small upload take 15 seconds does cross the line into a WTF.
  • Brian (unregistered) in reply to Remy Porter
    Remy Porter:
    PHP has frameworks that allow you to not merge implementation and document structure. But PHP, as usually used, is friggin' terrible. It's Classic ASP with PERL-like syntax, which is roughly equivalent to the product of a forced mating between a hippopotamus and a duck-billed platypus.

    Which language matches which organism can be left as an exercise to the reader.

    A smooshed Platypus?

  • (cs) in reply to Remy Porter
    Remy Porter:
    a forced mating between a hippopotamus and a duck-billed platypus
    can i haz teh mpegs

    Filed under: hawt

Leave a comment on “Fruity Loop”

Log In or post as a guest

Replying to comment #:

« Return to Article