• DaveAronson (unregistered) in reply to Jensaa
    Jensaa:
    Depending on the size of the counters and the bandwidth of their connection out of the house, the counters will normally overflow way to often.
    So poll more often, and if it shows signs of getting anywhere near HALF-overflow within the current polling period, shorten the period again. Simple.
  • DaveAronson (unregistered) in reply to Ash
    Ash:
    Never quit 'til you have another job lined up.
    Depends how bad the job is. I had one where the boss was such a lying abusive jerk, and the inherited code so WTF-ish, that I gave my 30 days notice (as required by the employment agreement) before having another job lined up. The pain of tightening my belt for the couple of weeks before I started elsewhere, was much nicer than the pain of that job.
  • Pete (unregistered) in reply to IQpierce
    IQpierce:
    You're getting all self-righteous about Jay faking these numbers, and saying that he shouldn't have done that and should have let management know.

    Okay, he lets management know that they don't have the data to charge the users the agreed-upon rate. What is management going to do (AFTER they fire Jay)?

    They're going to charge the users an amount based on an average of that user's typical historical usage.

    First up, I can't imagine that someone would be fired just because a legacy system they didn't impliment, on ancient hardware, fell over for a day.

    Sh-t happens. Everyone knows that. He should have reported it in email to his manager, along with recommendations on how it could be avoided in future (replaced the hardware with something more modern, rewriting of the app, whatever). Doing so would have established a paper trail and handballed responsibility up the chain.

    Yep, his managers might have decided to average out previous data or have negotiated with the customer or whatever. But they get paid to exercise that responsibility and fundamentally, that's what they're there for.

    Jay's problem is that he acted dishonestly. An error's forgivable, especially when reported for further action to resolve it. Committing fraud for personal gain (keeping his employment secure) is a serious no-no and likely both a sacking and criminal offence.

  • jeian (unregistered)

    Meh. This is the kind of story that would be really funny as a Dilbert strip, but isn't quite as funny when it actually happens in the real world.

  • Meef (unregistered) in reply to Pete

    The only reason I can think of for Jay not telling his management chain would be that he was directly responsible; during his "mining" he himself deleted the log by accident, or something similar.

    I'm a little bit shocked he didn't bite the bullet the first time around.

  • Diep-Vriezer (unregistered) in reply to Josh
    Josh:
    Mildly off-topic, but has anyone else looked at the address bar?

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

    or...

    http://thedailywtf.com/Comments/The_Fudge_Factory.aspx

    Can you do fancy routing in asp.NET, or does Alex really have separate pages for each story?

    You actually thought he would make all the .aspx pages him self?

  • (cs) in reply to Shirley U. Geste
    Shirley U. Geste:
    In my first computer-related job, we routinely fudged data that was lost, garbled, or that we couldn't determine by other means. We kept records of what we did, unlike the Fudge Fellow, but I don't think anyone ever looked at them.

    The main difference between my situation and the Fudge Fellow's was that I wasn't working for web hosting company. I worked for a bank.

    -Shirley

    Shirley, you can't be serious!

  • david barrett (unregistered) in reply to Josh

    Can you do fancy routing in asp.NET, or does Alex really have separate pages for each story?

    Its quite easy to implement url rewriting in .net...

  • (cs) in reply to edifyyo
    edifyyo:
    "Jay" is unethical and spineless, and if he was one of my employees I would fire him on the spot for a) lying to me and b) committing fraud and c) gross negligence. This is the kind of behavior that leads to the kind of lawsuits that bankrupt companies overnight.

    I'm shocked by the happy-go-lucky, "wink-wink-nudge-nudge" tone of this article - it seems that Alex thinks Jay's behavior is amusing, expected, and acceptable. I hope that Alex would feel differently if this was one of HIS employees, and I certainly hope that Alex's customers don't need to expect this type of unethical attitude from him and his company.

    Addendum (2007-01-09 09:00): To be clear, I don't THINK that this is indicative of Alex or his company - I don't know him and haven't worked with them before... but if I was a potential client reading this article, I would be taken aback by its tone and have to seriously consider whether or not this is what I could expect. I strongly suggest that Alex should either re-write the article or, more reasonably, DELETE it.

    It wouldn't happen in his company ... because he doesn't have a trigger-happy management to begin with!!! Basically, this is a story about a WTF within a WTF ... showing that bad management can lead to this.

    Jay was not even "in charge" of this. He wasn't even responsible for the server, no one actually told him to "check it out". Though the curse of "you touch it, now you maintain it" might apply...

    I've seen dudes being made to do far worse things at their jobs (the kind that would not only land you in jail, but in nationwide news scandals), just because their boss told them to do it or join the "Unemployment Club".

  • Kooky Koder (unregistered) in reply to cryptyk

    Mama always told me not to lie and cheat. Mama was wrong. I have found from experience that the liars and cheaters always get ahead, and the honest get fired. Mostly true for sales people.

  • (cs) in reply to Kooky Koder

    The real WTF is that he didn't use fractal interpolation to fudge the data. Subtracting 6-11% every day??? WHAT!? Does that mean the third monday he fudged was 35% below the previous quarter's monday average?

  • krisztian pinter (unregistered) in reply to hippie beatnik
    hippie beatnik:
    The world does not always exist exclusively in zeroes and ones.

    what else? file not found?

  • JoC (unregistered)

    I earned the everlasting ire of a department head at my last job for reporting to a superior the facts that a) we had been over paying something by ever increasing amounts, and b) I had been asked to slowly fudge it into being fixed rather than fix it all at once so as to not cause a major upheaval when those payments dropped to the correct amounts.

    If I had it to do over, I think life would have been much easier if I would have just gone with the fudging.

    Captcha: tango

  • (cs) in reply to danixdefcon5
    danixdefcon5:
    edifyyo:
    "Jay" is unethical and spineless, and if he was one of my employees I would fire him on the spot for a) lying to me and b) committing fraud and c) gross negligence. This is the kind of behavior that leads to the kind of lawsuits that bankrupt companies overnight.

    I'm shocked by the happy-go-lucky, "wink-wink-nudge-nudge" tone of this article - it seems that Alex thinks Jay's behavior is amusing, expected, and acceptable. I hope that Alex would feel differently if this was one of HIS employees, and I certainly hope that Alex's customers don't need to expect this type of unethical attitude from him and his company.

    Addendum (2007-01-09 09:00): To be clear, I don't THINK that this is indicative of Alex or his company - I don't know him and haven't worked with them before... but if I was a potential client reading this article, I would be taken aback by its tone and have to seriously consider whether or not this is what I could expect. I strongly suggest that Alex should either re-write the article or, more reasonably, DELETE it.

    It wouldn't happen in his company ... because he doesn't have a trigger-happy management to begin with!!! Basically, this is a story about a WTF within a WTF ... showing that bad management can lead to this.

    As far as I can tell, Alex is the President, management, staff, and waterboy of his company, like most lone consultants.

    But anyone can be a responsibility-evading schmuck, it doesn't take WTF management (or any management) to do that. (Not to imply Alex ever would be.)

  • pointing out the obvious (unregistered) in reply to Doesn't like cheaters

    " Nowhere does the article say he might have been fired for reporting that the server was at risk "

    I don't think that it needs to be explicitly written. You can understand that he is nervous from the tone of the writing. For instance, what if management were to ask him how he knows that the system needs to be rewritten? Just cause something is old, does not mean it needs to be rewritten. But if something fails, then maybe it does. Now, mgmt will say, hmmm, so how long did this fail for? I can understand his nervousness.

  • The Strange Remains (unregistered)

    You can imagine this happening to varying degrees of severity every minute in some company somewhere. Three things I see.

    1. What Jay did was dishonest and should probably be fired (put on notice or probation or whatever is done at his company at the very least).

    2. There is obviously a cultural flaw in the company where someone cannot report a problem or error without fear of reprisal. I briefly worked in such company where we would meet everyday at 6:00pm to discuss issues and work through solutions that came up with operating the website but it usually turned into a CEO rant on how stupid we were. This naturally discouraged any useful open and frank conversation.

    3. Jay's manager should also be severely reprimanded. Delegation with out any kind of employee monitoring to whether something is getting done correctly or not is just plain abdication of responsibility. Jay's boss should have a process in place where the bandwith monitoring is verified every day.

  • Drew (unregistered)

    This happens in Spain all the time. The electric meters are inside the house, so you have to let the man in to read it. So some people pretend to not be home when he arrives. Then, since he doesn't have the real number, they guess at the usage. This is what you get billed

  • Wolfger (unregistered) in reply to Barfoo

    Jay was a Unix admin who was too lazy to write a relatively simple shell script to ensure (or at least warn about the lack of) system health on a single box? WTF!

  • NancyBoy (unregistered) in reply to david barrett
    david barrett:
    Can you do fancy routing in asp.NET, or does Alex really have separate pages for each story?

    Its quite easy to implement url rewriting in .net...

    Or use ISAPI_Rewrite, I'm shocked no one has mentioned this...or did I miss it?

  • [twisti] (unregistered)

    Assigning blame in this store is much more easy than some of you make it sound. There are three distinct possibilities of responsibility:

    a) Jay never knew about this server, as he wasn't told about it and he wasn't responsible for 'everything'. In that case, there is absolutely no reason why he should fear termination in even the most trigger-happy surroundings. A simple "The data is gone because management failed to make the server someones responsibility after the initial tech guy quit" would have all he had to say.

    b) Jay never knew about this server, as he wasn't told about it but he should have known because everything in his department was his responsibility. If that was the case, it was Jays fault from the get-go, because he neglected to inquire what that little machine in the corner was doing. If you are responsible for "all dem servas", then thats what you are responsible for. Not feeling like finding out what half of them did is no excuse.

    c) Jay was told about the server but forgot or was simply too lazy to deal with it. This, I would say, is by far the most likely possibility, as Jay already demonstrated almost criminal neglect when he found the error, did not fix it, planned on making sure it didn't happen again - and then DIDN'T. He knew what was going on, he knew what to do each day to prevent it, and he didn't. And don't tell me you forget stuff this serious for a month. He was simply too lazy.

    In all cases, the fault can clearly be assigned to someone, and since Jay didn't report it right away, it was clearly not option a).

    As for Alex, I'm at a loss. Is he not legally required to report a crime of this magnitude ? Is not having this post up itself practically an outcry to get sued by some DA ?

  • anonandon (unregistered) in reply to [twisti]

    At one job I got into trouble over and over from "accidentally" adding my boss's boss to the CC list when there was really bad news. My boss would yell at me and I'd appologize and claim it was a typo and promise never to do it again.

    It made life hard though. Sometimes my boss would get a reprimand and sometimes he wouldn't. Either way, it made life hard.

    Sometimes I did fudge things, though. So I can't fault Jay. It sounds like everyone got a discount. None of his team got into trouble. Hopefully he destroyed all the evidence and came up with good cover stories for every eventuality.

  • Dan Neely (unregistered) in reply to Drew
    Drew:
    This happens in Spain all the time. The electric meters are inside the house, so you have to let the man in to read it. So some people pretend to not be home when he arrives. Then, since he doesn't have the real number, they guess at the usage. This is what you get billed

    If your meters are like the ones in the US that would only work until they managed to catch you at home and got the real number at which point you'd be billed/credited for the difference. My meter's outside but the power company only reads it roughly 2 out of every three months. Really annoying since I'm using roughly double the power of the previous tennant and even after 18mo the estimates are still esentially based on her usage and the lowball numbers mess with my monthly budgets.

  • danalysis (unregistered)

    The right way to fake this would be to use an autoregressive linear predictive error filter. This is a variety of filter often used for 'noise reduction': to reduce or cancel out noise, you have to be able to predict a seemingly random process from its history. Basically you train the error coefficients of the filter from the data you have and use it to estimate what values the process will produce. But from the sounds of it, nobody was doing any serious data analysis on the bandwidth stats, so nobody would have noticed if you had just made a random trend yourself.

  • Noone (unregistered) in reply to Doesn't like cheaters
    Doesn't like cheaters:

    He makes all us techies look bad.

    Oh we wouldnt want that now would we :P

  • Flecky (unregistered) in reply to Josh

    Yes.

    ASP.NET (only in 2.0 - though I believe) allows something called "URL Mapping". Often also refered to as "Friendly URL's"

    Try a Google search for "asp.net url mapping", you'll get lots of relevant results.

  • Loren Pechtel (unregistered)

    I'm one of the few who thinks Jay didn't really have a choice here.

    Saying anything about the true situation = fired, no change in the result unless he makes such a big splash that the whole company is destroyed by it. (And how is that going to look on your resume??)

    Furthermore, management either wanted him to fudge it or didn't care about the true situation.

    Thus, fudge it and start job hunting.

  • (cs) in reply to Loren Pechtel
    Loren Pechtel:
    I'm one of the few who thinks Jay didn't really have a choice here.

    "didn't have a choice" has probably been tied to more acts of evil than any other phrase in history. It is how weak people justify doing things they know is wrong. There are few if any situations where people can't make a choice. It is what makes us human - the ability to balance our needs against other forces.

    Saying anything about the true situation = fired, no change in the result unless he makes such a big splash that the whole company is destroyed by it. (And how is that going to look on your resume??)

    Your own need for money is so great that you are justified in potentially over-charging your companies customers to ensure it?

    Let's roleplay:

    Your December electricity bill is very high. You are having some trouble making ends meet, so you are very frugal in January, cutting your use to 1/4 of December. However when your bill comes for January it's cost and usage is very near the December amounts - clearly an error. Do you call to complain? Would you demand a refund even if it meant someones deception being uncovered and their firing?

    .

  • seany (unregistered)

    Surprising to see such an apparently large company with no failover plan what-so-ever. Shocking!

  • Stewart Dean (unregistered)

    Jeez, guys, get a grip....Jay should be promoted to CFO...they do this all year long, making up numbers and, maybe, screwing the customers...but that what they're there for...paying the bills. Jay should have at least gotten a top-end Porsche out of this and a 7 figure Beverly Hills home....with maybe a Rodeo Drive charge card for the understanding new bride......

  • Icelander (unregistered) in reply to cryptyk

    Judging by his description of the management, they wouldn't have taken responsibility for this. They would have fired Jay, possibly sued him, and left the system for someone else to find.

    The only way your "duty of tech employees" works is if the management is willing to accept criticism AND take responsibility.

  • drobnox (unregistered) in reply to Roger Leong
    Roger Leong:
    Yes, you can indeed do fancy routing with asp.NET :) A little bit of regex and Context.RewritePath will do the job

    I'm old fashioned. I'd just have a script listening at the top-level of the site, that would dispatch to functions based on the values of the '/'-separated components of the PATH_INFO environment variable. Simple as a pimple.

    Catcha: foxtrot

    The best of the old Peter Gabriel era Genesis albums...showing my age a bit, huh?

  • Loren Pechtel (unregistered) in reply to Icelander
    Icelander:
    Judging by his description of the management, they wouldn't have taken responsibility for this. They would have fired Jay, possibly sued him, and left the system for someone else to find.

    The only way your "duty of tech employees" works is if the management is willing to accept criticism AND take responsibility.

    I don't see how they could have sued him over it but they certainly would have fired him and then done something like what he did anyway.

    My take on situations such as this is that I only think one has responsibility for a situation where one can reasonably change the outcome. I don't see how Jay could have with destroying his future job potential--and he shouldn't be required to take a hit like that in response to a problem committed by others.

  • David (unregistered) in reply to cryptyk
    cryptyk:
    ScrumMasters will recognize this as a classic Squirrel Burger story.
    What's a Squirrel Burger story?
  • TheOtherJosh (unregistered)

    I would tell the boss about the problem the first day it happened, and propose to implement a better solution that operates on one of the main parts of the infrastructure (code for a linux router would be the lowest-level superleet way to go). This way, if that went down, it didn't matter becuase the whole system would be down anyway.

    captcha: random

  • (cs) in reply to Josh
    Josh:
    Can you do fancy routing in asp.NET, or does Alex really have separate pages for each story?
    I've no idea how Alex does this, but rewriting in ASP.NET is easy. I would recommend you a look at HttpContext.RewritePath().
  • annoynimous (unregistered) in reply to Boner
    Boner:
    John:
    Please tell me there is a better way (for ModRewrite) thAn this 404 page hack I found here:

    http://www.asp101.com/articles/wayne/extendingnamesaspx/default.asp

    the better way is to use Apache

    The better way is to use nginx - the server designed to raise multi-user Apache/IIS perfomance by lowering their requirements in RAM :-)

  • Nico (unregistered) in reply to annoynimous

    Ahhh, i know how he must have felt like. Before the days of flatrates i worked for an ISP too, and we had a realy crappy traffic counter programm, that crashed everytime the temp file exceeded 2GB.

    We had a nice script that rolled the file to another location where it was analysed, and another temp file was created.

    I was watching the computer every day, and of cause, nothing happened, until i was away for 3 or 4 days. Nearly EVERY TIME i was away, that fucking script failed. And i had to "recreate" the logs.

    I realy feel with this guy.

  • FuBar Revisited (unregistered)

    Most of the comments regarding the unethical nature of this are complete idiocy. This is a management WTF if anything. They don't want to vigilantly evaluate critical systems and ask questions, with putting a lowly Unix admin in charge of a mission critical application, ignoring it for months, and then having the ego to fire people for problems that they themselves don't have the follow-through to handle. I've worked in an environment like this.

    If you want to fire someone for this error, first fire the CIO for not covering a mission critical system, then the sysadmin manager for not having an inventory of critical systems, backups, and redundant coverage for them as well as making them visible all the way up the chain. Then have the successor instruct the sysadmin on better escalation procedures while he's correcting the issue.

    If I was this guy, I probably would have done the exact same thing (except probably not let it go that long). I would have falsified the reports, then when I got back, attempted to fix them while I circulated my resume to work at a place that doesn't suck quite so badly. I'd discuss my reason for leaving as seeking an environment where things where a little more professionally organized, and that the lack of redundancy and coverage in previous position made me nervous. With any luck I'd still get good references out of previous management for my new job as they would not yet have discovered the falsifications.

  • FuBar Revisited (unregistered)

    URL rewriting in .NET is easy. There's built-in functionality in .NET 2.0, and previously you just use a HttpHandler.

  • tinkerghost (unregistered) in reply to Pete

    <quote user=Pete>First up, I can't imagine that someone would be fired just because a legacy system they didn't impliment, on ancient hardware, fell over for a day.</quote> Ohh, I wish I lived in your world. I once had the joy of working for a company with dotted lines in the heirchy. A project - A - was requested & approved by the dotted VP. After 3 months of work on A, the project was cancelled by the VP of my dept - with repeated emails back & forth reguarding the ramifications. When the dotted VP found out his project was not ready at due date, he went to the CEO. When the CEO came to the project manager with demands as to why it wasn't ready, out came the E-mails from the VP cancelling the project. When the smoke cleared, the project manager was gone and the VP's both had more dotted lines to other depts.

  • Doug (unregistered)

    Wow... Jay is WAY out on a limb here.

    One thing I haven't seen anyone consider so far is that Jay probably WILL be fired for something or other on down the road. And when that happens, he will likely believe that it is because the management is quick to fire people for "minor" transgressions, or for being the messenger. In fact, I wouldn't be surprised if this has happened to him before, which may color his perception of his current situation.

    I have to wonder if the management is really as quick to fire as is described in the article, or is Jay's sense of what is and is not a fireable offense severely warped.

  • Doug (unregistered) in reply to FuBar Revisited
    If you want to fire someone for this error, first fire the CIO for not covering a mission critical system, then the sysadmin manager for not having an inventory of critical systems, backups, and redundant coverage for them as well as making them visible all the way up the chain. Then have the successor instruct the sysadmin on better escalation procedures while he's correcting the issue.

    If I was this guy, I probably would have done the exact same thing (except probably not let it go that long). I would have falsified the reports, then when I got back, attempted to fix them while I circulated my resume to work at a place that doesn't suck quite so badly. I'd discuss my reason for leaving as seeking an environment where things where a little more professionally organized, and that the lack of redundancy and coverage in previous position made me nervous. With any luck I'd still get good references out of previous management for my new job as they would not yet have discovered the falsifications.

    Fair enough. The argument can be made that they should all go. But so should Jay. The difference is, Jay is likely also legally liable. So, his higher ups get fired, he gets fired and sued. Falsifying billing information even when directly ordered to do so can get you in very hot water legally. Doing it on your own, with no direction from higher up, is just incredibly stupid.

  • FuBar Revisited (unregistered) in reply to Doug
    Doug:
    Fair enough. The argument can be made that they should all go. But so should Jay. The difference is, Jay is likely also legally liable. So, his higher ups get fired, he gets fired and sued. Falsifying billing information *even when directly ordered to do so* can get you in very hot water legally. Doing it on your own, with no direction from higher up, is just incredibly stupid.

    The one thing you don't quite get is that although you agree the argument can be made that they should all go, how realistic do you think the picture is that would really happen? More likely Jay goes bye-bye, and the chain up from him protects their own ass and manage to squarely use their membership in the "good ole' boys club" to filter the info to avoid their own accountability and blame Jay.

    Jay's legal liability is pretty far down the chain of risk management at this point. Even a lowly sysadmin can manufacture some data and cover his tracks. If his artifacts are nowhere to be seen on the falsified reports, I still maintain his best course of action is falsify, baby, and do the same as his predecessor. Abscond for a promotion elsewhere. Even if it is eventually discovered, do you think all the management chain is going to admit it and expose their ineptitude? They would have some legal exposure in the due diligence category.

    This company is so completely clueless that this mission critical system was written by someone who was promoted up the chain to a top level position, never fixed it, and now is a CTO somewhere. That's the real WTF.

    Fix, smile, obtain CIO's job recommendation elsewhere, and never look back upon that house of cards collapsing.

  • Loren Pechtel (unregistered) in reply to Doug

    Just because you haven't seen environments like where Jay worked doesn't mean they don't exist. Management is clueless. Their perception is that the person reporting the problem is the cause of the problem and simply trying to avoid the blame.

  • Bilge Rat (unregistered) in reply to its me

    Argh! He was a sysadmin, and didn't even think to automate checking of the report thingy?

    Presumably, the bloody thing generated files on a daily basis. Simply check to see if those files are created, or if it is a file that just grows - check the last modification date, and have it mail the results to your email account! Better yet -- have that same script check the process status table - if the app is dead the script can restart it!

    He would have caught it, and not had to fudge anything...

    Geez! These things are programable, you know.

  • xous (unregistered) in reply to John

    Yes there is a much better way, in asp.net -- it's been a while but you can just create a class that implements IHttpHandler or IHttpModule.

    See http://www.devx.com/dotnet/Article/6962/0/page/1

  • A Heart Surgeon (unregistered)

    So I was supposed to be doing a valve replacement on a guy, right? But I and most of my team were out playing golf. So I get this call from the hospital that they need me in the OR pronto. Time to think fast. Knowing that 85% of all valve replacement patients die within the same timeframe as they would without the replacement, I use my crackberry to update the patient's records remotely and tell the nurse, "We did that last week! Check the records!" Nobody noticed, and my game went perfectly!

  • J Silver (unregistered)

    The sad irony is HAD HE REPORTED THE PROBLEM HE WOULD HAVE BEEN LIABLE FOR THE DAMAGES AND POSSIBLE JAIL TIME!!!

    Sorry, to the people standing up for "ethics"... Ethics have no place in the budget of commercialism. Most of the time the good deed becomes the handmaiden of the scapegoat.

    At best he could have done is resign without reason the first time the event occurred... However I'm dead certain he resigned to "live somewhere quiet" a few weeks after the wedding.

    He must of brought this up at least once or twice in a two quarter period. That was more then enough for covering HIS moral and legal grounds... However employers have the budget to hire lawyers at any whim even when just losing money due to stupidity cough SCO cough

  • Simetrical (unregistered) in reply to gwenhwyfaer
    gwenhwyfaer:
    Sacking people for making a mistake, or worse, for not doing something they didn't even know they had to do, is NOT OK
    Not if they make too many "mistakes". That's called incompetence. But of course, you can make excuses and convince yourself that it's not your fault. Which, for all we know, is what Jay did. Maybe he was incompetent; maybe he was truly skilled and this one thing was an isolated blunder. Maybe management was evil; maybe it was generous but Jay was pushing its generosity. We don't know and won't ever know.

    I can't say I'd have done the right thing in this case. I don't know if I'm a strong enough person to do it. But I damn well know what the right thing is, and Jay didn't do it.

  • (cs) in reply to Lionstone
    Lionstone:
    I'd say Jay. Fabricating a month's worth of data goes beyond simply unethical.

    The word FRAUD comes to mind. and Fraud worth 1.45M would land Jay and everyone else in the federal pen.

    Holy crap.

Leave a comment on “The Fudge Factory”

Log In or post as a guest

Replying to comment #:

« Return to Article