Tuesday, June 18, 2013

They know what we did last summer !


The United States National Security Agency (NSA) is watching your emails, chat conversations, voice calls, documents and more since 2007.

The PRISM program of NSA that was leaked by NSA contractor Edward Snowden and published by The Guardian and The Washington Post on June 6, 2013, claims direct access to servers of firms including Google, Apple, Facebook, Microsoft, yahoo and skype.

PRISM is a clandestine national security electronic surveillance program operated by the United States NSA since 2007.
more info at wikipedia

at first, Silicon Valley executives insist they did not know of secret PRISM program that grants access to servers.
here

then, In recent days, their strategy has shifted to admitting the NSA requests, espousing transparency by publishing their US request figures, while seeking to stress that they push back against requests they see as inappropriate.
here

firm like Yahoo has claimed receiving between 12,000 and 13,000 requests, Apple receiving between 4,000 and 5,000 requests, Facebook said it received between 9,000 and 10,000 requests in that six-month period, while Microsoft said it received between 6,000 and 7,000.

here to follow The latest news and comment on PRISM

Thursday, May 2, 2013

Top web Sites implementations


Here are the web technologies used to build the most famous and largest web sites in the world, you can click on the links if you want to see references or more details.


Facbook.com
written in PHP, C++ and Java

data is output in PHP format (compiled with HipHop for PHP). The backend is written in Java and Thrift is used as the messaging format so PHP programs can query Java services.here

HipHop converts PHP into heavily optimized C++ code, which can then be compiled into an efficient native binary. the company's engineers reported that it reduced average CPU consumption on Facebook by roughly 50 percent. here

eBay.com
from Perl .. to .. XSL(front end) & C++ (back end) .. to .. XSL (front end) & Java (back end)

Youtube.com
written in Python

Twitter.com
from Ruby on Rails .. to .. Scala .. to .. Java

James Gosling explaining why twitter moved from ruby to java


Amazon.com
written in C++ and Java with Oracle database engines on Linux-based Hewlett Packard servers

LinkedIn.com
written in Java

PayPal.com
written in C++

Tuesday, March 26, 2013

Not able to start local socket server

Problem:
if you try to start local socket server on unix using QLocalServer for IPC and the server crashed without closing , then when you try to start it again, listen will fail unless you change the serverName you are listening on...

here is a sample code:

m_server = new QLocalServer(this);
if (!m_server->listen("serverUniqueName")) {
    qDebug() << "Not able to start the Server";
    return;
}

proposed solution:

when the local socket server starts, it creates a file in /tmp with the name of the server, so next attempt to listen will find this address in use, you should remove the file /tmp/serverName to be able to start again.

sample code:
 
m_server = new QLocalServer(this);
    if (!m_server->listen("serverUniqueName")) {
        if(!QFile::remove("/tmp/serverUniqueName") ||
                !m_server->listen("serverUniqueName")){
            qDebug() << "Not able to start the Server";
            return;
        }
    }