Comment On Hacking the jProject

Steve 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. [expand full text]
« PrevPage 1 | Page 2 | Page 3Next »

Re: Hacking the jProject

2005-12-12 14:01 • by Jiminy Cricket
looks like MS logic to me....

first post?

Re: Hacking the jProject

2005-12-12 14:02 • by Curtis
what?

Is this serious?

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

what the hell?

FYI table-level inheritance!!!

Re: Hacking the jProject

2005-12-12 14:05 • by frosty
53096 in reply to 53095
Has Jay considered the "stone tablet" optimization?  Or the "One less Jay to Pay"?  What about the "STFU" one?

Re: Hacking the jProject

2005-12-12 14:07 • by ammoQ
Must be a fake. Nobody can be so stupid to build such a system.

Re: Hacking the jProject

2005-12-12 14:09 • by limelight
I'd love to see the query that put all this crap together in order to produce something as simple as summary report.

Re: Hacking the jProject

2005-12-12 14:12 • by KraGiE
53099 in reply to 53098
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.

Re: Hacking the jProject

2005-12-12 14:14 • by Mike R
Why is it that the most arrogant software developers appear to be the dumbest?

Re: Hacking the jProject

2005-12-12 14:17 • by aap
simply amazing.  how does this fool not get fired?

Re: Hacking the jProject

2005-12-12 14:19 • by BlackTigerX
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

Re: Hacking the jProject

2005-12-12 14:19 • by frosty
53103 in reply to 53100
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.

Re: Hacking the jProject

2005-12-12 14:19 • by BlackTigerX
53104 in reply to 53101

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


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

Re: Hacking the jProject

2005-12-12 14:22 • by TankerJoe
53105 in reply to 53100

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

Re: Hacking the jProject

2005-12-12 14:22 • by JL
53106 in reply to 53098
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.

Re: Hacking the jProject

2005-12-12 14:23 • by diaphanein
53107 in reply to 53104
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.

Re: Hacking the jProject

2005-12-12 14:24 • by TankerJoe
53108 in reply to 53104
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.

Re: Hacking the jProject

2005-12-12 14:24 • by LJ
53109 in reply to 53099
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...




Re: Hacking the jProject

2005-12-12 14:26 • by chills42
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...

Re: Hacking the jProject

2005-12-12 14:30 • by Eric the .5b
53111 in reply to 53098
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.

Re: Hacking the jProject

2005-12-12 14:30 • by cconroy
53112 in reply to 53109
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?

Re: Hacking the jProject

2005-12-12 14:35 • by limelight
53113 in reply to 53106

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.

OMG WTF!

2005-12-12 14:41 • by RevMike
I can't beleive he used Hungarian notation like that!  'tbl' in front of everything!  Some people are just crazy.

:)

Re: Hacking the jProject

2005-12-12 14:44 • by MikeB

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.

That is what happens when you shift a paradigm without a clutch

2005-12-12 14:46 • by RevMike
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.

Re: Hacking the jProject

2005-12-12 14:50 • by Grimoire
53119 in reply to 53109
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...

Re: Hacking the jProject

2005-12-12 15:15 • by sOOperme
53121 in reply to 53094

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

Re: Hacking the jProject

2005-12-12 15:26 • by K Klein
53123 in reply to 53100
http://www.apa.org/journals/features/psp7761121.pdf

Re: Hacking the jProject

2005-12-12 15:27 • by Disgruntled DBA
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.

Re: Hacking the jProject

2005-12-12 15:28 • by K Klein
53125 in reply to 53100
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

Re: Hacking the jProject

2005-12-12 15:37 • by Me
WTF? Next we'll have people using only natural keys. 

Re: Hacking the jProject

2005-12-12 15:40 • by kipthegreat
53127 in reply to 53125
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..

Re: Hacking the jProject

2005-12-12 15:42 • by Rank Amateur

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

Re: Hacking the jProject

2005-12-12 15:43 • by zephc
two words: justifiable homicide

Re: Hacking the jProject

2005-12-12 15:44 • by mrsticks1982
53130 in reply to 53097

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

Re: Hacking the jProject

2005-12-12 15:45 • by xeno
53131 in reply to 53104
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.

Re: Hacking the jProject

2005-12-12 15:45 • by mrsticks1982
53132 in reply to 53100

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.

Re: Hacking the jProject

2005-12-12 15:50 • by Grimoire
53134 in reply to 53125
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

Re: Hacking the jProject

2005-12-12 15:52 • by kipthegreat
53135 in reply to 53103
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..

Re: Hacking the jProject

2005-12-12 15:54 • by Grant
53136 in reply to 53111
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"

Re: Hacking the jProject

2005-12-12 15:58 • by Rank Amateur
53137 in reply to 53131
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

Re: Hacking the jProject

2005-12-12 16:05 • by Decibel
53138 in reply to 53102
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...

Re: Hacking the jProject

2005-12-12 16:09 • by welcor
53139 in reply to 53125

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

Re: Hacking the jProject

2005-12-12 16:16 • by wakeskate
53140 in reply to 53112
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:
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?





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!

Re: Hacking the jProject

2005-12-12 16:18 • by jadwigo
53141 in reply to 53138
"licenced to code", probably more dangerous than double oh seven

Re: Hacking the jProject

2005-12-12 16:21 • by Gene Wirchenko
53142 in reply to 53139
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

Re: Hacking the jProject

2005-12-12 16:25 • by WTFer
53143 in reply to 53134
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!

Re: Hacking the jProject

2005-12-12 16:26 • by trollable
53144 in reply to 53112
cconroy:
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?



Don't overestimate the millenium bug: we have plenty of time...

Anyway after tbl comes tbm

Re: Hacking the jProject

2005-12-12 16:33 • by kipthegreat
53145 in reply to 53143
WTFer:


/I'm wearing the juice, man!


That sounds kind of hot

Re: Hacking the jProject

2005-12-12 16:44 • by Ytram
53146 in reply to 53144
:

Anyway after tbl comes tbm




Well crap, I wonder what happened to aaa through tbk?

Re: Hacking the jProject

2005-12-12 16:46 • by welcor
53147 in reply to 53145

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.

Re: Hacking the jProject

2005-12-12 16:53 • by masklinn
53148 in reply to 53095
Anonymous:
what?

Is this serious?

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

Quite obviously one.
« PrevPage 1 | Page 2 | Page 3Next »

Add Comment