My great uncle who was a Computer Scientist with AT&T back in the '50's (sorry Gil) told me about it. I didn't know we were talking about any language that had been invented since the beginning of time :-P
My point isn't that the language necessarily dictates how unreadable the code is although it does contribute as you proved with....MUMPS. With most modern languages it comes down to the person writing the code. In fact, Perl was intended to be extremely readable. The problem is that many Perl coders take short cuts and go the simple route instead of the more readable and structured path. Since laziness is virtue for programmers I guess this is to be expected. And Glen I'll have you know that *my* Perl is code is sooo readable that I typically don't need comments! :-) Robbie Allen > -----Original Message----- > From: Gil Kirkpatrick [mailto:[EMAIL PROTECTED] > Sent: Tuesday, August 05, 2003 11:56 AM > To: '[EMAIL PROTECTED]' > Subject: RE: [ActiveDir] WOT Unreadable code (was Connection String) > > > Have you ever coded in MUMPS? It doesn't matter who the > programmer is; its > ALWAYS unreadable. I think MUMPS programmers invented the > term "write-only > programs". > > Typical MUMPS program: f p=2,3:2 s q=1 x "f f=3:2 q:f*f>p!'q > s q=p#f" w:q > p,?$x\8+1*8 > > If anyone can guess what this code does, I'll give them a prize. > > -g > > Gil Kirkpatrick > CTO, NetPro > > > -----Original Message----- > From: Robbie Allen [mailto:[EMAIL PROTECTED] > Sent: Tuesday, August 05, 2003 6:51 AM > To: '[EMAIL PROTECTED]' > Subject: RE: [ActiveDir] Connection String > > > Ha! It is not the language that makes code unreadable, it is > the PROGRAMMER > :-) > > Robbie Allen > http://www.rallenhome.com/ > > > -----Original Message----- > > From: Glenn Corbett [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, August 05, 2003 9:38 AM > > To: [EMAIL PROTECTED] > > Subject: Re: [ActiveDir] Connection String > > > > > > HAHAHA....Perl > > > > I like to be able to read my code and understand it again in > > 6 months :) > > > > Glenn > > > > ----- Original Message ----- > > From: "Robbie Allen" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Tuesday, August 05, 2003 11:14 PM > > Subject: RE: [ActiveDir] Connection String > > > > > > > > Come over to the 'Dark Side' with VB.NET.....its nice and warm > > > > here *looks at the fires of hell*. > > > > > > Come on guys, why go to VB.NET when you can get most of the > > benefits of a > > > compiled language and a whole lot more in a lot fewer lines > > with Perl! > > > > > > muaahh...Muaahh...MUUAAAHH.... > > > > > > :-) > > > > > > Robbie Allen > > > http://www.rallenhome.com/ > > > > > > > > > > -----Original Message----- > > > > From: Glenn Corbett [mailto:[EMAIL PROTECTED] > > > > Sent: Tuesday, August 05, 2003 8:54 AM > > > > To: [EMAIL PROTECTED] > > > > Subject: Re: [ActiveDir] Connection String > > > > > > > > > > > > Roger, > > > > > > > > You should be able to convert the Primary Windows NT > > Account into a > > > > Domain\Username pair....I did do it some time ago (yeah, > > it was Ex 5.5 > > > > timeframe too)....I'll have a dig around (from memory > it was using > > > > LookupAccountSID *shudder*) > > > > > > > > If your UPN in 2k and Exchange email address use the same > > format (ie > > > > [EMAIL PROTECTED]), you could cheat a bit, and use the UPN > > > > conversion type code: > > > > > > > > ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9 > > > > User principal name format. For example, [EMAIL PROTECTED] > > > > > > > > *shrug* might be worth a stab. > > > > > > > > not sure about mixing NT v4 and 2k servers in the call, I don't > > > > think it would work too well (may require AD). > > > > > > > > Come over to the 'Dark Side' with VB.NET.....its nice and warm > > > > here *looks at the fires of hell*. > > > > > > > > G. > > > > > > > > > > > > ----- Original Message ----- > > > > From: "Roger Seielstad" <[EMAIL PROTECTED]> > > > > To: <[EMAIL PROTECTED]> > > > > Sent: Tuesday, August 05, 2003 10:42 PM > > > > Subject: RE: [ActiveDir] Connection String > > > > > > > > > > > > > Cool.... Might be able to stay away from a compiler for > > another 3 > > > > months... > > > > > > > > > > I know what it was that didn't work - VBScript can't > > handle the way > > > > Exchange > > > > > 5.5[1] returns the Primary Windows NT Account attribute - > > > > it comes back as > > > > a > > > > > string octet (I think). The VB examples all included the > > > > same contstant > > > > > defs, so I was thinking it was the same thing I looked at a > > > > month or two > > > > > ago. > > > > > > > > > > Now I'm wondering if I can just direct translate using the > > > > syntax below... > > > > > I'll have to try that later... > > > > > > > > > > -------------------------------------------------------------- > > > > > Roger D. Seielstad - MTS MCSE MS-MVP > > > > > Sr. Systems Administrator > > > > > Inovis Inc. > > > > > > > > > > [1] Yeah, I'm still running it > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > From: Glenn Corbett [mailto:[EMAIL PROTECTED] > > > > > > Sent: Tuesday, August 05, 2003 8:36 AM > > > > > > To: [EMAIL PROTECTED] > > > > > > Subject: Re: [ActiveDir] Connection String > > > > > > > > > > > > > > > > > > >From the online help about NameTranslate, VBScript Example > > > > > > (havent tried it, > > > > > > but looks like it should work) > > > > > > > > > > > > Dim nto > > > > > > const ADS_NAME_INITTYPE_SERVER = 2 > > > > > > const ADS_NAME_TYPE_1779 = 1 > > > > > > const ADS_NAME_TYPE_NT4 = 3 > > > > > > > > > > > > server = "aDsServer" > > > > > > user = "jeffsmith" > > > > > > dom = "Fabrikam" > > > > > > passwd = "top secret" > > > > > > dn = "CN=jeffsmith,CN=Users,DC=Fabrikam,DC=COM" > > > > > > > > > > > > Set nto = Server.CreateObject("NameTranslate") > > > > > > nto.InitEx ADS_NAME_INITTYPE_SERVER, server, user, > > dom, passwd > > > > > > nto.Set ADS_NAME_TYPE_1779, dn > > > > > > result = nto.Get(ADS_NAME_TYPE_NT4) > > > > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > > From: "Roger Seielstad" <[EMAIL PROTECTED]> > > > > > > To: <[EMAIL PROTECTED]> > > > > > > Sent: Tuesday, August 05, 2003 10:31 PM > > > > > > Subject: RE: [ActiveDir] Connection String > > > > > > > > > > > > > > > > > > The only problem with that is you can't call the > same methods > > > > > > from VBScript > > > > > > - which is where I seem to need it the most.. > > > > > > > > > > > > Better brush up on my mAd VB.net skilz... > > > > > > > > > > > > > -------------------------------------------------------------- > > > > > > Roger D. Seielstad - MTS MCSE MS-MVP > > > > > > Sr. Systems Administrator > > > > > > Inovis Inc. > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Glenn Corbett [mailto:[EMAIL PROTECTED] > > > > > > > Sent: Tuesday, August 05, 2003 8:17 AM > > > > > > > To: [EMAIL PROTECTED] > > > > > > > Subject: Re: [ActiveDir] Connection String > > > > > > > > > > > > > > > > > > > > > Pablo, > > > > > > > > > > > > > > here is some code I use in VB.NET to do a similar > > > > thing, should be > > > > > > > convertable to C# without much hassle > > > > > > > > > > > > > > strUserName = the fully qualified LDAP path of a user > > > > or group, ie > > > > > > > LDAP://CN=GroupName,DC=testdomain,DC=local > > > > > > > > > > > > > > 'Constants required, rest are in the online doco for > > > > NameTranslate > > > > > > > Const ADS_NAME_INITTYPE_GC = 3 > > > > > > > Const ADS_NAME_TYPE_1779 = 1 > > > > > > > Const ADS_NAME_TYPE_NT4 = 3 > > > > > > > > > > > > > > Dim Translate As New ActiveDs.NameTranslate > > > > > > > Dim strUser As String > > > > > > > > > > > > > > 'We want to chat to a GC server, any one will do > > > > > > > Translate.Init(ADS_NAME_INITTYPE_GC, "") 'Pass in > the FQDN > > > > > > > name of the object Translate.Set(ADS_NAME_TYPE_1779, > > > > > > > Mid(strUserName, 8)) <-- the call doesnt > > > > > > > like the LDAP:// on the front, so strip it > > > > > > > 'Get back the NT v4 Equivalent > > > > > > > strUser = Translate.Get(ADS_NAME_TYPE_NT4) > > > > > > > Translate = Nothing > > > > > > > > > > > > > > strUser now = the DOMAIN\UserName pair > > > > > > > > > > > > > > You can easily go the other way, ie pass in the > > > > > > > Domain\username pair, and get back the LDAP path. > Its all in > > > > > > > the online doco, > > just do a > > > > > > > search for > > > > > > > NameTranslate > > > > > > > > > > > > > > Very cool actually, was hacking around trying to > pull apart > > > > > > > LDAP strings and massage them myself, this is MUCH easier > > > > > > > (and faster) > > > > > > > > > > > > > > HTH > > > > > > > > > > > > > > Glenn > > > > > > > (lucky you asked today, worked out how to to this last > > > > night *grin*) > > > > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > > > > From: "Pablo Curello" <[EMAIL PROTECTED]> > > > > > > > To: <[EMAIL PROTECTED]> > > > > > > > Sent: Tuesday, August 05, 2003 9:44 PM > > > > > > > Subject: RE: [ActiveDir] Connection String > > > > > > > > > > > > > > > > > > > > > That's right, but what if the user Pablo Curello is > > inside an > > > > > > > organizational > > > > > > > group ? > > > > > > > In that case, the LDAP string should be (for example): > > > > > > > "LDAP://cn=Pablo Curello, ou=Sales, > dc=yourdomain, dc=com". > > > > > > > It doesn�t work with: "LDAP://cn=Pablo Curello, > > > > > > dc=yourdomain, dc=com" > > > > > > > Thanks. > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Costanzo, Ray [mailto:[EMAIL PROTECTED] > > > > > > > Sent: Monday, August 04, 2003 2:34 PM > > > > > > > To: [EMAIL PROTECTED] > > > > > > > > > > > > > > I believe that you mean DOMAIN\Username, and if so: > > > > > > > > > > > > > > Function GetFullName(sUser) > > > > > > > Dim sUsername, sDomain > > > > > > > sUserInfo = Split(sUser, "\") > > > > > > > sDomain = sUserInfo(0) > > > > > > > sUsername = sUserInfo(1) > > > > > > > Set oUser = GetObject("WinNT://" & sDomain & "/" > & sUsername > > > > > > > & ",user") > > > > > > > GetFullName = oUser.Fullname > > > > > > > Set oUser = Nothing > > > > > > > End Function > > > > > > > > > > > > > > That will give you the full name, such as: > > "Curello\, Pablo" > > > > > > > > > > > > > > And then you can use: > > > > > > > > > > > > > > sFullname = GetFullName("pcurello") > > > > > > > sLDAP = "LDAP://cn=" & sFullname & ",dc=yourdomain,dc=com" > > > > > > > > > > > > > > How you get the dc= part from the oldschool netbios name, > > > > > > I'm not sure > > > > > > > though. And I can't translate this to C for you. :] > > > > > > > > > > > > > > Ray at work > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Pablo Curello [mailto:[EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello all. > > > > > > > Does anybody know how to transform a user's identity > > > > > > > "DOMAIN/USERNAME" to an ldap connection string "CN=name, > > > > > > > DC=..." ? I know how to do it in COM (C++) using > > > > > > > IADsNameTranslate interface, but now > > > > > > > I�m using C#. > > > > > > > Thanks. > > > > > > > > > > > > > > > > > > > > > > > ************************************************************** > > > > > > > ************** > > > > > > > ****************************** > > > > > > > The information contained in this e-mail message > is intended > > > > > > > only for the personal and confidential use > > > > > > > of the recipient(s) named above. Distribution, > > publication, or > > > > > > > retransmission of this message is strictly > prohibited. This > > > > > > > message may be a bank to client communication and as such > > > > > > > is priviliged and confidential. > > > > > > > If the reader of this message is not the intended > recipient > > > > > > > or an agent > > > > > > > responsible for delivering it to the > > > > > > > intended recipient, you are hereby notified that you have > > > > > > > received this > > > > > > > document in error and that any > > > > > > > review, dissemination, distribution, or copying of this > > > > > > > message is strictly > > > > > > > prohibited. If you have received > > > > > > > this communication in error, please notify us > immediately by > > > > > > > e-mail, and > > > > > > > delete the original message. > > > > > > > > > > > > > > The sender of this e-mail specifically "opts-out" of > > > > the Electronic > > > > > > > Signatures and Global and National > > > > > > > Commerce Act (E-Sign) and any and all similar state and > > > > > > federal acts. > > > > > > > Accordingly, but without limitation, > > > > > > > any and all documents, contracts, and ageements > must contain > > > > > > > a handwritten signature of the sender to > > > > > > > be legal, valid, and enforceable. > > > > > > > > > ************************************************************** > > > > > > > ************** > > > > > > > ****************************** > > > > > > > > > > > > > > List info : http://www.activedir.org/mail_list.htm > > > > > > > List FAQ : http://www.activedir.org/list_faq.htm > > > > > > > List archive: http://www.mail-archive.com/activedir%> > > 40mail.activedir.org/ > > > > > > > > > > > > > > List info : > > > > > > > http://www.activedir.org/mail_list.htm > > > > > > > List FAQ : http://www.activedir.org/list_faq.htm > > > > > > > List archive: http://www.mail-archive.com/activedir%> > > 40mail.activedir.org/ > > > > > > > > > > > > > > > > > > > > > List info : > > > > > > > http://www.activedir.org/mail_list.htm > > > > > > > List FAQ : http://www.activedir.org/list_faq.htm > > > > > > > List archive: http://www.mail-archive.com/activedir%> > > 40mail.activedir.org/ > > > > > > > > > > > > > List info : http://www.activedir.org/mail_list.htm > > > > > > List FAQ : http://www.activedir.org/list_faq.htm > > > > > > List archive: > > > > > > http://www.mail-archive.com/activedir%> > 40mail.activedir.org/ > > > > > > > > > > > > > > > > > > List info : > > > > > > http://www.activedir.org/mail_list.htm > > > > > > List FAQ : http://www.activedir.org/list_faq.htm > > > > > > List archive: > > > > > > http://www.mail-archive.com/activedir%> > 40mail.activedir.org/ > > > > > > > > > > > List info : http://www.activedir.org/mail_list.htm > > > > > List FAQ : http://www.activedir.org/list_faq.htm > > > > > List archive: > > > > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > > > > > > > > > > List info : > > > > http://www.activedir.org/mail_list.htm > > > > List FAQ : http://www.activedir.org/list_faq.htm > > > > List archive: > > > > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > > > > > List info : http://www.activedir.org/mail_list.htm > > > List FAQ : http://www.activedir.org/list_faq.htm > > > List archive: > > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > > > > List info : > > http://www.activedir.org/mail_list.htm > > List FAQ : http://www.activedir.org/list_faq.htm > > List archive: > > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > > List info : http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > > List info : > http://www.activedir.org/mail_list.htm > List FAQ : http://www.activedir.org/list_faq.htm > List archive: > http://www.mail-archive.com/activedir%> 40mail.activedir.org/ > List info : http://www.activedir.org/mail_list.htm List FAQ : http://www.activedir.org/list_faq.htm List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/
