- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Very good of him. I'd have probably tried to forget it ever existed...
(fist?)
Admin
I would have likely rewritten it myself. shudders
Sadly, the closest WTF I've personally witnessed was perpetrated by one of my college professors.
Admin
I respect anyone who a) owns up to a prior mistake, and b) offers to fix it - for free.
Admin
Ah, a heartwarming happy ending for the holiday season. God bless us, every one!
Admin
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?
Admin
I admire a programmer who takes pride in his work like this. Well done!
Admin
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.
Admin
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?"
Admin
Sheesh, that WTF is rather buried in a sea of doing-the-right-thing...
Admin
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.
Admin
Simple. Just take the color cartridge out except when you need to print in color.
Admin
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.
Admin
Thats what I do. STOP STEALING MY IDEAS!!! :)
Admin
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.
Admin
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.
Admin
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.
Admin
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.
Admin
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?
Admin
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...
Admin
The real WTF is that this was done using Windoze.
Admin
Admin
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.
Admin
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.
Admin
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).
Admin
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.
Admin
Actually, for some reason or another, that doesn't stick. I wouldn't have mentioned it otherwise.
Admin
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.
Admin
He likely already was the last person to touch it.
Admin
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.
Admin
did he give the operations manager a bj after that?
Admin
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.
Admin
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.
Admin
Admin
Admin
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
Admin
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.
Admin
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.
Admin
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...
Admin
Daisy wheel printers are good for multi-part paper.
Admin
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.
Admin
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
Admin
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.
Admin
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).
Admin
Reading comprehension FTW.
So, yeah, whatever.
Admin
Spoken like a true code monkey.
Admin
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.
Admin
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.
Admin
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.
Admin
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!
Admin
Sounds like a daisy wheel printer, not a dot matrix.