Monthly Archives: February 2017

Opera’s State Of The Mobile Web Report: Majority Of Indonesian Opera Mini users migrate to Android

cssxe   February 28, 2017  
Intel-Wireless-Display-Technology

Opera, which is one of the leading providers of web browsers in the world, yesterday (24/7) through the official website has just released its latest infographic reports relating to one of its products namely Opera Mini which states, increasing the number of Opera Mini browser users in Indonesia are turning to the Android platform in mid-May 2012 to May 2013. This report shows the number of Android smartphone users in Indonesia are using the Opera Mini browser on the device.

At least that’s the conclusion of a report released by the Opera releases infographic “State of the Mobile Web Report”. In the report, there are some brief conclusions that can indicate the condition and situation of smartphone users in Indonesia in the use of web browsers – especially in the Opera Mobile web browsing on Android smartphone devices.

In the report mentions, after the number of smartphone users continues to rise in Indonesia, Opera Mini has recorded a growth of 182% of all smartphone platforms. Specifically for the Android platform, it turns out Opera Mini managed to increase the number of users up to 46% of the total increase of 189% over the past year.

Opera Mini in the report claims of the various options available browsers – especially on the Android platform, Opera Mini remains an option for some users with varied reasons. Many users assume the Opera Mini browser has been very familiar to many users of the service and the availability of data compression feature that is known to provide a faster cruising needs. In addition, Opera Mini is also recorded growth of data consumption on Android users who access the Opera Mini also grow up to 218%, this figure is much higher than the consumption data from other platforms.

Another conclusion is no less interesting is the report released by Opera Software stated, of the total amount of consumption data obtained, as many as 36% of consumption data obtained from access to a variety of popular social media sites such as Facebook, Twitter, and so forth, followed by sites such as e-commerce, media, and a variety of other websites that charge a percentage amount of the consumption data. Facebook specifically for social media, as much as 68% of users managed to “donate” the number of page views on the Opera Mini browser on their Android devices.

Compact and simple system that brought the Android platform turned out to have a role on the growth of Opera Mini users on the Google’s platform. It is believed by the release of Opera The report also stated that Android users in Indonesia using the Opera Mini browser surfing 83% more than users running Opera Mini on other smartphone devices.

Of the report may actually be concluded, that there is only reporting an increase in migration of users of Opera Mini for the Android platform that can be a concern, but also the condition of the mobile web users in Indonesia was enough to get special attention from the internet industry abroad. Of this report is also expected to become a benchmark for the industry in the internet world that Indonesia is arguably one of the market is important for the development of the internet industry in the whole world.

Site developer “software” Apple hacked

cssxe   February 25, 2017  
46482_22786.jpg&w=658&h=364&r=cover

Computer and software giant Apple on Monday AM, said its software developer page has been offline after hacked. Apple warns that personal information regarding users may have been stolen.

“Last Thursday, an intruder tried to break into the personal information of our registered developers on our developer page,” Apple said as quoted by AFP.

Despite the sensitive information is encrypted, “we can not rule out the possibility that some of the names, mailing addresses and email addresses belonging to the developer or may have been accessed.”

The information technology giant said in a statement titled “We’ll be right back” that hackers have hacked the reason “for the sake of transparency and accountability.”

Company officials immediately blocked sites is Thursday U.S. time ago and has since worked to fix it.

“To prevent this kind of security threats happening again, we will thoroughly examine our development system, software update our server, and to rebuild kesuluruhan our database,” said Apple, apologize and hope that the developer’s site soon recover.

This site is a portal to the creators of third-party software to design applications for the iPhone, iPad and Mac computers, in addition to being a forum for software developers.

According to Macworld, for days many developers have posted a message pitched frustration and anger on Twitter about the breakdown of the site.

Integrating C++ with QML

cssxe   February 24, 2017  
Wireless Charg camry

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.

Gigabyte Launches Latest Game Keyboard K7 FORCE Stealth with Anti-ghosting feature

cssxe   February 24, 2017  
163727876-660x495

Gamers can now obtain the latest gaming keyboard option in the shopping list. The new gaming keyboards come from Gigabyte called FORCE K7 Stealth. And as a gaming keyboard, FORCE Stealth K7 is also equipped with several features gaming supporters.

The main feature on the keyboard is the anti-ghosting. This feature allows players to be able to press 7 keys simultaneously without conflict. But not all of the support this feature. There are only seven buttons, namely the Q, W, A, S, D, left Shift and Spacebar.

In addition keyboard also comes with a three-color illumination that can be arranged. Three colors are blue, green and cyan. Not only that, the keyboard buttons also have a thin structure. With so each button is pressed, aktuasinya very close distance.

Acer ships Z3-605 all-in-one Windows 8 touch PC

cssxe   February 23, 2017  
healthcare technology

Acer America today announced that its Acer Aspire Z3-605 series All-in-one desktops are now available for consumers in the United States. The new 23-inch AIO includes two three-watt front-facing Harman Kardon speakers, in addition to up to a Core i5 processor. The unit can be configured with as much as 8GB DDR3 dual-channel memory, and a 1TB hard drive.

The new line includes a HDMI input port for attaching a gaming console or television. Two USB 3.0 ports and two USB 2.0 ports link the systems to peripherals and digital devices. An integrated SuperMulti optical drive enables DVD movie viewing as well as the burning of music and photos to CDs.

Select models feature a Full HD IPS display with 10 point touch. The IPS technology delivers consistent images, colors and brightness from all viewing angles up to 178 degrees. The unit is also configurable with integrated hand recognition software that reads human gestures for easily controlling the Windows 8 user interface and cursor from a distance.

The Acer Aspire Z3-605 series AIO desktops will be available at leading retailers at a starting price of $700 without touch capabilities, and $800 with touch.

Facebook Hashtags Not Catching on With Consumers

cssxe   February 22, 2017  
information technology

While using hashtags in Facebook posts might be a fun tactic for brands trying to engage consumers, it doesn’t appear to be paying off, a new study finds.
Research from social media analytics firm Simply Measured revealed that while 20 percent of Facebook posts among top brands now include hashtags (which give users a way to group messages of similar content), there is no evidence that hashtags are influencing engagement.

The study shows that posts with hashtags —a new feature added with in the last several months — perform as well as those without, suggesting that people are not yet discovering brand posts by their tags.

Overall, the study shows nearly all of the companies in the Interbrand 100 — which ranks businesses based on financial status — now have a Facebook fan page, with 60 percent posting something at least once a day.

[No, Really, Facebook Makes Employees More Productive]

The research revealed that visual content is by far the primary driver for engagement on Facebook. Photos posted by top brands average more than 9,400 engagements, which includes likes, comments and shares, per post, while video posts average more than 2,500.

When it comes to text posts, brands must walk a fine line. Analysis of more than 500 status updates from the top brands shows that the longer a status update is, the less engagement it typically receives. However, if a status update is too short — less than 50 characters — it may not be long enough to capture viewers’ attention or provide the necessary context to drive the number of likes, shares and comments a brand would like.

“For most brands, Facebook is no longer just a network; it has become the hub of their social marketing efforts and one of the most effective ways to engage with fans,” said Adam Schoenfeld, CEO of Simply Measured. “This latest research once again proves that knowing your audience, understanding your content assets and measuring your efforts are extremely important to develop the social strategies that will work best for you.”

Businesses that limit Facebook fans from writing on their page might want to reconsider their strategy. The research shows that nearly 30 percent of top brands do not allow users to post on their wall. For those brands, user engagement on their page is limited to likes, comments and shares, resulting in 15 percent less engagement than brands that do allow user posts.

When it comes to drawing the most Facebook fans, no one does it better than Facebook itself. The social media giant claims the top spot with 93 million fans, followed by Coca-Cola and MTV.

Easy Solutions Helps Fight Mobile Banking Fraud with Detect Safe Browsing (DSB) 4.0, Now Available for iPhone and Android

cssxe   February 20, 2017  
internet-network-generic

Easy Solutions, the Total Fraud Protection® company, today released Detect Safe Browsing (DSB) version 4.0. With DSB 4.0, financial institution can provide an important additional layer of fraud prevention to the end-user, to better protect against malware and other sophisticated threats such as, pharming, man-in-the-middle (MITM) and man-in-the browser (MITB) attacks. With DSB 4.0, Easy Solutions now extends this support to the two most popular mobile platforms: Android and iOS, ensuring that over 90%1 of mobile users can securely access their mobile banking accounts.

The APWG recently reported over 1.3 million confirmed-malicious files for Android alone2, making mobile malware one of the fastest growing classes of threats.

“Mobile banking has become the preferred method for many consumers to conduct their online banking. Unfortunately for financial institutions, some of the most insidious and difficult-to-detect malware is now being targeted at the mobile end-point,” said Daniel Ingevaldson, CTO of Easy Solutions. “With Detect Safe Browsing now available for iPhone and Android devices, financial institutions will be able to provide their customers with a simple and unobtrusive way to secure their mobile banking experience.”

DSB is a critical component of Easy Solutions’ Total Fraud Protection platform, which provides comprehensive fraud protection across all channels, and extended to the end-user. By combining cross-channel risk-scoring, transaction anomaly detection, multi-factor authentication, secure browsing, and detection and take-down services, Easy Solutions blocks criminals at all three phases of the fraud lifecycle – planning, launching, and cashing – while ensuring that authorized users can conduct business.

DSB 4.0 from Easy Solutions provides visibility and real-time intelligence of the threats impacting consumers. Based on a proprietary cross validation technology that prevents re-direction to fraudulent websites, DSB 4.0 includes some of the following capabilities:

  • Secure Mobile Browsing with the DSB App: The free DSB app, now available for both iOS and Android devices, gives customers a simple way to protect bank transactions performed on their mobile device or tablet
  • Accelerated Disinfection: DSB enables customers to quickly deploy on-demand cleanup procedures for malware related advanced persistent threats (APTs), enabling financial institutions to mitigate zero-day and targeted attacks.
  • Active Phishing Protection: DSB provides enhanced phishing protection based on Detect Monitoring Services’ (DMS) black list. Since DMS detects phishing attacks in early stages, DSB users are protected from the very latest phishing scams, minimizing their exposure to fraud.
  • Proactive, Real-time Malware Protection: DSB employs proprietary cross-validation technology that detects DNS poisoning and ensures that the end user can connect to the protected site. When an active redirection is detected, DSB stops the fraudulent connection.

ABOUT EASY SOLUTIONS

Easy Solutions delivers Total Fraud Protection® to over 100 clients, with over 32 million end users. The company’s products protect against phishing, pharming, malware, Man-in-the-Middle and Man-in-the-Browser attacks, and deliver multifactor authentication and transaction anomaly detection. For more information, visit http://www.easysol.net, or follow us on Twitter @goeasysol.

Together with AMD, Toshiba Offer Notebook PC

cssxe   February 20, 2017  
Business man holding smart phone with media icons concept on background

JAKARTA – Toshiba notebook to hit the market back in the homeland. Having recently launched a dual function, this ultrabook, Toshiba re-introduced its notebook personal computer (PC) in Indonesia under the name Toshiba Satellite C40D.

Toshiba Satellite C40D which is the development of TV technology from Toshiba, claimed more powerful and rich graphics. The kitchen was redone powered by Quad-Core AMD A4 APU.

Channel Manager of Toshiba Singapore, Albert Susilo states, with the audio technologies V2 Toshiba Audio Enhancement Technology, the consumer ear audio quality spoiled by sharp and clear. “Crystal clear,” he said at the launch of the Toshiba Satellite C40D at Le Meridien Jakarta, Monday (8/7).

With a unique design and is claimed to be better than the previous generation, Toshiba Satellite C40D available with spans 14.0 HD screen. The price is pegged at under $ 5 million. “Toshiba Satellite C40D be available in the Indonesian market in early July at a price of USD 439,” said Albert Susilo.

While AMD Indonesia Country Manager, Jenny Susanto said all products from AMD’s APU is designed to provide the best computing experience. “This notebook is instantly able to deliver sharp image quality, color, and more life to improve the consumer experience in watching the video,” he said.

Jenny added, AMD has always made ​​a breakthrough to provide the latest experience that not only includes the traditional architecture, but also the latest graphics processing interface. To provide experience productivity, graphics, and entertainment, this notebook is reinforced with a variety of the latest exclusive technology from Toshiba and AMD.

Q&A: Microsoft Talks Changes to SkyDrive in Windows 8.1

cssxe   February 19, 2017  
internet-of-things-IoT

When was the last time you had to delete a bunch of photos or apps on your mobile device to clear out space? With the massive amount of data generated every day, it’s easy to exhaust all the available storage on your phone or tablet.

And this problem is only getting worse. Industry trends suggest that device storage capacities are growing at 25 percent per year, but the amount of data being produced is increasing even faster — by around 50 percent a year, according to Microsoft. The software giant is looking to address this problem with SkyDrive, which will be updated in Windows 8.1 with the goal of giving you access to your files at all times, without taking up all your available storage or Internet bandwidth.

The updated service utilizes what Microsoft refers to as “placeholder files,” which look and feel like normal folders and files with one major change — you don’t download the full file until you access it. The placeholder file contains just a thumbnail image and some basic properties, making it significantly smaller than its actual size. This means that 100GB of files in SkyDrive will use up less than 5GB of storage on the hard drive of your Windows 8.1 device, Mona Akmal.

“I have a Pictures folder in SkyDrive that’s 5.6GB in size but it’s only taking up 185MB on the local disk,” Akmal wrote.

Another major change to SkyDrive in Windows 8.1 deals with offline access to files. With the SkyDrive app, you’ll now be able to mark any folders or files you want remain available when you lose Internet connectivity.

Any edits you make to a file while offline will automatically be synced back up to SkyDrive when you regain a connection. For added convenience, all the files you open or edit on your device will automatically be marked for offline access.

As a reminder, new SkyDrive users get 7GB of storage for free. After that, an additional 20GB costs $10 per year, while 50GB will set you back $25 a year, and 100GB costs $50 a year.

We sat down with Angus Logan, group product marketing manager for SkyDrive (pictured below), last week to get the scoop on the most important changes to the online storage service in Windows 8.1.

NVidia Introduces World’s Fastest Graphics Card Quadro K6000

cssxe   February 19, 2017  
IMG_0647

NVidia has just introduced its newest graphics card aimed at the visual computing industry and is claimed as the fastest graphics card in the world. K6000 Quadro graphics cards are built using Kepler architecture.

NVidia party also claims that this graphics card has the ability computational five times better than the Quadro 6000 graphics card before. Not only that, the graphics card is also claimed to have twice the graphical capabilities better than the Quadro 6000.

NVidia Senior VP, Ed Ellet said that this graphics card will give a significant change to the game animator, digital designer or programmer. Furthermore, Ellet said that the graphics card is capable of doing things that were previously impossible to do.

Some of the features possessed by the K6000 Quadro graphics cards are:

– The graphics memory GDDR5 ultra-fast 12GB
– Streaming 2880 core multiprocessor (SMX)
– Support for simultaneous display with a resolution up to 4k using DisplayPort 1.2
– It has ultra low latency video I / O, and support large-scale visualization