Saturday, January 31, 2015

web: Google Cultural Institute: Art, World Wonders

atractive visual design

Google Cultural Institute
"The Google Cultural Institute puts the world’s cultural treasures at your fingertips."

Cultural Institute – Google
  • Art Project
  • World Wonders Project
  • Archive exhibitions

  • Take a virtual tour
  • See works in great detail: available in ‘gigapixel’ format, allowing you to zoom in at brushstroke level.
  • Create your own gallery
  • Share with your friends

mobile web: Multi-Device Layout Patterns

Multi-Device Layout Patterns by Luke Wroblewski
"Through fluid grids and media query adjustments, responsive design enables Web page layouts to adapt to a variety of screen sizes. As more designers embrace this technique, we're not only seeing a lot of innovation but the emergence of clear patterns as well. I cataloged what seem to be the most popular of these patterns for adaptable multi-device layouts."
Mostly Fluid Pattern
multidevice layout patterns

Column Drop  Pattern

multidevice layout patterns

Layout Shifter  Pattern

multidevice layout patterns

Tiny Tweaks Pattern

multidevice layout patterns: Tiny Tweaks

Off Canvas Pattern

multidevice layout patterns: Off Canvas

big data: Microsoft "Cosmos"

Could Cosmos be Microsoft's next commercial big-data service? | ZDNet
"Microsoft is launching more and more internal and external services on Azure. Given CEO Satya Nadella's focus on creating a "data culture," it's not too surprising that big data services are a top priority. HDInsight, Microsoft's Hadoop on Azure service , was Microsoft's first commercially available big-data service. I'm wondering if Cosmos might be its next. 

Currently, Cosmos is an internal-facing Microsoft service. It's Microsoft's massively parallel storage and computation service that handles data from Azure, Bing, AdCenter, MSN, Skype and Windows Live. According to a recent Microsoft job posting, there are 5,000 developers and "thousands" of users inside Microsoft using Cosmos. Cosmos was built using Microsoft's Dryad distributed-processing technology."

Report: Microsoft to revive Hadoop killer in cloud form | SiliconANGLE
Microsoft’s analytics framework has apparently evolved a great deal since the paper came out in 2011.

Cosmos, Big Data and Big Challenges, Pat Helland, July 2011

"Cosmos is composed of a distributed compute component (somewhat comparable to Hadoop's Map-Reduce, using the Microsoft Dryad solution, which (unlike Map-Reduce) allows an arbitrary DAG of computation. Cosmos supports a SQL-like syntax (similarly to HIVE/PIG) and includes a distributed storage component (comparable to HDFS); Overall, Cosmos provides highly scalable, reliable, fault-tolerant and automatically scaled compute operations on huge data sets."


Note: there is another "Cosmos", an open source OS based on C#, not related.

There is a similar service from Google:
Google Cloud Dataflow — Google Cloud Platform

smart tool: KanbanFlow: Kanban + Pomodoro

KanbanFlow - Lean project management, simplified
"The Kanban board gives you an excellent overview of your current work situation. Visualizing work in a team environment simplifies communication and lead to improved effectiveness.

Optionally improve your focus even more by using the popular Pomodoro technique  for time tracking of your tasks. Track and measure any interruptions to your focus."

Friday, January 30, 2015

data: "Append Only Computing", Immutability Changes Everything - Pat Helland (!)
Immutability Changes Everything, Pat Helland,

"It wasn’t that long ago that computation was expensive, disk storage was expensive, DRAM was expensive, but coordination with latches was cheap. Now, all these have changed using cheap computation (with many-core), cheap commodity disks, and cheap DRAM and SSD, while coordination with latches gets harder because latch latency loses lots of instruction opportunities. We can now afford to keep immutable copies of lots of data, and one payoff is reduced coordination challenges."

OldCPU, HDD, RAMCoordinationno duplication
=> DB normalization
NewCoordinationCPU, HDD, RAMno locking
=> no DB updates

"Can not re-write history. Database transaction logs never change. No updates.
A database is a caching of a subset of the log." 

Immutability Changes Everything - Pat Helland, RICON2012 on Vimeo
"There are emerging solutions which are based on immutable data. It seems we need to look back to our grandparents and how they managed distributed work in the days before telephones."

Immutability Changes Everything - Pat Helland, RICON2012 from Basho Technologies on Vimeo.
  • Accountants Don’t Use Erasers (Ledger)
  • Keeping the Stone Tablets Safe
  • Hey! Versions Are Immutable, Too!
  • Immutability by Reference
  • Immutability Is in the Eye of the Beholder
  • Normalization Is for Sissies
"Pat Helland has published another thought provoking paper: Immutability Changes Everything. If video is more your style, Pat gave a wonderful talk on the same subject at RICON2012 (video, slides). It's fun to see how Pat's thinking is evolving over time as he's worked at Tandem Computers (TransactionMonitoring Facility), Amazon, Microsoft (Microsoft Transaction Server and SQL Service Broker), and now Salesforce."

One such database system: Datomic

$Apple' > $Google

Bad Assumptions | stratechery by Ben Thompson
"last quarter Apple’s revenue was downright decimated by the strengthening U.S. dollar; currency fluctuations reduced Apple’s revenue by 5% – a cool $3.73 billion dollars. That, though, is more than Google made in profit last quarter ($2.83 billion).2 Apple lost more money to currency fluctuations than Google makes in a quarter."

"Apple’s mission is to make the greatest products on earth and enrich the lives of others"

"...there is a segment of the market that is not strictly governed by the lowest price.... customers value products that deliver more value than what can be reduced to a number, ...there is an opportunity to create best-in-breed experiences for a handsome price."

Visual Studio 2015 CTP 5 as Azure VM

Visual Studio 2015 CTP 5 Available - The Visual Studio Blog - Site Home - MSDN Blogs

Azure Virtual Machine Images for Visual Studio - The Visual Studio Blog - Site Home - MSDN Blogs
Visual Studio image offerings for the Microsoft Azure virtual machine gallery.


Azure "cloud in a box": Microsoft Cloud Platform System (CPS)

Microsoft is using 'Azure in a box' to power its own 'Nebula' private cloud | ZDNet 
Last fall, Microsoft announced a partnership with Dell to provide an Azure cloud in a box offering known as the "Microsoft Cloud Platform System" (CPS).

Customers buy the CPS hardware through Dell and software and services through Microsoft, with Microsoft acting as the first point of contact for all support requests.

"Nebula offers CPS as premium reliability in contrast to the standard reliability of our existing data center hardware"

Tesla Motors Model III

Elon Musk Reveals Name of Next Tesla Car: the Model III
Tesla Model 3
Tesla Model 3
Elon Musk says Tesla Model 3 will be $35,000 — without tax incentives
The upcoming Tesla Model 3, on the other hand, will be priced at $35,000 —before any kind of state or federal tax break for driving electric, Musk said.

Tesla Motors, Inc. Has a New $9 Billion Ally (NRG, TSLA)

Tesla Motors Inc P85D Vs. 2016 Ford GT: Who'd Win In A Drag Race?
"The P85D, essentially an upgraded Model S, touts acceleration as its most impressive feature and can hit 0-60 mph in just 3.2 seconds (3.1 after wireless software update) – as opposed to its predecessor’s 4.2 seconds – thanks to its dual-motor. The car can pick up about 619 horsepower and packs a reported 864 pounds of torque at the wheels."

Tesla Model S P85D launch reaction 2 women - YouTube

Tesla Test Drive: Model P85D, Autopilot, Zero to 60 - YouTube (Elon Musk driving)

Thursday, January 29, 2015

Bill Gates 'Ask Me Anything'

Here's what Bill Gates had to say in his latest Reddit 'Ask Me Anything':

"Bill Gates has just completed a Reddit AMA (Ask Me Anything), making it the third time he has participated in one. For non-Reddit folk, an AMA is, as its name suggests, an opportunity for the community to ask a person any question."

Amazon WorkMail

Amazon WorkMail:
"Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. Amazon WorkMail gives users the ability to seamlessly access their email, contacts, and calendars using Microsoft Outlook, their web browser, or their native iOS and Android email applications. You can integrate Amazon WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.
You can get started for free with a 30-day trial of Amazon WorkMail for up to 25 users."

Wednesday, January 28, 2015

(Mobile) Software Is Eating the World

Mobile Is Eating the World | Andreessen Horowitz

"There is no point in drawing a distinction between the future of technology and the future of mobile. They are the same. In other words, (mobile) technology is now outgrowing the tech industry."
A funny thing is that main feature of such device is the screen, not the phone. 
It is really a "communicator" device and smart assistant. 

But "phone" part was critical for adoption, since it is a familiar metaphor, 
and it enabled easy financing: purchasing $700 phone is easy $100 down payment,  
and purchasing $700 PC (or laptop) is usually "real" purchase. 

Could screen (and large battery) decouple from this personal communicator device?
Even more, could "personal" data and apps become a container that can swap shell device?

Tuesday, January 27, 2015

IoT: Internet of (Big) Data

The Big Data Mistake In The Internet Of Things
“There is no Internet of Things. There is only the Internet of Data.”

“The key to successfully addressing the IoT market is the ability to rapidly build and evolve apps that tap into, analyze and make smart decisions on fast, big data”,

"if we look more closely into the deeply unsexy world of predictive maintenance on industrial equipment, we will have to contend with massive files that are typically buried and inaccessible after years of being shuffled around by the IT department."

Big Data Now: 2014 Edition (free ebook from O'Reilly Media)

Microsoft += R (Revolution Analytics) Open Source

Microsoft acquires Revolution Analytics | ZDNet
"Microsoft has acquired Revolution Analytics, a company that develops R programming-language-based analytic solutions for open-source and proprietary big data platforms."

"Revolution Analytics provides an "enterprise-class platform" for developing and deploying R-based analytic solutions that can scale across large data warehouses and Hadoop systems, and which can integrate with enterprise systems"

Microsoft: The open-source company | ZDNet
"Microsoft loves Linux, is adopting Docker for its servers, and just bought Revolution Analytics, the biggest open-source R statistical language company. This is not your dad's Microsoft."

Data Analysis for Developers | Visual Studio Toolbox | Channel 9
describes R and Hadoop as core of Azure toolset.

Cloud Services - Machine Learning | Microsoft Azure

The R Project for Statistical Computing

R (programming language) - Wikipedia, the free encyclopedia
R is a language created by statisticians for statisticians, and it "works".
It is a bit "strange" for computer science oriented people, but since it works...
Most of scientific algorithms are published as open-source R scripts.

R Programming - Wikibooks, open books for an open world

Code School - Try R (free class!)
Completed Try R

Authorization vs Authentication, Thinktecture IdentityServer

thinktecture/Thinktecture.AuthorizationServer @ GitHub

IdentityServer/Thinktecture.IdentityServer3 @ GitHub
"IdentityServer is a framework and a hostable component that allows implementing single sign-on and access control for modern web applications and APIs using protocols like OpenID Connect and OAuth2. It supports a wide range of clients like mobile, web, SPAs and desktop applications and is extensible to allow integration in new and existing architectures.

Watch this for the big picture: Introduction to OpenID Connect, OAuth2 and IdentityServer.
Go to the documenation site.
OpenID Connect specification / OAuth2 specification

IdentityServer is designed as an (Microsoft .NET) OWIN/Katana component. By referencing the library or nuget you get a UseIdentityServer extension method for IAppBuilder that allows setting up IdentityServer in your OWIN host" 
(and it could run on Linux and Mac)

Authentication vs. Authorization @ Microsoft TechNet

  • "Authentication is used by a server when the server needs to know exactly who is accessing their information or site.
  • Authorization is a process by which a server determines if the client has permission to use a resource or access a file.
    Authorization is usually coupled with authentication so that the server has some concept of who the client is that is requesting access"

OpenID Connect | OpenID
"OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner."

OAuth 2.0 — OAuth
"OAuth 2.0 focuses on client developer simplicity while providing specific authorization flows for web applications, desktop applications, mobile phones, and living room devices."

ASP.NET 4.5 has options for external authentication by Google, Microsoft Live, Facebook.
That is very useful for human users and web application, but for mobile apps there is a need for access control to Web APIs: access authorization based on tokens. 
When there are more than one app or web site granting access to each separately is inconvenient. 
IdentityServer could help.

Authentication and Authorization in ASP.NET Web API | The ASP.NET Site

Azure Website's "Easy Authentication and Authorization" with Chris Gillum

Monday, January 26, 2015

Pluralsight += Code School

Code School has Joined the Pluralsight Team - Code School Blog
"...Code School has joined the amazing team at Pluralsight.
Code School and Pluralsight will remain two separate services that each focus on our technical training strengths. The two learning experiences complement each other well: Code School introduces topics in our learn-by-doing style, and Pluralsight gives you great depth when you’re ready to dive further into topics."

Pluralsight and Code School (by Pluralsight CEO)

So for now, this is cross-promotion, since services are sufficiently different.  
(72 hours of free access)

Code School also has many free classes (13 our of 40 available)

some free classes:

Elon Musk on Founding SpaceX

Elon Musk on Founding SpaceX | Big Think
"When you’re looking for an opportunity, I think it’s important not so much to focus on just disruption for the sake of it, but rather where is an industry either stagnant or in decline, where the product or service has stayed pretty much the same or maybe even gotten worse over time? It’s worth looking at industries which a lot of people think are impossible or think you can’t succeed at - that’s usually where there’s opportunity. If everyone thinks you can succeed in an industry, they’re probably diving in."

Sunday, January 25, 2015

Presentations Lessons from Apple

4 Powerful Presentation Lessons from Apple — Prezi Blog (that is from Steve Jobs)

Protocol Buffers: base 128 "varint" encoding

Google's Protocol Buffers data serialization is fast and creates compact files,
compared to text formats (XML, JSON) and some binary serializations.
One of reasons is that metadata are not saved, external schema is required, so it i not self-describing,
and a integer values are stored in compact way: smaller numbers take less space

This technique is called "varint" and is very similar to UTF8 encoding for UNICODE characters,
in this case applied for integer numbers.

Encoding - Protocol Buffers — Google Developers
"Varints are a method of serializing integers using one or more bytes. Smaller numbers take a smaller number of bytes.

Each byte in a varint, except the last byte, has the most significant bit (msb) set – this indicates that there are further bytes to come. The lower 7 bits of each byte are used to store the two's complement representation of the number in groups of 7 bits, least significant group first."

1 (decimal) => 0000 0001 (encoded)

300 (decimal) => 1010 1100 0000 0010 (encoded)
has more bytes (1) first 7 data bits(010 1100) no more bytes(0) second 7 bits(000 0010)
000 0010  010 1100
→  000 0010 ++ 010 1100
→  100101100
→  256 + 32 + 8 + 4 = 300
Another example of decoding; "msb" (most significant bit) indicates if there is more bytes
96 01 = 1001 0110  0000 0001
       → 000 0001  ++  001 0110 (drop the msb and reverse the groups of 7 bits)
       → 1001 0110
       → 128 + 16 + 4 + 2 = 150
Obviously this encoding is good for some numbers and less good for others.
"150" would fit in one byte with all 8 bits ware used, 
but in this case it takes 2 bytes since first (msb) bit is a "continuation" flag.
This technique is useful in particular for "key" part of key/value pairs, 
since usually there is small number of fields for encoding. 

UTF8 encoding has the same issue with multi-byte languages like Japanese, 
where one character takes 3 x UTF8 bytes, or 1 x UTF16 word that is 2 bytes. 
In that case it is 50% less effective to use UTF8.
On the other side, for English language UTF8 takes 1 byte, 
and UTF16 takes 2 bytes, 100% increase.
Windows, .NET, Java, all use UTF16 in memory. 

Windows App Studio

Windows App Studio gets TouchDevelop programming language and web app templates, drops Windows Phone 8.0 | VentureBeat | Dev  
"Microsoft updated Windows App Studio, its free web-based tool designed to let anyone create an app, with support for TouchDevelop, a touch-friendly programming language that includes a physics engine and a user-interface framework for composing forms. The company also added universal Web App Template (WAT) creation — but dropped support for Windows Phone 8.0."

Windows App Studio–Free Tool to create apps in Windows Stores|Microsoft
"The Web App Template in App Studio allows you to create universal Windows apps from mobile websites"
Microsoft’s Windows App Studio and TouchDevelop integrate. Mobile First. Cloud first.

Android Studio 1.0

Android Studio 1.0 | Android Developers Blog
"Android Studio is (now) the official Integrated Development Environment (IDE) from the Android team. It is built on the popular IntelliJ IDEA (Community Edition) Java IDE."
(replacing Eclipse as the standard for Android application development)

Docker containers for Enterprise

Some are predicting that 2015 will be "the year of Docker"

Docker (software) - Wikipedia, the free encyclopedia
Docker uses resource isolation features of the Linux kernel such as cgroups and kernel namespaces to allow independent "containers" to run within a single Linux instance, avoiding the overhead of starting virtual machines.

The technology of containers is not new, Solaris had this 10 years ago, but it is now free and easy.

Docker releases first commercial product - SD Times
After two years of gathering hype and bringing attention to long-neglected Linux containers, Docker announced ... that it will offer Docker Hub Enterprise, its first commercial product offering, in February of 2015. Docker Hub Enterprise is an on-site version of the company’s popular online repository for Docker images.Docker

Getting Started with Docker @ CoreOS
Docker containers can boot extremely fast (in milliseconds!) which gives you unprecedented flexibility in managing load across your cluster.
How To Set Up a Private Docker Registry on Ubuntu 14.04 | DigitalOcean

IoT CPUs: ARM vs Intel

ARM will wrestle Intel to power the Internet of Things (interview) | VentureBeat | Gadgets | by Dean 
"In terms of volume there is no market in the world like mobile. Mobile, which includes tablets, is shipping hundreds of millions of units for us. It’s probably outshipping everything else 10 to 1"
(and most of mobile devices are running on ARM licensed CPU)

"The next biggest market for (ARM) is digital TV and set-top boxes. (ARM) is in 70 percent of the market in GPU-enabled DTV, which is pretty much all TVs now."

"ARM-based servers being shipped in commercial systems, and you do. They’re popular."

"The critical part there is not just the ARM low power, but the fact that we’re enabling diversification. Rather than saying, “The answer is this server or that server,” we say, “Here are our processors. Here’s our technology. Go build what you think you can make a successful product out of.”"

"Intel, the world’s biggest chip maker, is definitely investing heavily to take this (IoT) market for itself. But ARM isn’t about to let that happen, according to Davies."

CPU micro-code standardization is very useful, but with modern compilers, there may be an opportunity to further optimize hardware for specific tasks. Microsoft Research is working on this, and likely are makers of processors. With expected volume of IoT devices, we could expected next generation of processing platform also. 

Saturday, January 24, 2015

Friday, January 23, 2015

Google AI += DeepMind

The Deep Mind of Demis Hassabis — Backchannel — Medium
"From the day in 2011 that Demis Hassabis co-founded DeepMind—with funding by the likes of Elon Musk—the UK-based artificial intelligence startup became the most coveted target of major tech companies. In June 2014, Hassabis and his co-founders, Shane Legg and Mustafa Suleyman, agreed to Google’s purchase offer of $400 million."

Google DeepMind

DeepMind Technologies - Wikipedia, the free encyclopedia

Deepmind artificial intelligence @ FDOT14 - YouTube

Demis Hassabis on Computational Neuroscience - YouTube

Demis Hassabis of DeepMind, Google Shows AI Computer Playing Atari Games | Betabeat
(Screengrab: Google's Atari Breakout).
"Google’s artificial intelligence firm, DeepMind Technologies, has been making headlines with a computer that can program itself, a quest for “AI scientists” and software that can learn to play classic Atari games better than a human expert."

MIT Media Lab Faculty Search


The Media Lab is a cross-disciplinary research organization focusing on the invention of new media technologies that radically improve the ways people live, learn, work, and play.

We are seeking a new kind of early career faculty member, not defined by discipline, rather by his or her unique and iconoclastic experience, style, and points of view. You can be a designer, inventor, scientist, or scholar – any combination – as long as you make things that matter. Impact is key.

This means somebody with at least these three sets of characteristics:
1) Being deeply versed in a minimum of two fields, preferably not ones normally juxtaposed;
2) Being an orthogonal and counter-intuitive thinker, even a misfit within normal structures;
3) Having a fearless personality, boundless optimism, and desire to change the world."

gadget: Mouse PC

Your entire PC in a mouse

A Polish software and hardware developer has taken the idea of a compact PC to a new, and rather small, level, by creating a prototype computer which is entirely housed within a mouse

Windows 10 new "Project Spartan" web browser

Project Spartan and the Windows 10 January Preview Build - IEBlog - Site Home - MSDN Blogs
"Windows 10 will ship with a brand new browser, codenamed “Project Spartan.” Designed for Windows 10, Spartan provides a more interoperable, reliable, and discoverable experience with advanced features including the ability to annotate on web pages, a distraction-free reading experience, and integration of Cortana for finding and doing things online faster."

The next generation of Windows: Windows 10

DirectX 11 vs. DirectX 12 oversimplified with Brad Wardell

Windows Insider Program

Oracle Database Appliance for "Big SQL"

Oracle Goes After Cisco UCS, with the 'Whole Megillah'

"Ellison also announced the new Oracle Database Appliance X5-2, which is powered by two 18-core Intel Xeon E5-2699v3 chips. The servers come with 256 GB of main memory per server expandable up to 768 GB. In terms of storage capacity, the Oracle Database Appliance X5-2 can include up to 16 x 3.5-inch 4 TB drives, which enables up to 64 TB of raw storage capacity.


Ellison also announced Oracle's Big SQL technology, which enables users to take data out of the Oracle Database and combine it with data from Hadoop and a NoSQL database."

A database would run nicely on such hardware :)

Google: + 20% Time

Marissa Mayer Reveals A 'Dirty Little Secret' About Google's 20% Time | Nicholas Carlson | LinkedIn: "...dirty little secret of Google’s 20% time. It’s really 120% time."

She said that 20% time projects aren't projects you can do
instead of doing your regular job for a whole day every week. 

It's "stuff that you’ve got to do beyond your regular job.""

Thursday, January 22, 2015

IoT: Raspberry Pi, Beaglebone Black, Intel Edison: Benchmarked

Raspberry Pi, Beaglebone Black, Intel Edison – Benchmarked

"So, if you take the results of the Edison being 5 times the speed of a Raspberry Pi in most tests, and it being $75 versus about $35 for a Pi, the Edison is excellent value for money."

BeagleBone Black vs Raspberry Pi #BeagleBoneBlack @TXInstruments @BeagleBoardOrg « adafruit industries blog

IoT: ​Ubuntu Linux for the Internet of Things

​Ubuntu wants to be the OS for the Internet of Things | ZDNet:

"Canonical ... coming out with its own combination of Docker containers and a lightweight Linux distribution in Ubuntu Core, ... a server play.

Canonical, Ubuntu Linux's parent company, also wants to turn Ubuntu Core into the operating system for the Internet of Things..
Ubuntu recommends the Beaglebone Black for ARM Ubuntu Core developers.

"Ubuntu One self-heals because unlike most operating systems, when a change needs to be made, instead of patching the operating system or the application, the entire lightweight containerized stack is replaced. In addition, because in Ubuntu Core the separate operating system and application files are read-only images, it's much harder to infect either with malware."

"The app store for Internet things is now open on Ubuntu,"

Wednesday, January 21, 2015

HTML5 sortable

HTML5 Sortable
HTML5 Sortable is a jQuery plugin to create sortable lists and grids using native HTML5 drag and drop API.

combined with AngularJS

"An implementation of HTML5 Drag and Drop API to provide a sortable list of items.
No external dependancies."
See demo here:

IoT gadget: "Internet Button"

Spark | Open source IoT toolkit

Spark Store | Open source IoT toolkit


Connected with IFTTT, it combines hardware, sensors, and connectivity into one package
Ships in May 2015

Microsoft HoloLens - Windows Holographic (!)

Project HoloLens: Our Exclusive Hands-On With Microsoft's Holographic Goggles | WIRED
"Microsoft... most ambitious undertaking in years, a head-mounted holographic computer called Project HoloLens."

Windows as a Service

Forget Windows 10 -- here are the four most important words Microsoft said today | Computerworld: "Everyone these days seems to be promoting their products as an "as a Service" offering: Software as a Service (SaaS), Infrastructure as a Service (IaaS) or Platform as a Service (PaaS)


We'll deliver new features when they're ready, not waiting for the next major release. We think of Windows as a Service -- in fact, one could reasonably think of Windows in the next couple of years as one of the largest Internet services on the planet. And just like any Internet service, the idea of asking 'What version are you on?' will cease to make sense."

Tuesday, January 20, 2015

BSON, Protocol Buffers, Cap’n Proto

BSON - Binary JSON
"BSON [bee · sahn], short for Bin­ary JSON, is a bin­ary-en­coded seri­al­iz­a­tion of JSON-like doc­u­ments. Like JSON, BSON sup­ports the em­bed­ding of doc­u­ments and ar­rays with­in oth­er doc­u­ments and ar­rays. BSON also con­tains ex­ten­sions that al­low rep­res­ent­a­tion of data types that are not part of the JSON spec. For ex­ample, BSON has a Date type and a BinData type.
BSON can be com­pared to bin­ary inter­change for­mats, like Proto­col Buf­fers. BSON is more "schema-less" than Proto­col Buf­fers, which can give it an ad­vant­age in flex­ib­il­ity but also a slight dis­ad­vant­age in space ef­fi­ciency (BSON has over­head for field names with­in the seri­al­ized data)."
{ Names in JSON format are repeated frequently, why not just keep them as pointers,
since the format is binary anyway? A bit more complexity for potentially more efficient storage. }

James Newton-King - Json.NET 3.5 Release 6 – Binary JSON (BSON) support

c# - Protocol Buffers versus JSON or BSON - Stack Overflow

Comparison of data serialization formats - Wikipedia, the free encyclopedia

An overview of serialization formats. Numbers and anecdotes. | Daniel Lobato

Comparing Protobuf, JSON, BSON, XML with .NET for File streams | Software Engineering

{ Given that (Google's default data format) ProtoBuf is significantly more efficient,
it is a bit strange there are no popular databases based on this, like MongoDB based on BSON }

(Google's) F1: A Distributed SQL Database That Scales

(Facebook created) Apache Thrift - Home

Protocol Buffers — Google Developers

Protocol Buffers - Wikipedia, the free encyclopedia

google/protobuf @ GitHub

c# - How to choose between protobuf-csharp-port and protobuf-net - Stack Overflow

protobuf-csharp-port - Google's Protocol Buffers project, ported to C# - Google Project Hosting

protobuf-net - Fast, portable, binary serialization for .NET - Google Project Hosting

Code, code and more code.: Efficiency: the work you don’t do…

Cap'n Proto: Introduction
"Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or thinkProtocol Buffers, except faster. In fact, in benchmarks, Cap’n Proto is INFINITY TIMES faster than Protocol Buffers."

"Cap’n Proto gets a perfect score because there is no encoding/decoding step."

Code, code and more code.: Efficiency: the work you don’t do…
Marc Gravell, porting Cap'n Proto to C#image
"this format works both on disk and for live interactive objects, so the disk format is exactly the in-memory format. Zero processing."

Performance Test – BinaryFormatter vs Protobuf-Net |

Encoding - Protocol Buffers — Google Developers

innovation: Microsoft Online "proctoring" certification

Microsoft Worldwide Partner Conference
Training Spotlight: New learning methods
  • Online proctoring allows you to take tests from your office or home
  • Microsoft Labs Online let you order digital courseware and labs to lead in-house training
"What is online "proctoring?"

Imagine you have to take a certification exam. Traditionally, you would call or go online to schedule an appointment at a testing center, take time out of your day to travel to the testing facility, and then take the test.

With online proctoring, you skip all of the excess travel – you can take exams from the comfort of your own office or even your home.

Of course there are some restrictions: You’ll need a web camera, so that the testing moderator can visually sweep the room in which you’re testing, to make sure there are no unauthorized materials available.

There are currently 50 exams available for online proctored delivery, with more to come.
Note this test-taking method is offered via Pearson VUE, our new exam delivery provider."

Chartist.js: Simple responsive charts

Chartist - Simple responsive charts
Using SVG, CSS, SMIL, supports animations. Appears to be simple to use.

Unusual license
chartist-js/LICENSE at develop · gionkunz/chartist-js

Comparison of JavaScript charting frameworks - Wikipedia, the free encyclopedia

AngularJS - MS Dev Show Podcast

Monday, January 19, 2015

AngularJS => DurandalJS

Rob Eisenberg - The Eisenberg Effect
"Single Page Apps Done Right"
After 10 months with Google's AngularJS 2.0 team,
creator of DurandalJS is back working on his original tool.

Home | Durandal

Since Angular 2.0 is a significant change from version 1.x,
it creates significant concerns despite big investment and popularity.

Evolution is better than revolution.

Google =( $1B )=> SpaceX

Google Nears $1 Billion Investment in SpaceX - WSJ
"Google Inc. is close to investing roughly $1 billion in Space Exploration Technologies Corp. to support its nascent efforts to deliver Internet access via satellites...
The investment would value SpaceX, backed by Tesla Motors Inc. Chief Executive Elon Musk , at more than $10 billion"

spacex - Google Search
Image result for spacex JavaScript for 3D web (+ AngularJS)

"What is is the only JavaScript framework that includes an open source 3D layout engine fully integrated with a 3D physics animation engine that can render to DOM, Canvas, or WebGL."

AngularJS Style Guide

johnpapa/angularjs-styleguide @ GitHub
Opinionated AngularJS style guide for teams by @john_papa
AngularJs Patterns: Clean Code

podcast: HTML 5 Update with John Papa @ .NET Rocks!

Firebase: API to store and sync data in realtime

Getting Started - Firebase
"Don't just save data. Sync it.
When data changes, apps built with Firebaseupdate instantly across every device -- web or mobile. Firebase-powered apps work offline. Data is synchronized instantly when your app regains connectivity.

"Works on every platform
Firebase has full-featured libraries for all major web and mobile platforms andbindings for the most popular frameworks. Need something special? Don't worry, our REST API has you covered."

143 000 developer downloads; Now part of Google.

Ionic: Cordova + AngularJS = mobile web apps

Ionic Framework
"Build mobile apps faster with the web technologies you know and love."
(i.e. Angular directives for mobile GUI)


podcast: Ionic Framework with Troy Miles @ .NET Rocks!

Sunday, January 18, 2015

Azure pricing & features

How Azure Pricing Works | Microsoft Azure

Pricing - Websites, Web Apps, Blogs | Microsoft Azure
10 web sites, 1 GB storage, 1GB RAM: free

Pricing - SQL Database Web & Business | Microsoft Azure

Create a Website that uses MongoDB on MongoLab (.NET)
.5 GB free

Visual, IoT, Time Series Data: MetricsGraphics.js

MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data
"a library built on top of D3 that is optimized for visualizing and laying out time-series data. It provides a simple way to produce common types of graphics in a principled, consistent and responsive way. The library currently supports line charts, scatterplots and histograms as well as features like rug plots and basic linear regression."
    5 Open Source Tools to Jumpstart Your Sensor Data Visualization
    @ TempoIQ (DB) "Fast, scalable monitoring & analysis of sensor data in your application."

    ASP.NET 5: OWIN, Katana, Topshelf, Async

    Building A Simple File Server With OWIN and Katana by by K. Scott Allen

    Topshelf Overview — Topshelf 3.0 documentation
    Topshelf is a Windows service framework for the .NET platform. Topshelf makes it easy to create a Windows service, test the service, debug the service, and ultimately install it into the Windows Service Control Manager (SCM).

    1620 pages, June 30 2015

    IBM, Samsung: IoT like Bitcoin

    IBM Reveals Proof of Concept for Blockchain-Powered Internet of Things
    "The ADEPT concept, or Autonomous Decentralized Peer-to-Peer Telemetry, taps blockchains to provide the backbone of the system, utilizing a mix of proof-of-work and proof-of-stake to secure transactions.

    IBM and Samsung chose three protocols – BitTorrent (file sharing), Ethereum (smart contracts) and TeleHash (peer-to-peer messaging) – to underpin the ADEPT concept. ADEPT was formally unveiled at CES 2015 in Las Vegas.

    According to the draft paper, blockchains deployed within the ADEPT system would serve as a ledger of existence for billions of devices that would autonomously broadcast transactions between peers in a three-tier system of peer devices and architecture. By using an implementation of the bitcoin protocol, ADEPT could serve as a bridge between many devices at low cost.

    Right from the time a product completes final assembly, it can be registered by the manufacturer into a universal blockchain representing its beginning of life. Once sold, a dealer or end customer can register it to a regional blockchain (a community, city or state).
    IBM and Samsung envision networks of devices that are capable of autonomously maintaining themselves. In theory, the paper states, appliances in the home would be able to signal operational problems and retrieve software updates on their own. Devices could also use ADEPT to communicate with other nearby devices in order to facilitate power bartering and energy efficiency."
    Internet of Things

    As expected, as we are approaching singularity the technology is getting stranger...
    Even now, the complexity of many systems is beyond comprehension of most humans...
    But it is interesting and often useful...

    Saturday, January 17, 2015

    Data Science with F#

    Guide - Data Science | The F# Software Foundation
    "Data science is the application of statistical analysis, machine learning, data visualization and programming to real-world data sources to bring understanding and insight to data-oriented problem domains. F# is an excellent solution for programmatic data science as it combines efficient execution REPL-scripting, powerful libraries and scalable data integration. Try F# has sections specific to data science."

    Guide - Web Programming | The F# Software Foundation

    Guide - Machine Learning | The F# Software Foundation

    Guide - Apps and Games | The F# Software Foundation

    F# Software Foundation

    F# at Microsoft Research - Microsoft Research

    new book: Manning: F# Deep Dives

    podcast: .NET Rocks!

    Apache Spark

    Why Spark Is the Next Top (Compute) Model @ InfoQ
    "Dean Wampler argues that Spark/Scala is a better data processing engine than MapReduce/Java because tools inspired by mathematics, such as FP, are ideal tools for working with data."

    Advantage of Spark over Hadoop is that it does not need to save data to disk after each step like Map/Reduce, providing significant performance gain (sometimes 100x). He suggest that Spark is to Hadoop what Spring is to J2EE, a significant improvement and simplification.

    Spark is written in Scala, but usable from Java and Python,
    as well as variations of SQL (HiveQL).
    It also includes modules for Machine Learning.
    Compute Model: "RDD" Resilient Distributed Dataset.

    Unified Big Data Processing with Apache Spark  @ InfoQ

    Apache Spark 1.2.0 Supports Netty-based Implementation, High Availability and Machine Learning APIs

    Use Script Action in HDInsight to install Spark on Hadoop cluster| Azure

    Spark, Storm and Real Time Analytics

    Apache Spark™ - Lightning-Fast Cluster Computing

    AtScript vs TypeScript vs ES6 vs JavaScript

    AtScript: Google’s new superset JavaScript runtime
    Screen Shot 2014-10-27 at 12.45.39 PM

    "Google’s continuing quest to improve JavaScript took another step forward with the unveiling of AtScript, a new superset JavaScript runtime type system written into AngularJS 2.0.

    Rather than create another new programming language—Google has already done that with Dart—AtScript is designed to run on top of not only ECMAScript 5 and the upcoming ECMAScript 6, but atop Microsoft’s superset TypeScript language as well. The goal of AtScript is to make type annotation data available at runtime, also known as type introspection, in an effort to enhance JavaScript with type, field and metadata annotations."

    AtScript Primer - Google Docs (by creator of AngularJS)
    “Our plan is to use AtScript for building Angular and optionally let users of Angular leverage AtScript to build their own applications,”

    Zero to One: 7 key questions for innovation

    image/svg+xml Engineeringbreaktrough vs. incrementaltechnology? Timing is now the right time? Monopoly starting with a big share of a small market? People do you have the right team? Distribution do you have a way to deliver your product? Durabilitywill position be defensible for 10 – 20 years? Secret unique opportunity that others don’t see? Zero to One: 7 key questions
    Peter Thiel: Seven Surprising Keys To Market-Creating Innovation
    "In his book, Zero to One, serial entrepreneur Peter Thiel offers seven—sometimes surprising– tools for doing just that. They are what he calls, “the seven questions that every market-creating business must answer.”

    1. The Engineering Question:
      Do you have a breakthrough technology? (vs.incremental)
    2. The Timing Question:
      Is your timing right?
    3. The Monopoly Question:
      Are you starting with a big share of a small market?
    4. The People Question: Do you have the right team?
    5. The Distribution Question: Do you have a way to deliver your product?
    6. The Durability Question:
      Will position be defensible for 10 – 20 years?
    7. The Secret Question:
      Have you identified a unique opportunity that others don’t see?

    Zero to One book site

    Seven Questions that Every Business Must Answer – (from Peter Thiel, Zero to One) « First Friday Book Synopsis

    Peter Thiel Talks About the Day Mark Zuckerberg Turned Down Yahoo's $1 Billion |
    "The most important moment in the history of Facebook occurred in July 2006...
    Facebook was just two years old... making $30 million in revenue, it was not profitable...
    received an acquisition offer from Yahoo for $1 billion,"

    ...Zuckerberg: "This is kind of a formality, just a quick board meeting, it shouldn't take more than 10 minutes. We're obviously not going to sell here... I don't know what I could do with the money. I'd just start another social networking site. I kind of like the one I already have."
    "[Yahoo] had no definitive idea about the future. They did not properly value things that did not yet exist so they were therefore undervaluing the business."
    Quote Details: George Bernard Shaw: The reasonable man adapts... - The Quotations Page
    "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.
    George Bernard Shaw,"