• blabla (unregistered) in reply to Tom
    Tom:
    hamBone:
    I am far from a VB guru, but what in the name of binary is the teller=teller line about?
    It was running on a symmetrical multiprocessor. You need the same number of instructions on both branches of an "if" statement, to maintain symmetry.

    I don't think teller = teller + 1 produces the same amount of instructions as teller = teller

  • Hans (unregistered) in reply to Waffle
    Waffle:
    Well, I'm the submitter of this ... thing, and yea it's really as bad as it sounds.

    For those wondering, it was a Belgo-Dutch bankinsurer (notice the use of the past tense).

    Ah, you mean FORTIS. Well, I'm not surprised - they certainly managed to make a mess of my mortgage. Oh, and they "accidentally" (and without telling me!) stole about 20,000 euro of my money.

    The IT-fuckups I've seen come out of that particular outfit have been staggering over the years. Matched only by the malice of its management, really...

  • (cs) in reply to hamBone
    hamBone:
    I am far from a VB guru, but what in the name of binary is the teller=teller line about?
    Optimization. His pseudo-code was supposed to be teller=teller+0, but he knew that addition wouldn't change the outcome and so he just assigned teller to teller.
  • Microfrost (unregistered) in reply to Wongo
    Wongo:
    In American, Teller = !Penn. Five of clubs anyone ?

    You mean the three of clubs.

  • nobuddy (unregistered) in reply to DaveK
    DaveK:
    I had another one that I can't quite remember the details of now, something to do with shifting an integer left and it suddenly turning into a long int and either a) not turning negative as I had expected when I OR'd in 0x80000000, and/or b) throwing an exception when I tried to mask it by ANDing with an integer value. Don't quite remember the exact details any more, but it was a WTF moment for me when I finally figured out that the type of the result of an operator could vary according to the particular integer values it was applied to.

    If you want to write C, just write in C.

  • (cs) in reply to Josh
    Josh:
    Wyrd:
    ...but the hype always said that Python makes programming easy, so maybe it's harder to *accidentally* produce bad code in it?

    You know, that's one thing I've never seen: a Python WTF. Anyone care to share? I'd pony up a $10 reward for Python WTF's but I'm too cheap.

    X='''import#cSNf=cS.S("=a32;19;=b46;=c43;=d126;16,19;=e58;=f120;fccee=g10;19,46;e=h96;ba=i45;11,61;=j33;j=k88;
    jd=l34;=m63;jhdjdjbaeieb19,55;=n60;14,114;jjj=o72;lebdaeecjddjjjdah=p37;k20,58;=q39;13,14;ddj=r77;jj=s62;jjkmj
    9;bbbjd20,60;13,130;jejrrjdekr7,54;ejbbdajbaahn20,179;eahaaaedabendjjrjkkorjjjkjkko=t116;rroookjaadad17,62;ddd
    dnqadjjjej4;krjjrjjjkorrr=u82;r=v83;kkk6,134;eaanh19,126;hnaane7,61;jkm6,64;krrrrkkrrrrm6,257;mjed17,190;eaqdd
    dnjjjkrrojjkrkrkookkk6,253;rrrrvk9,132;j14,193;eaaaaeehd7,42;kkktr10;o7,54;orrrrr6,13;e18,260;qdedj8,109;18;6,
    125;rmmrrrrjjkjj=w105;17,623;ndn7,317;11;=x56;rx7,8;6,71;8,517;kjmtmj17,68;deddjjjjm6,62;=y64;ryuruuu=z36;yyrr
    uru7,141;vk7,103;knmkj14,68;ekkan7,442;rxxrrxx=A66;uzrzzzzxyxu=B78;x6,138;rrrokk6,103;kjj13,69;bekjankrvrxryyz
    18;Axuz9,71;9,291;jk11,69;ejmjajm6,268;xzzzzx15,68;Auzzrrry14,70;j11,70;dnjjdan6,235;A19,136;5;rruzxruz14,71;1
    2,348;edddajekjk7,139;19;u6,142;ruxB13,73;njhig6,410;njedhdqejeorrxB24,144;zxrurrxuz8,431;rrurrrkjgaajkjhhddaa
    aedkrmvrrz23,216;7,286;zyuzr7,219;zrrrrkm=D76;gakdb8,764;hjjjrr=F35;zuu18,211;7,6;rzrruuu7,643;rr6,233;jmegaja
    dandaajjajjdhhaejjr11,74;urrjmjmmuumFux6,138;urzu7,722;zrrrjrjesgeaqasjdaqjjaajaaab10,365;yzzzuxxxorrjjkko=G87
    ;kzxzurzru=H53;6,582;uzzyrrrjjjnadgjaaqajaadjjaejekkok6,36;15,358;8,5;rr6,735;8,221;z6,75;jgadnjjjaajjja8,1024
    ;6,34;25,586;rzrzz6,941;uzz8,944;=I47;ehgaad10,77;11,994;13,152;uzu9,392;rrrrzur6,78;zzzrx8,1151;egaajdadaajjd
    akrrrp6,975;km9,157;Az6,1267;omruz6,294;zzyzxz7,561;Az8,78;gaadjaaaajjaqkrrmd7,1289;kj7,78;rurrrmjprrroj8,808;
    zzzrr8,916;ruy6,1638;gaans7,77;ajr=J102;afyFldjtmrdj8,529;rmk=K98;yjdhmmrvzryrrry6,1178;9,563;9,385;ajaaaaq6,9
    65;ejmraaajyjrnkrzzuHrzxrrrzjaikkkrrurA6,308;rryzuzA6,171;kmmjk12,77;aajjkjjjmeefojorerrzurxrzuorrrkbbb6,415;z
    urru8,899;9,1198;kjj6,906;6,1122;aajjmeeejjjrkrudj6,942;6,47;vjjrm6,1727;rzzrz8,761;7,228;rrrp6,154;6,2193;daa
    jddk7,1404;mdak6,947;7,46;11,1257;zx9,13;6,29;mjrrrpo14,1484;jjjjkv6,1857;ab11,703;AAx11,80;u10,143;9,1709;jmo
    jk12,1423;a6,838;6,412;7,289;8,703;x6,442;ry10,1563;8,42;k8,1716;kr7,77;daaan9,1829;ure11,780;x16,933;9,1355;m
    jrrjrxrkkjjItj8,77;qaaad9,921;rdjrrxyxrrrjrr17,1585;8,157;7,1889;zxrujrkjr8,77;aaaaq10,141;q7,657;rrkrk17,1013
    ;8,307;jj7,697;7,1517;22,77;j8,77;7,55;18,1080;6,881;j8,116;zzrzr13,77;a7,308;zrja6,1379;urrxzxrk14,1683;B7,77
    ;jjjmruuzzukrzzru16,77;mkrrzzrbn8,89;v=M85;vurkrz12,389;Fz7,77;kjt7,1470;orurrkzgaaaa=P44;iPaaaqjjjrrzurvrkebm
    jkrouuzurxx10,540;u7,385;jrrkrojr7,266;uBrrkjzgaaaiqh6,927;12,2370;xzurrxrAruurux8,1060;x7,1463;6,570;jruzrrjr
    7,2290;6,154;7,385;kk8,77;yurrzrryzzA9,1357;6,1404;y6,386;7,2555;zrurjkojjmmkr13,539;hjjjrmro8,1123;u6,57;uy9,
    1055;7,309;G7,77;jrzurrjjbrrjprmd17,924;6,234;Arrzzuurrru6,674;6,548;8,469;r6,217;jJFurdaaaahdjjj14,77;djjokjj
    djm6,46;m7,8;11,1058;12,616;r14,2478;qjjjrkjehddhdd6,3231;jkrjjjm6,2631;6,139;rr6,370;14,61;ajjdryrkbban6,1367
    ;jkorokjjhh7,2423;rrzzAz7,661;15,60;jmrurrjejkor9,968;jaakjvrrkzzrrzzzurkrrr15,2930;j6,203;s10,1868;krrjjej6,2
    134;Au6,555;r18,58;hmojrzusqrr6,295;jrr=Q54;jkjk7,1748;7,976;kzJ15,2909;hrkrzxka11,1019;6,299;11,56;ukyl17,296
    4;rmzrr6,872;k8,55;k6,405;xzkrzzurj18,3349;jkr9,54;k6,401;o8,459;uozzr15,3272;6,1139;mrrahm6,270;k6,1409;9,114
    8;zzF18,3451;hsrr=R107;adrro9,49;8,2626;rzr17,205;aaadhmrbajrmrkrjkzzy10,1978;19,96;aaahjraajjrrjkx7,137;zzrrF
    20,3593;aaaajpahdddk6,2467;rzzuu25,44;ajjfefo10,2369;=U42;25,42;ad6,720;uuury26,126;aaahdmmmrrrmrl27,38;aaaahh
    ddg").read;r=L:(Lc:c#and#ord(c))(f(1));m=Ln=0:(Lc:(L:m((c-48)+n*10),L:(n,c))[c#in("",59,44)]C)(rC);OcS.SC;w=o.
    write;v=o.getvalue;q={};t=i=0;Nwhile#1:TOrCTif#O=61:c=rC;n,OmC;q[c]=n;w(chr(n));t=nE48<=o<58:l,Om(o-48);b=-(L:
    [1],m)[O=44]C[0];[w(vC[b])for#z#in#xrange(l)]Enot#o:breakTelse:t=q[o];w(chr(t))Nprint#vC''';b=dict((x[0],x[1:]
    )for x in'Llambda |SStringIO|N\n|T\n |E\n elif |Oo=|C()|# | |\n'.split('|'));exec''.join(b.get(c,c)for c in X)
    

    This is deliberate, though...

  • eb0ny (unregistered)

    http://www.python.org/doc/faq/programming/#is-it-possible-to-write-obfuscated-one-liners-in-python

    Even official Python FAQ says it is possible.

  • Matimus (unregistered) in reply to Wyrd

    I'm a huge fan of and advocate for Python. However, I have seen what happens when a huge organization (of engineers with just enough programming experience to be dangerous) is forced over to Python. The result makes me weep. There are volumes of bad code. Most of the code is just for short test scripts, but every once in a while someone gets the idea to completely rewrite a framework. The best you can say is that the WTFs don't tend to be front page worthy, though I haven't had the time to really dig.

  • Gentoo-Troll (unregistered) in reply to Josh
    Josh:
    Wyrd:
    ...but the hype always said that Python makes programming easy, so maybe it's harder to *accidentally* produce bad code in it?

    You know, that's one thing I've never seen: a Python WTF. Anyone care to share? I'd pony up a $10 reward for Python WTF's but I'm too cheap.

    Portage. http://www.gentoo.org

    Give me your paypal login/password and I'll just send the money to myself.

  • CodeReview (unregistered) in reply to Code Dependent
    Code Dependent:
    Voodoo Coder:
    Here's a 3 line solution that checks the first row:

    If WorksheetFunction.CountA(Range("1:1")) = 0 Then

     rowIsEmpty = True
    

    End If

    Why even bother with the If statement?

    rowIsEmpty = (WorksheetFunction.CountA(Range("1:1")) = 0)

    god damn we see this all the time in code reviews... bool returnVal; if (expression == true) { returnVal = true; } else { returnVal = false; } return returnVal;

    can we all just agree that return (expression == true); does the same thing and stop fucking around?

  • (cs) in reply to MisterCheese
    MisterCheese:
    Thought it was C-pound?
    That is C-Orthocrop (C orthocrop run. Run orthocrop, run)
  • Jimmy Jay (unregistered) in reply to Procedural
    Procedural:
    One thing that annoys me with the way the story is told is this: obviously this is an old institution. Some guy (Rob) has the foresight to replace what must have taken a whole cadre of employees a large chunk of time to do manually or on outdated equipment and makes it so that it can be done with comparatively minimal staff. He's no programmer (he says that doing VB is a hobby), he's an HR guy with competencies beyond those of the typical HR person. Good for him. Great for the company too.

    The system works better than the older one but is still suboptimal and does not scale. So they hire a consultant to make it snappy, and that pompous ass shows up, laughs at what was done, dumps on the other guy, and fails to realize that the problem is relatively small: if Rob hadn't been there, it wouldn't be one consultant showing up to fix it; it would have been a whole team. So a non-programmer doesn't know how to return a boolean in the most effective way ? So freaking what. He probably saved his employer a lot more than the wages he ever took in (and was probably not paid that much more about the baseline HR salary to come up with that).

    Ten years from now, some schmo will show up thinking he is God's gift to computing sciences, and will see that whoever was that idiotic consultant, he made a few mistakes: he designed stuff that obviously wouldn't scale well on quantum processors (the idiot !), relies on MS SQL (which by now is an embeddable component barely good enough to hold the temperature history in my thermostat), and did ridiculous code that relied on procedural programming rather than intentional declarations (what a twit ! And they paid that guy money !).

    The funny part of the story is that consultant's deficient thought processes.

    This pretty much says all that needs to be said. It is a what the fuck but so what? It did probably solve a large problem with minimal efforts.

    In all honesty if they hired a team of programmers to create the system it probably would have cost the company an absurd amount of money to get something with a bunch of worthless features they didn't need.

  • Brompot (unregistered)

    The real WTF is that the story allows you to deduce which bank it is. Dutch words are used in the code, and there is only one Dutch bank with over 50.000 employees and over a hundred daughter companies (they are not really daughter companies BTW, they are 'member banks').

    This must be quite an old story. That bank has switched to SAP HR some years ago.

  • (cs) in reply to CodeReview
    CodeReview:
    can we all just agree that return (expression == true); does the same thing and stop fucking around?

    Sorry, can't agree to that. Why not just say:

    return expression;

    Of course maybe you expect expression to return FileNotFound, in which case you really want to return false?

  • Waffle (unregistered) in reply to Brompot
    Brompot:
    The real WTF is that the story allows you to deduce which bank it is. Dutch words are used in the code, and there is only one Dutch bank with over 50.000 employees and over a hundred daughter companies (they are not really daughter companies BTW, they are 'member banks').

    This must be quite an old story. That bank has switched to SAP HR some years ago.

    Read up: Belgian bank.

    And this is about HR reporting consolidated on the whole "holding". The systems that manage the actual payrolls are managed locally (and the big one in Belgium is indeed SAP). This story is less than 6 months old.

    As for the blame game... well, this is really an issue of communication and cooperation between HR and IT. HR dudes did what they could and hired one consultant (at a time ^ ^) for maintenance and managing the occasional crisis, thinking that they couldn't rely on IT since they had to do it themselves in the first place. IT was happy to not have to bother with it.

    And this is indeed a drop in the ocean in comparison of the what the upper management did to the clients and shareholders.

  • Teller (unregistered)

    I'm thinking he was afraid of items (numbers) that would right Justify......

    <for the idiot(s): this is not serious......seriously, it isn't.....>

  • (cs) in reply to Brompot
    Brompot:
    The real WTF is that the story allows you to deduce which bank it is. Dutch words are used in the code, and there is only one Dutch bank with over 50.000 employees and over a hundred daughter companies (they are not really daughter companies BTW, they are 'member banks').

    This must be quite an old story. That bank has switched to SAP HR some years ago.

    That language isn't exclusive to the Netherlands...

    And considering that the original poster has pointed out the country of origin....well, needless to say... Flemish!= Dutch

    (Although it's not as if it weren't easy to mix em up in this setting...)

  • Jim Bob (unregistered) in reply to Procedural
    Procedural:
    One thing that annoys me with the way the story is told is this: obviously this is an old institution. Some guy (Rob) has the foresight to replace what must have taken a whole cadre of employees a large chunk of time to do manually or on outdated equipment and makes it so that it can be done with comparatively minimal staff. He's no programmer (he says that doing VB is a hobby), he's an HR guy with competencies beyond those of the typical HR person. Good for him. Great for the company too.

    The system works better than the older one but is still suboptimal and does not scale. So they hire a consultant to make it snappy, and that pompous ass shows up, laughs at what was done, dumps on the other guy, and fails to realize that the problem is relatively small: if Rob hadn't been there, it wouldn't be one consultant showing up to fix it; it would have been a whole team. So a non-programmer doesn't know how to return a boolean in the most effective way ? So freaking what. He probably saved his employer a lot more than the wages he ever took in (and was probably not paid that much more about the baseline HR salary to come up with that).

    Ten years from now, some schmo will show up thinking he is God's gift to computing sciences, and will see that whoever was that idiotic consultant, he made a few mistakes: he designed stuff that obviously wouldn't scale well on quantum processors (the idiot !), relies on MS SQL (which by now is an embeddable component barely good enough to hold the temperature history in my thermostat), and did ridiculous code that relied on procedural programming rather than intentional declarations (what a twit ! And they paid that guy money !).

    The funny part of the story is that consultant's deficient thought processes.

    Could not be put more eloquently!

  • (cs) in reply to Procedural
    Procedural:
    One thing that annoys me with the way the story is told is this: obviously this is an old institution. Some guy (Rob) has the foresight to replace what must have taken a whole cadre of employees a large chunk of time to do manually or on outdated equipment and makes it so that it can be done with comparatively minimal staff. He's no programmer (he says that doing VB is a hobby), he's an HR guy with competencies beyond those of the typical HR person. Good for him. Great for the company too.

    Ok, even if we were to accept your wild assumptions up to this point…

    Procedural:
    and fails to realize that the problem is relatively small: if Rob hadn't been there, it wouldn't be one consultant showing up to fix it; it would have been a whole team.

    If Rob's code worked that great, why are there dozens of versions of the spreadsheet each containing different ad hoc fixes? If Rob was such a wise man, why wouldn't he document his code before leaving the company? (Or why would the company let a genious (speling intentional) like him go?)

    Procedural:
    So a non-programmer doesn't know how to return a boolean in the most effective way ? So freaking what.

    You're right. Over 90% of the people don't know the first thing about programming. Nor do they need to. There's nothing to be ashamed of. However, of those 90%, most are wise enough to realize this fact and either refrain from writing computer programs or learn something first. It's unfortunate that Rob was not among this majority. You think it's arrogant of us to laugh about the WTF code written by clueless non-programmers? It's more arrogant to start writing code for professional purposes (and a multi-billion dollar company) without even getting a grip of the basics first (such as how to return values from a function or the lifetime of variables).

    Procedural:
    He probably saved his employer a lot more than the wages he ever took in (and was probably not paid that much more about the baseline HR salary to come up with that).

    Every CS student would have written better code for a tenth of the money, though. And if Rob had really been worth his money, he would have given that student an internship.

    Procedural:
    Ten years from now, some schmo will show up thinking he is God's gift to computing sciences, and will see that whoever was that idiotic consultant, he made a few mistakes

    Again, it's not the fact that he didn't know about the latest and greatest in information technology. It's that he didn't know an assignment from his ass. This is elementary stuff. It's like building a house when you don't know the direction of gravity, or fixing an electrical device when you don't know the difference between AC and DC. I dare to claim that if a person were to display similar ineptitude in any other endeavor, you would call him an idiot yourself. (You aren't working in HR, are you?)

    By the way, reading Hans' comment was really entertaining after reading yours.

  • Telephony (unregistered) in reply to weirded verber

    ...."Enter your six digit pin, and then pound the hash key...." (or was that "hash the pound key" ???

  • Larry (unregistered) in reply to ParkinT
    ParkinT:
    MisterCheese:
    Thought it was C-pound?
    That is C-Orthocrop (C orthocrop run. Run orthocrop, run)

    That's "Octothorpe."

    Here's a little article about the term: http://www.worldwidewords.org/weirdwords/ww-oct1.htm

  • (cs) in reply to Alexis de Torquemada
    Alexis de Torquemada:
    Procedural:
    So a non-programmer doesn't know how to return a boolean in the most effective way ? So freaking what.

    You're right. Over 90% of the people don't know the first thing about programming. Nor do they need to. There's nothing to be ashamed of. However, of those 90%, most are wise enough to realize this fact and either refrain from writing computer programs or learn something first. It's unfortunate that Rob was not among this majority. You think it's arrogant of us to laugh about the WTF code written by clueless non-programmers? It's more arrogant to start writing code for professional purposes (and a multi-billion dollar company) without even getting a grip of the basics first (such as how to return values from a function or the lifetime of variables).

    Very well put...

    I dunno about all other programmers, but I put a lot of time and money into my brain to get it where it is. I continue to spend time and money on professional development.

    As such, I get a little miffed when I see a non-pro messing around with code. They have about as much business looking at code as I do hanging out in an Operating room.

    Programmers who are passionate about their job get pissed when someone tries to play programmer...because they get to clean it up. Just like a doctor would probably be irritated cleaning up after me if I decided to play surgeon.

    Hobby programmers are allowed to screw things up, so long as they are doing it as a hobby. Once you write start writing production code in a professional environment...well, I'm an advocate for programmers to have a license to practice just as much as doctors are.

  • Cynic (unregistered) in reply to Voodoo Coder
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    So a non-programmer doesn't know how to return a boolean in the most effective way ? So freaking what.

    You're right. Over 90% of the people don't know the first thing about programming. Nor do they need to. There's nothing to be ashamed of. However, of those 90%, most are wise enough to realize this fact and either refrain from writing computer programs or learn something first. It's unfortunate that Rob was not among this majority. You think it's arrogant of us to laugh about the WTF code written by clueless non-programmers? It's more arrogant to start writing code for professional purposes (and a multi-billion dollar company) without even getting a grip of the basics first (such as how to return values from a function or the lifetime of variables).

    Very well put...

    I dunno about all other programmers, but I put a lot of time and money into my brain to get it where it is. I continue to spend time and money on professional development.

    As such, I get a little miffed when I see a non-pro messing around with code. They have about as much business looking at code as I do hanging out in an Operating room.

    Programmers who are passionate about their job get pissed when someone tries to play programmer...because they get to clean it up. Just like a doctor would probably be irritated cleaning up after me if I decided to play surgeon.

    Hobby programmers are allowed to screw things up, so long as they are doing it as a hobby. Once you write start writing production code in a professional environment...well, I'm an advocate for programmers to have a license to practice just as much as doctors are.

    You mean making people accountable for their actions?

    Surely soceity is going in the opposite direction...Allowing people to blame someone else for all their f*&%-ups.....

  • Mr.'; Drop Database -- (unregistered) in reply to Josh
    Josh:
    You know, that's one thing I've never seen: a Python WTF. Anyone care to share? I'd pony up a $10 reward for Python WTF's but I'm too cheap.
    How about the language's explicit self? It's easy to implement implicit self without surprises, but the authors of Python are so used to it that they no longer even see its ugliness.
  • Procedural (unregistered) in reply to Voodoo Coder
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    So a non-programmer doesn't know how to return a boolean in the most effective way ? So freaking what.

    You're right. Over 90% of the people don't know the first thing about programming. Nor do they need to. There's nothing to be ashamed of. However, of those 90%, most are wise enough to realize this fact and either refrain from writing computer programs or learn something first. It's unfortunate that Rob was not among this majority. You think it's arrogant of us to laugh about the WTF code written by clueless non-programmers? It's more arrogant to start writing code for professional purposes (and a multi-billion dollar company) without even getting a grip of the basics first (such as how to return values from a function or the lifetime of variables).

    Very well put...

    I dunno about all other programmers, but I put a lot of time and money into my brain to get it where it is. I continue to spend time and money on professional development.

    As such, I get a little miffed when I see a non-pro messing around with code. They have about as much business looking at code as I do hanging out in an Operating room.

    Programmers who are passionate about their job get pissed when someone tries to play programmer...because they get to clean it up. Just like a doctor would probably be irritated cleaning up after me if I decided to play surgeon.

    Hobby programmers are allowed to screw things up, so long as they are doing it as a hobby. Once you write start writing production code in a professional environment...well, I'm an advocate for programmers to have a license to practice just as much as doctors are.

    If you'd spent even a minute in large European corporations you'd know that these hobby programmers are the rebellious few that force management into eventually building a full IT staff. Without them, a lot of things will still be done manually, and a lot of managers will not take the calls of your consulting outfit. Do they create great reliable code ? Very rarely (only the insane would defend that). Do they bring things forward for us all to eventually work on and improve a set of business processes ? Absolutely. They often create work that we would only have seen with a change in management (that tends to come late).

    Give them the credit they are due.

  • Coward (unregistered) in reply to Waffle
    For those wondering, it was a Belgo-Dutch bankinsurer (notice the use of the past tense).

    Fortis eh? They just got split up ... they still exist. :P

  • Mike (unregistered) in reply to Wyrd
    Wyrd:
    The Real Problem with, well basically *all*, computer programming is that the set of ways that you can do it wrong is far greater of the set of ways to do it right.
    The problem with, well basically *all*, spoken language is that the set of ways that you can answer questions incorrectly is far greater of the set of ways to do it right.

    (but seriously, what you just wrote was one of the most ignorant things I've ever read on this website)

  • Bottom Cod3r (unregistered) in reply to Coward
    Coward:
    For those wondering, it was a Belgo-Dutch bankinsurer (notice the use of the past tense).

    Fortis eh? They just got split up ... they still exist. :P

    But they're not a Belgo-Ducth bankinsurer anymore. IIRC, they're now

    • a dutch bankinsurer ;
    • a bank that is the daughter company of a french bank ;
    • and a belgo-dutch holding with pretty much nothing in it.
  • (cs)

    Someone, post link to xkcd comic!

  • Anonym (unregistered) in reply to Josh
    Josh:
    Wyrd:
    ...but the hype always said that Python makes programming easy, so maybe it's harder to *accidentally* produce bad code in it?

    You know, that's one thing I've never seen: a Python WTF. Anyone care to share? I'd pony up a $10 reward for Python WTF's but I'm too cheap.

    I'd like to see a real assembler WTF.

  • (cs) in reply to chrismcb
    chrismcb:
    CodeReview:
    can we all just agree that return (expression == true); does the same thing and stop fucking around?

    Sorry, can't agree to that. Why not just say:

    return expression;

    Of course maybe you expect expression to return FileNotFound, in which case you really want to return false?

    You're wrong. Needs more evalution: return ((expression == true) == true);

    But if you really want an exception, you could keep chainin' those evaluations and hope for an OutOfMemoryException.

  • (cs) in reply to Josh
    Josh:
    You know, that's one thing I've never seen: a Python WTF. Anyone care to share? I'd pony up a $10 reward for Python WTF's but I'm too cheap.

    I don't remember what version, but early on, there was a push operation but no pop, or shift but no unshift, one of the two... I've never really gotten past that, even though they did eventually add it.

  • Cored (unregistered)

    This is somewhat off-topic (and personal), but what do you guys think of employed students who write wtf-ery code? I worked at a small company when I was 16 for a few years, and I am quite ashamed of what I produced when I look back now. There wasn't any senior guidance and I didn't know any better.

  • (cs) in reply to Procedural
    Procedural:
    Give them the credit they are due.

    Well if we have to give them the credit they are due, we can surely laugh at the bad code they write.

    Especially when they put things like "teller = tellher" into an interpreted language.

  • (cs) in reply to Cored
    Cored:
    There wasn't any senior guidance and I didn't know any better.
    That's the point. Students don't (generally) have 10+ years of experience. It takes a while to build up your knowledge base.
  • Real-modo (unregistered)
    DaveK:
    Python WTFs? No problem. Try figuring out where the control flow is supposed to go in a bunch of nested IFs when some @#!$% has gone and mixed TABs with spaces for indentation!
    [serious] I feel for you. I was starting to learn Python when I realised that this essentially makes it a single-developer language.

    Python 3 could have fixed it by disallowing tabs. [/serious]

  • Mr.'; Drop Database -- (unregistered) in reply to Real-modo
    Real-modo:
    I feel for you. I was starting to learn Python when I realised that this essentially makes it a single-developer language.
    Assuming you're not using Notepad, you can use a menu option to convert tabs to spaces and vice versa. Note that the Python interpreter assumes tab stops every eight spaces. Some editors even have an option to show tabs as arrow symbols (very useful).
  • Gavin (unregistered) in reply to wintermute

    That's because MS tried (and note that I did say try) to be intelligent. It is actuallly C-Sharp. The # symbol in music means that a note is raised by a semi-tone so transposed to computer languages, C# would rate "higher" than C.

  • Fedaykin (unregistered) in reply to Wyrd
    Wyrd:
    Except I'm not sure if that applies to Python. I haven't used it myself. I know it's possible to do wtf's in it if you actually try, but the hype always said that Python makes programming easy, so maybe it's harder to *accidentally* produce bad code in it?

    Python itself is a WTF. Invisible characters as a major component of your syntax? EPIC FAIL!

  • (cs) in reply to Fedaykin
    Fedaykin:
    Wyrd:
    Except I'm not sure if that applies to Python. I haven't used it myself. I know it's possible to do wtf's in it if you actually try, but the hype always said that Python makes programming easy, so maybe it's harder to *accidentally* produce bad code in it?

    Python itself is a WTF. Invisible characters as a major component of your syntax? EPIC FAIL!

    Perhaps Guido was just trying to avoid holy wars about which brace style to use.

    Try this: Open your Python interpreter and type:

    from __future__ import braces
    

    Then you don't have to worry about whitespace anymore.

  • (cs) in reply to Voodoo Coder
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    So a non-programmer doesn't know how to return a boolean in the most effective way ? So freaking what.

    You're right. Over 90% of the people don't know the first thing about programming. Nor do they need to. There's nothing to be ashamed of. However, of those 90%, most are wise enough to realize this fact and either refrain from writing computer programs or learn something first. It's unfortunate that Rob was not among this majority. You think it's arrogant of us to laugh about the WTF code written by clueless non-programmers? It's more arrogant to start writing code for professional purposes (and a multi-billion dollar company) without even getting a grip of the basics first (such as how to return values from a function or the lifetime of variables).

    Very well put...

    I dunno about all other programmers, but I put a lot of time and money into my brain to get it where it is. I continue to spend time and money on professional development.

    As such, I get a little miffed when I see a non-pro messing around with code. They have about as much business looking at code as I do hanging out in an Operating room.

    Programmers who are passionate about their job get pissed when someone tries to play programmer...because they get to clean it up. Just like a doctor would probably be irritated cleaning up after me if I decided to play surgeon.

    Hobby programmers are allowed to screw things up, so long as they are doing it as a hobby. Once you write start writing production code in a professional environment...well, I'm an advocate for programmers to have a license to practice just as much as doctors are.

    First of all, loading data is not mission critical, so comparing it to surgery is dumb.

    Secondly, there are loads of processes in the business world that require hours and hours of tedious, repetitive work. Usually, these processes involve Excel. In an ideal world, a "real" programmer would be brought in, but for various reasons this does not happen, usually because management is reluctant to spend the money to expedite a process that is already in place, even if the existing process involves repetetive, error-prone data entry by overworked clerks who have to give up their nights and weekends to get done. In this case, if some one can patch together some macros to help out, they will be seen as a savior, and the fact that a query takes 8 minutes is irrelevant and so is the quality of the code.

  • Meh (unregistered) in reply to Salami
    Salami:
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    <snip>
    <snip>
    <snip>

    First of all, loading data is not mission critical, so comparing it to surgery is dumb.

    Secondly, there are loads of processes in the business world that require hours and hours of tedious, repetitive work. Usually, these processes involve Excel. In an ideal world, a "real" programmer would be brought in, but for various reasons this does not happen, usually because management is reluctant to spend the money to expedite a process that is already in place, even if the existing process involves repetetive, error-prone data entry by overworked clerks who have to give up their nights and weekends to get done. In this case, if some one can patch together some macros to help out, they will be seen as a savior, and the fact that a query takes 8 minutes is irrelevant and so is the quality of the code.

    Loading data can be mission critical...

    Noone is arguing that management is reluctant to spend money, or that people do hack things together, the problem is that this SHOULD NOT happen.

    If you owned a transport company and you found one of your trucks was regularly breaking down, would you want your staff to attempt a fix, or would you hire a mechanic? Oddly enough many would allow a truckie to have a look at it (BAD MOVE), but few would allow their HR staff (even if they mess with cars as a hobby) to have a look.... A truckie will probably fix it (short term).
    A hobbyist may fix it (possibly slightly longer term (ignoring for a second the likelihood that a hobbyist knows petrol engine cars, and the truck in all likelihood is diesel)). A mechanic will fix it (hopefully longest term - and if not is ACCOUNTABLE for his mistake). This, methinks, is the key. A professional doing what they're qualified to do is ACCOUNTABLE for what they do. A fiddler messing around with something is not. Sure, a lot of the time things may (seem to) work. Sure, management is happy 'cause they save money. Does this make it a good idea to do so? Probably not.

  • Joops (unregistered) in reply to Meh
    Meh:
    Salami:
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    <snip>
    <snip>
    <snip>

    First of all, loading data is not mission critical, so comparing it to surgery is dumb.

    Secondly, there are loads of processes in the business world that require hours and hours of tedious, repetitive work. Usually, these processes involve Excel. In an ideal world, a "real" programmer would be brought in, but for various reasons this does not happen, usually because management is reluctant to spend the money to expedite a process that is already in place, even if the existing process involves repetetive, error-prone data entry by overworked clerks who have to give up their nights and weekends to get done. In this case, if some one can patch together some macros to help out, they will be seen as a savior, and the fact that a query takes 8 minutes is irrelevant and so is the quality of the code.

    Loading data can be mission critical...

    Noone is arguing that management is reluctant to spend money, or that people do hack things together, the problem is that this SHOULD NOT happen.

    If you owned a transport company and you found one of your trucks was regularly breaking down, would you want your staff to attempt a fix, or would you hire a mechanic? Oddly enough many would allow a truckie to have a look at it (BAD MOVE), but few would allow their HR staff (even if they mess with cars as a hobby) to have a look.... A truckie will probably fix it (short term).
    A hobbyist may fix it (possibly slightly longer term (ignoring for a second the likelihood that a hobbyist knows petrol engine cars, and the truck in all likelihood is diesel)). A mechanic will fix it (hopefully longest term - and if not is ACCOUNTABLE for his mistake). This, methinks, is the key. A professional doing what they're qualified to do is ACCOUNTABLE for what they do. A fiddler messing around with something is not. Sure, a lot of the time things may (seem to) work. Sure, management is happy 'cause they save money. Does this make it a good idea to do so? Probably not.

    Perhaps more to the point, in fixing it short term, the truckie may make it quite costly to fix long term in the future. The problem with a backyard-hacker putting together code such as this, is that it ends up costing more to fix than it would have. Sure, we could just start from scratch, but you'll find that if people are already used to using the hackers bits and pieces, they may be used to all sorts of little idio-syncracies (can't think of one in this particular example, I'll admit). The point is, that unless you can guarantee that you replicate IDENTICAL behaviour to what the backyarder has created, there is little point starting from scratch without more planning than would have been necessary had no system been implemented...

    Must say, I quite agree with the sentiment...If you're not a (qualified) Cook, get the F&%$ out of my Kitchen!!!

  • Procedural (unregistered) in reply to Meh
    Meh:
    Salami:
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    <snip>
    <snip>
    <snip>

    First of all, loading data is not mission critical, so comparing it to surgery is dumb.

    Secondly, there are loads of processes in the business world that require hours and hours of tedious, repetitive work. Usually, these processes involve Excel. In an ideal world, a "real" programmer would be brought in, but for various reasons this does not happen, usually because management is reluctant to spend the money to expedite a process that is already in place, even if the existing process involves repetetive, error-prone data entry by overworked clerks who have to give up their nights and weekends to get done. In this case, if some one can patch together some macros to help out, they will be seen as a savior, and the fact that a query takes 8 minutes is irrelevant and so is the quality of the code.

    Loading data can be mission critical...

    Noone is arguing that management is reluctant to spend money, or that people do hack things together, the problem is that this SHOULD NOT happen.

    If you owned a transport company and you found one of your trucks was regularly breaking down, would you want your staff to attempt a fix, or would you hire a mechanic? Oddly enough many would allow a truckie to have a look at it (BAD MOVE), but few would allow their HR staff (even if they mess with cars as a hobby) to have a look.... A truckie will probably fix it (short term).
    A hobbyist may fix it (possibly slightly longer term (ignoring for a second the likelihood that a hobbyist knows petrol engine cars, and the truck in all likelihood is diesel)). A mechanic will fix it (hopefully longest term - and if not is ACCOUNTABLE for his mistake). This, methinks, is the key. A professional doing what they're qualified to do is ACCOUNTABLE for what they do. A fiddler messing around with something is not. Sure, a lot of the time things may (seem to) work. Sure, management is happy 'cause they save money. Does this make it a good idea to do so? Probably not.

    Not sure what you mean by that high accountability horse here... do you personally owe the company you work for money if your code has bugs in it ? Face the firing squad at dawn ? Or is your whole argument the fact that you can be reprimanded because you have a diploma ?

    Here's how it looks from management's point of view: the HR staff has highly cyclical waves of work thrown its way. When the company is growing they hire and interview; when it is shrinking they provide paperwork and follow-through; the rest of the year they help management with intervention, policy and guidance, help accounting with payroll and benefits, and help marketing by showing up in nifty suits at job fairs, universities and cocktails. IOW, there can be a lot of slack time. So I can get one guy to code up something useful but not really mission-critical (there are still a few eyes looking at a process that was already established but has changed) for no extra money ? If he fails I spend money that wouldn't have been spent on anything productive anyway (keeping the guy around). If he succeeds I can push off hiring an expensive IT guy for a quarter or two, and perhaps more. Sounds like a sweet deal to me. That may piss off a few certified developers, but we haven't built that firing squad wall yet anyway (HR thinks it might be illegal.)

  • hothead (unregistered) in reply to Procedural
    Procedural:
    Meh:
    Salami:
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    <snip>
    <snip>
    <snip>

    First of all, loading data is not mission critical, so comparing it to surgery is dumb.

    Secondly, there are loads of processes in the business world that require hours and hours of tedious, repetitive work. Usually, these processes involve Excel. In an ideal world, a "real" programmer would be brought in, but for various reasons this does not happen, usually because management is reluctant to spend the money to expedite a process that is already in place, even if the existing process involves repetetive, error-prone data entry by overworked clerks who have to give up their nights and weekends to get done. In this case, if some one can patch together some macros to help out, they will be seen as a savior, and the fact that a query takes 8 minutes is irrelevant and so is the quality of the code.

    Loading data can be mission critical...

    Noone is arguing that management is reluctant to spend money, or that people do hack things together, the problem is that this SHOULD NOT happen.

    If you owned a transport company and you found one of your trucks was regularly breaking down, would you want your staff to attempt a fix, or would you hire a mechanic? Oddly enough many would allow a truckie to have a look at it (BAD MOVE), but few would allow their HR staff (even if they mess with cars as a hobby) to have a look.... A truckie will probably fix it (short term).
    A hobbyist may fix it (possibly slightly longer term (ignoring for a second the likelihood that a hobbyist knows petrol engine cars, and the truck in all likelihood is diesel)). A mechanic will fix it (hopefully longest term - and if not is ACCOUNTABLE for his mistake). This, methinks, is the key. A professional doing what they're qualified to do is ACCOUNTABLE for what they do. A fiddler messing around with something is not. Sure, a lot of the time things may (seem to) work. Sure, management is happy 'cause they save money. Does this make it a good idea to do so? Probably not.

    Not sure what you mean by that high accountability horse here... do you personally owe the company you work for money if your code has bugs in it ? Face the firing squad at dawn ? Or is your whole argument the fact that you can be reprimanded because you have a diploma ?

    Here's how it looks from management's point of view: the HR staff has highly cyclical waves of work thrown its way. When the company is growing they hire and interview; when it is shrinking they provide paperwork and follow-through; the rest of the year they help management with intervention, policy and guidance, help accounting with payroll and benefits, and help marketing by showing up in nifty suits at job fairs, universities and cocktails. IOW, there can be a lot of slack time. So I can get one guy to code up something useful but not really mission-critical (there are still a few eyes looking at a process that was already established but has changed) for no extra money ? If he fails I spend money that wouldn't have been spent on anything productive anyway (keeping the guy around). If he succeeds I can push off hiring an expensive IT guy for a quarter or two, and perhaps more. Sounds like a sweet deal to me. That may piss off a few certified developers, but we haven't built that firing squad wall yet anyway (HR thinks it might be illegal.)

    Hmm...that's management material....I always thought managers have a unique (usually unrealistic) perspective of the world.

    The reality is that there are always tasks that HR people can do, and allowing one an undetermined amount of time to work on a little project that at best costs you his salary for however long it takes him (or her, of course) to figure it out seems a rather silly thing to do. I'm not a manager, so perhaps I see things from a totally different direction.
    You have to assume (especially given by the quality of code in the WTF), that there is little reason for management/supervisor to think that our friend Rob would be capable of such a task (other than he may one day have mentioned it in the coffee room). Though management wouldn't admit it, they would probably have little idea of how simple (or not) this task actually is (especially given that presumably the person authorising this is a fairly direct manager, who's required skills should be similar to those of his underlings (plus a few more, I guess)). Admittedly, it's probably higher management that deals with authorising monies to go places, but even so....

    1. Management is prepared to pay someone indefinitely to complete a task may have no idea of how to do
    2. Management is prepared to pay what it would have cost them in the first place in case poor Rob doesn't manage his task

    I suspect the more likely scenario, is that little Rob came up with this code at home (that is unpaid, and without authorization), and his coworkers simply adopted it. Aside from all else, this is more likely - this was written not as a piece of software with proper process to consider possible risks etc, but rather hacked together as a sparetime project.

    I doubt management would ever authorise such a task, and your justifications above have certainly failed to convince me.
    If you actually are a manager and think like that, then I'm a little bit disturbed. You have managed to give me quite an insight into why we actually need a million layers of management (so that the blame for such decisions can be nicely hidden somewhere in the middle layers).
    Companies go broke with that sort of attitude - 'We'll try to hack something together using anyone we find in the street that won't cost a penny, and only worry about consequences as they appear'.
    I often wonder how much more certain companies could make by

    1. having the guts to shell out the money when it needs to be shelled out, rather than trying to save a penny and losing out when it comes to fixing said problem)
    2. sacking the redundant management levels (some companies have become 90% management + 10% HR. The only reason senior management hasn't realised that there's no work going on below them, is because the message that poor Jim the last Techie died from exhaustion has gotten lost somewhere between the blokes who were 6 and 8 layers above him. Mind you, they are usually convinced (because that's what the person below them told them) that there whizz bang project will still get out by mid-march. I'm guessing with 10% HR, they stand a real good chance of that actually happening. Especially seeing as they just hired Rob - apparently he's done this before, so he might come in handy)
    3. actually investigating claims people make on their resumes (like even ringing one reference would be good). Surely this is why HR departments exist - to make sure the company gets the Human Resources they need...Rob just joined a multi-national as a senior programmer - his Resume' said that (despite not having formal qualification) he had single-handedly turned his former companies old manual methods into modern ones....
  • Bob (unregistered) in reply to Procedural
    Procedural:
    The system works better than the older one but is still suboptimal and does not scale.
    Even assuming the most generous interpretation, I'ld love to see your employer apply the same logic to your pay, and when you bitch that sometimes you don't get paid, they'll defend that by pointing out that they fired the accountants and replaced them with some old guys who mean well and do math exercises as a hobby which is almost the same as knowing how to do accounting.

    Also, your counting skills would suit you for that role, because you missed the bit where the hero of this particular story was, in fact, not the first guy bought in, and apparantly there had been enough work to keep a whole bunch of people busy for quite a bit more than half an hour.

    Procedural:
    So freaking what. He probably saved his employer a lot more than the wages he ever took in (and was probably not paid that much more about the baseline HR salary to come up with that).
    You honestly believe that he saved the employer so much money that having four consultants take turns fixing the code (at least one taking an entire year on the project) was still more cost effective than having hired someone competent to write it in the first place?

    What's that saying about being penny-wise and pound foolish? Fine, they saved cash for the first while by getting an idiot to write it, then a few years later they lost the salary of 4 consultants.

    And your claim doesn't work, either - even if he was being paid a "baseline" salary and doing it in spare time, when not busy with the duties he was hired for, that would just prove that a competent developer would not have taken a team of people an entire decade to write it. Penny wise, pound foolish. Again.

    Sorry, the most cheerfully optimistic interpretation here is that Rob was a competent amateur and management were morons for wasting money on all the incompetent consultants.

    Rob, I know you feel bad, but your self defense just doesn't seem quite right to me.

    But, if it helps, the fact that they had a large number of installed copies of the alleged "application" (I can't bring myself to call it an actual application) and bugs were fixed for individual users (when the users sent complained) but users who didn't notice got to keep their copy of the bugs is a hell of a bigger WTF than the fact that the code was crappy, anyway. For all Rob's faults, management wasn't too sharp either.

  • Procedural (unregistered) in reply to hothead
    hothead:
    Procedural:
    Meh:
    Salami:
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    <snip>
    <snip>
    <snip>

    First of all, loading data is not mission critical, so comparing it to surgery is dumb.

    Secondly, there are loads of processes in the business world that require hours and hours of tedious, repetitive work. Usually, these processes involve Excel. In an ideal world, a "real" programmer would be brought in, but for various reasons this does not happen, usually because management is reluctant to spend the money to expedite a process that is already in place, even if the existing process involves repetetive, error-prone data entry by overworked clerks who have to give up their nights and weekends to get done. In this case, if some one can patch together some macros to help out, they will be seen as a savior, and the fact that a query takes 8 minutes is irrelevant and so is the quality of the code.

    Loading data can be mission critical...

    Noone is arguing that management is reluctant to spend money, or that people do hack things together, the problem is that this SHOULD NOT happen.

    If you owned a transport company and you found one of your trucks was regularly breaking down, would you want your staff to attempt a fix, or would you hire a mechanic? Oddly enough many would allow a truckie to have a look at it (BAD MOVE), but few would allow their HR staff (even if they mess with cars as a hobby) to have a look.... A truckie will probably fix it (short term).
    A hobbyist may fix it (possibly slightly longer term (ignoring for a second the likelihood that a hobbyist knows petrol engine cars, and the truck in all likelihood is diesel)). A mechanic will fix it (hopefully longest term - and if not is ACCOUNTABLE for his mistake). This, methinks, is the key. A professional doing what they're qualified to do is ACCOUNTABLE for what they do. A fiddler messing around with something is not. Sure, a lot of the time things may (seem to) work. Sure, management is happy 'cause they save money. Does this make it a good idea to do so? Probably not.

    Not sure what you mean by that high accountability horse here... do you personally owe the company you work for money if your code has bugs in it ? Face the firing squad at dawn ? Or is your whole argument the fact that you can be reprimanded because you have a diploma ?

    Here's how it looks from management's point of view: the HR staff has highly cyclical waves of work thrown its way. When the company is growing they hire and interview; when it is shrinking they provide paperwork and follow-through; the rest of the year they help management with intervention, policy and guidance, help accounting with payroll and benefits, and help marketing by showing up in nifty suits at job fairs, universities and cocktails. IOW, there can be a lot of slack time. So I can get one guy to code up something useful but not really mission-critical (there are still a few eyes looking at a process that was already established but has changed) for no extra money ? If he fails I spend money that wouldn't have been spent on anything productive anyway (keeping the guy around). If he succeeds I can push off hiring an expensive IT guy for a quarter or two, and perhaps more. Sounds like a sweet deal to me. That may piss off a few certified developers, but we haven't built that firing squad wall yet anyway (HR thinks it might be illegal.)

    Hmm...that's management material....I always thought managers have a unique (usually unrealistic) perspective of the world.

    The reality is that there are always tasks that HR people can do, and allowing one an undetermined amount of time to work on a little project that at best costs you his salary for however long it takes him (or her, of course) to figure it out seems a rather silly thing to do. I'm not a manager, so perhaps I see things from a totally different direction.
    You have to assume (especially given by the quality of code in the WTF), that there is little reason for management/supervisor to think that our friend Rob would be capable of such a task (other than he may one day have mentioned it in the coffee room). Though management wouldn't admit it, they would probably have little idea of how simple (or not) this task actually is (especially given that presumably the person authorising this is a fairly direct manager, who's required skills should be similar to those of his underlings (plus a few more, I guess)). Admittedly, it's probably higher management that deals with authorising monies to go places, but even so....

    1. Management is prepared to pay someone indefinitely to complete a task may have no idea of how to do
    2. Management is prepared to pay what it would have cost them in the first place in case poor Rob doesn't manage his task

    I suspect the more likely scenario, is that little Rob came up with this code at home (that is unpaid, and without authorization), and his coworkers simply adopted it. Aside from all else, this is more likely - this was written not as a piece of software with proper process to consider possible risks etc, but rather hacked together as a sparetime project.

    I doubt management would ever authorise such a task, and your justifications above have certainly failed to convince me.
    If you actually are a manager and think like that, then I'm a little bit disturbed. You have managed to give me quite an insight into why we actually need a million layers of management (so that the blame for such decisions can be nicely hidden somewhere in the middle layers).
    Companies go broke with that sort of attitude - 'We'll try to hack something together using anyone we find in the street that won't cost a penny, and only worry about consequences as they appear'.
    I often wonder how much more certain companies could make by

    1. having the guts to shell out the money when it needs to be shelled out, rather than trying to save a penny and losing out when it comes to fixing said problem)
    2. sacking the redundant management levels (some companies have become 90% management + 10% HR. The only reason senior management hasn't realised that there's no work going on below them, is because the message that poor Jim the last Techie died from exhaustion has gotten lost somewhere between the blokes who were 6 and 8 layers above him. Mind you, they are usually convinced (because that's what the person below them told them) that there whizz bang project will still get out by mid-march. I'm guessing with 10% HR, they stand a real good chance of that actually happening. Especially seeing as they just hired Rob - apparently he's done this before, so he might come in handy)
    3. actually investigating claims people make on their resumes (like even ringing one reference would be good). Surely this is why HR departments exist - to make sure the company gets the Human Resources they need...Rob just joined a multi-national as a senior programmer - his Resume' said that (despite not having formal qualification) he had single-handedly turned his former companies old manual methods into modern ones....

    Well, your world view presumes that:

    1. There is plenty of experienced available labour (usually false, a bit less now but not by much)

    2. The IT department is not one of those microcomputer high priesthoods that couldn't be bothered to write tools that people can actually use on their desktops, or makes people wait so long that even a clunky process now would be better than a perfect process 5 years from now. I've seen shops like that where the early engineers made such career-protecting moves that they ensconced the company in technologies that a minuscule few could handle; good for them, sucks for everybody else. Good luck finding experienced RPG labour these days.

    3. That the task described here is actually significant and mission-critical.

    The thing is, I understand that from the peaceful confines of a University or recliner chair that these theories make sense: there's always perfect labour available at just the right moment at a budgetary-sound cost to perform the required task up to rigorously defined standards. It would be great if it worked that way. Instead IT is overburdened, under-staffed, has a hard time recruiting competent seniors, and gets barely-coherent task descriptions dumped on them that need to be hammered out again and again into clear specs, taking more of the devs' time in the process and making the waiting list longer and longer. Other departments (production, marketing, finance, accounting, etc.) do react as they can: they cobble some code contraptions together that somewhat relieve the burden. Perfection be damned: pragmatism wins the day. And when an HR guy pulls a solution that (I will assume) IT couldn't perform in a useful amount of time (for whatever reason, including understaffing), I think he deserves praise, not scorn, even if he doesn't return his booleans in just the perfect and tidy way (how often would you have to run that code for that inefficiency to take as much time as has been spent on this discussion today ?) Nobody says it is a perfect job (far from it, obviously), but it beats having absolutely nothing to replace a manual clerical process (which I still believe this was meant to replace; what else could have predated it that actually was less efficient ?).

  • Zhiperis (unregistered)

    Can I join the Essay contest too?????

  • (cs) in reply to Meh
    Meh:
    Salami:
    Voodoo Coder:
    Alexis de Torquemada:
    Procedural:
    <snip>
    <snip>
    <snip>

    First of all, loading data is not mission critical, so comparing it to surgery is dumb.

    Secondly, there are loads of processes in the business world that require hours and hours of tedious, repetitive work. Usually, these processes involve Excel. In an ideal world, a "real" programmer would be brought in, but for various reasons this does not happen, usually because management is reluctant to spend the money to expedite a process that is already in place, even if the existing process involves repetetive, error-prone data entry by overworked clerks who have to give up their nights and weekends to get done. In this case, if some one can patch together some macros to help out, they will be seen as a savior, and the fact that a query takes 8 minutes is irrelevant and so is the quality of the code.

    Loading data can be mission critical...

    Noone is arguing that management is reluctant to spend money, or that people do hack things together, the problem is that this SHOULD NOT happen.

    If you owned a transport company and you found one of your trucks was regularly breaking down, would you want your staff to attempt a fix, or would you hire a mechanic? Oddly enough many would allow a truckie to have a look at it (BAD MOVE), but few would allow their HR staff (even if they mess with cars as a hobby) to have a look.... A truckie will probably fix it (short term).
    A hobbyist may fix it (possibly slightly longer term (ignoring for a second the likelihood that a hobbyist knows petrol engine cars, and the truck in all likelihood is diesel)). A mechanic will fix it (hopefully longest term - and if not is ACCOUNTABLE for his mistake). This, methinks, is the key. A professional doing what they're qualified to do is ACCOUNTABLE for what they do. A fiddler messing around with something is not. Sure, a lot of the time things may (seem to) work. Sure, management is happy 'cause they save money. Does this make it a good idea to do so? Probably not.

    To me, the analogy is that there is no truck, but a bunch of people having to carry the freight on their back. An enterprising person comes along and cobbles together a cart, which makes things a lot easier. Then you come along, see the cart, and starts nitpicking that the cart squeaks when it moves and doesn't turn very well.

  • Doodle (unregistered)

    Lots of Creative people here today!

    One comes up with the worlds greatest analogy, the other shoots down with world's greatest response... And all over something that don't matter for naught.

    love the four mile long posts too, people. Wish they actually said something, though.

    Blah!

Leave a comment on “Enterprise Level Access”

Log In or post as a guest

Replying to comment #:

« Return to Article