Skip to main content

Connect to Active Directory using DDC SDK

In this post, I will cover a new Open Source Java SDK designed to simplify communication with Active Directory for small, medium and large projects.
DDC (Domain Directory Controller) is an SDK designed to simplify AD interaction for small, medium and large projects. DDC is a portable Java library provided with a friendly API, allowing you to quickly compose simple or complicated queries against AD's endpoints without any previous LDAP knowledge.

I had the pleasure to develop this SDK along with my colleges at Imperva. Now Imperva decided to make it available publicly as an Open Source project. The article was published by officially Imperva, you can find the full article here.


The Best

Closures in C# vs JavaScript -
Same But Different

Closure in a Nutshell Closures are a Software phenomenon which exist in several languages, in which methods declared inside other methods (nested methods), capture variables declared inside the outer methods. This behavior makes captured variables available even after the outer method's scope has vanished.

The following pseudo-code demonstrates the simplest sample:
Main() //* Program starts from here { Closures(); } AgeCalculator() { int myAge = 30; return() => { //* Returns the correct answer although AgeCalculator method Scope should have ordinarily disappear return myAge++; }; } Closures() { Func ageCalculator = AgeCalculator(); //* At this point AgeCalculator scopeid cleared, but the captured values keeps to live Log(ageCalculator()); //* Result: 30 Log(ageCalculator()); //* Result: 31 } JavaScript and C# are two languages that support…

Method Breakpoints are Evil

Some IDEs expose an option to set "Method Breakpoints", it turns out that "Method Breakpoints" might tremendously decrease debugger's performance. In this article, I explain what are "Method Breakpoints" and the reasons they impact performance so badly. To better understand this subject I will cover how Debuggers works under the hoods and how Breakpoints and Method Breakpoints are implemented internally. Java Platform Debugger Architecture JDPA is an architecture designed for enabling communication between debuggers and debugees. The architecture consists of three APIs: JVM Tool Interface (JVM TI) - A native interface which defines the services a VM must provide for debugging purposes Java Debug Wire Protocol (JWDP) - A textual API which defines the communication's protocol between debugee and debuggerJava Debug Interface (JDI) - Defines a high-level Java API designed to facilitate the interaction between debugge and debuggers. Internally J…

How Security may Impact a Web App Performance: A trek into HTTP Caching

In this post I will go over some interesting HTTP topics: HTTP Caching Headers, SSL, Fiddler, and how each of them can have impact over your web application performance (yes, just running Fiddler on your machine can effect your application's caching behavior!).  The main purposes of this post are both, helping out other developers who encountered issues covered in the post, and to stimulate awareness about security and HTTP caching relationship. For .NET Stack developers, don't be disappointed when I will mention Spring MVC, it is just my current REST provider (long live IIS!), the essence of the post should be interesting regardless. NOTE: When mentioning 'browser' I am referring by default to Chrome version 51.0.2704.84. Basic HTTP Caching Headers Rules I won't fully cover basic HTTP Caching protocol subjects like Etag/Last-Modified, no-store, no-cache etc. But before staring let's have a very quick reminder about basics HTTP Caching concepts: no-cache - must revali…