• Jiminy Cricket (unregistered)

    looks like MS logic to me....

    first post?

  • Curtis (unregistered)

    what?

    Is this serious?

    A table for every order? how many rows in each table??

    what the hell?

    FYI table-level inheritance!!!

  • (cs) in reply to Curtis

    Has Jay considered the "stone tablet" optimization?  Or the "One less Jay to Pay"?  What about the "STFU" one?

  • (cs)

    Must be a fake. Nobody can be so stupid to build such a system.

  • (cs)

    I'd love to see the query that put all this crap together in order to produce something as simple as summary report.

  • (cs) in reply to limelight

    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.  That's just..

    ok.  this is  the ultimate WTF.  If I saw that, I'd have to write a memo about negligence.

  • (cs)

    Why is it that the most arrogant software developers appear to be the dumbest?

  • aap (unregistered)

    simply amazing.  how does this fool not get fired?

  • (cs)

    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

  • (cs) in reply to Mike R
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?


    Because their arrogance stops them from embracing other people's ideas and work.  Anything they touch must turn into gold where everyone else's work is mere scrap iron.  If they weren't so arrogant, then they would have learned how to use SQL right and how to optimize right.
  • (cs) in reply to aap

    Anonymous:
    simply amazing.  how does this fool not get fired?

    because he's the star!! didn't you read the whole post?

  • (cs) in reply to Mike R

    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?

     

    They hope their arrogance will cover their stupidity.  Kinda like an inferiority complex. [8-|]

  • JL (unregistered) in reply to limelight
    limelight:
    I'd love to see the query that put all this crap together in order to produce something as simple as summary report.


    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.)

    But to defend it -- that's something else.
  • diaphanein (unregistered) in reply to BlackTigerX
    BlackTigerX:

    Anonymous:
    simply amazing.  how does this fool not get fired?

    because he's the star!! didn't you read the whole post?

    Yes, but what moron ever decided that a jackass like Jay was a star?  Both ought to be drug out into the street and shot.  Then, their parents ought to be billed for the bullets for ever having reared such spawn.

  • (cs) in reply to BlackTigerX
    BlackTigerX:

    Anonymous:
    simply amazing.  how does this fool not get fired?

    because he's the star!! didn't you read the whole post?

     

    I wouldn't be surprised if Jay also happened to be the Boss's Kid.

  • LJ (unregistered) in reply to KraGiE
    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. 


    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.

    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...




  • (cs)

    well... it's not too b...

     wtf... I can't even think of a way to justify this kind of blatent disregard for the entire purpose of tables...

    This is just stupid...

  • Eric the .5b (unregistered) in reply to limelight
    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.

  • (cs) in reply to LJ

    <font size="2">What happens when the orderID exceeds 99,999?  Will he create another database so as not to break the table naming convention in that one?
    </font>

  • (cs) in reply to JL

    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.


    Naw, the query would be pretty simple, if you enjoy that sort of thing.

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

    select ...
    from tblOrderDetails1...
    union ... tblOrderDetails2 ...
    union ... tblOrderDetails3

    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 could automatically generate the query. The design is simply insane.

  • (cs)

    I can't beleive he used Hungarian notation like that!  'tbl' in front of everything!  Some people are just crazy.

    :)

  • (cs)

    This is the second time I've heard of someone doing this. Two times. That's a trend. It must mean something.

    BTW, I'm pretty good with a bow staff.

  • (cs)

    I've seen file oriented systems work this way.  It doesn't work terribly bad for moderate sizes.  Sure, extracting data is a bit of work in Perl, but we've all been there and done that and it works.  Frequently one of the nice things about doing this is that older data can simply be moved to a different filesystem for archival purposes.

    To lift that paradigm wholesale and stick it into a database is just crazy.

  • (cs) in reply to LJ
    Anonymous:

    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.

    I've also worked for a company like that.  We "merged" with another company, and their chief designer/developer/coder/CTO was exactly like this.  He wrote his own database, which had its own bastardized version of SQL, as well as his own XML parser.  Everyone for his side of the company considered him the god of developers.

    Everything "worked", as long as you didn't ask it to do anything other than what it was originally designed and implemented to do.  Want to parse an XML file with a single, large node?  Be prepared to wait an hour or so.  Want to speed of the DB by removing old data?  Nope, the DB actually slows down the more you delete items from it.  Never shrinks either.  You can delete every record in the DB, but it will still be the same size as before.

    And you couldn't pull out ANYTHING, since each component was tightly integrated with the rest of the system.  The DB, business logic, XML parser, everything, was all mixed together in the different "classes".  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.

    Fortunately, he left about 6 months after the merger.  Unfortunately, his code didn't.  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?  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?

    The phrase "f'ing Gary" become the unofficial company slogan...
  • sOOperme (unregistered) in reply to Jiminy Cricket

    MS logic?  Way to try to make a flame posting out of the awesome example of delveoper stupidity.  I spit in your general direction.

    (Die Linux! Kidding... )

  • K Klein (unregistered) in reply to Mike R

    http://www.apa.org/journals/features/psp7761121.pdf

  • (cs)

    NNNOOOOOO!!!!!!

    8-( ]




    Shooting is too good for Jay.  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.

  • K Klein (unregistered) in reply to Mike R

    Let's try again in context...

    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?


    http://www.apa.org/journals/features/psp7761121.pdf
  • Me (unregistered)

    WTF? Next we'll have people using only natural keys. 

  • (cs) in reply to K Klein
    Anonymous:
    Let's try again in context...

    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?


    http://www.apa.org/journals/features/psp7761121.pdf


    I think I might print out the first page of that and leave it on a few people's desks one night...  Unfortunately, those people wouldn't get that it was about them..
  • (cs)

    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 tables per order. This guy Jay is a genious.

    But putting the order items from different orders all in the same table? That's crazy. How will you keep orders separate?

    And what's this "query" you're talking about? Computers use For loops.

    --Rank

  • (cs)

    two words: justifiable homicide

  • (cs) in reply to ammoQ

    ammoQ:
    Must be a fake. Nobody can be so stupid to build such a system.

     

    Oh i beg to differ. There was a torrent tracker built and open source that created two tables for every torrent. Talk about efficency!!!!

  • xeno (unregistered) in reply to BlackTigerX
    BlackTigerX:

    Anonymous:
    simply amazing.  how does this fool not get fired?

    because he's the star!! didn't you read the whole post?



    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). 

    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.
  • (cs) in reply to Mike R

    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?

     

    cause they have to make it up somewhere else in their life ... cause they cant perform in any other part.

  • (cs) in reply to K Klein
    Anonymous:
    Let's try again in context...
    http://www.apa.org/journals/features/psp7761121.pdf


    From the article:
    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 ).

    From now on, I propose that anyone like this "Jay", or in my case, "Gary", be refered to as "wearing the juice".  :D
  • (cs) in reply to frosty
    frosty:
    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?


    Because their arrogance stops them from embracing other people's ideas and work.  Anything they touch must turn into gold where everyone else's work is mere scrap iron.  If they weren't so arrogant, then they would have learned how to use SQL right and how to optimize right.


    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..

  • Grant (unregistered) in reply to Eric the .5b
    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.


    The first approach is better for the arrogant, as they can endlessly extoll the virtues of "metaprogramming"
  • (cs) in reply to xeno
    Anonymous:
    BlackTigerX:

    Anonymous:
    simply amazing.  how does this fool not get fired?

    because he's the star!! didn't you read the whole post?



    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). 

    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.

    Well, at least that got him out of your hair... or did he become your boss?

    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.

    --RA

  • (cs) in reply to BlackTigerX

    I guarantee this guy was not a DBA, or at least he sure as hell shouldn't have been calling himself one.

    Things like this make me wish people were required to have a license before they could touch a database...

  • (cs) in reply to K Klein

    Anonymous:
    Let's try again in context...

    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?


    http://www.apa.org/journals/features/psp7761121.pdf

    Thanks for the read. A lot of things make more sense now...

  • (cs) in reply to cconroy
    limelight:

    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.


    Naw, the query would be pretty simple, if you enjoy that sort of thing.

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

    select ...
    from tblOrderDetails1...
    union ... tblOrderDetails2 ...
    union ... tblOrderDetails3

    --8<-- snip snip --8<--



    surely it could only be dynamically generated and a union would be ridiculous - can never tell if there is sarcasm...  besides in some db's # of tables in a query is limited (sql server, for example, a mere 256)

    cconroy:
    <font size="2">What happens when the orderID exceeds 99,999?  Will he create another database so as not to break the table naming convention in that one?
    </font>


    it would go on until sql server couldn't make any more tabes, i'm guessing that orders < 9999 wouldn't have leading zeros.

    this "database of databases" wtf is always funny!
  • jadwigo (unregistered) in reply to Decibel

    "licenced to code", probably more dangerous than double oh seven

  • (cs) in reply to welcor
    welcor:
    Anonymous:
    Let's try again in context...

    Mike R:
    Why is it that the most arrogant software developers appear to be the dumbest?


    http://www.apa.org/journals/features/psp7761121.pdf

    Thanks for the read. A lot of things make more sense now...


    They sure do.  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.  The article is a jewel.

    Sincerely,

    Gene Wirchenko

  • (cs) in reply to Grimoire
    Grimoire:
    Anonymous:
    Let's try again in context...
    http://www.apa.org/journals/features/psp7761121.pdf


    From the article:
    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 ).

    From now on, I propose that anyone like this "Jay", or in my case, "Gary", be refered to as "wearing the juice".  :D

    I see nothing wrong with this multiple table design. It clearly can adapt to different order forms without problems.

    /I'm wearing the juice, man!
  • (cs) in reply to cconroy
    cconroy:
    <font size="2">What happens when the orderID exceeds 99,999?  Will he create another database so as not to break the table naming convention in that one?
    </font>

    Don't overestimate the millenium bug: we have plenty of time...
    Anyway after tbl comes tbm
  • (cs) in reply to WTFer
    WTFer:

    /I'm wearing the juice, man!


    That sounds kind of hot
  • (cs) in reply to trollable
    :
    Anyway after tbl comes tbm


    Well crap, I wonder what happened to aaa through tbk?
  • (cs) in reply to kipthegreat

    kipthegreat:
    WTFer:

    /I'm wearing the juice, man!


    That sounds kind of hot

    Read the pdf above (it's on page one as well, so you don't have to spend too long to find that quote).

    *shakes head in disbelief* 
    If it wasn't in a scientific paper, I'm not sure I'd believe it. Actually it's so implausible (& incomprehensible & unbelievable) I'm not sure I believe it even if it IS in a scientific paper.

  • (cs) in reply to Curtis
    Anonymous:
    what?

    Is this serious?

    A table for every order? how many rows in each table??
    Quite obviously one.

Leave a comment on “Hacking the jProject”

Log In or post as a guest

Replying to comment #:

« Return to Article