AI HowTo Series #2 : Programming Emotions

Posted Yorum yapınAI içinde yayınlandı

Previously,we kickstarted our new article series “AI HowTo” and talked about how to register for Emotion API Preview(Project Oxford) through Azure Portal.

Now, I’d suggest we should start coding and learning the ways of emotions via codes

 

PROGRAMMING EMOTIONS

Before we start,make sure you get your “key” ready.If you havent already, read previous article to learn how it is done.

 

Emotion Analyzing in Images

This project requires an image to be processed at startup,makes some calculations on which emotion is stronger and then according to that calculation it posts the emotion on the screen.Let’s start with step by step

 

1-) Create a new Visual Studio project. Preferably Console Application.Install NewtonSoft JSON Parser from NUGET command line.

2-) Create a method to calculate the maximum number on a dictionary/collection:

 

3-) Create a method to convert image to byte array.It’s needed while posting image as byte to Emotion REST API

 

4-) Make a REST POST request to the emotion service url and parse json to display values from it

 

5-) Call main method

 

6-) Run

 

 
 
 
 

  
That’s All!

Well done in Kick-Starting Azure Cognitive Services Emotion API

Remember that, Emotion API(Project Oxford) is still in “Preview Stage” , so not all your images are meant to work (Tried like 10 happiness emotion images and only 1 got processed)

FINAL THOUGHTS

Emotion Analysis is essential for all industries.We live in a world where emotions are changed instantly so if we analyze and take precautions before bad things happen, we can avoid dramas or even deaths.

There used to be emotion reading in police departments.These men/women could easily read one’s emotions in an interrogation.I don’t know if police stations upgraded to use AI but Artificial Intelligence can also help to avoid crime.

 

 

Emotion-reading AI spots if potential criminals are stressed or nervous and alerts police BEFORE they act

Read it from here: http://www.dailymail.co.uk/sciencetech/article-4494994/New-technology-reads-emotions-potential-terrorists.html

 

 

Analyzing Emotions must be a top priority for all companies and governmental organizations.

For governments; to secure public life and avoid terrorist,anarchist attacks.
For companies; to increase happiness among employees and solving their problems before it gets bigger.

Companies nowadays trying to convince employees not to leave by increasing their wage,giving car or improving working style but companies most of the time missing the point where problems occur.Emotion Analysis will also help managers to discover if employees are happy within the company or not.

So my advice to the companies/governments is;
You should absolutely plan for Emotional Test daily/weekly/monthly without others realizing it.

Future is AI, use it!

 

AI HowTo Series #1 : Registering for Emotion API

Posted 1 YorumAI içinde yayınlandı

1-) Access your Azure account via “portal.azure.com”

2-) Search for term “Cog..” The list will show you the shortcut to Cognitive Services

 

 

 

 

 

 

 

 

 

 

 

3-)  Click Add and fill the search box with term “Emotion…” . Auto-completion box will find what we’re looking for: “Emotion API (preview)”

 

 

 

 

 

 

 

 

4-) Click and create a resource in WestUS servers (by the time I wrote this article, only WestUS is supported,im pretty sure other servers will start supporting it as well as soon as beta preview phase gone)

5-) Access your Emotion API blade(Pages/Windows in Azure Portal),

 

 

 

 

 

 

 

 

 

 

 

 

 

create your keys by clicking at keys at 1st step named “Grab your keys”

and start using Emotion API from Cognitive Services in Azure Platform

 

 

Next article will be about developing your very 1st Emotion Application.

Solution of Problem “403 (Forbidden) with SP.RequestExecutor.js”

Posted 2 YorumOffice 365 içinde yayınlandı

Well, Every day I learn something.

Today,when I was deploying some apps to Office 365,I’ve come across a situation interesting and wanted to dig in.

I was developing an app that uses a list to retrieve specific items and it was working perfect in my On-Premise environment.

When I deployed the same app to Office 365 Developer Site,I have received this error in my Chrome’s Developer Tools threw error something similar to “403 (Forbidden)” linking “SP.RequestExecutor.js” file.

Well that ruined me for a sec,I didnt expect it at all.

Then after some research I’ve found that: “Tenant” needs to be added as “Read” permission in “ApplicationManifest.xml” configuration.

Capture16

And the other problem for me was using Chrome Browser.When you deploy app to Office 365,you should always use “Internet Explorer” as default browser because by default it lets you to select “Trust-Don’t Trust” option which is needed to run the app which Chrome doesn’t.

Thats all.If you have come across the same situation,this is the trick.

Export-SPWeb script to get backup all lists and libraries

Posted Yorum yapınSharePoint 2010, Sharepoint 2013 içinde yayınlandı

Wrote this Powershell script according to my company’s needs,but you can fork and use it if you like

Export-SPWeb Script to get backup of all lists/libraries in a site collection.

But I’ll also share it here:

[code language=”powershell”]
Add-PSSnapin Microsoft.Sharepoint.Powershell

$site = Get-SPSite
$path = "C:\Backup2015\ListBackups"
$serverurlpath =""
$listurlpath=""
$listurlwithoutformat=""
$dosyapath =""
$itemURLNEW=""

foreach($web in $site.AllWebs){
$serverurlpath=$web.Url
$serverlistsurlpath=$web.ServerRelativeUrl -replace "/","\"
$serverurlport = ([System.Uri]$serverurlpath).Port
$serverurlhost = ([System.Uri]$serverurlpath).Host.Split(‘.-‘) -join "_"

if($serverurlport -eq "80")
{
if(!(Test-Path -Path ($path + "\" + $serverurlport)))
{
New-Item -Path ($path + "\" + $serverurlport) -Type Directory
}

if(!(Test-Path -Path (($path + "\" + $serverurlport + "\" + $serverurlhost))))
{
New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost) -Type Directory
}

foreach($list in $web.lists)
{

If (!(Test-Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath))) {
New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath) -Type Directory
}

$itemURLNEW= "$($list.RootFolder.ServerRelativeUrl)"
if($serverlistsurlpath -eq "\")
{
$dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)$($list -replace "/","\").cmp"
}

else
{
$dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)\$($list-replace "/","\").cmp"
}

if(!(Test-Path ($dosyapath)) -and $list.Hidden -eq $false)
{
export-spweb $web.URL -ItemUrl $itemURLNEW -IncludeUserSecurity -IncludeVersions All -path "$dosyapath" -nologfile
}
}
}

if($serverurlport -eq "1111")
{
if(!(Test-Path -Path ($path + "\" + $serverurlport)))
{
New-Item -Path ($path + "\" + $serverurlport) -Type Directory
}

if(!(Test-Path -Path (($path + "\" + $serverurlport + "\" + $serverurlhost))))
{
New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost) -Type Directory
}

foreach($list in $web.lists)
{

If (!(Test-Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath))) {
New-Item -Path ($path + "\" + $serverurlport + "\" + $serverurlhost + $serverlistsurlpath) -Type Directory
}

$itemURLNEW= "$($list.RootFolder.ServerRelativeUrl)"

if($serverlistsurlpath -eq "\")
{
$dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)$($list -replace "/","\").cmp"
}

else
{
$dosyapath = "$path\$($serverurlport)\$($serverurlhost)$($serverlistsurlpath)\$($list -replace "/","\").cmp"
}

if(!(Test-Path ($dosyapath)) -and $list.Hidden -eq $false)
{
export-spweb $web.URL -ItemUrl $itemURLNEW -IncludeUserSecurity -IncludeVersions All -path "$dosyapath" -nologfile
}
}
}
}
[/code]

Solution of “Application Server Role, Web Server (IIS) Role: configuration error”

Posted Yorum yapınSharepoint 2013, Windows Server 2012 R2 içinde yayınlandı

For some reason SharePoint 2013’s prerequisite msi cant find which server manager to use and fails installation of Prerequisite files.

So you need to go Windows/System32, find servermanager.exe ,duplicate it and then rename it to servermanagercmd.exe

After this,re-run prerequisite installer,it will work.

Capture4

If it doesn’t,you haven’t enabled downloading setup files remotely in mmc(group policy editor) settings.

To do this;
1-You need to add “GP Editor” Snapin in MMC.
2-Go to Computer Configuration->Administrative Templates-> System
2-Update “Specify settings for optional…” policy as Enabled
3-Update “Contact Windows Update…” as selected
4-Click Apply

Working with MySQL – EF5 – MVC5 Alltogether

Posted Yorum yapınMVC içinde yayınlandı

For MySQL part;

Never install the MySQL from Web Platform Installer.Get to MySQL’s website and download MySQL Installer.

This installer package installs everything you need about database-end including;

MySQL Connector
MySQL for Visual Studio
MySQL 5.5 Database

For EF5 part;

Install EF5 via Nuget like this;

Install-Package EntityFramework -version 5.0.0

This will install EF5 which works great with MySQL Connector.

For MVC5 Part;

Download MVC5 package from Microsoft download page if you haven’t already.

Add reference to EF5 libraries:
MySQL.Data.Entity (4.5 version) –> This is for EF5

“MySQL.Data.Entity for EF6”  libraries are for Entity Framework 6.But be cautious; this library may not be compatible with the connector you’re using.They need to upgrade MySQL Connector according to EF6 since there are lots of changes.

Web.config settings:

[sourcecode language=”csharp”]
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF5"></defaultConnectionFactory>
</entityFramework>
<connectionStrings>
<add name="YourEntities" connectionString="metadata=res://*/Models.YourModel.csdl|res://*/Models.YourModel.ssdl|res://*/Models.YourModel.msl;provider=MySql.Data.MySqlClient;provider connection string= server=localhost;user id=root;password=yourpass;database=yourdb " providerName="System.Data.EntityClient" />
</connectionStrings>
[/sourcecode]

If you’re using EF6,downgrade it to EF5.