Three Tons Of Code - Episodes
Safe for work, but only if you don't laugh loudly.
BlogEngine.NET 2.8.0.0
en-US
opml.axd
Three Tons Of Code
Three Tons Of Code
0.000000
0.000000
Episode 6: The devil is in the details
<p>It's 9;00 AM and Zach has not even sat at his desk yet, when an urgent call comes in from Mr. SlowerThanA SnailOnTranquilizers, head of the Protocol department of a large organization for which Zach had in the past completed the analysis and the implementation of fully computerized procedures on behalf on ThreeTonsOfCode Ltd. Until then, things were done by spitting on fingers in order to turn pages and writing on sheets of paper with pencils (except if there was no pencil around, in which case everything would come to a halt). </p>
<p>SST: Good morning. May I speak with Mr. WontDoIt?</p>
<p>ZWD: <em>(Terrified)</em> Speaking.</p>
<p>SST: I'm calling to inform you that we are facing a MAJOR problem regarding the application you have deployed on our premises and it would be CRUCIAL for us to meet in order to determine its cause and solve it as soon as possible.</p>
<p>ZWD: <em>(Surprised, since the product had been tested very thoroughly so that MAJOR problems would be already known, if any)</em> Sir, could you give me more information on the nature of the problem? Is it some bug that is interfering with your daily work?</p>
<p>SST: I think it would be better to have a talk in person, so you should come over here. It's extremely difficult to have such a conversation over the phone.</p>
<p>ZWD: Agreed, but I should have some more information before...</p>
<p>SST: <em>(In a demanding tone)</em> Please listen, Mr. WontDoIt. My time is EXTREMELY limited. We would like you to be here ASAP so that the problem is solved. Best would be in half an hour. </p>
<p>ZWD: <em>(Fearing something REALLY BIG has escaped his attention)</em> I'll be there in half an hour.</p>
<p> </p>
<p><em>(After half an hour, four tickets for speeding, violating a red light, crossing trouble lines and having a tasteless car colour, Zach enters the Protocol department panting and sweating, and comes face to face with Mr. SlowerThanA SnailOnTranquilizers, who is sitting at his desk sipping his coffee and reading his newspaper).</em></p>
<p> </p>
<p>ZWD: Good morning, I hope I'm not late, I...</p>
<p>SST: <em>(Without taking his eyes off the paper)</em> Oh, you're already here. Listen, go have a coffee downstairs, I'm BUSY right now. We'll talk in an hour or so. </p>
<p>ZWD: But...you...</p>
<p>SST: <em>(In an imperative tone)</em> We'll meet here in ONE HOUR.</p>
<p>ZWD: <em>(Suddenly having a feeling that he's being paying for some BIG mistake he'd done in his life)</em> ...of course.</p>
<p> </p>
<p><em>(After one hour, 3 cups of coffee, reading zodiac sign predictions on his mobile phone and taking part in each online lottery one could think of - and losing in each and every one - Zach goes once again to the Protocol department, gathering any calmness he has left).</em></p>
<p> </p>
<p>SST: Ah, welcome. <em>(Folds newspaper carefully)</em> Have a seat.</p>
<p>ZWD: <em>(Impatiently)</em> Regarding the problem....</p>
<p>SST: Just a moment. First things first. To address the problem, I have organized a meeting with the people responsible.</p>
<p> </p>
<p><em>(Door opens, about 10 people come in)</em></p>
<p> </p>
<p>ZWD: <em>(Puzzled expression)</em></p>
<p>SST: This is Mr. IKnowAlotOfPeople AndNothingElse, head of our technical department. This is Mr. WhateverBreaks WeBuyANewOne, head of supplies. Mrs. Desperate LonelyForEver, PR Manager. Mr. DontTalk IWillFormatYourDrive, System Administrator. And John, John, John, John, and John, our programmers. </p>
<p>ZWD: <em>(Puzzled-er expression, fear that something has gone VERY wrong)</em>. Er, nice meeting you.</p>
<p>SST: As you understand, we are following official procedures. Mrs. LonelyForEver, please start taking notes. </p>
<p><em>(Mrs. LonelyForEver applies a new, super-ultra-modern method of recording meeting minutes: Produces a piece of paper, takes a pencil and a sharpener, sharpens pencil, blows shavings away, takes battle stations).</em></p>
<p>ZWD: <em>(Trying to hold himself)</em> ...I'm listening.</p>
<p>SST: Mr. AndNothingElse sent an official memo in 10 printed and signed copies some days ago, where he protested that a malfunction was making the system slow and prevented users from completing their work.</p>
<p>ZWD: And what kind of malfunction would that be?</p>
<p> </p>
<p>ΝΙΚ1: <em>(Stands up, gets his things)</em> My work time is over. Have a good afternoon.</p>
<p> </p>
<p>ZWD: But...</p>
<p>SST: <em>(Aggresively)</em> Mr. John takes some hours off each day since an injury on his left foot's pinky that he had six months ago demands intense medical treatment and so he has to leave. Have a good afternoon, John. Don't forget to fill up the allowance form for breeding domestic goldfishes. It would be a shame to lose the money. </p>
<p> </p>
<p>ZWD: ...</p>
<p>SST: <em>(Cat killer in heat look)</em>. As I was saying, there is an issue. Mr. AndNothingElse will update you himself.</p>
<p>ANE: <em>(Taking the serious expression the situation demands, shuffling his papers)</em> Users have reported that the "Submit" button's caption in the data entry screen should have a capital S, as well as than it would be good to have the button moved a bit to the right and make it green. </p>
<p>ZWD: <em>(Face similar to what Japan's Prime Minister would look like if he was asked to play Al Bundy in Married with Children)</em> I BEG YOUR PARDON?</p>
<p>SST: As Mr. AndNothingElse mentioned, there is a problem with the submit button. </p>
<p>ZWD: Is THIS the reason we're having this meeting? </p>
<p>SST: <em>(Look that can make an enraged cangaroo with a toothache turn to stone)</em> OF COURSE.</p>
<p>ZWD: ...<em> (thinks: When in Rome, do as Romans do...)</em> I see. It's possible that there's no capital "S" in "Submit" because YOU HAD SPECIFICALLY ASKED FOR ALL LOWERCASE ON ALL BUTTON CAPTIONS.</p>
<p>ANE: Yes, but that doesn't imply that the first letter of each word should NOT be a capital one. </p>
<p>ZWD: <em>(Trying to keep his hands off Mr. AndNothingElse's neck)</em> Okay....</p>
<p>SST: We also propose that the button's color should become green and that the button be moved to the right by exactly two pixels.</p>
<p>ZWD: <em>(Calmly outraged)</em> Can be done. But please explain something. What's the effect of a non-green, two-pixels-to-the-left button on user productivity and data entry completion?</p>
<p>ANE: Often users get confused and click the Cancel button instead of the Submit button after filling up a form. That's why we need it to be green and have some distance from the Cancel button. Imagine that after 8 hours of data entry...</p>
<p>ZWD: 8 HOURS? But the form has just 6 fields!</p>
<p>SST: <em>(Angrily)</em> Mr. WontDoIt, this is a COMPLEX process which we don't have the time to go through right now!</p>
<p>ZWD: ...</p>
<p>ANE: As I was saying, these are the reasons we should make this EXTREMELY important modification.</p>
<p>ZWD: <em>(Thinking: When in Rome, do as...)</em> Very well. It will be implemented as you need. </p>
<p>SST: NATURALLY you will provide us with an implementation and deployment timeframe. In print and signed.</p>
<p>ZWD: <em>(Thinking: When in Rome...)</em> Naturally.</p>
<p>SST: And, of course, we will be in DAILY contact regarding the implementation's progress. You will be talking with John, who is responsible for the ProtocolNumbers database table. </p>
<p>ZWD: <em>(If I find out WHO thought of this Rome thing...)</em> ...of course. We will be in const...COME AGAIN?</p>
<p>SST: John is responsible for the ProtocolNumbers table.</p>
<p>ZWD: The application has 6 tables. You mean that...</p>
<p>SST: Exactly. John over here is responsible for the ProtocolNumbers table, John over there for the BProtInfo table, John in the back for the lookup tables...</p>
<p>ZWD: ONE person per table?</p>
<p>SST: <em>(Looking surprised)</em> OF COURSE! John, the one who left early, is also responsible for XML. </p>
<p>ZWD: <em>(Thinking: For which tag in particular?)</em> I see. </p>
<p>SST: I think we're done here. Have a good day, Mr. WontDoIt. We are looking forward to hearing from you. </p>
<p>ZWD: One last question: What time of the day can I talk with John the ProtocolNumbers table expert?</p>
<p>SST: Strictly 11.30 to 11.45 in the morning, because he is busy evaluating screen cleaning material during the rest of the day.</p>
<p>ZWD: Good day, gentlemen.</p>
<p>What happened next is that Zach had no alternative than to actually modify the application, making the "Submit" button green, moving it a bit to the right and changing the caption so that the "S" was a capital one. Zach got another call from Mr. SlowerThanA SnailOnTranquilizers, who asked for a printout of all possible shades of green. He needed to choose a new variation with a a capital S, a different tone of green and rounded edges (but only the top ones), since he believed that the current design could mislead users and make them click the button when they shouldn't click the button. There was the usual 3-hour meeting, which John the programmer (what do you mean which one?) left early again because of his condition. Mr. SnailOnTranquilizers asked for an additional meeting in which they would decide on whether form fields should have a larger height as well as whether labels should end with a colon or not. Modifications along with meetings cost the company about $5000. During development, which Zach took special care to extend to a 3-month period, no use of the application was permitted and everything froze. Zach got a raise. Mr. SnailOnTranquilizers was let go and replaced with Mr. IKnowMorePeople ThanYouDo, who asked for a TOTAL reconstruction of the application so that it could also support red "CANCEL" buttons. Zach has been living exclusively on pills ever since and is thinking of taking a few weeks' vacation in a war zone somewhere, just for a change. </p><br/><div id="AdnBottom"><div class="AdnBottomLeft" style="float:left"></div><div class="AdnBottomRight" style="float:right"></div><div style="clear:both"></div></div><br/>
post/Episode-6
info@3tonsofcode.com
post/Episode-6#comment
post.aspx?id=687d4ca6-89d2-4372-89b9-632c7e51f400
Sat, 10 Aug 2013 14:11:00 +0300
Episodes
Admin
pingback.axd
post.aspx?id=687d4ca6-89d2-4372-89b9-632c7e51f400
4550
trackback.axd?id=687d4ca6-89d2-4372-89b9-632c7e51f400
post/Episode-6#comment
syndication.axd?post=687d4ca6-89d2-4372-89b9-632c7e51f400
Episode 5: The magic of simplicity
<p><img src="image.axd?picture=%2f2013%2f08%2fFotolia_37021387_XS.jpg" alt="" /></p>
<div style="clear: both;"> </div>
<p><em>Zach has just accepted an installation CD for a new application, which he has to evaluate in order to determine whether the company can propose it as a solution to clients. The application is minimally titled "Available Resource Accumulation and Non-Categorized Semi-Structured Information Processing with Inverse Search Term Roaming v.33.0" (or ARANCSSIPISTR for short). Since the title wouldn't fit on the CD, it came on a separate label. The application has been developed by UberUnrivaledProgrammers Ltd., a company which currently works closely with Zach's company, ThreeTonsOfCode Ltd.</em></p>
<p>ZWD: (<em>Thinking</em>) This doesn't look good. No, it doesn't look good at all. Let's see...</p>
<p><em>Shoves the CD into the drive, click, click, click, autorun, install, ok...</em></p>
<p>ZWD: (<em>Thinking</em>) Er, this seems to be working. The title might be a bit confusing. Let's enter some data.</p>
<p><em>Click click click click...</em></p>
<p>ZWD: (<em>Thinking</em>) It worked, phew. But I think I've got something wrong. Let's go back and correct it...</p>
<p><em>BLEEP!</em></p>
<p><img style="vertical-align: text-bottom;" src="image.axd?picture=%2f2013%2f08%2ferror_deactivatecancelling.png" alt="" /></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1"> </span></p>
<div style="clear: both;"> </div>
<div style="clear: both;">ZWD: (<em>Thinking</em>) What the....I'll just click Cancel. </div>
<p><em>BLEEP!</em> </p>
<p><img src="image.axd?picture=%2f2013%2f08%2ferror_deactivated.png" alt="" /> </p>
<div style="clear: both;"> </div>
<p>ZWD: (<em>Thinking</em>) This means that a double negative is a positive, so a negative to a positive is a negative...er, better start from the beginning. I deactivated cancelling the function, so I essentially activated the function. But when I deactivated the deactivation, then I activated the cancellation....BRRRFLLGURRRGLL. Well, I think it's better to try again.</p>
<p><em>Click, click, click...</em></p>
<p><em>BLEEP!</em> </p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1"><img style="font-family: Verdana, Arial, Helvetica, sans-serif;" src="image.axd?picture=%2f2013%2f08%2ferror_youcant.png" alt="" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif;"> </span></span></p>
<div style="clear: both;"> </div>
<p>ZWD: (<em>Thinking</em>) What did I do? And what can't I do? Why doesn't it tell me what I did? WHY?</p>
<p><em>Click click click click...</em></p>
<p><em>BLEEP!</em> </p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1"><img style="font-family: Verdana, Arial, Helvetica, sans-serif;" src="image.axd?picture=%2f2013%2f08%2ferror_mayhavedeleted.png" alt="" /><span style="font-family: Verdana, Arial, Helvetica, sans-serif;"> </span></span></p>
<div style="clear: both;"> </div>
<p>ZWD: (<em>Thinking</em>) MAY HAVE??? </p>
<p><em>Lets go of the keyboard and grabs the phone. Calls ThreeTonsOfCode's secretary, Ms. Disturbed MakeSenseNot, or Disty for short</em></p>
<p>ZWD: Disty, could you please call whoever is responsible for...er, leave it, anybody from UberUnrivaledProgrammers Ltd?</p>
<p><em>(waits)</em></p>
<p>ZWD: Yes, good day, who am I speaking to? </p>
<p>TMD: This is Theoreticalist MultiDegree, I'm the chief developer. What can I do for you Mr. WontDoIt?</p>
<p>ZWD: (<em>Thinking: Of course...</em>) Mr. MultiDegree, i'd like you to clarify some things for me regarding your ARANCSSIPISTR software, because the messages I've been getting after performing some actions are slightly incomprehensible.</p>
<p><em>(Tells him what messages he got so far)</em></p>
<p>TMD: It all sounds pretty natural. I don't see where the problem is.</p>
<p>ZWD: <em>(Scratches his head awkwardly)</em>. Mr. MultiDegree, I can't understand what the messages mean. I need a boolean algebra calculator for some of them. For example, when I cancel...</p>
<p>TMD: Listen. It's really simple. Deactivating a function's cancellation is essentially not activating the ability to deactivate the function. This means that when you activate cancellation deactivation you strip the user's ability to cancel the function, and vice versa. Not complicated at all.</p>
<p>ZWD: <em>(Takes a mental note to urgently go take an IQ test)</em> It's not? How about the "You cannot" message? </p>
<p>TMD: Listen. It's really simple. Since the actions that may not be allowed are many and the relevant messages could prove to be very complex, we decided to provide a more generic message so users wouldn't get confused.</p>
<p>ZWD: <em>(Takes a mental note to not take a mental note on taking an IQ test)</em> That's very wise of you. But why "MAY HAVE been deleted"?</p>
<p>TMD: Listen. It's really simple. We all know the problems distributed computing systems are facing. We didn't want to make users committed to the idea that the data they selected for deletion were 100% surely deleted since something is very possible to go wrong in the process of communicating with other systems. We provide users the opportunity to check what exactly has happened themselves. On the...</p>
<p>ZWD: Mr. MultiDegree, your application is actually just a couple of forms. It's not even a client-server application! Why are you talking about distributed systems?</p>
<p>TMD: This is EXACTLY my point. Listen. It's really simple. As a company, we are fearlessly facing the future. We have designed the application in such a way that it's ready to be converted to a multi-user distributed system! </p>
<p>ZWD: <em>(Thinking: Do I really deserve this?)</em> Er, obviously only at the message level, since nothing else...</p>
<p>TMD: OF COURSE only regarding messages to the users. Technologies change all the time, we wouldn't take the risk of investing on an infrastructure we would have to throw away later. It's the most efficient technical decision possible. It's really simple. Listen. </p>
<p>ZWD: By the way, what's the size of your company's development team? </p>
<p>TMD: Ah, this is our strength. We have the best minds in the industry. I personally have got a PhD from the YouDontKnowAnyShit University of Urugandabale, and there's a team of eight associates with post-graduate titles, coming from the best universities in the world. For example, our lead architect. Mr. WhateverGives Bulldozer has made various publications about the primitive information networks of medieval baboons in the Zabraskawaditshisk ancient community. Our infrastructure designer has a PhD from the ThreeLittleBirdsSinging University of Paradorblinade...blah, blah,blah....our methodology adaptation expert...blah, blah, blah....our head standardized models designer blah blah blah...</p>
<p>ZWD: This is impressive. But WHO actually writes the code? </p>
<p>TMD: Listen. It's really simple. With all this high level design and analysis, code doesn't really need to be written. We have hired a 20-year-old graduate ot the Teleconferecing Administrative Informatics Department of the YouComeAnIdiotYouGraduateAnIdiot private school to write the standard code we need. Part time, of course. It's really simple. Do you listen?</p>
<p>ZWD:Haven't you had other reports regarding your applications' usability?</p>
<p>TMD: Whad do you mean? Our applications are totally usable. We can use them just fine. Simple. It is. Really. Listen.</p>
<p>ZWD: But what about your clients?</p>
<p>TMD: Listen. Simple. You know how the system works. Our clients NEVER come to us on their own, they are introduced via references. Most of them don't even know how to turn their computer on. So we install the software, and then we send a consultant at their place to do the initial data entry. Afterwards, we mostly do phone support.</p>
<p>ZWD: Meaning?</p>
<p>TMD: They call us on the phone and we send a consultant back to their company. Listen? Easy.</p>
<p>ZWD: <em>(On the verge of a heart attack)</em> and what does your consultant do there?</p>
<p>TMD: He submits the data they need, prints the forms and leaves the printouts on their desks. Everybody's happy.</p>
<p>ZWD: One last question. What's your pricing model?</p>
<p>TMD: $18,000 per user license. Simple.</p>
<p>ZWD: User license? But the application does not support multiple users.</p>
<p>TMD: Listen. It's really simple. If the client wants two users, we install two copies of the application and we send two consultants, each doing half of the data entry. If one employee wants to see data his copy of the application doesn't have, they just switch consultants. It's a revolutionary system. Tested and proven in the largest universities of...</p>
<p>ZWD: Have a good day, Mr. MultiDegree.</p>
<p> </p>
<p><em>(click)</em></p>
<p> </p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1">________________________________________</span></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1">From: zach@3tonsofcode.com</span></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1">Sent: Monday, August 3, 2013 09:00 AM</span></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1">To: SelfProc LaimedGenius [mailto:allbow2me@3tonsofcode.com] </span></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1">Subject: ARANCSSIPISTR evaluation</span></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1"> </span></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1">Selfy,</span></p>
<p><span style="font-family: 'courier new', courier;" data-mce-mark="1">Listen. It's really simple. Evaluation of the application MAY have been completed and I am in the process of sending you the results, unless a cancellation deactivation process prevents the email from being sent. There is an issue with the application's usability that cancels deactivating non-cancelling the activated functions the users use. What has to be decided here is how useful this specific application is, something which may be answered by our consultants at your place. If you don't want to read the whole message, turn on your multiuser mode and send the first half to our project manager, KnowAll WantItYesterday. Then, call the consultants and let them concatenate the answers. Have you got an <span style="font-family: 'courier new', courier;" data-mce-mark="1">Urugandabale U</span>niversity degree? If not, you can't. It's simple. Cancel cancellation of the deactivation. And drop this software and USE A SPREADSHEET INSTEAD. </span></p>
<p><span style="font-family: 'courier new', courier;">Zach</span></p>
<p> </p><br/><div id="AdnBottom"><div class="AdnBottomLeft" style="float:left"></div><div class="AdnBottomRight" style="float:right"></div><div style="clear:both"></div></div><br/>
post/Episode-5-The-magic-of-simplicity
info@3tonsofcode.com
post/Episode-5-The-magic-of-simplicity#comment
post.aspx?id=d594de3c-43be-4139-9ba9-7de0e891a03a
Sun, 04 Aug 2013 23:26:00 +0300
Episodes
Admin
pingback.axd
post.aspx?id=d594de3c-43be-4139-9ba9-7de0e891a03a
244
trackback.axd?id=d594de3c-43be-4139-9ba9-7de0e891a03a
post/Episode-5-The-magic-of-simplicity#comment
syndication.axd?post=d594de3c-43be-4139-9ba9-7de0e891a03a
Episode 4: Early in the morning
<p><img style="vertical-align: text-bottom;" src="image.axd?picture=%2f2013%2f07%2fiStock_000010494019XSmall.jpg" alt="" /></p>
<div style="clear: both;"> </div>
<p><em>Zach WontDoIt bumps into his boss, Mr. BigPromisey FatMoney, CEO, ThreeTonsOfCode Ltd. at the entrance of the company's office building.</em></p>
<p>ZWD: Good morning boss, sorry for being late today, I overslept a bit. </p>
<p>BPF: Good morning Zach. No problem, this could happen to anybody. Is everything ok today?</p>
<p>ZWD: Er, boss, truth is I have a problem.</p>
<p><em>Beep</em></p>
<p>BPF: What's the problem, Zach?</p>
<p>ZWD: Well, I need a small raise, because inflation, the European Union, Edward Snowden, the Ozone Layer, the...</p>
<p>BPF: Ok Zach, tell me what you need. In fact, don't. I agree in advance. Your work is valuable to us and you should get the money you deserve for it anyway.</p>
<p><em>Beep</em></p>
<p>ZWD: But boss, I need a 35% raise...</p>
<p>BPF: Done. You'll get it starting this month. No, now that I think of it you'll get the money for the whole year in advance. I like to keep you happy. Anything else?</p>
<p>ZWD: No, nothing for today, boss.</p>
<p><em>Beep Beep</em></p>
<p>BPF: Ok. Do you have something urgent to do today?</p>
<p>ZWD: No, boss. Everything has been completed on time. We met all deadlines and released our products bug-free. Of course this was made possible thanks to KnowAll WantItYesterday, our project manager, and SelfProc LaimedGenius, our chief developer. We work perfectly together.</p>
<p><em>Beep Beep Beep</em></p>
<p>BPF: And of course thanks to you, Zach. Don't underestimate yourself. You are the one who really gets things moving. We are proud of you.</p>
<p>ZWD: Boss...</p>
<p>BPF: Don't say a thing. It's exactly as I say. On a side note, I happened to talk to this annoying client of ours, Mr. Irrelev AntClueless, and I personally told him that if he doesn't respect your opinion he should look for consultants elsewhere.</p>
<p><em>Beep Beep Beep</em></p>
<p>ZWD: Boss, do you hear this?</p>
<p>BPF: No, I don't hear anything. What was I saying? Oh, I told him that his behaviour towards you was unacceptable. We can find 10 clients like him, we don't need him.</p>
<p>ZWD: Thanks boss! By the way, are we going to start with LostInTheDesert Ltd's project? </p>
<p>BPF: No, I let it go. Maintenance would be trouble. They needed it 3 times sooner than initially estimated and I don't like having my people work overtime. We don't have so much availability anyway, because we need to design our architecture for future projects in advance. I've estimated that we will need about 8 months. This will help us with new projects, since we won't have to improvise. </p>
<p><em>Beep Beep Beep Beep</em></p>
<p>ZWD: Are you sure you don't hear anything boss? Maybe it's some UPS beeping? </p>
<p>BPF: No, nothing. Maybe it's some car from outside.</p>
<p>ZWD: Maybe...boss, I say you've done the best thing possible.</p>
<p>BPF: That's not all. I'll send you all to be properly educated on new platofrms, so that you have time to experiment. This way, when new projects come, we'll be ready.</p>
<p>ZWD: Are we going to be paid for our time attending seminars?</p>
<p>BPF: OF COURSE! This is an investment for the company.</p>
<p><em>Beep Beep Beep Beep Beep Beep</em></p>
<p>ZWD: WHAT is this beeping sound boss? Can't you hear it all this time? </p>
<p>BPF: Zach, I think you may need some rest. Do you want to take the rest of the day off? I really can't hear anything. </p>
<p>ZWD: Maybe I do, boss.</p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p>ZWD: ...I think I'll go home...</p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p>ZWD: ...get some rest...</p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p><em>Beep Beep Beep Beep Beep Beep Beep Beep Beep </em></p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p><span style="font-size: xx-large;"><strong>BANG!</strong></span></p>
<p>(<em>Sound of alarm clock hitting the wall</em>)</p>
<p> </p>
<p><em>Another great day just started for Zach. Have a good day!</em></p>
<p> </p>
<p> </p><br/><div id="AdnBottom"><div class="AdnBottomLeft" style="float:left"></div><div class="AdnBottomRight" style="float:right"></div><div style="clear:both"></div></div><br/>
post/Episode-4-Early-in-the-morning
info@3tonsofcode.com
post/Episode-4-Early-in-the-morning#comment
post.aspx?id=452914f9-bd8e-41b2-b927-31b84428ad15
Sun, 28 Jul 2013 17:01:00 +0300
Episodes
Admin
pingback.axd
post.aspx?id=452914f9-bd8e-41b2-b927-31b84428ad15
34
trackback.axd?id=452914f9-bd8e-41b2-b927-31b84428ad15
post/Episode-4-Early-in-the-morning#comment
syndication.axd?post=452914f9-bd8e-41b2-b927-31b84428ad15
Episode 3: Client-Oriented Approach
<p><img style="vertical-align: text-bottom;" src="image.axd?picture=%2f2013%2f07%2fFotolia_42867027_XS.jpg" alt="" /></p>
<div style="clear: both;"> </div>
<p><em>Zach WontDoIt, developer of ThreeTonsOfCode Ltd., gets a call from a client who wants to update him on a number of bugs found on an Intranet application developed for his company. Mr. Irrelev AntClueless, general manager of the 5-person company NowWeAreInBusinessNowWeAreNot Ltd., is on the phone. He has insisted on talking directly with the developer. </em></p>
<p>ZWD: Good day, this is Zach WontDoIt, how can I help?</p>
<p>ICL: <em>(Abruptly)</em> Your application IS NOT WORKING and I am furious! Is that your way of delivering work to your clients? Half-done? I'm seriously thinking of asking for a refund and then ordering the same app to your competitor, WeDoItAllInOneTier Ltd.!</p>
<p>ZWD: Er, excuse me?</p>
<p>ICL: Your application is not working!</p>
<p>ZWD: Could you be a bit more specific sir? Do you mean it doesn't start?</p>
<p>ICL: No, it does.</p>
<p>ZWD: ... and what exactly is wrong with it then?</p>
<p>ICL: It does NOTHING.</p>
<p>ZWD: ... I'm afraid I'm not following you. What do you mean by "nothing"? Can you access the orders screen? </p>
<p>ICL: Yes, I can access it. But I can't do ANYTHING. </p>
<p>ZWD: <em>(Starts feeling like working in some curious mental institute for people with severe communication problems)</em> ... I see ...So would you like to retry the actions you previously took while talking with me so we can trace the problem?</p>
<p>ICL: I'm calling you to tell you that your application is not working and you have the NERVE to ask me to play tester? You are completely out of your mind! This is unheard of! I won't...</p>
<p>ZWD: <em>(Clenches teeth)</em> I'm sorry, I didn't ask you to perform tests. I only need to see where the problem lies. Anyway, please tell me - when you see the orders list, can you also go to any specific order's details?</p>
<p>ICL: <em>(click, click)</em> It only shows me the order number and the order's title. I can't see anything else. </p>
<p>ZWD: Do you mean that there are no "View", "Edit" and "Delete" buttons on the right, next to each record? </p>
<p>ICL: What? No. Nothing. Only what I told you. (click, click). The only thing I can do is go back to the main screen and choose to see the orders list again. </p>
<p>ZWD: <em>(...)</em> but this doesn't make sense...</p>
<p>ICL: Look, you are wasting my valuable time with your questions. I have more important things to take care of. I'm telling you it's NOT working. Are you calling me a liar? I will...</p>
<p>ZWD: No, of course not, for Heaven's sake! It's just, you know, a standard procedure so we can trace the possible origin of the problem. Maybe it's something you're not aware of...</p>
<p>ICL: You're saying that I don't know my job!</p>
<p>ZWD: No! I'm definitely not saying that sir! (Starts feeling very uneasy and reaches for the Dewars 15years Special Reserve whiskey bottle he keeps under his desk for special occasions like this.)</p>
<p>ICL: Look, I don't know what you have to do. It must be working correctly until tomorrow. This situation is unacceptable! It makes me have second thoughts regarding the quality of your services, as well as for your own level of expertise. Nothing works! It doesn't even let me log in to the system after I've logged in for 3-4 times and I have to wait over 20 minutes to be able to login again! And afterwards, none of my employees is able to log in! </p>
<p>ZWD: <em>(A bright light bulb appears over his head - or at least it would do so if he were a cartoon character)</em> Mr. Irrelev, could you please describe the login / logout process in more detail?</p>
<p>ICL: I fire up Internet Explorer, enter the address, type my user name and password and hit the Login button. What more can I say? </p>
<p>ZWD: And after you do whatever it is that you must do...</p>
<p>ICL: ...meaning NOTHING...</p>
<p>ZWD: <em>(Gulp - first glass of whiskey down)</em>...yes, yes, anyway. Then you decide to log off.</p>
<p>ICL: Exactly.</p>
<p>ZWD: Could you please describe the logoff process?</p>
<p>ICL: What process?</p>
<p>ZWD: The process that you follow to log off from the application.</p>
<p>ICL: I do what I do with every other site. I just close Internet Explorer!</p>
<p>ZWD: <em>(Gulp, gulp, there goes the second glass)</em> You haven't ever clicked the button on the top right corner that says "Logout", have you? </p>
<p>ICL: Why click it? I've got Internet Explorer's "X". I don't really understand why you even put it there. Maybe you wanted to show that you have more functionality than you really do. You haven't even managed to complete what's really needed, and you're telling me you put a spare "logout" button there just for show? </p>
<p>ZWD: There is a reason there is a "logout" button there.</p>
<p>ICL: ...</p>
<p>ZWD: <em>(hic)</em> When you are using the application, you session will remain active for 20 more minutes since you last used it, unless you click the Logout button. You have purchased 5 user licenses and the application allows 5 concurrent sessions. If you log in 3-4 times and you don't log out, and then you keep logging in and closing Internet Explorer instead of logging out, you probably end up having used up all your licenses for the next 20 minutes or so. That's why neither you or anybody else can access the application after a while. </p>
<p>ICL: How was I supposed to know that? Couldn't you do this like everyone else does? </p>
<p>ZWD: This is how it's done everywhere. (Thinking: And you haven't paid enough to have it done another way)</p>
<p>ICL: So I was supposed to GUESS how it was implemented, Mr. WontDoIt? How could I...</p>
<p>ZWD: <em>(Grabs a half-pint beer glass. Pours whatever is left of the whiskey bottle)</em> It's in the user's manual. Section 5, subsection 5.3.</p>
<p>ICL: ...</p>
<p>ZWD: Have you READ the user's manual;</p>
<p>ICL: ....ehmmmm....no.... but THIS HAD TO BE MORE CLEAR!</p>
<p>ZWD: <em>(Gulp gulp gulp gulp gulp gulp gulp)</em> I see. <em>(hic)</em> Ok, so let's see the orders problem now. By the way, what's your screen's resolution?</p>
<p>ICL: 20 gigabytes.</p>
<p>ZWD: No, the screen's resolution.</p>
<p>ICL: Oh, at the screen! 512 MB RAM.</p>
<p>ZWD: NO, THE SCREEN'S RESOLUTION! IN PIXELS! </p>
<p>ICL: Please don't raise the tone of your voice to me. I'm not some newbie to this! I've got, er, a GOOD resolution... 2 megapixels at least. That's what they told me. </p>
<p>ZWD: <em>(Gulp, gulp)</em> Where;</p>
<p>ICL: On my smartphone.</p>
<p>ZWD: <em>(Starts developing red rashes on face)</em> Mr. Irrelev, just browse to your company's website.</p>
<p>ICL: Okay. Oh.</p>
<p>ZWD: What's wrong?</p>
<p>ICL: Did we really PAY for this? Whoever made this must be at least an idiot.</p>
<p>ZWD: Why are you saying that?</p>
<p>ICL: I can only see HALF of it. And I have to scroll down quite a few times to see everything.</p>
<p>ZWD: <em>(Starts pulling his hair out)</em> ... I see ... please tell me, do you see a horizontal scrollbar? </p>
<p>ICL: What is that?</p>
<p>ZWD: How do you scroll sir?</p>
<p>ICL: With the little wheel.</p>
<p>ZWD: <em>(Has already managed to pull a handful of hair off his head)</em> I see. </p>
<p>ICL: Unacceptable. I realize that there are others like you! I've been seeing this more and more. So many useless people making useless web sites...</p>
<p>ZWD: Mr. Irrelev, what version of Windows are you using?</p>
<p>ICL: Version of what?</p>
<p>ZWD: <em>(Sighs)</em> Look at the lower - left corner of your screen. Is there a button there? </p>
<p>ICL: Yes, there is one.</p>
<p>ZWD: Is there anything on it?</p>
<p>ICL: Yes, it says "START".</p>
<p>ZWD: Of course it does. Please follow the following steps: Click Start, click Settings, click Control Panel...</p>
<p><em>(in just about 20 minutes Mr. Irrelev has managed to change his resolution from 640x480 to 800x600 pixels)</em></p>
<p>ICL: Everything has become too tiny. Can't read anything. </p>
<p>ZWD: <em>(Grabs a straw and finishes what's left in the beer glass)</em> Pleae log in to the application and go to the orders list. </p>
<p>ICL: <em>(click, click)</em>...Login....username...<em>(click, click)</em>...password...ok....oh!</p>
<p>ZWD: What happened?</p>
<p>ICL: I can see the buttons! I can view order details! </p>
<p>ZWD: <em>(Leans back and stares at the ceiling - everything is turning)</em> The optimum resolution for the application was in the specs. </p>
<p>ICL: Make it work with my own resolution! </p>
<p>ZWD: This is not possible, sir. The standard resolution is 800 x 600.</p>
<p>ICL: But I can't see the letters!</p>
<p>ZWD: <em>(Banging head on desk)</em> Mr. Irrelev, has any other employee the same problems?</p>
<p>ICL: They haven't mentioned anything.</p>
<p>ZWD: <em>(Taking a deep breath)</em>....Mr. Irrelev, we can't make the application work with resolutions smaller than 800 x 600. You need a new, bigger monitor. </p>
<p>ICL: THIS IS UNHEARD OF! I'll complain to your manager! This is unacceptable! Good day Mr. WontDoIt!</p>
<p><em>(click)</em></p>
<p><em>The rest of the story goes like this: Mr. Irrelev AntClueless contacted WeDoItAllInOneTier Ltd. and ordered a new application. He happily accepted it when it was ready, and discovered (not having read the specs, as usual) that the application ran on 1204x768 resolution (which his monitor didn't have), needed an Oracle database (which his company didn't have), the Apache web server (which his company didn't have) and that it would not work well with Internet Explorer 6 (which his company had). Zach took up consulting for Mr. Irrelev's company (yes, he made him buy 24-inch LCD screens for everyone). Currently, Zach receives complaints by Mr. Irrelev daily, because all web sites (including his new application) leave so much space unused on his 1920 x 1280 monitor.....</em></p>
<p> </p><br/><div id="AdnBottom"><div class="AdnBottomLeft" style="float:left"></div><div class="AdnBottomRight" style="float:right"></div><div style="clear:both"></div></div><br/>
post/Episode-3-Client-oriented-approach
info@3tonsofcode.com
post/Episode-3-Client-oriented-approach#comment
post.aspx?id=7c81ea40-aa1c-48e8-8741-e2c232415583
Fri, 26 Jul 2013 18:56:00 +0300
Episodes
Admin
pingback.axd
post.aspx?id=7c81ea40-aa1c-48e8-8741-e2c232415583
145
trackback.axd?id=7c81ea40-aa1c-48e8-8741-e2c232415583
post/Episode-3-Client-oriented-approach#comment
syndication.axd?post=7c81ea40-aa1c-48e8-8741-e2c232415583
Episode 2: Ree-phact-o-ring
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"> <img style="color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; vertical-align: text-bottom;" src="image.axd?picture=%2f2013%2f07%2fFotolia_37021387_XS.jpg" alt="" /></p>
<div style="clear: both;"> </div>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><em>A usual day at the office. Zach WontDoIt, developer of ThreeTonsOfCode Ltd., has already consumed his first two gallons of coffee and is entering his "introspection" phase. He is mentally focusing on having yet another productive and creative day, and what better way to start such a day than exploring his always near-full mailbox that primarily contains important, urgent professional messages and attachments: "StockholmClubbing.pps", "AnIdiotWithASillyBear.wmv", "HolidayCalculator.xls"...</em></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><em>Hey, what's this? An email by ThreeTonsOfCode's chief developer, SelfProc LaimedGenius, (Selfy to friends)! </em></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;">________________________________________<br style="margin: 0px; padding: 0px;" /><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1">From: SelfProc LaimedGenius [mailto:IGetAFatSalary@3tonsofcode.com] <br style="margin: 0px; padding: 0px;" />Sent: Monday, May 23, 2013 09:00 AM<br style="margin: 0px; padding: 0px;" />To: </span><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1"><span style="color: #666699;"><a style="margin: 0px; padding: 0px; text-decoration: none; color: #1fa2e1;" href="mailto:zaxariasdtf@triakilakodika.gr"><span style="color: #666699;">z</span></a></span>ach@3tonsofcode.com</span><br style="margin: 0px; padding: 0px;" /><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1">Subject: URGENT FUNCTIONALITY ENHANCEMENT</span></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1">Hi Zach,</span></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1">I'm attaching the code for project "WorkTillYouDrop". If you recall, we implemented this last year for the NoRoomServiceAtAll group of hotels. They wanted to manage and monitor expenses and stuff in detail. </span></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1">However, due to their merger with the NoServiceWhatsoever Group, they need some changes in the way they calculate their expenses. Please locate the relevant functionality and implement the following changes:</span></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><em style="margin: 0px; padding: 0px;">(a list of seemingly logical change requests follows)</em></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1">This will have to be up and runnning ASAP. The more ASAP, the bigger my bonus. I'll buy you a drink, I promise. </span></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-family: 'Courier New';" data-mce-mark="1">Selfy</span></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;">ZWD: <em>(Thinking)</em> Ha! Piece of cake. I'll have it done in half an hour tops. Let's see that code.</p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><em>(click, click, click, open? yes, click, click, hmmm...only ONE file named "EVERYTHING.VB"? click, click... )</em></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><strong>ZWD: WHAT?</strong><em style="margin: 0px; padding: 0px;"><strong style="margin: 0px; padding: 0px;"> 89333 lines of code?</strong>)</em></p>
<p style="margin: 0px 0px 1.5em; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><em style="margin: 0px; padding: 0px;">At this point, Zach had to furiously rush outside the office in order to buy blood pressure meds (and a bottle of Jack Daniels). While we wait for him to come back, let's have a look at a random snippet of the code he was given, just to get an idea what he's dealing with here.</em></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1">'------------------------------------------------------------</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1">'THIS IS FUNCTION CALCULATEREVENUE WHICH CALCULATES REVENUES</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1">'------------------------------------------------------------</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">Friend Function </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">CalculateRevenue( _</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">ByVal </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">strRevenue </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">as </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">int64, </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">ByRef </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">blnResult </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">as </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">int32) </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">As Boolean</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1"><span style="font-size: 9pt;" data-mce-mark="1"> </span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1">'------------------------------------------</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> ' HANDLE SITUATIONS AND DO THE RIGHT THING</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> '------------------------------------------</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">If </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">m_str15a = "1" andalso m_str13b = "true" </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">or </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">m_int8c = -1 </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">Then</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> Try</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1">'Return 10000</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1">blnResult=Convert("10000", int32)</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: black; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1">'Return TRUE</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; padding: 0px; line-height: 22px; color: #333333; font-family: 'Segoe UI', Arial, Helvetical, sans-serif; font-size: 14px;"><span style="margin: 0px; padding: 0px; font-size: 9pt; color: green; font-family: 'Courier New';" lang="EN" data-mce-mark="1"> </span><span style="margin: 0px; padding: 0px; font-size: 9pt; color: blue; font-family: 'Courier New';" lang="EN" data-mce-mark="1">Return </sp