• (cs) in reply to Eternal Density
    Eternal Density:
    XXXX:
    quarryman:
    leo:
    jpers36:
    Anonymous Coward:
    Darrell wasted ten strapping strippers with his palm

    Huh?

    FTFY

    FTFY

    FTFY
    FTFY
    FTFY
    FTFY

  • Billy The Squid (unregistered) in reply to PeriSoft
    PeriSoft:
    Eternal Density:
    XXXX:
    quarryman:
    leo:
    jpers36:
    Anonymous Coward:
    Darrell basted ten fapping strippers with his palm

    Huh?

    FTFY

    FTFY

    FTFY
    FTFY
    FTFY
    FTFY
    FTFY

  • TRWTF (unregistered)

    The Real WTF is that the person responsible for screwing up things was actually punished for it.

  • (cs) in reply to Anonymous
    Anonymous:
    GettinSadda:
    There is a FireFox bug^H^H^H feature where any double-dash inside a comment block breaks the parser.

    Guess what this article includes

    It's neither a bug nor a feature, it is something that we professionals refer to as "correctly implementing the specification". That hardly counts as a "feature" and it sure as hell isn't a bug.
    The problem of Firefox is that the people at Mozilla are a bit focussed (may I say 'obsessed'?) with implementing the standard to the letter, even if it doesn't make sense.

    The best example is the box model in CSS, which is messed up in the standard, followed strictly in Mozilla/Firefox, and implemented incorrectly (but in a way that makes sense) in Internet Explorer 6. It has to do with making a box 100% wide and giving it a border and/or margin, or something of the sort.

  • Anonymous (unregistered) in reply to dagushurst
    dagushurst:
    They do a build on every check-in? TARWTF!
    You've never even heard of continuous integration? That's TRWTF. Welcome to 2010, I hope it's not too scary for you.
  • (cs) in reply to dagushurst
    dagushurst:
    They do a build on every check-in? TARWTF!
    That's continuous integration, and as long as build times are short enough (which they are in most languages) it's not a problem. Actually, there's typically a hysteresis time too (e.g., 5 minutes) so that if there's a flurry of commits in a short space of time, that ends up as a single build. The amount of space devoted to keeping old versions needs to be monitored (and that's a good reason for having your release branch/tree separate from your development one) but that's trivial to do.

    If only Tim actually did any of that monitoring. But the point was that Tim didn't, couldn't and wouldn't. He also totally missed the danger signs.

  • Anonymous (unregistered) in reply to Severity One
    Severity One:
    Anonymous:
    GettinSadda:
    There is a FireFox bug^H^H^H feature where any double-dash inside a comment block breaks the parser.

    Guess what this article includes

    It's neither a bug nor a feature, it is something that we professionals refer to as "correctly implementing the specification". That hardly counts as a "feature" and it sure as hell isn't a bug.
    The problem of Firefox is that the people at Mozilla are a bit focussed (may I say 'obsessed'?) with implementing the standard to the letter, even if it doesn't make sense.

    The best example is the box model in CSS, which is messed up in the standard, followed strictly in Mozilla/Firefox, and implemented incorrectly (but in a way that makes sense) in Internet Explorer 6. It has to do with making a box 100% wide and giving it a border and/or margin, or something of the sort.

    Come on, deep down you know that's not the solution. That's not how standards work, either you follow them or you don't. If everyone just did their own thing when it "made sense" then everyones implementation would be different and the standards would have no value.

    Don't get me wrong, I do understand what you're saying and I can see the sense of at least "failing gracefully" in some situations, even if it doesn't follow the standard to the letter. But it really is an impossible argument, where do you draw the line? There are lots of things in the standard that don't make sense to some people but if every one of those people just ignored the standard we'd have chaos, cats and dogs living together, etc etc.

    I may not agree with the standards all the time but I still believe you should follow them, in the same way I may not agree with the law all the time but I still think it needs to be followed. If you disagree with a standard then submit a correction to it and hope that one day in the future it gets ratified (this has about as much chance of working as submitting a correction to a law and having that ratified, but hey, it feels good to vent).

  • Anonymous (unregistered) in reply to dkf
    dkf:
    dagushurst:
    They do a build on every check-in? TARWTF!
    That's continuous integration, and as long as build times are short enough (which they are in most languages) it's not a problem. Actually, there's typically a hysteresis time too (e.g., 5 minutes) so that if there's a flurry of commits in a short space of time, that ends up as a single build. The amount of space devoted to keeping old versions needs to be monitored (and that's a good reason for having your release branch/tree separate from your development one) but that's trivial to do.

    If only Tim actually did any of that monitoring. But the point was that Tim didn't, couldn't and wouldn't. He also totally missed the danger signs.

    Good CI packages allow you to define either the number of builds to retain or the diskspace allotted to retained builds. It will then automaticaly purge the older builds as the retention number/quota is reached. No monitoring required, in fact, enabling that would pretty much put Tim out the job. Oh, I think I see why he never set it up now...

  • minime (unregistered)

    The real wtf is this story having a happy end. Dumb guy fired, smart guy in charge. Looks like some fairy tale.

    captcha: erat .... hm... eraticate?

  • RBoy (unregistered)

    So, the real WTF was "--" firefox?

  • luis.espinal (unregistered) in reply to Yamazaki
    Yamazaki:
    First off, I DO HATE this kind of managers:

    “Well, I’ll need at least four hours,” Tim stammered.

    “You have four hours.”

    "AT LEAST" means "at least".

    Not from the Tim-crowd's mouth, it doesn't. Management saw it for what it was, calling Tim on it and putting a realistic hard dead-line that actually matched to an actual, urgent need:

    To be done by EOB (he got "four hours") so that the offshore team could have something to work on during the weekend (as opposed to having them sit idle... possibly while being on on the clock.)

    I know what you are saying - managers of that type. But you also have to understand where they are coming from as well as the context. In software we like to pad things, specially schedules. Sometimes we need to in order to cope with unknowns affecting engineering decisions.

    In other cases, we do because we are slackers with our heads up our asses, we don't know what to do and we are oblivious (or don't give a crap) about serious deadlines affecting the people who write our paychecks.

    Yamazaki:
    ]So if anyone says "at least 4 hours" it means that will probably take more than 4 hours and that 4 hours is the best case, so dont spect the work to be done in 4 hours.

    Or they are just padding their schedule so that they can scratch their itches while the whole building burns. It all depends on the context AND on the people making the estimates.

    Just because someone gives you an estimate, that doesn't mean it is sufficiently right... or that the estimator is being honest.

    Yamazaki:
    I would like to say somthing more. If Tim wasnt able to delete the files in 4 hours, Tim asked for help (or told he had problems with this) and Darren knew how to do it and dindt say anything, its Darren's fault, not Tim's.

    It is Tim's fault for not knowing what should be part of his job. I'm sure there were other culprits in this situation, but one cannot exonerate someone (an admin) from not knowing how to do one of his job tasks (freeing space in a server.)

    Yamazaki:
    If I were a software manager and found out that anyone didnt know how to do somthing and didnt ask for help I would get really angry. If I know that someone asked for help and doesnt get it (if possible, ofc) I would get really really really angry.

    Better yet, you should not get angry and instead work objectively towards fixing the problem. THAT is management.

  • Anonymous Coward (unregistered)

    'Went Om Nom Nom'.. really TDWTF?

  • Jakob Breivik Grimstveit (unregistered)

    And still noone spotted this Monty Python-quote!?

    • WHAT .... is your favourite ... color!?
    • RED! No, BLUE!!! Aaaaaaaaahhhhh...
  • pjt33 (unregistered) in reply to Severity One
    Severity One:
    The best example is the box model in CSS, which is messed up in the standard, followed strictly in Mozilla/Firefox, and implemented incorrectly (but in a way that makes sense) in Internet Explorer 6. It has to do with making a box 100% wide and giving it a border and/or margin, or something of the sort.
    Borders and margins not being counted towards width isn't the problem with the box model in CSS. The problem is that the expressions for specifying border, margin, and element sizes are limited to auto, x%, ypx, or zem. If they allowed, at a minimum, addition and subtraction, the whole system would make a lot more sense.
  • (cs) in reply to Jakob Breivik Grimstveit
    Jakob Breivik Grimstveit:
    And still noone spotted this Monty Python-quote!?
    • WHAT .... is your favourite ... color!?
    • RED! No, BLUE!!! Aaaaaaaaahhhhh...
    Misquote, more likely. I recognised it immediately, but it's incorrect. The original quote is:

    "There are those who call me... 'Tim'?"

    Yours is misquoted as well, FWIW.

  • (cs) in reply to Anonymous
    Anonymous:
    Come on, deep down you know that's not the solution. That's not how standards work, either you follow them or you don't. If everyone just did their own thing when it "made sense" then everyones implementation would be different and the standards would have no value.
    You're right, and I do stick to standards, but in the case of Mozilla I was reading something (many years back, mind) why a certain feature would not be implemented. It had to do with platform portability, or something of the sort, and the answer looked more like a sermon than technical considerations. (Something like "we make our product look the same on all platforms, so at least it breaks interface style guides on all those platforms at the same time". No wait, that was VLC.)

    Don't remember exactly what it was about, so the above paragraph is a bit useless, but the impression I got was that they really believed in standards, and might even worship them.

  • (cs)

    Turns out that "some call me tim" is a cheat code in a an RPG:

    http://en.wikipedia.org/wiki/Tim_the_Enchanter

  • Neil (unregistered)

    So, the thing with the comment is according to the SGML standard, which was the best thing available until the HTML 5 standard came along, which is what Firefox 4 will use.

    As for the CSS box model, CSS3 now includes box-sizing which will allow you to measure an element including the border, and this is implemented (possibly with a vendor-specific prefix) in at least Gecko, Webkit and Presto.

    Firefox 4 will also support CSS3 calc(), which is another way to work around the problem.

  • Havelock (unregistered) in reply to Greg

    No, but ionice would.

  • Matt Westwood (unregistered) in reply to Anonymous
    Anonymous:
    Severity One:
    Anonymous:
    GettinSadda:
    There is a FireFox bug^H^H^H feature where any double-dash inside a comment block breaks the parser.

    Guess what this article includes

    It's neither a bug nor a feature, it is something that we professionals refer to as "correctly implementing the specification". That hardly counts as a "feature" and it sure as hell isn't a bug.
    The problem of Firefox is that the people at Mozilla are a bit focussed (may I say 'obsessed'?) with implementing the standard to the letter, even if it doesn't make sense.

    The best example is the box model in CSS, which is messed up in the standard, followed strictly in Mozilla/Firefox, and implemented incorrectly (but in a way that makes sense) in Internet Explorer 6. It has to do with making a box 100% wide and giving it a border and/or margin, or something of the sort.

    Come on, deep down you know that's not the solution. That's not how standards work, either you follow them or you don't. If everyone just did their own thing when it "made sense" then everyones implementation would be different and the standards would have no value.

    Don't get me wrong, I do understand what you're saying and I can see the sense of at least "failing gracefully" in some situations, even if it doesn't follow the standard to the letter. But it really is an impossible argument, where do you draw the line? There are lots of things in the standard that don't make sense to some people but if every one of those people just ignored the standard we'd have chaos, cats and dogs living together, etc etc.

    I may not agree with the standards all the time but I still believe you should follow them, in the same way I may not agree with the law all the time but I still think it needs to be followed. If you disagree with a standard then submit a correction to it and hope that one day in the future it gets ratified (this has about as much chance of working as submitting a correction to a law and having that ratified, but hey, it feels good to vent).

    Standards that are stupid need to be changed. Laws that are nothing more than pointless oppression need to be disobeyed.

    When I started at the place I work, the standard for commenting was futile, pointless and wasteful of time (specifically the insistence of a line of ! at the RHS putting the comments into a neat little box). There's an article in Code Complete about that. From day one I subverted it, as I was damned if I was going to spend all day filling the line with spaces and putting a neat little ! in column 80. Life was too short.

    A while later it was noticed that my productivity was somewhat greater than that of my colleagues. The above act of rebellion, coupled with the fact that I knew how to set up keyboard macros and adjust my terminal emulator to view more than a 24x80 screen, contributed to that extra productivity. So I got bigger more exciting work to do, and eventually got moved forward to more up-to-date languages and systems.

    And every now and then I have to look over the shoulders of the various colleagues of mine who are still doing the same old work ... still using the 24x80 screen, still typing space space space space .... space space space exclamationmark at the end of every comment they write.

  • qbolec (unregistered) in reply to Carl
    Carl:
    Was hoping for a story about a golden stream that trickled down from above.
    me too!:D
  • (cs) in reply to Gunslinger
    Gunslinger:
    I'm glad NoScript prevents me from clicking on the silly Javascript thing at the beginning.
    So... explain that to me... usually you click randomly everywhere on your screen, on the texts you read, and so on, *EXPECTING IT TO DO NOTHING*. Oh yes! *That* is why that invisible link is bothering you. You being an over-moron not able to click where it makes sense, is not the problem, of course...

    Noscript is not enough for you. Try NoBrain

  • Furiousity Considered Harmful (unregistered) in reply to Peter
    Peter:
    Nor does it take much work to use the "Preview" button and check that your post doesn't contain garbled BBcode which screws up its appearance. Note that it is particularly advisable to do this when you are complaining about someone else's typographical errors.
    I still can't find the error in my BBcode, but yes, that was ironic.
  • (cs) in reply to Furiousity Considered Harmful
    Furiousity Considered Harmful:
    Peter:
    Nor does it take much work to use the "Preview" button and check that your post doesn't contain garbled BBcode which screws up its appearance. Note that it is particularly advisable to do this when you are complaining about someone else's typographical errors.
    I still can't find the error in my BBcode, but yes, that was ironic.
    In your last quote you have 'user ="blablabla"' instead of 'user="blablabla'.

    It appears that when one quote fails they all fail, likely due to some nesting issue.

  • Stephen Cleary (unregistered)

    Enjoyed the references, both Burn Notice and Maven/Motley (http://blogs.msdn.com/b/progressive_development/about.aspx for those who aren't familiar with it).

  • Websense admin (unregistered) in reply to neminem
    neminem:
    That's depressing... what's the onclick() do? Apparently it includes a javascript file that websense is blocking. Google indicates that it does, in fact, have something to do with unicorns, but... stupid websense.

    Muhahah!

    CAPTCHA: causa - Causa I said so.

  • Brit Banking Contractor (unregistered) in reply to Not Tim

    I agree. That was the worst writing ever and in places didn't make any sense. Not only did it make Firfox barf but made me barf too.... Being English (not American) I am quite disgusted by this abuse of our countries' language! And, by the way it's COLOUR, not color!!!

    Not Tim:
    The Real WTF is the GAWD AWFUL writing style of this article. Seriously, if you're going to embellish a story make some effort to have a fluid writing style. This is rubbish.

    CAPTCHA: Minim. The "minim" amount of effort was clearly put into embellishing this article.

  • trwtf (unregistered) in reply to Brit Banking Contractor
    Brit Banking Contractor:
    I agree. That was the worst writing ever, and in places didn't make any sense. Not only did it make Firefox barf, but made me barf too... Being English (not American) I am quite disgusted by this abuse of our country's language! And, by the way it's COLOUR, not color!!!
    Not Tim:
    The Real WTF is the GAWD AWFUL writing style of this article. Seriously, if you're going to embellish a story make some effort to have a fluid writing style. This is rubbish.

    CAPTCHA: Minim. The "minim" amount of effort was clearly put into embellishing this article.

    Fixed that four ewe.

  • uuang (unregistered) in reply to db2
    db2:
    Good. You fix the HTML. Remy can clean out his desk.

    Nevar!

    Also, I didn't get any of the references this time :(

  • Josh (unregistered)

    Except for the terrible writing, not bad.

    Seriously, the people who submit these don't need to try and use it as their first mini-novel.

  • (cs)

    No, no, TRWTF is the comment in the HTML, near the Google Custom Search.

    <!-- *snipped* a bunch of JavaScript that Google told us to put in. Seemed pretty pointless and caused an error. We don't need no stinking JavaScript. -->

    Clbuttic!

  • (cs)

    I don't get all the complaining about how "terrible" or "worst ever" the writing was. It was fine.

  • jim (unregistered) in reply to Greg
    Greg:
    OK, but the part about "nice"... Maximum == nicest?

    Also, would "nice" make any real difference for a process that's hogging disk I/O?

    Yes. while nice doesn't affect the proportion of system time spent directly, if more user time is given that triggers system time, it can hog more.
  • (cs) in reply to dkf
    dkf:
    dagushurst:
    They do a build on every check-in? TARWTF!
    That's continuous integration, and as long as build times are short enough (which they are in most languages) it's not a problem. Actually, there's typically a hysteresis time too (e.g., 5 minutes) so that if there's a flurry of commits in a short space of time, that ends up as a single build. The amount of space devoted to keeping old versions needs to be monitored (and that's a good reason for having your release branch/tree separate from your development one) but that's trivial to do.
    There is a SCM called Aegis that does precisely that -- continuous integration. To make it manageable, it stores not only sources, but also all the binary files generated during compilation. That way if you have a project with 5000 C++ files and you only change one .cpp file, the build only has to compile that one file and link the executable. When you check out a change and there are no modified files, the build command should be a no-op.

    The nice side effect of how Aegis does things is that you have full traceability in case there were compiler / build script bugs: you have stuff to reproduce the problem from.

    I used to use Aegis, but it became a big hassle when we decided to do some builds on Windows. Aegis could be ported to Windows, because Windows supports similar file system protection model to what Aegis depends on, but it's a slight hassle. You need to create a user for Aegis, and repository files need to be owned by Aegis, visible to everyone who uses the repository, and only the Aegis executable needs to be able to modify them and noone else (to maintain repository integrity). Aegis really needs a client-server split.

  • Arvind (unregistered) in reply to Spearhavoc!

    Brevity is wit.

  • Monty (unregistered)

    Those responsible for sacking the people who have just been sacked, have been sacked.

  • Tim (unregistered) in reply to danixdefcon5
    danixdefcon5:
    Didn't break my browser. But then I checked the source, and the comment had been fixed. Never realized that Remy's articles included "hidden" HTML comments.

    Anyone seen that OM NOM NOM has an onclick event?

    Great. Fucking unicorns all over the page. Clicking one causes more to appear.

  • db (unregistered) in reply to Whatever
    Whatever:
    Not Tim:
    The Real WTF is the GAWD AWFUL writing style of this article. Seriously, if you're going to embellish a story make some effort to have a fluid writing style. This is rubbish.

    CAPTCHA: Minim. The "minim" amount of effort was clearly put into embellishing this article.

    Eh, I thought that it was an interesting enough read. OTOH, it's gotta be fiction. Why would Tim be so useless? Four hours to come up with a plan to delete some files?

    I've worked with people like that. You could not speed them up if you dropped them off a cliff.
  • Hi Key (unregistered)

    The more appropriate (and accurate) heading is "Some may call me Tim"

    The may allows for the latitude of calling him useless.

  • (cs) in reply to trwtf
    trwtf:
    WhiskeyJack:
    If Darrell had some kind of delete-script ready to go that would delete the old build versions, he would have solved the problem within seconds and would emerge as the hero of the day.

    Strategic mistake. "So, Darrell... if you knew exactly what was going on and exactly how to fix it... why didn't you say something a few hours ago?"

    Best to have the delete script ready, and spend an hour or so looking frazzled and then run the script. After making pretty damn sure that your fix didn't screw up anything else (not likely in this case, but this would be a bad time to screw up, don't you think?)

    Actually, I've been in Darrell's position. After "Tim" left, I asked my boss if I should assist. Our VP, who happened to be right there, said, "No. Prepare for it. If he doesn't complete the job in the 3 hours we've given him, you take over. If he performs less than half of the work in his 3 hours, and you complete the job in under 1 hour, he's fired. We would prefer to pay the 3000 hours of unproductive time and remove someone as incompetent as he seems to be. But make sure you don't block his efforts."

    I went back to my desk, my manager followed me and watched everything I did.

    First, I set up a top window, updating every 15 seconds, so I'd know if the system was CPU or IO bound (also, gave me some view what "Tim" was doing.) Second, I went to the problematic directory and wrote a command-line perl script to find the largest 10 files, with a usleep(100) after examining each file. I explained that should keep it from IO bounding the system. Third, I ran it.

    We watched the top window, as "Tim" tried valiantly to compress files on a filesystem which was 100% full. One CPU was pegged by that activity, but the other was basically idle. IO wait never went above 15%. I got my 10 filenames with about 30 minutes to spare.

    Fourth, I ran a long listing on the 10 files. Fifth, I typed in the 9 filenames that were old enough they could be removed without concern, followed with a double ampersand, a 'df -k .', another double ampersand, and then a find command to remove all the rest of the files over the threshold age. Sixth, I moved the cursor to the start of the line, and typed "rm ".

    Seventh, we waited for the rest of the time to expire. When our VP came in my cube, with "Tim" in tow, and told us it was my turn, I pressed return.

    The df -k came back about 20 seconds later, indicating we had enough free space to restore service in degraded mode. I announced this and restored service. Tim then got the honor of being walked out the door by a VP.

  • (cs) in reply to trwtf
    trwtf:
    Yamazaki:
    First off, I DO HATE this kind of managers:

    “Well, I’ll need at least four hours,” Tim stammered.

    “You have four hours.”

    "AT LEAST" means "at least". So if anyone says "at least 4 hours" it means that will probably take more than 4 hours and that 4 hours is the best case, so don't expect the work to be done in 4 hours.

    If Tim had come back in four hours with something there might be a case to be made here. Coming back with "I'm going to work on it on Monday" is impossible. I doubt that he was fired in the actual event - remember, this is a "Fortune 500 company", and that's a big organization that probably doesn't give mid-level managers the authority to fire employees on a whim

    This wouldn't have been on a whim, this would've been a clear 'for cause' termination. And, it sounds like there may have been people who were not mid-level managers around who would've been happy to perform the honors. (Admittedly, it probably wouldn't have gotten all the way up to the VP level like my tale did, unless this was the flagship product and an internationally announced build.)

    trwtf:
    but he would probably have been kicked off to some other department, and in any case, he wouldn't have been allowed to diddle around with this for the next month, which is clearly what he had in mind.
    Yamazaki:
    If I were a software manager and found out that anyone didn't know how to do something and didn't ask for help I would get really angry. If I know that someone asked for help and doesn't get it (if possible, ofc) I would get really really really angry.

    True. However, there's no suggestion that Tim asked for help. Now, you might have thought it sporting for Darren to offer to help, but that's a kettle of fish of a different color.

    This is career end game, given that all work for the group is stopped and Tim wasn't even paying attention enough to know when he was being asked to identify himself as the responsible party. Management may prefer a sink or swim at this point.

    If Tim had expressed a more concerned attitude during the meeting, assistance probably would've been appropriate, if needed. Given the description of the problem, it really should not have been needed.

  • AllThatJazz (unregistered)

    Obviously a fabricated story, since the guilty party was actually held accountable and appropriately punished.

  • Dvz (unregistered)

    The WTF is the OMNOMNOM pony's.

Leave a comment on “Some Call Me… Tim?”

Log In or post as a guest

Replying to comment #:

« Return to Article