Gartner’s 2013 Hype Cycle for Emerging Technologies

Gartner published it’s annual ‘Hype Cycle for Emerging Technologies‘ and (like it always does) it inspires!
Read the full article here.

Here it is, this year’s Hype Cycle!

Gartner’s 2013 Hype Cycle for Emerging Technologies

And like you would have guessed, the hot topics this year are:

Source: Gartner August 2013
The 2013 Emerging Technologies Hype Cycle highlights technologies that support all six of these areas including:

1. Augmenting humans with technology

Google-Glass

Technologies make it possible to augment human performance in physical, emotional and cognitive areas. The main benefit to enterprises in augmenting humans with technology is to create a more capable workforce. For example, consider if all employees had access to wearable technology that could answer any product or service question or pull up any enterprise data at will. The ability to improve productivity, sell better or serve customer better will increase significantly. Enterprises interested in these technologies should look to bioacoustic sensing, quantified self, 3D bioprinting, brain-computer interface, human augmentation, speech-to-speech translation, neurobusiness, wearable user interfaces, augmented reality and gesture control.

2. Machines replacing humans
There are clear opportunities for machines to replace humans: dangerous work, simpler yet expensive-to-perform tasks and repetitive tasks. The main benefit to having machines replace humans is improved productivity, less danger to humans and sometimes better quality work or responses. For example, a highly capable virtual customer service agent could field the many straightforward questions from customers and replace much of the customer service agents’ “volume” work — with the most up-to-date information. Enterprises should look to some of these representative technologies for sources of innovation on how machines can take over human tasks: volumetric and holographic displays, autonomous vehicles, mobile robots and virtual assistants.

3. Humans and machines working alongside each other

Bald is beautiful

Humans versus machines is not a binary decision, there are times when machines working alongside humans is a better choice. A new generation of robots is being built to work alongside humans. IBM’s Watson does background research for doctors, just like a research assistant, to ensure they account for all the latest clinical, research and other information when making diagnoses or suggesting treatments. The main benefits of having machines working alongside humans are the ability to access the best of both worlds (that is, productivity and speed from machines, emotional intelligence and the ability to handle the unknown from humans). Technologies that represent and support this trend include autonomous vehicles, mobile robots, natural language question and answering, and virtual assistants.
The three trends that will change the workforce and the everyday lives of humans in the future are enabled by a set of technologies that help both machine and humans better understand each other. The following three areas are a necessary foundation for the synergistic relationships to evolve between humans and machines:

4. Machines better understanding humans and the environment
Machines and systems can only benefit from a better understanding of human context, humans and human emotion. This understanding leads to simple context-aware interactions, such as displaying an operational report for the location closest to the user; to better understanding customers, such as gauging consumer sentiment for a new product line by analyzing Facebook postings; to complex dialoguing with customers, such as virtual assistants using natural language question and answering to interact on customer inquiries. The technologies on this year’s Hype Cycle that represent these capabilities include bioacoustic sensing, smart dust, quantified self, brain computer interface, affective computing, biochips, 3D scanners, natural-language question and answering (NLQA), content analytics, mobile health monitoring, gesture control, activity streams, biometric authentication methods, location intelligence and speech recognition.

5. Humans better understanding machines

Robot-arm

As machines get smarter and start automating more human tasks, humans will need to trust the machines and feel safe. The technologies that make up the Internet of things will provide increased visibility into how machines are operating and the environmental situation they are operating in. For example, IBM’s Watson provides “confidence” scores for the answers it provides to humans while Baxter shows a confused facial expression on its screen when it does not know what to do. MIT has also been working on Kismet, a robot that senses social cues from visual and auditory sensors, and responds with facial expressions that demonstrate understanding. These types of technology are very important in allowing humans and machines to work together. The 2013 Hype Cycle features Internet of Things, machine-to-machine communication services, mesh networks: sensor and activity streams.

6. Machines and humans becoming smarter
The surge in big data, analytics and cognitive computing approaches will provide decision support and automation to humans, and awareness and intelligence to machines. These technologies can be used to make both humans and things smarter. NLQA technology can improve a virtual customer service representative. NLQA can also be used by doctors to research huge amounts of medical journals and clinical tests to help diagnose an ailment or choose a suitable treatment plan. These supporting technologies are foundational for both humans and machines as we move forward to a digital future and enterprises should consider quantum computing, prescriptive analytics, neurobusiness, NLQA, big data, complex event processing, in-memory database management system (DBMS), cloud computing, in-memory analytics and predictive analytics.


Previous Hype Cycles:

Gartner’s 2012 Hype Cycle for Emerging Technologies




Gartner’s 2011 Hype Cycle for Emerging Technologies





Advertisements

Power BI for Office 365 update

The SQL Server blog posted a new blog post about the new features of Power BI

Microsoft Updates Power BI for Office 365 Preview with New Natural Language Search, Mapping Capabilities

Today we’re pleased to announce the addition of significant new features to the Power BI for Office 365 preview, including natural language search with Q&A and improved experiences in two preview add-ins for Excel with 3D mapping visualizations through Power Map and improved data search in Power Query.

Power Map


Search-driven data visualization with Q&A, want to see an example?


The full blog post about Power BI’s new features can be found here.



Join us at LinkedIn!
Don’t forget to join the ‘Microsoft Power BI‘ group on LinkedIn and stay updated!:
linkedin-microsoft-power-bi-group








Backup to Windows Azure from an on-premise SQL Server database

I’ve found this blog post / tutorial by Biz Nigatu on how to backup your on-premise database (SQL 2014) to Windows Azure Cloud Storage:

Backup SQL Server 2014 database to Windows Azure cloud storage

In this blog post we will see one of sql server 2014 new features, Backup SQL Server 2014 database to Windows Azure Cloud Storage.

You might want to bookmark this one, remember for ISO-standards (forget the specific name) you’ll need to store a database backup at a distance of several kilometers away. So this might be an easy solution for that, but keep in mind that it might also be an expensive one 🙂

cloud-storage


SSIS PowerShell Script Task

Today, I wanted to create a SSIS package which uploads/publishes a CSV-file with deltas to (IBM) MQFT by using PowerShell.
Without going into details about MQFT, I would like to make a note here on how to execute a PowerShell script within an SSIS package.

Note: I’ve chosen to execute the PowerShell within a Script Task, but you’re also able to execute a PowerShell script within an Execute Process Task. More info on that can be found here, here and here.

I found this great blog post which helped me with my first steps:
http://www.maxtblog.com/2012/03/orlando-code-camp-2012-integrating-powershell-into-ssis-script-task-session/

By using a Script Task, you’re able to execute a PowerShell script.
You may want to save the following code as a template:


/*
Microsoft SQL Server Integration Services Script Task
Write scripts using Microsoft Visual C# 2008.
The ScriptMain is the entry point class of the script.
*/

using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.Management.Automation;
using System.Management.Automation.Runspaces;

namespace ST_e0f329a65fa94200835440a6efd0c0c2.csproj
{
[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
{

#region VSTA generated code
enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};
#endregion

///

/// This method is called when this script task executes in the control flow.
/// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
/// To open Help, press F1.
///

public void Main()
{
// Code to create a runspace and execute the PowerShell script the pipeline:
Runspace ps = RunspaceFactory.CreateRunspace();
Pipeline pipe = ps.CreatePipeline();
ps.Open();

using (pipe)
{
//---->>This psline variable will contain your PowerShell script:
string psline = "\"Hello World\"";

pipe.Commands.AddScript(psline);
pipe.Invoke();
}
Dts.TaskResult = (int)ScriptResults.Success;
//Dts.TaskResult = (int)ScriptResults.Failure;
}
}
}

The issue I faced was that our server didn’t have the Windows SDK or PowerShell SDK installed. So building the project (C# 2008 in BIDS 2008R2) returned an error:

Visual-Studio-Runspace-error


Apparently, it is unable to include:
using System.Management.Automation
using System.Management.Automation.Runspaces



To resolve this, run the following statement within a PowerShell console to generate the required DLL-file (more info here):
Copy ([PSObject].Assembly.Location) C:\Temp


A DLL-file is generated in C:\Temp which is called ‘System.Management.Automation.dll‘.

We need to refer to this DLL-file within the C#-project (Edit the Script Task within BIDS).
To accomplish this, Right-click on References and select ‘Add Reference‘:

VS-Add-Reference


Open the ‘Browse‘-tab and select the DLL-file in C:\Temp:

Browse-for-the-DLL-file


Last thing, we need to make sure that the DLL-file is copied with the VS project. Right-click on the DLL and open the Properties. Now, select True for ‘Copy Local’:
DLL-properties-Copy-Local


Close the window by clicking OK and (re-)Build the project.


That’s it! Click on ‘Save All‘ and close the Visual Studio environment (script editor) and return to SSIS.
Click OK to close the Script Task and save the SSIS package. You may want to execute the Script Task to verify that everything is working properly 🙂

SSIS-2008R2-ScriptTask-Green

Enjoy using PowerShell within SSIS!

Dynamic Flat File Destination with a Variable in SSIS

A nice little code snippet for your cookbook 🙂

In case you would like to export data via SSIS to a dynamic Flat File Destination (which includes the current date and time), like for example:

C:\Temp\CSV-File-Example-201309061121.csv

You might want to use this expression for a Variable value or directly for your ConnectionString (Flat File Connection):


"C:\\Temp\\CSV-File-Example-" +
(DT_STR,4,1252) DatePart("Year",getdate()) +
Right("0" + (DT_STR,4,1252) DatePart("Month",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("Day",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("Hour",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("Minute",getdate()),2) + ".csv"

SSIS-Dynamic-Flat-File-Destination-FileName