ClusterWTF


  • Garbage Person

     TRWTF is community server. I already typed this post out, and hit a link in the Preview pane by accident... Thus here I am, typing it again.

     This post is an outgrowth of the experience I detailed over in GD in this thread.

    The big WTF is the exception in the middle of the screen. However, this screenshot turned out to contain a bunch of minor gemstones as well. I count 9 or more.

     There are also a couple I had to black out:
    1) Big ugly SQL injection.
    2) Hardcoded database credentials.
    3) Our SVN server doesn't have a DNS address. (Our IPs are all routable, so I have to censor them when they contain sensitive information *sigh*)

     Clicky the small, blurry picture to see the big nasty one.




  • This is the end result of the GetLastError design. Other stuff stealing your errors and clearing them before you get to see them, but after you get to detect the error.


  • Garbage Person

     Yeah yeah. I know. But it's still lulz to see it inside the IDE.



  • How many "Error: The operation completed successfully" messages have already been posted?



  • @henke37 said:

    This is the end result of the GetLastError design. Other stuff stealing your errors and clearing them before you get to see them, but after you get to detect the error.

    It could also be something manually throwing a Win32ErrorException with an error code of 0. It's not like we haven't seen code which throws inappropriate exceptions on here before...



  • Offtopic:

    Ankh? Or another SCC plugin?

    Source for the [9] icon?



  • The real WTF is, of course...wait for it, wait for it...VISUAL BASIC.



  • Nominated for The Biggest Number Of Black Rectangles Ever award. (And a consolation prize for an extension trolling attempt.)



  • The real WTFs are:

    1. Using Windows for developing software
    2. Using Internet Explorer to surf the web
    3. Working on Sunday


  • @OSvsOS said:

    The real WTFs are:

    1. Using Windows for developing software
    2. Using Internet Explorer to surf the web
    3. Working on Sunday

    Dammit, I already nominated another post for Most Retarded Post of the Day.  You deserve an honorable mention for this really lame trolling attempt, though. 



  • @TwelveBaud said:

    Source for the [9] icon?

     

    The little [9] indicates VS 2008. And yeah, it looks like the last release version of Ankh , or an older daily (the checks are blue in recent dailies).


  • Garbage Person

     Ankh stable. VS2008, which I suppose is version 9, hence the icon.


  • Garbage Person

    1. Not when the customer needs to run the shit on a Windows desktop
    2. Oh no, the virtualdub download page! Such intense websurfing. And gee, I wonder if those black bars on the other IE taskbar entries might possibly mean the client's name is there, and be the two web projects included in the solution!?
    3. Yes. This is in fact the real WTF.


  • Garbage Person

     The developers actually ran a vote for VB vs. C#

    C# only got like 3 votes out of the team of ~15. VB got the rest. However now that we're actually along into the process, NOBODY will own up to having voted for VB. This may possibly be due to the fact that I have demanded their heads be presented to me on a platter every time I have to type "IsNot Nothing" or "Dim" and also demand their firstborn children's heads whenever I have to cast something.



  • "1. Not when the customer needs to run the shit on a Windows desktop"

    You don't have to develop on Windows to develop for Windows. This is probably a management WTF (I'm sure he doesn't get to choose the OS he uses at work).



    If we want to be optimistic, we can assume the blacked-out IE windows are being used to ensure the web app works in IE. The presence of one that's obviously not, however, is still a fail.


  • Garbage Person

    @lolwtf said:

    "1. Not when the customer needs to run the shit on a Windows desktop"
    You don't have to develop on Windows to develop for Windows. This is probably a management WTF (I'm sure he doesn't get to choose the OS he uses at work).

    It is if you're not a masochistic fuckbag (languages like Java notwithstanding - and yes, we did discuss Java and had great reasons not to use it). If it's going to deploy on SQL Server 2008/Windows XP/Windows Server 2003/IIS6 you need to test in SQL Server 2008/Windows XP/Windows Server 2003/IIS6.

    Yes, I most certainly could have these devs writing code in Emacs running on NetBSD toasters and pushing it off to a compile box that then pushes it to the testing environment, but why the FUCK would I do that when the only bloody fucking difference is the FUCKING TEXT EDITOR? I will fight to the DEATH over VS being a better editor for the languages that it supports than even the most tricked out vim or emacs, too. Just because text editors work great for small-time shithead webdevs working in languages that start with the letter P doesn't mean they're worth a damn once you move on to something bigger and better.There's more to a development environment than syntax highlighting and debugger integration (though I've worked in "Integrated Development Environments" that as far as I could tell only integrated a text editor with no syntax highlighting and a "Compile" button - so I may have missed a memo somewhere that told me that my capitalistic debuggers are outlawed)

     

    Oh, and when you get down to it, it's 100% my call what OS the developers on this project will run. I just happen to be smarter than you and don't let my personal feelings on operating systems color my business decisions.



  • @lolwtf said:

    You don't have to develop on Windows to develop for Windows.
    But why the hell wouldn't you?



  • @belgariontheking said:

    But why the hell wouldn't you?

     

    Because windoze sux and M$ is evil!

    BTW Weng, dude, you seriously need to organize your menu bar.


  • The real WTF, of course, is that you need CamStudio and VirtualDub to make a Screenshot (as in, making a short movie and then extracting one frame).


  • Garbage Person

     No, actually. The short movie was for a feature demo. The exception occured DURING the recording of said video (and was utterly unreproducible - as best we can tell the printer driver did something odd)


  • Garbage Person

     Not my box - and the Visual Studio user profile doesn't persist for their user class (in fact no user profile data persists). End result: Opening Visual Studio takes 10 minutes while it creates a whole new profile. EVERY. FUCKING. TIME.



  • @mrprogguy said:

    The real WTF is, of course...wait for it, wait for it...VISUAL BASIC.

    No, the Real WTF is the hungarian notation. If you ran VS 2008 Team Suite code analysis on that, you would get thousands of warnings (the Code Analysis tool warns you about EVERY instance of hungarian notation, which Microsoft has recommended you not do for years)


  • Garbage Person

     Hungarian is banned (punishable by buying two rounds next trip to the bar - which, given the bar we go to and the beers we all drink, gets QUITE EXPENSIVE) in every context except GUI elements.

    The reason we use it for GUI elements is simple, really. The natural thing to name a textbox is something like "address" - but the natural thing to call that data when you're working with it behind the GUI is also "address" - so hungarianizing the GUI element prevents stupid names (realAddress), excessive use of GUI properties (address.Text), unnamed GUI elements (textbox1), off-by-capitalization (address and Address), etc.


  • Discourse touched me in a no-no place

    @Weng said:

    Hungarian is banned
    MS misappropriated Hungarian. Instead of the prefix describing the type of the data a variable contained, it used a prefix describing the type the variable itself was declared as.

    A subtle, but pervasive, difference.The type of data a variable contains should never change, however the declaration of that variable could change; for example from short to int/long or from char* to std::string; meaning that when used properly the Hungarian prefix never needs to change. When used in the MS fashion however, you either have to start renaming variables, or have the prefix at odds with what it's supposed to be representing.

    Which is why Hungarian has such a bad name.



  • There's actually a blog post on that which I CBF to remember the URL for, but it was imported to Microsoft's applications division by a former employee of Xerox PARC, and was supposed to go like this:

    var wrongName = wrongGetNameFromUser();
    /* snip other assignments and logic; normally there'd be a whole lot more stuff here so you'd forget about the assignment */
    rightName = RightFromWrong(wrongName);
    rightSql = "SELECT * FROM students WHERE name LIKE '%" + rightName + "%'";
    rightExecSQL(rightSql);

    Other WTF's aside, this makes sense. Anything you get from the user is inherently "wrong", until made "right" by a special function that does things like check for SQL injection or whatnot. You'd quickly, if you got in the habit, know something's extremely wrong if a wrongAnything was being used where a rightAnything should be, and the way to make a wrongAnything into a rightAnything is an appropriately named function.

    And then the Windows team fucked it the hell up.

    "This is cool! We'll mark all our doublewords as 'dw' so we won't mix them up with the string pointers, which we'll call 'ps'!"

    Which might make sense if you're using an IDE with no type inference that doesn't display compiler warnings and doesn't display Intellisense popups and doesn't, well, integrate. Which describes at most 10% of people writing code for the Windows API.

    Anyway, like PJH said, use Hungarian to talk about what's inside a variable, not what the variable itself is. You've got sigils and an IDE for that.



  • @Weng said:

    VS2008, which I suppose is version 9, hence the icon.
    I can get version-numbered icons to show up for projects in VS 6, 7, 8, and 9, thanks to VS9's installation code, but I have no idea where to go to turn on version-numbered icons for the IDE itself, other than reshacking.


Log in to reply