Directive 595

« Return to Article
  • ParkinT 2011-11-29 08:18
    Directive 595 Part 4.
    "Databases and database languages are slow give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution"

    From this point forward, all data will be in XML format. It is more enterprise-y
  • ObiWayneKenobi 2011-11-29 10:13
    And least there's a happy ending - the power-mad dictator is run out of office and a hopefully benevolent one put in his place.
  • BentFranklin 2011-11-29 10:13
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?

  • trtrwtf 2011-11-29 10:14
    Directive 595, Part 5:

    Flat files.
  • My Name Is Missing 2011-11-29 10:21
    Directive 595 Part 4 would make a good science fiction movie.

    I once worked in a place with a madman like that. Not for long.
  • Rosuav 2011-11-29 10:22
    The thing that worries me most: What were the other five hundred and ninety-four directives?
  • Up Down 2011-11-29 10:22
    trtrwtf:
    Directive 595, Part 5:

    Flat files.


    You mean:

    Non flat files give lack of flexibility, more costly
    evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution.
  • kikito 2011-11-29 10:24
    Oh I know.

    Replace all strings in the database with integers.

    Integers are more efficient to lookup and compare.

    All strings will be looked up in a single indexed database.
  • nag-geoff 2011-11-29 10:29
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.
  • ooblek 2011-11-29 10:30
    F**K!!!! I read all the way to the end and you left me hanging? That is like what I would imagine the reaction the average 40-year-old soccer mom had at the end of the latest Twilight!

    (I deny having seen it.)
  • boog 2011-11-29 10:31
    Please refer to Directive 1. 
    
    "A directive is such that all reasonable discussion has taken place and as such is not open for debate."
    Clearly not all reasonable discussion had taken place, since Daniel had reasons for discussing the issue further.
  • Taki 2011-11-29 10:33
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).
  • Anonymous 2011-11-29 10:33
    Part 4 is: Tables give a lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make evolution more difficult. All tables are to be replaced with a single table of key-value pairs.
  • QJo 2011-11-29 10:35
    Reminded me a little of Francisco d'Anconia in Atlas Shrugged. I can not immediately think of a more subtle and comprehensive way of sabotaging a database if one were to do it deliberately.
  • boog 2011-11-29 10:38
    ...the table filled up with duplicate data.
    Oh good, now we know what part 4 was going to be:

    Directive 595 Part 4 is as follows.
    
    "Existing production data give lack of flexibility, more
    costly evolution, inhibit the use of the database acting
    as a service to applications and make it an inhibitor to
    evolution."
    As such, please remove from all production databases.
  • DCRoss 2011-11-29 10:39
    "No chief architect has ever made a mistake or distorted information. We are all, by any practical definition, foolproof and incapable of error."
  • geoffrey 2011-11-29 10:48
    Perhaps the next directive would have been to go back to VSAM, which would have actually solved all these problems anyway.
  • nag-geoff 2011-11-29 10:48
    DCRoss:
    "No chief architect has ever made a mistake or distorted information. We are all, by any practical definition, foolproof and incapable of error."


    Clearly the chief architect was a hacker employed by the rivals.
  • syskill 2011-11-29 10:50
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).


    That was my guess too.
  • Alex 2011-11-29 10:50
    Dear Database Architects and Administrators,

    Directive 596 is as follows.

    "Database Architects and Administrators give lack of flexibility, more costly
    evolution, inhibit the use of the database acting as a service
    to applications and make it an inhibitor to evolution."

    As such, please remove yourself from the server room.

    Sincerely,
    Chief Architect Gerald
  • Excelsior 2011-11-29 10:52
    "Foreign and Primary Key constraints give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."
    I have serious doubts about this story being possibly true... Heck, I can't even read that sentence without laughing.
  • The poop of DOOM 2011-11-29 10:53
    Changed it straight into production! Says alot about his work as application administrator. He should've known better already.
  • frits 2011-11-29 10:54
    These guys should've used an ORM. It would have prevented all these problems and eliminated the position of Database Architect.
  • snoofle 2011-11-29 10:55
    ooblek:
    F**K!!!! I read all the way to the end and you left me hanging? That is like what I would imagine the reaction the average 40-year-old soccer mom had at the end of the latest Twilight!

    (I deny having seen it.)


    I agree - don't leave us hanging - what on Earth was the next directive?
  • dkf 2011-11-29 11:03
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).
    Or convert the database to SQLite.
  • dkf 2011-11-29 11:04
    snoofle:
    I agree - don't leave us hanging - what on Earth was the next directive?
    “All delegates are entitled to exactly one car parking space unless special dispensation is granted by the Car Lot Management Committee.”
  • frits 2011-11-29 11:06
    dkf:
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).
    Or convert the database to SQLite.
    Or Amazon SimpleDB.
  • The poop of DOOM 2011-11-29 11:07
    frits:
    dkf:
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).
    Or convert the database to SQLite.
    Or Amazon SimpleDB.

    Or MongoDB
  • Arnold Judas Rimmer 2011-11-29 11:09
    Quarantine
    Mr Flibble doesn't like indexes either.
  • LANMind 2011-11-29 11:10
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    You obviously don't know anything about ORM tools. If you look it up, it might make your day.
  • Hortical 2011-11-29 11:16
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?
  • R. Watkins 2011-11-29 11:21
    Sadly, I was moved into an application group that would agree with this thinking. They never bothered to write it down, of course - or use version control, but I digress. We have minimal indexing. Indexing is just overhead that slows a database down. We don't use sequences, we use triggers that build a hash from the data and uses that instead. Sometimes the data that was used to build the hash changes and you can get collisions, but nothing a quick production data tweak can't fix. It took me several months before I had a full day where I didn't learn some new travesty.
  • George Boole 2011-11-29 11:22
    bool shit = true;
  • Tim 2011-11-29 11:25
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO
  • YF 2011-11-29 11:26
    The poop of DOOM:
    frits:
    dkf:
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).
    Or convert the database to SQLite.
    Or Amazon SimpleDB.

    Or MongoDB

    Or Access.
  • ObiWayneKenobi 2011-11-29 11:28
    How about something like this:

    Dear Database Architect:

    Directive 595 Part 4 is as follows:

    In case you can't tell, this is a grown up place. The fact that you insist on not following my orders to the letter clearly shows you're too young and stupid to be working here.

    Go away and grow up.

    Sincerely,
    Chief Architect Gerald "Bert" Glanstron
  • Jens 2011-11-29 11:30
    And with all this free time on hand Gerald built the first NoSQL database.
  • nag-geoff 2011-11-29 11:30
    frits:
    These guys should've used an ORM. It would have prevented all these problems and eliminated the position of Database Architect.


    Normally I would agree with you on that. The ORM is a scare tactic used primarily by java developers to scare the database guys into thinking that they "the database guys" are no longer relevant in today's world. Microsoft has also caught onto the act. AN ORM ELIMINATES THE NEED FOR database administrators, but it STILL NEEDS someone to make decisions. At the very least, the CHIEF ARCHITECT would have left the ORM system alone.


    causa: it hurts when it happens.
  • Jack Foluney 2011-11-29 11:30
    This story seems like it's made-up.
    It's funny though.
    Surely no one is that stupid are they??
  • Trish 2011-11-29 11:32
    BentFranklin:
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?



    A sensible one who wants to resign anyway... I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and freinds ans STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)
  • Arne 2011-11-29 11:32
    Oh, You started to appreciate about the foreigners in Your country? Or was it just plain thoughtless?
  • QJo 2011-11-29 11:34
    I used to work in a team where all the FORTRAN (it was a long time ago) was compiled without any bounds checking enabled. The only time we every compiled anything *with* bounds checking was when the data had been terminally hosed through out-of-array-bounds errors caused by someone incompetent mucking it up (strangely, this wasn't always me). The amount of time saved by the code running more quickly with bounds checking disabled was more than offset by the fiddling around fixing the problems caused by the adoption of such a strategy.
  • Darth Spammicus 2011-11-29 11:40
    And here I expected it would be Grand Army of the Republic Order 66.

    CAPTCHA: aptent - What you put up over a collection of applications at a flea market.

  • Tom 2011-11-29 11:53
    Microsft Access. On a web server.
  • callcopse 2011-11-29 11:54
    I liked this one. It had many classic elements. To be honest I would call BS myself if I hadn't met people with a similar understanding of data integrity myself and heard similar words coming from their mouths - a slight stretch to imagine them issued by someone who has got as far as 'Chief Architect' but relatively plausible - power does funny things...

    More than the robot than flung and caught stuff anyhow.
  • Dazed 2011-11-29 11:54
    Trish:
    I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and freinds ans STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)

    I have a simpler and more reliable solution for relaxing on holidays - it's called an off switch.
  • JayC 2011-11-29 11:55
    ParkinT:
    Directive 595 Part 4.
    "Databases and database languages are slow give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution"

    From this point forward, all data will be in XML format. It is more enterprise-y


    People have apparently done just that.

    Askmet sucks.
  • Tom 2011-11-29 12:02
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    Foreign keys are useful for data mapping and self-documentation, and they can also help programs automatically do things like dereference code table values to their text values.

    While they're not actually required, they should be used whenever possible, so a future developer doesn't have to scratch his head and "wtf" when trying to find a foreign key mapping that doesn't make obvious sense.

    As to PRIMARY keys... well, I guess you could get away with simply indexing a table's identity column, but something tells me that "Part 4" is going to have something to do with the removal of all indexes.
  • forgottenlord 2011-11-29 12:03
    When the database lead has not had a chance to give his input on the reason for a philosophical change of database design, you have not had sufficient input to render a decision.
  • Bill C. 2011-11-29 12:12
    ParkinT:
    Directive 595 Part 4.
    "Databases and database languages are slow give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution"

    From this point forward, all data will be in XML format. It is more enterprise-y

    If you've already abandoned the strengths of a relational database, why not? At least you can prevent data collisions by keeping things in different files.
  • boog 2011-11-29 12:13
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO
    What makes you think that didn't happen? Just the fact that the story doesn't include the scene where one of Gerald's subordinates approaches the CTO, who says he'll talk to Gerald about it and never does? I'm not sure how omitting such a situation would make the whole story bullshit.
  • Paul 2011-11-29 12:15
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO


    I was once in a situation very much like this. The chief architect said that foreign keys and null constraints were just one way to do things, and that we wouldn't be using them on our project. I went to the CIO and was promptly terminated for insubordination. I had worked at the company for 8 years, our new "architect" had been around about 9 months.
  • Dan 2011-11-29 12:19
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    Foreign keys are useful for data mapping and self-documentation, and they can also help programs automatically do things like dereference code table values to their text values.

    While they're not actually required, they should be used whenever possible, so a future developer doesn't have to scratch his head and "wtf" when trying to find a foreign key mapping that doesn't make obvious sense.

    As to PRIMARY keys... well, I guess you could get away with simply indexing a table's identity column, but something tells me that "Part 4" is going to have something to do with the removal of all indexes.



    Really, in this day and age, we still have readers who can't spot a troll a mile off?
  • boog 2011-11-29 12:24
    Dan:
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    Foreign keys are useful for blah blah tl;dr blah...

    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Or in this case, a two-headed troll (nag-geoff = nagesh-geoffrey).
  • blah 2011-11-29 12:28
    Hey, at least this architect communicated expectations to his underlings. Can't say the same for one douchebag at a behemoth company we partnered with for a project.

    He made passing references in person to his grand planned "ahkitekchuh" and only produced a poorly formatted, poorly detailed txt file... which he never shared with anyone until it was too late. He never even sat down with us to discuss his ingenuity verbally.

    Meanwhile we created something that actually worked. Even from his high-level blurb you could tell that his egotrocity would have performed poorly. Oh yeah, and no portion of the entire suite ever made a single sale.
  • Thomas Kyte 2011-11-29 12:32
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...
  • n/a 2011-11-29 12:39
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...


    Wow. And here goes my tiny hope that such people, in fact, do not exist...
  • Wyrm 2011-11-29 12:44
    You can believe it. I once had a client who wanted our application database to be designed without keys (both primary and foreign). We did manage to convince him to leave at least primary keys...

    A short while later, he complaigned about lack of performance: we had to discuss indexes for two weeks before he agreed to have us add them.
  • snoofle 2011-11-29 12:53
    Dazed:
    Trish:
    I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and freinds ans STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)

    I have a simpler and more reliable solution for relaxing on holidays - it's called an off switch.
    This is also a good way to let the boss know just exactly how much he depends on you.

    A long time ago, I worked at a place with a grossly overloaded server which was never replaced due to shortsighted budgeting. As such, I ran lots of cron'd scripts to monitor and fix transaction logs, full file systems and so forth for numerous applications - on my local unix box (it was new, reliable, and everything was on a shared drive). At some points in the day, the cron schedules intersected and my box basically died for ten minutes until it caught up. Some suit saw me reading the paper at that moment and in spite of my explanation, chastised me for goofing off. I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my "sabotage". I showed them that I simply needed to start doing my job again. They never hassled me again.
  • PedanticCurmudgeon 2011-11-29 12:56
    Dan:
    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Yes. We also have readers who can spot the troll but respond anyway because they have nothing better to do.
  • Ptorq 2011-11-29 13:03
    The only thing about this that makes me want to call foul is management firing the guy actually responsible for the mess instead of Daniel, who had the temerity to be on vacation during it.
  • Anonimous 2011-11-29 13:05
    boog:
    Dan:
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    Foreign keys are useful for blah blah tl;dr blah...

    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Or in this case, a two-headed troll (nag-geoff = nagesh-geoffrey).
    Listen to this man. If anyone can spot a troll, it's booger.
  • ais523 2011-11-29 13:06
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...


    TRWTF: Disabling cookies on that side causes it to go into a redirect loop. (Apparently, this is common enough that Firefox even managed to correctly diagnose that my rejection of the cookies was the problem.)
  • Sam 2011-11-29 13:22
    BentFranklin:
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?



    It's called being on vacation for a reason...someone else can handle it.
  • - 2011-11-29 13:26
    The CDA reaction was the correct one in this situation. You can`t save people from their own stupidity against their will.
    If you can persuade them let, them burn and learn from their mistake. But make sure you are not around while they figure it out the hard way.
  • Buffalo 2011-11-29 13:28
    Chief Architech Douchebag:

    "A directive is such that all reasonable discussion has taken place
    and as such is not open for debate."

    Now what I would like to know is who was involved in this discussion. Maybe Gerald had multiple personalities and their discussion focused on whether the Directive was brillant, genius or both.
  • wydok 2011-11-29 13:37
    I stopped reading at part 2, because it wasn't believable and wasn't funny.
  • EatenByAGrue 2011-11-29 13:39
    Buffalo:
    Chief Architech Douchebag:

    "A directive is such that all reasonable discussion has taken place
    and as such is not open for debate."

    Now what I would like to know is who was involved in this discussion. Maybe Gerald had multiple personalities and their discussion focused on whether the Directive was brillant, genius or both.


    My guess: He'd discussed it with CTO, who didn't realize this was a bad idea. When things hit the fan, CTO threw Gerald under a bus rather than to admit that it was something he'd approved.
  • Jay 2011-11-29 13:42
    boog:
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO
    What makes you think that didn't happen? Just the fact that the story doesn't include the scene where one of Gerald's subordinates approaches the CTO, who says he'll talk to Gerald about it and never does? I'm not sure how omitting such a situation would make the whole story bullshit.


    Or, I once had a situation where our chief architect made a technical decision that I thought was really dumb. Without getting into all the details, the gist of it was, that configuration management on code changes is a lot of work, so to save having to make code changes when certain key logic changes, we should write the code for that key logic in a different programming language, deploy it on a different server, and then create an interface between the regular production servers and this new server to pass requests across and get the answer back. So sure, there's now a new language for all the programmers to learn, a new server to maintain, a new code base to be managed, and new interfaces on both sides to develop and maintain. But because the new language is not Java, changing this code is not "changing Java code", and therefore is by definition "not programming", and so configuration management on the new code is, by decree, not a problem. Oh, and just to reinforce the idea that configuration management of the new non-code is not a problem, we could not manage the non-source code in SVN like our Java code, but had to write our own, proprietary library system to manage it.

    I went to the CIO about it. He set up a meeting with myself and several other key people who all basically agreed with me that the chief architect's decision was a bad idea. And then the CIO went to the chief architect who told him that, no, his decision was really a good idea, and we were all told that that was it, the decision was final. It was all very nice and polite, there was no shouting and no one was fired or anything, but basically the CIO said that, hey, your objections are noted, but the chief architect has that job because we trust his judgement, end of story.

    I took that as the last straw in a string of bad decisions and about a month later had another job.

    But my point is, it's incredibly naive to say, "If someone made a bad decision, his superiors would logically and inevitably overrule him." It just doesn't happen that way in real life. 9 times out of 10 the big boss doesn't understand all the technical issues. He gives someone a position of authority because, rightly or wrongly, that person has convinced him that he knows what he's doing. And then he relies on that person's judgment. If he thought Al knew more about how to architect systems then Bob, he would have made Al the chief architect and not Bob.
  • Zylon 2011-11-29 13:51
    It's Directive 595 FROM OUTER SPACE.
  • Jay 2011-11-29 13:55
    "A directive is such that all reasonable discussion has taken place
    and as such is not open for debate."

    It is surely true that there comes a time when you have to make a decision and move forward. There are occasions when people have valid objections, or at least objections that sound plausible, but you have gone around and around and you cannot come to a concensus, and it is clear that going ahead with a debatable decision is perhaps risky but better than doing nothing except argue some more.


    But that said, I am extremely suspicious when someone syas that he doesn't have time or can't be bothered to explain the reasons that went into a conclusion or decision. Usually, if someone has a convincing reason, he is anxious to explain it. People usually love to tell all the trials and travails they had to go through to find the right answer.

    I just don't buy it when someone says, "We don't have time to find out the facts, this is a crisis and we have to make a decision NOW!". Or, "All the experts agree that this is the right answer. We can't be bothered to explain our reasons, we're the experts and you should just trust us." Or especially, "This is Truth, and if you don't agree you must be some kind of anti-intellectual, anti-science, probably religious extremist."


  • Viktor 2011-11-29 13:58
    This story seems like fiction. I really can not believe that such people exist :)
  • Zylon 2011-11-29 13:59
    The really scary part of this WTF is realizing how much longer the power-mad chief architect would have been allowed to keep his job if he hadn't made an error in his code.
  • Jack 2011-11-29 14:12
    This is a truly beautiful story... I only wish it would happen more often.

    Yes, it sucks for the slaves who had to work several days in crisis mode, but events like this are the only thing that will teach non-technical upper management this isn't a fucking TV set we're dealing with here, it's your business and if you don't keep skilled professionals where they're needed you're going down the tubes, hard!

    Occasionally management lacks the ability to learn even after an adventure like this, in which case the entire company fails. This, too, while painful, is ultimately a Good Thing for the world in general, because it takes morons out of positions where they can do so much damage.
  • Ken B. 2011-11-29 14:12
    dkf:
    “All delegates are entitled to exactly one car parking space unless special dispensation is granted by the Car Lot Management Committee.”
    "That parking space is 13-B, which shall be allocated on a first-come-first-served basis."
  • vacation taker 2011-11-29 14:14
    Why didn't he quit first and use his owed vacation as his two week notice ?
  • Anketam 2011-11-29 14:23
    Paul:
    Tim:
    Sorry I'm calling bullshit on this one. Were a person with this level of responsibility to act in such a ridiculous manner, I'm sure one of his subordinates would have gone straight to the CTO or CEO
    I was once in a situation very much like this. The chief architect said that foreign keys and null constraints were just one way to do things, and that we wouldn't be using them on our project. I went to the CIO and was promptly terminated for insubordination. I had worked at the company for 8 years, our new "architect" had been around about 9 months.
    Yep, because what you failed to realize was that the chief architect and CIO were old school college buddies and love to play golf together on the weekends.
  • baffled 2011-11-29 14:25
    sequence column v. sequence trigger? A column is one thing, a trigger is another, and a sequence another still.
  • boog 2011-11-29 14:28
    Anonimous:
    boog:
    Dan:
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    Foreign keys are useful for blah blah tl;dr blah...

    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Or in this case, a two-headed troll (nag-geoff = nagesh-geoffrey).
    Listen to this man. If anyone can spot a troll, it's booger.
    I don't only spot trolls; I can also make them striped, argyle, tartan, or houndstooth.
  • OWS 2011-11-29 14:28
    Jack:
    Occasionally management lacks the ability to learn even after an adventure like this, in which case the entire company fails. This, too, while painful, is ultimately a Good Thing for the world in general, because it takes morons out of positions where they can do so much damage.
    And that, ladies and gentlemen, is why "too big to fail" means "too big to exist"!
  • Carl 2011-11-29 14:31
    Directive 597: rigid data entry forms limit flexibility and evolution and thus fail to provide necessary services as our business evolves. All forms shall be replaced by a single large free-form text field.

    Captcha: wisi -- don't question my wisi-dumb.
  • trtrwtf 2011-11-29 14:33
    snoofle:
    This is also a good way to let the boss know just exactly how much he depends on you.


    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.


    A long time ago, I worked at a place with a grossly overloaded server which was never replaced due to shortsighted budgeting. As such, I ran lots of cron'd scripts to monitor and fix transaction logs, full file systems and so forth for numerous applications - on my local unix box (it was new, reliable, and everything was on a shared drive). At some points in the day, the cron schedules intersected and my box basically died for ten minutes until it caught up. Some suit saw me reading the paper at that moment and in spite of my explanation, chastised me for goofing off.


    So, what, he saw your box blowing up and you reading the sports pages, and he said, "what are you doing reading the sports pages while your machine is blowing up?"
    And what did you do?


    I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my sabotage. I showed them that I simply needed to start doing my job again. They never hassled me again.


    By "hassled" you mean "paid", right? Or did you really blow up the company and keep your job?
    (Did you have pictures of the CEO in bed with a ten-year-old boy and a bassett hound, or how did you pull this off?)
  • C-Octothorpe 2011-11-29 14:41
    This must have been sabotage...

    There is no way an "Application Architect" (bare minimum of seven years hands-on experience) would think that any of these "directives" was a good idea or do it just for a power-trip.

    I MUST believe it was sabotage because believing that anybody that stupid could ascend to the level of Chief Architect would shatter my reality...
  • Zylon 2011-11-29 14:54
    trtrwtf:
    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.

    Yeahhh, that only works in shops where there's enough manpower to make that happen. In smaller shops, the managers need to know who's indispensable for what and to not fuck with them.

    Ick, I fed a troll.
  • frits 2011-11-29 15:01
    Zylon:
    indispensable

    There's no such thing.
    Zylon:
    Ick, I fed a troll.

    Ditto.
  • CodeRage 2011-11-29 15:04
    C-Octothorpe:
    This must have been sabotage...

    There is no way an "Application Architect" (bare minimum of seven years hands-on experience) would think that any of these "directives" was a good idea or do it just for a power-trip.

    I MUST believe it was sabotage because believing that anybody that stupid could ascend to the level of Chief Architect would shatter my reality...


    It is the non-technical management-executive that pick who gets promoted, and they rarely base it on technical competence. It's more important who goes to the gym with them, or who gives the appearance of hard work by spending 60+ hours cranking out broken WTF code.
  • trtrwtf 2011-11-29 15:04
    frits:
    Zylon:
    indispensable

    There's no such thing.
    Zylon:
    Ick, I fed a troll.

    Ditto.


    Yeah, only yours was actually a troll.
  • Geoff 2011-11-29 15:18
    Are you serious? Independent of if its a constraint or not and the RDBMS being aware of the relationship an FKey is still and FKey. If you 'permit' some bad tuples to get written in one table, which have an unmatched key, and then later some legitimate tuple is written into the other table you have attributes which are really unrelated, now appearing to be related.

    You might get away with not having FKey constraints if you are using natural keys, which have their own inherent problems in most cases, or really bloaty synthetic keys like GUIDS, but any other scheme you are certain to run into trouble sometime.
  • Matt Westwood 2011-11-29 15:23
    Directive no. 598: Tools which generate html code lack flexibility and blah blah.

    From now on, all html that is experienced client-side will be written by the programmer by hand.

    :
    :

    Directive no. 634: No free software is to be used for any purposes in this company. If it's free, it can't be any good because no money will have been spent on quality control.

    :
    :

    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.
  • C-Octothorpe 2011-11-29 15:27
    Matt Westwood:
    Directive no. 598: Tools which generate html code lack flexibility and blah blah.

    From now on, all html that is experienced client-side will be written by the programmer by hand for every http request.


    MTMEFY

    (Made that more evil for you)
  • Gunslinger 2011-11-29 15:35
    Directive 595 Part 4: profit!
  • Lick My Love Log 2011-11-29 15:42
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?


    Hortie, love, are you a troll or pig-buggering idiot?
  • trtrwtf 2011-11-29 15:47
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?


    Hortie, love, are you a troll or pig-buggering idiot?


    Why choose?
  • snoofle 2011-11-29 15:52
    trtrwtf:
    snoofle:
    This is also a good way to let the boss know just exactly how much he depends on you.


    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.


    A long time ago, I worked at a place with a grossly overloaded server which was never replaced due to shortsighted budgeting. As such, I ran lots of cron'd scripts to monitor and fix transaction logs, full file systems and so forth for numerous applications - on my local unix box (it was new, reliable, and everything was on a shared drive). At some points in the day, the cron schedules intersected and my box basically died for ten minutes until it caught up. Some suit saw me reading the paper at that moment and in spite of my explanation, chastised me for goofing off.


    So, what, he saw your box blowing up and you reading the sports pages, and he said, "what are you doing reading the sports pages while your machine is blowing up?"
    And what did you do?


    I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my sabotage. I showed them that I simply needed to start doing my job again. They never hassled me again.


    By "hassled" you mean "paid", right? Or did you really blow up the company and keep your job?
    (Did you have pictures of the CEO in bed with a ten-year-old boy and a bassett hound, or how did you pull this off?)

    Methinks you missed what I was trying to say...

    I did mention that all the stuff was on a shared drive. Perhaps I should also have mentioned that others knew about it, but as I was always the first one in the office, I started everything up when I got in. Since I only had access to my box, that's where I ran everything.

    When the suit came over, my box was so heavily loaded that it just stopped responding for about ten minutes. I explained to the guy that it was running scripts to clean up various things in production, that it would finish shortly, and that there was no way to use the machine until it did as it didn't respond (and I showed him).

    The guy blew a gasket in my face anyway, so I just powered down, told my boss what happened and that I was going away for 2 weeks. My boss and several others knew about the scripts and how to run them, but they didn't want me too pissed off as I was the one coming in at 6AM and doing this for several teams, so they just let everything crash and burn (*) to illustrate that I was actually doing stuff.

    *Aside: the problems were all manually fixable as they occurred; it's just that my scripts weren't preemptively fixing them before they became visible.

    When I came back, the suit and 3 managers from the teams I was supporting were all there. They backed me up when I showed him that even though *I* was just sitting there, that my *computer* was working quite diligently. Then the four of us pointed out that if we had a properly sized server, that this stuff could be run *there* and I would be free to work continuously.

    The point finally got across, though we never did get the new server.
  • Anon 2011-11-29 15:53
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?


    A good effort. Would have been better if you hadn't so obviously contradicted yourself. I give it 6 bridges out of 10.
  • Lick My Love Log 2011-11-29 16:00
    trtrwtf:
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?


    Hortie, love, are you a troll or pig-buggering idiot?


    Why choose?


    Indeed. The two are far from mutually exclusive.
  • D-Coder 2011-11-29 16:03
    Jack Foluney:
    This story seems like it's made-up.
    It's funny though.
    Surely no one is that stupid are they??
    You mean, other than Nagesh?

    Sadly, tragically, unfortunately... yes.
  • Anthony Aloysius St John Hancock 2011-11-29 16:04
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.
    Damn foreigners - can't go anywhere in the world without meeting them
  • jverd 2011-11-29 16:07
    EatenByAGrue:

    My guess: He'd discussed it with CTO, who didn't realize this was a bad idea. When things hit the fan, CTO threw Gerald under a bus rather than to admit that it was something he'd approved.


    It's not "throwing somebody under the bus" when you fire him for demonstrating unfathomable incompetence and arrogance, and if the CTO approved it, that doesn't make him equally culpable. Though one can of course hold out the hope that he at least learned a lesson and in the future will solicit the opinions of other senior technical staff before approving such major changes.
  • trtrwtf 2011-11-29 16:11
    snoofle:

    Methinks you missed what I was trying to say...


    Well, that's a different sort of story. The one you told at first didn't really put you in a very good light.
  • MK 2011-11-29 16:32
    Sad to say, but this reminds me from a person I used to work with. And yes, he was "lead" something too unfortunately..
  • Jay 2011-11-29 16:42
    Anthony Aloysius St John Hancock:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.
    Damn foreigners - can't go anywhere in the world without meeting them


    Yeah, it seems like America is the last country in the world that isn't run by a bunch of foreigners.
  • Jay 2011-11-29 16:45
    PedanticCurmudgeon:
    Dan:
    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Yes. We also have readers who can spot the troll but respond anyway because they have nothing better to do.


    And some people think it's great fun to feed the trolls. Just like some people enjoy feeding the monkeys at the zoo: they find it entertaining to watch them run around, scream, and throw feces.
  • Jay 2011-11-29 16:53
    nag-geoff:
    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    Yeah, why not use DOMESTIC keys, buddy? Are you trying to put all the domestic key workers out of a job or something? And if we get dependent on foreign keys, what happens if they cut off the supply? Then we won't be able to unlock our own database records. Before you know it they'll be defining all our functions. There's a reason why they call it a foreign key CONSTRAINT.
  • boog 2011-11-29 16:53
    Matt Westwood:
    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.
    You joke, but a bunch of developers at a previous job pushed for something like this.

    We had a Linux environment, so a few of us used vim, a few used emacs, a few used nano, and a number of Cool Kids used various text editors they found on the Internet. The Cool Kids tried to convince the lowly vim/emacs/nano crowd how much better their Internet-found text editors were, but the vim/emacs/nano crowd just ignored the noise and kept using what they wanted.

    So at the next big developer meeting the Cool Kids raised the issue of how expensive it must be to support so many text editors, using that to push for some kind of mandate that all developers use the same text editor (one of their cool Internet-found options, of course).

    I sat quietly, letting everyone bicker, until I saw one of the sysadmins shaking his head in disbelief. I told him (interrupting whichever Cool Kid was babbling at the time) not to worry, that vim/emacs/nano all came with the OS, and wouldn't require any additional support. He grinned, and the Cool Kids quickly dropped the subject.

    I think I made a couple enemies that day.
  • operagost 2011-11-29 16:55
    snoofle:
    I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my "sabotage". I showed them that I simply needed to start doing my job again. They never hassled me again.

    RIIIIIIIIIIIIIIIIIIIIIIIIIIGHT
  • TGV (where's my password again?) 2011-11-29 17:02
    One of the best ones. For all the misery that Oracle (or certain other DBSs) can be, it takes a really perverse talent to come up with words to ban constraints. Awe inspiring.
  • Jim 2011-11-29 17:07
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?
    Other than the fact you're probably trolling (or perhaps making an ironic point)...

    On one hand you say that Daniel should shut up and cop it sweet, on the other you blame him for not giving advice. Interesting.

    IMO if you're hired in a role like 'Database Architect' you are expected to offer technical advice - even when it's not asked for. Hell, I'm only a code monkey but if my boss asks me to do something that goes against my understanding of good Software Engineering practice, I will make sure I go on the record as disagreeing. Sure, there comes a time when you just do what you're told, but Technical decisions should always be made in the most relevant Technical areas.

    If we had a manager in a Legal department who insisted his staff followed some questionable directive, would you expect the staff (presumably qualified lawyers) to follow no questions asked? What about in finance? Why are technical roles any different?

    Managers should make decisions when they need to be made, but this involves gathering all the information (which almost always comes from below) and assessing it, not creating a solution and insisting that it is the appropriate course of action. This is perhaps one of the most fundamental differences between a good manager and a bad manager. A good manager listens and weighs up options, a bad manager thinks they're God and have ultimate right of dictatorship
  • Jim 2011-11-29 17:10
    Jim:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?
    Other than the fact you're probably trolling (or perhaps making an ironic point)...

    On one hand you say that Daniel should shut up and cop it sweet, on the other you blame him for not giving advice. Interesting.

    IMO if you're hired in a role like 'Database Architect' you are expected to offer technical advice - even when it's not asked for. Hell, I'm only a code monkey but if my boss asks me to do something that goes against my understanding of good Software Engineering practice, I will make sure I go on the record as disagreeing. Sure, there comes a time when you just do what you're told, but Technical decisions should always be made in the most relevant Technical areas.

    If we had a manager in a Legal department who insisted his staff followed some questionable directive, would you expect the staff (presumably qualified lawyers) to follow no questions asked? What about in finance? Why are technical roles any different?

    Managers should make decisions when they need to be made, but this involves gathering all the information (which almost always comes from below) and assessing it, not creating a solution and insisting that it is the appropriate course of action. This is perhaps one of the most fundamental differences between a good manager and a bad manager. A good manager listens and weighs up options, a bad manager thinks they're God and have ultimate right of dictatorship
    In fact, taking that one step further, it's the reason why highly technical experts often (not always, I'll admit) make bad managers (particularly if they've worked under good managers) - they're used to people listening to their opinion as an SME, and it makes them believe that they are more qualified than anyone else. When they are promoted, especially into a role that suddenly includes a more diverse range of technologies they assume this is an endorsement that they are considered SME's in a broader range of skillsets...

    That said, I'd make a friggin awesome manager - honest.
  • Someone 2011-11-29 17:18
    Trish:
    BentFranklin:
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?



    A sensible one who wants to resign anyway... I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and freinds ans STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)

    This is unusual? My personal cellphone number is never given out at work. If work wants me to be contactable, they can provide a cell and number. This cell is then left at work when I'm on holidays - after all, a holiday is an entitlement to have a break from work (and something that increasingly businesses are realizing are reasonably important for health).

    If the shit hits the fan while I'm away it's not my problem - they managed before I started here, and I'm sure they'll manage after I leave. Noone (ever) is indispensable. Some people leaving can appear to be a bigger problem than others, but within a few months normality (or some semblance of) resumes...
  • Matt Westwood 2011-11-29 17:20
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?


    Hortie, love, are you a troll or pig-buggering idiot?


    Oh, leave him / her be, Hortie's a sweetie.

    It's not Daniel that should have been fired, it was whoever authorised him to go on leave in the first place. It was Daniel's absence that directly caused Gerald to think he could fuck up the DB, therefore it was the fault of the person who thought they could get away without Daniel being in the building.
  • Matt Westwood 2011-11-29 17:24
    jverd:
    EatenByAGrue:

    My guess: He'd discussed it with CTO, who didn't realize this was a bad idea. When things hit the fan, CTO threw Gerald under a bus rather than to admit that it was something he'd approved.


    It's not "throwing somebody under the bus" when you fire him for demonstrating unfathomable incompetence and arrogance, and if the CTO approved it, that doesn't make him equally culpable. Though one can of course hold out the hope that he at least learned a lesson and in the future will solicit the opinions of other senior technical staff before approving such major changes.


    But seriously, it wasn't the prime directives that got Gerald fired, it was the buggering about on Production without developing it first on Development and testing it on Test. Wonder why whose boxes got those names.
  • Therth 2011-11-29 17:24
    wydok:
    I stopped reading at part 2, because it wasn't believable and wasn't funny.
    I stopped reading halfway through as well, and thought I'd come here and post about it too....
  • Matt Westwood 2011-11-29 17:26
    Jay:
    Anthony Aloysius St John Hancock:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.
    Damn foreigners - can't go anywhere in the world without meeting them


    Yeah, it seems like America is the last country in the world that isn't run by a bunch of foreigners.


    Can't argue there. The queen's a German, her husband's a Greek, and the deputy prime minister's wife is a BASICing Spaniard, for lisp's sake. Haven't had a proper Welshman in charge for decades.
  • Volgren 2011-11-29 17:33
    Jay:
    <SNIP>

    I just don't buy it when someone says, "We don't have time to find out the facts, this is a crisis and we have to make a decision NOW!". Or, "All the experts agree that this is the right answer. We can't be bothered to explain our reasons, we're the experts and you should just trust us." Or especially, "This is Truth, and if you don't agree you must be some kind of anti-intellectual, anti-science, probably religious extremist."


    It's all code:

    "We don't have time to find out the facts...." = "someone's arse is going to be on the line for this, and it won't be mine if I insist I could see the urgency of the situation - mistakes made because of such pressure will quite nobly be accepted by any technician associated with the change"
    "All the experts agree...." = "I read a discussion on stackoverflow (bytes/whatever) where at least 2 of the 15 posters shared my view before being yelled down by the masses"
    "This is Truth...." = similar to "All the experts agree..." but more often is a misinterpretation of a single statement on Wikipedia or similar site...
  • Daisy 2011-11-29 17:35
    vacation taker:
    Why didn't he quit first and use his owed vacation as his two week notice ?
    Because then we wouldn't have had this story....
  • Matt Westwood 2011-11-29 17:37
    boog:
    Matt Westwood:
    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.
    You joke, but a bunch of developers at a previous job pushed for something like this.

    We had a Linux environment, so a few of us used vim, a few used emacs, a few used nano, and a number of Cool Kids used various text editors they found on the Internet. The Cool Kids tried to convince the lowly vim/emacs/nano crowd how much better their Internet-found text editors were, but the vim/emacs/nano crowd just ignored the noise and kept using what they wanted.

    So at the next big developer meeting the Cool Kids raised the issue of how expensive it must be to support so many text editors, using that to push for some kind of mandate that all developers use the same text editor (one of their cool Internet-found options, of course).

    I sat quietly, letting everyone bicker, until I saw one of the sysadmins shaking his head in disbelief. I told him (interrupting whichever Cool Kid was babbling at the time) not to worry, that vim/emacs/nano all came with the OS, and wouldn't require any additional support. He grinned, and the Cool Kids quickly dropped the subject.

    I think I made a couple enemies that day.


    We did standardise on Eclipse at one point, in the java team I worked in. It was so much easier to attain repeatability and consistency. There was one shithead who insisted on using his own tools, but he was a cunt. Every time he checked something in the line feeds were in a format inconsistent with all the other files, or something like that, and he consistently replaced all his tabs with three spaces. Fucking nightmare doing diffs. But the world is great and good because he got fired, but only 7 years too late.

    And the fucker had no sense of fucking humour. He was blarting on in some design meeting about some great new trendy tool he'd found, and I ironically remarked: nah, I prefer COBOL. He followed the meeting up with a 6-page email about why I ought to change my attitude and start learning more modern languages and how being a COBOL programmer would limit my career prospects. The fact that we had never ever programmed a single byte of COBOL in the history of the company seemed not to have registered, so it never occurred to him that I might not have been serious.
  • CB60 2011-11-29 17:39
    snoofle:
    trtrwtf:
    snoofle:
    This is also a good way to let the boss know just exactly how much he depends on you.


    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.


    A long time ago, I worked at a place with a grossly overloaded server which was never replaced due to shortsighted budgeting. As such, I ran lots of cron'd scripts to monitor and fix transaction logs, full file systems and so forth for numerous applications - on my local unix box (it was new, reliable, and everything was on a shared drive). At some points in the day, the cron schedules intersected and my box basically died for ten minutes until it caught up. Some suit saw me reading the paper at that moment and in spite of my explanation, chastised me for goofing off.


    So, what, he saw your box blowing up and you reading the sports pages, and he said, "what are you doing reading the sports pages while your machine is blowing up?"
    And what did you do?


    I immediately powered down the box and left for two weeks vacation. I did NOT answer my phone. By the time I came back, all the logs had filled, things were crashing or just wouldn't start. They were waiting for me to fix my sabotage. I showed them that I simply needed to start doing my job again. They never hassled me again.


    By "hassled" you mean "paid", right? Or did you really blow up the company and keep your job?
    (Did you have pictures of the CEO in bed with a ten-year-old boy and a bassett hound, or how did you pull this off?)

    Methinks you missed what I was trying to say...

    I did mention that all the stuff was on a shared drive. Perhaps I should also have mentioned that others knew about it, but as I was always the first one in the office, I started everything up when I got in. Since I only had access to my box, that's where I ran everything.

    When the suit came over, my box was so heavily loaded that it just stopped responding for about ten minutes. I explained to the guy that it was running scripts to clean up various things in production, that it would finish shortly, and that there was no way to use the machine until it did as it didn't respond (and I showed him).

    The guy blew a gasket in my face anyway, so I just powered down, told my boss what happened and that I was going away for 2 weeks. My boss and several others knew about the scripts and how to run them, but they didn't want me too pissed off as I was the one coming in at 6AM and doing this for several teams, so they just let everything crash and burn (*) to illustrate that I was actually doing stuff.

    *Aside: the problems were all manually fixable as they occurred; it's just that my scripts weren't preemptively fixing them before they became visible.

    When I came back, the suit and 3 managers from the teams I was supporting were all there. They backed me up when I showed him that even though *I* was just sitting there, that my *computer* was working quite diligently. Then the four of us pointed out that if we had a properly sized server, that this stuff could be run *there* and I would be free to work continuously.

    The point finally got across, though we never did get the new server.
    Never have I seen a bicycle go so fast in reverse.
  • Wha? 2011-11-29 17:45
    Matt Westwood:
    boog:
    Matt Westwood:
    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.
    You joke, but a bunch of developers at a previous job pushed for something like this.

    We had a Linux environment, so a few of us used vim, a few used emacs, a few used nano, and a number of Cool Kids used various text editors they found on the Internet. The Cool Kids tried to convince the lowly vim/emacs/nano crowd how much better their Internet-found text editors were, but the vim/emacs/nano crowd just ignored the noise and kept using what they wanted.

    So at the next big developer meeting the Cool Kids raised the issue of how expensive it must be to support so many text editors, using that to push for some kind of mandate that all developers use the same text editor (one of their cool Internet-found options, of course).

    I sat quietly, letting everyone bicker, until I saw one of the sysadmins shaking his head in disbelief. I told him (interrupting whichever Cool Kid was babbling at the time) not to worry, that vim/emacs/nano all came with the OS, and wouldn't require any additional support. He grinned, and the Cool Kids quickly dropped the subject.

    I think I made a couple enemies that day.


    We did standardise on Eclipse at one point, in the java team I worked in. It was so much easier to attain repeatability and consistency. There was one shithead who insisted on using his own tools, but he was a cunt. Every time he checked something in the line feeds were in a format inconsistent with all the other files, or something like that, and he consistently replaced all his tabs with three spaces. Fucking nightmare doing diffs. But the world is great and good because he got fired, but only 7 years too late.

    And the fucker had no sense of fucking humour. He was blarting on in some design meeting about some great new trendy tool he'd found, and I ironically remarked: nah, I prefer COBOL. He followed the meeting up with a 6-page email about why I ought to change my attitude and start learning more modern languages and how being a COBOL programmer would limit my career prospects. The fact that we had never ever programmed a single byte of COBOL in the history of the company seemed not to have registered, so it never occurred to him that I might not have been serious.

    Isn't there a flag to ignore whitespace differences in diff?
  • Matt Westwood 2011-11-29 18:09
    Wha?:
    Matt Westwood:
    boog:
    Matt Westwood:
    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.
    You joke, but a bunch of developers at a previous job pushed for something like this.

    We had a Linux environment, so a few of us used vim, a few used emacs, a few used nano, and a number of Cool Kids used various text editors they found on the Internet. The Cool Kids tried to convince the lowly vim/emacs/nano crowd how much better their Internet-found text editors were, but the vim/emacs/nano crowd just ignored the noise and kept using what they wanted.

    So at the next big developer meeting the Cool Kids raised the issue of how expensive it must be to support so many text editors, using that to push for some kind of mandate that all developers use the same text editor (one of their cool Internet-found options, of course).

    I sat quietly, letting everyone bicker, until I saw one of the sysadmins shaking his head in disbelief. I told him (interrupting whichever Cool Kid was babbling at the time) not to worry, that vim/emacs/nano all came with the OS, and wouldn't require any additional support. He grinned, and the Cool Kids quickly dropped the subject.

    I think I made a couple enemies that day.


    We did standardise on Eclipse at one point, in the java team I worked in. It was so much easier to attain repeatability and consistency. There was one shithead who insisted on using his own tools, but he was a cunt. Every time he checked something in the line feeds were in a format inconsistent with all the other files, or something like that, and he consistently replaced all his tabs with three spaces. Fucking nightmare doing diffs. But the world is great and good because he got fired, but only 7 years too late.

    And the fucker had no sense of fucking humour. He was blarting on in some design meeting about some great new trendy tool he'd found, and I ironically remarked: nah, I prefer COBOL. He followed the meeting up with a 6-page email about why I ought to change my attitude and start learning more modern languages and how being a COBOL programmer would limit my career prospects. The fact that we had never ever programmed a single byte of COBOL in the history of the company seemed not to have registered, so it never occurred to him that I might not have been serious.

    Isn't there a flag to ignore whitespace differences in diff?


    That's precisely the sort of stupid fucking bollocks pricks like him used to spout as an excuse. And it's fucking shit.
  • Hmmmmmpf... 2011-11-29 18:15
    Dear Database Architect,

    Educational Decree Number 595 is as follows.

    "Gerald has been appointed to the post of Hogwarts High Inquisitor."

    Sincerely,
    High Inquisitor Gerald
  • Carl 2011-11-29 18:25
    Wha?:
    Matt Westwood:
    he consistently replaced all his tabs with three spaces. Fucking nightmare doing diffs.

    Isn't there a flag to ignore whitespace differences in diff?
    Yeah, but you have to actually know what you are doing instead of just copying everyone around you like a monkey. Besides, then there's nothing left to use to bitch about the nonconformist guy.

    Tabs are TRWTF anyway.
  • ZJR 2011-11-29 18:47
    I though about K/V databases, but XML is more hardcore. Not to mention it is HIERARCHICAL. (pretend it's a buzzword of sorts)
  • Gandi 2011-11-29 19:08
    Directive 595 Part 4
    "Enabling Archive log gives lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution. Disable Archive logging in all production databases ASAP!!"
  • BentFranklin 2011-11-29 20:53
    I couldn't relax on a vacation not knowing every day that my data was okay. Some responsibilities transcend the work/home boundary. This is one of them. If I were a Database Architect and my data was getting hosed such that the whole company had to go to the mattresses in the war room for four days and I wasn't there, I would be ashamed and offer my resignation.

  • SonnyJimmy 2011-11-29 21:09
    Directive 595 Part 4:

    Psych! Now go back and undo the previous 3 parts.

    CAPTCHA jumentum: A Jumbled Momentum.
  • nag-geoff 2011-11-29 21:12
    Wha?:
    Matt Westwood:
    boog:
    Matt Westwood:
    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.
    You joke, but a bunch of developers at a previous job pushed for something like this.

    We had a Linux environment, so a few of us used vim, a few used emacs, a few used nano, and a number of Cool Kids used various text editors they found on the Internet. The Cool Kids tried to convince the lowly vim/emacs/nano crowd how much better their Internet-found text editors were, but the vim/emacs/nano crowd just ignored the noise and kept using what they wanted.

    So at the next big developer meeting the Cool Kids raised the issue of how expensive it must be to support so many text editors, using that to push for some kind of mandate that all developers use the same text editor (one of their cool Internet-found options, of course).

    I sat quietly, letting everyone bicker, until I saw one of the sysadmins shaking his head in disbelief. I told him (interrupting whichever Cool Kid was babbling at the time) not to worry, that vim/emacs/nano all came with the OS, and wouldn't require any additional support. He grinned, and the Cool Kids quickly dropped the subject.

    I think I made a couple enemies that day.


    We did standardise on Eclipse at one point, in the java team I worked in. It was so much easier to attain repeatability and consistency. There was one shithead who insisted on using his own tools, but he was a cunt. Every time he checked something in the line feeds were in a format inconsistent with all the other files, or something like that, and he consistently replaced all his tabs with three spaces. Fucking nightmare doing diffs. But the world is great and good because he got fired, but only 7 years too late.

    And the fucker had no sense of fucking humour. He was blarting on in some design meeting about some great new trendy tool he'd found, and I ironically remarked: nah, I prefer COBOL. He followed the meeting up with a 6-page email about why I ought to change my attitude and start learning more modern languages and how being a COBOL programmer would limit my career prospects. The fact that we had never ever programmed a single byte of COBOL in the history of the company seemed not to have registered, so it never occurred to him that I might not have been serious.

    Isn't there a flag to ignore whitespace differences in diff?


    White spaces are important, if you're programming in Python. Any one will tell you that.
  • Cheong 2011-11-29 21:15
    Ptorq:
    The only thing about this that makes me want to call foul is management firing the guy actually responsible for the mess instead of Daniel, who had the temerity to be on vacation during it.

    I don't know about companies at other places, but usually having long vacation implies travelling aboard and won't listen to phone calls on the way. As long as he assigned his works to other staffs properly, this should be accepted.
    Also, Daniel started his vacation 3 days BEFORE the disaster is found, so in no way you can reasonably blame him for being in vacation while the company have trouble.
  • Cheong 2011-11-29 21:19
    Correstion: I read it again, and the incident should be found 11 days after Daniel's vacation started.
  • Byte 2011-11-29 21:55
    BentFranklin:
    I couldn't relax on a vacation not knowing every day that my data was okay. Some responsibilities transcend the work/home boundary. This is one of them. If I were a Database Architect and my data was getting hosed such that the whole company had to go to the mattresses in the war room for four days and I wasn't there, I would be ashamed and offer my resignation.


    You are such a wuss. The only way to redeem your honor (and the honor of your family) after such a disaster is to commit harakiri. You have embarrassed the company and its clients. Not to mention the boss that works way too much, just to put food on his family...
  • Kuron 2011-11-29 23:14
    I wonder if he still thought that it would've worked if he didn't get that one character wrong.
  • nag-geoff 2011-11-30 00:29
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...


    Are you the real deal or just another internet pervert?
  • TWTF 2011-11-30 00:46
    Matt Westwood:
    Wha?:

    Isn't there a flag to ignore whitespace differences in diff?


    That's precisely the sort of stupid fucking bollocks pricks like him used to spout as an excuse. And it's fucking shit.


    You should learn software you using, if you wanna stay up with young blood.

    There is option in diff that allow to ignore whitespaces.
  • random_garbage 2011-11-30 01:47
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    Nine months ago - it was posted there while it was still progressing...


    Mr "Ask Tom" Kyte reads this site? You're my hero, man! If there's one source I look to for learning how databases think, it's AskTom... So glad to see you here! (Note to self: must learn to contain hero worship.)

  • Scarlet Manuka 2011-11-30 02:45
    syskill:
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).


    That was my guess too.

    Mine too. :)
  • yerallabunchafuckindumbshits 2011-11-30 03:19
    Jay:

    And some people think it's great fun to feed the trolls. Just like some people enjoy feeding the monkeys at the zoo: they find it entertaining to watch them run around, scream, and throw feces.


    Yeah, if only we could all be above the fray like you are. Thank Lord Jesus Tebow Christ in HaaayyyAVANNNN above therez brillant mudderphochahs like you to set all our all azzes straight. ABloodyFuckinMen.

    P.S. GodNJeezuszNBooda can kiss m' butt.
  • Buncha Mo RONS! 2011-11-30 03:23
    Jay:

    And some people think it's great fun to feed the trolls. Just like some people enjoy feeding the monkeys at the zoo: they find it entertaining to watch them run around, scream, and throw feces.


    You say that like it's a bad thing. Waiting for the point...
  • urallfuckingstupid 2011-11-30 03:32
    Matt Westwood:
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?


    Hortie, love, are you a troll or pig-buggering idiot?


    Oh, leave him / her be, Hortie's a sweetie.


    YES! Since your posts here have value of 0.05 * nagesh I will act accordingly. GO INTERNET YAY!

    (FUCK I HOPE HUMAN RACE KILL ITSELF SOON!!!) GO NULULEAR WAR YES!
  • gnasher729 2011-11-30 03:35
    BentFranklin:
    I couldn't relax on a vacation not knowing every day that my data was okay. Some responsibilities transcend the work/home boundary. This is one of them. If I were a Database Architect and my data was getting hosed such that the whole company had to go to the mattresses in the war room for four days and I wasn't there, I would be ashamed and offer my resignation.


    Look forward to an early burnout, and then you won't be of any use to yourself and your family, and of no use to less important entities like your company. Every employee not only has the right to a holiday, the company must force them if necessary to take an undisturbed holiday, so they come home fresh and do good work again.

    If the company can't send him on holiday safely, then his manager has a problem and should be fired. Which happened in this case.
  • anon 2011-11-30 03:46
    ParkinT:
    Directive 595 Part 4.
    "Databases and database languages are slow give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution"

    From this point forward, all data will be in XML format. It is more enterprise-y


    CSV, Shirley?
  • Dmitriy 2011-11-30 04:01
    Did the company not have daily backup files of their databases? They could have undone Gerald's actions quickly by restoring a backup file instead of having to manually run SQL commands for four days.

    Actually, this indicates the real WTF in the story: the Chief Architect can destroy production databases with little to no oversight.
  • The poop of DOOM 2011-11-30 04:17
    JayC:
    ParkinT:
    Directive 595 Part 4.
    "Databases and database languages are slow give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution"

    From this point forward, all data will be in XML format. It is more enterprise-y


    People have apparently done just that.

    Askmet sucks.

    Yup, there's even an entire CMS which stores everything as XML and doesn't use a real database. Gentlemen, I present you: http://www.sitenote.net
  • QJo 2011-11-30 04:34
    gnasher729:
    BentFranklin:
    I couldn't relax on a vacation not knowing every day that my data was okay. Some responsibilities transcend the work/home boundary. This is one of them. If I were a Database Architect and my data was getting hosed such that the whole company had to go to the mattresses in the war room for four days and I wasn't there, I would be ashamed and offer my resignation.


    Look forward to an early burnout, and then you won't be of any use to yourself and your family, and of no use to less important entities like your company. Every employee not only has the right to a holiday, the company must force them if necessary to take an undisturbed holiday, so they come home fresh and do good work again.

    If the company can't send him on holiday safely, then his manager has a problem and should be fired. Which happened in this case.

    Oh, get real! Most people in industry don't take the holidays they are offered as it is. Sixty hour weeks are commonplace. You are expected to work from home in the evenings and weekends, and going away on vacations is a thing of the very distant past. If <i>you</i> haven't got the commitment to do a job of work, there are plenty out there who will fill your lazy boots. <i>You</i> should be the one to be fired, and your pension revoked if you have one, for your shocking display of anti-industrial discontent. In fact, if I had my way you'd be arrested and punished for agitation.
  • The poop of DOOM 2011-11-30 04:47
    frits:
    Zylon:
    indispensable

    There's no such thing.

    Yes, there is. It's called a Pez indispenser.
  • dkmvs db administrator 2011-11-30 04:49
    Finally, a DailyWTF made our dick moves site!

    Excuse the spammy link, but vote it up please. http://dkmvs.com/posts/476
  • dkmvs db administrator 2011-11-30 04:49
    Finally, a DailyWTF made our dick moves site!

    Excuse the spammy link, but vote it up please. http://dkmvs.com/posts/476
  • The poop of DOOM 2011-11-30 04:51
    Zylon:
    trtrwtf:
    This is a bad thing. Never be the one guy that they depend on - that's the guy you want to get rid of. You want to keep the guy who makes sure that there's at least two people around who can pick up on any piece of what he does.

    Yeahhh, that only works in shops where there's enough manpower to make that happen. In smaller shops, the managers need to know who's indispensable for what and to not fuck with them.

    Ick, I fed a troll.

    Not quite so. At my previous job, we were a 4-headed web dev. company. I was the only dev. there, yet the amount of harrassment and counter-productive actions (like, for no good reason, suddenly smashing chairs into the desks) from the boss clearly showed he didn't realize how indispensible his single dev. was
  • The poop of DOOM 2011-11-30 04:58
    trtrwtf:
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?


    Hortie, love, are you a troll or pig-buggering idiot?


    Why choose?

    Who said it's a choice?
  • L. 2011-11-30 05:04
    The poop of DOOM:
    frits:
    dkf:
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).
    Or convert the database to SQLite.
    Or Amazon SimpleDB.

    Or MongoDB


    Or MySQL .. or worse : Access
  • QJo 2011-11-30 05:07
    QJo:
    gnasher729:
    BentFranklin:
    I couldn't relax on a vacation not knowing every day that my data was okay. Some responsibilities transcend the work/home boundary. This is one of them. If I were a Database Architect and my data was getting hosed such that the whole company had to go to the mattresses in the war room for four days and I wasn't there, I would be ashamed and offer my resignation.


    Look forward to an early burnout, and then you won't be of any use to yourself and your family, and of no use to less important entities like your company. Every employee not only has the right to a holiday, the company must force them if necessary to take an undisturbed holiday, so they come home fresh and do good work again.

    If the company can't send him on holiday safely, then his manager has a problem and should be fired. Which happened in this case.

    Oh, get real! Most people in industry don't take the holidays they are offered as it is. Sixty hour weeks are commonplace. You are expected to work from home in the evenings and weekends, and going away on vacations is a thing of the very distant past. If <i>you</i> haven't got the commitment to do a job of work, there are plenty out there who will fill your lazy boots. <i>You</i> should be the one to be fired, and your pension revoked if you have one, for your shocking display of anti-industrial discontent. In fact, if I had my way you'd be arrested and punished for agitation.


    Oh yes, and add to this the fact that if the employee is allowed to spend two weeks away from the desk, he will have completely forgotten how to do his job, in fact will have forgotten where his job is. Then who's no use to the company?
  • L. 2011-11-30 05:17
    C-Octothorpe:
    This must have been sabotage...

    There is no way an "Application Architect" (bare minimum of seven years hands-on experience) would think that any of these "directives" was a good idea or do it just for a power-trip.

    I MUST believe it was sabotage because believing that anybody that stupid could ascend to the level of Chief Architect would shatter my reality...


    Nice troll c-dog ;)
  • L. 2011-11-30 05:20
    Matt Westwood:
    Directive no. 598: Tools which generate html code lack flexibility and blah blah.

    From now on, all html that is experienced client-side will be written by the programmer by hand.

    :
    :

    Directive no. 634: No free software is to be used for any purposes in this company. If it's free, it can't be any good because no money will have been spent on quality control.

    :
    :

    Directive no. 666: To ensure a consistent look-and-feel, the same programming tool is to be used by all programmers. That programming tool is to be Notepad, because it comes free with your computer.


    And , as notepad is free, it cannot be used, so you shall code with a stylus and a wax tablet (no, not samsung).
  • L. 2011-11-30 05:32
    The poop of DOOM:
    JayC:
    ParkinT:
    Directive 595 Part 4.
    "Databases and database languages are slow give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution"

    From this point forward, all data will be in XML format. It is more enterprise-y


    People have apparently done just that.

    Askmet sucks.

    Yup, there's even an entire CMS which stores everything as XML and doesn't use a real database. Gentlemen, I present you:


    Oh really ??

    A tool for the noobs made by noobs ?

    Unbelievable ... and I thought joomla s*cked .
  • John 2011-11-30 05:37
    That's what you get when you put people with Asperger's Syndrome in charge ...
  • The poop of DOOM 2011-11-30 05:41
    L.:
    The poop of DOOM:
    JayC:
    ParkinT:
    Directive 595 Part 4.
    "Databases and database languages are slow give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution"

    From this point forward, all data will be in XML format. It is more enterprise-y


    People have apparently done just that.

    Askmet sucks.

    Yup, there's even an entire CMS which stores everything as XML and doesn't use a real database. Gentlemen, I present you:


    Oh really ??

    A tool for the noobs made by noobs ?

    Unbelievable ... and I thought joomla s*cked .

    I actually don't know if it's bad or not. Never used it :P I just know it exists and uses XML as a database.
  • The poop of DOOM 2011-11-30 05:43
    Dmitriy:
    Did the company not have daily backup files of their databases? They could have undone Gerald's actions quickly by restoring a backup file instead of having to manually run SQL commands for four days.

    Actually, this indicates the real WTF in the story: the Chief Architect can destroy production databases with little to no oversight.

    That was Directive 146:
    "Daily backups give lack of flexibility, is costly in storage, inhibit the use of precious CPU cycles and clinging to the past makes an inhibitor to evolution. As such, please remove all backups and stop making new ones."
  • Nick 2011-11-30 06:00
    I would laugh if Gerald hadn't gone on to design every database I've ever had to datamine. What I wouldn't give for even sensical primary key constraints, let alone a foreign key here and there.
  • ZPedro 2011-11-30 06:22
    OK, let me call it right there and then:

    - Directive 595 is an instant classic

    - I, for one, welcome our new meme
  • Don L 2011-11-30 07:24
    Directive 595 Part 4
    "Storing data on disks, be it hard or solid state, is expensive and slows down everything.
    Store all data safely in /dev/nul instead."
  • Friedrich 2011-11-30 07:37
    I don't think it's WTF it´s sanity at work (at last). They fired an WTF producer and that an anti WTF move. the WTF move would have been that the WTF producer would be promoted to WTO. That would be the hell of a WTF.
  • Severity One 2011-11-30 07:47
    Matt Westwood:
    Jay:
    Yeah, it seems like America is the last country in the world that isn't run by a bunch of foreigners.

    Can't argue there. The queen's a German, her husband's a Greek, and the deputy prime minister's wife is a BASICing Spaniard, for lisp's sake. Haven't had a proper Welshman in charge for decades.

    Don't forget that the deputy prime minister's mother is Dutch, and that the man is fluent in Dutch.

    Then again, the Dutch queen's great-grandmother was German, her grandmother was married to a German, her mother was married to a German, she was married to a German and her son (the crown prince) is married to an Argentinian.

    Even so, the crown prince's daughters look typically Dutch: blonde and not particularly attractive. Their mother is rather good-looking, but the poor things all look like their father.

    On the plus side, the prime minister is Dutch, and unmarried.
  • Sock Puppet 5 2011-11-30 08:15
    Chief Architect Gerald:

    Re: Directive 595

    Dear Database Architect,

    Please refer to Directive 1.

    "A directive is such that all reasonable discussion has taken place
    and as such is not open for debate."

    Sincerely,
    Chief Architect Gerald


    Dear Chief Architect,

    Directive 1 clearly states

    "There shall be no interference with the natural development of non-warp-capable societies."

    As the development databases are non-warp-capable and contain no Omega Molecules, the not-null constraints shall remain as they are. This is not open to debate.

    Sincerely,
    Daniel
  • Hortical 2011-11-30 08:27
    The poop of DOOM:
    trtrwtf:
    Lick My Love Log:
    Hortical:
    Daniel should not have questioned the Chief Architect as no business can run with subordinates always contradicting superiors and disobeying directives. If you think it was okay for employees to act this way, or to quit when they don't appreciate an order they've received, you must know nothing about business. You get paid to do your job, not hold technical debates to satisfy your own ego.

    Further, Daniel should have been immediately fired for being away from the company while it was in crisis. And why wasn't he there to offer his advice to the Chief Architect when it would have prevented this disaster?
    Hortie, love, are you a troll or pig-buggering idiot?
    Why choose?
    Who said it's a choice?
    It really is that easy. Cool!
  • Geoff 2011-11-30 08:52
    Not only that vacations are an important control. If someone is touching data everyday they might be "up to something" or "doing some kind of cover up", simply doing something badly like running a service under their own account. This applies to all employees not just IT.

    When people take vacations their accounts should actually be locked out! If there is some type of emergency and people at work need to reach out then obviously the account can be unlocked.
  • Brooks 2011-11-30 09:13
    Nice find! That makes this even more WTF worthy.
  • Buddy 2011-11-30 09:39
    Directive 595 Part 7 is as follows.

    "Reliance on external power supplies give lack of flexibility, more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution."

    As such, please change all power supplies to diesel generators.

    Sincerely,
    Chief Architect Gerald
  • geoffrey 2011-11-30 09:49
    BentFranklin:
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?



    Not the kind of architect I'd hire, that's for sure. Anyone who can be away for two weeks is not that valuable to his team.
  • dna 2011-11-30 10:13
    all promotions should be given this way.
    through crisis situation and a lot of stress...
    this way, you know you can rely on

    for me the RWTF is that no one tried to stop this train before the wreackage...

    I am just a small hotliner, i only use sql to check information, but i know the value and purpose of a primary key, and i understand the point of not null (i still don't know about the point 3)

    if i get a message like this from someone that (apparently)never work on a database, first i try to debate with him, tryin with tact to remind him that i know more of this than him.
    it it fail, i warn his own manager by mail, so even if the manager don't do anything, when the fan will start, at least i will have an umbrella.
  • Ralph 2011-11-30 10:29
    Trish:

    A sensible one who wants to resign anyway... I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and freinds ans STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)


    I have one cellphone-numbers, and the number is only given to a close circle of family-and friends and STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)
  • Hortical 2011-11-30 10:59
    Ralph:
    Trish:

    A sensible one who wants to resign anyway... I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and friends ans STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)
    I have one cellphone-numbers, and the number is only given to a close circle of family-and friends and STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)
    I have no cellphone-numbers, and a close circle of family and friends and ESPECIALLY co-workers can go to hell. Might be frowned upon, but works miracles for being able to actually relax on holidays ;)
  • nag-geoff 2011-11-30 11:57
    Matt Westwood:
    jverd:
    EatenByAGrue:

    My guess: He'd discussed it with CTO, who didn't realize this was a bad idea. When things hit the fan, CTO threw Gerald under a bus rather than to admit that it was something he'd approved.


    It's not "throwing somebody under the bus" when you fire him for demonstrating unfathomable incompetence and arrogance, and if the CTO approved it, that doesn't make him equally culpable. Though one can of course hold out the hope that he at least learned a lesson and in the future will solicit the opinions of other senior technical staff before approving such major changes.


    But seriously, it wasn't the prime directives that got Gerald fired, it was the buggering about on Production without developing it first on Development and testing it on Test. Wonder why whose boxes got those names.


    It's a well known fact mate that development and test boxes make people relax. We need chaps to be cautious all the time. Also getting rid of development and test boxes saved a ton of money.

    Nobody has to maintain these boxes. Developing in production reduces development cycle and is a natural progression of the waterfall model described by Roger in the software engineering bible.
  • dq 2011-11-30 13:09
    Fortunately, he had a two-week vacation to Mars starting the following week, so he wouldn’t have to suck it up for very long.

    The conclusion is too good to be true ... Daniel actually died at the end of his fever dream.
  • Fabio 2011-11-30 13:09
    Yet I find it hard to believe...
  • Ol Bob 2011-11-30 13:09
    DCRoss:
    "No chief architect has ever made a mistake or distorted information. We are all, by any practical definition, foolproof and incapable of error."


    Daniel, this conversation can serve no purpose anymore. Goodbye.
  • Buffalo 2011-11-30 13:47
    Sock Puppet 5:
    Chief Architect Gerald:

    Re: Directive 595

    Dear Database Architect,

    Please refer to Directive 1.

    "A directive is such that all reasonable discussion has taken place
    and as such is not open for debate."

    Sincerely,
    Chief Architect Gerald


    Dear Chief Architect,

    Directive 1 clearly states

    "There shall be no interference with the natural development of non-warp-capable societies."

    As the development databases are non-warp-capable and contain no Omega Molecules, the not-null constraints shall remain as they are. This is not open to debate.

    Sincerely,
    Daniel

    A+ Star Trek reference. Would read again.
  • Eric 2011-11-30 16:06
    I realize you're joking, but my company uses C-ISAM flat files for all our db storage. That means no querying, no joins, no autoincrement, and none of the other nice things you get from modern relational databases.

    We have a command-line utility that will "query" the table and print out key-value pairs so if you want to search for something you basically have to pipe that output into grep and brush up on your regular expressions.

    I can't wait to get out of this disaster of a company #sadtrombone
  • nag-geoff 2011-11-30 18:56
    Eric:
    I realize you're joking, but my company uses C-ISAM flat files for all our db storage. That means no querying, no joins, no autoincrement, and none of the other nice things you get from modern relational databases.

    We have a command-line utility that will "query" the table and print out key-value pairs so if you want to search for something you basically have to pipe that output into grep and brush up on your regular expressions.

    I can't wait to get out of this disaster of a company #sadtrombone


    An obvious troll, but you're late to this discussion, old chap.
  • Peter 2011-11-30 19:38
    Someone:
    My personal cellphone number is never given out at work. If work wants me to be contactable, they can provide a cell and number. This cell is then left at work when I'm on holidays - after all, a holiday is an entitlement to have a break from work (and something that increasingly businesses are realizing are reasonably important for health).
    At 2 separate companies I've worked for, they've fired the folks who left their work cellphones at the office when they left on vacation. To be honest, one of them was a consulting company (to use the Office Space paradigm, we were the IT department of the Bob&Bobs) of unrepentant jerks who usually let folks know they were fired as they walked out the door and were unable to return to their desk as their card was deactivated on the way to the door.

    If you really got to accept a company provided cell phone, leave the phone at home when you go on vacation and turn it off. You can always pull the "oh, I left the battery charger at home" excuse.

    Never underestimate the pettiness of a mismanager who hates nerds/techies.
  • too lazy to log in 2011-11-30 23:21
    Peter:
    To be honest, one of them was a consulting company ... who usually let folks know they were fired as they walked out the door and were unable to return to their desk as their card was deactivated on the way to the door.


    To give the devil his due - speaking very close to literally here - there is a business justification for this. We like to assume that the people around us are reasonable and rational and sensible people who react to bad news with equanimity and dispassionate calm. And most people, to large extent, are this way.

    However, there are some people who, on hearing that they have the opportunity to seek opportunities elsewhere, decide to vent their frustrations in ways which are disruptive to the normal conduct of business.

    Therefore, many buisinesses have termination policies which are designed to ensure that a terminated employee has no access to any workplace assets before they are informed of their termination. It sounds like your former employer was exercising this sort of policy, although admittedly in a pretty impersonal sort of way.
  • Cat 2011-12-01 00:18
    CodeRage:

    It is the non-technical management-executive that pick who gets promoted, and they rarely base it on technical competence. It's more important who goes to the gym with them, or who gives the appearance of hard work by spending 60+ hours cranking out broken WTF code.


    I disagree with that (at least in my experience). The problem is that people are often promoted to their level of incompetence, and then they stagnate until they get fired.

    Someone can be amazing at their job, but terrible at their boss's job. Unfortunately for these people, they tend to get promoted beyond their capabilities, and while they would have continued to do great at their former role, they languish in their new role until they are put out of their misery.

    Really, I think the problem is that we do too MUCH of evaluating someone by how well they're doing their current job, not how well we think they would do at their proposed new job. It tends to cause people to climb the corporate ladder until they are one rung above where they actually should be, and then they fall.
  • toshir0 2011-12-01 04:06
    YF:
    The poop of DOOM:
    frits:
    dkf:
    Taki:
    Directive 595 Part 4 is as follows.

    "Typed database columns give lack of flexibility, more
    costly evolution, inhibit the use of the database acting as a
    service to applications and make it an inhibitor to evolution."

    As such, please change all database columns to type VARCHAR2(4000).
    Or convert the database to SQLite.
    Or Amazon SimpleDB.

    Or MongoDB

    Or Access.
    Or HyperCard
  • toshir0 2011-12-01 04:14
    boog:
    Dan:
    Tom:
    nag-geoff:
    Evolution is over-rated.

    The foreign key part is something I would agree with. There is no point in having foreign keys. They are as useful as the foreigners in my country.


    Foreign keys are useful for blah blah tl;dr blah...

    Really, in this day and age, we still have readers who can't spot a troll a mile off?
    Or in this case, a two-headed troll (nag-geoff = nagesh-geoffrey).
    You mean an ettin.
  • The poop of DOOM 2011-12-01 04:41
    too lazy to log in:
    Peter:
    To be honest, one of them was a consulting company ... who usually let folks know they were fired as they walked out the door and were unable to return to their desk as their card was deactivated on the way to the door.


    To give the devil his due - speaking very close to literally here - there is a business justification for this. We like to assume that the people around us are reasonable and rational and sensible people who react to bad news with equanimity and dispassionate calm. And most people, to large extent, are this way.

    However, there are some people who, on hearing that they have the opportunity to seek opportunities elsewhere, decide to vent their frustrations in ways which are disruptive to the normal conduct of business.

    Therefore, many buisinesses have termination policies which are designed to ensure that a terminated employee has no access to any workplace assets before they are informed of their termination. It sounds like your former employer was exercising this sort of policy, although admittedly in a pretty impersonal sort of way.

    My previous boss did the exact opposite. When I handed in my notice, I had one or two weeks resignation. He had me sit it out til the very last minute, and wanted me to still do this and that of work. Didn't do shit-all (still had about 27 days of unpaid overtime he refused to acknowledge, so really didn't feel like busting my ass off til the very last moment). In return of being so kind as to let me stay there the entire time, I returned the favour of cleaning up my work laptop REALLY well and mis-teaching the new dev (who refused to do any programming anyways). Worst thing a company can do, is have an IT worker stay at his desk after being fired/handing in their resignation (except if they actually liked it there and handed in their notice due to a terminally ill family member they got to take care of or such)
  • Kjella 2011-12-01 06:54
    The poop of DOOM:
    My previous boss did the exact opposite. When I handed in my notice, I had one or two weeks resignation. He had me sit it out til the very last minute, and wanted me to still do this and that of work. Didn't do shit-all (still had about 27 days of unpaid overtime he refused to acknowledge, so really didn't feel like busting my ass off til the very last moment). In return of being so kind as to let me stay there the entire time, I returned the favour of cleaning up my work laptop REALLY well and mis-teaching the new dev (who refused to do any programming anyways). Worst thing a company can do, is have an IT worker stay at his desk after being fired/handing in their resignation (except if they actually liked it there and handed in their notice due to a terminally ill family member they got to take care of or such)


    Around here a three month resignation period is common and I'd say in 98% of the cases it goes just fine. Unrecognized overtime makes you a disgruntled worker. Most of the time we're just going our separate ways, there's an absurd amount of hostility in US work relationships. Your two weeks pay is a pay check, not a bonus payment. That you don't have to work it is a US thing, almost everywhere else they expect you to.
  • frits 2011-12-01 08:41
    toshir0:
    You mean an ettin.
    Thanks for the French link. It was very illuminating. Sorry, éclairant.
  • neminem 2011-12-01 11:19
    John:
    That's what you get when you put people with Asperger's Syndrome in charge ...

    Please show some sensitivity. I had a son with Asperger's Syndrome, and by that I actually mean I have it myself; and they, I mean I, would never think of doing anything this dumb.

    edit: and something about it not being a laughing matter or something.
  • MojoMonkeyfish 2011-12-01 12:43
    Awesome, just saw the Omega Directive episode of Voyager last night.

    I'll be honest, respect for the "Prime Directive"... or any of the directives, for that matter, seems to be directly proportional to the necessity of violating it.

    I like that guys hat! Blasts pre-warp society with temporal torpedo, so that it never existed... oops, guess the hat was destroyed too. My bad.

    There is a molecule that threatens the safety of the entire universe, and these asshats are playing around with it? Whoah whoah whoah. The directives exist for a reason!
  • Ol Bob 2011-12-01 12:52
    Jay:

    But my point is, it's incredibly naive to say, "If someone made a bad decision, his superiors would logically and inevitably overrule him." It just doesn't happen that way in real life.


    Exactly. The chance of a manager being overridden based on the concerns of a techie/developer/DBA/what-have-you is effectively nil/NULL/NOT-GONNA-HAPPEN (COBOL version). The purpose of underlings is two-fold: 1. They take over the responsibilities that the senior-level boss doesn't have the time or knowledge to deal with, and 2. They serve as speed-bumps for the buses of life. The further up the ladder one gets, the more subordinates one has to satisfy the requirements of points 1 and 2. Sucks, but is.
  • Franz Kafka 2011-12-01 15:16
    Matt Westwood:

    It's not Daniel that should have been fired, it was whoever authorised him to go on leave in the first place. It was Daniel's absence that directly caused Gerald to think he could fuck up the DB, therefore it was the fault of the person who thought they could get away without Daniel being in the building.


    If Gerald is so valuable that he isn't even allowed vacation because he has to mind the architect, shouldn't he be getting a hefty payrise?
  • Matt Westwood 2011-12-01 18:16
    Kjella:
    The poop of DOOM:
    My previous boss did the exact opposite. When I handed in my notice, I had one or two weeks resignation. He had me sit it out til the very last minute, and wanted me to still do this and that of work. Didn't do shit-all (still had about 27 days of unpaid overtime he refused to acknowledge, so really didn't feel like busting my ass off til the very last moment). In return of being so kind as to let me stay there the entire time, I returned the favour of cleaning up my work laptop REALLY well and mis-teaching the new dev (who refused to do any programming anyways). Worst thing a company can do, is have an IT worker stay at his desk after being fired/handing in their resignation (except if they actually liked it there and handed in their notice due to a terminally ill family member they got to take care of or such)


    Around here a three month resignation period is common and I'd say in 98% of the cases it goes just fine. Unrecognized overtime makes you a disgruntled worker. Most of the time we're just going our separate ways, there's an absurd amount of hostility in US work relationships. Your two weeks pay is a pay check, not a bonus payment. That you don't have to work it is a US thing, almost everywhere else they expect you to.


    Well, quite. If you *do* spend the next two weeks (or one month, or three months) sabotaging the assets of the company you work for, word would soon get around (not least to the law enforcement agencies), and your chances of further employment anywhere may be somewhat compromised. In the US it may be possible to lose yourself (it's big enough) but some of the European job markets are sufficiently small that a badly unprofessional reputation for tetchy tantrums would fuck your career forever.
  • Nate 2011-12-01 19:01
    This is an excellent story. I really don't care if it's true or not.
  • Obedience 2011-12-01 20:58
    QJo:
    Oh, get real! Most people in industry don't take the holidays they are offered as it is. Sixty hour weeks are commonplace. You are expected to work from home in the evenings and weekends, and going away on vacations is a thing of the very distant past. If <i>you</i> haven't got the commitment to do a job of work, there are plenty out there who will fill your lazy boots. <i>You</i> should be the one to be fired, and your pension revoked if you have one, for your shocking display of anti-industrial discontent. In fact, if I had my way you'd be arrested and punished for agitation.


    Go die in a fire. That may be the way the sweatshops work right now, but at a real corporation on the Global 500 we take our vacations, work our FORTY and go home, and don't clock in on the weekends or holidays. I would recommend brushing up your resume, quitting Small Business Land, and trying to work for one of the Big Boys where profits are booming right now, thank you very much. I take 2-3 vacations a year, I'm happy to do so, and the corp encourages me to do so. Your so-called "commitment" would be called "zealotry" here and would result in you not lasting too long on board the ship.
  • sparr 2011-12-01 22:52
    BentFranklin:
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?


    I'm sorry to hear you've never had a job that comes with vacations.
  • SQLDave 2011-12-02 00:49
    Someone:
    Trish:
    BentFranklin:
    Cool story, except what kind of architect goes off line for two weeks straight? Surely someone at least called his cell phone?



    A sensible one who wants to resign anyway... I know enough people who have two cellphone-numbers, and one of the numbers is only given to a close circle of family-and freinds ans STRICTLY non-work.
    Might be frowned upon, but works miracles for being able to actually relax on holidays ;)

    This is unusual? My personal cellphone number is never given out at work. If work wants me to be contactable, they can provide a cell and number. This cell is then left at work when I'm on holidays - after all, a holiday is an entitlement to have a break from work (and something that increasingly businesses are realizing are reasonably important for health).

    If the shit hits the fan while I'm away it's not my problem - they managed before I started here, and I'm sure they'll manage after I leave. Noone (ever) is indispensable. Some people leaving can appear to be a bigger problem than others, but within a few months normality (or some semblance of) resumes...


    Noone? What does Herman's Hermits have to do with anything?
  • The poop of DOOM 2011-12-02 04:19
    Matt Westwood:
    Kjella:
    The poop of DOOM:
    My previous boss did the exact opposite. When I handed in my notice, I had one or two weeks resignation. He had me sit it out til the very last minute, and wanted me to still do this and that of work. Didn't do shit-all (still had about 27 days of unpaid overtime he refused to acknowledge, so really didn't feel like busting my ass off til the very last moment). In return of being so kind as to let me stay there the entire time, I returned the favour of cleaning up my work laptop REALLY well and mis-teaching the new dev (who refused to do any programming anyways). Worst thing a company can do, is have an IT worker stay at his desk after being fired/handing in their resignation (except if they actually liked it there and handed in their notice due to a terminally ill family member they got to take care of or such)


    Around here a three month resignation period is common and I'd say in 98% of the cases it goes just fine. Unrecognized overtime makes you a disgruntled worker. Most of the time we're just going our separate ways, there's an absurd amount of hostility in US work relationships. Your two weeks pay is a pay check, not a bonus payment. That you don't have to work it is a US thing, almost everywhere else they expect you to.


    Well, quite. If you *do* spend the next two weeks (or one month, or three months) sabotaging the assets of the company you work for, word would soon get around (not least to the law enforcement agencies), and your chances of further employment anywhere may be somewhat compromised. In the US it may be possible to lose yourself (it's big enough) but some of the European job markets are sufficiently small that a badly unprofessional reputation for tetchy tantrums would fuck your career forever.

    There's a difference between sabotaging and, for example, overly dilligently cleaning your laptop up before returning it. If there's vital information on there that's not stored anywhere else, then whoopsaleedoodle! That's different than wiping out the entire shared drive, or messing up the Active Directory or such. Those latter two ARE sabotage.

    Also, if a disgruntled worker is either quitting or fired, will they do any actual work during their last days? In the best case, they'll be non-productive. In the worst case, they're counter-productive by making lots of noise, going around the office talking to everybody so they can't get any work done, etc. (Didn't do that when I left, though). What's the worst that could happen to them? They'd get fired? Oh, wait... they're already leaving. And it can't be seen as sabotage, so...

    Aside from keeping others off of their work, techies can also make life alot more difficult if they want to, without it actually being sabotage. Especially the good ones can do that. That's why quite some companies see it as a good idea to let them stay home the last week or so.
  • QJo 2011-12-02 05:48
    Obedience:
    QJo:
    Oh, get real! Most people in industry don't take the holidays they are offered as it is. Sixty hour weeks are commonplace. You are expected to work from home in the evenings and weekends, and going away on vacations is a thing of the very distant past. If <i>you</i> haven't got the commitment to do a job of work, there are plenty out there who will fill your lazy boots. <i>You</i> should be the one to be fired, and your pension revoked if you have one, for your shocking display of anti-industrial discontent. In fact, if I had my way you'd be arrested and punished for agitation.


    Go die in a fire. That may be the way the sweatshops work right now, but at a real corporation on the Global 500 we take our vacations, work our FORTY and go home, and don't clock in on the weekends or holidays. I would recommend brushing up your resume, quitting Small Business Land, and trying to work for one of the Big Boys where profits are booming right now, thank you very much. I take 2-3 vacations a year, I'm happy to do so, and the corp encourages me to do so. Your so-called "commitment" would be called "zealotry" here and would result in you not lasting too long on board the ship.


    Reply a) Please excuse the bitter irony in which the above was written. I was in that position until about a year ago, and let me tell you, this was a famous multinational company. Their commitment to their employees looks very good on paper, and they would offer all sorts of incentives: free toys for the children, monthly rewards (in the form of ribbons and balloons) for prized employees (voted for by their colleagues), and extensive jollies for successful sales personnel and higher management. I went 18 months without a holiday, worked most evenings and weekends for no extra pay, and when I never even got the recognition I believed I was due, I decided that either I was as ineffective in my job as they were hinting but were too cowardly to admit, or I was being ripped off and they didn't deserve me. So, indeed, as soon as I had a new place to go to, I quit.

    Reply b) YHBT. YHL. HAND.
  • method1 2011-12-02 06:20
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    One in the eye for those who said it was obviously made up etc.
    I'd love to have a complete set of Directives. They could be released in book form as a database horror story.
  • QJo 2011-12-02 08:49
    method1:
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    One in the eye for those who said it was obviously made up etc.
    I'd love to have a complete set of Directives. They could be released in book form as a database horror story.


    You'd probably find that the pre-Gerald directives were boring sensible. "In order to improve database security, no SQL script is to be allowed to run with scissors" sort of thing.
  • a highly-placed source 2011-12-02 09:03
    The poop of DOOM:

    Yup, there's even an entire CMS which stores everything as XML and doesn't use a real database. Gentlemen, I present you: http://www.sitenote.net


    It uses a real s__t database:

    'SiteNOTE is using an Access database (mdb file) to store statistics and data submitted through forms.'
  • Simply Zunesis 2011-12-02 10:32
    method1:
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    One in the eye for those who said it was obviously made up etc.
    I'd love to have a complete set of Directives. They could be released in book form as a database horror story.
    I love getting it in their eyes.
  • TheKnownSelf 2011-12-02 11:19
    There is one very well known and every expensive piece of software that still doesn't use constraints in the DB, preferring the apps and app servers to control it. I think that is so the vendor can hire out consultants ( at $3000/day ) to maintain and fix the DB structures when some muppet decides to perform a manual update without going via the app!
  • lucidfox 2011-12-03 11:41
    I would disagree than an ORM eliminates the need for database administration.

    ORMs aren't a panacea. Inevitably, you fall to complex query logic that you design keeping in mind the limitations of generated SQL. I often found myself writing an SQL query for the exact configuration we had and essentially backporting it to JPQL (so it could be processed and turned into SQL again).

    You still need to optimize queries, and thus, have someone with knowledge about the DBMS you are using.

    Furthermore, at least for a production database you would want to disable automatic DDL execution, because it's very dangerous - and a surest way to lose your data.
  • Anonymous coward 2011-12-03 13:45
    *high five Gerald* Totally the kind of shit i do when i am about to leave the boat, just don't you guys tell anyone.
  • Richard 2011-12-06 08:41
    Could be far worse. I once worked with a designer/spec person who insisted that database primary keys not be unique. It got to the point where I raised this in meetings as a problem I was just told to shut up - I was being silly again. We must set XYZ as the primary key on the database, and the system must accept duplicate values.

    The person no longer works with us. I think he became a data warehouse architect elsewhere.
  • Richard 2011-12-06 08:52
    A nice thing I remember about Oracle is that you could configure when the constraints run - so you could temporarily allow a bad situation as long as you put it right before you committed. This made programming a lot easier.
  • Cbuttius 2011-12-06 10:36
    Yeah, common case of good developer becomes bad manager.

    They might have been a bit more lenient with Gerald and simply restored him to his old position where he had excelled for so many years, but I guess he deserved what he got for abuse of power.


  • lfernigrini 2011-12-06 16:02
    Yes, you can set "deferrable" contraints, and when you defer them, they are checked at commit time. Basically, you can change the value of the PK of a table (this is not an usual activity on DB, but if you are using natural keys instead of surrogate ones it mey be needed from time to time), then update all of their child records, and at commit time this would be OK.
  • Andreas 2011-12-09 10:32
    Directive 595, Part 5:

    "Normalized relational tables give lack of flexibility,
    more costly evolution, inhibit the use of the database acting as a service to applications and make it an inhibitor to evolution."

    As such, please change all data storage to use key/value pairs and NoSQL.
  • Laurent F. 2011-12-11 08:34
    Directive 595 Part 4

    NoSQL! we'll have the next 20 years to realize relational mathematical fondation and ACID transaction meant something
  • TheThirdRail 2011-12-11 19:30
    Almost every question on Tom Kyte's website resulted from someone's inane Directive.

    http://thedailywtf.com/Articles/Tom_Kyte_on_The_Ultimate_Extensibility.aspx

    Obviously, there are way more than 666 Directives!
  • tgape 2012-02-21 21:44
    QJo:
    method1:
    Thomas Kyte:
    Funny - here is evidence that this is pretty much a verbatim true story:

    http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2143974700346554115#2970874300346318049

    One in the eye for those who said it was obviously made up etc.
    I'd love to have a complete set of Directives. They could be released in book form as a database horror story.


    You'd probably find that the pre-Gerald directives were boring sensible. "In order to improve database security, no SQL script is to be allowed to run with scissors" sort of thing.


    If there were a significant number of pre-Gerald directives, I'd think there would've been one in there that would've been a great response to directive 595 - the prior directive that required all of that stuff. After all, running without not null constraints, sequences, and keys is running with scissors. Either directive 1 is bunk, or directive 595 is, since the prior directive indicates all discussion had been done a long time prior.
  • Mullet 2013-01-11 04:00
    Seems like Gerald didn't really understand SQL, and was on a crusade to essentially turn the database into a giant CSV file.