• Nathan (unregistered) in reply to Ciaran
    C'mon, Give the guy a break.
     
    If you dont like the content, don't bitch about it. Post something of your own, after all, who can honestly say there isn't at least once you have looked at the code on something your working on and just felt the urge to say aloud WTF?
     
    Nathan...
  • Anonymous (unregistered) in reply to hpavc
    I use this gateway and this is not my experience. About a 10% hit in records per second. If your developing resource expensive stored procedures in Oracle and having them use MSSQL as their data source I can see bad things. If your using Oracle to hit MSSQL which has odbc linked tables back to Oracle yeah that could suck. Or if your hitting MSSQL and the data is linked to an Access database or similar source.

    I reads like your suggesting that it asks the MSSQL agent to dump entire tables for every query and then parses the data on the Oracle side?



    your = belonging to you you're = you are

    It's just not that hard

    My impression of your IQ took a 10% hit because of that. Think.
  • (cs) in reply to Kram

    Anonymous:

    Sorry to sound like a moron, but could you shed some more light on a better way to filter data other than a where clause? I know that you can use table filtering directly, is that a better method?

    An O-R mapping tool maps the object-oriented classes in your code to the relational structure used by relational databases.

    So instead of using code like

    <SAMP>queryString = "select * from Members as m where m.memberId = 42";  
    result = db.execute(queryString);
    member = new Member(result);

    you can use code like</SAMP>

    member = Members::getById(42);

    with the construction of the SQL abstracted away. Some tools will even get data from related tables and create instances of related classes as well, so you could also get

    print  member.ForumPosts.count();

    without having to explicitely get data from the ForumPosts table.

    In practice most OR mapping tools let you also use SQL, or something similar, to build up queries since it's easier to build complex queries that way.

    Of course, in practice things don't work quite so easily, and using an OR tool or database abstraction layer helps but doesn't solve the challenges of switching databases.

  • (cs)
    Anonymous:
    Anonymous:
    Your links seem to get eaten by the forum.

    This worked for me (at least from the Preview tab): Foosball girl

    And this: Foosball Girls


    Oh noes!  You have ruined my fantasy of the foosball girl who is also into software, computers, and coding!  Instead she's just a model from a advertising image site!  ARGH!



    sob All she has been reduced to is "Image 56294785".

    I think we've all died a little inside today.

  • John (unregistered)

    Obfuscation aside, I could see this being cause by a misconfigured gateway, there are a few ways this could work.

    Mode 'A' where the oracle gateway is the only 'user' of the database, in which case it could cache as much as it wants.  (This would be silly, because if no other software is accessing the database, you should just use Oracle.)

    Mode 'B' where the gateway can be notified of changes by the underlaying server software. (I have no idea if MSSQL can do this.)

    Mode 'C' where the gateway can send a quick "has this table changed?/last chaged time?" query. (I have no idea if MSSQL can do this any quicker than just checking the data.)

    Mode 'D' where the gateway is one of many users possibly writing updates, so it has to check to make sure noone else updated the record it's using since the last read. (Provides the most current and consistant data.)

    Transactions are slow, referential integrity is slow, but getting the wrong data is far far worse than waiting a few extra seconds/minutes.

  • 8bitwizard (unregistered) in reply to savar
    savar:
    snoofle:

    Simple, walk over to the DB server, remove the disk, put it on a wooden table, take a picture, scan it at HIGH resolution, display in Paint, zoom in on the bits representing the table, and voila!



    I hope we all recognize that the wooden table jokes are way past their prime.

    SELECT * FROM PictureOfFoosballTable

    If you folks want a *real* WTF, one that you might actually be using at this moment, just google for "mork database"

    TDWTFWTF: When you click on the text style buttons, the keyboard focus goes away from the edit field. Brillant!
  • (cs)

    The title alone is a WTF by itself.

  • (cs) in reply to 8bitwizard

    Anonymous:

    If you folks want a *real* WTF, one that you might actually be using at this moment, just google for "mork database"

    <FONT color=#000000>My god, you're right! Mork needs to be submitted to TDWTF, without any</FONT> anonymization!

  • (cs) in reply to qbolec

    You can't do that... No No No... You have to first PRINT out the disk...Then you can TAKE and PUT the print on the wooden table.

    If you're gonna use the WTA ( wooden table approach ), it's gotta really work.  Otherwise it's just another WTF.

  • rob_squared (unregistered) in reply to Thuktun
    Thuktun:
    Anonymous:
    Initech.......Initech.........Initech
    Hmm, where have I heard that name before?

    OH

    Office Space...


    You must be new here.


    This is not sashdot.
  • Dazed (unregistered) in reply to Yaytay
    Anonymous:

    No no no, this is a good one.

    A piece of software that sells for ludicrous amounts of money that works about as well as something I could knock up in my shed in an afternoon (and which basically does the precise opposite of what you'd want).

    Agreed. It actually reminds me of something.

    Back in the days when RAID was just starting, a certain well-known computer manufacturer came up with a product that was basically RAID 1 avant la lettre.

    They did however decide to test it, and I was privileged to see an internal paper with the results. This was actually a sort of internal marketing paper - they had decided it was a Good Thing, and were encouraging people to look for opportunities to sell it.

    There was just one small problem - depending on the configuration, a single write (no, no, not a transaction - we're talking about a single disk block) could take up to one second.

    I don't think they sold many.

    I have no idea what the product was doing internally, but it was surely as daft as this WTF.

  • anonymous (unregistered)

    Also the Real WTF here is wen You or Me try something that seems to work, but you dont really know how mature is. You think is mature, and everybody else also use the tool, you read comments on internet, and all comments are positive!.. Seems mature and work!.
    Ok, so you code your app, and theres no problems on the development framework, mostly because the development framework is not real, not enough streess, no real data. Then you release, install or whatever, your code enter production. Then everything break because what you use its not good enough, its not good enough.

    Example:
    I have some productions sites designed with PHP and the gettext library. PHP is threadsafe, but gettext use enviromental variables ...that is no t thread safe. This mean that on developpment you dont see errors, everything work. But with enough users, there will be random errors. 

    Why people pimp the use of gettext with PHP on web applications?
    Maybe because people haven't productions sites, but toys. Hobbyist pimping a tool that seems cool, but is broken.
    Maybe people that are professional and very advanced already have solved that problem, with some version that fix it, etc. 
    Maybe other people that pimp the use of PHP + gettext are really coding single user applications: administration sites, blogs, content managements, etc.. even GTK destktop apps. Enviroments where you have 1 user (the admin, or user) so theres not problems.
    Or maybe this bug doest not occur on Windows. And you use WAMP ideas to build LAMP applications.

    Fortunally enough I can strafe, and avoid this problem on my PHP applications. So my code work with multiple users as intended. But I whas need to create some code that fake gettext, and now I hate hobbyst people.  I used to hate people that pimp a particular database as "the best stuff before jesus" (Most, If not all databases are total WTF's). But now my special hate is for hobbyist people that pimp unmature tools, broken enviroment chains :I

    </rant>

    --Tei

  • (cs)

    well, again we see how slow MS SQL Server is... ;)
    On Oracle it takes seconds, on MS SQL Server minutes... g

  • US Navy Commander (unregistered) in reply to phlox

    The real WTF is that they could support X databases using the open source Hibernate API.

    The world is full of idiots.


  • (cs) in reply to tristanj
    tristanj:

    Anonymous:

    Sorry to sound like a moron, but could you shed some more light on a better way to filter data other than a where clause? I know that you can use table filtering directly, is that a better method?

    An O-R mapping tool maps the object-oriented classes in your code to the relational structure used by relational databases.

    So instead of using code like

    <SAMP>queryString = "select * from Members as m where m.memberId = 42";  
    result = db.execute(queryString);
    member = new Member(result);

    you can use code like</SAMP>

    member = Members::getById(42);

    with the construction of the SQL abstracted away. Some tools will even get data from related tables and create instances of related classes as well, so you could also get

    print  member.ForumPosts.count();

    without having to explicitely get data from the ForumPosts table.

    In practice most OR mapping tools let you also use SQL, or something similar, to build up queries since it's easier to build complex queries that way.

    Of course, in practice things don't work quite so easily, and using an OR tool or database abstraction layer helps but doesn't solve the challenges of switching databases.

    And what the frigging hell do you think the ORM generates behind the scene? Pink bunnies on unicorns?

    The only way to filter is via where or where-style commands, the ORM just abstracts the SQL away and generates it for you (sometimes very badly)

  • Grovesy (unregistered) in reply to masklinn
    masklinn:
    tristanj:

    Anonymous:

    Sorry to sound like a moron, but could you shed some more light on a better way to filter data other than a where clause? I know that you can use table filtering directly, is that a better method?

    An O-R mapping tool maps the object-oriented classes in your code to the relational structure used by relational databases.

    So instead of using code like

    <SAMP>queryString = "select * from Members as m where m.memberId = 42";  
    result = db.execute(queryString);
    member = new Member(result);

    you can use code like</SAMP>

    member = Members::getById(42);

    with the construction of the SQL abstracted away. Some tools will even get data from related tables and create instances of related classes as well, so you could also get

    print  member.ForumPosts.count();

    without having to explicitely get data from the ForumPosts table.

    In practice most OR mapping tools let you also use SQL, or something similar, to build up queries since it's easier to build complex queries that way.

    Of course, in practice things don't work quite so easily, and using an OR tool or database abstraction layer helps but doesn't solve the challenges of switching databases.

    And what the frigging hell do you think the ORM generates behind the scene? Pink bunnies on unicorns?

    The only way to filter is via where or where-style commands, the ORM just abstracts the SQL away and generates it for you (sometimes very badly)

     

    <FONT face=Arial><FONT size=2>I concur, I haven’t come across an OR mapping tool yet that actually constructs good SQL. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT>

    <o:p><FONT face=Arial size=2> </FONT></o:p>

    <FONT face=Arial><FONT size=2>I’ve always found it easier in the long run to write the store proc, proc wrapping code and object factory code myself.<o:p></o:p></FONT></FONT>

    <o:p><FONT face=Arial size=2> </FONT></o:p>

    <FONT face=Arial><FONT size=2>Some really bad O/R mappers I’ve seen directly map one relation to one class. Very rarely do I find that an applications required representation (normally objects) of the data directly map to the physical database model, nor should it.<o:p></o:p></FONT></FONT>

  • Dazed (unregistered) in reply to Grovesy
    Anonymous:
    masklinn:
    tristanj:

    Of course, in practice things don't work quite so easily, and using an OR tool or database abstraction layer helps but doesn't solve the challenges of switching databases.

    And what the frigging hell do you think the ORM generates behind the scene? Pink bunnies on unicorns?

    The only way to filter is via where or where-style commands, the ORM just abstracts the SQL away and generates it for you (sometimes very badly)

    <FONT face=Arial><FONT size=2>I concur, I haven’t come across an OR mapping tool yet that actually constructs good SQL. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT>

    <o:p><FONT face=Arial size=2> </FONT></o:p>

    Don't forget that once upon a time SQL itself was the means by which you were supposed to be able to communicate with different databases. But then the marketeers of the world decided we needed different flavours of SQL.

    It's always the same. You start with tool A. Then along comes tool B which does pretty much the same thing. Someone decides you have to support both, so you build or buy tool 2A, which talks to both A and B. Then along comes 2B which does pretty much the same as 2A. So you build or buy tool 3A, which talks to both 2A and 2B. Then along comes 3B ...

    And when you have N levels in place, regardless of the value of N there is always someone like "US Navy Commander" who will tell you that you are an idiot for not using N+1. I presume he is the commander of the USS Enterprise.

    And that is why the 25 Terahertz computers of today (or wherever we currently are - I don't try to follow it) have a nett performance precious little better than the 4 MHz computers of 20 years ago.

  • Fred Flinstone (unregistered)

    Steeeeerike Two!

  • Howard c. Coward (unregistered) in reply to Dazed
    Anonymous:
    I presume he is the commander of the USS Enterprise.


    If he is, then he's an idiot for not using a Nimitz class vessel.
  • I'm billgates!! (unregistered) in reply to disenchanted
    Anonymous:
    Anonymous:
    Rubbish again. WTF?


    I agree... I've been thoroughly disappointed for the past couple of weeks...
    I guess everyone has become a better programmer after reading this sight and all the silly mistakes have been listed so no one will ever make a "craptastic" (captcha) function / program again!

    reading this SIGHT? I'm blind you insensitive clod! (Do screen readers spell out homophones so that the visually impaired can detect the illiterates as well as we sighted?)

  • (cs) in reply to savar
    savar:
    snoofle:

    Simple, walk over to the DB server, remove the disk, put it on a wooden table, take a picture, scan it at HIGH resolution, display in Paint, zoom in on the bits representing the table, and voila!



    I hope we all recognize that the wooden table jokes are way past their prime.

    Those, and "brillant", "Paula" and "FileNotFound" too. Still, it was one of the better ones!

  • US Navy Commander (unregistered) in reply to snoofle

    "And when you have N levels in place, regardless of the value of N there is always someone like "US Navy Commander" who will tell you that you are an idiot for not using N+1. I presume he is the commander of the USS Enterprise."

    What you'er saying here, is that abstraction layers are bad.
    So I presume you're hardwired into your computer.

    And yes, when the commander says you're an idiot, you most certainly are.

  • anonymous (unregistered) in reply to snoofle
    snoofle:
    savar:
    snoofle:

    Simple, walk over to the DB server, remove the disk, put it on a wooden table, take a picture, scan it at HIGH resolution, display in Paint, zoom in on the bits representing the table, and voila!



    I hope we all recognize that the wooden table jokes are way past their prime.

    Those, and "brillant", "Paula" and "FileNotFound" too. Still, it was one of the better ones!



    Classic Babelfish joke (WTF traduction):

    Spanish version:

    Puede que la gente que lee este foro sea muy solitaria, y necesite una especie de simbolo para sentir que pertenecen a algo.  Estos chistes forman parte de lo que nos identifica como comunidad. Y parece que hay muchas personas aqui desesperadas por sentir eso. A mi me parece un poco triste por la parte esta de "desesperacion", por la parte que tiene de desarraigo. Tambien me parece triste por lo que tiene que decir de como somos en general los seres humans, que vayamos donde vayamos tenemos que hacer circulos cerrados, tribus. Nos concentramos mucho en separarnos de los demas. Todos estos chistes sobre Paula y otras cosas son una barrera energetica para separarnos del resto de internet. Ademas no tienen maldita gracia, excepto repetidas un millon de veces que o bien resultan en un chiste a lo Andy Kauffman, o bien alguien tiene una genialidad y tropieza con algo de verdad divertido por casualidad.. y eso termina ocurriendo de modo que se "vindica" el uso exagerado de este humor geek.

    Y eso. Hasta la vista!

    ----

    Babelfish version:

    It can that the people who read east forum are very solitary, and needs a species simbolo to feel that they belong to something. These jokes comprise of which it identifies to us like community. And it seems that aqui are many desperate people to feel that. To my this of "desperation" seems to me a little sad by the part, by the part that it has of uprooting. Also it seems sad to me reason why it must say of as we are in general the beings humans, who we go where we go we must do closed circulos, tribes. We concentrated much in separating to us of demas. All these jokes on Paula and other things are a energetica barrier to separate to us of the rest of Internet. Ademas does not have damn grace, except repeated millon of times that or are in a joke to the Andy Kauffman, or anybody has a genius and really encounters over something amused by chance. and that ends up happening so that "the exaggerated use of this humor is vindicated" geek.

    And that.

    Good bye!

    -- Tei

  • packrat (unregistered) in reply to snoofle

    Where I work, we are forced to use Toplink for database access. Now that's a real WTF.

     

    captcha = pizza. Great, now I'm hungry.

  • US Navy Commander (unregistered) in reply to packrat
    Anonymous:

    Where I work, we are forced to use Toplink for database access. Now that's a real WTF.

     

    captcha = pizza. Great, now I'm hungry.



    Sorry for your loss. :/
    Oracle contacted us to try to get us to migrate to Toplink.
    Compared to Hibernate, they had no Pros, and all Cons.

    And for the record, Foosball Girl > Bean Bag Girl
  • Dazed (unregistered) in reply to US Navy Commander

    Anonymous:

    What you'er saying here, is that abstraction layers are bad.

    No, what I'm saying is that abstraction levels frequently get out of control. Almost every design problem in IT can be solved by an extra level of abstraction - except the problem of too many levels of abstraction.

     

     

  • (cs) in reply to rob_squared
    Anonymous:
    Thuktun:
    Anonymous:
    Initech.......Initech.........Initech
    Hmm, where have I heard that name before?

    OH

    Office Space...


    You must be new here.


    This is not sashdot.


    And thank god for that.
  • Anonymous (unregistered) in reply to John Bigboote

    The real WTF is that none of you can spell correctly!

  • Gabe (unregistered) in reply to John

    In Oracle's defense (I never thought I would write that!), the Oracle Transparent Gateway is just not designed for this application. It's so that your Oracle DB can access data stored on some other DB (like SQL Server). In this application, though, there is no Oracle DB; all data is stored on SQL Server, so doing the query processing on the Oracle side is just a waste.

    Whatever optimizations OTG has, this application for some reason cannot or will not use them. The only way to avoid a 100x loss in performance is to store a copy of the data on the Oracle server, which means constantly sending updates from SQL Server to Oracle. Since this requires the SQL Server to know what data will be needed, it means that only data for predefined queries is sent to Oracle, so this application's users can only see data for predefined queries.

    Since the whole point of this application was to let MBAs access the DB without IT intervention, it is pretty much useless. My friend planned to spend a free weekend or two writing a replacement for the app.

  • (cs) in reply to US Navy Commander
    Anonymous:

    And for the record, Foosball Girl > Bean Bag Girl

    Hmmm, if I interpret that as some kind of pictogram, it's *really* obscene!
  • tristanj (unregistered) in reply to masklinn
    masklinn:
    tristanj:

    with the construction of the SQL abstracted away. Some tools will even get data from related tables and create instances of related classes as well, so you could also get

    ...

    Of course, in practice things don't work quite so easily, and using an OR tool or database abstraction layer helps but doesn't solve the challenges of switching databases.

    And what the frigging hell do you think the ORM generates behind the scene? Pink bunnies on unicorns?

    The only way to filter is via where or where-style commands, the ORM just abstracts the SQL away and generates it for you (sometimes very badly)

    That's what I said. Why get worked up over it?

    The poster I replied to was himself replying to a comment that mentioned ORM tools.

  • Rhialto (unregistered) in reply to Hexar
    Anonymous:
    The class action ad is the best.  That old lawyer dude means business.  Look at his snarl, and the way he's pointing at the camera.  I bet Alltel is shaking in their boots.  Still.  This is the best part though, "Some class action litigants are going to be very happy about that, and someone named Chad isn?t."  WTF?

    It's a weird class action though. I clicked on it, and I got the impression it is actually a deceptive ad *for* some kind of scheme that is supposedly being actioned. Or it is a very very very stupidly arranged website.
  • Howard c. Coward (unregistered) in reply to Rhialto
    Anonymous:
    Anonymous:
    The class action ad is the best.  That old lawyer dude means business.  Look at his snarl, and the way he's pointing at the camera.  I bet Alltel is shaking in their boots.  Still.  This is the best part though, "Some class action litigants are going to be very happy about that, and someone named Chad isn?t."  WTF?

    It's a weird class action though. I clicked on it, and I got the impression it is actually a deceptive ad *for* some kind of scheme that is supposedly being actioned. Or it is a very very very stupidly arranged website.


    A weird class action suit it is. I'd even go as far as to call it odd. Maybe even queer? Something is fishy about it, and I don't mean marlins.

    People Against My Circle Foundation

    Welcome to the People Against My Circle Foundation, or as I like to call it, the People Against My Circle Foundation. My attorney's the one who convinced me, against my better judgment, to put that more "user-friendly" acronym at the top, as it allegedly will bring more people to my site. Personally, I feel having it there severely undermines my other pending case against the ever-encroaching Acronym Industry via my other group, Americans Against Appalling Acronymization, but since I'm paying him $387 a minute, I will defer to his alleged lawyerly wisdom. But I digress.

    If you are here, then you probably are in exactly the same boat I am, perturbed by a gross miscarriage of justice, and you probably are seething with rage right now. That big vein in your forehead is throbbing. Your teeth are gnashing like they've never gnashed before. Your hands are clenched, fingers digging into the arms of your chair so hard that your nurse must spend almost an hour digging splinters from beneath your nails before giving you your sponge bath and castor oil rubdown.

    Well don't worry, because you are now among "friends."* And if you're like me, friend, you feel that there are just certain things that friends don't do to other friends. Like add them to their "My Circle" plan without their consent. Oh, you may be thinking, "But Mr. Von Houten, sir, a circle is a wonderful thing, 360 degrees of curvy goodness, surely there's no harm in being added to someone's Circle!" If you are thinking this, please go and slap your mother in the face** for raising such an idiot. Done? Good. Now imagine this scenario:

    Some smarmy little weasel you know--let's call him "Thad"--has to pay every time he calls you from his cell phone. Every 60 seconds he keeps you on the line counts towards his precious monthly allotment of minutes. Tick. Tock. Tick. Tock. Before dialing, he makes sure the call is of life-or-death importance, and hangs up as quickly as possible, that is, if he ever calls you at all. Then Thad switches to Alltel and adds you to his Circle, without your knowledge or consent.

    Now he can call you whenever he pleases and talk to you for as long as he wants and not a single minute counts against him! He gets to talk to you for free! Now instead of calling only for emergencies, he's interrupting your blissful silence right and left, calling you just to, you know, see how you're doing or whatever, see which crooning bobbysoxer you voted for on the television last night, calling you just to…chat. You politely attempt to cut the conversation short, which only devolves into a giggly, back-and-forth volley of "You hang up first," "No you hang up first," which goes on for hours, costing him nothing, but greedily sucking away your valuable minutes like a mosquito at fat camp.

    Now imagine all the Thads of the world doing this at the same time, calling whomever 10 friends they choose, regardless of their networks, any time, day or night. For free. Friends, it would be sheer and utter anarchy.

    If you wish to just stand there like a modern-day Nero and gangster-rap while our society crumbles into fiery rubble, then by all means, ignore the People Against My Circle Foundation. Just don't come crying to me when the streets of America are filled with filthy, growling, half-naked troglodytes flinging their own refuse at you. But if you, like me, wish to uphold the sacred social contract that binds us to a system of rule by law, then you must act now and join the cause. If not for yourself, please, do it for the children***.

    *By "friends" I mean fellow potential litigants in a class-action lawsuit, not people who lend you a cup of sugar or tell you whether you look fat in those dungarees. If you're looking for those kinds of "friends," perhaps this is not the place for you. (If those dungarees do make you look fat, you may be entitled to damages, but that's a different case.)

    **Slapper assumes all responsibility for damages incurred to slappee, and will not hold Edward Maxwell Von Houten or PAMCF liable if your mother grounds you or sends you to your room without supper.

    ***Or the puppies, kittens, dolphins, or whatever other defenseless creatures elicit an emotional response from you.


  • (cs) in reply to FrostCat

    I hereby suggest the standardization of the new SQL statement "SELECT .. FROM ", which selects from the union of all tables in the database. Non-existent columns are filled with null (or the corresponding default value) so the tables do not have to have the same row structure.

    Example Usage:

    CONNECT TO DATABASE * ON HOST ..
    .* PORT *;
    SELECT * FROM * INTO petabyteRAID;

    Isn't it brillant?

  • (cs) in reply to Alexander
    Anonymous:
    "How else am I supposed to find out if the table exists and has the correct fields?"

    CAPTCHA = error :-)



    "Mr. A. Nonymous, you are accused of cutting your coworker's skull open with a hacksaw.  Several eye witnesses have testified against you.  Never in my decade-long experience as a judge was I confronted with a more horrible crime.  What do you have to say in your defense?"

    "Well, I did it, but how else was I supposed to find out whether there's a brain in it?"

  • Metaspace (unregistered) in reply to pelee
    1. Foosball girl is really a guy on estrogen (everyone knows no good looking women become programmers)

    I have seen girls of this calibre and better playing foosball in pubs I go to....of course I did not make the mistake to talk to them about ours job :-)

Leave a comment on “It Works on Any Platform! We Didn't Even Have to Test it!”

Log In or post as a guest

Replying to comment #:

« Return to Article