Sunday, August 17, 2014

ML: Machine Learning on Azure & .NET (!)

podcast: "Machine Learning in the Cloud with Seth Juarez" @.NET Rocks!
A nice story / interview about techniques and tools for ML

Video introduction to Machine Learning
"Machine learning traditionally requires complex software, high-end computers, and seasoned data scientists who understand it all. For many startups and even large enterprises, it's simply too hard and expensive. Enter Azure Machine Learning, a fully-managed cloud service for predictive analytics. By leveraging the cloud, Azure Machine Learning makes machine learning more accessible to a much broader audience. Predicting future outcomes is now attainable."

Blog Post: Video Tutorials on Microsoft Azure Machine Learning @ Mund consulting

Machine Learning for .NET http://numl.netsethjuarez/numl · GitHub

numl Documentation

"This library is designed to ease the use of standard Machine Learning algorithms by abstracting the conversion from standard collections of data types into their numerical representation. The numerical representations of these data type collections are then used to generate models to do prediction (Supervised Models) or data discovery (Unsupervised Models)."

Solving Rubik’s 2x2x2 cube

Solving the 2x2x2 using the Ortega Method @ Bob Burton's

Mini Cube
2x2 Solving Guide Solving guide for the 2x2 ‘Mini Cube’ also sometimes known as the ‘Pocket Cube’
3x3 Solving Guide The original Rubik’s Cube 3x3 solving Guide.

data api: Edmunds Developer Network

Edmunds Developer Network - Welcome to the Edmunds API:
"The vast majority of the automotive data that powers's website, iOS app, Android app and tools has been made available to the larger developer community for FREE.

This API encompasses a wide variety of vehicle-centric datasets including vehicle specs (e.g. make and model names, trim, options, colors, equipment, engine, MPG, ...etc), consumer ratings and reviews, stock photos, vehicle pricing and maintenance schedules just to name a few. The API has the biggest dataset has to offer."

Edmunds Developer Portal I/O Docs (API CONSOLE), very nice!

Intel Mashery: API Management, API Gateways, Strategy Services and Developer Platform Services

IoT: Robustness principle?

Robustness principle - Wikipedia, the free encyclopedia:
"Be conservative in what you send, be liberal in what you accept"

The principle is also known as Postel's law, after Internet pioneer Jon Postel, who wrote in an early specification of the Transmission Control Protocol that:[1]

'TCP implementations should follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others.'

In other words, code that sends commands or data to other machines (or to other programs on the same machine) should conform completely to the specifications, but code that receives input should accept non-conformant input as long as the meaning is clear.

Now that the Internet is expanding to "Things", it is important that new protocols, APIs and tools keep the system robust, simple and expandable...

For many cases, in particular of mobile (thing) devices, it is more effective to have a thing/device behind an messaging gateway on internet than directly connected. A "thing" and gateway could use private, optimized protocols, and doing "translation" as needed.

In fact this may be preferred method for most of non-server devices and apps, and is different from most of popular internet protocols. Technically, this is "distributed messaging" and in most popular messaging protocols gateways / brokers are not distributed. But email is! Could enhanced email protocols be useful for IoT?

ScratchJr: App vs. Web

W3C is hosted by MIT, and Scratch, a visual tool for learning programming is also crated in MIT Media Lab, but Scratch is not a web based. Version 1.0 was based on Java, (current) version 2.0 was based on Adobe Flash, and there is also ScratchJr that is an iPad app (with idea to make Android version if they get funding).

It would be better, and more effective, if the tool was HTML5 based, I think.
Not that they didn't try... it is just that "native app" won this time...

We're seeking contributors to help finish our HTML5 Scratch player (now open sourced!) - Discuss Scratch
and then they gave up:
HTML5 Player - Scratch Wiki
The Scratch Team is not designing the HTML5 Player anymore. Instead, the Scratch community are the ones who can help design it, as the current source code is released
ScratchJr - Scratch Wiki:
"ScratchJr is a mobile/tablet application released on July 30th, 2014 for the iPad and developed by Tufts University, with grants from the National Science Foundation, to allow young kids to easily learn to program with a system based on Scratch. The goal of ScratchJr is to "develop and study the next generation of innovative technologies and curricular materials to support integrated STEM learning in early childhood education."[1] A version for iPads is currently available."

ScratchJr on the App Store on iTunes
iPad Screenshot 2
ScratchJr: Coding for kindergarten | MIT News Office

Scratch - Imagine, Program, Share