Key board loggers – why not? Conceptually they can be made secure.

Every now and then, comes a time when you want to tear your hair off because you typed (and clicked) on a bunch of info into a form and now you don’t have access to it. You want a time machine. Just to go back a few mins or hours and get back all that data.

Why don’t we have technology to make that happen?

A keyboard + click logger would do the job. These programs exist, yes, very much, but are touted as insecure. Many computer worms, virii have key stroke loggers built in them and in those cases their intent is obviously malicious.

But why can’t we have an ethical, secure keyboard logger? log the keystokes but then encrypt them and keep. Make the data accessible only after two factor authentication. The security issue can surely be solved, can’t it?

If scope of capture is a problem, then let’s focus and apply solutions to that problem instead of just branding the whole thing as unsafe. We could easily have loggers that ONLY capture browser based interactions.

WAN Optimization

WAN optimization is a collection of techniques for increasing data-transfer efficiencies across wide-area networks.

Techniques used:

Deduplication: The technique is used to improve storage utilization and can also be applied to network data transfers to reduce the number of bytes that must be sent across a link. In the deduplication process, unique chunks of data, or byte patterns, are identified and stored during a process of analysis. As the analysis continues, other chunks are compared to the stored copy and whenever a match occurs, the redundant chunk is replaced with a small reference that points to the stored chunk. Given that the same byte pattern may occur dozens, hundreds, or even thousands of times (the match frequency is dependent on the chunk size), the amount of data that must be stored or transferred can be greatly reduced.

Compression- zip style compression on the fly

Latency optimization – Can include TCP refinements such as window-size scaling, selective Acknowledgements, Layer 3 congestion control algorithms.

Protocol spoofing – Bundles multiple requests from chatty applications into one. May also include stream-lining protocols such as CIFS. [7]

Traffic shaping


Good overview of BPEL:


Interestingly most Process Engines, including IBM’s Process Manager support direction execution of BPMN (exported as XPDL’s or directly drawn in the associated tooling)

Another standard at play is SCA which was developed jointly by many SOA integration vendors. It plays a complimentary role to BPEL.

Amplify’d from

SCA and BPEL – Rivals or Friends?

Sometimes, when talking about composite service-based applications, people get confused about the roles of SCA and of BPEL and consider that these two technologies are in conflict or that they are trying to perform the same roles.  This isn’t the case – far from being rivals, SCA and BPEL are firm friends and are complementary parts of a business solution, each with its own role to play.

Putting this in another way, SCA is concerned with what components exist in the business application, what services those components offer, what service references those components depend on, how the components are connected together, what endpoint addresses and communication methods are used for the connections, what policies are applied to components and to the connections between them. BPEL is concerned with business logic and the sequences of operations which are performed to execute an individual business process. BPEL processes provide and consume other services through partnerLinks, but these are abstract interfaces that must be connected to actual endpoints and communication methods through configuration.



Reverse Architecture

A classic case of how one thought can lead to another, ultimately taking so much longer to focus!

It all started with a thought on how google contacts module works (within gmail). If one were to receive an email from abc it would show up as exactly that in the inbox. Unlike behaviour of a phone, the email id is not replaced by name if you go and add this email as a contact in your contacts book. Wierd.

Next thought: What does this imply?


  • This simply implies that the “batch jobs” in the gmail domain do not continuously run
  • Contact names are just static text as opposed to dynamic nodes
  • A search on names vs search on any other text is the same!?
  • The contact database is not a index like “labels”


Next thought: What is the name of the process of what I just did ?

Looked like I started uncovering the “design”. Did not uncover the “code/programming” structure, so it is NOT reverse engineering per se. Probably reverse architecture.

Next thought: is there something(a field of study) pre-existing called reverse engineering?

Looks like there is! Atleast some have already thought of it (not surprisingly). I was hoping to find a lot more links on hacking related to reverse architecture, but interestingly didn’t. This signals that the IT Security community classifies (rather incorrectly) Reverse Architecture to fall under Reverse Engineering. Maybe I should take the cause up and spread the love of RA-Reverse Architecture around. Ah, one of the myriad things I would have done with my 72 hr days.

As this topic revolves around design patterns and reverse design patterns it is rather interesting. Some links:

CiteSeer Papers on Reverse Architecture
Experience with Reverse Architecture to aid understanding

Next Thought: Interestingly, no wikipedia article on RA!

Let me start one!
Just did-

Now where was I? What was I doing… Back to work I go