Saturday, April 30, 2016

ideas: Joy-Money-Flow (Good to Great)

Born for This Book Cover

book review: Born for This by Chris Guillebeau | Brian Johnson

Born for This by Chris Guillebeau - YouTube

Chris Guillebeau | Brian Johnson

Joy, Money, and Flow: The Three Qualities of Purposeful Work : The Art of Non-Conformity

MoneyJoyFlow1


Cover Good 2 Gr8.jpg
book: Good to Great - Wikipedia, the free encyclopedia

Jim Collins - Articles - Good to Great

slides: Good To Great - Concepts



Good to Great | Fast Company | Business + Innovation

Good to Great Summary Principles (PDF)

The Ten Principles Of Building Great Products - Forbes





Microsoft Build 2016 Code Labs

Microsoft-Build-2016

Microsoft-Build-2016/CodeLabs-WebDev

Build 2016 Code Labs Code and More | Coding4Fun Blog | Channel 9

image

book: The Internet to the Inner-Net


The Internet to the Inner-Net: Five Ways to Reset Your Connection and Live a Conscious Life: Gopi Kallayil: 9781401944506: Amazon.com: Books

"The Internet has become humanity’s invisible central nervous system. It connects us and can sometimes overwhelm us. Yet the most important technology is within us—our brain, body, and consciousness. A fast-paced career in the high-tech industry in combination with a deep yoga and meditation practice has allowed Gopi Kallayil to integrate his inner and outer technologies to a remarkable degree."

The Internet to the Inner-net | Gopi
"Gopi Kallayil is the Chief Evangelist, Brand Marketing at Google."

TEDxBerkeley - Gopi Kallayil - Connecting the Internet to the Inner-net - YouTube
Strategies, "rituals of the life" that lead to peak performance:
  1. Focus on the essential
    "things that are more important should not be
    a the mercy of things that are less important"- Goethe
  2. Do one thing at the time
    no "continuous partial attention"
  3. 1 minute of "inner-net" each day 
    "mindfulness", i.e. yoga + meditation, 1 of 1440 minutes in a day
  4. Appointments for mindfulness: one hour out of 168 in each week
    non-negotiable, "anchors" every week, "sharpen the saw"
  5. Friend yourself
    the most important relationship one can ever have is with yourself
    "listhen to the tweet from your hearhbeet, chart request from your brain"
"smartphone" as a 79th human body organ :)


"With Search Inside Yourself, Chade-Meng Tan, one of Google’s earliest engineers and personal growth pioneer, offers a proven method for enhancing mindfulness and emotional intelligence in life and work."



Friday, April 29, 2016

Microsoft PowerApps

Microsoft's new service makes app developers out of everyday employees | Network World
"Microsoft just unveiled a new beta service ... allowing anyone to build an app -- no software development experience required. PowerApps combines a cloud application backend with easy-to-use tools that make creating a mobile app a drag-and-drop affair.

PowerApps applications can pull in information from a variety of data sources including Office 365, Dynamics, Google Drive, Workday and other services. Developers can also build connections for PowerApps in their own services if there isn’t a connector already available.

Once the data connection is set up, users can then start building an application interface from one of Microsoft’s pre-built templates, or plug key data into PowerApps and let the service suggest the right designs for their purposes. Those people who have a strong idea for what they want their app to look like can create it from scratch."


"With PowerApps, Microsoft is (competing with) Salesforce and SkyGiraffe"



Use a sample app

to sign up need a "business" email address



Thursday, April 28, 2016

CSS rotate image

Rotate an image in image source in html - Stack Overflow

<img src="/image.png" class="rotate90">
CSS:.rotate90 {
   -webkit-transform: rotate(90deg);
   -moz-transform: rotate(90deg);
   -o-transform: rotate(90deg);
   -ms-transform: rotate(90deg);
   transform: rotate(90deg);
} 

OpenAI Gym

Open Sourcing Artificial Intelligence Research @ InfoQ
"OpenAI, a non-profit artificial intelligence research company. Officially launched in December, this research group has a billion dollars in funding from InfoSys, Amazon Web Services, and several private donors....
OpenAI today is they just released the public beta of OpenAI Gym. This toolkit is used to develop and compare reinforcement learning (RL) algorithms
...
OpenAI Gym offers these environments: Classic control, Toy text, Algorithmic, Atari(based on the Arcade Learning Environment), Board games, and 2D/3D robots."


"OpenAI Gym is compatible with algorithms written in any framework, such as Tensorflow and Theano. The environments are written in Python, but we'll soon make them easy to use from any language."

OpenAI Gym (tutorial)

"classic "agent-environment loop". Each timestep, the agent chooses an action, and the environment returns an observation and a reward."



related: (how Google plans to win with AI)

Tuesday, April 26, 2016

Electric Buses

fortune.com/2015/08/24/all-electric-buses-proterra/
This Tesla alum's all-electric buses could already be in your city


"the company projects it will have 1% of U.S. market share for city transit bus sales in 2016, and a little over 100 buses in service.
...electric buses are a competitive market. Among Proterra’s primary competitors are the Chinese firm BYD, and the Canadian GreenPower. "

Tesla Model X vs Ferrari F430, Model S vs Boeing 737 :)

Tesla Model X P90D Ludicrous vs Ferrari F430 Drag Racing and Roll Racing - YouTube



Tesla Model S races a Boeing 737 down a runway in crazy video | BGR



Tesla Model 4 Price: Elon Musk says next Tesla cheaper than Model 3 | BGR

(GNU/Linux) Bash + Windows 10

Details on How Linux Runs Natively on Windows @ InfoQ

wsl

Bash (Unix shell) - Wikipedia, the free encyclopedia

web 3D: LEGO + Google Chrome

Build with Chrome



Build with Chrome
"Build. A partnership between Google Chrome and LEGO®"

Monday, April 25, 2016

book: Blue Ocean Strategy

BOStrategy.jpg

book: Blue Ocean Strategy - Wikipedia, the free encyclopedia
"...argue that companies can succeed not by battling competitors, but rather by creating ″blue oceans″ of uncontested market space. They assert that these strategic moves create a leap in value for the company, its buyers, and its employees while unlocking new demand and making the competition irrelevant. The book presents analytical frameworks and tools to foster an organization's ability to systematically create and capture blue oceans."
  1. Value Innovation: the simultaneous pursuit of 
    • differentiation and 
    • low cost 
  2. principles of blue ocean strategy
    • create uncontested market space by reconstructing market boundaries,
    • focusing on the big picture,
    • reaching beyond existing demand and
    • getting the strategic sequence right.

Sunday, April 24, 2016

Mobile Application Development Platforms: Gartner Magic Quadrant

Gartner Magic Quadrant:
Mobile Application Development Platforms

UrhoSharp: 3D game engine wrapper in C#

Xamarin is all about "wrappers for APIs".
Here is another interesting one, a 3D game engine wrapper in C#

UrhoSharp - Xamarin
"UrhoSharp is a cross-platform high-level 3D and 2D engine that can be used to create animated 3D and 2D scenes for your applications using geometries, materials, lights and cameras."
...
It is a .NET binding to the Urho3D engine and allows developers to write cross platform code that can target Android, iOS, Windows and Mac with the same codebase and can render to both OpenGL and Direct3D systems.
UrhoSharp is a game engine with a lot of functionality out of the box"

SkiaSharp: Cross-Platform 2D Graphics



Cross-Platform 2D Graphics with SkiaSharp | Xamarin Blog
"SkiaSharp, a cross-platform, high-performance 2D API for .NET developers available across mobile, desktops, and servers.
...

SkiaSharp provides a powerful C# API for doing 2D graphics powered by Google’s Skia library, the same library that powers Google Chrome, Firefox, and Android’s graphic stacks."
...
Skia gives us the same graphics output across all platforms, is actively maintained, and offers great features not found elsewhere, like filters and hardware accelerated graphics."

Given that .NET core does not yet have portable graphics library, and that Xamarin is now part of Microsoft, it could very well be that another part of Chrome browsers (besides of V8 JavaScript engine that is part of Node.js used in Visual Studio etc) can become part of Microsoft toolset.
That may in fact be very good solution, like Google's PDFium PDF rendering library is. 
Embrace and collaborate.

There are many more GUI tools portable across platforms, i.e. 
"Qt runs on Android, iOS, Windows Phone, Windows RT, BlackBerry10 and Sailfish"

Saturday, April 23, 2016

Friday, April 22, 2016

Google Tensorflow AI ML: online playground

http://playground.tensorflow.org/

"Tinker With a Neural Network Right Here in Your Browser.
Don’t Worry, You Can’t Break It. We Promise."

"...open sourced it on GitHub with the hope that it can make neural networks a little more accessible and easier to learn. You’re free to use it in any way that follows our Apache License"

Azure Container Service

Docker + Mesos (+ scripts) @ Azure

Azure Container Service 101 | Azure Friday | Channel 9

Thursday, April 21, 2016

HP's new logo

How HP's brilliant new logo came to be | The Verge




web video conferencing without plugins: Hubl.in, Skype

Hubl.in, the Awesome video conference service
"Hubl.in is a free and open source video conference solution built with love and designed with ethics in mind. It's the best way to initiate a communication anywhere with anybody and brings real time conversation to the next level. Hubl.in allows free communication without additional plugins."


link from: Cordova vs Xamarin with Brian Noyes @ .NET Rocks! vNext

Skype for Web no longer requires plugins, paving the way for Chromebook support | The Verge

PlatformIO: IoT "open source ecosystem"

PlatformIO is an open source ecosystem for IoT development. Cross-platform build system. Continuous and IDE integration. Arduino and ARM mbed compatible. Ready for Cloud compiling

An open source ecosystem for IoT development · PlatformIO
"PlatformIO is an open source ecosystem for IoT development
Cross-platform build system. Continuous and IDE integration. Arduino and ARM mbed compatible"

C/C++ Intelligent code completion and Smart code linter with Built-in Terminal and Serial Monitor.

Wednesday, April 20, 2016

VIV.AI

Viv.ai: The Global Brain
"Viv radically simplifies the world by providing an intelligent interface to everything."

"Viv is a global platform that enables developers to plug into and create an intelligent, conversational interface to anything. It is the simplest way for the world to interact with devices, services and things everywhere. Viv is taught by the world, knows more than it is taught, and learns every day."


Tuesday, April 19, 2016

book: Peak (Science of Expertise)



book 'Peak' by Anders Ericsson, review by Brian Johnson
Anders Ericsson  K. Anders Ericsson - Wikipedia, the free encyclopedia

Peak by Anders Ericsson - YouTube
  • Gift: Adaptibility: everybody has that gift
  • Practice
    • Naive practice
      • keep doing same thing: useless
    • Purposeful practice
      1. Goal
      2. Focus
      3. Feedback
      4. Stretch out of comfort zone, "homeostasis", tendency to seek stability
        then body/brain overcompensates, and that is how you adapt and improve!
    • Deliberate practice
      • usually only in already established fields (chess, music, sports)
        where it is clear what is experts performance and steps how to get there
        (teacher and methodology)
  • Mental representations are changing
    as a result of purposeful/deliberate practice
    Repeating important ideas deepens knowledge/expertise
  • 10000 h rule: is not a rule; number depends on domain;
    the rule is "a lot" of deliberate practice to achieve excellent performance
  • Homo Exercens (= "practicing/improving person"
    vs. Homo Sapiens = "knowing/wise person")
    Humans differentiate from other beings is that we can continuously improve ourselves
The key for getting better and aspiring to be at the "peak performance"
is knowing that you can get better. 

Peak: Secrets from the New Science of Expertise: Anders Ericsson, Robert Pool: 9780544456235: Amazon.com: Books

The Making of an Expert @ HBR by K. Anders Ericsson et al.

"How can you tell when you’re dealing with a genuine expert? 
  •  First, it must lead to performance that is consistently superior to that of the expert’s peers. 
  • Second, real expertise produces concrete results. 
  • Finally, true expertise can be replicated and measured in the lab.
    ('If you can not measure it, you can not improve it.')"


visual tool: File TreeSize

TreeSize Free - Quickly Scan Directory Sizes and Find Space Hogs

WinDocks: Docker for Windows

Docker Engine Port for Windows Released
"WinDocks released a Windows port of the Docker engine that can run on Windows Server 2012 or Windows Server 2012 r2 as the underlying host. It can run containers with multiple versions of MS SQL Server and supports .NET 2, 3.5 and 4.5.

WinDocks is a port of the Docker engine to Windows and is different from the recently announced Docker on Windows. The official Docker client can be used with WinDocks, which supports a subset of Docker commands. This includes build, create, commit, exec, ps, start and stop.

WinDocks utilizes an open source container project built by Uhuru software as well as their own port of the Docker engine."

Monday, April 18, 2016

Azure Service Fabric

Introducing Azure Service Fabric @ InfoQ

Azure Service Fabric Reaches General Availability @ InfoQ
"At Microsoft’s recent Build conference in San Francisco, the company announced the general availability (GA) of Azure Service Fabric.
In the Day 2 Keynote presentation, Scott Guthrie, executive vice president cloud and enterprise, describes Azure Service Fabric as a “higher level container based programming model” that sits on top of two Azure other services including Azure Container Service and VM Scale Sets."


Google/Nest: time-limited IoT product?!

The time that Tony Fadell sold me a container of hummus. — Medium
"17 months ago, Google acquired Revolv, a very cool home automation hub (for $299). It is a small circular device about the size of a small container of hummus that uses a variety of common home automation radios to communicate with light switches, garage door openers, home alarms, motion sensors, A/C controllers etc. It also uses WiFi to talk to the Internet so that can control home remotely using an app on smartphone.... on May 15th they will actually turn off the device and disable your ability to use the hardware that you paid for..."

Sunday, April 17, 2016

Fragile JavaScript NMP

There is a price for a large number of dependencies of JavaScript modules...

How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript • The Register
"Programmers were left staring at broken builds and failed installations on Tuesday after someone toppled the Jenga tower of JavaScript. A couple of hours ago, Azer Koçulu unpublished more than 250 of his modules from NPM, which is a popular package manager used by JavaScript projects to install dependencies. Koçulu yanked his source code because, we're told, one of the modules was called Kik and that apparently attracted the attention of lawyers representing the instant-messaging app of the same name. According to Koçulu, Kik's briefs told him to rename the module, he refused, so the lawyers went to NPM's admins claiming brand infringement. When NPM took Kik away from the developer, he was furious and unpublished all of his NPM-managed modules.


link from: .NET Rocks! vNext: Xamarin Joins Microsoft!

National Park Service

NPS.gov Homepage (U.S. National Park Service)
April 16 to 24, 2016: National Park Week


The National Park Service turns 100 on August 25, 2016, and everyone can take part in the celebration!
Arches National Park during winter


Theodore Roosevelt & John Muir at Yosemite


Saturday, April 16, 2016

== "Bot Framework": Microsoft AI, ML

Recent "Build 2016" conference introduced new "Bot Framework"
that is suggested to be as important in future as  .NET framework is now.
A bold statement.

Thanks to power of Azure cloud computing resources and improvements in AI and ML,
natural language communication becomes a real possibility,
enabling next generation of voice based interfaces.
So after GUI, Web, Touch here comes a flexible and natural "conversation" computing.
Cortana (Microsoft), Siri (Apple), Google Now, Alexa (Amazon) are examples.
With "Bot Framework" "conversation" can be added to any application.

The same idea was around for a long time with name "Intelligent Agents",
apparently name "Bot" is found to be more market-friendly.
With IoT, Bots, ubiquitous computing is becoming a reality.

Bot Framework
"Build and connect intelligent bots to interact with your users naturally wherever they are, from text/sms to Skype, Slack, Office 365 mail and other popular services."

Keynote Presentation | Build 2016 | Channel 9
Build 2016 | Channel 9
Microsoft Build Developer Conference | March 30 – April 1, 2016

Microsoft’s Bot Framework will help everyone build their own chatbot | The Verge

LUIS: Language Understanding Intelligent Service (beta)
"Language Understanding Intelligent Service (LUIS)
LUIS lets your app understand language"


Microsoft Cognitive Services
"Microsoft Cognitive Services let you build apps with powerful algorithms using just a few lines of code. They work across devices and platforms such as iOS, Android, and Windows, keep improving, and are easy to set up."

Building a Conversational Bot: From 0 to 60 | Build 2016 | Channel 9

Building Intelligent Apps | Build 2016 | Channel 9



bots - Bing

Getting started | Documentation | Bot Framework (Microsoft)

Bots, Bots, Bots and Pig Latin | Coding4Fun Blog | Channel 9


Friday, April 15, 2016

F# resources; Currying

interesting course: F# Fundamentals | Pluralsight

fsharp-cheatsheet @ GitHub

Home | F# for fun and profit

F# Software Foundation (fsharp.org)

Try F#

F# Workshop

F# Programming - Wikibooks, open books for an open world



F# language has an interesting feature called currying. 
Curry is a spice from India region, as well as a tree whose leaves a used a spice.

Curry - Wikipedia, the free encyclopedia Curry tree - Wikipedia, the free encyclopedia
  Curry Trees.jpg
"Red roast duck curry (hot and spicy) from Thailand"

Curry leaves are in a sequence, one by one, same as F# function arguments.
But that is not a reason why the currying feature is named...

Currying | F# for fun and profit
"Breaking multi-parameter functions into smaller one-parameter functions

...if a mathematical function can only have one parameter, then how is it possible that an F# function can have more than one? The answer is quite simple: a function with multiple parameters is rewritten as a series of new functions, each with only one parameter. And this is done automatically by the compiler for you. It is called "currying", after Haskell Curry, a mathematician who was an important influence on the development of functional programming."



To see how this works in practice, let’s use a very basic example that prints two numbers:
//normal version
let printTwoParameters x y = 
   printfn "x=%i y=%i" x y
Internally, the compiler rewrites it as something more like:
//explicitly curried version
let printTwoParameters x  =    // only one parameter!
   let subFunction y = 
      printfn "x=%i y=%i" x y  // new function with one param
   subFunction                 // return the subfunction

// example: function: distance (x, y) { return Math.Abs(x - y); }
let distance x y = x - y |> abs
// val distance : x:int -> y:int => int
distance 5 2
3
is equivalent to:
(distance 5) 2
or:
let distance5 = distance 5 // a new function with one argument
// val distance5 : (int -> int)
distance5 2
// val it : int = 3

Functions as First-Class Values (F#)

Prefix vs Infix Functions:
(+) 1 3
is equivalent to: 
1 + 3 

// function that adds 1 to its argument:
let add1 = (+) 1
// val add1 : (int -> int)

Infix functions can help make expressions more readable, i.e.:
1 + 2 + 3
// is same as
(1 + 2) + 3
// is same as
((+) ((+) 1 2) 3)
// "associative" if order of applying arguments does not change result
(1 + 2) + 3 == 1 + (2 + 3)
// "non-associative"
(36 / 6) / 2 != 36 / (6 / 2)
// same example in Lisp / Clojure
// (+ (+ 1 2) 3)

// infix function must use symbols; distance function equivalent:
let (|><|) x y = x - y |> abs
// usage:
5 |><| 2
// val it : int = 3

5 |><| 2 |><| 10
// val it : int 7

Lambda Expressions (anonymous functions):
(fun x -> x * x)
usage as a function argument to another function; lambda is symbol ->
List.map (fun x -> x * x) [1;2;3]
// distance function
(fun x y -> x - y |> abs) 5 3



Recursion:
let rec length = function // no-name argument is immediately passed to matching
    | [] -> 0 // if argument is an empty list
    | x::xs -> 1 + length xs // else x: head of list; xs: tail of list

let rec factorial n =
    if n < 2 then 1
else
    n * factorial (n - 1)


Pipe Operators:
sin 2.
is equivalent to:
2. |> sin
"pipe" operators simplify "chaining" functions  
2. |> sin |> ((*) 3)  // == sin(2) * 3
pipe operator can be in both direction, this is same as above
sin <| 2. 

pipe operator can be combined:
min 12 7
is equivalent to:
12 |> min <| 7
is equivalent to (multiple arguments, double pipe operator):
(12,7) ||> min 

Function composition:
let minus1 x = x - 1
let times2 x = x * 2
is equivalent to:
let minus1 = (+) -1  // !! not the same as (-) 1
let times2 = (*) 2

times2 (minus1 9)
is equivalent to:
(times2 << minus1) 9
is equivalent to:
times2 << minus1 <| 9
is equivalent to:
let minus1times2 = times2 << minus1
minus1times2 9
is equivalent to:
let minus1times2 = minus1 >> times2 
minus1times2 9






Thursday, April 14, 2016

Azure "Functions"

Introducing Azure Functions | Blog | Microsoft Azure
"Azure Functions is an event driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in Azure or third party service as well as on-premises systems. Azure Functions allows developers to take action by connecting to data sources or messaging solutions thus making it easy to process and react to events."

Azure blockchain-as-a-service: "smart contracts"

Microsoft continues its blockchain-as-a-service push | ZDNet
"Microsoft is beefing up efforts to turn blockchain shared transactional-ledger technology into an Azure cloud service."

Microsoft's Azure Blockchain As a Service Program Gains Momentum - NASDAQ.com

BitBeat: Microsoft to Offer Ethereum-Based Services on Azure - MoneyBeat - WSJ

Blog | Microsoft Azure /tag/blockchain

Azure Blockchain as a Service Update #5 | Blog | Microsoft Azure

Ethereum Project
"Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.

These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property. This enables developers to create markets, store registries of debts or promises, move funds in accordance with instructions given long in the past (like a will or a futures contract) and many other things that have not been invented yet, all without a middle man or counterparty risk."




CreateJS: HTML5 Game Engine

HTML5 Game Engines - Find Which is Right For You

CreateJS | A suite of JavaScript libraries and tools designed for working with HTML5
A suite of modular libraries and tools which work together or independently to enable rich interactive content on open web technologies via HTML5.

EaselJS | A JavaScript library that makes working with the HTML5 Canvas element easy.