• Anon (unregistered) in reply to Bobbo
    Bobbo:
    I'm quite enjoying all this arguing today, please continue!

    No, we won't.

  • Anon (unregistered) in reply to Unix Dev Head
    Unix Dev Head:
    "Winblows" -- how's that?!? It's my opinion (after having to use it as a developer for almost 20 years!), and I feel like expressing it. Don't tell me to "grow up" because I have an opinion. People that don't want others to have opinions need to "grow up". I ain't trying to get you guys to switch to Unix, and could care less what you write about it! Give me the same treatment.

    This stuff is said from experience, too!

    Is this better....?

    alias f='rm -rf $1' f /windows

    How about "I don't like Windows for these reasons"? Or "I prefer Unix because..."? Nobody is impressed by your witty and so original word play of calling it Winblows. It's you saying "Windows sucks, it crap and it smells like poo". Doesn't add anything to the conversation and makes you look like an idiot. But, hey, if you're okay with looking like a moronic spoiled child, then please don't let me stop you. Also, "ain't" isn't a word.

  • mace (unregistered) in reply to Drew
    Drew:
    Ya know, I imagine there would be another WTF if this was all in one file with dozens of checks to modify just a few lines.

    TRWTF is assuming something simple in a system you don't know will actually be simple.

    That's what I was tending to think... we don't really know anything about the kind of reports these guys are running or what different formats are needed. Can you be sure that it would be easier and cleaner overall to have everything in one report with dozens of conditionals all over the place for all of these cases? Doesn't sound like that would be any easier to change if, say, you had to add or change the format of one of the fields in just one report format. The article said that they were worried about how the alignment of the finished reports turned out; if it was all in one report, wouldn't he have to generate a test output of every possible case to see how the output looked in that case?

    This sounds to me like the sort of thing that there's just no really clean and easy way to do.

  • ell0bo (unregistered) in reply to MrOli

    I must be a horrible person then for how I handle this. I have had a few projects that needed refactoring, and got my company to let me. I explained that, while it will cost you money now to have me do it, when the company comes back and wants changes, then you can charge them just the same, but it will take less man hours. Explaining to them how they can get profit out of it usually works best.

    Sure, it cost me a few hours to refactor, but now it takes 15 minutes to change, and they can bill for 4 hours like before. Two changes pays for itself, after that...

  • Teemu (unregistered) in reply to Anon
    Anon:
    Nobody is impressed by your witty and so original word play of calling it Winblows.

    Of course not. But we're all oh-so-impressed when some Anon guy says "Saying winblows instead of windows automatically invalidates your argument." That's just so insightful, well argumented and mature comment.

    Not to mention how much value it adds to the conversation.

  • gilhad (unregistered) in reply to Anon
    Anon:
    Now you're trying to move the goal posts. This is the format the files are in already, what format they would've be better in is irrelevant. They are in MS Access and that's what the person in the story had to deal with. Given that, you suggestion of using sed is asinine.
    Ups sorry, i did not realize, that MS Access even does not have reliable import/export. I used that in PowerBuilder successfully, it also works in MS Excell, but yes, who would expect MS Access to have ALSO such intricate function?
  • gilhad (unregistered) in reply to ell0bo
    ell0bo:
    I must be a horrible person then for how I handle this..
    lol, i am horrible too - if i had to edit some crap, i simply added the refactorization of the part around it as inavoidable of the repair itself and had it counted so .. the project i had to work on them slowly became better and better and customer was not upset for paying 3000+n*10 for n edits instead of n*300 as he paid n*500 each time, until it got most WTF slowly refactored out. So he paid more, then for bad-fix, but much less than for total-cleaning and it went to be clean letar too.

    CAPTCHA: sino - am i sinfull for such cheating him to the right decision?

  • Capt. Obvious (unregistered) in reply to MrOli
    MrOli:
    Do you understand how to wire a house?
    It's been a while, and I'd want to review it before I tried it again, but at one point I did.
    MrOli:
    The attitude of 'get it done quickly, don't rock the boat, don't manage the project or expectations properly and get the fuck out of there as soon as possible' gives us all a bad name.
    As others have pointed out, it's worth giving them a choice. My boss used to be a programmer. Sometimes he tells me to do it elegantly, sometimes with a hack. A hack is valuable if, for instance, you need to patch a fatal flaw, or are adding it to version 1.x while 2.0 is a good ways in.
  • (cs) in reply to JamesQMurphy
    JamesQMurphy:
    tonio:
    Well-written, maintainable, robust code is better for both the programmers and the clients, most of the time. It's a pity some (most?) clients don't see that. :(

    I agree with that statement.

    But I don't think creating well-written, maintaintable, robust code costs you all that much more, and in the long run, costs you less, because you don't incur the technical debt. Foisting your techincal debt onto your customer -- in other words, making them pay extra for the stuff you should have done right the first time -- makes you less competitive.

    You're missing the point. He didn't create the monstrosity in the first place, he's had to take it over from some idiot who did. Therefore, they (from his point of view, not him) should be paying for the mistake - but there is no way for the new dev to make the old dev do that, so he should pawn it off to the company in between, as they presumably have a contract on hand with which to beat the old developer/company.

  • ih8u (unregistered) in reply to Maxx Delusional
    Maxx Delusional:
    buzzomatic:
    fusspawn:
    Please check comment file R_NEWCOMMENT/WTFCOMMENT for my comment

    Ugh, do we have to do this for every 'wtf', It's rarely funny or even slightly amusing.

    I disagree. I think it's always funny. Keep up the good work!

    Yeah, you're just mad because you aren't fast enough to post it first.

    You can still always do one of those "TRWTF is X" where X may have little or no relevancy to the topic at all.

    Or the Captcha thing: facilisi -- it helps cells move

  • MrOli (unregistered) in reply to ell0bo
    ell0bo:
    ...but it will take less man hours. Explaining to them how they can get profit out of it usually works best.

    Sure, it cost me a few hours to refactor, but now it takes 15 minutes to change, and they can bill for 4 hours like before. Two changes pays for itself, after that...

    FEWER man hours.

    Perfect. It should cost them less over time as you recoup your losses from going over hours on the refactoring - everyone wins :-)

  • (cs) in reply to CaRL
    CaRL:
    Why in a thousand years would you pay good money to a vendor who puts your text files in such a miserable inscrutable excuse for a filesystem with a secret format,

    Who the hell said a report is a text file?

    That's like saying .EXE is an evil secret format because source code is a text file.

  • MrOli (unregistered) in reply to Capt. Obvious
    Capt. Obvious:
    MrOli:
    Do you understand how to wire a house?
    It's been a while, and I'd want to review it before I tried it again, but at one point I did.
    MrOli:
    The attitude of 'get it done quickly, don't rock the boat, don't manage the project or expectations properly and get the fuck out of there as soon as possible' gives us all a bad name.
    As others have pointed out, it's worth giving them a choice. My boss used to be a programmer. Sometimes he tells me to do it elegantly, sometimes with a hack. A hack is valuable if, for instance, you need to patch a fatal flaw, or are adding it to version 1.x while 2.0 is a good ways in.

    I agree, entirely.

    There's many problems with this forum, one being that it's hard to follow a thread.

    This is exactly what I was saying to start with - essentially, take pride in what you're doing, talk your customer into doing it properly, maybe you need to take the odd shortcut but do it consciously and with an idea in your head of how you'd prefer to do it - and make sure you fix it later.

    Leave a good legacy. Document your hacks. Leave FIXMEs in your code. Write what you actually did in your story. Write what you should have done in your todo list. Give the client choice. Educate them enough to make that choice. Build enough trust through good practices and well explained specs, deals, suggestions, reminders, contact that your opinion is valuable to them.

    There'll always be a need to rebuild something in the future as your clients change and grow. But they wont see that without the trust.

  • (cs) in reply to Anon
    Anon:
    Also, "ain't" isn't a word.

    Actually it is. It is the contraction of 'am not', so it was, in fact, used in the correct way by Unix DevHead.

    People also use it as a contraction of 'is not' or 'are not', but those are incorrect.

    'I ain't a Unix fan' is correct English 'He ain't clever' is not correct English 'You ain't either' also is not correct English

  • Jay (unregistered) in reply to CaRL
    CaRL:
    Kevin:
    CaRL:
    $ sed -f editscript -i *
    In MS Access?
    The "sed" command is available for free on every major platform: Linux, Unix, OS X and yes even Winblows.

    You're apparently assuming here that the same change will work on every one of these similar programs. How do you know that? Even if it's true, you'd have to open every program and read it to find out. In my experience, what's terrible about the cut-and-paste approach to programming is not that we end up with 50 copies of the same code and so have to make the same change 50 times, but rather that we end up with 50 very similar but not quite the same blocks of code, and so every change must be analyzed 50 times.

  • dc (unregistered) in reply to Unix Dev Head
    Unix Dev Head:
    "Winblows" -- how's that?!? It's my opinion (after having to use it as a developer for almost 20 years!), and I feel like expressing it. Don't tell me to "grow up" because I have an opinion. People that don't want others to have opinions need to "grow up". I ain't trying to get you guys to switch to Unix, and could care less what you write about it! Give me the same treatment.

    This stuff is said from experience, too!

    Is this better....?

    alias f='rm -rf $1' f /windows

    There's your problem - you're trying to run Windows on a unix box!

    cmd:
    C:\>alias f='rm -rf $1' 'alias' is not recognized as an internal or external command, operable program or batch file.
  • Anon (unregistered) in reply to Teemu
    Teemu:
    Anon:
    Nobody is impressed by your witty and so original word play of calling it Winblows.

    Of course not. But we're all oh-so-impressed when some Anon guy says "Saying winblows instead of windows automatically invalidates your argument." That's just so insightful, well argumented and mature comment.

    Not to mention how much value it adds to the conversation.

    Yes, I think pointing out other people's bias and how it effects their argument is relevant. Also, I was paraphrasing what somebody else said. The original post was arguing for a solution (sed) that wouldn't work in the context of the original story (using MS Access) and when it was pointed out to them they resorted to sulking about how Windows blows (Winblows) rather than admitting to not understanding the problem in the first place. I was pointing out their immaturity.

  • Jay (unregistered) in reply to Anon
    Anon:
    Also, "ain't" isn't a word.

    Hmm, who says? I suppose you'll say that it's not in the dictionary, therefore it's not a word.

    According to thefreedictionary.com, a "word" is "A sound or a combination of sounds, or its representation in writing or printing, that symbolizes and communicates a meaning and may consist of a single morpheme or of a combination of morphemes." Other dictionaries have similar definitions.

    "ain't" is a representation in writing or printing of a combination of sounds that communicates a meaning. Therefore, by the dictionary defition, "ain't" is a word. You could, of course, say that you don't accept the dictionary definition of the word "word", but if the dictionary is not a suitable authority to define "word", then how is it a suitable authority to not-define "ain't"?

    I think "isn't" ain't a real word.

  • (cs) in reply to Anon
    Anon:
    Yes, I think pointing out other people's bias and how it effects their argument is relevant...

    Agreed fully. There are just too many people on the internet that somehow confuse the right to free speech with the right to spew arrogant, clueless polemic.

    CaRL:
    Why in a thousand years would you pay good money to a vendor who puts your text files in such a miserable inscrutable excuse for a filesystem with a secret format, when there are plenty of better tools that are free, open, accessible, and readable?

    So, anyway, didn't we have some other guy around here some months ago that thought flat text files were superior to relational databases? How was his name again...?

  • Bob (unregistered) in reply to MrOli
    MrOli:

    You're in a position of trust. You quote your customer on what it will take to get the job done properly. Doing it right and finishing the job properly will cost 10% of what it will cost to build something unmaintainable.

    The customer is as educated as you make him. Not understanding your job doesn't make him 'stupid'. If he understood your job, he wouldn't need you. Do you understand how to wire a house?

    I see you've learned nothing from Alex's examples of others' mistakes. The attitude of 'get it done quickly, don't rock the boat, don't manage the project or expectations properly and get the fuck out of there as soon as possible' gives us all a bad name.

    Makes me wonder if you're an academic. Let me tell you how it works in the real world:

    1. Customer asks for something.
    2. You tell them you can do it "The Right Way"(tm) and save them enormous amounts of money later, but it will take a few days longer than the quick-and-dirty approach that they will ultimately regret.
    3. Customer informs you that they want the quick-and-dirty approach, because they need it now.
    4. You carefully explain why "The Right Way"(tm) is what they really want, because they will forever regret opting for the quick-and-dirty approach.
    5. Customer informs you that you have convinced them that "The Right Way"(tm) is better, that it will save enormous amounts of money, and that it is the choice that they should make...except they need it now, so they'll take the quick-and-dirty approach instead.
    6. You crawl back to your cube and start coding up a shameful hack and hope your mother never finds out what you do for a living.

    Sure, there are the "don't rock the boat" folk who would just offer the quick-and-dirty solution to make life easy for themselves, or simply because they don't know any better. However, there are others who do make the effort but still fail to get it done "The Right Way"(tm).

    Who is right and who is wrong? It depends. Sometimes there is a justification for the quick-and-dirty approach. Sometimes you need to hit a deadline in order to make a sale; if you don't make the sale, then it doesn't matter if you did things "The Right Way"(tm) or not: you are out of business. On the other hand, sometimes managers just like to wave Gantt charts about and tell their superiors that they can do things faster and cheaper than some other guy. They don't want to hear the arguments for doing it "The Right Way"(tm). Just like the bankers, they take big risks to make themselves look good in the short term. They expect they'll be promoted and the problem will come back to haunt the next guy. They can always blame it on the technical team for not convincing them to do it "The Right Way"(tm). This is where a paper trail comes in handy.

  • Franz Kafka (unregistered) in reply to Addison
    Addison:
    CaRL:
    Why in a thousand years would you pay good money to a vendor who puts your text files in such a miserable inscrutable excuse for a filesystem with a secret format, when there are plenty of better tools that are free, open, accessible, and readable?

    Because it's cheaper and easier (90+% of the time). Close to zero people outside of our profession care about anything else when it comes to any kind of programmable solution.

    well, 90% of everything is crap. The other 10% care about maintainable code because it makes maintenance cheaper and less risky.

  • (cs) in reply to kastein
    kastein:
    You're missing the point. He didn't create the monstrosity in the first place, he's had to take it over from some idiot who did. Therefore, they (from his point of view, not him) should be paying for the mistake - but there is no way for the new dev to make the old dev do that, so he should pawn it off to the company in between, as they presumably have a contract on hand with which to beat the old developer/company.

    If the old developer and new developer are from different companies, then yes, I agree with you. But I was assuming that the new developer was working for the same company as the old developer. True, the new guy didn't create the WTF, but he is now part of the company that did, and the company should be paying for it.

    That said, the new guy should not work a single penny's worth of unpaid overtime to correct the idiot's WTF.

  • (cs) in reply to Bob
    Bob:
    ...Just like the bankers, they take big risks to make themselves look good in the short term. They expect they'll be promoted and the problem will come back to haunt the next guy...

    I was wondering when somebody was going to make the comparison between technical debt and subprime mortgages. (I do think it's a valid comparison.)

  • Usually not a *nix toolset skeptic (unregistered) in reply to CaRL

    I think SED would yield "unanticipated consequences"* if you tried to stream-edit an Access MDB. I'm just sayin'.

    Now, Perl, on the other hand...

    *"unanticipated consequences" means "puke all over the fidgety, over-engineered database file format, yielding an unusable database suitable only for deletion". Which, in a fashion, is a valid way to force the issue. "We have to refactor, i just boogered up the original (crufty) database. It's not a catastrophe, it's an opportunity!"

  • Some Software Engineer (unregistered) in reply to MrOli
    MrOli:
    You're in a position of trust. You quote your customer on what it will take to get the job done properly. Doing it right and finishing the job properly will cost 10% of what it will cost to build something unmaintainable.

    The customer is as educated as you make him. Not understanding your job doesn't make him 'stupid'. If he understood your job, he wouldn't need you. Do you understand how to wire a house?

    I see you've learned nothing from Alex's examples of others' mistakes. The attitude of 'get it done quickly, don't rock the boat, don't manage the project or expectations properly and get the fuck out of there as soon as possible' gives us all a bad name.

    Doing it right up front = Eager Defect Removal Doing it quick, fixing problems later = Lazy Defect Removal

    BOTH strategies have their place, and are surprisingly analogous in application to eager and lazy strategies found in software development.

    If you are writing a 15 minute throw-away program to import data once, don't waste an hour designing it. Conversely, if you've got an eCommerce website you expect to maintain for 10+ years, don't underestimate the importance of investing an hour to make the new component work right.

    Sometimes the information necessary to make this decision isn't available at the software development level. So, I inform my boss about the risks and let him make the decision. As long as I'm honest and communicate all the information I have in an unbiased manner, I feel that's all that is required of me.

  • Stewart Smalley (unregistered) in reply to Jay
    Jay:
    Anon:
    Also, "ain't" isn't a word.

    Hmm, who says? I suppose you'll say that it's not in the dictionary, therefore it's not a word.

    According to thefreedictionary.com, a "word" is "A sound or a combination of sounds, or its representation in writing or printing, that symbolizes and communicates a meaning and may consist of a single morpheme or of a combination of morphemes." Other dictionaries have similar definitions.

    "ain't" is a representation in writing or printing of a combination of sounds that communicates a meaning. Therefore, by the dictionary defition, "ain't" is a word. You could, of course, say that you don't accept the dictionary definition of the word "word", but if the dictionary is not a suitable authority to define "word", then how is it a suitable authority to not-define "ain't"?

    I think "isn't" ain't a real word.

    Is a fart in your general direction a word?

  • The SuperFreek (unregistered) in reply to Steve
    Steve:
    Maxx Delusional:
    buzzomatic:
    fusspawn:
    Please check comment file R_NEWCOMMENT/WTFCOMMENT for my comment

    Ugh, do we have to do this for every 'wtf', It's rarely funny or even slightly amusing.

    I disagree. I think it's always funny. Keep up the good work!

    "In Soviet Russia, comment checks you!"

    Now THOSE comments never get old!

    I, for one, welcome our new comment-checking overlords!

  • justsomedude (unregistered) in reply to Anon
    Anon:
    Also, "ain't" isn't a word.

    Get an updated dictionary or check one for free online before ranting about inconsequential BS like saying "winblows" or "Ain't"

    "Ain't" is in fact a word, and has been so for quite some time (I dare you to find a reputable dictionary published this decade that doesn't list it). "Guesstimate" is official now too.

  • Peets (unregistered) in reply to MrOli
    MrOli:
    Adam:
    snoofle:
    Any bets the last 20 developers in that job all saw the ever-growing list of nearly identical files and instead of refactoring, just followed the pattern to get it done quickly and give them more time to find another job?
    Usually the customer doesn't want to pay for refactoring; the customer (employer) just wants someone who will get it done quickly. Never mind that it costs more in the long run. That is the customer's choice how they want to spend their money, not yours.

    If you are lucky enough to work for an educated customer, great. Idiots need to be separated from their money as quickly as possible to minimize the harm they can inflict on the rest of the world.

    Seriously?

    You're in a position of trust. You quote your customer on what it will take to get the job done properly. Doing it right and finishing the job properly will cost 10% of what it will cost to build something unmaintainable.

    The customer is as educated as you make him. Not understanding your job doesn't make him 'stupid'. If he understood your job, he wouldn't need you. Do you understand how to wire a house?

    I see you've learned nothing from Alex's examples of others' mistakes. The attitude of 'get it done quickly, don't rock the boat, don't manage the project or expectations properly and get the fuck out of there as soon as possible' gives us all a bad name.

    I'm in the middle here. I would give education a shot, and then again. After that I would move to the "idiots" and "separation" modus operandi. I have come across enough grade A idiots to understand the default move, but I think everyone is always worth one try, and one extra try is for my integrity (and I mean serious try - I prefer to do things right).

    But you can only lead a horse to water - some you'd have to drown to make them drink..

  • sparr (unregistered) in reply to Kevin
    Kevin:
    CaRL:
    $ sed -f editscript -i *

    What's so hard about that?

    (Command Line Interface: easy to use, unless you're not sure what you want to do.)

    In MS Access?

    A serious question... Does Access 2007 use an XML-ish file format like the other Office 2007 products? If so, that would make a lot more of the system able to be manipulated in text format, with tools like sed.

  • sam power (unregistered) in reply to snoofle
    snoofle:
    Any bets the last 20 developers in that job all saw the ever-growing list of nearly identical files and instead of refactoring, just followed the pattern to get it done quickly and give them more time to find another job?

    made my day

  • Dasboot (unregistered) in reply to MrOli
    MrOli:
    Adam:
    snoofle:
    Any bets the last 20 developers in that job all saw the ever-growing list of nearly identical files and instead of refactoring, just followed the pattern to get it done quickly and give them more time to find another job?
    Usually the customer doesn't want to pay for refactoring; the customer (employer) just wants someone who will get it done quickly. Never mind that it costs more in the long run. That is the customer's choice how they want to spend their money, not yours.

    If you are lucky enough to work for an educated customer, great. Idiots need to be separated from their money as quickly as possible to minimize the harm they can inflict on the rest of the world.

    Seriously?

    You're in a position of trust. You quote your customer on what it will take to get the job done properly. Doing it right and finishing the job properly will cost 10% of what it will cost to build something unmaintainable.

    The customer is as educated as you make him. Not understanding your job doesn't make him 'stupid'. If he understood your job, he wouldn't need you. Do you understand how to wire a house?

    I see you've learned nothing from Alex's examples of others' mistakes. The attitude of 'get it done quickly, don't rock the boat, don't manage the project or expectations properly and get the fuck out of there as soon as possible' gives us all a bad name.

    You've obviously never worked at a real job where despite your best intentions of writing as little code as possible, the simplest and most straightforward and maintainable solution is to have 1 template per variation. You either have a coder maintain all the permutations or you have a noob maintain a few files. Can you figure which is cheaper and easier?

  • Sigivald (unregistered)

    "Some people, when faced with a [Unix] problem, think "Aha, I know, I'll use sed.

    Now they have two problems."

  • Tuppence (unregistered) in reply to justsomedude
    justsomedude:
    Anon:
    Also, "ain't" isn't a word.

    Get an updated dictionary or check one for free online before ranting about inconsequential BS like saying "winblows" or "Ain't"

    "Ain't" is in fact a word, and has been so for quite some time (I dare you to find a reputable dictionary published this decade that doesn't list it). "Guesstimate" is official now too.

    I ain't going to do that, I'll trust your guesstimate that it has been legit for a decade ain't too far off...

  • Mentativ (unregistered) in reply to Anon
    Anon:
    Bobbo:
    I'm quite enjoying all this arguing today, please continue!

    No, we won't.

    Yes, WE WILL!!!

  • (cs) in reply to ih8u
    ih8u:

    Yeah, you're just mad because you aren't fast enough to post it first.

    You can still always do one of those "TRWTF is X" where X may have little or no relevancy to the topic at all.

    Or the Captcha thing: facilisi -- it helps cells move

    Noone has mentioned xkcd yet.

  • (cs) in reply to sparr
    sparr:
    A serious question... Does Access 2007 use an XML-ish file format like the other Office 2007 products? If so, that would make a lot more of the system able to be manipulated in text format, with tools like sed.

    Manipulating XML with regexes? Well, have fun...

    But once again, why? It's a goddamn relational database, so use SQL (or shudder QBE) to manipulate it. What busyness do you have in its internal storange?

  • (cs) in reply to DaveK
    DaveK:
    snoofle:
    Any bets the last 20 developers in that job all saw the ever-growing list of nearly identical files and instead of refactoring, just followed the pattern to get it done quickly and give them more time to find another job?
    Plus also if you don't refactor them, you get to add Easter Eggs. See if *you* can guess which one of those files contains the words "I hate this shitty job" where the firm's letterhead should be!
    fgrep -i "I hate this shitty job" *
  • (cs) in reply to Anon
    Anon:
    using "Winblows" in place of the "Windows" immediately invalidates your opinion. Goodbye, see you next conversation.
    Quite right. The correct spelling is "WinD'oh!s"
  • ibiwan (unregistered) in reply to Alistair Wall
    Alistair Wall:
    ih8u:

    Yeah, you're just mad because you aren't fast enough to post it first.

    You can still always do one of those "TRWTF is X" where X may have little or no relevancy to the topic at all.

    Or the Captcha thing: facilisi -- it helps cells move

    Noone has mentioned xkcd yet.

    Yes they have!

  • justsomedude (unregistered) in reply to Mentativ
    Mentativ:
    Anon:
    Bobbo:
    I'm quite enjoying all this arguing today, please continue!

    No, we won't.

    Yes, WE WILL!!!

    \

    For SPARTA!

  • Brian (unregistered) in reply to buzzomatic

    Are you kidding? This is the only reason I read the comments.

  • aBrase (unregistered)
    Anon:
    Also, "ain't" isn't a word.
    "ain't...also an't...1a: are not...b: is not...c: am not...2 substand a: have not...b: has not" --Webster's Third New International Dictionary, 1966

    "Hark thee, shoemaker, these shoes ain't ugly, but they don't fit me." --Sir John Vanbrugh, The Relapse, 1696

    "'Ow quick we'd drop 'er! But she ain't!" --Rudyard Kipling, The Return, c.1902

    "You ain't heard nothin' yet, folks." --Al Jolson, The Jazz Singer, 1927

  • (cs) in reply to aBrase
    aBrase:
    Anon:
    Also, "ain't" isn't a word.
    "ain't...also an't...1a: are not...b: is not...c: am not...2 substand a: have not...b: has not" --Webster's Third New International Dictionary, 1966

    "Hark thee, shoemaker, these shoes ain't ugly, but they don't fit me." --Sir John Vanbrugh, The Relapse, 1696

    "'Ow quick we'd drop 'er! But she ain't!" --Rudyard Kipling, The Return, c.1902

    "You ain't heard nothin' yet, folks." --Al Jolson, The Jazz Singer, 1927

    "Yes, even we list this one, old chap." --Oxford English Dictionary

    "You ain't seen nothin' yet." --Bachman-Turner Overdrive, 1974

  • real-modo (unregistered) in reply to Bobbo
    Bobbo:
    I'm quite enjoying all this arguing today, please continue!
    No, you're not!
  • (cs) in reply to sparr
    sparr:
    A serious question... Does Access 2007 use an XML-ish file format like the other Office 2007 products? If so, that would make a lot more of the system able to be manipulated in text format, with tools like sed.
    Nope, it replaces the old proprietary binary format (.mdb) with a new proprietary binary format (.accdb). And an empty database (Create Database, save, exit) takes up 280 KB, up from 184 KB in .mdb format.
  • David (unregistered) in reply to snoofle
    snoofle:
    Any bets the last 20 developers in that job all saw the ever-growing list of nearly identical files and instead of refactoring, just followed the pattern to get it done quickly and give them more time to find another job?

    (looks at the ground and shuffles feet)

    Hey, we've all done it!

    At least it makes it obvious for the next developer.

  • David (unregistered) in reply to pscs
    pscs:
    MrOli:
    Seriously?

    You're in a position of trust. You quote your customer on what it will take to get the job done properly. Doing it right and finishing the job properly will cost 10% of what it will cost to build something unmaintainable.

    You miss the point. The suggestion was that the original developer made a mess. When asked to make a slightly modified report, a subsequent developer has two choices:

    • fix the original mess, make it easier to modify reports in the future, make the modified report - $3000, future report modifications cost $10 to make
    • keep the current mess, and make a modified report, thus perpetuating said mess - $300

    A good developer would give the customer both options, and may even try to push the more expensive one. The typical customer just sees the prices and that both options have the result of making the modified report, and either thinks the developer is just trying to pull a fast one, or will 'think about it for later' - whatever, they'll usually go for the 'get the job done cheaply' option.

    Also, they may think that this "will be the only modification we want", so $300 is obviously better than $3000. Even if they can foresee 5 modifications, $1500 is better than $3000. The problem is that by the time they have done those 5, they can foresee another 5. Now the $1500 is money down the drain, so it's not worth spending $3000 now, since "there can only possibly be another 5 modifications, can't there?", and so on.

    All a good developer can do is give the customer the options, and then post the results here.

    The thought occurs that a businessman who doesn't have the chops to understand the implications of the decision is pretty much a dinosaur these days. They may as well try to do business without other essential business tools, like double-entry book keeping, filing systems, or an alphabet.

    I know some businessmen and other end users who will slag off the IT people for not keeping them away from the technical details. Would they expect their lawyer or accountant to have to deal with such complete ignorance?

  • David (unregistered) in reply to Anon
    Anon:
    Unix Dev Head:
    "Winblows" -- how's that?!? It's my opinion (after having to use it as a developer for almost 20 years!), and I feel like expressing it. Don't tell me to "grow up" because I have an opinion. People that don't want others to have opinions need to "grow up". I ain't trying to get you guys to switch to Unix, and could care less what you write about it! Give me the same treatment.

    This stuff is said from experience, too!

    Is this better....?

    alias f='rm -rf $1' f /windows

    How about "I don't like Windows for these reasons"? Or "I prefer Unix because..."? Nobody is impressed by your witty and so original word play of calling it Winblows. It's you saying "Windows sucks, it crap and it smells like poo". Doesn't add anything to the conversation and makes you look like an idiot. But, hey, if you're okay with looking like a moronic spoiled child, then please don't let me stop you. Also, "ain't" isn't a word.

    Ain't is a word. It's in the OED, and it has been part of the English language for over 200 years. Look it up.

    Look up pompous too, while you're at it.

  • David (unregistered) in reply to pscs
    pscs:
    Anon:
    Also, "ain't" isn't a word.

    Actually it is. It is the contraction of 'am not', so it was, in fact, used in the correct way by Unix DevHead.

    People also use it as a contraction of 'is not' or 'are not', but those are incorrect.

    'I ain't a Unix fan' is correct English 'He ain't clever' is not correct English 'You ain't either' also is not correct English

    It's a contraction of "are not", "am not", and sometimes "has not". So the first (am not) and last (are not) examples are both commonly used English, the second (is not) isn't.

    Although sometimes "isn't" is further contracted to i'nt/i'n't (pronounced int), which sounds a lot like ain't. (Not to be confused with the obsolete in't (also pronounced int), a contraction of "in it".

    For example:

    English is a funny language i'n't it?

    MS Access has got the devil in't.

Leave a comment on “Just a Small Change to the Invoice”

Log In or post as a guest

Replying to comment #:

« Return to Article