• Andy_K (unregistered)

    Very good of him. I'd have probably tried to forget it ever existed...

    (fist?)

  • Kerin (unregistered)

    I would have likely rewritten it myself. shudders

    Sadly, the closest WTF I've personally witnessed was perpetrated by one of my college professors.

  • (cs) in reply to Andy_K

    I respect anyone who a) owns up to a prior mistake, and b) offers to fix it - for free.

  • (cs)

    Ah, a heartwarming happy ending for the holiday season. God bless us, every one!

  • (cs)

    The writing out of the noise of a dot matrix brings back memories...

    Memories of printing something at the weekend that is. I still have the nice dot matrix I bought for my amiga in the early nineties. Win XP still has a good driver and it costs pretty much nothing to run. And who really needs colour printouts anyhow?

  • Keithius (unregistered)

    I admire a programmer who takes pride in his work like this. Well done!

  • (cs)

    He will never make it in this field. Normal procedures require you to hear the noise, claim you know what is causing it, then charge a nominal fee to fix it. Besides if he was to go back and freely re-work all the code that he wrote while he was a junior, he wouldn't be paid for the next few years.

    Oh look, we now have a backup girl to add to our fantasies. I still yearn for bean bag girl though.

  • Kluge Doctor (unregistered)

    I also am reminded of the old days. I remember being able to determine which report was printing based on the rhythm of the dot matrix printer.

    I'd walk by a coworker's desk, give a quick listen: tap, tap, tap...tap... tap... tap, tap tap. "Oh, you're printing the sales report, eh?"

  • (cs)

    Sheesh, that WTF is rather buried in a sea of doing-the-right-thing...

  • (cs) in reply to MET
    MET:
    I still have the nice dot matrix I bought for my amiga in the early nineties. Win XP still has a good driver and it costs pretty much nothing to run. And who really needs colour printouts anyhow?

    A dot matrix beats others any day when it comes to a quick, cheap printout. The ribbons are still cheap compared to ink or toner. A good dot matrix also accepts standard paper (not just tractor-feed). Unfortunately, my dad wanted his Epson back, so I've been using a $50 HP Inkjet for a while. I can never understand why that thing wants to use the color ink for black text when I have a black cartridge in there, too! It only uses the black ink when I explicitly tell it to do Black & White Only through the properties (which has to be done every time I print something).

    As far as the story goes -- I'd want to fix it, too. I also don't like having the stigma of creating an ugly beast. The end user rarely takes into consideration the time or expertise level. They just want it to work. I'm sure the users were overjoyed with the fix.

  • John Cowan (unregistered) in reply to AbbydonKrafts

    Simple. Just take the color cartridge out except when you need to print in color.

  • Paul (unregistered)

    I suspect, if you could look at the source code for "Clipper" you'd see something like this where SET FILTER is handled:

    // TODO: 10/2/83 - Important, make SET FILTER work on data subsets before next release.

  • Michael (unregistered) in reply to John Cowan
    John Cowan:
    Simple. Just take the color cartridge out except when you need to print in color.

    Thats what I do. STOP STEALING MY IDEAS!!! :)

  • Schnapple (unregistered) in reply to AbbydonKrafts
    AbbydonKrafts:
    I can never understand why that thing wants to use the color ink for black text when I have a black cartridge in there, too! It only uses the black ink when I explicitly tell it to do Black & White Only through the properties (which has to be done every time I print something).

    Simple, it uses your color ink. Which runs out quicker and is way more expensive than the black ink. This is why you have the $50 razor (the HP printer), so you can keep buying blades (the ink). This is also why HP's ink division is the most profitable part of the company.

  • (cs)

    I'm not sure I'd call this a WTF. It'd be an easy mistake for a novice developer to make. Maybe an 'oops' rather than a 'WTF'.

    If they'd iterated through every record themselves doing a check on each one, that'd be more like a WTF. But it's not that unreasonable to expect a database engine function to be at least a bit efficient.

    If there is a WTF it's that someone more senior didn't do a code review and spot the problem.

  • (cs) in reply to Schnapple

    I must say I haven't noticed this behaviour with my HP printers, either the expensive 990cxi or the cheap 40 Euro one.

    If the printer runs out of black, it prints a mucky dark brown colour, which I guess is it trying to emulate black using colour ink, but if the black is there, I change the black cartridges 2 or 3 times more frequently than the colour cartridges while just printing in 'colour' mode.

  • CastrTroy (unregistered) in reply to MET
    MET:
    The writing out of the noise of a dot matrix brings back memories...

    Memories of printing something at the weekend that is. I still have the nice dot matrix I bought for my amiga in the early nineties. Win XP still has a good driver and it costs pretty much nothing to run. And who really needs colour printouts anyhow?

    I don't know why the dot matrix printer ever went away. For printing out documents, it's definitely the way to go. I remember I could print out thousands of pages of text on a single $7 ribbon. It didn't quite look as good as a laser printer, but a 24 pin dot matrix could get pretty clear results. I don't think any printer laser or inkjet comes anywhere close to the cost per page of a dot matrix printer.

  • ArrogantBastard (unregistered)

    So the WTF is that he took a working program that the client accepted and offered to rewrite it for free rather than charging for an upgrade and better performance?

  • (cs) in reply to CastrTroy
    CastrTroy:
    I don't know why the dot matrix printer ever went away.

    Noise, speed, quality, only b/w. They're now relatively expensive to buy as well (compared to inkjet), but they are still being made if you want one. If you need to print on multipart paper (carbon-copy paper) then dot matrix is really your only option.

    If you are printing out lots of stuff, in 'draft mode', in b/w, with the printer in a separate room, then they're fine, but printing out in NLQ mode they're quite slow (eg 110 CPS for a 24 pin printer) and can be very noisy if you have one right next to you...

  • SmartDude (unregistered)

    The real WTF is that this was done using Windoze.

  • (cs) in reply to CastrTroy
    CastrTroy:
    MET:
    The writing out of the noise of a dot matrix brings back memories...

    Memories of printing something at the weekend that is. I still have the nice dot matrix I bought for my amiga in the early nineties. Win XP still has a good driver and it costs pretty much nothing to run. And who really needs colour printouts anyhow?

    I don't know why the dot matrix printer ever went away.

    • Slower than laser
    • Noisy
    • Uses ink (susceptible to water)
    • Terrible color output
    • 360dpi at best (and that's printing very slowly in partial-linefeed mode)
  • BlueEagle (unregistered) in reply to AbbydonKrafts
    AbbydonKrafts:
    I can never understand why that thing wants to use the color ink for black text when I have a black cartridge in there, too! It only uses the black ink when I explicitly tell it to do Black & White Only through the properties (which has to be done every time I print something).

    The real wtf is that you haven't read the manual. If you co to the control panel and choose printers and faxes (win XP) and right-click the printer and choose properties you'll find a nice button on the "Advanced" tab called "Printing Defaults" where you can set the defaults for printing amongst other things b/w or color.

  • Nutmeg Programmer (unregistered)

    Let's not go knocking Clipper. It kept food on my table for a decade.

    The article is misleading since clearly our junior programmer did not learn the finer points of the language. As best I remember, in the latter versions of Clipper, you could define an index that specified not only the order, but also the subset, i.e. filter.

  • EON (unregistered)

    Ah memories of amateur applications...

    I remember starting a new job and inheriting an app that spat out static html pages. Each page required a three-way join from the database and the run took over an hour for perhaps 1000 pages. When I noticed this, I made the join a temporary table before the run started and that cut the time to about 5 minutes.

    But I'm sure I've left a few egregious code blocks out there in my time... Glad I don't have to ever see them again (knock on wood).

  • ViciousPsicle (unregistered) in reply to AbbydonKrafts
    AbbydonKrafts:
    I can never understand why that thing wants to use the color ink for black text when I have a black cartridge in there, too! It only uses the black ink when I explicitly tell it to do Black & White Only through the properties (which has to be done every time I print something).

    Open the printers control panel, right-click the printer icon, and select properties. Then click the Printing Preferences button. Set it to black & white, and this will be the default from now on. At least, it works with my old Lexmark. I don't even bother to replace the color cartridge anymore. The only thing I print in color is photos, and I have a dye-sublimation printer for that.

  • (cs) in reply to BlueEagle
    BlueEagle:
    The real wtf is that you haven't read the manual. If you co to the control panel and choose printers and faxes (win XP) and right-click the printer and choose properties you'll find a nice button on the "Advanced" tab called "Printing Defaults" where you can set the defaults for printing amongst other things b/w or color.

    Actually, for some reason or another, that doesn't stick. I wouldn't have mentioned it otherwise.

  • (cs)

    Here is the WTF: promising to rewrite the program for free.

    Sounds like a great idea, very generous. But any IT worker knows the rule:

    Last Person to Touch It Broke It.

    This is the situation where you help your mother in law do something simple, like reset the resolution on her display - and from then on, you get calls saying "You know, ever since you worked on my computer, something's just not right with it. Could you come see why it crashes every time I do xxxxxxx?" It won't matter when you explain that nothing you did could possibly have any way of causing the problem.

    Once he rewrites the program to fix the bug, he opens himself up to being called any time anything goes wrong with it, and to being expected to fix that for free as well. Because he touched it last - and MUST be the guy who broke it...

    Some things you learn only from experience.

  • Nex (unregistered) in reply to edgarecayce
    edgarecayce:
    Here is the WTF: promising to rewrite the program for free.

    Sounds like a great idea, very generous. But any IT worker knows the rule:

    Last Person to Touch It Broke It.

    He likely already was the last person to touch it.

  • Curd Zechmeister (unregistered)

    Going back and fixing a problem for no charge shows some really great character. Most people would have either (a) told them to go buy a large laser printer with lots of "memory" and without a "hum" feature or (b) told them to go buy a faster computer.

  • Jim Bob (unregistered)

    did he give the operations manager a bj after that?

  • (cs) in reply to Curd Zechmeister
    Curd Zechmeister:
    Going back and fixing a problem for no charge shows some really great character. Most people would have either (a) told them to go buy a large laser printer with lots of "memory" and without a "hum" feature or (b) told them to go buy a faster computer.

    I disagree. Going back and fixing it for no charge when he should have known better would have been good. Going back and reworking things he did when he was still learning just because now he knows more, is letting them abuse your current experience.

    They paid for a junior, they got the work of a junior; don't later give them a senior for free.

  • Marc (unregistered) in reply to SmartDude

    Actually, it most likely was done in DOS. Nantucket (and later Computer Associates) never released a Windows version of Clipper.

    Clipper kept me out of the unemployment line for 5-10 years (much like 'Windoze' does now).

    Captcha: xevious - the hours I wasted on that game.

  • (cs) in reply to Paul
    Paul:
    I suspect, if you could look at the source code for "Clipper" you'd see something like this where SET FILTER is handled:

    // TODO: 10/2/83 - Important, make SET FILTER work on data subsets before next release.

    Unlikely. Clipper has no concept of "query optimization" that would allow it to do that.

  • (cs) in reply to Marc
    Marc:
    Actually, it most likely was done in DOS. Nantucket (and later Computer Associates) never released a Windows version of Clipper.

    Clipper kept me out of the unemployment line for 5-10 years (much like 'Windoze' does now).

    Well, there was CA Visual objects... I've heard rumors that some people actually used it (or at least tried to...)
  • RMW (unregistered)

    If anyone wants a good printer then i can heartely suggest Brother printers, i got myself one last Christmas, and i have replaced the black once, the colours are running a bit low.

    for reference my previous printer (Epson photo stylus something-something) needed the inks replacing every 2 months or so.

    wahh the captcha is laughing at me :'-( BTW:that's meant to be a tear

  • Marc (unregistered) in reply to ammoQ
    ammoQ:
    Marc:
    Actually, it most likely was done in DOS. Nantucket (and later Computer Associates) never released a Windows version of Clipper.

    Clipper kept me out of the unemployment line for 5-10 years (much like 'Windoze' does now).

    Well, there was CA Visual objects... I've heard rumors that some people actually used it (or at least tried to...)

    VO was to Clipper what dBase IV was to dBase III. Maybe even worse, but less people were suckered into buying it. What a rip-off.

  • (cs) in reply to CastrTroy
    CastrTroy:
    I don't know why the dot matrix printer ever went away.

    In my experience, dot matrix printers always seem to create alignment headaches when both the printer and the computer are trying to control things like page breaks. Switching to the Generic / Text Only driver usually works, but then the only way to include graphics is to pre-print them on the paper stock, which creates new alignment headaches and lets you screw up by printing on the wrong type of stock (never mind if the pre-printed stock runs out before the replacement stock arrives).

    End users probably care about the noise. And the desire to make documents-to-be-sent-to-clients look slick.

  • Greg Martin (unregistered)

    Yeah, I'm sure that as soon as any old Clipper programmer saw the SET FILTER they knew where this WTF was going. There was nothing wrong with SET FILTER -- it did exactly what it was supposed to do which is also why you never used it unless the table was small or the majority of the records matched the filter condition.

    You had to use something like Comix (a Clipper add-on that allowed you to work directly with indexes) in order to manually do something approximating query optimization.

    While using something like Clipper with Comix required more lines of code to optimize data access it ran rings around SQL as far as speed at the time. Ah, the good old days when I had to walk ten miles uphill in the snow everyday to get to my IBM PC for work...

  • Shyama (unregistered) in reply to pscs

    Daisy wheel printers are good for multi-part paper.

  • Joe (unregistered)

    This is the same exact thing that's currently in MS Access VBA. You can use Active X Data Objects (ADO) to open (and populate) a recordset object and subsequently apply a filter to it. However, when it does that, it opens up the entire recordset, caches it clientside, then applies the filter. Depending on the original recordset this can be a massive amount of data.

    The correct approach to using the ADO.RecordSet object is to apply your conditional statement when first populating it. Therefore, it brings into the client the filtered data to begin with. Much better.

    So instead of caching the entire customers table locally and applying a filter to get customer X, you should instead only open the records in customers table where customer = x.

    Hope that makes sense somehow.

  • Joe (unregistered) in reply to Schnapple
    Schnapple:
    AbbydonKrafts:
    I can never understand why that thing wants to use the color ink for black text when I have a black cartridge in there, too! It only uses the black ink when I explicitly tell it to do Black & White Only through the properties (which has to be done every time I print something).

    Simple, it uses your color ink. Which runs out quicker and is way more expensive than the black ink. This is why you have the $50 razor (the HP printer), so you can keep buying blades (the ink). This is also why HP's ink division is the most profitable part of the company.

    Do you know that for a fact or are you just guessing based on your cynicism? I thought their server or consumer desktop PC divisions were more profitable?

    Actually, you're almost right. According to the Motley Fool, their "Personal Systems" division brought in 31.8% while "Imaging and Printing" brought in 29.1%.

    http://www.fool.com/investing/value/2006/08/18/hps-enviable-reinvention.aspx

  • Matthew (unregistered) in reply to AbbydonKrafts
    AbbydonKrafts:
    A dot matrix beats others any day when it comes to a quick, cheap printout. The ribbons are still cheap compared to ink or toner.

    There's nothing quick about a dot-matix printer. You want quick? Pick up a used HP laser (not the personal ones like the 5L, but an office printer). A toner cartridge for one of those will last forever under most personal/home use. And the quality is great... even on an old one.

    Injets just plain suck all around. I've all but given up on injet printers. Managing the ink, cleaning the heads, etc is a huge pain in the ass. Not to mention that most are just junk to begin with.

    And dotmatix printers are just plain noisy and SLOW. I don't know why anyone would want to use one except maybe as a check/label printer... something were a tractor feed would come in handy. But for nice, quick b/w prints, laser is the way to go.

  • (cs) in reply to Shyama
    Shyama:
    Daisy wheel printers are good for multi-part paper.

    If you just need multiple copies, then you can do that from software. If the users need carbons that also transfer handwritten notes, then yeah, you need some sort of impact printer (I've heard of "carbonless" paper for laser and/or inkjet, but apparently it's expensive enough to be a deal-breaker).

  • w00t (unregistered) in reply to Joe
    Joe:
    Schnapple:

    Simple, it uses your color ink. Which runs out quicker and is way more expensive than the black ink. This is why you have the $50 razor (the HP printer), so you can keep buying blades (the ink). This is also why HP's ink division is the most profitable part of the company.

    Do you know that for a fact or are you just guessing based on your cynicism? I thought their server or consumer desktop PC divisions were more profitable?

    Actually, you're almost right. According to the Motley Fool, their "Personal Systems" division brought in 31.8% while "Imaging and Printing" brought in 29.1%.

    http://www.fool.com/investing/value/2006/08/18/hps-enviable-reinvention.aspx

    Reading comprehension FTW.

    1. The Personal Systems division brought in 31.8% of sales, not profits.
    2. Even if the printing division only brought in $100 in sales, but at a cost of 0.00001 cents, they'd still be the most profitable division, seeing as their profit margin is better in relative, rather than absolute numbers, and
    3. the article you quote has this to say: "HP's most profitable division, imaging and printing" (and that's not just the ink, that's including printers and scanners; the loss leaders)

    So, yeah, whatever.

  • (cs) in reply to Jim Bob
    Jim Bob:
    did he give the operations manager a bj after that?

    Spoken like a true code monkey.

  • (cs)

    Wheres the WTF? This is a Failure, and the guy learned his lesson and even corrected it!

    I expected him to come in to a room with exploding printers and a rambo-looking guy maintaining them.

  • (cs)

    I had a dot-matrix printer back in the day ... it was SLOW, NOISY and the print quality was CRAP!

    Well yeah very fast dotmatrix printers exist, but they're expensive and they're still noisy and look crappy. Good for what they're used for ... reports, etc. Not so great for the stuff the average computer user prints out.

    I'm more than satisfied with my laser printer. And yeah, I can't imagine having an inkjet printer, they're a serious ripoff.

  • Minos (unregistered) in reply to Kluge Doctor
    Kluge Doctor:
    I also am reminded of the old days. I remember being able to determine which report was printing based on the rhythm of the dot matrix printer.

    I'd walk by a coworker's desk, give a quick listen: tap, tap, tap...tap... tap... tap, tap tap. "Oh, you're printing the sales report, eh?"

    OEED? Or am I interpreting the taps backwards and it's STTW? I know, it must be ... - . .-- and he's telling you it's time for lunch.

  • business man (unregistered)

    Pfft. What a loser. He should have pretended some unrelated upgrade would help him speed up the printing, then given them a fix that encrypted all their data and required an exorbitant annual license fee to continue working.

    In fact he shouldn't have even done the work. It would have been much more cost efficient to outsource the job to the third world. Those kids will work for peanuts, literally!

  • happy tappy (unregistered) in reply to Kluge Doctor
    Kluge Doctor:
    I also am reminded of the old days. I remember being able to determine which report was printing based on the rhythm of the dot matrix printer.

    I'd walk by a coworker's desk, give a quick listen: tap, tap, tap...tap... tap... tap, tap tap. "Oh, you're printing the sales report, eh?"

    Sounds like a daisy wheel printer, not a dot matrix.

Leave a comment on “The Intermittent Hum”

Log In or post as a guest

Replying to comment #163911:

« Return to Article