• Murder Isn't Always Funny, Asshole (unregistered) in reply to DrPepper
    DrPepper:
    No one seems to have brought up the fact that by calling this guy, the CEO learned who deleted the data. If he has a paper record of the date the employee was fired; and logs of the computer access the employee had used after being fired to bollix up the data, then

    -- the employee committed a crime. Computer crime in this country could even be considered a federal offense, or perhaps even terrorism; the employee could be going away for a while.

    -- the employee could be sued for damages. Materially harming the business could get a lot of $ for the owner.

    This was certainly a worthwhile call for the CEO to make; and probably will be pretty lucrative for the consultant as well (how much would YOU charge for being a subject matter expert in a civil and/or criminal lawsuit?)

    I'm no lawyer, but I'm pretty sure a subpoena doesn't come with a direct deposit form, dude.
  • anonymous (unregistered)

    It just baffles me how much of a clueless idiot Peter is (OK, we know that already, but he's even more idiot).

    He was having an affair, then shit hits the fan when his wife finds out, and the lover is fired... and then he's all surprised a couple days later, thinking of nasty hackers attacking his online shop instead of plain old revenge? Really, really clueless!

  • Skandranon (unregistered) in reply to Murder Isn't Always Funny, Asshole

    You don't subpoena expert witnesses. He can't be subpoenaed as an actual witness, as he was not there. He can, however, testify as to his analysis of the system and how that data shows that "Ms Killer Legs" is responsible. But this would be something he could charge the company for.

  • C-Derb (unregistered) in reply to anonymous
    anonymous:
    It just baffles me how much of a clueless idiot Peter is (OK, we know that already, but he's even more idiot).

    He was having an affair, then shit hits the fan when his wife finds out, and the lover is fired... and then he's all surprised a couple days later, thinking of nasty hackers attacking his online shop instead of plain old revenge? Really, really clueless!

    +1 Must take him hours to finish a connect-the-dots drawing.

  • C-Derb (unregistered) in reply to Skandranon
    Skandranon:
    You don't subpoena expert witnesses. He can't be subpoenaed as an actual witness, as he was not there. He can, however, testify as to his analysis of the system and how that data shows that "Ms Killer Legs" is responsible. But this would be something he could charge the company for.
    I think the previous commenter is correct about the subpoena. Sergio was involved in the discovery of an alleged crime, therefore I think he'd probably be subpoenaed to testify as a witness, not an expert witness. Usually expert witnesses are given access to evidence after its discovery to aid in the analysis and provide opinion about what the evidence reveals. Wouldn't the defense try to cast reasonable doubt by accusing Sergio of altering the data to frame Michelle? You don't typically treat an expert witness that way.
  • Deleted flag is a WTF (unregistered) in reply to chubertdev

    A major database vendor.

    Go and learn about whar a B-Tree index is and how it works and when it's efficient and when it isn't and then come back and pretend to be Mister know-it-all-bigmouth.

  • (cs) in reply to Deleted flag is a WTF
    Deleted flag is a WTF:
    A major database vendor.

    Go and learn about whar a B-Tree index is and how it works and when it's efficient and when it isn't and then come back and pretend to be Mister know-it-all-bigmouth.

    ahahahahhahahahahhahahhahaha

    riiiiiiiiiiiiiiiiiiiiight

  • (cs)

    Anyways, I think it's funny that people are arguing about soft delete versus archive as if they're not mutually exclusive.

  • (cs) in reply to notchulance
    Twist: CFO/wife did it, getting Michelle's password from the handy GUI, password123. Better check the VPN logs.

    Twist^2: The CFO/wife and Michelle are BOTH the president's daughters!

  • J (unregistered)

    This story could have used less sexism.

  • bambam (unregistered)

    Three words for ya: hard-disk crash

    No amount of delete flags, archive tables, transaction logs are going to help when keeping the DB/logs on a single disk without RAID.

  • Barf4Eva (unregistered)

    "The Logs. Back when Sergio was working for Communibox, he was still in his "let's log every single trivial action" stage of his career."

    Why are you selling this off as a noobish thing to do? This ended up saving the day and provided us with a great story. Plenty of RDBMSes out there now offer logging of every "trivial" thing straight outta the box.

    I gotta say, I disagree with the sentiments expressed that consider logging all actions as a silly approach or as something a novice would do.

    A novice wouldn't log a single thing. That's what a novice would do...

  • Norman Diamond (unregistered) in reply to TheCPUWizard
    TheCPUWizard:
    Many years ago I supported a Medical Office System (which I wrote). There was one Doctor who was great in many respects, but would call (beeper in those days) for the slighted thing "which report has xxx field sorted?".

    At first I simply provided answers. After some time we had a "heart to heart" (although he was an ENT),

    Entomologist?

    Wasn't that your job?

  • Bill C. (unregistered) in reply to J
    J:
    This story could have used less sexism.
    That's for sure. I did not have sex with that person of irrelevant gender.
  • (cs) in reply to ObiWayneKenobi
    ObiWayneKenobi:
    The only thing actually missing is the line that Peter went out of business and ended up bankrupt living on the street begging for money because that's the fate that these scumbags deserve.
    Don't forget http://thedailywtf.com/Articles/Death-by-Delete.aspx as well...
  • Kasper (unregistered) in reply to peppermoe
    peppermoe:
    Hard disk ran out of space and broke the database.
    Please let us know which database that was, so we can avoid it.
  • golddog (unregistered) in reply to Aralicia
    Aralicia:
    The deleted flag is quicker to implements and easier to maintain. Using a deleted table permit faster table lookup, and as such is usually better when working with large amounts of entries, but it is pretty much negligible if we don't work with large entries.

    As such, because it is quicker to implement, the deleted flag is usually prefered for small and medium-size projects.

    This. In addition to table sizing/query time problems, the other problem is that some developer has to remember to add "and isDeleted = 0" on every production query.

    his will inevitably get forgotten at some point, and deleted records will show up in some report/page/whatever. Easy to fix, but frustrating.

    Consider the likelihood of those types of problems when thinking about your solution, and go with what you think will work best for you. Don't simply say 'I need a deleted record flag' without considering consequences.

  • (cs) in reply to golddog
    golddog:
    This. In addition to table sizing/query time problems, the other problem is that some developer has to remember to add "and isDeleted = 0" on every production query.

    his will inevitably get forgotten at some point, and deleted records will show up in some report/page/whatever. Easy to fix, but frustrating.

    Quick quiz for you: what is a VIEW, how is it used, and why should you know this before saying what you just said?

  • nulla (unregistered) in reply to dkf
    dkf:
    golddog:
    This. In addition to table sizing/query time problems, the other problem is that some developer has to remember to add "and isDeleted = 0" on every production query.

    his will inevitably get forgotten at some point, and deleted records will show up in some report/page/whatever. Easy to fix, but frustrating.

    Quick quiz for you: what is a VIEW, how is it used, and why should you know this before saying what you just said?
    Even better, I love how he assumes something like that is ROUTINELY going to make it all the way to production. As if there's no deleted data in the Dev or Test environments so that someone -- ANYONE -- either a developer or qa analyst (or even a PHB?!), would easily catch it ahead of time?

  • decet (unregistered) in reply to nulla
    nulla:
    Even better, I love how he assumes something like that is ROUTINELY going to make it all the way to production. As if there's no deleted data in the Dev or Test environments so that someone -- ANYONE -- either a developer or qa analyst (or even a PHB?!), would easily catch it ahead of time?
    Let's see... code in a horrible redundant error-prone style, and let the testers report a constant stream of inevitable bugs, or set things up so that they just work without extra effort? So hard to choose. :-(
  • (cs) in reply to Deleted flag is a WTF
    Deleted flag is a WTF:
    A major database vendor.

    Go and learn about whar a B-Tree index is and how it works and when it's efficient and when it isn't and then come back and pretend to be Mister know-it-all-bigmouth.

    You are the guy claiming as all your queries must now do a full table scan for "AND deleted = 'N'".

    You have no idea what a full table scan is nor how a modern query optimizer works!

    (And you seem to dumb to get the idea that indexes can contain more than one column!)

    You have no place anywhere near a database!

  • (cs) in reply to no laughing matter
    no laughing matter:
    Deleted flag is a WTF:
    A major database vendor.

    Go and learn about whar a B-Tree index is and how it works and when it's efficient and when it isn't and then come back and pretend to be Mister know-it-all-bigmouth.

    You are the guy claiming as all your queries must now do a full table scan for "AND deleted = 'N'".

    You have no idea what a full table scan is nor how a modern query optimizer works!

    (And you seem to dumb to get the idea that indexes can contain more than one column!)

    You have no place anywhere near a database!

    Yeah, I got the feeling that "work for a major database company" == "own an Oracle book" for this dude.

  • (cs) in reply to decet
    decet:
    nulla:
    Even better, I love how he assumes something like that is ROUTINELY going to make it all the way to production. As if there's no deleted data in the Dev or Test environments so that someone -- ANYONE -- either a developer or qa analyst (or even a PHB?!), would easily catch it ahead of time?
    Let's see... code in a horrible redundant error-prone style, and let the testers report a constant stream of inevitable bugs, or set things up so that they just work without extra effort? So hard to choose. :-(

    If devs and QA repeatedly screw that up, they should be shown the door. How hard is it to analyze a table, check the columns, see that there's a "Deleted" bit column, and check that in your query? If you don't look for that in the first place, you have no right in authoring queries for a production system!

  • vulputate (unregistered) in reply to chubertdev
    chubertdev:
    How hard is it to analyze a table, check the columns, see that there's a "Deleted" bit column, and check that in your query?
    Probably not very hard, but it's harder than not having to do it at all. We use high-level languages to avoid constantly having to worry about repetitive details like that.

    Note that I'm not objecting to the earlier suggestion to use a view, which would solve this quite nicely. I was suggesting that (where possible, which is certainly not all the time) avoiding a whole class of bugs by design is preferable to constantly introducing said bugs and relying on testers to catch them.

  • (cs) in reply to vulputate
    vulputate:
    chubertdev:
    How hard is it to analyze a table, check the columns, see that there's a "Deleted" bit column, and check that in your query?
    Probably not very hard, but it's harder than not having to do it at all. We use high-level languages to avoid constantly having to worry about repetitive details like that.

    Note that I'm not objecting to the earlier suggestion to use a view, which would solve this quite nicely. I was suggesting that (where possible, which is certainly not all the time) avoiding a whole class of bugs by design is preferable to constantly introducing said bugs and relying on testers to catch them.

    You say that as if it's a tough thing to figure out. It literally takes two seconds to figure out what's going on. If your company can't handle Deleted flags, then may God have mercy on whoever has to maintain it.

  • Code Commando (unregistered)

    Oh dear, I wonder what happened to all the related order data, when the physical product records were dropped!

  • The Crunger (unregistered)

    TRWTF is Michelle.

    If you're going to sabotage your employer, in heaven's name, sabotage him!

    If he withdraws you wages that supply you your bread and butter, make sure he never realizes how you have sabotaged him. Speak well of him as you quietly delete a handful of his most profitable products, think well of him as you reduce the price of others with promotions that negate his profit, stand by him as you jack up the price on other money-makers, compelling customers to leave the institution he represents.

    I think if I got screwed by a man, and his bitch wife, I would not work against him a part of the time, and the rest of the time work for him. I would give an undivided effort towards his demise, but only in subtle ways a visionary could never recognize, forcing him to ever find new products just to stay afloat.

Leave a comment on “A Woman Scorned”

Log In or post as a guest

Replying to comment #:

« Return to Article