I just dodged a bullet!



  • I've only been in the industry a couple of years but I've seen my share of WTFs. Boss hiring marketing team and setting a (very short) deadline before work on the project has begun.  Said boss bringing his pet programmer from previous company, programmer of course learned c at uni, asp afterward and continues to program asp.net as though it's vb6 and has a complete disregard of object orientation (no, structs and classes should not be interchangeable). I think I could write a long WTF about this guy. The boss frequently making technical decisions he knows nothing about and expects us to be good at everything. Also hate unit testing and thinks testing should be done by clicking every button in every possible combination (we spent days working through sheets with the combinations) and thinks that VB.net and the asstastic orm of the previously mentioned programmer will scale to one of the biggest sites on the planet (They have a budget in the tens of millions to attempt this with). Once again this could be a post in it's own right. And lets not forget the boss that wants a website but can't articulate what any of the content should be apart from the insistence on round corners, my employment from this place was ended mutually after 3 weeks. Leaving them with the previous website containing a main php page, devoid of any php, linking to several pdfs. God know what the delphi code of their "enterprise solution" looked like.

     

    To be fair my new job is not really a WTF. The boss confesses to know nothing and leaves most decisions up to me and leaves me alone to get the job done. He also recognizes how out of date the old asp sites are so I got to start from complete scratch. Plus, I get to work in the porn industry which is always good.

     

    Looking through the old code though the are several of the typical WTFs. An a access database (several actually) powering the site. Credit card details being given over standard http. Thousands of asp files scattered everywhere (copy and pasted between sites). Having to add products manually to several databases. An offer the shelf shopping cart application that uses mysql (great for consistency).

     

    The worst part came this week when I started looking at the payment gateway. I was told which company we used and who they leased the tech from (I would of thought a large banking institution would make their own banking software but apparently not). I was looking for some sort of technical documentation, I can't find any on the main site, must be in the members area, which I can't access till the person with the password isn't off sick).

     

    My boss contacted the previous developer who replied with "everything you need to pass should be on the order form". Thats great, I went to the old asp files of the latest site to be added, found it opening up some sort of com object and passing obscurely named variables (globally assigned somewhere else of course) to it and then redirecting. No commenting of course, so I'll have to leave that and hope the bank has technical documentation.

     

    I get the following that a dodged a bullet (or missile) thanks to the boss deciding that the old site wasn't worth maintaining. 

     

    Oh yeah, the really WTF is the way this sites behaves in konqueror, I'm half inclined to blame konqueror though. 



  • The real WTF is the incoherency of this post. Every paragraph appears to be about something different, though I can't really tell for sure.


    Flukus, sorry to do this to you man, but if you're going to make fun of someone you ought to at least make some attempt at coherent writing. I hope you write code better than you write English.



  • @ryos said:

    Every paragraph appears to be about something different

    Isn't that kinda the point of paragraphs? 



  • @iwpg said:

    @ryos said:

    Every paragraph appears to be about something different

    Isn't that kinda the point of paragraphs? 

    Har. 



  • @iwpg said:

    @ryos said:

    Every paragraph appears to be about something different

    Isn't that kinda the point of paragraphs? 


    Yes and no. Paragraphs should assemble into a complete coherent whole, and if you want to go in a radically different direction, you need some kind of transition. At least, that's what my teacher told me in 7th grade; she could have been lying, but probably not.



  • @ryos said:

    The real WTF is the incoherency of this post. Every paragraph appears to be about something different, though I can't really tell for sure.

    Flukus, sorry to do this to you man, but if you're going to make fun of someone you ought to at least make some attempt at coherent writing. I hope you write code better than you write English.

    I can't speak on behalf of the original poster, however, I wager that this post was written quickly as to get the point accross quickly, often on internet message boards, School-taught grammar goes out the window because how long in reality do topics last? 1-2 weeks tops? Who is going to take the time to make something that's only temporary look perfect?

     Sure, I could see the "perfect as possible" expectation used if this post were to go on a site's front page. However, it is not.
     



  • (no, structs and classes should not be interchangeable).

     

    Umm, aren't structs and classes the same thing, only that the default scope is different between the two?  Or were you not talking about C? 



  • Apart from the way to long first paragraph it was reasonably coherent. I never professed  to have an literary talent.

    @ebs2002 said:

    (no, structs and classes should not be interchangeable).

     

    Umm, aren't structs and classes the same thing, only that the default scope is different between the two?  Or were you not talking about C? 

     

    In this case it was VB.net in which they are quite similar, it's more about the implied difference (structures are simple structures, class have all the OO goodies). It was an attempt to explain the complete lack of OO understanding.

    The worst offense was when  I had an abstract class A from which B and C derived. This should have been transparent from his code but instead, as I discovered months later, their were a million if statements along the lines of:

    if obj.class == "B"

        B.foo()

    else if obj.class == "C"

        C.foo() 

     



    Even where A.foo() was declared.



  • @DigitalXeron said:

    I can't speak on behalf of the original poster, however, I wager that this post was written quickly as to get the point accross quickly
     

    As is most software.

     



  • @ryos said:

    Yes and no. Paragraphs should assemble into a complete coherent whole, and if you want to go in a radically different direction, you need some kind of transition. At least, that's what my teacher told me in 7th grade; she could have been lying, but probably not.

    You're 7th grade teacher said that?



  • @ebs2002 said:

    (no, structs and classes should not be interchangeable).

     

    Umm, aren't structs and classes the same thing, only that the default scope is different between the two?  Or were you not talking about C? 

    Structs are value-types, stored on the stack.  Classes are reference-types, stored on the heap. 

    Important to know if you are passing data around lots of functions and such.



  • @RaspenJho said:

    @ryos said:
    Yes and no. Paragraphs should assemble into a complete coherent whole, and if you want to go in a radically different direction, you need some kind of transition. At least, that's what my teacher told me in 7th grade; she could have been lying, but probably not.

    You're 7th grade teacher said that?

    ummm....

     

    @RaspenJho said:

    Your 7th grade teacher said that?

     

    7th grade english doesn't sound so bad after all... 



  • Hey, I never claimed proper use of apostrophes or any other language concept.  I just questioned whether a 7th grade teacher would use verbiage like that.



  • @ebs2002 said:

     

    Umm, aren't structs and classes the same thing, only that the default scope is different between the two?  Or were you not talking about C? 

    <pragmatism police> You mean C++, C has no classes </pragmatism police> 

     But according to this guy, who appears to know far more about standards than I do, you are completely correct:

     
    http://wiki.answers.com/Q/What_is_the_difference_between_a_structure_and_a_class
     

    @RaspenJho said:


    Structs are value-types, stored on the stack.  Classes are reference-types, stored on the heap. 

    Important to know if you are passing data around lots of functions and such.

    Concerning the whole value/reference thing, this is only true in Visual C++ 5 and 6 (apparently, see previous link). I'm not entirely sure what you mean about stack/heap storage, but it doesn't sound like how I thought this stuff worked:

    class A

    {

    public:

        int A;
    };

     struct B

    {

       int B;
    };
     

       // Local variables, stored on the stack 

       A a;

       B b; 

       // Dynamically allocated, stored on the heap 

       A *pA=new A;

       B *pB=new B;

    // Function passes by value...

    void SomeFunction(A a, B b) {}

    // Function passes by reference

    void SomeOtherFunction(A &a, B &b) {} 

     

    Or am I missing something here? 

     

    @flukus said:

    Plus, I get to work in the porn industry which is always good.

     

    Ugh, I did that once, I was a HTML monkey/copywriter (i.e. I was one of the people who made up phrases like "See Angeline get her first **** while **** in her ********* backwards." and scattered them all over everything). I found it great fun for about a day or so, then my brain started collapsing under the strain of being constantly exposed to porn while not being (or given my location, not wanting to be) horny. I came to the conclusion that it takes a special kind of man to work with porn all the time, and I certainly am not that kind of man...

    Anyhows, I think your boss made the right decision, the whole project sounds like an epic nightmare. When implementing a new system takes less time than fixing a simple bug in the old system (or in this case, simply being able to comprehend the old system) it's a no brainer really. To be fair, you should probably take the time to at least try and understand the old system, mainly to look for:

    1) Weird functionality that actually has a reason and will need to be replicated in some way

    2) Mistakes that you should avoid

    Though given the seemingly awesome scope of the WTFness, you might want to just skip that part and just make sure you have a good design specification before you start... 



  • @Devi said:

    @RaspenJho said:


    Structs are value-types, stored on the stack.  Classes are reference-types, stored on the heap. 

    Important to know if you are passing data around lots of functions and such.

    Concerning the whole value/reference thing, this is only true in Visual C++ 5 and 6 (apparently, see previous link).

    And let's just emphasise that this behaviour is a BROKEN AND WRONG implementation of C++, not to mention being a really stupid idea that should never have been created.

    I'm not entirely sure what you mean about stack/heap storage, but it doesn't sound like how I thought this stuff worked

    It isn't. Anything declared as 'auto' (the default storage class within a function if you don't specify something else, like extern or static) goes onto the stack, regardless of its type - so if you declare a variable as "foo x;" inside a function, it goes onto the stack. Anything declared static (or unspecified and outside any function) goes into the image. Anything allocated with new goes on the heap. Types are irrelevant to the storage class.

     

    @flukus said:

    Plus, I get to work in the porn industry which is always good.

     

    Ugh, I did that once, I was a HTML monkey/copywriter (i.e. I was one of the people who made up phrases like "See Angeline get her first **** while **** in her ********* backwards." and scattered them all over everything).

     

    I hate you already.



  • @asuffield said:


    Ugh, I did that once, I was a HTML monkey/copywriter (i.e. I was one of the people who made up phrases like "See Angeline get her first **** while **** in her ********* backwards." and scattered them all over everything).

     

    I hate you already.

    That explains it, I was wondering why you hadn't replied to any of the 23746 e-mails I sent you last month ;)
     



  • I was actually most familiar with C#, and have never really used C++.  Still, it is important to know the difference between the stack and the heap, regardless of which C you are using.

    Google "Stack vs Heap" and read around...  Here are some samples:

    http://en.csharp-online.net/Stack_vs._Heap

    You get the point...

     



  • @Devi said:

    Ugh, I did that once, I was a HTML monkey/copywriter (i.e. I was one of the people who made up phrases like "See Angeline get her first **** while **** in her ********* backwards." and scattered them all over everything). I found it great fun for about a day or so, then my brain started collapsing under the strain of being constantly exposed to porn while not being (or given my location, not wanting to be) horny. I came to the conclusion that it takes a special kind of man to work with porn all the time, and I certainly am not that kind of man...



    I actually don't see that much porn, if the guys didn't turn the volume up occasionally I'd hardly ever notice. Most of them finds the novelty wears off after a couple of weeks and it just doesn't constantly register as porn to them. They have to sit there all day editing the DVDs 

     

    @Devi said:


    Anyhows, I think your boss made the right decision, the whole project sounds like an epic nightmare. When implementing a new system takes less time than fixing a simple bug in the old system (or in this case, simply being able to comprehend the old system) it's a no brainer really. To be fair, you should probably take the time to at least try and understand the old system, mainly to look for:

    1) Weird functionality that actually has a reason and will need to be replicated in some way

    2) Mistakes that you should avoid

    Though given the seemingly awesome scope of the WTFness, you might want to just skip that part and just make sure you have a good design specification before you start... 

     

    It's actually a fairly straight forward online shopping site (until we start adding fun DRM'd content down the track). I avoided most potential WTFs through my site design (I love castle), I think it would be faster to create and fix new mistakes than to unravel all the old ones. 

     



  • @iwpg said:

    @ryos said:

    Every paragraph appears to be about something different

    Isn't that kinda the point of paragraphs? 

    The Best Post Ever.



  • He works in the porn industry !!!!!

    Don't you think he has much better things to do with his hands, then waste time typing nicely

    :)


Log in to reply