Tuesday, March 31, 2015

Microsoft IOT DevCamp in Pune & Hyderabad

Microsoft DevCamps are no-fluff events for developers, by developers. You learn from experts in an interactive way and then get to apply what you’ve learned.
Our upcoming IoT DevCamp will show how to use Microsoft's Azure services (specifically Event Hub, Streaming Analytics, and Web Sites) in the context of a full end-to-end IoT solution. The lab currently includes a sensor/gateway approach with low-cost Arduino devices as the sensor end-point, and Raspberry Pi as the gateway. A dummy Windows console gateway is provided for those who wish to focus solely on the Azure solution.
Participants are also encouraged to bring their own devices to hack, and learn to connect to Azure. At the end of the session, you will have a good end-to-end understanding of a typical IoT solution.
  Topics that will be covered:
IoT overview, architecture, Microsoft platform
Event Hubs 
Azure NRT
Devices (Arduino, Raspberry Pi, etc.)
   Instruction, demos, equipment and hands on labs will be provided in class.
When & Where
29th April 2015
9:00 am - 6:00 pm
The O Hotel, North Main Road, Koregaon Park, Pune 411001
24th April 2015
9:00 am - 6:00 pm
Radisson Hyderabad Hitec City, Gachibowli, Miyapur Road, Hyderabad 500032
Pre-requisites for pre-event online
You should be IoT Start-ups or IoT enthusiasts having a working knowledge of Embedded/IoT/System on Chips devices.
Details about the pre-event online briefing will be sent by email a few days after you register. Attendance is required.
Pre-Requisites for the Event:
A Laptop with Visual Studio 2013 Update 4
Microsoft Azure Subscription (MSDN, BizSpark, Trial, Pay-As-You-Go or Company/Individual Account)
Explore the world of Azure with IoT

Microsoft Office 2013 - Upto 15% off

Today is the last day to register for Microsoft Office 2013 and get discounts of up to 15%. This is valid only for Small and Medium Businesses. Find your cloud partner here.

Monday, March 30, 2015

Microsoft Azure App Service Now available

Microsoft recently announced the Azure App Service which helps developers deliver cross-platform, cloud-connected apps faster. This solution integrates the Microsoft Azure Websites, Mobile Services and Biztalk Services into a single service with a common app hosting, runtime and extensibility model, enabling simplified integration with popular consumer and commercial services and on-premises systems, all for one low price.
Read more here. 

Windows 10: Windows Insider Hub

I have been using Microsoft Windows 10 for over two month now. Cortana is a big help and right now I am more or less using it as my "Search" cum "Run-as" feature. The side notification center situated on the task bar is a big help. Quick look up and turning features and settings of my machine on-off. The outlook and calender apps are the most used one at the moment as I could not find much exciting otherwise there. The good news Microsoft will update this to the RTM version of Windows 10 for free. Anyways with VS2014 community edition now also free its good for developers. 

One great thing about the Windows 10 preview built is the Windows Insider Hub app, through which you can give feedback and suggestions directly to the Microsoft team, which is really really cool. I can up vote on features requested by others which they would like to see. There are different categories under which you can directly provide your views and must haves directly to the concerned teams. 

Saturday, March 28, 2015

R: Selecting unique values out of dataset

Many a times you have a dataset or a column which has a range of values and you wish to know the domain or range of values the column assumes. To do so run the following command:
>  y<-c('A', 'A','A','A','B', 'B','B','B','B','B','B','B','B', 'C','C','D','D', 'E','E', 'E','E','E' ,'E','E','E' ,'E','F','F','F', 'F','F', 'F','F', 'F','F')
> levels(factor(y))
[1] "A" "B" "C" "D" "E" "F"
> unique(y)
[1] "A" "B" "C" "D" "E" "F"

Wednesday, March 25, 2015

Windows 10 preview build Updates

I must say that when I installed and ran the first publicly available build of windows 10 announced in January this year, I was a little upset with the performance of the system. It ran so many apps and processes in the background that the machine felt sluggish and slow and non-responsive.

You had to keep it running for few minutes after boot before you could start working on it. This was a total turn off. With the recent updates it started running a lot better. No more background CPU hogging processes. Hope the improvements keep on coming.

Sunday, March 22, 2015

Renumbering rows after ordering in R

Many a times after data cleaning and reordering, the dataset row numbers get jumbled up. To solve the issue simple run the following command:

> row.names(myDataFrame) <- 1:nrow(myDataFrame)

Happy programming!!

Thursday, March 19, 2015

R : Adding column names to data

Sometimes you have a huge data with multiple fields and the data stored in your file is not marked with header information (i.e. column names).
To add column names to your data frame or matrix after it is read into a variable run the following command:

> CustColName <- c("time", "Age", "Surname", "Standard", "RollNo", "Name")
> colnames(StudData) <- CustColName

R : Removing empty rows from Data

Often the data we have collected in R has empty rows or has some rows which have the interesting or mandatory columns missing or NA.

To remove such rows from your data run the following:
 myDF <- myDF[!is.na(studentData$RollNo),]

Wednesday, March 18, 2015

R : Subsetting data

To subset a data frame or matrix:

> x <- c(1,2,3,4,5,6)
> y <- c(3,5,2,4,1,4)
> z <- c(2,3,4,3,2,1)
> dataF<-data.frame(x,y,z)
> dataF
  x y z
1 1 3 2
2 2 5 3
3 3 2 4
4 4 4 3
5 5 1 2
6 6 4 1
  x y
2 2 5
  x y
2 2 5
3 3 2
4 4 4
5 5 1
dataF$x <- NULL
1 3
2 5
3 2
4 4
5 1
6 4

If you are beginning with the R language, and need tips and help feel free to put down a comment below. 

Sunday, March 15, 2015

R: Renaming Row numbers (Identifiers)

Many a times in R you have a dataset for which R provides a default numerical representation for identifying the individual rows :

> myData <- cbind(x = 3, y = c(4:1, 2:5))
> myData
     x  y
[1,]  3  4
[2,]  3  3
[3,]  3  2
[4,]  3  1
[5,]  3  2
[6,]  3  3
[7,]  3  4
[8,]  3  5
If you want to rename the rows as per your needs, you can do so by running the following command:

> dimnames(myData)[[1]] <- letters[1:8]
> myData
   x y
a  3  4
b  3  3
c  3  2
d  3  1
e  3  2
f  3  3
g  3  4
h  3  5
Happy programming!

Thursday, March 05, 2015

R: Appending rows to create new data (appending columns)

If you have a requirement of appending rows from different sources to create a new data row (for eg. Professor and Department he works in, to create an information snippet) here is the simplest trick, use cbind:

> profSharma<-professors(professors$Pid==3,)
> phyDepartment<-department(department$Did==19,)
> cbind(profSharma,phyDepartment)
Happy Programming!

Using Tcpdump to dump and read network traffic

Another Quick FYI tip. There are many network analyzer/reader utilities available on both Linux and Windows platform. There is of-course ...