Sunday, August 18, 2013

JAX-WS with Navition Microsoft Gives 401 Unauthorized error in JbossAS 7.1

 /* your code here */ 

Thursday, September 20, 2012

Steve Wozniak and Steve Jobs hacked the Telephone Network with their Blue Box. Is it still possible with the existence of SS7

Hacking with Blue Box the History
The operation of a blue box is simple: First, the user places a long distance telephone call, usually to an 800 number or some other non-supervising phone number. For the most part, anything going beyond 50 miles would go over a trunk type susceptible to this technique.
When the call starts to ring, the caller uses the blue box to send a 2600 Hz tone (or 2600+2400 Hz on many international trunks followed by a 2400 Hz tone). The 2600 Hz is a supervisory signal, because it indicates the status of a trunk; on hook (tone) or off-hook (no tone). By playing this tone, you are convincing the far end of the connection that you've hung up and it should wait. When the tone stops, the trunk will go off-hook and on-hook (known as a supervision flash), making a "Ka-Cheep" noise, followed by silence. This is the far end of the connection signalling to the near end that it is now waiting for routing digits.
Once the far end sends the supervision flash, the user would use the blue box to dial a "Key Pulse" or "KP", the tone that starts a routing digit sequence, followed by either a telephone number or one of the numerous special codes that were used internally by the telephone company, then finished up with a "Start" or "ST" tone. At this point, the far end of the connection would route the call the way you told it, while the users end would think you were still ringing at the original number. KP1 is generally used for domestic dialing where KP2 would be for international calls. (wikipedia). The Fifteen Greatest Hacking Exploits

 SCCP hacking, attacking the SS7 and SIGTRAN applications

Reference:
Introduction to Switching systems
Stored Program Controlled (SPC) Telephone Exchanges
Mobicents SS7 Stack
Introduction to BSS (Business Support Subsystem)

Friday, September 7, 2012

Architecture Lessons by Ingo Rammer

#1 - Don't follow others!
#2 - People affect architecture
#3 - Good for me or for the project
#4 - Research vs. Development
#5 - Be wary of The Second System
#6 - Some things need to be discussed, others need to be done
#7 - Build what people pay you to build
#8 - Always observe problem complexity vs. solution complexity
#9 - Make it simpler. If the solution appear too complex, it quite likely is
#10 - Most of us don't need Ebay/Amazon/Google/Bing Scale
#11 - Code is written to be read
#12 - Don't think about solutions before understanding the problem
#13 - When in doubt, pick the technology you know
#14 - There is no silver bullet
#15 - There is no good idea which can't be used in a totally wrong way
#16 - Shipping is a feature!


See the presentation here. http://www.infoq.com/presentations/15-lessons-architecture


Saturday, August 18, 2012

Web Performance Pixie Dust

This is one nice article I read about Web Performance. Summery of the article is as below. 

Web Performance must become a priority from Top to Bottom, and vice versa. Performance monitoring is a journey, not a destination, similar to continuous build and agile dev! Yes it’s about great user experience, but ultimately it’s about the bottom line! (Slow Performance is the Silent Killer, the New Downtime - 2010!)
Items which can impact performance:
  • Datacenter(s): Location, Location Location!
  • Network(s), Latency & Geography
  • Hardware (servers, load balancers, network…)
  • DNS
  • CDN & CDN Configuration (just caught 2 cdns one using http 1.0 Close Connection and the other not compressing)
  • Proper Capacity Planning
  • Application (web, databases, frameworks…)
  • Code
  • 3rd Parties
  • Smart and efficient use of Hardware
  • Engineers + Ops working in sync
  • Web Performance Team (EVEN if it’s one person)
  • NOC or Site Reliability guys, the Watchdogs
  • Finally, the “Executive Team” that's making sure all of the above elements are receiving the proper resources and support, with the ultimate goal of getting your company headed towards a great user experience and level of performance
Read the whole article:



Sunday, May 20, 2012

Sharepoint Alfresco and Liferay

Liferay, Sharepoint and Alfresco are considered as Enterprise Content Management Systems or ECMs which in essence support Document Management, Web Content Management, Workflow, Enterprise Collaboration, Advanced Search and Administration. However Liferay is in contrast more powerful on its Extensibility and Integration points while others are more forcused towards content collaboration. By integrating Liferay with Sharepoint or Alfresco an enterprise can create a mature editorial process management solution with advance visual content presentation capabilities. Liferay from version 6.1 support this idea by introducing the Content Management Interoperability Services or CMIS interface and OAuth and Open Social Portlet.

For example the enterprise product catalogs, Articles, Newsletters and Video etc. content authoring and collaboration can be done through Sharepoint/Alfresco while web presentation is done through Liferay.

Hippo CMS and Nuxeo ECM are the other content management systems which can be integrated with Liferay. Hippo uses JSR-286  Web Services Remort Portlet WSRP feature to integrate with Liferay while Nuxeo uses CMIS and OpenSocial for the integration. The reference section has links for Liferay Blog posts which explains on how to integrate Twitter Gadjet to a users private page using OAuth and Open Social and how to integrate Alfresco in Liferay using CMIS.

References:
Liferay's Enterprise Portal 6.1 Supports CMIS, Integrates Enterprise CMS Document Repositories
Open Source Alternatives To Microsoft SharePoint
Liferay + CMIS: do not expect too much
Content Management Interoperability Services
Liferay CMIS Repository - Wiki
Liferay Sharepoint - User Guide
Integrating Twitter Gadget in Liferay
Integrating Alfresco 3.4 in Liferay 6.1 via CMIS 1.0

Tuesday, July 26, 2011

Tibbr and the other dimentions of social networking

Tibber is a commercial social networking and collaboration product which according to the Head of Enginnering and Product Management division Shriram Chakraborthi its a ground breaking technology that unifies social and communication in real time where everything is available as a wall post. Some of the existing feature of Tibbr are.




Tibbr allows people to follow not only people but also Subjects, Systems, Processes, Governance. This means people can watch activity streams of systems. System can be a Point of Sales POS Terminal or an assembly line. Just imagine how important this would be for a line manager to have this information cumming onto his wall. Not only that Tibbr can be inegrated with lagacy systems like Oracle ERP products. For example it can be integrated with Oracle Expenses which shows different expenses the subordinates has done and expects the approval from the Manager. Once this kind of wall post is clicked Tibbr will bring up the necessary interface of the legacy system which is the Oracle Expece Approval form in this case so that the  manager can do the approval staying inside Tibbr.


Tibcast of Tibbr allow a person to initiate a conference call or a presentation session. The initiator can select the presenter and once done Tibcast will show the webcam outputs of each memeber plus the desktop of the presenter which is screen shared. The edge of this feature is if the iniitator selected a person who is offline at
the time of the conference he will get a recorded version of the conference as a screecast which will be poped on his wall.

The voice memmo feature of Tibbr allows people to record somthing using the Tibbr smart phone app and post it to the Tibbr wall.

Tibbr also has widgets created to show activity streams which can be hooked into a CMS. These widgets are context aware which is it will filter out activities and show activities related to the page which the widget is sitting on.

It also has got this feature called  Tibbr communities. Just like Google+ Circles it allows to broadcast messages only to the interested community. This is like managing multiple social networks from a single location which manages Access, Policies and Authentications all at once.







 

Monday, May 2, 2011

Extending javascript functions

Method 1/

function Animal(name){
    this.name = name;
}
Animal.prototype.talk = function(){
    console.log("My name is "+this.name);
}
var a = new Animal("Brendan Eich");
a.talk();
var json = '{name: "Tim Berners-Lee"}'
var b = eval(b);
$.extend(b, Animal.prototype);
b.talk();

Method 2/

// declare function foo
var foo = function (a) { alert(a); };
// modify function foo
foo = new Function (
  "a",
  foo.toSource()
    .replace("alert(a)", "alert('function modified - ' + a)")
    .replace(/^function[^{]+{/i,"")  // remove everything up to and including the first curly bracket
    .replace(/}[^}]*$/i, "")  // remove last curly bracket and everything after
);
 
Method 3/
function m1(){
  alert('Initial function')
} 
webBrowse1.Navigate(@"javascript:m1=new function(alert('Replace after.'))");
 

Subscribe