Hacking the jProject

  • Jiminy Cricket 2005-12-12 14:01
    looks like MS logic to me....<br><br>first post?<br>
  • Curtis 2005-12-12 14:02
    what?<br><br>Is this serious?<br><br>A table for every order? how many rows in each table??<br><br>what the hell?<br><br>FYI table-level inheritance!!!<br><br>
  • frosty 2005-12-12 14:05
    Has Jay considered the "stone tablet" optimization?&nbsp; Or the "One less Jay to Pay"?&nbsp; What about the "STFU" one?<br>
  • ammoQ 2005-12-12 14:07
    Must be a fake. Nobody can be so stupid to build such a system.<br>
  • limelight 2005-12-12 14:09
    I'd love to see the query that put all this crap together in order to produce something as simple as summary report.
  • KraGiE 2005-12-12 14:12
    omg.&nbsp; I'd just quit.&nbsp; No amount of money could keep me from looking at that and not exploding on the developer.&nbsp; I don't care if I hurt their feelings or not.&nbsp; That's just.. <br><br>ok.&nbsp; this is&nbsp; the ultimate WTF.&nbsp; If I saw that, I'd have to write a memo about negligence.<br>
  • Mike R 2005-12-12 14:14
    Why is it that the most arrogant software developers appear to be the dumbest?<br>
  • aap 2005-12-12 14:17
    simply amazing.  how does this fool not get fired?<br>
  • BlackTigerX 2005-12-12 14:19
    those DBAs-think-they're-smarter-than-everyone-else can think so inside the box (the database box) that sometimes come up with the most stupid solutions
  • frosty 2005-12-12 14:19
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<br>
    <br><br>Because their arrogance stops them from embracing other people's ideas and work.&nbsp; Anything they touch <span style="font-style: italic;">must<span style="font-weight: bold;"></span></span><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"> </span></span></span>turn into gold where everyone else's work is mere scrap iron.&nbsp; If they weren't so arrogant, then they would have learned how to use SQL right and how to optimize right.<br>
  • BlackTigerX 2005-12-12 14:19
    <P>
    Anonymous:
    simply amazing.&nbsp; how does this fool not get fired?<BR>
    </P>
    <P>because he's the star!! didn't you read the whole post?</P>
  • TankerJoe 2005-12-12 14:22
    <P>
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<BR>
    </P>
    <P>&nbsp;</P>
    <P>They hope their arrogance will cover their stupidity.&nbsp;&nbsp;Kinda like an inferiority complex.&nbsp;[8-|]</P>
  • JL 2005-12-12 14:22
    limelight:
    I'd love to see the query that put all this crap together in order to produce something as simple as summary report.
    <br><br>Naw, the query would be pretty simple, if you enjoy that sort of thing. Must have a mathematics background: simple idea, but it makes a terrible implementation. (Some mathematicians are very sharp, to be fair.)<br><br>But to <span style="font-style: italic;">defend </span>it -- that's something else.<br>
  • diaphanein 2005-12-12 14:23
    BlackTigerX:

    <P>
    Anonymous:
    simply amazing.&nbsp; how does this fool not get fired?<BR>
    </P>
    <P>because he's the star!! didn't you read the whole post?</P>
    <P>
    </P>
    <P>Yes, but what <STRONG><EM>moron </EM></STRONG>ever decided that a jackass like Jay was a star?&nbsp; Both ought to be drug out into the street and shot.&nbsp; Then, their parents ought to be billed for the bullets for ever having reared such spawn.</P>
  • TankerJoe 2005-12-12 14:24
    BlackTigerX:

    <P>
    Anonymous:
    simply amazing.&nbsp; how does this fool not get fired?<BR>
    </P>
    <P>because he's the star!! didn't you read the whole post?</P>
    <P>
    </P>
    <P>&nbsp;</P>
    <P>I wouldn't be surprised if Jay also happened to be the Boss's Kid.</P>
  • LJ 2005-12-12 14:24
    KraGiE:
    omg.  I'd just quit.  No amount of money could keep me from looking at that and not exploding on the developer.  I don't care if I hurt their feelings or not. 
    <br><br>I guess you never worked at an outfit with the 'statutory genius', someone who is big friends with the management, and considered to be a genius by the same, for some very mysterious reasons... you know the type, always comes up with 'novel ideas', 'new design patterns' or some new brilliant tool or technology, makes a quick demo, grabs the credits, and leaves a multitude of bugs and hair-brained 'design decisions' for the real coders, who are faced with the challenge of getting his trashware to work in real-world scenarios. Those debuggers obviously 'don't get it', and so he maintains his status, creating even more sh*t to prove his point.<br><br>I've seen this scenario several times, even saw such a dolt creating his own database and binary network protocol, since standard databases were not optimal enough, and the network protocol was more efficient since it used all the bits and bytes in the stream to cram data in. That company went bankrupt, BTW, leaving my employer with a significant unpaid bill...<br><br><br><br><br>
  • chills42 2005-12-12 14:26
    well... it's not too b...<br><br>&nbsp;wtf... I can't even think of a way to justify this kind of blatent disregard for the entire purpose of tables...<br><br>This is just stupid...<br>
  • Eric the .5b 2005-12-12 14:30
    limelight:
    I'd love to see the query that put all this crap together in order to produce something as simple as summary report.


    You could probably start with something like:

    select * from SysObjects where type = 'u' and name like 'tblOrderDetail%' order by name

    and loop over the resulting query to get the table names to individually query. The guy may have then constructed an obscene union query in order to generate a unified recordset or used some other object and dumped in each order a query at a time. Something suggests to me that he did the latter.
  • cconroy 2005-12-12 14:30
    <font size="2"><span style="font-family: verdana;">What happens when
    the orderID exceeds 99,999?&nbsp; Will he create another database so as
    not to break the table naming convention in that one?<br>
    </span></font>
  • limelight 2005-12-12 14:35
    <P>
    Anonymous:
    limelight:
    I'd love to see the query that put all this crap together in order to produce something as simple as summary report.
    <BR><BR>Naw, the query would be pretty simple, if you enjoy that sort of thing.
    </P>
    <P>Perhaps not as simple as it might appear. To put this together, you'd have to have a huge query like:</P>
    <P>select ...<BR>from tblOrderDetails1...<BR>union ... tblOrderDetails2 ...<BR>union ... tblOrderDetails3</P>
    <P>Now if the justification for this was that, "any new changes to the table template won't affect the old orders" you have to assume that it is possible that there are multiple different table schemas in use over different detail tables. So perhaps a particular column exists in some, but not others, etc. So not only do you have to put the tables together, but you have to keep track of which subsets of tables have what schema. To actually do this in a functional manner, you would have to keep a table of table schemas so that your code&nbsp;could automatically generate the query. The design is simply insane.</P>
  • RevMike 2005-12-12 14:41
    I can't beleive he used Hungarian notation like that!&nbsp; 'tbl' in front of everything!&nbsp; Some people are just crazy.<br><br>:)<br>
  • MikeB 2005-12-12 14:44
    <P>This is the second time I've heard of someone doing this. Two times. That's a trend. It must mean something.</P>
    <P>BTW, I'm pretty good with a bow staff.</P>
  • RevMike 2005-12-12 14:46
    I've seen file oriented systems work this way.&nbsp; It doesn't work terribly bad for moderate sizes.&nbsp; Sure, extracting data is a bit of work in Perl, but we've all been there and done that and it works.&nbsp; Frequently one of the nice things about doing this is that older data can simply be moved to a different filesystem for archival purposes.<br><br>To lift that paradigm wholesale and stick it into a database is just crazy.<br>
  • Grimoire 2005-12-12 14:50
    Anonymous:
    <br>I guess you never worked at an outfit with the 'statutory genius', someone who is big friends with the management, and considered to be a genius by the same, for some very mysterious reasons... you know the type, always comes up with 'novel ideas', 'new design patterns' or some new brilliant tool or technology, makes a quick demo, grabs the credits, and leaves a multitude of bugs and hair-brained 'design decisions' for the real coders, who are faced with the challenge of getting his trashware to work in real-world scenarios. Those debuggers obviously 'don't get it', and so he maintains his status, creating even more sh*t to prove his point.<br>
    <br>I've also worked for a company like that.&nbsp; We "merged" with another company, and their chief designer/developer/coder/CTO was exactly like this.&nbsp; He wrote his own database, which had its own bastardized version of SQL, as well as his own XML parser.&nbsp; Everyone for his side of the company considered him the god of developers.<br><br>Everything "worked", as long as you didn't ask it to do anything other than what it was originally designed and implemented to do.&nbsp; Want to parse an XML file with a single, large node?&nbsp; Be prepared to wait an hour or so.&nbsp; Want to speed of the DB by removing old data?&nbsp; Nope, the DB actually slows down the more you delete items from it.&nbsp; Never shrinks either.&nbsp; You can delete every record in the DB, but it will still be the same size as before.<br><br>And you couldn't pull out ANYTHING, since each component was tightly integrated with the rest of the system.&nbsp; The DB, business logic, XML parser, everything, was all mixed together in the different "classes".&nbsp; And I use the term "classes" lightly, as the classes were essentially just dumping grounds for a bunch of functions, rather than a designed OO architecture.<br><br>Fortunately, he left about 6 months after the merger.&nbsp; Unfortunately, his code didn't.&nbsp; There was a push to re-write the client from the ground up, but why make that kind of expediture when you can sell the crap we currently have to customers?&nbsp; Never mind the fact that it costed us more money to maintain a customer than the customer actually paid, but what the hell, any sale is a good sale, right?<br><br>The phrase "f'ing Gary" become the unofficial company slogan...<br>
  • sOOperme 2005-12-12 15:15
    <P>MS logic?&nbsp; Way to try to make a flame posting out of the awesome example of delveoper stupidity.&nbsp; I spit in your general direction.</P>
    <P>(Die Linux! Kidding... ) </P>
  • K Klein 2005-12-12 15:26
    http://www.apa.org/journals/features/psp7761121.pdf
  • Disgruntled DBA 2005-12-12 15:27
    <span style="font-family: Tahoma;">NNNOOOOOO!!!!!!<br><br>8-( ]</span><br><br><br><br style="font-family: Arial;"><span style="font-family: Arial;">Shooting is too good for Jay.&nbsp; He and his heirs to the third generation should be forced to maintain this code, and field all user requested changes for the rest of his un-natural life.</span><br>
  • K Klein 2005-12-12 15:28
    Let's try again in context...<br>
    <br>
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<br>
    <br>
    <br>
    http://www.apa.org/journals/features/psp7761121.pdf<br>
  • Me 2005-12-12 15:37
    WTF? Next we'll have people using only natural keys.  <br>
  • kipthegreat 2005-12-12 15:40
    Anonymous:
    Let's try again in context...<br>
    <br>
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<br>
    <br>
    <br>
    http://www.apa.org/journals/features/psp7761121.pdf<br>
    <br><br>I think I might print out the first page of that and leave it on a few people's desks one night...&nbsp; Unfortunately, those people wouldn't get that it was about them..<br>
  • Rank Amateur 2005-12-12 15:42
    <P>Wait a minute. You mean I can put more than one order item in an order item table? And here I had 1 to 24 separate order item&nbsp;tables <EM>per order</EM>. This guy Jay <EM>is</EM> a genious. </P>
    <P>But putting the order items from different orders all in the same table? That's crazy. How will you keep orders separate?</P>
    <P>And what's this "query" you're talking about? Computers use For loops.</P>
    <P>--Rank</P>
  • zephc 2005-12-12 15:43
    two words: justifiable homicide
  • mrsticks1982 2005-12-12 15:44
    <P>
    ammoQ:
    Must be a fake. Nobody can be so stupid to build such a system.<BR>
    </P>
    <P>&nbsp;</P>
    <P>Oh i beg to differ. There was a torrent tracker built and open source that created two tables for every torrent. Talk about efficency!!!!</P>
  • xeno 2005-12-12 15:45
    BlackTigerX:
    <p>
    Anonymous:
    simply amazing.  how does this fool not get fired?<br>
    </p>
    <p>because he's the star!! didn't you read the whole post?</p>
    <br><br>and once you become a star like this, you can do anything and it is GOLD!  (its up to all the nonstars to fix everything).  <br><br>I personal experience with someone like this was someone who would write SQL queries that would take days to execute.  The only reason he was the star of the team was because he was the loudest talker.  We had to rewrite nearly all his queries once they are approved by management....needless to say, he was promoted and we were not.<br>
  • mrsticks1982 2005-12-12 15:45
    <P>
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<BR>
    </P>
    <P>&nbsp;</P>
    <P>cause they have to make it up somewhere else in their life ... cause they cant perform in any other part.</P>
  • Grimoire 2005-12-12 15:50
    Anonymous:
    Let's try again in context...<br>
    http://www.apa.org/journals/features/psp7761121.pdf<br>
    <br><br>From the article:<br>
    n 1995, McArthur Wheeler walked into two Pittsburgh banks and robbed
    them in broad daylight, with no visible attempt at disguise. He was
    arrested later that night, less than an hour after videotapes of him
    taken from surveillance cameras were broadcast on the 11 o'clock news.
    When police later showed him the surveillance tapes, Mr. Wheeler stared
    in incredulity. "But I wore the juice," he mumbled. Apparently, Mr.
    Wheeler was under the impression that rubbing one's face with lemon
    juice rendered it invisible to videotape cameras ( Fuocco, 1996 ).<br>
    <br>From now on, I propose that anyone like this "Jay", or in my case, "Gary", be refered to as "wearing the juice".&nbsp; :D<br>
  • kipthegreat 2005-12-12 15:52
    frosty:
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<br>
    <br><br>Because their arrogance stops them from embracing other people's ideas and work.&nbsp; Anything they touch <span style="font-style: italic;">must<span style="font-weight: bold;"></span></span><span style="font-weight: bold;"><span style="font-weight: bold;"><span style="font-weight: bold;"> </span></span></span>turn into gold where everyone else's work is mere scrap iron.&nbsp; If they weren't so arrogant, then they would have learned how to use SQL right and how to optimize right.<br>
    <br><br>

    <p class="MsoNormal">I can understand that incompetent people can be incompetent
    at recognizing their own incompetence, leading to arrogance.&nbsp; What I don't
    understand is how these people can often manage to convince so many other people
    that they are a "star". As I type this, a very prominent political leader comes to mind for some reason..<br></p>
  • Grant 2005-12-12 15:54
    Anonymous:
    limelight:
    I'd love to see the
    query that put all this crap together in order to produce something as
    simple as summary report.

    You could probably start with something like:
    select * from SysObjects where type = 'u' and name like
    'tblOrderDetail%' order by name
    and loop over the resulting query to get the table names to
    individually query. The guy may have then constructed an obscene union
    query in order to generate a unified recordset or used some other
    object and dumped in each order a query at a time. Something suggests
    to me that he did the latter.
    <br>
    <br>
    The first approach is better for the arrogant, as they can endlessly extoll the virtues of "metaprogramming" <br>
  • Rank Amateur 2005-12-12 15:58
    Anonymous:
    BlackTigerX:

    <P>
    Anonymous:
    simply amazing.&nbsp; how does this fool not get fired?<BR>
    </P>
    <P>because he's the star!! didn't you read the whole post?</P>
    <P>
    <BR><BR>and once you become a star like this, you can do anything and it is GOLD!&nbsp; (its up to all the nonstars to fix everything).&nbsp; <BR><BR>I personal experience with someone like this was someone who would write SQL queries that would take days to execute.&nbsp; The only reason he was the star of the team was because he was the loudest talker.&nbsp; We had to rewrite nearly all his queries once they are approved by management....needless to say, he was promoted and we were not.<BR>
    </P>
    <P>Well, at least that got him out of your hair... or did he become your boss?</P>
    <P>Not that there's anything wrong with their criterion for promotion. Observing how managers interact with each other, I'd say loud talking is far more important than good technical skills. Heck, good hair is more important than good technical skills. It's a silverback thing.</P>
    <P>--RA</P>
  • Decibel 2005-12-12 16:05
    I <span style="font-weight: bold;">guarantee</span> this guy was not a DBA, or at least he sure as hell shouldn't have been calling himself one.<br>
    <br>
    Things like this make me wish people were required to have a license before they could touch a database...<br>
  • welcor 2005-12-12 16:09
    <P>
    Anonymous:
    Let's try again in context...<BR><BR>
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<BR>
    <BR><BR>http://www.apa.org/journals/features/psp7761121.pdf<BR>
    </P>
    <P>Thanks for the read. A lot of things make more sense now...</P>
  • wakeskate 2005-12-12 16:16
    limelight:

    <p>
    Anonymous:
    limelight:
    I'd love to see the query that put all this crap
    together in order to produce something as simple as summary
    report.
    <br><br>Naw, the query would be pretty simple, if you enjoy that sort of thing.
    </p>

    <p>Perhaps not as simple as it might appear. To put this together, you'd have to have a huge query like:</p>

    <p>select ...<br>from tblOrderDetails1...<br>union ... tblOrderDetails2 ...<br>union ... tblOrderDetails3</p>

    <p>--8&lt;-- snip snip --8&lt;--<br>
    </p>
    <br>
    <br>
    surely it could only be dynamically generated and a union would be
    ridiculous - can never tell if there is sarcasm...&nbsp; besides in
    some db's # of tables in a query is limited (sql server, for example, a
    mere 256)<br>
    <br>
    cconroy:
    <font size="2"><span style="font-family: verdana;">What happens when
    the orderID exceeds 99,999?&nbsp; Will he create another database so as
    not to break the table naming convention in that one?<br>
    </span></font>
    <br>
    <br>
    it would go on until sql server couldn't make any more tabes, i'm guessing that orders &lt; 9999 wouldn't have leading zeros.<br>
    <br>
    this "database of databases" wtf is always funny!<br>
  • jadwigo 2005-12-12 16:18
    "licenced to code", probably more dangerous than double oh seven<br>
  • Gene Wirchenko 2005-12-12 16:21
    welcor:
    Anonymous:
    Let's try again in context...<br><p>
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?
    <br><br>http://www.apa.org/journals/features/psp7761121.pdf
    </p>
    <p>Thanks for the read. A lot of things make more sense now...
    <br></p>They sure do.&nbsp; Applying the article explains, among other things, why so much advice is bad and how people who say "You think you know everything." are operating.&nbsp; The article is a jewel.<br><br>Sincerely,<br><br>Gene Wirchenko<br><br>
  • WTFer 2005-12-12 16:25
    Grimoire:
    Anonymous:
    Let's try again in context...<br>
    http://www.apa.org/journals/features/psp7761121.pdf<br>
    <br><br>From the article:<br>
    n 1995, McArthur Wheeler walked into two Pittsburgh banks and robbed
    them in broad daylight, with no visible attempt at disguise. He was
    arrested later that night, less than an hour after videotapes of him
    taken from surveillance cameras were broadcast on the 11 o'clock news.
    When police later showed him the surveillance tapes, Mr. Wheeler stared
    in incredulity. "But I wore the juice," he mumbled. Apparently, Mr.
    Wheeler was under the impression that rubbing one's face with lemon
    juice rendered it invisible to videotape cameras ( Fuocco, 1996 ).<br>
    <br>From now on, I propose that anyone like this "Jay", or in my case, "Gary", be refered to as "wearing the juice".&nbsp; :D<br>
    <br>
    I see nothing wrong with this multiple table design. It clearly can adapt to different order forms without problems. <br>
    <br>
    /I'm wearing the juice, man!<br>
  • trollable 2005-12-12 16:26
    cconroy:
    <font size="2"><span style="font-family: verdana;">What happens when
    the orderID exceeds 99,999?&nbsp; Will he create another database so as
    not to break the table naming convention in that one?<br>
    </span></font>
    <br>
    Don't overestimate the millenium bug: we have plenty of time...<br>
    Anyway after <span style="font-weight: bold;">tbl</span> comes <span style="font-weight: bold;">tbm</span><br>
  • kipthegreat 2005-12-12 16:33
    WTFer:
    <br>
    /I'm wearing the juice, man!<br>
    <br><br>That sounds kind of hot<br>
  • Ytram 2005-12-12 16:44
    :
    <span id="_ctl0_PostForm_Reply">
    Anyway after <span style="font-weight: bold;">tbl</span> comes <span style="font-weight: bold;">tbm
    <br>
    <br>
    </span>Well crap, I wonder what happened to aaa through tbk?<span style="font-weight: bold;"><br>
    </span></span>
  • welcor 2005-12-12 16:46
    <P>
    kipthegreat:
    WTFer:
    <BR>/I'm wearing the juice, man!<BR>
    <BR><BR>That sounds kind of hot<BR>
    </P>
    <P>Read the pdf above (it's on page one as well, so you don't have to spend too long to find that quote).</P>
    <P>*shakes head in disbelief*&nbsp; <BR>If it wasn't in&nbsp;a scientific paper, I'm not sure I'd believe it. Actually it's so implausible (&amp; incomprehensible &amp; unbelievable)&nbsp;I'm not sure I believe it even if it IS in a scientific paper.</P>
  • masklinn 2005-12-12 16:53
    Anonymous:
    what?<br><br>Is this serious?<br><br>A table for every order? how many rows in each table??

    Quite obviously one.
  • kipthegreat 2005-12-12 17:04
    welcor:
    <p>
    kipthegreat:
    WTFer:
    <br>/I'm wearing the juice, man!<br>
    <br><br>That sounds kind of hot<br>
    </p>
    <p>Read the pdf above (it's on page one as well, so you don't have to spend too long to find that quote).</p>
    <p>*shakes head in disbelief*&nbsp; <br>If it wasn't in&nbsp;a scientific paper, I'm not sure I'd believe it. Actually it's so implausible (&amp; incomprehensible &amp; unbelievable)&nbsp;I'm not sure I believe it even if it IS in a scientific paper.</p>
    <br><br>I did read it.&nbsp; Well the first seven pages anyway.&nbsp; I guess you're one of those who would place themselves in the 68th percentile on your ability to recognize humor (meaning, you're really in the &lt;25th percentile).<br><br>And I still think a dude covered in juice is pretty hot.<br><br>That was more homoerotic humor there, in case you didn't catch it.<br>
  • KraGiE 2005-12-12 17:21
    <P>
    Anonymous:
    KraGiE:
    omg.&nbsp; I'd just quit.&nbsp; No amount of money could keep me from looking at that and not exploding on the developer.&nbsp; I don't care if I hurt their feelings or not.&nbsp;
    <BR><BR>I guess you never worked at an outfit with the 'statutory genius', someone who is big friends with the management, and considered to be a genius by the same, for some very mysterious reasons... you know the type, always comes up with 'novel ideas', 'new design patterns' or some new brilliant tool or technology, makes a quick demo, grabs the credits, and leaves a multitude of bugs and hair-brained 'design decisions' for the real coders, who are faced with the challenge of getting his trashware to work in real-world scenarios. Those debuggers obviously 'don't get it', and so he maintains his status, creating even more sh*t to prove his point.<BR><BR>I've seen this scenario several times, even saw such a dolt creating his own database and binary network protocol, since standard databases were not optimal enough, and the network protocol was more efficient since it used all the bits and bytes in the stream to cram data in. That company went bankrupt, BTW, leaving my employer with a significant unpaid bill...<BR>
    </P>
    <P>Oh I have.&nbsp; And I've quit.&nbsp; No way am I going to let a guy like that become my manager.&nbsp; No way in hell.&nbsp; It's usually people like these that go out of their way to look good when in fact, they're dumber than dirt.&nbsp; I worked with a guy like that who would talk, and talk, and talk with upper managers.&nbsp; When time came to show and tell, he'd blame the rest of the developers for not making it happen.&nbsp; Screw those people.</P>
  • aikimark 2005-12-12 17:24
    <P>
    masklinn:
    Quite obviously one.
    </P>
    <P>most probably one row for each order item.</P>
  • cconroy 2005-12-12 17:35
    <font size="2" style="font-family: verdana;">
    aikimark:
    </font><p style="font-family: verdana;"><font size="2">most probably one row for each order item.</font></p><font size="2" style="font-family: verdana;">
    <br>
    <br>
    Of course... if you're using tables to represent what should be rows,
    you might as well use rows to represent what should be columns.&nbsp;
    Brillant!<br>
    <br>
    <br>
    </font>
  • ByteJuggler 2005-12-12 17:44
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<br>
    <br><br>Because that's the only way they can maintain their belief that they actually know what they're doing.&nbsp; It'd called being in "De Nile" <br>
  • tim 2005-12-12 18:12
    <P>80GB?</P>
    <P>How the hell were they backing it up every day in a backup cycle&nbsp;- you know, like you're supposed to.</P>
  • Zair 2005-12-12 19:23
    One problem I have with that study is that the participants were
    recruited from college students, with the promise of extra credit in a
    class.&nbsp; So, who needs extra credit?&nbsp; Those that think they
    could benefit from it: the middle of the distribution.<br>
    <br>
    The students at the bottom of the class (and knew it) wouldn't enter, because they know they'd fail regardless.<br>
    The students at the top (and knew it) have no need of extra credit.<br>
    <br>
    So, they excluded these groups from their analysis, and it may have
    changed the results strikingly.&nbsp; I'd like to see these studies
    carried out again with a true random sample from the students, not just
    those enticed by extra credit.<br>
    <br>
    As for the quote... I believe it.&nbsp; It certainly requires more testing... maybe that guy just had a bad batch of juice?<br>
  • Max 2005-12-12 19:24
    ammoQ:
    Must be a fake. Nobody can be so stupid to build such a system.<br>
    <br>
    <br>
    Seen this style before - think it was on here a year an a bit ago.  Maybe here is were Jay got his ideas from?<br>
  • JoeyLemur 2005-12-12 19:27
    Imagine a commerce system.<br><br>Imagine that it doesn't use a database.<br><br>Imagine that it writes each order to a seperate file.<br><br>Imagine that it does this to the same directory.<br><br>Imagine an ext2 filesystem in Linux trying to cope with 100,000+ files in a single directory...<br><br><br>I've seen this before, and I shudder to think that its happened elsewhere.<br><br>
  • sao 2005-12-12 20:23
    MikeB:
    <p>This is the second time I've heard of someone doing this. Two times. That's a trend. It must mean something.</p>
    <p>BTW, I'm pretty good with a bow staff.</p>
    <br>
    <br>
    so does this mean that with ALL those tables, he STILL cant get, like, 3 feet of air??<br>
  • welcor 2005-12-12 20:37
    kipthegreat:
    welcor:

    <P>
    kipthegreat:
    WTFer:
    <BR>/I'm wearing the juice, man!<BR>
    <BR><BR>That sounds kind of hot<BR>
    </P>
    <P>Read the pdf above (it's on page one as well, so you don't have to spend too long to find that quote).</P>
    <P>*shakes head in disbelief*&nbsp; <BR>If it wasn't in&nbsp;a scientific paper, I'm not sure I'd believe it. Actually it's so implausible (&amp; incomprehensible &amp; unbelievable)&nbsp;I'm not sure I believe it even if it IS in a scientific paper.</P>
    <P>
    <BR><BR>I did read it.&nbsp; Well the first seven pages anyway.&nbsp; I guess you're one of those who would place themselves in the 68th percentile on your ability to recognize humor (meaning, you're really in the &lt;25th percentile).<BR><BR>And I still think a dude covered in juice is pretty hot.<BR><BR>That was more homoerotic humor there, in case you didn't catch it.<BR>
    </P>
    <P>Thanks for the clarification. Apparently my humour recognition falls about in line with my expectations (==low). For what it's worth, I've never been fond of homoerotic jokes.</P>
    <P>Have nice day with your boyfriend.</P>
  • rsynnott 2005-12-12 20:52
    welcor:
    For what it's worth, I've never been fond of homoerotic jokes.</P>
    <P>Have nice day with your boyfriend.</P>


    People who make so-called 'homoerotic jokes' are generally homophobes, not homosexuals.

    And I post, knowing even as I do that Safari will mangle the quoting. Ah well...
  • Rob 2005-12-12 21:09
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?<br>
    <br><br>Consider the saying (and I paraphrase): "With true knowledge comes the understanding of how much you really DON'T know."<br>
  • Chris 2005-12-12 21:21
    <P>"Nobody can be that stupid"</P>
    <P>Oh yes they can. I interviewed with a company for a development DBA position that had a similar mess on their hands. I turned the offer down in part because I thought I would go insane dealing with that system before I was able to get rid of it.</P>
  • ammoQ 2005-12-12 22:57
    RevMike:
    I can't beleive he used Hungarian notation like
    that!&nbsp; 'tbl' in front of everything!&nbsp; Some people are just
    crazy.<br><br>:)<br>
    <br>
    <br>
    Ironically, one of the largest and most complex systems I've built so
    far uses the TBL_ prefix for every table. But this wasn't my idea, I
    had to copy that from the previous system. Needless to say that this is
    completely senseless (never used that notion for any other project) but
    at least it doesn't hurt much (compared to the countless other WTFs
    created by the originator of this naming scheme), except having to type
    tbl_ about 10000 times.<br>
    <br>
    On the other hand, it makes some sense (IMHO) to prefix views and indexes with "VW_" resp. "IDX_".<br>
  • ammoQ 2005-12-12 23:35
    kipthegreat:
    <br>

    <p class="MsoNormal">I can understand that incompetent people can be incompetent
    at recognizing their own incompetence, leading to arrogance.&nbsp; What I don't
    understand is how these people can often manage to convince so many other people
    that they are a "star". As I type this, a very prominent political leader comes to mind for some reason..<br></p>
    <br>
    <br>
    Many managers (especially in small or medium companies) love the idea that the stars are making something <span style="font-style: italic;">special</span>
    instead of following the usual practices like everybody else. The stars
    first "prove" that the usual way is inefficient (because they do it
    horribly wrong) and then they present their <span style="font-style: italic;">much better</span> way of doing things.<br>
    <br>
    On the other hand, some things grow for several years; today it would
    be rather stupid to build your own web application framework (given the
    abundance of frameworks from MS, Sun, Apache etc.) but back in 1998,
    things looked different. So what if a system has been built in 1998 and
    is still in use today? At first glance, it's a WTF... lots of cheaply
    implemented re-invented wheels. But the standard wheels were not
    invented <span style="font-style: italic;">then, </span>and the things that were standard <span style="font-style: italic;">then</span> are mostly dead now (e.g. the Netscape web server and its proprietary APIs)<br>
  • Pseudonym 2005-12-13 00:35
    Of course, the real WTF is that he's using Hungarian notation by starting all the names with 'tbl'.<br>
  • bigkm 2005-12-13 00:40
    Obviously never got told what the R means in RDMS
  • beliar 2005-12-13 03:31
    <P>
    Anonymous:
    Of course, the real WTF is that he's using Hungarian notation by starting all the names with 'tbl'.<BR>
    </P>
    <P>youre talking about "Systems Hungarian", right?</P>
  • LarsW 2005-12-13 03:53
    >I guess you never worked at an outfit with the 'statutory genius',
    someone who is big friends with the management, and considered <br>
    >to be a genius by the same, for some very mysterious reasons... you know the type, always comes up with 'novel ideas', 'new <br>
    >design patterns' or some new brilliant tool or technology, makes a
    quick demo, grabs the credits, and leaves a multitude of bugs <br>
    >and hair-brained 'design decisions' for the real coders, who are
    faced with the challenge of getting his trashware to work in <br>
    >real-world scenarios. Those debuggers obviously 'don't get it', and
    so he maintains his status, creating even more sh*t to prove his <br>
    >point.<br><br>
    Amen. Happened to me twice. First huge PHP file upload/download and
    repository management system, and then a J2EE "universal translation
    and teaching tool". The last one  especially had a lot of stuff
    worthy of submissions to WTF, but I don't have the code anymore and I
    don't want to risk getting sued.<br>
    <br>
    Them: "Why is it taking you so long to fix the system? Our users are
    really upset. X designed it in weeks, and it is taking you months just
    to fix a few bugs."<br>
    Me: "Because this is uncommented unmaintanable crap. I change things in one place and stuff explodes in three others."<br>
    Them (sceptical): "But it worked fine when X worked here, it was only
    after he quit and you started that the system started to fail."<br>
    Me: "Yes, but then you only tested it with one or two users at a time,
    and now we have hundreds, and this stuff wasn't designed with
    concurrency in mind. I basically have to rewrite everything from
    scratch."<br>
    Them: "How long will that take you? A week? Two?"<br>
    Me: "Gaaah!"<br>
    <br>
    Well, I can mention the DB design of the last project. For some reason
    they wanted each string only once in the database, probably to keep the
    size down. So words with different meaning in different languages, or
    different grammar could only occur once. For example the word"last"<br>
     Swedish - cargo<br>
     Swedish - sin<br>
     English - final position<br>
     English - staying power<br>
    So the challenge was to represent language trees in a relational
    database, so that translations could be done. The obscenely well paid
    consultant had created a single Oracle table with a few attributes had
    all languages, all grammatical structures and all words... in the
    world. It is one of the established methods to represent a tree in a
    relational database, but books that discuss it say that performance is
    rarely good and it shouldn't be used for large data. Only for the demo,
    a Swedish-English translator and quiz tool using the database, the
    table had over 200 000 entries. First you had to look up the pkey for
    Swedish, and see that there were 150 grammatical structures associated
    with it (noun, verb, adjective, adverb...), then you looked up which
    sub-structures were associated with that structure (verb ->
    regular/irregular, monotransitive/bitransitive/complex-transitive...)
    and THEN... etc etc. Using this you were supposed to be able to create
    an infinite number of language quizzes. Imagine the time it would take
    to do the recursive queries once a few
    more languages were added.... It had a few more tables of course, for
    instance one that kept track which words in different languages were
    equivalent.<br>
    <br>
    To make the demo work, the people who tried to maintain it had ditched
    this and used whole sentences in the database with a random selection
    between them, and then a few random nouns.<br>
    <br>
    They had recieved millions of venture capital to design this. (This was
    during the dot com boom). Once this money drained out, they had managed
    to convince local authorities in Sweden to finance further development
    for a few years. Tax money down the drain of course...<br>
    <br>
    <br>
  • WWWWolf 2005-12-13 04:01
    <span id="_ctl0_PostForm_Reply"><span style="font-style: italic;">how many rows in each table??</span><br><br>Rows? What rows? Since they have a table for every order, they can super-opteymice the application and save disk space and encode the data to the column names.<br><br></span>
  • dhromed 2005-12-13 04:11
    ammoQ:
    RevMike:
    I can't beleive he used Hungarian notation like
    that!&nbsp; 'tbl' in front of everything!&nbsp; Some people are just
    crazy.<br><br>:)<br>
    <br>
    <br>
    Ironically, one of the largest and most complex systems I've built so
    far uses the TBL_ prefix for every table. But this wasn't my idea, I
    had to copy that from the previous system. Needless to say that this is
    completely senseless (never used that notion for any other project) but
    at least it doesn't hurt much (compared to the countless other WTFs
    created by the originator of this naming scheme), except having to type
    tbl_ about 10000 times.<br>
    <br>
    On the other hand, it makes some sense (IMHO) to prefix views and indexes with "VW_" resp. "IDX_".<br>
    <br><br>Where I work, we prefix views with V_. That makes sense, because view names and table names are wholly interchangeable in normal queries. But, um, we don't prefix tables with T_. Views are special, tables are not.<br>
  • wagemonkey 2005-12-13 05:05
    <blockquote>80GB?

    How the hell were they backing it up every day in a backup cycle - you know, like you're supposed to.
    </blockquote>

    Well that's obvious - you only need to back up the tables that were added sincethe last backup!<br><a href="">:P</a><br>
  • b1xml2 2005-12-13 07:13
    anyone in this day and age who is arrogant enough to re-invent the wheel ought to be publicly denounced.<br>
  • ammoQ 2005-12-13 07:28
    b1xml2:
    anyone in this day and age who is arrogant enough to re-invent the wheel ought to be publicly denounced.<br>
    <br>
    <br>
    It happens all the time... it keeps us programmers busy. And I'm sure it also happens outside IT.<br>
  • the_saint 2005-12-13 07:50
    <P>
    Grimoire:
    Anonymous:
    <BR>I guess you never worked at an outfit with the 'statutory genius', someone who is big friends with the management, and considered to be a genius by the same, for some very mysterious reasons... you know the type, always comes up with 'novel ideas', 'new design patterns' or some new brilliant tool or technology, makes a quick demo, grabs the credits, and leaves a multitude of bugs and hair-brained 'design decisions' for the real coders, who are faced with the challenge of getting his trashware to work in real-world scenarios. Those debuggers obviously 'don't get it', and so he maintains his status, creating even more sh*t to prove his point.<BR>
    <BR>I've also worked for a company like that.&nbsp; We "merged" with another company, and their chief designer/developer/coder/CTO was exactly like this.&nbsp; He wrote his own database, which had its own bastardized version of SQL, as well as his own XML parser.&nbsp; Everyone for his side of the company considered him the god of developers.<BR><BR>Everything "worked", as long as you didn't ask it to do anything other than what it was originally designed and implemented to do.&nbsp; Want to parse an XML file with a single, large node?&nbsp; Be prepared to wait an hour or so.&nbsp; Want to speed of the DB by removing old data?&nbsp; Nope, the DB actually slows down the more you delete items from it.&nbsp; Never shrinks either.&nbsp; You can delete every record in the DB, but it will still be the same size as before.<BR><BR>And you couldn't pull out ANYTHING, since each component was tightly integrated with the rest of the system.&nbsp; The DB, business logic, XML parser, everything, was all mixed together in the different "classes".&nbsp; And I use the term "classes" lightly, as the classes were essentially just dumping grounds for a bunch of functions, rather than a designed OO architecture.<BR><BR>Fortunately, he left about 6 months after the merger.&nbsp; Unfortunately, his code didn't.&nbsp; There was a push to re-write the client from the ground up, but why make that kind of expediture when you can sell the crap we currently have to customers?&nbsp; Never mind the fact that it costed us more money to maintain a customer than the customer actually paid, but what the hell, any sale is a good sale, right?<BR><BR>The phrase "f'ing Gary" become the unofficial company slogan...<BR>
    </P>
    <P>OMG, I think that I used to work with f'ing Gary</P>
  • the_saint 2005-12-13 07:51
    BTW: my first post
  • Anonymous 2005-12-13 07:59
    <P>
    Ytram:
    :
    <SPAN id=_ctl0_PostForm_Reply> Anyway after <SPAN style="FONT-WEIGHT: bold">tbl</SPAN> comes <SPAN style="FONT-WEIGHT: bold">tbm
    <BR><BR></SPAN>Well crap, I wonder what happened to aaa through tbk?<SPAN style="FONT-WEIGHT: bold"><BR></SPAN></SPAN>
    </P>
    <P>aaa through tbk have been used.&nbsp; The space doesn't get freed up again.</P>
  • me 2005-12-13 08:30
    Alex Papadimoulis:

    <P>On the order-entry system, the slowdown was a result of Microsoft SQL Server improperly indexing table pages. Jay's design was brilliant: each order had its own table. This way, any new changes to the table template won't affect the old orders.
    <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
    <P>&nbsp;</P></BLOCKQUOTE>
    <P>
    </P>
    <P>This nonsense is very common. I have had to clean up several databases that had sets of tables (new set for each customer). A common reason given to me if I ask why this design was chosen was security. It is far too mind boggling to consider the rammifications of having all the data in one table (or set of tables).</P>
    <P>A variation on this is to use different tables for different time periods. Extra points for being used in conjunction with the above.</P>
    <P>There is nothing "happier" than debugging code in which table names are being dynamically assembled to deal with this type of mess. "SELECT * FROM "+custID+"_"+year_value+"_orders;"</P>
    <P>:(</P>
  • Satanicpuppy 2005-12-13 09:15
    JoeyLemur:
    Imagine a commerce system.<br><br>Imagine that it doesn't use a database.<br><br>Imagine that it writes each order to a seperate file.<br><br>Imagine that it does this to the same directory.<br><br>Imagine an ext2 filesystem in Linux trying to cope with 100,000+ files in a single directory...<br><br><br>I've seen this before, and I shudder to think that its happened elsewhere.<br><br>
    <br><br>Now see a COMPETENT programmer would have made a new directory for every day or week and thus prolonged the final reckoning by months or years. Of course...there are advantages to creating a directory for each reservation...<br><br>
  • fffffffffff 2005-12-13 09:22
    Wow, that is completely insane. A WTF in the truest sense.<br>
  • HAK 2005-12-13 09:26
    Maybe it's possible he didn't know of the Identity property of an int-type column?<br>
    My company queries on that and a part ID for large inventory-type tables.<br>
  • kipthegreat 2005-12-13 09:31
    Zair:
    One problem I have with that study is that the participants were
    recruited from college students, with the promise of extra credit in a
    class.&nbsp; So, who needs extra credit?&nbsp; Those that think they
    could benefit from it: the middle of the distribution.<br>
    <br>
    The students at the bottom of the class (and knew it) wouldn't enter, because they know they'd fail regardless.<br>
    The students at the top (and knew it) have no need of extra credit.<br>
    <br>
    So, they excluded these groups from their analysis, and it may have
    changed the results strikingly.&nbsp; I'd like to see these studies
    carried out again with a true random sample from the students, not just
    those enticed by extra credit.<br>
    <br>
    As for the quote... I believe it.&nbsp; It certainly requires more testing... maybe that guy just had a bad batch of juice?<br>
    <br><br>I noticed the same thing.&nbsp; Even a random sample of students from a university wouldn't really be very random.&nbsp; On average, students who are in a university will perform better on standardized tests than non-university students.&nbsp; So the fact that most students rated themselves in the 60-70% range might be an accurate assessment of their competence compared to the general public.&nbsp; But overall I think the point the study was making is very plausible.<br>
  • ammoQ 2005-12-13 09:53
    kipthegreat:
    <br>I noticed the same thing.&nbsp; Even a random sample of students from a university wouldn't really be very random.&nbsp; On average, students who are in a university will perform better on standardized tests than non-university students.&nbsp; So the fact that most students rated themselves in the 60-70% range might be an accurate assessment of their competence compared to the general public.&nbsp; But overall I think the point the study was making is very plausible.<br>
    <br><br>:-/&nbsp; I read from the study: Generally most people think they are slightly-above-average, almost independend of how well they actually perform. In other words: People are generally bad at judging themself; slightly above average people are right only by chance.<br>
  • TheDauthi 2005-12-13 10:02
    JoeyLemur:
    Imagine a commerce system.<br><br>Imagine that it doesn't use a database.<br><br>Imagine that it writes each order to a seperate file.<br><br>Imagine that it does this to the same directory.<br><br>Imagine an ext2 filesystem in Linux trying to cope with 100,000+ files in a single directory...<br><br><br>I've seen this before, and I shudder to think that its happened elsewhere.<br><br>
    <br>
    <br>
    It has, I can say.&nbsp; A company I worked for a few years ago had such a
    system, matching almost exactly that.&nbsp; And ext2 was NOT designed for
    that many files in a single directory.&nbsp; <br>
    <br>
    The orders were in some binary format that only the client application
    could read, no one had the source to make a "minor maintaince change".&nbsp;
    When the system started acting slow, it had to be the fault of the
    systems administrators who simply didn't know how to keep the system
    going.&nbsp; Middle management refused to believe that their application
    (that they had paid for support from the vendor on for at least 3
    years, at 200k/year) was a steaming pile.&nbsp; We went through two hardware
    upgrades that solved the problem for 2-3 months, each.&nbsp; The vendor, of
    course, was out of business.<br>
    Finally, we tried changed the filesystem over to ReiserFS, knowing (at the
    time) it was unstable.&nbsp; Searching still took some time, but management
    saw the system working again, patted themselves on the shoulders, and
    fired half of our incompetent team for taking so long to fix the
    problem.
  • SteveSenior 2005-12-13 10:31
    Dear Steve,<br><br>Quit. We have better jobs for better programmers. If you follow Jay around and fix his messes you only make him look good. Either quit cleaning up after Jay or quit the company.<br><br>--Steve<br>
  • Wang 2005-12-13 10:41
    <P>
    wakeskate:
    </P>
    <P>surely it could only be dynamically generated and a union would be ridiculous - can never tell if there is sarcasm...&nbsp; besides in some db's # of tables in a query is limited (sql server, for example, a mere 256)</P>
    <P><BR>it would go on until sql server couldn't make any more tabes, i'm guessing that orders &lt; 9999 wouldn't have leading zeros.<BR><BR>this "database of databases" wtf is always funny!<BR>
    </P>
    <P>Erm, sorry I can't tell if this is sarcasm or not.&nbsp; Sql Server 2k (you know, the one that becomes obsolete this year) is limited to the max number of objects per database, in turn limited by the number of objects in an instance.&nbsp; This is either 2,147,483,647 or limited by memory.</P>
    <P>Perhaps you are thinking of&nbsp; decade old technology..?</P>
    <P>&nbsp;</P>
  • ammoQ 2005-12-13 10:57
    Anonymous:
    <p>
    wakeskate:
    </p>
    <p>surely it could only be dynamically generated and a union would be
    ridiculous - can never tell if there is sarcasm...&nbsp; besides in
    some db's # of tables in a query is limited (sql server, for example, a
    mere 256)</p>
    <p><br>it would go on until sql server couldn't make any more tabes, i'm guessing that orders &lt; 9999 wouldn't have leading zeros.<br><br>this "database of databases" wtf is always funny!<br>
    </p>
    <p>Erm, sorry I can't tell if this is sarcasm or not.&nbsp; Sql Server
    2k (you know, the one that becomes obsolete this year) is limited to
    the max number of objects per database, in turn limited by the number
    of objects in an instance.&nbsp; This is either 2,147,483,647 or
    limited by memory.</p>
    <p>Perhaps you are thinking of&nbsp; decade old technology..?</p>
    <p>&nbsp;</p>
    <br>
    <br>
    I don't want to imagine a system where a 256-tables-per-<span style="font-weight: bold;">query</span> limit becomes relevant.<br>
  • Janos 2005-12-13 11:03
    oh no, I have seen such a man with my own eyes. he created his own database mgmt system which stored each record in a separate file. thus to store 1 byte took at leat 4096. Once he started to teach me on how to spare storage room by carefully choosing between various primitive types (long, int). I had that internal smile as he was talking :)
  • Alex Papadimoulis 2005-12-13 11:14
    <P>
    dhromed:
    ammoQ:
    On the other hand, it makes some sense (IMHO) to prefix views and indexes with "VW_" resp. "IDX_".<BR>
    <BR><BR>Where I work, we prefix views with V_. That makes sense, because view names and table names are wholly interchangeable in normal queries. But, um, we don't prefix tables with T_. Views are special, tables are not.<BR>
    </P>
    <P>It makes as much sense to prefix views as it does to prefix Private classes and Public classes with access indicators (pubSomeClass , pvtMyClass). Remember that a view is&nbsp;a virtual table, just named in a confusing way. Views function exactly like a regular table (provided the triggers are in place).&nbsp;Such information distinguishing the two should *not* be exposed to the user (application programmer). It's a fundamental of of simplification and information-hiding.</P>
  • Pope 2005-12-13 11:18
    <P>
    Anonymous:
    KraGiE:
    omg.&nbsp; I'd just quit.&nbsp; No amount of money could keep me from looking at that and not exploding on the developer.&nbsp; I don't care if I hurt their feelings or not.&nbsp;
    <BR><BR>I've seen this scenario several times, even saw such a dolt creating his own database and binary network protocol, since standard databases were not optimal enough, and the network protocol was more efficient since it used all the bits and bytes in the stream to cram data in. That company went bankrupt, BTW, leaving my employer with a significant unpaid bill...<BR><BR>
    </P>
    <P>Mem'ries... light the corners of our mind! </P>
    <P>This&nbsp;reminds me&nbsp;of my first job when my boss would decide to change primary keys on tables - and not tell anyone -&nbsp;for his Oh-my-god-the-client-is-flipping-out-we-have-to-fix-this-even-if-it-means-breaking-everything-else projects.&nbsp; This was the same guy who brought an air mattress to work, slept at work "when he could", and worked "100+ hours a week" to work his magic.&nbsp; At least, that's what he reminded everyone, lest they forget who was in charge.&nbsp; To defy this man... no, no divine being!... was an act of heresy.&nbsp; He got to this position because he built the first working web product.&nbsp; I don't know how many times I was flamed for having an independent thought.&nbsp; "You're just a punk programmer,"&nbsp; I was told.&nbsp; God forbid we built anything right the first time... we might have actually had time to improve our product rather than fix it.&nbsp; By the time I left, simple queries were taking nearly a minute to complete.&nbsp;</P>
    <P>I salute you, 12th percentile.</P>
  • ammoQ 2005-12-13 11:24
    Alex Papadimoulis:
    <p>
    dhromed:
    ammoQ:
    On the other hand, it makes some sense (IMHO) to prefix
    views and indexes with "VW_" resp. "IDX_".<br>
    <br><br>Where I
    work, we prefix views with V_. That makes sense, because view names and
    table names are wholly interchangeable in normal queries. But, um, we
    don't prefix tables with T_. Views are special, tables are not.<br>
    </p>
    <p>It makes as much sense to prefix views as it does to prefix Private
    classes and Public classes with access indicators (pubSomeClass ,
    pvtMyClass). Remember that a view is&nbsp;a virtual table, just named
    in a confusing way. Views function exactly like a regular table
    (provided the triggers are in place).&nbsp;Such information
    distinguishing the two should *not* be exposed to the user (application
    programmer). It's a fundamental of of simplification and
    information-hiding.</p>
    <br>
    <br>
    I see your point, but if an application programmer uses a tool like TOAD or Tora (for Oracle), he <span style="font-weight: bold;">must</span>
    see the difference between a view and a table: There is a tab "Tables"
    for tables and "Views" for views. Having a name scheme with "vw_"
    prefix helps to find the right tab in the tool.<br>
    In other environments, the database structure is hidden behind a
    mapping (Hibernate comes to my mind) and application programmers never
    sees tables or views.<br>
  • Kooch 2005-12-13 11:35
    Zair:
    One problem I have with that study is that the participants were
    recruited from college students, with the promise of extra credit in a
    class.&nbsp; So, who needs extra credit?&nbsp; Those that think they
    could benefit from it: the middle of the distribution.<br>
    <br>
    The students at the bottom of the class (and knew it) wouldn't enter, because they know they'd fail regardless.<br>
    The students at the top (and knew it) have no need of extra credit.<br>
    <br>
    So, they excluded these groups from their analysis, and it may have
    changed the results strikingly.&nbsp; I'd like to see these studies
    carried out again with a true random sample from the students, not just
    those enticed by extra credit.<br>
    <br>
    <br>
    Hmmm, I'm not so sure about that. Students at the top of the class are
    usually total keeners and will go for the extra marks even though they
    don't need them. Students at the bottom of the class would jump at a
    chace for free marks especially when it doesn't involve having to
    actually study. Students in the middle would also benefit from the
    extra marks, so I believe the sample would probably be pretty even.<br>
    <br>
    I confess I only read the first two pages of the article, is any information given about the average grades of the sample given?<br>
  • RevMike 2005-12-13 11:37
    Alex Papadimoulis:
    <p>
    dhromed:
    ammoQ:
    On the other hand, it makes some sense (IMHO) to prefix views and indexes with "VW_" resp. "IDX_".<br>
    <br><br>Where I work, we prefix views with V_. That makes sense, because view names and table names are wholly interchangeable in normal queries. But, um, we don't prefix tables with T_. Views are special, tables are not.<br>
    </p>
    <p>It makes as much sense to prefix views as it does to prefix Private classes and Public classes with access indicators (pubSomeClass , pvtMyClass). Remember that a view is&nbsp;a virtual table, just named in a confusing way. Views function exactly like a regular table (provided the triggers are in place).&nbsp;Such information distinguishing the two should *not* be exposed to the user (application programmer). It's a fundamental of of simplification and information-hiding.</p>
    <br><br>But a view is not an eqivalent to a table.&nbsp; Views are frequently not updateable.&nbsp; This is key information that must be exposed to a developer.&nbsp; Second, depending on your platform, performing a join between a view and a table can be radically less efficient than performing a join between two tables.<br>
  • spotcatbug 2005-12-13 12:32
    I think I can see what happened here. This guy couldn't work out how to store multiple items in a single order. He conceptualized each order as its own table of items and couldn't break away from that.<br><br>That he forged on and implemented this "design" is very arrogant. I can see myself having that "multiple items per order" conceptualization problem (more than) a few years ago, but I KNOW I would have thought, "No way man. There's got to be a better way."<br>
  • still working there 2005-12-13 12:53
    Sorry, where I work the lead moron did just that. all of the data is in what is basically a 2 column table. Actually, it is 6 columns, I think, because you have a column for String, Int, Long, date, object, etc. In order to get one patient record with 150 fields, you have to do 150 selects. The query, when you print it out, is literally 10 pages long. To get one record! Oh, I forgot, you have to join with another table to find out the data type for each and every item so that you know what column you will find it in. So, you have to do a 3 column join to get each field, and you have to do this 150 times to get one patient record. But don't worry, we speed it up by running 3 explains on every query at runtime and selecting the best. A customer called to complain that they were trying to purge a lousy 40,000 patients from a db with 80K patients in it. Do the math. It comes out to like 12 MILLION deletes to delete 40K records. They killed the purge after 25 hours. Oh, one last detail to the nightmare: this crap is in the 'core' code that is used by all the applications the company builds. (The new team replaced this nightmare with a standard relational data model and the sun came out again...)<br>
  • XoK 2005-12-13 13:23
    He's taking very seriously the integrity of the database!<br>
    <br>
    One to Many !<br>
    <br>
    <br>
    Alex Papadimoulis:
    <p>After spending a few days of
    combining the ungodly amount of order tables, Steve was able to
    increase performance by a few magnitudes and reduce the database size
    from 80GB to 2GB. Jay, still the star-developer, scoffed at the "hack"
    and said he will be evaluating different database systems for future
    projects. </p>
  • ammoQ 2005-12-13 13:48
    Anonymous:
    Sorry, where I work the lead moron did just
    that. all of the data is in what is basically a 2 column table.
    Actually, it is 6 columns, I think, because you have a column for
    String, Int, Long, date, object, etc. In order to get one patient
    record with 150 fields, you have to do 150 selects. The query, when you
    print it out, is literally 10 pages long. To get one record! Oh, I
    forgot, you have to join with another table to find out the data type
    for each and every item so that you know what column you will find it
    in. So, you have to do a 3 column join to get each field, and you have
    to do this 150 times to get one patient record. But don't worry, we
    speed it up by running 3 explains on every query at runtime and
    selecting the best. A customer called to complain that they were trying
    to purge a lousy 40,000 patients from a db with 80K patients in it. Do
    the math. It comes out to like 12 MILLION deletes to delete 40K
    records. They killed the purge after 25 hours. Oh, one last detail to
    the nightmare: this crap is in the 'core' code that is used by all the
    applications the company builds. (The new team replaced this nightmare
    with a standard relational data model and the sun came out again...)<br>
    <br>
    <br>
    Let me guess: This was done on an Oracle database, right?<br>
    A database built upon a database... I've had this crazy idea before,
    but I would never have imagined someone would really do that in real
    world!<br>
  • JoeyLemur 2005-12-13 15:06
    Satanicpuppy:
    JoeyLemur:
    Imagine a commerce system.<br><br>Imagine that it doesn't use a database.<br><br>Imagine that it writes each order to a seperate file.<br><br>Imagine that it does this to the same directory.<br><br>Imagine an ext2 filesystem in Linux trying to cope with 100,000+ files in a single directory...<br><br><br>I've seen this before, and I shudder to think that its happened elsewhere.<br><br>
    <br><br>Now see a COMPETENT programmer would have made a new directory for every day or week and thus prolonged the final reckoning by months or years. Of course...there are advantages to creating a directory for each reservation...<br><br>


    We hacked that in some years ago. Right about the time that management said 'hey, we should be backing this stuff up, and maybe even have a failover system for it', and rsync would just grind to a halt...

    It was also about this time that I realise 'System Administrator' is shorthand for 'Local Deity That Pulls Solutions Out Of His Ass'.
  • Zebby 2005-12-13 16:27
    <P>&nbsp;</P>
    <P>I've heard of this before... there must be some database design philosophy somewhere that says to do this! Either that or some old school database that makes you be this stupid.</P>
    <P>&nbsp;</P>
  • sammybaby 2005-12-13 16:56
    I just put it in my sig.
  • jbode 2005-12-13 18:49
    <P>I worked on a project where there were three distinct sets of tables to track whether a job was pending, executing, or finished.&nbsp; When a job was pulled from the queue, the entries in the "pending" tables would be deleted and then written to the "executing" tables (yeah, in that order), and after the job was finished, the entries from the "executing" tables would be deleted and then written to the "finished" tables*.&nbsp; </P>
    <P>This is approximately eleven orders of magnitude worse.&nbsp; </P>
    <P>*To be fair, the guys who originally wrote the system were used to hierarchical-style database systems like Image on MPE, and didn't really grok relational systems.&nbsp; Unfortunately, none of them&nbsp;saw&nbsp;that&nbsp;as a problem.&nbsp; </P>
  • taryn 2005-12-13 19:09
    Anonymous:
    <br>We have better jobs for better programmers.<br>
    <br>
    <br>
    Where? I find them impossible to find, generally... or they have
    impossible entrance requirements ie they only take people that have
    proven themselves competant... which I understand completely - you
    don't want to end up with another f'ing Gary/Jay... but how do new
    developers get a foothold into the right jobs?<br>
    <br>
    I have found so far that it's a slow crawl to get where you want to be.
    Unless you have the benefit of having been a geek mucking about with
    programming since you were ten (which I wasn't) that it's pretty hard
    to prove yourself capable.<br>
  • taryn 2005-12-13 19:15
    JoeyLemur:
    Imagine...<br><br>I've seen this before, and I shudder to think that its happened elsewhere.<br>
    <br>
    <br>
    sadly our system uses something similar. Not precisely a commerce
    system, but we do store transaction files for every transaction a user
    does on our website... we do store them in separate directories for
    each user... but several of our "users" are administrative - ie they
    handle multiple transactions for other customers (ie they are helpdesk
    doing transactions on the behalf of many of our users)... it's starting
    to take around a minute for their page to load these days... while
    they're on the phone to the irate customer. :P<br>
    <br>
    The app that displays the list of these transactions to the user is
    retarded in itself and has gotten to the stage where it's consuming
    some ridiculous amount of our server's CPU... to the detriment of the
    apps that actually do something useful (like allow our customers to
    actually buy stuff from us).<br>
    <br>
    Of course if I mention the fact that we should fix it I tend to get
    blank stares and comments about how much time that'd take (or "so it'll
    just take a couple of days then" ideas...<br>
    <br>
    Our sysadmin had begun to get onto it lately and we seem to be finally
    getting some way to convincing them it's necessary to put this stuff in
    the database... which is when I finally took a peek at our database
    code &lt;shudder&gt; I've submitted some of that to this forum already
    (aparrently it's hideous, but not uncommon enough to put up here or
    something).<br>
  • triso 2005-12-13 19:16
    Anonymous:
    <p>[...]<br>
    This nonsense is very common. I have had to clean up several databases
    that had sets of tables (new set for each customer). A common reason
    given to me if I ask why this design was chosen was security. It is far
    too mind boggling to consider the rammifications of having all the data
    in one table (or set of tables).</p>
    <p>A variation on this is to use different tables for different time
    periods. Extra points for being used in conjunction with the above.<br>
    [...]
    <br>
    </p>
    <p><font size="6">H</font>mmm.&nbsp; Different tables for different
    time periods.&nbsp; That sounds like it would be fun to create reports
    that span across two or more intervals.<br>
    </p>
    <p><br>
    </p>
  • Zair 2005-12-13 19:39
    My point about the study is that they're getting a self-selected
    subsample of the students at the top of the class, and similarly at the
    bottom.&nbsp; This is a major problem in statistics; there's nothing
    you can do to fix this other than attempting to repeat the study on a
    true randomized sample.&nbsp; If the self-selection doesn't depend on
    self-perception, then the study works fine.&nbsp; I wonder if the APA
    had a statistician on their peer-review comittee?<br>
    <br>
    As for it being specific to college students, that's another
    point.&nbsp; It's very hard to get a truly representative sample; just
    look at the major fights going on over the US Census and representative
    samples.&nbsp; Still, it's worth the study, as the college student
    population may resemble others, such as programming.<br>
    <br>
    The study hits close to home for me; I'm a biostatistics grad student myself.&nbsp; *grin*<br>
  • Anonymous 2005-12-13 20:22
    kipthegreat:
    welcor:
    <p>
    kipthegreat:
    WTFer:
    <br>/I'm wearing the juice, man!<br>
    <br><br>That sounds kind of hot<br>
    </p>
    <p>Read the pdf above (it's on page one as well, so you don't have to spend too long to find that quote).</p>
    <p>*shakes head in disbelief*&nbsp; <br>If it wasn't in&nbsp;a
    scientific paper, I'm not sure I'd believe it. Actually it's so
    implausible (&amp; incomprehensible &amp; unbelievable)&nbsp;I'm not
    sure I believe it even if it IS in a scientific paper.</p>
    <br><br>I
    did read it.&nbsp; Well the first seven pages anyway.&nbsp; I guess
    you're one of those who would place themselves in the 68th percentile
    on your ability to recognize humor (meaning, you're really in the
    &lt;25th percentile).<br>
    <br>
    <br>
    And you'd probably rate yourself in the 54241231th percentile of funny people.<br>
  • Steve Webster 2005-12-13 20:36
    Don't bet on it - I saw someone normalise gender out into its own
    table. His reasoning was that with the current advances in medical
    science, we'd probably have enough genders to warrant their own table
    in a couple of years. This was in 1999 and since stupid is an attribute
    of both male and female and not a separate gender, I guess he can't use
    himeslef as justification for the decision.<br>
  • Andrey 2005-12-14 00:19
    He'll be evaluating a new database system, you say?  I know just the right software for the next project.<br><br>Let's try the sales pitch:<br>"Comma Separated Values file (CSV) is a cutting edge technlogy that makes the current RDBMses obsolete!  CSV allows users to easily implement storage and retrieval of their data without the need for slow and bloated database systems.  The CSV system also provides robust facilities for cross-platform compatibility unmatched by the competitors!"<br>
  • somebody 2005-12-14 11:01
    Ha, but would you really want to be promoted to whatever position he
    got? The position probably would have to be more pomp than skill with
    such unknowledgable management, and perhaps would of been the beginning
    of uncomfortable meetings and preparations for the scapegoat, if
    needed. :D<br>
    <br>
    On issue of the OP's post, I still can't believe this is real. Nobody
    would ever do this kind of work professionally. It's just too far
    fetched.<br>
    <br>
  • java.lang.NullReferenceException 2005-12-14 11:22
    beliar:
    <p>
    Anonymous:
    Of course, the real WTF is that he's using Hungarian notation by starting all the names with 'tbl'.<br>
    </p>
    <p>youre talking about "Systems Hungarian", right?</p>
    <br>I believe he was talking about ntnHungarian...<br>
  • java.lang.NullReferenceException 2005-12-14 11:24
    welcor:
    <p>
    kipthegreat:
    WTFer:
    <br>/I'm wearing the juice, man!<br>
    <br><br>That sounds kind of hot<br>
    </p>
    <p>Read the pdf above (it's on page one as well, so you don't have to spend too long to find that quote).</p>
    <p>*shakes head in disbelief*&nbsp; <br>If it wasn't in&nbsp;a scientific paper, I'm not sure I'd believe it. Actually it's so implausible (&amp; incomprehensible &amp; unbelievable)&nbsp;I'm not sure I believe it even if it IS in a scientific paper.</p>
    <br>I take it that you don't subscribe to This is True (http://thisistrue.com)<br>
  • GalacticCowboy 2005-12-14 13:11
    <P>
    Anonymous:
    Let's try the sales pitch:<BR>"Comma Separated Values file (CSV) is a cutting edge technlogy that makes the current RDBMses obsolete!&nbsp; CSV allows users to easily implement storage and retrieval of their data without the need for slow and bloated database systems.&nbsp; The CSV system also provides robust facilities for cross-platform compatibility unmatched by the competitors!"<BR>
    </P>
    <P>Nah, you've got to store the data in XML and query it with XPath!&nbsp;&nbsp;XML kicks CSV's @$$...[;)]</P>
  • Enders 2005-12-14 13:12
    I wonder if a manager came up and ask him can you give me a total of my sales / client or sales / product ?<br>Or give me my top 10 best clients<br><br>Well his responses could : <br>The database wasn't designed that way because it was never a requirement <br>Microsoft SQL server wasn't designed that way.<br><br>I once saw a database where clients were deleted if they left. And because it was a relational database,<br>their orders and order details were deleted too. You don't wanna have old orders in the database do you ?<br>But hey what about the sales for this year ?<br><br><br><br>And what is<br><font color="Red">
    Something didn't quite work out ... <br>- CAPTCHA Validation Incorrect </font><br><br>
  • mcguire 2005-12-14 13:29
    Zair:
    One problem I have with that study is that the participants were
    recruited from college students, with the promise of extra credit in a
    class.  So, who needs extra credit?  Those that think they
    could benefit from it: the middle of the distribution.<br>
    <br>
    The students at the bottom of the class (and knew it) wouldn't enter, because they know they'd fail regardless.<br>
    The students at the top (and knew it) have no need of extra credit.<br>
    <br>
    So, they excluded these groups from their analysis, and it may have
    changed the results strikingly.  I'd like to see these studies
    carried out again with a true random sample from the students, not just
    those enticed by extra credit.<br>
    <br>
    As for the quote... I believe it.  It certainly requires more testing... maybe that guy just had a bad batch of juice?<br>
    <br>
    <br>
    I don't know about Cornell, but at UTexas, psychology classes require
    participation in those kinds of studies.  There's a nominal
    payment, extra credit in this case I suppose, but it is a class
    requirement.  "Psychology" is the study of the psychology of
    psychology undergraduates....<br>
    <br>
    (No, I never took a psych class.  I just hung around UT for far too long.)<br>
    <br>
  • Rank Amateur 2005-12-14 14:38
    <P>
    Zair:
    My point about the study is that they're getting a self-selected subsample of the students at the top of the class, and similarly at the bottom.&nbsp; This is a major problem in statistics; there's nothing you can do to fix this other than attempting to repeat the study on a true randomized sample.&nbsp; If the self-selection doesn't depend on self-perception, then the study works fine.&nbsp; I wonder if the APA had a statistician on their peer-review comittee?<BR><BR>As for it being specific to college students, that's another point.&nbsp; It's very hard to get a truly representative sample; just look at the major fights going on over the US Census and representative samples.&nbsp; Still, it's worth the study, as the college student population may resemble others, such as programming.<BR><BR>The study hits close to home for me; I'm a biostatistics grad student myself.&nbsp; *grin*<BR>
    </P>
    <P>I can't get to the paper right now, but as I recall the key results of the study were not that most people think they're above average --that's been well-replicated in other studies, and one needs to look at all of them to see if sampling bias is could account for the apparent phenomenon. The key result of the paper is that there's a <I>relation</I> between the discrepancy in one's self-assessment of competence and one's actual competence, and also one's ability to learn to adjust one's self-assessment. Maybe I'm missing something, but I can't see how the sampling biases discussed here could account for these relations, except is some vague "not a random sample" way. The theory for the relation is rooted in general cognitive processes, which are common to all people, not just college students and not just college students that volunteer for studies. If you really want to criticize the study for this, you should lay out an alternative theory for the relation that implies that it only happens to such students.</P>
    <P>As for the hypothesized relation of between course performance and willingness to volunteer for studies, I don't recall there being any in my teaching experience, but my course records are all on 5.25 floppies and not readily accessible. Even if there is a relation, it seems unlikely to me that course performance would in turn be correlated with something like the ability to predict what's funny to other people. And even if it were such a relation, the "middle selection" scenario that Zair lays out would result in a restriction of range, whose effect would be to <I>weaken</I> the relation between one's discrepancy in one's self-assessment and one's actual competence. Restriction of range cannot create a relation that's not there.</P>
    <P>--RA</P>
  • Ubergrunt 2005-12-14 16:24
    Believe it or not, I've already seen too many projects like this in my
    life. All made by "excelent" Clipper programmers. By some
    incompreensible reason, the same guys are STILL programming in Clipper.
    <br>
    <br>
    Me? I'd put live 220V on the guy's keyboard and would wait for the scream. ;-P <br>
  • Richard 2005-12-15 07:45
    <BLOCKQUOTE>
    <P>I can understand that incompetent people can be incompetent at recognizing their own incompetence, leading to arrogance. What I don't understand is how these people can often manage to convince so many other people that they are a "star". As I type this, a very prominent political leader comes to mind for some reason.</P></BLOCKQUOTE>
    <P>Often because the people that employ them are less competent. It seems that IT is unusual in that the customers know so little about what they are buying - whether it's software, hardware or developer time.
    <P>I dead hear a theory though that a certain political leader may actually be quite competent, but use the appearance of incompetence do disarm opponents. </P>
  • Zair 2005-12-15 16:51
    Rank Amateur:
    <p>I can't get to the paper right now, but
    as I recall the key results of the study were not that most people
    think they're above average --that's been well-replicated in other
    studies, and one needs to look at all of them to see if sampling bias
    is could account for the apparent phenomenon. The key result of the
    paper is that there's a <i>relation</i> between the discrepancy in
    one's self-assessment of competence and one's actual competence, and
    also one's ability to learn to adjust one's self-assessment. Maybe I'm
    missing something, but I can't see how the sampling biases discussed
    here could account for these relations, except is some vague "not a
    random sample" way. The theory for the relation is rooted in general
    cognitive processes, which are common to all people, not just college
    students and not just college students that volunteer for studies. If
    you really want to criticize the study for this, you should lay out an
    alternative theory for the relation that implies that it only happens
    to such students.</p>
    <p>As for the hypothesized relation of between course performance and
    willingness to volunteer for studies, I don't recall there being any in
    my teaching experience, but my course records are all on 5.25 floppies
    and not readily accessible. Even if there is a relation, it seems
    unlikely to me that course performance would in turn be correlated with
    something like the ability to predict what's funny to other people. And
    even if it were such a relation, the "middle selection" scenario that
    Zair lays out would result in a restriction of range, whose effect
    would be to <i>weaken</i> the relation between one's discrepancy in
    one's self-assessment and one's actual competence. Restriction of range
    cannot create a relation that's not there.</p>
    <p>--RA</p>
    <br>
    <br>
    Sampling biases can create nearly any relationship you can think of in
    statistics.&nbsp; They're really the toughest problem that
    epidemiologists and biostaticians deal with; the good thing about the
    problems in the mathematics is that there's a right answer.&nbsp; But
    how do we define what the "right" population is for a study?<br>
    <br>
    I anticipate that this isn't a fatally flawed study; like you said,
    it's probably nearly the entire class that participated in the
    study.&nbsp; My point is that we have no way to verify that
    assumption.&nbsp; I'm just laying out a what-if scenario for what could
    have gone wrong.&nbsp; If there truly is no relationship in the
    population, it's still possible to detect a relationship in the sample
    if the sampling process is associated with the outcome.&nbsp;
    (disclaimer: this is for prospective studies, not conditioning on the
    covariates that influence the association with the outcome.&nbsp; This
    is exactly the scenario in the paper.)<br>
    <br>
    Also, it's really easy to create (or destroy) a relationship when
    restricting on range.&nbsp; Take the association between daily water
    intake and death, for example.&nbsp; If we restrict to the normal water
    intake amounts, it doesn't look like water can be unhealthy.&nbsp; If
    we drop down to 0 liters per day, or up to 50 liters per day, then it's
    fatal.&nbsp; Any relationship that isn't nicely linear can be affected
    by this, and it's very rare that we -know- a relationship is
    linear.&nbsp; <br>
    <br>
    Alright.&nbsp; I suppose I should stop posting off-topic so much.&nbsp;
    *grin*&nbsp; I think the paper is likely to be fine; I'm just saying
    that the association could have come about by biased sampling.&nbsp;
    (unlikely, but very possible)<br>
  • TankerJoe 2005-12-15 19:32
    Zair:
    <br>
    Alright.&nbsp; I suppose I should stop posting off-topic so much.&nbsp;
    *grin* &lt;snip&gt;<br>
    <br>
    <br>
    What?!?!? Off topic posting is the lifeblood of tdwtf! Unless, of course, you are not wearing your juice.<br>
    <br>
  • dhromed 2005-12-16 08:25
    I wonder if you can spin juice into a fabric.<br>
  • Chris 2005-12-16 19:50
    Lots of reasons...

    One company I worked for had a subsidaray. They had a "star." This guy couldn't code, I don't think he even understood the concept of programming.
    Once he turned off our products ENTIRE debug assert system because an assert was firing because of his code. LATER he turned off the memory managment error checks, cause he had memory leaks.

    He finally quit (we thought he was fired, but he actually got a better job offer from another company)

    After he left, we discovered that everyone at the other company LOVED him, and thought he was a star. They couldn't understand why everyone up here hated him with a passion.

    It turns out this guy was so prolific at writing code that he took off tasks from other peoples plates. He was prolific at wiriting code because he was good at, passing the buck to us, at hiding the bugs. Of course writing more code meant he wrote more bugy features.

    After he left, and the other company took over his code, they began to understand why we hated him.

  • AAA (anonymous admins of america) 2005-12-26 05:12
    JoeyLemur:
    Imagine a commerce system.<br>Imagine that it doesn't use a database.<br>Imagine that it writes each order to a seperate file.<br>Imagine that it does this to the same directory.<br>Imagine an ext2 filesystem in Linux trying to cope with 100,000+ files in a single directory...<br>I've seen this before, and I shudder to think that its happened elsewhere.<br>
    <br><br>Imagine it's in a Stock Exchange;<br>Imagine it's a COBOL program;<br>Imagine the UNIX is Solaris 2.1 (ufs);<br>Imagine that you have to use "find" because the sort function in "ls" quits with an out of memory error, I think that even the shell can't cope with that, as I got a lot of "arg list too long" errors;<br>Imagine that it's used and keep beeing used because it's working...<br><br>And then imagine that there is NO primadona, no star programmer... No, the development team did it, and it worked ok, so they were using it for years.<br>Thanks God every year they start with an empty dir, but they generate about 100 files a day, not sure what the files had inside I think it was some kind of record with each order or query made by every user.<br><br>
  • AAA (anonymous admins of america) 2005-12-26 05:24
    b1xml2:
    anyone in this day and age who is arrogant enough to re-invent the wheel ought to be publicly denounced.<br>
    <br><br>The problem is not when you re-invent the wheel. That's the way the code and algorithms evolve, if not everyone whould be using bouble sort.<br><br>
  • jimbo 2006-07-14 08:19
    Alex Papadimoulis:

    <P><STRONG>Steve</STRONG> received a frantic call from client management, begging him to help fix their largest client's order entry system. In production for less than a year, the system was running as fast as a crippled tortoise and, short of upgrading to Blue Gene, they had maxed out hardware options. But none of this surprised Steve; this was, after all, a jProject.
    <P>jProjects, as they are known throughout the company, are projects destined to fail or turn into an unmaintainable mess. jProjects are, consequently, lead-up by the company's star developer, Jay. In addition to being wildly innovative, Jay manages to discover architectural flaws in programming, database, and other third-party tools when developing his own architecture.
    <P>On the order-entry system, the slowdown was a result of Microsoft SQL Server improperly indexing table pages. Jay's design was brilliant: each order had its own table. This way, any new changes to the table template won't affect the old orders.
    <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
    <P><IMG src="/forums/53091/PostAttachment.aspx"> </P></BLOCKQUOTE>
    <P>After spending a few days of combining the ungodly amount of order tables, Steve was able to increase performance by a few magnitudes and reduce the database size from 80GB to 2GB. Jay, still the star-developer, scoffed at the "hack" and said he will be evaluating different database systems for future projects. </P>
  • bpb 2008-08-03 19:12
    OMG, now I know that I have made some bad design decisions in the past ( I wish I could revisit them), but this is a disaster.

    What level of normalization is this?
  • wholesale jordan shoes 2008-12-18 22:10
    Nike Jordan shoes|Air Jordan Shoes|Jordan Shoes Jordan Shoes Air Jordan Shoes
    Wholesale jordan shoes|Jordan Shoes Nike air jordan|Jordan Shoes Air Force One Jordan Shoes
    Jordan Shoes jordan wholesale|Jordan Shoes Nike Jordan Shoes|Jordan Shoes Jordan Shoes Air Jordan Shoes
    Jordan Shoes Wholesale jordan shoes|Jordan Shoes Wholesael air jordan|Jordan Shoes Air Force One