• MySpace has been accused of deleting years worth of users’ personal blogs and histories after the site underwent a $20 million relaunch last month.

    The move was a bid to shed the site’s outdated image and attract a new teenage fanbase, after millions of users migrated to Facebook as their primary social networking site in the late 2000s.

    Purchased by Rupert Murdoch’s News Corporation in 2005 for $580m, a decision Murdoch has since called a “huge mistake”, MySpace’s focus on music and entertainment over social interaction has been credited as one of the reasons behind its decline.

    At its peak, the site boasted 125m users and more webpage visits than Google. It now has around 25m users.

    In 2011 Specific Media Group and pop heartthrob Justin Timberlake jointly purchased the company for $35m, and have since attempted to rebrand the site for the teenage generation through campaigns with rapper Pharrell.

    This sleek new makeover has resulted in the deletion of blogs, videos, private messages, posts and comments without prior warning, much to the fury of its remaining loyal users.

    Distraught fans created a thread entitled ‘I want my blogs and classic myspace back’ to vent their frustration at the move one user called “crass arrogance”.

    They continued: “You have stolen 6 years of blogs and something that is priceless to me and cannot be replaced.”

    Another lamented the deletion of her blogs, writing: “Openly and freely I shared intimate moments that can not be relived or retold for they where experienced. I would revisit myspace religiously because of my blogs… Myspace did an ultimate back stab.” [sic]

    MySpace responded to concerns with the soothing message that the information had not been lost forever.

    It said: “Change isn’t easy and there has been a lot going on lately. We understand that this information is very important to you. Please understand that your blogs have not been deleted. Your content is safe and we have been discussing the best ways possible to provide you your blogs.”

    Tags: , , , ,

  • November 6, 2019 /  Computer Technology, Programming

    Introduction

    Qt Quick’s QML language makes it easy to do many things, especially fancy animated user interfaces. However, some things either can’t be done or are not suitable for implementing in QML, such as:

    1. Getting access to functionality outside of the QML/JavaScript environment.
    2. Implementing performance critical functions where native code is desired for efficiency.
    3. Large and/or complex non-declarative code that would be tedious to implement in JavaScript.

    As we’ll see, Qt makes it quite easy to expose C++ code to QML. In this blog post I will show an example of doing this with a small but functional application.

    The example is written for Qt 5 and uses the Qt Quick Components so you will need at least Qt version 5.1.0 to run it.

    Overview

    To expose a C++ type having properties, methods, signals, and/or slots to the QML environment, the basic steps are:

    1. Define a new class derived from QObject.
    2. Put the Q_OBJECT macro in the class declaration to support signals and slots and other services of the Qt meta-object system.
    3. Declare any properties using the Q_PROPERTY macro.
    4. Call qmlRegisterType() in your C++ main program to register the type with the Qt Quick engine.

    For all the details I refer you to the Qt documentation section Exposing Attributes of C++ Types to QML and the Writing QML Extensions with C++ tutorial.

    Ssh Key Generator

    For our code example, we want a small application that will generate ssh public/private key pairs using a GUI. It will present the user with controls for the appropriate options and then run the program ssh-keygen to generate the key pair.

    I implemented the user interface using the new Qt Quick Controls since it was intended as a desktop application with a desktop look and feel. I initially developed the UX entirely by running the qmlscene program directly on the QML source.

    The UI prompts the user for the key type, the file name of the private key to generate and an optional pass phrase, which needs to be confirmed.

    The C++ Class

    Now that have the UI, we will want to implement the back end functionality. You can’t invoke an external program directly from QML so we have to write it in C++ (which is the whole point of this example application).

    First, we define a class that encapsulates the key generation functionality. It will be exposed as a new class KeyGenerator in QML. This is done in the header file KeyGenerator.h below.

    #ifndef KEYGENERATOR_H
    #define KEYGENERATOR_H
    
    #include <QObject>
    #include <QString>
    #include <QStringList>
    
    // Simple QML object to generate SSH key pairs by calling ssh-keygen.
    
    class KeyGenerator : public QObject
    {
        Q_OBJECT
        Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged)
        Q_PROPERTY(QStringList types READ types NOTIFY typesChanged)
        Q_PROPERTY(QString filename READ filename WRITE setFilename NOTIFY filenameChanged)
        Q_PROPERTY(QString passphrase READ filename WRITE setPassphrase NOTIFY passphraseChanged)
    
    public:
        KeyGenerator();
        ~KeyGenerator();
    
        QString type();
        void setType(const QString &t);
    
        QStringList types();
    
        QString filename();
        void setFilename(const QString &f);
    
        QString passphrase();
        void setPassphrase(const QString &p);
    
    public slots:
        void generateKey();
    
    signals:
        void typeChanged();
        void typesChanged();
        void filenameChanged();
        void passphraseChanged();
        void keyGenerated(bool success);
    
    private:
        QString _type;
        QString _filename;
        QString _passphrase;
        QStringList _types;
    };
    #endif

    Next, we need to derive our class from QObject. We declare any properties that we want and the associated methods. Notify methods become signals. In our case, we want to have properties for the selected key type, the list of all valid ssh key types, file name and pass phrase. I arbitrarily made the key type a string. It could have been an enumerated type but it would have made the example more complicated.

    Incidentally, a new feature of the Q_PROPERTY macro in Qt 5.1.0 is the MEMBER argument. It allows specifying a class member variable that will be bound to a property without the need to implement the setter or getter functions. That feature was not used here.

    We declare methods for the setters and getters and for signals. We also declare one slot called generateKey(). These will all be available to QML. If we wanted to export a regular method to QML, we could mark it with Q_INVOCABLE. In this case I decided to make generateKey() a slot since it might be useful in the future but it could have just as easily been an invocable method.

    Finally, we declare any private member variables we will need.

    C++ Implementation

    Now let’s look at the implementation in KeyGenerator.cpp. Here is the source code:

    #include <QFile>
    #include <QProcess>
    #include "KeyGenerator.h"
    
    KeyGenerator::KeyGenerator()
        : _type("rsa"), _types{"dsa", "ecdsa", "rsa", "rsa1"}
    {
    }
    
    KeyGenerator::~KeyGenerator()
    {
    }
    
    QString KeyGenerator::type()
    {
        return _type;
    }
    
    void KeyGenerator::setType(const QString &t)
    {
        // Check for valid type.
        if (!_types.contains(t))
            return;
    
        if (t != _type) {
            _type = t;
            emit typeChanged();
        }
    }
    
    QStringList KeyGenerator::types()
    {
        return _types;
    }
    
    QString KeyGenerator::filename()
    {
        return _filename;
    }
    
    void KeyGenerator::setFilename(const QString &f)
    {
        if (f != _filename) {
            _filename = f;
            emit filenameChanged();
        }
    }
    
    QString KeyGenerator::passphrase()
    {
        return _passphrase;
    }
    
    void KeyGenerator::setPassphrase(const QString &p)
    {
        if (p != _passphrase) {
            _passphrase = p;
            emit passphraseChanged();
        }
    }
    
    void KeyGenerator::generateKey()
    {
        // Sanity check on arguments
        if (_type.isEmpty() or _filename.isEmpty() or
            (_passphrase.length() > 0 and _passphrase.length() < 5)) {
            emit keyGenerated(false);
            return;
        }
    
        // Remove key file if it already exists
        if (QFile::exists(_filename)) {
            QFile::remove(_filename);
        }
    
        // Execute ssh-keygen -t type -N passphrase -f keyfileq
        QProcess *proc = new QProcess;
        QString prog = "ssh-keygen";
        QStringList args{"-t", _type, "-N", _passphrase, "-f", _filename};
        proc->start(prog, args);
        proc->waitForFinished();
        emit keyGenerated(proc->exitCode() == 0);
        delete proc;
    }

    The constructor initializes some of the member variables. For fun, I used the new initializer list feature of C++11 to initialize the _types member variable which is of type QStringList. The destructor does nothing, at least for now, but is there for completeness and future expansion.

    Getter functions like type() simply return the appropriate private member variable. Setters set the appropriate variables, taking care to check that the new value is different from the old one and if so, emitting the appropriate signal. As always, please note that signals are created by the Meta Object Compiler and do not need to be implemented, only emitted at the appropriate times.

    The only non-trivial method is the slot generateKey(). It does some checking of arguments and then creates a QProcess to run the external ssh-keygen program. For simplicity and because it typically executes quickly, I do this synchronously and block on it to complete. When done, we emit a signal that has a boolean argument that indicates the key was generated and whether it succeeded or not.

    QML Code

    Now let’s look at the QML code in main.qml:

    // SSH key generator UI
    
    import QtQuick 2.1
    import QtQuick.Controls 1.0
    import QtQuick.Layouts 1.0
    import QtQuick.Dialogs 1.0
    import com.ics.demo 1.0
    
    ApplicationWindow {
        title: qsTr("SSH Key Generator")
    
        statusBar: StatusBar {
        RowLayout {
            Label {
                id: status
                }
            }
        }
    
        width: 369
        height: 166
    
        ColumnLayout {
            x: 10
            y: 10
    
            // Key type
            RowLayout {
                Label {
                    text: qsTr("Key type:")
                }
                ComboBox {
                    id: combobox
                    Layout.fillWidth: true
                    model: keygen.types
                    currentIndex: 2
                }
            }
    
            // Filename
            RowLayout {
                Label {
                    text: qsTr("Filename:")
                }
                TextField {
                    id: filename
                    implicitWidth: 200
                    onTextChanged: updateStatusBar()
                }
                Button {
                    text: qsTr("&Browse...")
                    onClicked: filedialog.visible = true
                }
            }
    
            // Passphrase
            RowLayout {
                Label {
                    text: qsTr("Pass phrase:")
                }
                TextField {
                    id: passphrase
                    Layout.fillWidth: true
                    echoMode: TextInput.Password
                    onTextChanged: updateStatusBar()
                }
    
            }
    
            // Confirm Passphrase
            RowLayout {
                Label {
                    text: qsTr("Confirm pass phrase:")
                }
                TextField {
                    id: confirm
                    Layout.fillWidth: true
                    echoMode: TextInput.Password
                    onTextChanged: updateStatusBar()
                }
            }
    
            // Buttons: Generate, Quit
            RowLayout {
                Button {
                    id: generate
                    text: qsTr("&Generate")
                    onClicked: keygen.generateKey()
                }
                Button {
                    text: qsTr("&Quit")
                    onClicked: Qt.quit()
                }
            }
    
        }
    
        FileDialog {
            id: filedialog
            title: qsTr("Select a file")
            selectMultiple: false
            selectFolder: false
            nameFilters: 
            selectedNameFilter: "All files (*)"
            onAccepted: {
                filename.text = fileUrl.toString().replace("file://", "")
            }
        }
    
        KeyGenerator {
            id: keygen
            filename: filename.text
            passphrase: passphrase.text
            type: combobox.currentText
            onKeyGenerated: {
                if (success) {
                    status.text = qsTr('<font color="green">Key generation succeeded.</font>')
                } else {
                    status.text = qsTr('<font color="red">Key generation failed</font>')
                }
            }
        }
    
        function updateStatusBar() {
            if (passphrase.text != confirm.text) {
                status.text = qsTr('<font color="red">Pass phrase does not match.</font>')
                generate.enabled = false
            } else if (passphrase.text.length > 0 && passphrase.text.length < 5) {
                status.text = qsTr('<font color="red">Pass phrase too short.</font>')
                generate.enabled = false
            } else if (filename.text == "") {
                status.text = qsTr('<font color="red">Enter a filename.</font>')
                generate.enabled = false
            } else {
                status.text = ""
                generate.enabled = true
            }
        }
    
        Component.onCompleted: updateStatusBar()
    }

    The preceding code is a little long, however, much of the work is laying out the GUI components. The code should be straightforward to follow.

    Note that we import com.ics.demo version 1.0. We’ll see where this module name comes from shortly. This makes a new QML type KeyGeneratoravailable and so we declare one. We have access to it’s C++ properties as QML properties, can call it’s methods and act on signals like we do withonKeyGenerated.

    A more complete program should probably do a little more error checking and report meaningful error messages if key generation fails (we could easily add a new method or property for this). The UI layout could also be improved to make it properly resizable.

    Our main program is essentially a wrapper like qmlscene. All we need to do to register our type with the QML engine is to call:

        qmlRegisterType<KeyGenerator>("com.ics.demo", 1, 0, "KeyGenerator");

    This makes the C++ type KeyGenerator available as the QML type KeyGenerator in the module com.ics.demo version 1.0 when it is imported.

    Typically, to run QML code from an executable, in the main program you would create a QGuiApplication and a QQuickView. Currently, to use the Qt Quick Components there is some additional work needed if the top level element is an ApplicationWindow or Window. You can look at the source code to see how I implemented this. I basically stripped down the code from qmlscene to the minimum of what was needed for this example.

    Here is the full listing for the main program, main.cpp:

    #include <QApplication>
    #include <QObject>
    #include <QQmlComponent>
    #include <QQmlEngine>
    #include <QQuickWindow>
    #include <QSurfaceFormat>
    #include "KeyGenerator.h"
    
    // Main wrapper program.
    // Special handling is needed when using Qt Quick Controls for the top window.
    // The code here is based on what qmlscene does.
    
    int main(int argc, char ** argv)
    {
        QApplication app(argc, argv);
    
        // Register our component type with QML.
        qmlRegisterType<KeyGenerator>("com.ics.demo", 1, 0, "KeyGenerator");
    
        int rc = 0;
    
        QQmlEngine engine;
        QQmlComponent *component = new QQmlComponent(&engine);
    
        QObject::connect(&engine, SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit()));
    
        component->loadUrl(QUrl("main.qml"));
    
        if (!component->isReady() ) {
            qWarning("%s", qPrintable(component->errorString()));
            return -1;
        }
    
        QObject *topLevel = component->create();
        QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
    
        QSurfaceFormat surfaceFormat = window->requestedFormat();
        window->setFormat(surfaceFormat);
        window->show();
    
        rc = app.exec();
    
        delete component;
        return rc;
    }

    In case it is not obvious, when using a module written in C++ with QML you cannot use the qmlscene program to execute your QML code because the C++ code for the module will not be linked in. If you try to do this you will get an error message that the module is not installed.

    Tags: , , , ,

  • November 1, 2019 /  Computer Technology, Hardware

    Asus is reportedly now taking pre-orders for its 31.5 inch monitor (PQ321Q) featuring Sharp’s anti-glare LED-backlit IGZO technology. It sports a screen resolution of 3840 x 2160, 140 pixels per inch, and not only cuts down on energy consumption but features an extremely long durability given that Sharp’s tech doesn’t constantly refresh the images. It’s all static until something moves on-screen.

    The company introduced the new monitor last month, reporting that Sharp’s IGZO tech supports smaller transistors than amorphous silicon thanks to significantly higher electron mobility. It also not only reduces energy consumption, but reduces the monitor’s overall bulk as well: at 35 mm at its thickest point, the PQ321 is the thinnest 4K UHD monitor available today, the company said.

    A Sharp rep said during CES 2013 in January that the 31.5 inch panel will be marketed to professionals first given the end-price. The prototype also had ten-point touch input which apparently didn’t make it into the company’s own PN-K321 31.5 inch IGZO monitor selling for $5,000 USD. The Asus model also doesn’t support touch.

    The upcoming PQ321Q supports wide 176° horizontal and vertical viewing angles, 10 bit RGB “deep” color, and an 8 millisecond gray-to-gray response time. Other features include a 0.182 mm pixel pitch, a max brightness of 350 cd/m2, a max contrast ratio of 800:1, picture-by-picture support and HDCP support. The monitor’s typical power consumption is 93 watts.

    On the connectivity front, the I/O panel has two HDMI ports, a DisplayPort, and an RS-232C port for old-school VGA connections. There’s also a 3.5 mm mini-jack for PC audio input, a 3.5 mm mini-jack for AV audio input, and a 3.5 mm mini-jack for earphones (for HDMI and DisplayPort).

    Last month the company said that the new display is the “equivalent to four Full HD displays stacked side-by-side.” It can now be pre-ordered on Amazon here, and on Newegg here, both requesting $3,499.99 USD. The monitor is slated to arrive on July 16, 2013.

    Tags: , , , ,

  • October 31, 2019 /  Computer Technology, Software

    Take-Two Interactive Software, Inc. (TTWO) (the “Company”) announced today that the underwriters for the recently completed public offering of the Company’s 1.00% Convertible Senior Notes due 2018 (the “Notes”) exercised in full their option to purchase an additional $37.5 million principal amount of the Company’s Notes on July 12, 2013. The sale of these additional Notes closed today, which increases the total principal amount of the Notes sold by the Company in this offering to $287.5 million.

    J.P. Morgan Securities LLC, Barclays Capital Inc. and Wells Fargo Securities, LLC were the underwriters for the offering.

    This press release does not constitute an offer to sell or a solicitation of an offer to buy the securities described herein, nor shall there be any sale of these securities in any jurisdiction in which such an offer, solicitation, or sale would be unlawful prior to registration or qualification under the securities laws of any such jurisdiction.

    About Take-Two Interactive Software

    Headquartered in New York City, Take-Two Interactive Software, Inc. is a leading developer, marketer and publisher of interactive entertainment for consumers around the globe. The Company develops and publishes products through its two wholly-owned labels Rockstar Games and 2K. Our products are designed for console systems, handheld gaming systems and personal computers, including smartphones and tablets, and are delivered through physical retail, digital download, online platforms and cloud streaming services. The Company’s common stock is publicly traded on NASDAQ under the symbol TTWO. For more corporate and product information please visit our website athttp://www.take2games.com.

    All trademarks and copyrights contained herein are the property of their respective holders.

    Cautionary Note Regarding Forward-Looking Statements

    The statements contained herein which are not historical facts are considered forward-looking statements under federal securities laws and may be identified by words such as “anticipates,” “believes,” “estimates,” “expects,” “intends,” “plans,” “potential,” “predicts,” “projects,” “seeks,” “will,” or words of similar meaning and include, but are not limited to, statements regarding the outlook for the Company’s future business and financial performance. Such forward-looking statements are based on the current beliefs of our management as well as assumptions made by and information currently available to them, which are subject to inherent uncertainties, risks and changes in circumstances that are difficult to predict. Actual outcomes and results may vary materially from these forward-looking statements based on a variety of risks and uncertainties including: our dependence on key management and product development personnel, our dependence on our Grand Theft Auto products and our ability to develop other hit titles for current and next-generation platforms, the timely release and significant market acceptance of our games, the ability to maintain acceptable pricing levels on our games, our ability to raise capital if needed and risks associated with international operations. Other important factors and information are contained in the Company’s Annual Report on Form 10-K for the fiscal year ended March 31, 2013, in the section entitled “Risk Factors,” the Company’s Registration Statement on Form S-3 filed with the SEC on June 12, 2013 and the Company’s other periodic filings with the SEC, which can be accessed at www.sec.gov. All forward-looking statements are qualified by these cautionary statements and apply only as of the date they are made. The Company undertakes no obligation to update any forward-looking statement, whether as a result of new information, future events or otherwise.

    Tags: , , , ,

  • October 29, 2019 /  Computer Technology, Software

    Having announced a few days ago, 7 of the Google Nexus tablet could have ordered via the Play Store. Opening the pre-order was first announced via Twitter. Google Play Store opened bookings for the new Nexus 7 16GB and 32GB. Both are offered at a price of USD 229 and USD 269.
    Almost simultaneously with the opening of pre-orders, it also gives Google Nexus 7, this new software update. There are 2 updates are given, with the first update will be automatically downloaded to the tablet when connected to the Internet for the first time during initial setup.
    As for the second update will be downloaded automatically when the tablet is used several times. The update notification will appear when it’s finished downloading and is ready to be installed. So make sure that the type of connection used unlimited when activating new Nexus 7 so as not to run out of quota.

    Tags: , , , ,

  • October 28, 2019 /  Computer Technology, Hardware

    Latest Notebook product from Dell, Precision M3800 would seem to be the most anticipated devices this year. Dell claimed that laptop workstation will be the thinnest and lightest in the world, regardless laptop also offers high performance.

    Precision M3800 is also said to have a body with a weight of about 2:04 kilogram. 18milimeter thin body is also another attraction of this notebook.

    This notebook also said will have a screen with a higher resolution than Apple’s Retina Display. More precisely, this notebook will come to market with a qHD screen + 3200 × 1800 pixels that supports multitouch.

    In addition, this notebook will use Quadroo NVidia graphics card and an Intel Haswell fourth-generation Core i7, Nvidia Quadro possibility is K5100M. In addition, this notebook also has a certified Independent Software Vendor (ISV), which indicates that this device can run an optimum software.

    Other rumors say that this notebook will have HDD1TB or 512GB of SSD. For RAM, this notebook is estimated to have 15GB of RAM and four USB 3.0 ports.

    Tags: , , , ,

  • October 28, 2019 /  Computer Technology, Hardware

    Tilera® Corporation, the leader in 64-bit manycore general purpose processors, today announced it has achieved the highest ever single-chip Suricata performance, delivering 4x the performance, and 7x the performance-per-watt of a high-end x86 multicore processor. Suricata is the industry-leading open source Intrusion Detection and Prevention System (IDS/IPS) developed by the Open Information Security Foundation (OISF) and supported by the US Department of Homeland Security (DHS) to secure networks against next generation security attacks.

    Sophisticated intrusion detection and prevention, such as Suricata implements, requires deep packet inspection and pattern-matching that taxes the capabilities of even the highest performance processors. The Suricata performance achieved on the TILE-Gx72 processor is double that of the previous record-holder, the TILE-Gx36, providing organizations with network security that scales with their networks.

    “Tilera’s TILE-Gx processors are continuing to lead the market in Suricata performance and the impressive results with the TILE-Gx72 demonstrates the synergy between a massively manycore processor, coupled with Suricata’s multi-threaded implementation,” stated Matt Jonkman, president, OISF. “With the continuing rise of security threats and incidents, corporate enterprises, carriers and government organizations are adopting Suricata for their IDS/IPS and leveraging the TILE-Gx processor family coupled with the MDE development environment to achieve the best performance.”

    The TILE-Gx72 is the world’s highest performance and highest efficiency processor with integrated System-on-Chip (SoC) features including eight 10Gb Ethernet ports, 24-lanes of PCI Express, four DDR3 memory controllers, and 23 Mbytes of on-chip cache. The wire-speed, programmable mPIPE front end processes 240 Mpps of bi-directional Ethernet traffic and improves the efficiency of network-heavy applications. With its exceptionally low power profile, several TILE-Gx72 processors can be populated in a single compact datacenter appliance, providing 576 cores of compute and 640Gbps of packet processing with 8 sockets.

    The multi-threaded Suricata IDS/IPS application, version 1.4.0, was ported using Tilera’s Multicore Development Environment (MDE) version 4.1, a full-featured and standards based run-time Linux environment for TILE-Gx processors. The recent “live rule swap” update supports dynamic insertion of new threat signatures into Suricata and enables rapid response to threats such as Zero-Day Attacks.

    “We track Moore’s Law with the tile-based architecture and significantly raise the bar with our TILE-Gx72 processor, incorporating twice the number of cores of our previous high-end processor. Tilera’s high-performance iMesh interconnect enables Suricata performance to scale linearly with the additional cores,” said Devesh Garg, president, and CEO of Tilera. “Once again, we are demonstrating that the TILE-Gx architecture provides a real-world advantage in scalable application performance, power efficiency, and overall compute density.”

    The Suricata solution is available on all of Tilera’s TILE-Gx platforms, ranging from the TILEncore-Gx series of PCIe cards with multiple 10Gbps Ethernet interfaces, to the TILEmpower-Gx 1RU standalone appliance and the TILExtreme-Gx 1RU multi-socket platform with up to 288 cores of compute.

    Tags: , , , ,

  • A document reveals how Microsoft is working with U.S. intelligence agencies to read messages from users, including helping the U.S. National Security Agency (NSA) secret unlock code Microsoft, Australia Guardian reported on Friday (07/12/2013).

    Confidential documents obtained by the Guardian of Edward Snowden, U.S. intelligence whistleblowers, said the level of cooperation between Silicon Valley and American intelligence agencies in the last three years.

    The document, among others, suggests, Microsoft helped the NSA to read the conversation at the new portal Outlook.com by giving the company secret code. NSA has access to Outlook.com including Hotmail before the messages are written in the form of a code (encrypted).

    Microsoft is working with the FBI this year that the NSA get easier access to the data warehouse via Prism SkyDrive which has 250 million users in the world.

    Microsoft is also working with the FBI to the intelligence agencies “understand” the issues that potential Outlook.com that allows users to use the e-mail alias for them.

    In July last year, nine months after Microsoft bought Skype, the NSA is proud to mention that the NSA has been able to increase the amount of video that they can access through Skype as much as three times through the Prism program. The materials obtained from Prism program routinely accessed by the FBI and CIA. One of the documents referred NSA has the name “team sport”.

    Snowden documents also reveal the tension between Silicon Valley and the Obama administration. Leading technology companies lobbying the government to be allowed to express the depth of their cooperation with the NSA to address customer concerns in terms of privacy.

    Corporate leaders are not trying to claim that they have collaborated and worked with intelligence agencies like NSA documents mentioned in the argument that the process is carried out according to the lawsuit.

    In a statement, Microsoft said, “If we increase the capacity (upgrade)-prudok and updating our products, we are not exempt from having to comply with applicable laws, both now and into the future.”

    Microsoft reiterated his argument that they provide the customer data “only in response to government requests, and we only serve the demand for specific address or identity”.

    Last June, the Guardian reported that the NSA claims to have “direct access” program through the Prism system leading internet companies including Microsoft, Skype, Apple, Google, Facebook, and Yahoo.

    Tags: , , , ,

  • “We’re at a tipping point with connected devices,” a recent blog post from Microsoft Microsoft‘s Internet Explorer team reads. “Every day, 3.6 million mobile devices and tablets are activated worldwide. That’s over five times more than the number of babies born each day!” They’ve got a point, but it is a sad irony for Microsoft that so few of those mobile devices run their software.

    But Microsoft has sold more than 70 million Xbox 360s and has a very TV-centric followup, the Xbox One, coming in November. As Forbes.com contributor Tristan Louis points out in today’s post on Smarter TVs, ”the upcoming battle for the living room is a chance to redeem itself and turn its fortune around.” The parody video that Louis refers to shows all of the instances of the words “TV,” “television,” “sports” and “Call of Duty” in the launch announcement. Although the announcement raised the ire of hard core gamers, the emphasis on TV (and perhaps the two things TVs are most used for, watching sports and playing Call of Duty) must have been highly intentional.

    Games have been Microsoft’s route into the living room, but that strong association is now an impediment to its more generalized assault of the living room. Non-gamers are probably thinking more about the future AppleApple TV than about the Xbox as their upgrade path to interactive TV. In response to this perception, Microsoft has launched a new program called “Companion Web.” The idea is to facilitate real time interactions between different devices. And because Microsoft has no footprint to speak of in the world of mobile, they are now trying to emerge as a unifying force between iOS and Android.

    The problem Microsoft is trying to solve (other than the risk of their own irrelevance) is that “the majority of sites on the web are built for only one device at a time.” The user can search for related information to what they are watching on their TV, for instance, but real time it ain’t. And content owners can make second screen experiences, but they have tended to be operating system (and sometimes even device) specific. Microsoft is after a more generalized solution that does not impose an unmanageable burden on developers.

    “Regardless of who makes the device or software that powers the device, the Companion Web enables the internet to bridge the gap between these devices,” the IE blog post reads. “For developers, Companion Web represents an opportunity to reuse code that works across multiple scenarios, enabling greater reach and ways to engage an audience. For consumers, Companion Web means you’ll seamlessly move from one device to the next, interacting with your photos, videos, music, movies, television shows, files, and more.”

    Companion Web would seem to be a more generalized version of the Xbox SmartGlass, which also allowed you to interact with your TV via Windows devices and select iOS and Android devices, but only on very specific games and content. The promise of the Companion Web is of a much broader range of experiences that the user could have between devices.

    So far, Microsoft has released three such “Companion Web experiences” working with outside developers. I became aware of the program through Luke Wroblewski who has created a version of his Polar app that works in this companion manner with Internet Explorer. As you can see in the video below, Polar uses IE’s snap mode to assign a “sidebar” portion of the screen (in this case a Surface tablet acts a s a proxy for a Windows 8/Xbox One enabled TV) to itself while the user uses the balance of the screen to watch Futurama.

    Wroblewski demonstrates the ways that you can find polls with Polar about Futurama and watch the results update in real time while you are watching the show. You can imagine something like this being a lot of fun for big live TV events like the Oscars or the Super Bowl, where the amount of real time activity would be high and seeing how other people are reacting becomes part of the entertainment. Similarly, you can make up your own hashtags for polls in Polar so that the reactions you are monitoring are only a select group of people. Either way, mass or niche, the real time linkage with the content on the big screen really extends the idea of the Polar app by making these interactions available to a room full of people—each potentially interacting with their own mobile devices.

    And, important to note (since this is IE, after all, that we are talking about) that this all uses standard open web technology. Specifically, Wroblewski tells me, Companion Web uses web sockets to create the real time connections between devices. He says, “you can make a connection between pretty much any two ‘modern’ Web browsers regardless of device.” One of the other really interesting things about the Polar demonstration is that, as I described in a recent post, it uses a multi-device web page that enables all kinds of input (touch, mouse and keyboard) depending on device. And in the Companion Web experience, all all of these inputs can be used to control the connected screen.

    What the other “modern” browsers don’t have that Internet Explorer 10 has is this snap mode. If there was one thing that iOS 7 should have copied from Windows (instead of all that flatness stuff) it would have been snap mode. So these Companion Web experiences will work across virtually all devices (because they use standard web tech) but the Xbox One will retain an advantage of being the only way to uses these “companions” on the screen simultaneously with other activities. And Polar, I think, has shown how this could become a really powerful feature.

    The other two Companion Web experiments released so far do not make use of this snap mode feature. DailyBurn, see video below, uses a smartphone or tablet to get real time data related to workouts you view on your TV. This app is clearly trying to appeal to users who may need some constructive excuse to get an Xbox One.

    Mix Party, introduced in the (purposely?) obnoxious video below, allows people at a party to create real time, collaborative playlists with their phones. As with Polar, the real time aspect of this is part of the entertainment value. I’m not sure if DailyBurn is intended as a solo experience or if multiple people could monitor their own individual performance of a shared video workout or not, but Mix Party and Polar clearly have real time, fact to face interactions in mind.

    What is interesting to me about this strategy is that there are some extra capabilities that Microsoft has built into IE 10/Xbox One (and likely will build more) that will give it an advantage as an app enabled web TV platform, but the apps developers write will also work well on all devices. This strategy of “progressive enhancement” is a comfortable one to developers because it keeps their options open. Allowing for these entropic possibilities is a smart way to get developers on board, which, in turn, could be the means to Microsoft’s resurgence through the big screen.

    Tags: , , , ,

  • October 26, 2019 /  Computer Technology, Hardware

    After a long awaited Google today announced a new version of the Android operating system 4.3, although still using the code name Jelly Bean. Not only that, I was told the new features embedded in the latest android.
    Reported by The Verge, the Android 4.3 is Google adds multi-user settings. It is useful to restrict the use and application of a profile feature.
    Meanwhile, Product Management Director of Android, Hugo Barra explained the new features useful to give a sense of security to parents in order to arrange for their children can not open content is not suitable for a child.
    Not only that, Google also added Smart Blurtooth that claimed to save battery usage. Android 4.3 also supports Open GL ES 3.0, which is able to increase the quality of the graphics for gaming, including 3D.
    Starting today, Android 4.3 can be downloaded over-the-air by the users of the Samsung Galaxy Nexus, LG Nexus 4, Nexus 7 Asus tablet is also the first generation and Samsung Nexus 10.

    Tags: , , , ,