Tuesday, March 31, 2015

Chromebit stick, $149 Chromebooks

Google launches least expensive Chromebooks yet (just $149) and first convertible | ExtremeTech
"Google unveiled a slew of new Chromebooks, including two that cost just $149. The Haier Chromebook 11"

"new Google Chromebit stick (below). Google says it’s a full-blown computer that costs less than $100. All you have to do is plug it into a display’s HDMI port, and that display will become a computer. There’s a USB port and Bluetooth for hooking up a keyboard and mouse, and internally, it’s the same Rockchip-powered machine with 2GB RAM and 16GB of storage as the two Chromebooks above. Google is pitching this one as a de-facto upgrade for schools and businesses with lots of machines to deal with. "

IoT: Amazon Dash Button

Amazon Dash Button - Official site - Request an invitation
"Place it. Press it. Get it.
Dash Button comes with a reusable adhesive and a hook so you can hang, stick, or place it right where you need it. Keep Dash Button handy in the kitchen, bath, laundry, or anywhere you store your favorite products. When you're running low, simply press Dash Button, and Amazon quickly delivers household favorites so you can skip the last-minute trip to the store."

Amazon Dash @ Amazon Fresh

IoT education: BBC "Micro Bit" for 1 million UK kids aged 11

In Bid To Get British Kids Coding, BBC To Give Away 1 Million ‘Micro Bit’ Computers | TechCrunch
"BBC has announced that it is to produce a new educational mini-computer — codenamed the ‘Micro Bit’, a play on the broadcaster’s original ‘BBC Micro‘ computer — and will give away 1 million devices to British school kids aged 11. It will be distributed nationwide from autumn 2015.

...BBC partner with over 25 organisations to develop the Micro Bit, including chip-makers ARM and Nordic Semiconductor, Microsoft, and Samsung..."

BBC gives children mini-computers in Make it Digital scheme - BBC News

BBC - The Micro Bit - Media centre

BBC Micro Bit will complement Raspberry Pi not compete with it | Technology | The Guardian

BBC Micro - Wikipedia, the free encyclopedia (1981, produced by Accorn)
BBC Micro Front Restored.jpg
ARM architecture - Wikipedia, the free encyclopedia
Acorn RISC Machine; The first ARM application was as a second processor for the BBC Micro 

Globally, as of 2013, ARM is the most widely used 32-bit instruction set architecture in terms of quantity produced

podcast: Accelerating Agile with Dan North @ .NET Rocks!

Monday, March 30, 2015

IoT: iBeacon

a very informative podcast interview
iBeacon Development with Greg Shackles @ .NET Rocks!
"Bluetooth low energy devices can operate in an advertisement mode to notify nearby devices of its presence. [25] At the most simple form, an iBeacon is a Bluetooth low energy device emitting advertisement following a strict format, that being an Apple defined iBeacon prefix, followed by a variable UUID, and a major, minor pair.[26]An example iBeacon advertisement frame could look like:"
fb0b57a2-8228-44 cd-913a-94a122ba1206 Major 1 Minor 2

"The Physical Web is not shipping yet nor is it a Google product. This is an early-stage experimental project and we're developing it out in the open as we do all things related to the web. This should only be of interest to developers looking to test out this feature and provide us feedback.

The Physical Web is an effort to extend the core superpower of the web - the URL - to everyday physical objects. Our core premise is that you should be able to walk up to any “smart” physical object (e.g. a vending machine, a poster, a toy, a bus stop, a rental car) and interact with it without first downloading an app. The user experience of smart objects should be much like links in a web browser: i.e., just tap and use.

At its base, the Physical Web is a discovery service: a smart object broadcasts relevant URLs that any nearby device can receive. This simple capability can unlock exciting new ways to interact with the Web."

Similar to QR code that could include URL, each "beacon" could transmit its unique URL.
But it would be even better if this includes some security...

Sunday, March 29, 2015

IoT: Like The Internet Of The 1990s

Right Now, the Internet Of Things Is Like The Internet Of The 1990s | Fast Company | Business + Innovation
A common criticism of today's Internet of Things is that it doesn't have a "killer app" to push the concept into the mainstream. But maybe it doesn't need one. The Internet never had a killer app either; it just got better tools to make sense of all its disparate parts."

IoT does need a next 'Html/Http', 'Netscape', and then 'Google'.
I remember time of Internet before WWW, and while it was useful (email, ftp, telnet), it was not even close to what Web has enabled. Even the first version Web it was 10 times better than Gopher and similar tools. Design and implementation does matter. IoT needs one really good simple app, or it will become another buzzword like SOA, Big Data, etc, a part of "new normal" but not more than that.

Three.js: WebGL Interactive 3D Graphics

Three.js - Wikipedia, the free encyclopedia
"Three.js is a lightweight cross-browser JavaScript library/API used to create and display animated 3D computer graphics on a Web browser. Three.js uses WebGL. The source code is hosted in a repository on GitHub."three.js - Javascript 3D library

Interactive 3D Graphics Course With Three.js & WebGL - Udacity

interactive Rubik's Cube Google Doodle

book: Game Development with Three.js: O'Reilly - Safari Books Online
Game Development with Three.js | PACKT Books

Saturday, March 28, 2015

Stanford's Most Popular Class: "Designing Your Life"

Stanford's Most Popular Class Isn't Computer Science--It's Something Much More Important | Fast Company | Business + Innovation
"Designing Your Life," a new and wildly popular course for Stanford juniors and seniors that is grounded in design thinking concepts and techniques. The course’s lessons gave him the perspective he needed to navigate decisions about life and work post graduation."

Standford: ME104B | Designing Your Life

"Here's what they learn: gratitude; generosity; self-awareness; adaptability
All reinforced by design thinking-based tools, from a daily gratitude journal to a deck of cards featuring problem-solving techniques. In lieu of a final exam—the class is pass/fail—
students present three radically different five-year plans to their peers.
Alumni say they still refer back their "odyssey plans"—a term that Evans coined—
and revise them as their lives and careers progress."

Stanford’s Dave Evans & Bill Burnett on Using Design Thinking to Address the “Wicked Problem” of Designing Your Life & Career | rethinked…*
  • "- PASSION IS A CAPACITY THAT CAN BE DEVELOPED, NOT AN INHERENT ATTRIBUTE - The research says that maybe only two or three out of ten people actually have a passion that they’ve identified, that they can work into. We believe that actually, passion turns out to be what you develop after you find the things that you enjoy doing."
Designing Your Life: https://vimeo.com/worldviewstanford/review/94095385/a0cede2bbb
Creative Decision-Making: https://vimeo.com/worldviewstanford/review/95827194/3c6c71dcae

There is already a "matching" course on MIT :)

ideas, book: Essentialism - The Disciplined Pursuit of Less

"Disciplined Pursuit of Less is better than Undisciplined Pursuit of More"

Essentialism - The Disciplined Pursuit of Less by Greg McKeown (another Stanford graduate)

Greg McKeown: Essentialism - The Disciplined Pursuit of Less - YouTube
Greg McKeown speaks on "Essentialism" - YouTube
Greg McKeown, "Essentialism" | Talks at Google - YouTube
LinkedIn Speaker Series: Greg McKeown - YouTube

problem: focus => success => more opportunities => less focus => less success

solution: "Just say NO, and say YES selectively to most important things"
to get space for real contributions.

Essentialism: The Disciplined Pursuit of Less: Greg McKeown: 9780804137386: Amazon.com: Books
"The Way of the Essentialist isn’t about getting more done in less time. It’s about getting only the right things done. It is not a time management strategy, or a productivity technique. It is a systematic discipline for discerning what is absolutely essential, then eliminating everything that is not, so we can make the highest possible contribution towards the things that really matter."

The Disciplined Pursuit of Less - HBR by Greg McKeown

www.washingtonspeakers.com/images/pdfs/Greg McKeown Interview Essentialism.pdf
"McKeown recalls a story about Paul Rand, who designed the NeXT logo for Steve Jobs in the late 80s. At first, Jobs asked him to bring in a few options for him to choose from, but Rand said: ‘No. What I will do is solve your problem for you. I will bring you a logo and you will pay me. It’s up to you whether you use it. If you want options, fine, but you can work with a different designer.’"

greg mckeown blog posts @ HBR

The One-Word Answer to Why Warren Buffett and Bill Gates Have Been So Successful - Greg McKeown

This is essentially the same idea from "First Things First" by Stephen Covey

Keeping It Simple | The Career Diplomat

Model of Essentialism
Source: Greg McKeown – The Model of Essentialism

Friday, March 27, 2015


JSON  has now "officially" replaced XML as a communication format,
when one of co-authors of XML has prepared JSON RFC

ongoing by Tim Bray · RFC 7493: The I-JSON Message Format

The JavaScript Object Notation (JSON) Data Interchange Format
"JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data."

Tim Bray - Wikipedia, the free encyclopedia

ongoing by Tim Bray · XML’s 15th Birthday

It would be useful if binary version protocol (BSON) is also standardized,
or we should all just use Google's Protocol Buffers.

Comparing Protobuf, JSON, BSON, XML with .NET for File streams | Software Engineering
Protobuf is by far the best of all the serializers in terms of speed and size. If you require a readable format, depending on your requirements you can choose any of the other ones. If size is not important, the plain .NET XML serializer is the best after Protobuf."

Primer CSS (from GitHub)

Introducing Primer · @mdo
"Primer is GitHub’s internal CSS toolkit. It’s been the base coat for GitHub.com for years now, providing styles for our global typography, layout, tooltips, buttons, and more...

Primer isn’t another large front-end framework, though. It’s rather limited in functionality and isn’t intended to replace something like Bootstrap. It will always be GitHub’s internal toolkit first, designed to help build GitHubby things. That said, we love to share.

Primer is licensed MIT, so you can basically do whatever you like with the source code."

NoSQL performance: Couchbase vs. MongoDB

NoSQL Smackdown: Couchbase Dominates MongoDB in Benchmark Tests | Kurt Cagle | LinkedIn:

NoSQL showdown: MongoDB vs. Couchbase | InfoWorld

Couchbase Server - Wikipedia, the free encyclopedia

Couchbase is created a derivative of CouchDB, with intention to get high performance.

CouchDB is based on Erlang, so it is highly reliable, but Erlang is not optimal for handling strings and documents. So parts of the system ware moved to C, and later integrated with Memcached to get a high-performance system... With increased investments in "Big Data", NoSQL etc,

there is an increased competition...

Thursday, March 26, 2015

ideas: Blue Ocean Strategy

podcast interview: Blue Ocean Strategy and Red Ocean Traps @ HBR IdeaCast
"Blue Ocean Strategy" argues that cutthroat competition results in nothing but a bloody red ocean of rivals fighting over a shrinking profit pool. Based on a study of 150 strategic moves (spanning more than 100 years across 30 industries), the authors argue that lasting success comes not from battling competitors but from creating "blue oceans"--untapped new market spaces ripe for growth.

The same idea is promoted in the book "Zero to One"

Red Ocean Traps - HBR
"The payoffs of market creation are huge. Just compare the experiences of Apple and Microsoft. Over the past 15 years, Apple has made a series of successful market-creating moves, introducing the iPod, iTunes, the iPhone, the App Store, and the iPad. From the launch of the iPod in 2001 to the end of its 2014 fiscal year, Apple’s market cap surged more than 75-fold as its sales and profits exploded. "

"Technological breakthroughs don’t necessarily create new markets. Segway was a marvel but never found a wide customer base. New markets arise from value innovation, not tech innovation."

"...uncovering a niche in an existing space is not the same thing as identifying a new market space."

"... how to break free of ... red ocean traps:
  • focus on attracting new customers, not pleasing current customers
  • worry less about segmentation and more about what different segments have in common
  • understand that market creation is not synonymous with either technological innovation or creative destruction
  • stop focusing on premium versus low-cost strategies"

Wednesday, March 25, 2015

Infographic: Zero Net Energy Homes

Infographic: What net-zero homes of the future will look like - Tech Page One

net-zero homes produce more electricity than they use thanks to solar panels, wind turbines, highly insulated windows and doors, energy-efficient appliances, and water recycling systems.

Azure API Apps Tools

Introducing the Azure API Apps Tools for Visual Studio 2013 - The Visual Studio Blog - Site Home - MSDN Blogs
"With the Azure SDK 2.5.1 Release we took the opportunity to combine existing Web Publishing techniques with the newAzure Resource Management APIs to support Azure’s newest feature for Web, Mobile, and API developers – Azure App Service."

JavaScript - The Function Object

A precise and specific descriptions of this distinctive feature of JavaScript.
Function in JavaScript is defined as an object (dictionary) with code that is an immutable string property. This makes JavaScript unusual and powerful. It just looks similar to other languages.

Just JavaScript - The Function Object:
function definition:
  var myFunction = new Function("a","b", "var ans=a+b; return ans;");
is equivalent to:
  var myFunction = function(a,b) { var ans=a+b; return ans; }
and function expression:
  function myFunction(a,b) { var ans=a+b; return ans; }

Just Javascript @ i-Programmer, in-depth tutorials for various programming languages

Tuesday, March 24, 2015

Azure Web API Metadata Format: Swagger

Introducing Azure API Apps - .NET Web Development and Tools Blog - Site Home - MSDN Blogs
As part of the Azure SDK 2.5.1 release, a new feature called Azure API Apps were included. This new feature raises the capabilities of ASP.NET Web API, extending it with Swagger metadata while providing a simple to manage interface in the Azure Portal. Extend your API with authentication and no code changes, or generate an SDK for your API with a few clicks. A full definition of API Apps and their capabilities is available in the online Azure documentation. Video coverage of the API Apps announcement with Scott Guthrie is available online:

Azure App Service API Apps with Scott Hunter

An Overview of REST Metadata Formats | API UX
"Swagger is a REST metadata format being developed by Reverb, a spinoff from the Wordnik team. Swagger uses JSON (although it supports XML) and JSON-Schema to describe REST APis and their parameters and messages. Just like ioDocs it includes an open-sourced UI (swagger-ui, entirely in HTML/javascript) double-serving as documentation and ad-hoc testing utility, but Swaggers’ strength lies in its ecosystem available at GitHub for generating both code for a number of different languages and Swagger definitions themselves via (for example) java annotations."

Swagger Creator Wants to Build Better SOAP for Web APIs @ InfoQ
Tony Tam, the creator of Swagger and CEO of Reverb, gave a well attended talk on
Swagger APIs for humans (and robots),

video: funconf 2013, Tony Tam: Rapid REST API development with Swagger + Scala - YouTube

Cross Platforms, Cross Languages: Silver Swift, C#, Oxygene

Cross Platform Development with Marc Hoffman @ .NET Rocks!
This podcast interview explains the compiler platform RemObjects built and customized for various popular languages: C# and Swift. Not only it naively supports  iOS, Mac, Windows, Android, but it also supports multiple language platforms: super-set of C#/.NET and super-set of Swift.
One can program in C#, or Swift, or Pascal-like Oxygene and and call natively Java libraries on Android and objective-C libraries on iOS or Windows libraries (trough .NET).
It even integrates with Visual Studio.

RemObjects Silver | Elements

RemObjects Elements: Oxygene and C# | Elements

So it is similar in nature to Xamarin. Here is more specific comparison:
FAQ | RemObjects C# | Elements
"Q: What is the difference between RemObjects C# and Xamarin?

A: Xamarin is a commercial toolchain that brings the .NET Framework to Android and iOS. RemObjects C# looks at this idea of reusing C# on a different level: It brings the C# Language to the Cocoa and Java/Dalvic platforms, instead.

What does that mean, exactly?

Xamarin always compiles your C# code to .NET (or Mono – same difference) IL code to run in the Mono runtime. It uses the .NET class libraries.

At first glance that might seem (and sometimes truly is) a benefit: it lets you work with the .NET classes you are already familiar with. But this approach also has a lot of downsides: Xamarin apps always require the large(ish) Mono runtime to be bundled and run with your applications. This makes your applications bigger and, oftentimes, slower. What's more, because you are building against the .NET class libraries, the real platform - be it Java/Android or Cocoa - is always kept at arms length, and your access to platform features always goes through an intermediate layer.

The RemObjects C# compiler builds directly against the native platforms - such as the Java and Android class libraries provided by Google, or the Cocoa frameworks provided by Apple. This brings you "closer to the metal" and lets you create apps using the same APIs that all other Android or iOS developers use. "

Silver Swift compilers are free (optional donation),
and C# and Oxygene are $500 each per developer, 1/2 price of Xamarin.

Swift - Overview - Apple Developer

Azure App Service: Web, Mobile, Logic, API

Azure "Web Sites" are now called "Web Apps,"
and now also include support for Mobile apps, Web API, and "Logic" integration

Azure March Announcment
Scott Guthrie announces an exciting new Microsoft Azure service for application developers.

ScottGu's Blog - Announcing the new Azure App Service
"Azure App Service includes the Web App + Mobile App capabilities that we previously delivered separately (as Azure Websites + Azure Mobile Services). It also includes powerful new Logic/Workflow App and API App capabilities that we are introducing today for the very first time - along with built-in connectors that make it super easy to build logic workflows that integrate with dozens of popular SaaS and on-premises applications (Office 365, SalesForce, Dynamics, OneDrive, Box, DropBox, Twilio, Twitter, Facebook, Marketo, and more)."

Monday, March 23, 2015

5G Wireless | Keysight (Agilent)

After 4G there will be 5G

That may change the "game" for wired internet connections if the speed and price is competitive...

"Old" HP spin-off is apparently working on that...

5G Wireless | Keysight (Agilent):


Sunday, March 22, 2015

F# Data: Library for Data Access

F# is a functional/hybrid language practical for working with "big data", "cloud", and IoT.
With Xamarin it could also be useful for "mobile" development.

F# Data: Library for Data Access
"The F# Data library implements everything you need to access data in your F# applications and scripts. It contains F# type providers for working with structured file formats (CSV, HTML, JSON and XML) and for accessing the WorldBank and Freebase services. It also includes helpers for parsing CSV, HTML and JSON files and for sending HTTP requests.

This library focuses on providing a simple, mostly read-only, access to the structured documents and other data sources. It does not aim to be a comprehensive collection of F# type providers (which can be used for numerous other purposes). It's also designed to play well with other libraries like DeedleR Type ProviderF# Charting and FunScript."

Saturday, March 21, 2015

Musical Keyboard in JavaScript

Pure JavaScript, no external files, and graphics without even SVG, just divs.
Could be a useful learning tool. Works in Chrome and Firefox, not on IE and Android.

Musical Keyboard - JS Dynamic Audio Synth
This is a an emulated keyboard (a synthesizer!) that spans three musical octaves (C3-B5).
keithwhor/audiosynth @ GitHub
"Dynamic waveform audio synthesizer, written in Javascript.
Generate musical notes dynamically and play them in your browser using the HTML5 Audio Element. No static files required!"

This could be combined with simple text notation for music notes to also record and play music from web.
GUIDO music notation - Wikipedia, the free encyclopedia
Guido Music Notation - CCARH Wiki

O'Reilly Software Architecture Conference 2015

Signals from the O'Reilly Software Architecture Conference 2015 - O'Reilly Radar
"Experts from across the software architecture world came together in Boston for theO’Reilly Software Architecture Conference 2015."

playlist: O'Reilly Software Architecture Conference 2015 - YouTube 

"Agile Architecture" - Molly Dishman & Martin Fowler Keynote - YouTube

Neal Ford of ThoughtWorks on the growing role of software architects - YouTube

"Monitoring Microservices: A Challenge" - Adrian Cockcroft Keynote - YouTube

videos from the conference:
The shape of software architecture - O'Reilly Radar

ASP.NET 5; dotnetConf 2015

ASP.NET 5 (used to be vNext codename) is getting closer to prime time,
with significant changes in the way it works and web projects are organized.
XML is out, JSON is in. JavaScript is everywhere, and .NET tools are recreated.

K. Scott Allen has prepared another excellent introduction:
ASP.NET 5: First Look – Pluralsight Training

To stay relevant and competitive in "cloud" environment, ASP.NET is transforming
to become open source, and embracing many other open source tools.
This creates another "steep learning curve" for server side web development,
in addition to client-side single-page web apps with tools like Angular.

dotnetConf 2015 | Channel 9

ASP.NET 5 - A Deep Dive into the ASP.NET 5 Runtime @ MSDN magazine
The main objective of ASP.NET transformation it to improve performance and reduce dependencies to make it portable and more memory-efficient.

Imran Baloch's Blog - K (dnx), KVM (dnvm), KPM (nuget), KLR, KRE (DNX) in ASP.NET 5 (vNext)
"Project K" was most likely named based on Microsoft's Katana web server, that started this transition to open source; here are a few key new tools:
  • DNX (used to be KRE: K Runtime EngineKLR: K Language RuntimeK command)
    bootstraping ASP.NET 5 application, using various versions of .NET
    self-hosting command line, running build tasks
  • KPM: K Package Manager, being merged to NuGet
    download, restore and install dependencies defined in project.json
  • KVMPowershell script used to get the runtime and manage multiple versions of it being on the machine at the same time.
In addition to .NET based tools, Visual Studio 2015 includes many popular web development tools. 

Introducing Gulp, Grunt, Bower, and npm support for Visual Studio - Scott Hanselman
  • NuGet is now used only for distribution of .NET based packages.
  • npm: node.js package manager
    node.js is integrated in Visual Studio 2015, and is used to run other JavaScript based tools
    there is very large number of tools packaged to be used with node.js, available with npm
  • Bower
    package manager for client-side JavaScript tools
  • Grunt
    JavaScript task-runner, for automating build tasks
  • Gulp
    alternative tool for automating tasks
At the same time .NET core runtime is changed, C# and VB compilers are re-written, open sourced and run as a service, MVC and WebAPI are merged to use common controller, Entity Framework for database access is being re-written and also open sourced... 
There are also "classic" pre-packaged web dev libraries, such as
The actual web scripting code could be written in JavaScript (ES5), but also in TypeScript and ES6, and then cross-compiled and compressed for deployment. 

Besides ASP.NET there are many choices of tools for web development now...
  • node.js Express is using same JavaScript on server and client side. It is all single-threaded, event driven. Simple for simple tasks, could get complicated for bigger projects
  • Ruby on Rails, dynamic and elegant, flexible but could be slow
  • Java, Scala, Clojure and others JVM based frameworks
  • Nancy and other .NET based web frameworks
  • GO: super-simple language, functional, with object but no inheritance

Web started and become hugely popular and useful because it was created simple.
For a good reason: it was created by a single person. That was a major advantage, to keep it simple.

Times have changed, with large teams of smart people trying to out-compete in making
ever more complex systems, to do essentially a simple thing: HTML with some scripting.
Tools are powerful, there are just too many of them now, producing ever more complex systems...
Another round of web simplification may be needed (web components?)
In the meantime, here are some great tools to explore and use...

Thursday, March 19, 2015

Windows 10 free upgrade, even for pirated, and Android!

Why Microsoft Is Giving Away Windows 10 To Pirates [Update] @ Forbes
"Windows 10 will be a free, automatic upgrade from Windows 7 and 8.
Windows chief Terry Myerson explained:
“We are upgrading all qualified PCs, genuine and non-genuine, to Windows 10.”
And in case that isn’t clear, a Microsoft spokesperson clarified exactly what that meant to The Verge:
“Anyone with a qualified device can upgrade to Windows 10, including those with pirated copies of Windows.”"

"...licensing is becoming an increasingly less important part of 
(Microsoft) revenue model. It’s dropped from 23 percent of revenue to 16 percent, year over year, between Windows and Office licenses. The idea here is that with a legitimate copy of Windows in hand, even pirates may be more likely to shell out for Microsoft’s other products like Skype and Office 365."
Windows 10 ROM for Android: Xiaomi Mi 4 Windows 10 install coming | BGR
"Microsoft has found a way to install a Windows 10-based ROM on Android devices, complete with its own mobile software offerings, including Cortana, Office, OneDrive, Skype and more."

ideas: Habits vs Decisions

idea: don't use willpower to enforce decisions;
instead create habits, and avoid unnecessary decision making.
(Good) habits can save energy and improve success and happiness.

video: Habits Are Decisions You Only Need to Make Once, with Gretchen Rubin - YouTube

article: To Form Successful Habits, Know What Motivates You - HBR

The Four Motivation Types and How They Affect Your Habits

About the Book | Gretchen Rubin

book: Better Than Before: Mastering the Habits of Our Everyday Lives: Gretchen Rubin: 9780385348614: Amazon.com: Books
"Habits are the invisible architecture of everyday life. It takes work to make a habit, but once that habit is set, we can harness the energy of habits to build happier, stronger, more productive lives."
podcast: Set Habits You’ll Actually Keep - HBR

video: Gretchen Rubin: Mastering the Habits of Our Everyday Lives on Vimeo

quiz: Did the Quiz Help You Decide If You’re Upholder, Questioner, Obliger, Rebel? Some Thoughts | Gretchen Rubin

Wednesday, March 18, 2015

ScriptCS: C# script, coming to VisualStudio

scriptcs - Write C# scripts in your favorite text editor
Based on Roslyn C# compiler (as a service) written in C#,.
open source ScriptCS will apparently be included to VisualStudio,
along with Script VB and Script FS (F#), and node.js that is already there.

C# compiler API was always available as a part of .NET, 
but calling it required Reflection and was not simple. 
This could be useful for making plugins and "embedded" DSLs.

Cars That Think - IEEE Spectrum

Cars That Think - IEEE Spectrum (interesting blog)
Cars That Think icon
Cars That Think - 18 March 2015

Self-Driving Car Aims for First Cross-U.S. Road Trip - IEEE Spectrum
A self-driving car aims to test that idea by making the 5600-km drive from San Francisco to New York City with a few human passengers tagging along for the ride.

Sunday, March 15, 2015

Containers for Windows: Docker and others

Docker currently supports Linux only,
but there is an active effort (by Microsoft) to make it available for Windows also.

Interesting: Docker is developed in Go language.

podcast: Herding Code 202: Ahmet Alp Balkan on Docker

Microsoft Windows - Docker Documentation

There are alternative containers tools for Windows:

Spoon.net Containers for Windows - Use your applications instantly, anywhere

Microsoft and Sphere3D To Develop Windows Containers for Azure -- Redmondmag.com

Software Architecture Video Training @ O'Reilly Media

O'Reilly is serious about "Safari Books Online" that includes many text and video materials.
Besides online sales and subscriptions, they offer many great free-access materials.

O'Reilly Media – Software Architecture Video Training Series
"Series editor Neal Ford has curated this collection of tools and guides for aspiring and seasoned architects alike."

Inventing Chromebook (Chrome OS)

I was checking if there may be a web version of SketchUp program,
and Google revealed interesting story of creating Chromebook and Chome OS:

(10) How can I use Google SketchUp on a Chromebook? - Quora
"Jeff Nelson, Invented Chromebook, Former Googler

Sketchup is unfortunately a Windows runtime built for i386 CPUs, not a webapp.
If you have one of the Intel-based Chromebooks, like Chromebook Pixel, It's possible to run Windows apps, though not easy, by running WINE"
(10) Jeff Nelson - Quora

In the Clouds: Inventing Chromebook
"...First, Chromebook was initially rejected by Google management. In fact I wrote the first version as early as July 2006 and showed it around to management. Instead of launching a project, the response was extremely tepid. My boss complained, "You can't use it on an airplane." Actually, you could as, under the covers, it was still a bare-bones Linux distribution and could execute any Linux program installed on it...

...the main priority of Chromebook - originally - was not to write a webapp-only operating system. In fact, the main priority when I started constructing the operating system was the need for speed - to create a super-fast operating system.

...The solution? Move the entire desktop operating system into RAM. By moving the entire operating system into RAM, that immediately took off the table the largest performance bottlenecks in the operating system: File I/O."

Saturday, March 14, 2015

Sirius: open-source personal assistant

Engineers Bring A New Open-Source Siri To Life - ReadWrite
"Google has Google Now, Apple has Siri and Microsoft has Cortana—these personal digital assistants are playing an increasingly dominant role on mobile and desktop. Now researchers from the University of Michigan have unveiled an open-source alternative called Sirius, the latest of several similar open-source efforts along the same line."

March is for Makers

March is for Makers - A month-long celebration of hardware
"Scott Hanselman has teamed up with the CodeNewbie podcast to celebrate "March is for Makers." They're posting two podcasts each week during March, and the site has new content every day. The content is aimed at beginners, so if you've ever wanted to see what all the Arduino or Raspberry Pi fuss is about, now's your chance."

Web Pomodoro Timers

Pomodoro Technique - Wikipedia, the free encyclopedia

Hacking a Pomodoro Timer in two hours - S├ębastien Saunier
Color Timer
nice effects:
  • updating browser tab title with remaining time,
  • using canvas to create "favicon" 
  • changing color with time (Flat UI Colors)
  • using http://zeptojs.com/ JavaScript library, a "lean" version of jQuery for modern browsers
not so nice:
  • no pause option
  • no tracking 
  • no sound effects
using sound notification (in Chrome) by using notify.js


Friday, March 13, 2015

IoT: future (in)security?

poscast / interview: Singularity 1on1: Marc Goodman on Future Crimes

book: Future Crimes: Everything Is Connected, Everyone Is Vulnerable and What We Can Do About It: Marc Goodman: 9780385539005: Amazon.com: Books

Marc Goodman: A vision of crimes in the future | Talk Video | TED.com
"As we move forward, we'll see new technologies also, like the Internet of Things. Every day we're connecting more and more of our lives to the Internet, which means that the Internet of Things will soon be the Internet of Things To Be Hacked"

TED talk: Marc Goodman: A vision of crimes in the future - YouTube
(can be watched on higher speed on YouTube :)

Windows Tool: Problem Steps Recorder (PSR)

How do I use Problem Steps Recorder?:
From start menu or command line type: PSR
This starts recording screens and save them as .mht file (Microsoft Help format) in a zip file.
Simple and could often be useful.

This tool is available on any Windows 7 and 8.x, as well as on 2008 / R2 and 2012 / R2

How To Use Steps Recorder
Screenshot of Problem Steps Recorder in Windows 7 -

Using the “secret” Windows 7 Problem Steps Recorder to Create Step by Step Screenshot Documents - Pat's Windows Development Blog - Site Home - MSDN Blogs

Problem Steps Recorder in Windows 7 - Features | TechNet

podcast: Free Dignostics Tools with Mike O'Neill @ RunAs Radio

Thursday, March 12, 2015

ASP.NET 5: Bower, Grunt, Gulp, npm

Manage Client-Side Web Development in Visual Studio 2015, Using Grunt and Bower | The ASP.NET Site
"With Visual Studio 2015, you can:
  • Easily manage client-side packages like jQuery, Bootstrap, or Angular.
  • Automatically run build tasks such as LESS compilation, JavaScript minification, JSLint, or JavaScript unit tests.
  • Take advantage of a rich ecosystem of tools created by the web development community.
To enable these scenarios, Visual Studio 2015 has built-in support for several popular third-party tools:
  • Bower. Described as a “package manager for the web,” Bower lets you install and restore client-side packages, include JavaScript and CSS libraries. For server-side libraries like the MVC 6 framework, you will still use NuGet Package Manager.
  • Grunt and Gulp. Grunt and Gulp are JavaScript-based task runners. If you aren’t familiar with these, a task runner is an app that automates routine development tasks. Right now, the ASP.NET 5.0 project template uses Grunt.
  • npm (Node Package Manager). npm is a package manager that was originally created for Node.js. Bower, Grunt, and Gulp all use npm."
Introducing Gulp, Grunt, Bower, and npm support for Visual Studio - Scott Hanselman
"Web Development, specifically front end web development, is fast becoming as complex and sophisticated as traditional back end development. Most projects don't just upload some JS and CSS files via FTP. There's now a front end build process that can include expansion of SASS and LESS, minification of CSS/JS, running JSHint or JSLint, and much more. These build tasks and processes are coordinated with tools like Gulp and Grunt. Additionally, client-side libraries are managed as packages using management systems like npm and bower"

IoT: light bulb DoS attack on smart house

This guy's light bulb performed a DoS attack on his entire smart house -- Fusion
"In 2009, Raul Rojas, a computer science professor at the Free University of Berlin (and a robot soccer team coach), built one of Germany’s first “smart homes.” Everything in the house was connected to the Internet
About two years ago, Rojas’s house froze up, and stopped responding to his commands. “Nothing worked.
his light fixture had burned out, and was trying to tell the hub that it needed attention. To do so, it was sending continuous requests that had overloaded the network and caused it to freeze. “It was a classic denial of service attack,” says Rojas. The light was performing a DoS attack on the smart home to say, ‘Change me.'”

Wednesday, March 11, 2015

NativeScript, ReactNative, for iOS, Android, and Windows apps

JavaScript goes native for iOS, Android, and Windows Phone apps | InfoWorld
"NativeScript, a Telerik technology for building multiplatform native mobile apps from a single code base, is set to go to a 1.0 release in late April. Telerik is launching a beta program this week for the open source NativeScript.

The NativeScript website and GitHub page describe the runtime as enabling developers to use JavaScript and TypeScript to build native apps for iOS, Android, and Windows Phone (via the Windows Universal strategy) and share code across the platforms. "Developers who have that Web skill set who want to build truly native applications should be really excited because there is now a way for them to do that" without having to learn custom languages or frameworks

NativeScript produces apps that have a native UI... the app is not HTML-rendered in a Web view -- as you get with hybrid apps or traditional browser apps. ... [NativeScript enables] the underlying JavaScript engines on iOS, Android, and Windows to control a native UI layer.
NativeScript provides full access to the native platform API, and it features a prepackaged JavaScript virtual machine"

A similar solution was available for a while with

Windows 8 also has similar apps solution with WinJS

React.js Conf 2015 Keynote - Introducing React Native | Engineering Videos | Facebook Code | Facebook

First Impressions using React Native

Use React Native: site and newsletter

Windows Phone Comeback? Web Apps

Microsoft is not giving up...
New large Lumia 640 XL is 1/3 price of comparable phones,
and with Windows 10 universal apps, may become a viable choice,
in particular if it provides enterprise level security options.

Microsoft’s Lumia 640 and Lumia 640 XL are budget phones with free Office 365 | The Verge

Lumia 640 XL: 5.7-inch, 1280 x 720, 13-mpx Carl Zeiss, + 5-mpx, quad core 1.2 MHz, 1 GB + 8 GB (up to 128 GB), $211 (3G) $245 (LTE).

Find Smartphones, Tablets and Smart Devices with Snapdragon Processors | Qualcomm
There a many mobile devices, including Smart Watches,
using the same mid-range Snapdragon 400 processor...

"Normally, browser-based apps are constrained by the browser sandbox. They have no access to operating system APIs, and they're given constrained access to, for example, persistent storage, cameras, and microphones. When a Web app is published for Windows 10, however, these constraints will be relaxed. The Web apps will be able to check if they're running as a special blessed app, and if so, they'll be able to do some of the things that normal apps can do (for example, generate Windows notifications or show full-screen video without prompting) that regular Web apps normally can't."

The Basics of 3D Printing

a very elaborate intro, and an inspiring podcast interview

The Basics of 3D Printing in 2015 - from someone with 16 WHOLE HOURS' experience - Scott Hanselman:

March Is For Makers: 3D Printing with Printrbot's Brook Drumm on the Hanselminutes Technology Podcast: Fresh Air for Developers

Printrbot Assembled Metal Simple 3D Printer, Black, PLA Filament, 1.75mm Ubis Hot End, 6" x 6" x 6" Build Volume: Amazon.com: Industrial & Scientific

Tuesday, March 10, 2015

Interactive Data Visualization with D3.js

Interactive Data Visualization with D3.js – Pluralsight Training



enjalot (Ian Johnson)  @ GitHub

"Tributary allows you to share live-editable code snippets. These snippets will most likely use d3.js and allow a user to play with code in a very responsive way."
Gallery · mbostock/d3 Wiki

Apple Watch

Apple - Apple Watch:

$17,000 Apple Watch, some waiting for killer app | Reuters

Machine Learning for Programming

Machine Learning for Programming: @ InfoQ

"Peter Norvig keynotes on using machine learning techniques to solve more general software problems, helping both the advanced programmer and the novice one."

Human learning is based on pattern matching, and machine learning is based on pattern matching.
It is unlikely to happen quickly, but over time there will be more symbiosis of human and machine programming, too. I would extend this treating programs as (sometimes) efficient way of knowledge representation, that could and will be automated...

Monday, March 09, 2015

IoT: B# Programming Language?

Interesting name, but not quite interesting / open tool?
It does bring a good point of need for a small-scale .NET for embedded systems.
Maybe the new .NET Core is the real answer...

11 IoT Programming Languages Worth Knowing - InformationWeek

B# Programming Language for Embedded Systems

B# - A programming language for small footprint embedded systems applications: Part 1 | Embedded

Sunday, March 08, 2015

TypeScript and ES6 @ ng-conf 2015

TypeScript and ES6 Dan Wahlin & Andrew Connell - YouTube

ng-conf 2015 - The World's Original Angular Conference

Welcome to TypeScript
Tutorial - Welcome to TypeScript
Playground - Welcome to TypeScript

TypeScript - Wikipedia, the free encyclopedia

Angular 2: Built on TypeScript - TypeScript - Site Home - MSDN Blogs

TypeScript Angular - Somasegar's blog - Site Home - MSDN Blogs

Microsoft/TypeScript @ GitHub

Angular 2: Built on TypeScript | Hacker News
"...now there are two Angular products: AngularJS 1.x and AngularDart. These two efforts are supported by completely separate teams. Now the JS and Dart teams are merging and the new Angular 2.0 will be written in TypeScript and transcompiled down to ES6, ES5, and Dart. So while it may look like jumping around, the message seems to be consolidation."

Microsoft Productivity Future Vision (!)

Productivity Future Vision @ Microsoft

Microservices Application Architecture

Microservices at Netflix: Lessons for Architectural Design

Time to Move to a Four-Tier Application Architecture - NGINX

Netflix Architecture

Microservices @ Martin Fowler
Monolithic vs Microservices Architecture
Figure 1

free preview ebook: How to Adopt Microservices - Oreilly ebook | NGINX

From a Ruby monolith to microservices in Go, lessons learned - Niket Patel - GopherConIndia liveblog
"After extracting the PDF service (from Ruby) and rewriting it in Go, they observed that
  • reports generation became 12x faster, and
  • memory consumption was 30% lower."