.NET Forum / .NET Framework / New Users / October 2006
An argument (okay a debate) with a developer
|
|
Thread rating:  |
Highlander - 03 Oct 2006 17:55 GMT Hello all. I'm a systems admin and not a developer. I work in a large IT department with teams of developers. Currently we are asking them to develop a utility for us that will migrate code, among other things. It's going to be written in .NET code, and is meant to replace our current code migration utility which was written in VB6.
One of the functions we are asking for is the ability to send an e-mail and a page to indicate success of failure of a code migration. The developer is pushing back. Here's the exchange between the developer and myself.
DEVELOPER: For an application to send an e-mail, SMTP services need to be installed and running. To send a page, permissions need to be implemented for internet access. Ports outside the firewall would be needed to send pages. This creates a security issue.
ME: There is a workaround. The following script will send e-mail without SMTP services. And as for sending a page, you use the same e-mail script, and include a skytel e-mail address:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sendFrom = "Aler...@fabrikam.com" SendTo = "joeu...@fabrikam.com; 1298...@skytel.com" strSubj = "NO SMTP service needed." strContents = "Testing e-mail script."
sch = "http://schemas.microsoft.com/cdo/configuration/" Set cdoConfig = CreateObject("CDO.Configuration") With cdoConfig.Fields .Item(sch & "sendusing") = 2 ' cdoSendUsingPort .Item(sch & "smtpserver") = "mail.fabrikam.com" '.Item(sch & "smtpserverport") = 25 ' if you need to set a port number .update End With
Set cdoMessage = CreateObject ("CDO.Message") With cdoMessage Set .Configuration = cdoConfig .From = sendFrom .To = sendTo .Subject = strSubj .TextBody = strContents .Send End With Set cdoConfig = nothing Set cdoMessage = nothing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DEVELOPER: This VB6 script is and its related calls to WMI are not supported in .NET 1.1 or .NET 2.0 framework. The idea is to move away from old technologies not to keep supporting them.
ME: If you can't run the equivalent code of this VBScript within .NET, then you can run the VBScript via command line. That would allow it to be used in the .NET 1.1 or .NET 2.0 framework.
DEVELOPER: Just because it can be run via a command line does not mean it is a part of .NET. If you check the .NET framework reference there is no use of WMI interfaces. It is old technology that, through the .NET framework, is not supported.
ME: When the code migration has completed, then the .NET utility launches an executable from the command line. That's all the functionality it needs. That's where it stops. No other requirements for working within the .NET framework are needed - other than the ability for the .NET utility to launch an executable from the command line, and pass it a couple parameters. The rest is done by the executable that is launched - the VBScript above.
...
I don't follow what his points are. I don't see any references to WMI in this VBScript. Even if there were, it's really a moot point anyway - since all we need the .NET utility to do is run an executable from the command line. I would imagine that writing the code in .NET to run an executable from the command line is a relatively simple task.
I would imagine that writing the code in .NET to UnZip a file is also a relatively simple task. And this UnZip functionality is something else we're requesting, and the developer is pushing back on this as well.
He's claiming that to include code for UnZipping files, and code for running executables from the command line, is too complex to the point where it would increase the cost and man-hours of the project beyond what's reasonable.
Am I missing something here? Does this developer have valid arguments?
Thanks.
- Dave
McKirahan - 03 Oct 2006 17:59 GMT > Hello all. I'm a systems admin and not a developer. I work in a large > IT department with teams of developers. Currently we are asking them to [quoted text clipped - 6 lines] > developer is pushing back. Here's the exchange between the developer > and myself. [snip]
Why post twice but under a different Subject line?
See "Argument with a developer".
Highlander - 03 Oct 2006 18:02 GMT > > Hello all. I'm a systems admin and not a developer. I work in a large > > IT department with teams of developers. Currently we are asking them to [quoted text clipped - 12 lines] > > See "Argument with a developer". Immediately after the first posting I realized I had some editing to do. So I removed the original post, and reposted with the new Subject line.
You were too quick to respond to the first post.
Kevin Spencer - 03 Oct 2006 18:50 GMT > You were too quick to respond to the first post. Incorrect.
First, there is no such thing as being too quick to respond to a newsgroup posting.
Second, once a newsgroup posting is posted, you cannot "remove" it. It is there.
Your correct action would have been to respond to your first post with your correction. When you post multiple posts of the same question, how will you know where to look for your answer? In fact, I have given you a detailed response to your first post. Now you just have to find it.
Which brings me to my final point: Cross-posting to multiple newsgroups is not considered good netiquette, and is likely to result in your not being able to find any answers, since the answers will not necessarily be posted to all of the newsgroups you posted to, and people who help others (such as myself) do not like answering questions that have already been answered elsewhere. Our time is too valuable, and we are not paid to do this - hence, bad netiquette. If you irritate people, they are less likely to help.
Your ignorance of how newsgroups work is understandable - everyone has to learn sometime. So, please just take this advice in the friendly spirit in which it is given.
 Signature HTH,
Kevin Spencer Microsoft MVP Software Composer http://unclechutney.blogspot.com
If the Truth hurts, wear it.
>> > Hello all. I'm a systems admin and not a developer. I work in a large >> > IT department with teams of developers. Currently we are asking them to [quoted text clipped - 18 lines] > > You were too quick to respond to the first post. Peter Duniho - 03 Oct 2006 19:44 GMT > [...] > Which brings me to my final point: Cross-posting to multiple newsgroups is > not considered good netiquette, and is likely to result in your not being > able to find any answers, since the answers will not necessarily be posted > to all of the newsgroups you posted to This is incorrect. Minimal cross-posting is in fact fine. The original poster should monitor all newsgroups to which they posted, since of course someone may reply while trimming the Newsgroups: field. But assuming one is not putting off-topic newsgroups in the Newsgroups: field, cross-posting can be a very effective means of addressing a broader-but-still-relevant audience than a single newsgroup offers.
> and people who help others (such as myself) do not like answering > questions that have already been answered elsewhere. The alternative to cross-posting is posting to only a single newsgroup, in which case you're going to wind up answering the question anyway. How does an answer in a different newsgroup somehow detract from the value of your own answer? For that matter, since Usenet isn't an immediate forum, you could answer the question only to find out that someone else has already answered the same question in the very newsgroup in which you've posted your answer.
The only time I mind answering questions that have already been answered elsewhere is when it turns out I'm a clueless dolt and the other answer exposes my ignorance. :)
Finally, forgive me if I find just a little amusing the situation of a person lecturing on netiquette while posting articles using someone else's email address, a very egregious violation of netiquette.
Pete
Kevin Spencer - 04 Oct 2006 11:24 GMT > This is incorrect. Minimal cross-posting is in fact fine. The original > poster should monitor all newsgroups to which they posted, since of course > someone may reply while trimming the Newsgroups: field. But assuming one > is not putting off-topic newsgroups in the Newsgroups: field, > cross-posting can be a very effective means of addressing a > broader-but-still-relevant audience than a single newsgroup offers. And *that* is all opinion. While I gave logical reasons for my counsel, you simply stated opinions as if they were facts, without any logical reasons to support them. Furthermore, *I* am not asking for advice. How is your criticism helpful ?
In addition, I notice that you never did help the OP. I gave the OP a detailed answer to his question earlier (in response his original post). Perhaps you just like to criticise people, rather than help.
> The only time I mind answering questions that have already been answered > elsewhere is when it turns out I'm a clueless dolt and the other answer > exposes my ignorance. :) Perhaps you have plenty of spare time. Mine is worth a good bit of money, and I have very little to spare. And I don't believe that your opinion is representative of the majority of experts who participate in these newsgroups out of a sense of social conscience.
> Finally, forgive me if I find just a little amusing the situation of a > person lecturing on netiquette while posting articles using someone else's > email address, a very egregious violation of netiquette. Someone else's email address? Well, I suppose you must be a clueless dolt. That is the US Federal Trade Commission's SPAM email address (http://www.ftc.gov/opa/2002/02/eileenspam1.htm). As you may read in the referenced web page, that address is specifically for the purpose of forwarding SPAM. I see that you disguise your email address to prevent SPAMmers from sending you SPAM. I go one step better. I let SPAMmers send it directly to the FTC. If you had Googled the email address, you would have found this out before you embarassed yourself publicly.
 Signature Kevin Spencer Microsoft MVP Software Composer http://unclechutney.blogspot.com
If the Truth hurts, wear it.
>> [...] >> Which brings me to my final point: Cross-posting to multiple newsgroups [quoted text clipped - 29 lines] > > Pete Kevin Spencer - 04 Oct 2006 12:05 GMT Self-Correction:
<snip>
> In addition, I notice that you never did help the OP. <snip>
I found Peter's answer posted in another thread, so I was incorrect in the above statement. While the answer given was incorrect, it was an attempt to help the OP.
 Signature HTH,
Kevin Spencer Microsoft MVP Software Composer http://unclechutney.blogspot.com
If the Truth hurts, wear it.
Peter Duniho - 04 Oct 2006 19:28 GMT > And *that* is all opinion. While I gave logical reasons for my counsel, > you simply stated opinions as if they were facts, without any logical > reasons to support them. Your "logical reasons" were flawed, as I already pointed out. And yes, my suggestions are subjective, but they are shared by the broader Usenet community.
> Furthermore, *I* am not asking for advice. How is your criticism helpful ? I posted an alternative viewpoint to your instruction to the original poster. If you don't want your viewpoints to be questioned, you should probably keep them private.
> [...] > Perhaps you have plenty of spare time. Mine is worth a good bit of money, If you don't have the time to afford to help people gratis, you don't belong here answering posts in a public newsgroup.
> and I have very little to spare. And I don't believe that your opinion is > representative of the majority of experts who participate in these > newsgroups out of a sense of social conscience. A sense of social conscience and attaching a monetary value to help offered aren't exactly what I'd call compatible ideals.
> Someone else's email address? Well, I suppose you must be a clueless dolt. > That is the US Federal Trade Commission's SPAM email address > (http://www.ftc.gov/opa/2002/02/eileenspam1.htm). As you may read in the > referenced web page, that address is specifically for the purpose of > forwarding SPAM. For *forwarding* spam. The FTC has not advised users to publish that address as their own.
> I see that you disguise your email address to prevent SPAMmers from > sending you SPAM. I go one step better. I let SPAMmers send it directly to > the FTC. If you had Googled the email address, you would have found this > out before you embarassed yourself publicly. The uce@ftc.gov address is one that I've known about since its inception. I know what it's supposed to be used for, and adopting it as your own email address is not among the intended uses. Also, you may be interested to know that the current and correct address is actually spam@uce.gov.
Does it make you feel better to call me a "clueless dolt" and to claim that I've "embarassed myself publicly"? Neither of those statements are true, but if it helps your ego, I'll be happy to play along.
In any case, I remain amused at a supposed professional, with highly valued time, claiming to be an MVP no less, acting the way you are acting. I guess the word "professional" doesn't carry the meaning it used to.
Pete
Nick Malik [Microsoft] - 06 Oct 2006 10:08 GMT > Which brings me to my final point: Cross-posting to multiple newsgroups is > not considered good netiquette, and is likely to result in your not being > able to find any answers, since the answers will not necessarily be posted > to all of the newsgroups you posted to, and people who help others (such > as myself) do not like answering questions that have already been answered > elsewhere. Hello Kevin,
I think your argument with Peter may have been triggered by a typo on your part ;-)
The term 'cross posting' is usually used to refer to the practice of placing one question in multiple newsgroups. On the other hand, the practice that you appear to be referring to is the practice of placing questions in each of two or three different newsgroups seperately (or in this case, twice in the same newsgroup). That practice is unfortunate and irritating, but it is not called "cross posting." It is called multiposting.
Crossposting is just fine, and in fact, this message is crossposted to three different groups.
One article I like to refer people to is this one: http://nitecruzr.blogspot.com/2005/05/how-to-post-on-usenet-and-encourage.html
If you read Peter's reply, it appears that he didn't pick up on your intent... he keyed off of your terminology.
BTW: I know how valuable your time is. Thank you for sharing some of it with this community. We are richer for it.
 Signature --- Nick Malik [Microsoft] MCSD, CFPS, Certified Scrummaster http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not representative of my employer. I do not answer questions on behalf of my employer. I'm just a programmer helping programmers. --
Kevin Spencer - 06 Oct 2006 13:36 GMT Hi Nick,
Thanks for the good link and clarification re my terminology. You'd think after all these years I'd get it right! ;-)
At any rate, I tried to explain the principle, since the OP was apparently not particularly savvy about newsgroups, and was unlikely to find the original answer. But I'm not well-known for my tender bedside manner - still working on it, but a long way from where I want to be! I tend to get into more "trouble" when engaging in cross-posted threads (like this one), where my replies end up in groups where I am not well-known for much of anything!
As for thanks, none are necessary. I feel that giving back is the only way to keep the flow of help and information flowing. When I was young I went on a 6-week hike of the Long Trail in Vermont. One of the leaders made a definite impression on my 15-year-old mind, teaching us that when we stayed at a camp site, we should always leave behind more wood than was left by the last group that stayed there, and leave it in better condition than we found it. As I grew older I came to understand that, because there are those who can not or will not replenish the supply, it is only logical for anyone who is willing and able to ensure that the slack is taken up. So, I have gained and learned much from these newsgroups, and I hope to help in my own small way in ensuring their continued usefulness.
:-) Kevin Spencer Microsoft MVP Software Composer http://unclechutney.blogspot.com
A man, a plan, a canal, a palindrome that has - never mind.
>> Which brings me to my final point: Cross-posting to multiple newsgroups >> is not considered good netiquette, and is likely to result in your not [quoted text clipped - 27 lines] > BTW: I know how valuable your time is. Thank you for sharing some of it > with this community. We are richer for it. Peter Duniho - 03 Oct 2006 19:34 GMT > Immediately after the first posting I realized I had some editing to > do. So I removed the original post, and reposted with the new Subject > line. > > You were too quick to respond to the first post. Your original post is still here. You should be aware that many ISPs (or more commonly, news hosters...that function has been outsourced by most ISPs) do not support cancel message any more. They are too open to abuse, and disabling that functionality is the only practical way to prevent the abuse.
In today's "cancel-free" world, the best you can do is follow-up your original message with any necessary clarifications. Posting two different threads just creates confusion, and there's no reliable way to get rid of the first thread. And of course, the first post is the one most people are going to see first and reply to.
Pete
Patrice - 03 Oct 2006 18:38 GMT Looks like a slight misunderstanding. You do need a SMTP server but it doesn't have to be on the server on which the page runs...
I'm not sure what you meant by sending a page. You could send just HTML markup to produce a similar result (eventually get the HTML code from a page but you'll likely have adjustements to do so that this is usable in a mail message).
Creating a zip library would be difficult but you'll find likely a number of third party library doing that...
 Signature Patrice
> Hello all. I'm a systems admin and not a developer. I work in a large > IT department with teams of developers. Currently we are asking them to [quoted text clipped - 89 lines] > > - Dave mayayana - 04 Oct 2006 01:45 GMT > DEVELOPER: This VB6 script is and its related calls to WMI are not > supported in .NET 1.1 or .NET 2.0 framework. The idea is to move away > from old technologies not to keep supporting them. It's true that it has nothing to do with WMI, and it's also not "VB6 script". But the programmer is right that you'll have to use some kind of SMTP server, and that that could possibly be a security problem.
Maybe the better question is why you're changing something that works to something that's fashionable. Your programmer clearly *only* knows .Net. But that *is* what you asked for:
"It's going to be written in .NET code, and is meant to replace our current code migration utility which was written in VB6."
It sounds like you're wasting money hiring developers to rewrite your working code into the latest fashionable language. The only thing more irrational than that is to waste more money tryting to get the .Net programmer to write the new product with the old code. Is this, by any chance, a government contract? :)
Charlie Brown - 04 Oct 2006 13:41 GMT Dave, just a quick comment on the smtp... you can set up smtp on almost any workstation or server running windows, and starting with dotnet v1.1 you can use smtp authentication which should address security concerns. As far as sending a page goes, i'm guessing you mean sending a message to a "pager" device. This is pretty easy as well, and you can find a lot of free code out there to do so, as well as many online paging web services you could access yourself. Some pager service providers also allow sending text email to pagers, so you could use the same email sending code also. Code to send secure email is only about 10 lines or less. All of this can be done over port 25 of the firewall, or if everyone is really secure minded than you could modify it to use port 80, which is what your internet browser traffic uses anyway.
> Hello all. I'm a systems admin and not a developer. I work in a large > IT department with teams of developers. Currently we are asking them to [quoted text clipped - 89 lines] > > - Dave Rob R. Ainscough - 05 Oct 2006 18:14 GMT You can't put SMTP on port 80 unless you don't want your browser to work. Even with authentication, there is still a big security risk runnin SMTP on any PC -- this is a spammers wet dream. Most security minded companies will NOT allow SMTP on any workstation, on a server sure becaues they can control it better, but on a workstation is just asking for trouble!
We tried this once, two workstations were successfully infected with a spammer virus/malware (whatever you want to call it) -- bottom line is you can't control workstation users unless you lock them down tight via SMS or something else. It is much easier to lock down and manage a server.
A possible solution is you send the info to a local or remote server (if one exists) and have it do the sending of Email. In general, you really do want to avoid sending Email from workstations -- yes it can be done, but no you really don't want to do it.
Rob.
> Dave, just a quick comment on the smtp... you can set up smtp on almost > any workstation or server running windows, and starting with dotnet [quoted text clipped - 104 lines] >> >> - Dave Charlie Brown - 07 Oct 2006 01:24 GMT Your correct Rob, I should NOT have said workstations in my reply, only servers. I should have said use SMTP auth between the client and the actual SMTP server, which is listed in the script example. Since the OP already has an SMTP server, using that with auth between the app and the server is the way to go.
> You can't put SMTP on port 80 unless you don't want your browser to work. > Even with authentication, there is still a big security risk runnin SMTP on [quoted text clipped - 122 lines] > >> > >> - Dave Nick Malik [Microsoft] - 06 Oct 2006 10:36 GMT Hello Dave,
> Hello all. I'm a systems admin and not a developer. I work in a large > IT department with teams of developers. Currently we are asking them to [quoted text clipped - 9 lines] > DEVELOPER: For an application to send an e-mail, SMTP services need to > be installed and running. He is partly right. SMTP services need to be running... somewhere. They do not need to be running on the machine that sends the mail. In your example, you are using SMTP from a server called mail.fabrikam.com. Your developer can do the same.
> To send a page, permissions need to be > implemented for internet access. Ports outside the firewall would be > needed to send pages. This creates a security issue. The rest of his argument is mistaken.
> ME: There is a workaround. The following script will send e-mail > without SMTP services. You are partially right, in the same way that the developer is partially right. Your script demonstrates that SMTP e-mail can be sent using a remote SMTP server. Your script DOES use SMTP services... just not local SMTP services.
And as for sending a page, you use the same
> e-mail script, and include a skytel e-mail address: This tells me that the term 'send a page' means to transmit to a skytel pager using SMTP. You are correct in that the same code (whether in .Net or in CDO) can be used to communicate with any mail client.
<< code clipped>>
> DEVELOPER: This VB6 script is and its related calls to WMI are not > supported in .NET 1.1 or .NET 2.0 framework. The idea is to move away > from old technologies not to keep supporting them. Once again, the developer is only partly right. CDO is not part of the WMI library. WMI is a current technology, but CDO is not. See: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncdsys/html/cd o_roadmap.asp
I suggest you move away from CDO.
On the other hand, CDO is just a code level interface to the industry standard SMTP protocol, which is amply supported by .Net. See http://www.systemwebmail.com
If you are using .Net 2.0, see http://www.systemnetmail.com
> ME: If you can't run the equivalent code of this VBScript within .NET, > then you can run the VBScript via command line. That would allow it to > be used in the .NET 1.1 or .NET 2.0 framework. moot point. The developer was wrong about SMTP. You don't need to use vbscript to do this.
> DEVELOPER: Just because it can be run via a command line does not mean > it is a part of .NET. If you check the .NET framework reference there > is no use of WMI interfaces. It is old technology that, through the > .NET framework, is not supported. the developer is poorly informed and probably a novice .net developer.
> ME: When the code migration has completed, then the .NET utility > launches an executable from the command line. That's all the > functionality it needs. That's where it stops. No other requirements > for working within the .NET framework are needed - other than the > ability for the .NET utility to launch an executable from the command > line, and pass it a couple parameters. This is a reasonable requirement from your part. It won't be needed for sending e-mail though. You may want to use this ability in other ways. Code migration is often done using flexible scripts.
> Even if there were, it's really a moot point anyway - > since all we need the .NET utility to do is run an executable from the > command line. I would imagine that writing the code in .NET to run an > executable from the command line is a relatively simple task. It is. http://msdn2.microsoft.com/en-us/library/system.diagnostics.processstartinfo.use shellexecute.aspx
Writing code to figure out if it completed correctly is a little more difficult. As long as you don't expect his utility to respond to errors thrown by your command scripts, you are probably OK meeting in the middle on this.
> I would imagine that writing the code in .NET to UnZip a file is also a > relatively simple task. It is not. On the other hand, the SharpZip library is available for free to unzip files. The developer does not need to know how to write this complex code. http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx
> He's claiming that to include code for UnZipping files, and code for > running executables from the command line, is too complex to the point > where it would increase the cost and man-hours of the project beyond > what's reasonable. He needs to give you a cost estimate and let you decide how much is too much. That said, it sounds like he is ill-informed, so his cost estimates may not be that useful, unfortuately.
> Am I missing something here? Does this developer have valid arguments? He would if he knew a little more information. I hope my response helps to clarify the discussion.
 Signature --- Nick Malik [Microsoft] MCSD, CFPS, Certified Scrummaster http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not representative of my employer. I do not answer questions on behalf of my employer. I'm just a programmer helping programmers. --
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|