Comment On Fruity Loop

They might have been chipping their code out of the living mountain with stone tools and classic ASP, but they weren't primitive. Colt's development team still required code reviews of all of the classic ASP code before it went to production. Sure, most of the time, an ASP code review ended with, "ARGH WHY WHY MY EYES THE PAIN!", but the code still got reviewed. [expand full text]
« PrevPage 1 | Page 2 | Page 3Next »

Re: Fruity Loop

2012-07-30 10:18 • by Steve The Cynic
So did the hero impale the idiot on the unicorn's horn?

Re: Fruity Loop

2012-07-30 10:28 • by Bob Freeman (unregistered)
Not Frist.

Re: Fruity Loop

2012-07-30 10:29 • by Herwig (unregistered)
Huh? WTF? How do you implement progress bars?

Re: Fruity Loop

2012-07-30 10:29 • by Twilight Sparkle (unregistered)
A sparkling unicorn? My pony senses are tingling... :)

Re: Fruity Loop

2012-07-30 10:32 • by GoodtimesSnuggler (unregistered)
I think I speak on behalf of everyone.

We need that gif.

Seriously.

Re: Fruity Loop

2012-07-30 10:33 • by Matt (unregistered)
Paragraph four: "produly" = "proudly"

Re: Fruity Loop

2012-07-30 10:36 • by wonk (unregistered)
Well, at least the code reviews don't end in:

My eyes! The goggles! They do nothing!

Re: Fruity Loop

2012-07-30 10:37 • by 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.

Re: Fruity Loop

2012-07-30 10:40 • by Andrew (unregistered)
385876 in reply to 385875
Give me your name first, then I'll give you mine:
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??

Re: Fruity Loop

2012-07-30 10:43 • by qazwsx (unregistered)
385877 in reply to 385875
Give me your name first, then I'll give you mine:
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?

Re: Fruity Loop

2012-07-30 10:45 • by Remy Porter
385878 in reply to 385875
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.

Re: Fruity Loop

2012-07-30 10:47 • by 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.

Re: Fruity Loop

2012-07-30 10:51 • by 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!

Re: Fruity Loop

2012-07-30 10:53 • by YR (unregistered)
385881 in reply to 385879
I'm sorry, TRWTF is Jens.

Re: Fruity Loop

2012-07-30 10:54 • by pitchingchris
385882 in reply to 385879
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.

Re: Fruity Loop

2012-07-30 10:55 • by Nagesh
Unicorn is making story more cornier. I think this is the story of Remy and his boss.

Re: Fruity Loop

2012-07-30 10:55 • by Le Forgeron (unregistered)
385884 in reply to 385870
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.

Re: Fruity Loop

2012-07-30 11:04 • by @Deprecated
385886 in reply to 385872
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.

Re: Fruity Loop

2012-07-30 11:04 • by 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?

Re: Fruity Loop

2012-07-30 11:06 • by Some Jerk (unregistered)
385888 in reply to 385887
[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

Re: Fruity Loop

2012-07-30 11:06 • by TheSHEEEP (unregistered)
Nice unicorns you have there :D

Re: Fruity Loop

2012-07-30 11:08 • by Remy Porter
385890 in reply to 385887
"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.

Re: Fruity Loop

2012-07-30 11:12 • by Nagesh
I look down on all languages includes English.

Re: Fruity Loop

2012-07-30 11:21 • by Some Jerk (unregistered)
385892 in reply to 385890
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.

Re: Fruity Loop

2012-07-30 11:28 • by 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.

Re: Fruity Loop

2012-07-30 11:29 • by Zylon
Given who anonymized this article, I very strongly doubt that the animated GIF in question was actually of a unicorn.

Re: Fruity Loop

2012-07-30 11:30 • by Remy Porter
385895 in reply to 385892
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.

Re: Fruity Loop

2012-07-30 11:34 • by iToad (unregistered)
385896 in reply to 385890
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.

Re: Fruity Loop

2012-07-30 11:35 • by Some Jerk (unregistered)
385897 in reply to 385893
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!

Re: Fruity Loop

2012-07-30 11:36 • by Ayn Rand's Ghost! (unregistered)
385898 in reply to 385891
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

Re: Fruity Loop

2012-07-30 11:43 • by Some Jerk (unregistered)
385899 in reply to 385895
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.

Re: Fruity Loop

2012-07-30 11:45 • by C-Octothorpe
385900 in reply to 385891
Nagesh:
I look down on all languages includes English.
It only took a few years, but you finally said something funny!

Re: Fruity Loop

2012-07-30 11:45 • by F (unregistered)
385901 in reply to 385898
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?

Re: Fruity Loop

2012-07-30 11:45 • by Andrew (unregistered)
385903 in reply to 385882
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.

Re: Fruity Loop

2012-07-30 11:46 • by Nagesh
385904 in reply to 385900
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.

Re: Fruity Loop

2012-07-30 11:52 • by Zylon
385905 in reply to 385904
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.

Re: Fruity Loop

2012-07-30 11:52 • by Andrew (unregistered)
385906 in reply to 385890
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.

Re: Fruity Loop

2012-07-30 11:56 • by 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.

Re: Fruity Loop

2012-07-30 11:56 • by C-Octothorpe
385908 in reply to 385904
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...

Re: Fruity Loop

2012-07-30 11:56 • by Remy Porter
385909 in reply to 385899
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.

Re: Fruity Loop

2012-07-30 11:58 • by Remy Porter
385910 in reply to 385906
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.

Re: Fruity Loop

2012-07-30 12:00 • by onitake (unregistered)
385911 in reply to 385872
GoodtimesSnuggler:
We need that gif.


That.

Re: Fruity Loop

2012-07-30 12:06 • by Some Jerk (unregistered)
385912 in reply to 385909
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.

Re: Fruity Loop

2012-07-30 12:12 • by Remy Porter
385913 in reply to 385912
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.

Re: Fruity Loop

2012-07-30 12:16 • by pantsman (unregistered)
TRWTF is not using a Data URI for the GIF, so that it would not need to be downloaded.

Re: Fruity Loop

2012-07-30 12:18 • by Some Jerk (unregistered)
385915 in reply to 385913
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.

Re: Fruity Loop

2012-07-30 12:26 • by D-Coder
385916 in reply to 385904
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.

Re: Fruity Loop

2012-07-30 12:29 • by dgvid
385917 in reply to 385879
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.

Re: Fruity Loop

2012-07-30 12:45 • by Brian (unregistered)
385918 in reply to 385878
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?

Re: Fruity Loop

2012-07-30 12:52 • by C-Octothorpe
385919 in reply to 385878
Remy Porter:
a forced mating between a hippopotamus and a duck-billed platypus
can i haz teh mpegs

Filed under: hawt
« PrevPage 1 | Page 2 | Page 3Next »

Add Comment