Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ionos-performance domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /homepages/36/d199566830/htdocs/app199566839/wp-includes/functions.php on line 6121

Notice: Constant WP_SITEURL already defined in /homepages/36/d199566830/htdocs/app199566839/wp-content/plugins/ionos-sso/inc/DisableUrlChange.php on line 19

Notice: Constant WP_HOME already defined in /homepages/36/d199566830/htdocs/app199566839/wp-content/plugins/ionos-sso/inc/DisableUrlChange.php on line 20
“Dare to Win” or “Why I love S.DS” – And Then…

“Dare to Win” or “Why I love S.DS”


Note: “Dare to struggle. Dare to win!” was a slogan used in the 1960s by the Students for a Democratic Society (SDS). This post has nothing to do with that.

Imagine, for a moment, that you’re a software developer, it’s the year 1998 and you need to write a program that accesses an LDAP directory. What do you have to do? Something like this:

  1. Write a TCP-based transport layer to connect to the LDAP server.
  2. Write a data access layer that composes LDAP protocol messages, sends them and decodes the replies.
  3. Write a bunch of utility routines to find LDAP servers, deal with error conditions, handle asynchronouse mode, deal with paged results, etc.
  4. Write all your code in C/C++.
  5. Fix numerous memory management issues: leaks, overruns, heap corruption, etc.

It’s incredible that anybody ever did this. It’s not surprising that the few who did took a really, really, long time to do it.

Now, fast forward to 2008. How would your task be any different? You’d:

  1. Write your code in a .NET language (probably C#)
  2. Use System.DirectoryServices (S.DS) to do all of your LDAP work

You wouldn’t have to write any network code. You wouldn’t have to write any LDAP protocol code. You’d have all the utility functions that you needed including ones specific to Microsoft Active Directory. You would not have to deal with 99% of the memory management problems (it’s still possible to leak memory in .NET but you have to try hard to do it).

I am not exaggerating when I say that you’d be 100 times more productive in 2008 than in 1998.

Lest I place too many laurels on S.DS, let me acknowledge that it’s actually a layer on top of another technology: the Active Directory Service Interfaces (ADSI). ADSI does the really hard work. It implements a scriptable object layer on top of LDAP that makes it much, much, easier to bind to LDAP objects, to perform searches and to get/set object attributes. Anyone who has to deal with AD should immediately go out and buy Robbie Allen’s Active Directory Cookbook if they don’t have one already. The Cookbook has tons of “recipes” that describe how ADSI (and other tools)  can be used from script languages (vbscript, jscript) to manipulate AD.

By the way, the inventor of ADSI (the key developer who managed the project at Microsoft) is Krishna Ganugapati, our VP Engineering at Likewise Software.

Oh, and while you’re getting the Cookbook, you might as well pick up a copy of Jerry Carter’s LDAP System Administration, another excellent book. And, yes, Jerry is another Likewise employee (a senior developer and the main person in charge of Likewise Open).

You know what else is really cool? If you have a good software developer or two, you can write your own version of S.DS that calls OpenLDAP and then use Mono to run S.DS-based code on Linux, UNIX and Mac OS X. Mind you, your developers have to be pretty good; the exercise is not trivial. You have to deal with Kerberos, for example, in order to make authenticated LDAP calls to AD.


94 responses to ““Dare to Win” or “Why I love S.DS””

  1. I enjoy you because of all of the effort on this blog. Debby delights in conducting internet research and it’s easy to see why. A number of us hear all about the compelling form you convey both useful and interesting guidelines by means of the blog and boost contribution from other individuals about this area of interest and my child has been becoming educated a great deal. Enjoy the remaining portion of the new year. You’re carrying out a fabulous job.

  2. I am just writing to make you understand what a wonderful experience our princess went through visiting yuor web blog. She realized too many things, with the inclusion of what it is like to possess an incredible teaching style to make the rest without problems understand various very confusing topics. You undoubtedly surpassed visitors’ expected results. Thanks for supplying those warm and helpful, trustworthy, revealing not to mention unique tips on your topic to Tanya.

  3. I am commenting to let you know of the fantastic encounter my cousin’s daughter experienced reading your site. She even learned many issues, not to mention what it’s like to have a wonderful giving mindset to have many people quite simply grasp chosen grueling subject areas. You really exceeded our expectations. Many thanks for giving the informative, healthy, educational and as well as easy thoughts on the topic to Jane.

  4. Thanks for another magnificent post. Where else could anyone get that type of info in such an ideal way of writing? I have a presentation next week, and I’m on the look for such information.

  5. Thanks for the tips on credit repair on all of this blog. The thing I would offer as advice to people will be to give up a mentality they will buy at this moment and pay back later. As being a society most people tend to repeat this for many factors. This includes family vacations, furniture, plus items we really want to have. However, you must separate a person’s wants from the needs. When you’re working to fix your credit score you really have to make some trade-offs. For example you possibly can shop online to economize or you can click on second hand suppliers instead of highly-priced department stores to get clothing.

  6. Buy Private proxies: BEST PRIVATE PROXIES – Exclusive level of quality, Endless data transfer, 1000 mb/s superspeed, 99,9 uptime, No sequential IP’s, Virtually no practice polices, An array of subnets, USA and even Eu proxies – Purchase These days – DreamProxies.com

  7. Hi, i read your blog from time to time and i own a similar one and i was just curious if you get a lot of spam feedback? If so how do you prevent it, any plugin or anything you can suggest? I get so much lately it’s driving me mad so any support is very much appreciated.

  8. Hi! I’ve been reading your website for a while now and finally got the courage to go ahead and give you a shout out from Porter Tx! Just wanted to say keep up the great work!

  9. Today, I went to the beach front with my kids. I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She placed the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is totally off topic but I had to tell someone!

  10. Awesome blog! Do you have any recommendations for aspiring writers? I’m planning to start my own site soon but I’m a little lost on everything. Would you advise starting with a free platform like WordPress or go for a paid option? There are so many choices out there that I’m totally overwhelmed .. Any recommendations? Thanks!

  11. There are some attention-grabbing points in time on this article however I don抰 know if I see all of them heart to heart. There may be some validity however I’ll take maintain opinion till I look into it further. Good article , thanks and we wish more! Added to FeedBurner as properly

  12. Great beat ! I wish to apprentice while you amend your site, how could i subscribe for a blog web site? The account helped me a acceptable deal. I had been tiny bit acquainted of this your broadcast provided bright clear concept

  13. Its such as you learn my thoughts! You appear to know so much approximately this, such as you wrote the e-book in it or something. I believe that you just can do with a few percent to drive the message home a bit, however other than that, that is wonderful blog. A fantastic read. I will certainly be back.

  14. I am not sure where you’re getting your info, but great topic.
    I needs to spend some time learning much more or understanding more.
    Thanks for fantastic info I was looking for this info for my mission.

  15. I am no longer certain where you are getting your info, however good topic.
    I needs to spend a while learning more or understanding more.
    Thank you for magnificent info I was searching for this info for my mission.

  16. Thanks for your article. Another element is that being a photographer includes not only problems in catching award-winning photographs but in addition hardships in acquiring the best video camera suited to your needs and most especially struggles in maintaining the grade of your camera. This can be very accurate and noticeable for those photography addicts that are in to capturing the actual nature’s fascinating scenes : the mountains, the forests, the particular wild or the seas. Going to these adventurous places unquestionably requires a digital camera that can meet the wild’s unpleasant area.

  17. I’m not sure where you’re getting your info, but great topic. I needs to spend some time learning much more or understanding more. Thanks for great information I was looking for this info for my mission.

  18. Monitoreo de condicion
    Aparatos de ajuste: importante para el rendimiento uniforme y productivo de las maquinarias.

    En el mundo de la avances contemporanea, donde la productividad y la fiabilidad del dispositivo son de suma trascendencia, los dispositivos de balanceo tienen un funcion fundamental. Estos aparatos especificos estan concebidos para calibrar y fijar partes dinamicas, ya sea en dispositivos manufacturera, automoviles de movilidad o incluso en equipos hogarenos.

    Para los profesionales en soporte de dispositivos y los profesionales, trabajar con dispositivos de equilibrado es importante para proteger el desempeno uniforme y seguro de cualquier sistema dinamico. Gracias a estas alternativas avanzadas sofisticadas, es posible disminuir significativamente las oscilaciones, el sonido y la presion sobre los sujeciones, mejorando la vida util de piezas costosos.

    Asimismo importante es el tarea que juegan los equipos de calibracion en la servicio al usuario. El asistencia profesional y el reparacion continuo empleando estos dispositivos permiten ofrecer soluciones de alta estandar, elevando la bienestar de los consumidores.

    Para los duenos de negocios, la contribucion en equipos de calibracion y detectores puede ser importante para aumentar la productividad y desempeno de sus dispositivos. Esto es principalmente trascendental para los empresarios que manejan modestas y intermedias negocios, donde cada detalle vale.

    Por otro lado, los sistemas de ajuste tienen una gran implementacion en el campo de la prevencion y el monitoreo de calidad. Permiten identificar potenciales errores, impidiendo arreglos caras y danos a los sistemas. Ademas, los indicadores obtenidos de estos aparatos pueden utilizarse para maximizar sistemas y incrementar la presencia en plataformas de exploracion.

    Las zonas de aplicacion de los equipos de balanceo incluyen multiples sectores, desde la elaboracion de transporte personal hasta el supervision de la naturaleza. No afecta si se refiere de importantes elaboraciones de fabrica o pequenos locales de uso personal, los equipos de equilibrado son esenciales para promover un operacion productivo y sin paradas.

  19. Woah! I’m really loving the template/theme of
    this website. It’s simple, yet effective. A lot of times it’s very difficult to get that
    “perfect balance” between user friendliness and visual appeal.
    I must say that you’ve done a superb job with this.
    In addition, the blog loads very fast for me on Opera.

    Excellent Blog!

  20. When I initially commented I clicked the “Notify me when new comments are added” checkbox
    and now each time a comment is added I get three emails
    with the same comment. Is there any way you can remove me from that service?

    Bless you!

Leave a Reply

Your email address will not be published. Required fields are marked *