- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
looks like MS logic to me....
first post?
Admin
what?
Is this serious?
A table for every order? how many rows in each table??
what the hell?
FYI table-level inheritance!!!
Admin
Has Jay considered the "stone tablet" optimization? Or the "One less Jay to Pay"? What about the "STFU" one?
Admin
Must be a fake. Nobody can be so stupid to build such a system.
Admin
I'd love to see the query that put all this crap together in order to produce something as simple as summary report.
Admin
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.
Admin
Why is it that the most arrogant software developers appear to be the dumbest?
Admin
simply amazing. how does this fool not get fired?
Admin
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
Admin
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.
Admin
because he's the star!! didn't you read the whole post?
Admin
They hope their arrogance will cover their stupidity. Kinda like an inferiority complex. [8-|]
Admin
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.
Admin
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.
Admin
I wouldn't be surprised if Jay also happened to be the Boss's Kid.
Admin
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...
Admin
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...
Admin
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.
Admin
<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>
Admin
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.
Admin
I can't beleive he used Hungarian notation like that! 'tbl' in front of everything! Some people are just crazy.
:)
Admin
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.
Admin
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.
Admin
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...
Admin
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... )
Admin
http://www.apa.org/journals/features/psp7761121.pdf
Admin
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.
Admin
Let's try again in context...
http://www.apa.org/journals/features/psp7761121.pdf
Admin
WTF? Next we'll have people using only natural keys.
Admin
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..
Admin
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
Admin
two words: justifiable homicide
Admin
Oh i beg to differ. There was a torrent tracker built and open source that created two tables for every torrent. Talk about efficency!!!!
Admin
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.
Admin
cause they have to make it up somewhere else in their life ... cause they cant perform in any other part.
Admin
From the article:
From now on, I propose that anyone like this "Jay", or in my case, "Gary", be refered to as "wearing the juice". :D
Admin
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..
Admin
The first approach is better for the arrogant, as they can endlessly extoll the virtues of "metaprogramming"
Admin
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
Admin
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...
Admin
Thanks for the read. A lot of things make more sense now...
Admin
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)
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!
Admin
"licenced to code", probably more dangerous than double oh seven
Admin
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
Admin
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!
Admin
Don't overestimate the millenium bug: we have plenty of time...
Anyway after tbl comes tbm
Admin
That sounds kind of hot
Admin
Well crap, I wonder what happened to aaa through tbk?
Admin
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.
Admin