Fake ASP WTF



  • After years of mocking people's WTF jobs on this site, I finally got my comeuppance.

    Today at work our graphic designer asked me to help her make a "little change" to our company's web site.  She's the maintainer of the site, but as a graphic designer by trade, she doesn't really get into the code side of things.  It turns out she wanted to rearrange an item in the menus -- move a subheading to the top menu.  She wasn't sure how to do it, so thats where I come in.

    I went to the site and hit 'View Source' and it looked like standard ASP stuff, lots of controls with dynamic gibberish for names.  Definitely a master page with some dynamic menu controls and content sections.  Should be no problem, so I ask her what the directory is so I can pull up the master page and show her what to change -- and that's where things got ugly.

     There was no master page in this directory, just a ton of aspx files.  That's odd.  I opened one and found out that it was actually a completely static webpage.  It ended in aspx, but you could've renamed it to html and been just fine.  The strange thing is that it was full of ASP-ish looking HTML.  Almost like someone had just hit "view source" from an ASP site and saved the output as an aspx file.

     Oh, no.  Tell me we didn't....

     Yep.

     Every other ASP page -- 100+ -- was a different static copy of a page on one had once been a dynamic ASP site.  This meant that common content that was once in the masterpage was now replicated 100 times... and completely unmaintainable.

     It turns out that someone in management had a problem -- "When the graphic designer needs to make changes to the web site, she ends up burning developer hours.  How could we solve this?"

     And the solution to every problem is of course, an intern.  This intern had been tasked with the job of browsing our entire site, saving the source of each page as its own aspx page, and then fixing up the links.  I have no idea how long this took our intern, but it's a miracle he didn't kill himself.  And now that we had a giant, static site, our designer could make changes to her hearts content using her WYSIWYG editor of choice.  Brillant!

     Unfortunately, this meant touching up to 100 files, depending on what she wanted to change.  But at least there are no developer hours be wasted in this process!  Apparently graphic designer hours do not have actual value.

     
    The real test of the WTF-ness will be the response I get from management.  I sent an email with an overview of the problem and the solution (switch back to a real ASP site and give our designer some training on how to update it, at the expense of some of those precious developer hours) and the repercussions if we don't (our designer quits her job in disgust or our site never gets updated).  I'm not terribly confident that they'll let me spend the time needed to fix the problem.
     




     


  • Considered Harmful

    Ugh.  I've had to put up with similar things, though on a much smaller scale.  I had another developer take the nasty rendered output of one ASPX page and create another ASPX page with it, leaving the ID and metadata mess.  I don't care though, because that's his mess to maintain.

    I have however, recently had to take several hundred static HTML pages and make broad changes to all of them; only to find that they had diverged enough that a global search-and-replace would usually only exactly match 20% of them at a time.  Joy.  I severely under-bid the hours necessary for those changes, for much the same reason: I expected to be able to perform each change only once.  (We bill based on estimates; if it takes longer than expected, we eat the cost.  Ouch.)  Most of them were invalid markup and atrocious table-based tag soup; but I wasn't being paid to, nor was I asked to, fix that; so I left it.



  • @zip said:

    ...browsing our entire site, saving the source of each page as its own aspx page, and then fixing up the links.  I have no idea how long this took our intern, but it's a miracle he didn't kill himself.
    I use Dreamweaver, which despite its bugs is fairly useful for web dev. You can open any amount of pages, and do a find/replace with all open documents, and even use regexes. And I'm sure there are plenty of other programs that will do this rather quickly.

    It would be a pain if the formatting of some/all pages are different, though. I, too, have felt the pain of having to do repetitive tasks because of WYSIWYG editors >=/
     



  • @boolean said:

    @zip said:

    ...browsing our entire site, saving the source of each page as its own aspx page, and then fixing up the links.  I have no idea how long this took our intern, but it's a miracle he didn't kill himself.
    I use Dreamweaver, which despite its bugs is fairly useful for web dev. You can open any amount of pages, and do a find/replace with all open documents, and even use regexes. And I'm sure there are plenty of other programs that will do this rather quickly.

    It would be a pain if the formatting of some/all pages are different, though. I, too, have felt the pain of having to do repetitive tasks because of WYSIWYG editors >=/

    Congratulations, you are using a large complex commercial application to do what any unix user does every day, in their sleep, with the basic system tools.
     



  • @zip said:

    And the solution to every problem is of course, an intern.

    Which leads us to the great Zen puzzle of WTFs: is it more stupid that the intern's time was wasted manually simulating wget -r, or that somebody thought this was even remotely close to a sane thing to do in the first place? 



  • Hey, I can't wait until the company do a re-branding and figure out how much of a pain in the a changing the logo, colours, font etc on each page is going to be!!



  • @asuffield said:

    @zip said:

    And the solution to every problem is of course, an intern.

    Which leads us to the great Zen puzzle of WTFs: is it more stupid that the intern's time was wasted manually simulating wget -r, or that somebody thought this was even remotely close to a sane thing to do in the first place? 

    The intern can plead ignorance.



  • @asuffield said:

    @zip said:

    And the solution to every problem is of course, an intern.

    Which leads us to the great Zen puzzle of WTFs: is it more stupid that the intern's time was wasted manually simulating wget -r, or that somebody thought this was even remotely close to a sane thing to do in the first place? 

     
    It could be argued that no one told the intern NOT to use wget -r.  For all I know he did it that way and then spent a week surfing the web.  Or, he was too dim to think that there might be a better way, which would also explain why he had the free time to take on this task. 



  • @zip said:

    It could be argued that no one told the intern NOT to use wget -r.  For all I know he did it that way and then spent a week surfing the web.  Or, he was too dim to think that there might be a better way, which would also explain why he had the free time to take on this task. 

     

    I would have used wget -r and then spent the week surfing monster.com looking for another job.   



  • It probably still looked better than the crap that GoLive! produces...



  • This is front-page-worthy, IMO.  Ugh. 

    @joe.edwards@imaginuity.com said:

    I severely under-bid the hours necessary for those changes, for much the same reason: I expected to be able to perform each change only once.  (We bill based on estimates; if it takes longer than expected, we eat the cost.  Ouch.) 

    I think the way we do it here, is you've got two options: First, we estimate how many hours the job'll take, and we let you know how long that is.  Then we offer to either tackle the job at an hourly rate, with the client paying for any potential overages, or we'll do it for a flat rate, based on the hourly rate X hours estimated X 1.5

     



  • @merreborn said:

    This is front-page-worthy, IMO.  Ugh. 

    @joe.edwards@imaginuity.com said:

    I severely under-bid the hours necessary for those changes, for much the same reason: I expected to be able to perform each change only once.  (We bill based on estimates; if it takes longer than expected, we eat the cost.  Ouch.) 

    I think the way we do it here, is you've got two options: First, we estimate how many hours the job'll take, and we let you know how long that is.  Then we offer to either tackle the job at an hourly rate, with the client paying for any potential overages, or we'll do it for a flat rate, based on the hourly rate X hours estimated X 1.5

     TRWTF is he gave an estimate without looking at the system.
     



  • @Random832 said:

    @merreborn said:

    This is front-page-worthy, IMO.  Ugh. 

    @joe.edwards@imaginuity.com said:

    I severely under-bid the hours necessary for those changes, for much the same reason: I expected to be able to perform each change only once.  (We bill based on estimates; if it takes longer than expected, we eat the cost.  Ouch.) 

    I think the way we do it here, is you've got two options: First, we estimate how many hours the job'll take, and we let you know how long that is.  Then we offer to either tackle the job at an hourly rate, with the client paying for any potential overages, or we'll do it for a flat rate, based on the hourly rate X hours estimated X 1.5

     TRWTF is he gave an estimate without looking at the system.
     

    Isn't that standard practice?  In my industry, the contract is signed and a go-live date given before the devs even see the list of modifications.
     



  • @Quinnum said:

    @Random832 said:
    @merreborn said:

    This is front-page-worthy, IMO.  Ugh. 

    @joe.edwards@imaginuity.com said:

    I severely under-bid the hours necessary for those changes, for much the same reason: I expected to be able to perform each change only once.  (We bill based on estimates; if it takes longer than expected, we eat the cost.  Ouch.) 

    I think the way we do it here, is you've got two options: First, we estimate how many hours the job'll take, and we let you know how long that is.  Then we offer to either tackle the job at an hourly rate, with the client paying for any potential overages, or we'll do it for a flat rate, based on the hourly rate X hours estimated X 1.5

     TRWTF is he gave an estimate without looking at the system.
     

    Isn't that standard practice?  In my industry, the contract is signed and a go-live date given before the devs even see the list of modifications.

    There are a number of industries that work this way (for example, the construction industry uses a variation on it). Without exception, they are all industries in which budget and schedule overruns are the norm. Strangely enough, the people involved don't appear to understand why this is the case.



  • The new trend that resembles this seems to be "hit View Source for your WordPress site because it takes many seconds to load every single page, save the pages as HTML somewhere, host them and now you have a static version of your website" now.

    At least that's what I found and told the management when they were asking why the same contractor they hired to build their website had another website they built that is much faster. Yes, it looks like a WordPress site; no, it's just static HTML.


  • Considered Harmful

    There we go, there's the banner. Take notes @jinpa.


  • Considered Harmful

    @error You've got a lot to learn, kid.



  • @_P_ said in Fake ASP WTF:

    The new trend that resembles this seems to be "hit View Source for your WordPress site because it takes many seconds to load every single page, save the pages as HTML somewhere, host them and now you have a static version of your website" now.

    Surely, there isn't a whole category of specialized software for this. Something that supports caching and acts as a proxy, maybe?



  • @dfdub said in Fake ASP WTF:

    @_P_ said in Fake ASP WTF:

    The new trend that resembles this seems to be "hit View Source for your WordPress site because it takes many seconds to load every single page, save the pages as HTML somewhere, host them and now you have a static version of your website" now.

    Surely, there isn't a whole category of specialized software for this. Something that caches and acts as a proxy, maybe?

    Even with all the optimizers, bundling, caching and stuff it still takes like 10 seconds to load one page. Never underestimate the slowness of WordPress sites 🐠



  • @_P_ said in Fake ASP WTF:

    Even with all the optimizers, bundling, caching and stuff it still takes like 10 seconds to load one page.

    Not if you cache the generated HTML/JS/... outside of WordPress. Which is why you use external caches in the first place.


  • Discourse touched me in a no-no place

    @_P_ said in Fake ASP WTF:

    Even with all the optimizers, bundling, caching and stuff it still takes like 10 seconds to load one page. Never underestimate the slowness of WordPress sites

    WTF is it doing in that time? I know of live sites where the page generation time is in the order of hundredths of a second and where the hardware running it all is absolutely minute. And that's for pages with plenty of dynamic content too.



  • @dkf said in Fake ASP WTF:

    @_P_ said in Fake ASP WTF:

    Even with all the optimizers, bundling, caching and stuff it still takes like 10 seconds to load one page. Never underestimate the slowness of WordPress sites

    WTF is it doing in that time? I know of live sites where the page generation time is in the order of hundredths of a second and where the hardware running it all is absolutely minute. And that's for pages with plenty of dynamic content too.

    0ed85b05-2643-4ce1-acb0-da3537e54c3e-image.png

    Wordpress



  • @dkf said in Fake ASP WTF:

    @_P_ said in Fake ASP WTF:

    Even with all the optimizers, bundling, caching and stuff it still takes like 10 seconds to load one page. Never underestimate the slowness of WordPress sites

    WTF is it doing in that time?

    PHPing, most likely...



  • @dkf I guess it's my turn to defend Wordpress again!

    Wordpress is essentially an "empty husk" where the plugins can jump in via hook functions and insert whatever they want. It certainly doesn't take 10 seconds to render any basic page, even with >50 plugins. Most likely some of the plugins are calling each other in some weird recursive pattern that causes exponential time increase.



  • @asuffield said in Fake ASP WTF:

    Congratulations, you are using a large complex commercial application to do what any unix user does every day, in their sleep, with the basic system tools.

    What software?

    I just write assembly code every time I want to do something.


  • Considered Harmful

    @error_bot xkcd Real Programmers


  • 🔀



  • @Quinnum said in Fake ASP WTF:

    Isn't that standard practice?

    The only times I give fixed price:

    1. I am delivering fixed training from a known syllabus/curriculum.
    2. I have multiplied the estimated price by at least a factor of 10x (often more) - only one in the past 35 year has someone taken that route, and it turned out the job was easier than thought.


  • @error_bot xkcd xkcd

    let's see you get <b>META</b>


  • 🔀

    xkcd said in https://xkcd.com/442/:

    xkcd Loves the Discovery Channel

    )


  • Considered Harmful

    Sick reference to
    @error_bot bash robe and wizard hat


  • 🔀

    bash #104383

    bloodninja: Baby, I been havin a tough night so treat me nice aight?
    BritneySpears14: Aight.
    bloodninja: Slip out of those pants baby, yeah.
    BritneySpears14: I slip out of my pants, just for you, bloodninja.
    bloodninja: Oh yeah, aight. Aight, I put on my robe and wizard hat.
    BritneySpears14: Oh, I like to play dress up.
    bloodninja: Me too baby.
    BritneySpears14: I kiss you softly on your chest.
    bloodninja: I cast Lvl. 3 Eroticism. You turn into a real beautiful woman.
    BritneySpears14: Hey...
    bloodninja: I meditate to regain my mana, before casting Lvl. 8 chicken of the Infinite.
    BritneySpears14: Funny I still don't see it.
    bloodninja: I spend my mana reserves to cast Mighty Fck of the Beyondness.
    BritneySpears14: You are the worst cyber partner ever. This is ridiculous.
    bloodninja: Don't f
    ck with me bitch, I'm the mightiest sorcerer of the lands.
    bloodninja: I steal yo soul and cast Lightning Lvl. 1,000,000 Your body explodes into a fine bloody mist, because you are only a Lvl. 2 Druid.
    BritneySpears14: Don't ever message me again you piece of ****.
    bloodninja: Robots are trying to drill my brain but my lightning shield inflicts DOA attack, leaving the robots as flaming piles of metal.
    bloodninja: King Arthur congratulates me for destroying Dr. Robotnik's evil army of Robot Socialist Republics. The cold war ends. Reagan steals my accomplishments and makes like it was cause of him.
    bloodninja: You still there baby? I think it's getting hard now.
    bloodninja: Baby?

    BritneySpears14: Ok, are you ready?
    eminemBNJA: Aight, yeah I'm ready.
    BritneySpears14: I like your music Em... Tee hee.
    eminemBNJA: huh huh, yeah, I make it for the ladies.
    BritneySpears14: Mmm, we like it a lot. Let me show you.
    BritneySpears14: I take off your pants, slowly, and massage your muscular physique.
    eminemBNJA: Oh I like that Baby. I put on my robe and wizard hat.
    BritneySpears14: What the fck, I told you not to message me again.
    eminemBNJA: Oh ****
    BritneySpears14: I swear if you do it one more time I'm gonna report your ISP and say you were sending me kiddie porn you f
    ck up.
    eminemBNJA: Oh ****
    eminemBNJA: damn I gotta write down your names or something

    (via http://www.bash.org/?search=robe%20and%20wizard%20hat&sort=0&show=1)


  • Considered Harmful

    Wow, I found a NoDeBaby bug!

    Somehow the line of hyphens breaks the <pre> tag.



  • @error_bot bash rhino


  • 🔀

    bash #101881

    bloodninja: Ok baby, we got to hurry, I don't know how long I can keep it 
    ready for you.
    j_gurli3: thats ok. ok i'm a japanese schoolgirl, what r u.
    bloodninja: A Rhinocerus. Well, hung like one, thats for sure.
    j_gurli3: haha, ok lets go.
    j_gurli3: i put my hand through ur hair, and kiss u on the neck.
    bloodninja: I stomp the ground, and snort, to alert you that you are in my 
    breeding territory.
    j_gurli3: haha, ok, u know that turns me on.
    j_gurli3: i start unbuttoning ur shirt.
    bloodninja: Rhinoceruses don't wear shirts.
    j_gurli3: No, ur not really a Rhinocerus silly, it's just part of the game.
    bloodninja: Rhinoceruses don't play games. They f*cking charge your ass.
    j_gurli3: stop, cmon be serious.
    bloodninja: It doesn't get any more serious than a Rhinocerus about to 
    charge your ass.
    bloodninja: I stomp my feet, the dust stirs around my tough skinned feet.
    j_gurli3: thats it.
    bloodninja: Nostrils flaring, I lower my head. My horn, like some phallic 
    symbol of my potent virility, is the last thing you see as skulls collide 
    and mine remains the victor. You are now a bloody red ragdoll suspended in 
    the air on my mighty horn.
    bloodninja: Goddam am I hard now.

    (via http://www.bash.org/?search=rhino&sort=0&show=1)


  • Considered Harmful

    OK, so now I prefix every line with a &shy; character so NodeBB can handle it.

    @error_bot bash robe and wizard hat


  • 🔀

    bash #104383

    bloodninja: Baby, I been havin a tough night so treat me nice aight?
    ­BritneySpears14: Aight.
    ­bloodninja: Slip out of those pants baby, yeah.
    ­BritneySpears14: I slip out of my pants, just for you, bloodninja.
    ­bloodninja: Oh yeah, aight. Aight, I put on my robe and wizard hat.
    ­BritneySpears14: Oh, I like to play dress up.
    ­bloodninja: Me too baby.
    ­BritneySpears14: I kiss you softly on your chest.
    ­bloodninja: I cast Lvl. 3 Eroticism. You turn into a real beautiful woman.
    ­BritneySpears14: Hey...
    ­bloodninja: I meditate to regain my mana, before casting Lvl. 8 chicken of the Infinite.
    ­BritneySpears14: Funny I still don't see it.
    ­bloodninja: I spend my mana reserves to cast Mighty F*ck of the Beyondness.
    ­BritneySpears14: You are the worst cyber partner ever. This is ridiculous.
    ­bloodninja: Don't f*ck with me bitch, I'm the mightiest sorcerer of the lands.
    ­bloodninja: I steal yo soul and cast Lightning Lvl. 1,000,000 Your body explodes into a fine bloody mist, because you are only a Lvl. 2 Druid.
    ­BritneySpears14: Don't ever message me again you piece of ****.
    ­bloodninja: Robots are trying to drill my brain but my lightning shield inflicts DOA attack, leaving the robots as flaming piles of metal.
    ­bloodninja: King Arthur congratulates me for destroying Dr. Robotnik's evil army of Robot Socialist Republics. The cold war ends. Reagan steals my accomplishments and makes like it was cause of him.
    ­bloodninja: You still there baby? I think it's getting hard now.
    ­bloodninja: Baby?
    ­--------------
    ­BritneySpears14: Ok, are you ready?
    ­eminemBNJA: Aight, yeah I'm ready.
    ­BritneySpears14: I like your music Em... Tee hee.
    ­eminemBNJA: huh huh, yeah, I make it for the ladies.
    ­BritneySpears14: Mmm, we like it a lot. Let me show you.
    ­BritneySpears14: I take off your pants, slowly, and massage your muscular physique.
    ­eminemBNJA: Oh I like that Baby. I put on my robe and wizard hat.
    ­BritneySpears14: What the f*ck, I told you not to message me again.
    ­eminemBNJA: Oh ****
    ­BritneySpears14: I swear if you do it one more time I'm gonna report your ISP and say you were sending me kiddie porn you f*ck up.
    ­eminemBNJA: Oh ****
    ­eminemBNJA: damn I gotta write down your names or something

    (via http://www.bash.org/?search=robe%20and%20wizard%20hat&sort=0&show=1)


  • Notification Spam Recipient

    @asuffield said in Fake ASP WTF:

    @boolean said:

    @zip said:

    ...browsing our entire site, saving the source of each page as its own aspx page, and then fixing up the links.  I have no idea how long this took our intern, but it's a miracle he didn't kill himself.
    I use Dreamweaver, which despite its bugs is fairly useful for web dev. You can open any amount of pages, and do a find/replace with all open documents, and even use regexes. And I'm sure there are plenty of other programs that will do this rather quickly.

    It would be a pain if the formatting of some/all pages are different, though. I, too, have felt the pain of having to do repetitive tasks because of WYSIWYG editors >=/

    Congratulations, you are using a large complex commercial application to do what any unix user does every day, in their sleep, with the basic system tools.
     

    26a82aab-314a-4766-96aa-06bdf2359337-image.png

    Who the fuck is so dedicated to downvote this dead user? 🤔


  • Notification Spam Recipient

    @error said in Fake ASP WTF:

    @error You've got a lot to learn, kid.

    *Narrator voice* But did he, in the end?



  • @anonymous234 said in Fake ASP WTF:

    @dkf I guess it's my turn to defend Wordpress again!

    Wordpress is essentially an "empty husk" where the plugins can jump in via hook functions and insert whatever they want. It certainly doesn't take 10 seconds to render any basic page, even with >50 plugins. Most likely some of the plugins are calling each other in some weird recursive pattern that causes exponential time increase.

    I guess it's my turn to correctly spell WordPress again!



  • @Tsaukpaetra
    He learned almost too late that man is a feeling creature... and because of it, the greatest in the universe. He learned too late for himself that men have to find their own way, to make their own mistakes. There can't be any gift of perfection from outside ourselves. When men seek such perfection, they find only death... fire... loss... disillusionment... the end of everything that's gone forward. Men have always sought an end to the toil and misery, but it can't be given, it has to be achieved! There is hope, but it has to come from inside, from man himself.



  • @Watson At first I thought this was a response to "downvoting a dead user"



  • @Watson And they didn't even say "Push the button, Frank."



  • @Parody I thought it was "push the button, Max" ❓



  • @Mason_Wheeler said in Fake ASP WTF:

    @Parody I thought it was "push the button, Max" ❓

    No, you both have it wrong. It was

    https://www.youtube.com/watch?v=5KhPzTLQBJE




Log in to reply