Wednesday, May 22, 2019

Amazon Auto ?

Jeff Bezos to employees: 'very excited' about auto industry

"At an all-hands staff meeting in March, Amazon CEO Jeff Bezos told employees that he’s fascinated by the recent developments in the auto industry, adding that it was one of the main reasons why Amazon led a $700 million investment in electric vehicle start-up Rivian in February.

“If you think about the auto industry right now, there’s so many things going on with Uber-ization, electrification, the connected car — so it’s a fascinating industry,” Bezos said according to a recording of the meeting CNBC has heard. “It’s going to be something very interesting to watch and participate in, and I’m very excited about that whole industry.


Bezos’ comments give a rare glimpse into his interest in the auto industry, which Amazon entered in February through its investments in Rivian and another self-driving tech start-up, Aurora. Investing in autonomous technology could eventually help Amazon offer faster and cheaper delivery, as well as automation in other areas, like its cashier-free grocery stores.”


Tuesday, May 21, 2019

AutoML: Azure, GCP

Introduction to Automated Machine Learning (AutoML) - Software Engineering Daily





"Automated machine learning, or AutoML, is an umbrella term for a particular approach to machine learning that aims to automate any part of the process of building a machine learning model from raw data.

AutoML caught the spotlight after Google announced its AutoML suite, Google Cloud AutoML, and Microsoft announced AutoML in Azure Machine Learning."

Monday, May 20, 2019

.NET Core 3 += gRPC / ProtoBuf

Next version of .NET includes support for (Google's standard) gRPC data protocol with efficient ProtoBuf serialization.

After "tech trend waves" of XML/SOAP and current JSON/REST, ProtoBuf/gRPC (or similar binary serialization) may become more broadly used since it is supported by tools for most of popular client and server platforms.

An Early Look at gRPC and ASP.NET Core 3.0 - Steve Gordon

"gRPC is a schema-first framework initially created by Google. It supports service to service communication over HTTP/2 connections. It uses the Protobuf wire transfer serialisation for lightweight, fast messaging between the services."
gRPC services with C# | Microsoft Docs
C# Quick Start – gRPC


Protocol Buffers, Avro, Thrift & MessagePack - igvita.com

"Protocol Buffers (PB) is the "language of data" at Google. Put simply, Protocol Buffers are used for serialization, RPC, and about everything in between."











JSON is Not Cool Anymore: Implementing Protocol Buffers in Node.js

Sunday, May 19, 2019

web tools: Rollup vs Webpack vs Parcel

Modern "SPA" (Single Page web Apps) have too many files/modules
and need to be "packaged" for deployment.
There are multiple tools for that

Webpack and Rollup: the same but different – webpack – Medium
by Rich Harris (creator of Svelte)



Rollup vs Webpack (JavaScript bundling in 2018) – jsdownunder – Medium



Rollup v. Webpack v. Parcel

AI/ML: “As We May Program” by Peter Norvig


A great presentation by Peter Norvig, lead of Google AI research, Stanford and Udacity professor.
A possible future of programming as combination of Voice UI and ML for continuous improvements based on feedback, difference of expected and achieved results. Very interesting.
He concludes with concept of "marketplace for what we need and want.

As We May Program - Microsoft Research

As We May Program


"In this hour-long talk as part of Microsoft Research's AI Distinguished Lecture series, Peter Norvig investigates how machine learning will change the way we program, the tools we use, and the mix of tasks done by expert programmers, novice programmers, and nonprogrammers. Watch the video here, and get the slides of the talk here.

+ Get more of Norvig's insights exclusively on the O'Reilly online learning platform, including his recent keynote address at last year's AI Conference in San Francisco, "The Breadth of AI Applications: The Ongoing Expansion."


As We May Program - YouTube



The Tragedy of the Commons: How Elinor Ostrom Solved One of Life's Greatest Dilemmas - Evonomics

"...avoiding the "tragedy of the commons" without requiring top-down regulation, at least if certain conditions are met (Ostrom 1990, 2010). She summarized the conditions in the form of eight core design principles: 1) Clearly defined boundaries; 2) Proportional equivalence between benefits and costs; 3) Collective choice arrangements; 4) Monitoring; 5) Graduated sanctions; 6) Fast and fair conflict resolution; 7) Local autonomy; 8) Appropriate relations with other tiers of rule-making authority (polycentric governance). This work was so groundbreaking that Ostrom was awarded the Nobel Prize in economics in 2009."

Friday, May 17, 2019

TinyGo: Go => LLVM => {microcontrollers, WebAssembly }


Home :: TinyGo - Go on Microcontrollers and WASM

"TinyGo is a project to bring the Go programming language to microcontrollers and modern web browsers by creating a new compiler based on LLVM.

You can compile and run TinyGo programs on several different microcontroller boards such as the BBC micro:bit and the Arduino Uno.

TinyGo can also be used to produce WebAssembly (WASM) code which is very compact in size.


Just want to see the code? Go to the Github repository at https://github.com/tinygo-org/tinygo."





Gopherbot
Gopherbot is a robotic gopher plushie that can be programmed using Go, and other programming languages too. 

Back to Moon

Blue Origin and SpaceX get million-dollar NASA nod to test Moon lander tech | TechCrunch

"Eleven aerospace companies will share more than $45 million in funds from NASA to design and test prototypes for the Artemis Moon missions, the agency has announced."

Thursday, May 16, 2019

Microsoft Azure + Sony for gaming

Microsoft And Sony Make Nice, Forge Partnership For Gaming And Cloud Services - GameSpot

"Microsoft and Sony--the company's behind Xbox One and PS4 respectively--have decided on a strategic partnership. The two companies plan on sharing technology and information going forward and build upon shared infrastuctures for some of their future initiatives."

Sony and Microsoft to explore strategic partnership - Stories

Microsoft announces cloud gaming partnership with Sony

"The two companies are clearly reading the writing on the wall — namely that several other companies like Google (Google Stadia)_and Amazon are going to be getting into game streaming (allegedly, in Amazon’s case), and are going to do their level best to convince the world it’s the “next big thing.”"



Satya Nadella Remade Microsoft as World’s Most Valuable Company - Bloomberg

"Under Satya Nadella, Microsoft has more subscribers than Netflix, more cloud computing revenue than Google, and a near-trillion-dollar market cap."

Slack IPO

Slack files for IPO, reveals $400M in revenue, $139M in losses
  • Daily Active Users (DAUs): Over 10 million
  • Paid customers: 88,000, up 49% year over year compared with fiscal 2018
  • Paid customers paying over $100,000 based on annual recurring revenue (ARR): 575, up 93% year over year compared with fiscal 2018
How Slack impacts workplace productivity - Vox

Microsoft Cloud Show - Periodic Table of Office 365 with Matt Wade

Web Browser API: Channel Messaging for iFrames

communication with iframe

The Web Platform Course by Flavio Copes

Channel Messaging API - Web APIs | MDN

dom-examples/channel-messaging-basic at master · mdn/dom-examples @GitHub

Wednesday, May 15, 2019

Svelte.js (vs React vs Angular vs Vue)

Svelte.js is a web compiler, not a framework;
apparently 35 times faster than React on some tests

Svelte vs React vs Angular vs Vue

Svelte - Quickstart & Thorough Introduction Tutorial - YouTube

Svelte.js - The Complete Guide | Udemy
by Max.S.


Svelte • Cybernetically enhanced web apps

REPL • Svelte (Documents and examples)


sveltejs/svelte: Cybernetically enhanced web apps @GitHub

svelte - npm

The easiest way to get started with Svelte

Svelte - Visual Studio Marketplace (plugin for VS Code)


Rich Harris - Rethinking reactivity - YouTube
creator of Svelte



Computer, build me an app - Rich Harris - JSConf EU 2018 - YouTube

Rich Harris – Medium

Rich-Harris (Rich Harris) @ GitHub


mentioned in the presentation above:

What is Reactive Programming? - Paul Stovell
with modern "destiny operator" variables are bound and change together

ObservableHQ
by Mike Bostock, creator of D3.js

Dan Abramov: Beyond React 16 | JSConf Iceland 2018 - YouTube
by Co-author of Redux and Create React App



Svelte 3 Reaction & QuickStart Tutorial - YouTube

code from video:
fireship-io/182-svelte-firebase: Episode 182 - Svelte 3 + RxFire @GitHub

create demo app:

> npx degit sveltejs/template svelte-demo
> cd svelte-demo
> npm install
> npm run dev
> chrome.exe http://localhost:5000/



Svelte Native • The Svelte Mobile Development Experience
Learn Svelte Native
NativeScript + Svelte = Svelte Native

Svelte REPL

Azure SQL Database Edge

Microsoft Brings SQL to the Edge, Announces Azure SQL Database Edge



New intelligent cloud and intelligent edge advancements ushering in the next era of computing - The Official Microsoft Blog

Simplify Edge Architecture with Azure SQL Database Edge - BRK2014 - YouTube

Tuesday, May 14, 2019

GitHub Package Registry

GitHub Package Registry Integrates Source Code and Packages @InfoQ

GitHub Package Registry provides fast, reliable downloads backed by GitHub’s global CDN. And it supports familiar package management tools: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), and Docker images, with more to come.
Introducing GitHub Package Registry - The GitHub Blog

Memory Management in GoLang


Garbage Collection In Go : Part I - Semantics

Garbage Collection In Go : Part II - GC Traces

Saturday, May 11, 2019

Android: Kotlin first

Kotlin is now Google’s preferred language for Android app development | TechCrunch

"Google today announced that the Kotlin programming language is now its preferred language for Android app developers.

“Android development will become increasingly Kotlin-first,” Google writes in today’s announcement. “Many new Jetpack APIs and features will be offered first in Kotlin. If you’re starting a new project, you should write it in Kotlin; code written in Kotlin often mean much less code for you–less code to type, test, and maintain.”

data: UBER vs JSON => MessagePack

Putting the Squeeze on Trip Data

pareto frontParetoFront
Key conclusions:
  • Simply compressing JSON with zlib would yield a reasonable tradeoff in size and speed. The result would be just a little bigger, but execution was much faster than using BZ2 on JSON.
  • Going with IDL-based protocols, Thrift and Protocol Buffers compressed with zlib or Snappy would give us the best gain in size and/or speed.

...settled on MessagePack with zlib (instead of plain JSON)

A 1 TB disk will now last almost a year (347 days),
compared to a month (30 days) without compression
.

MessagePack: It's like JSON. but fast and small.

"MessagePack is an efficient binary serialization format.
It lets you exchange data among multiple languages like JSON.
But it's faster and smaller.
Small integers are encoded into a single byte,
and typical short strings require only one extra byte in addition to the strings themselves."

Designing Schemaless, Uber Engineering's Scalable Datastore Using MySQL | Uber Engineering Blog




Prettier with VS Code


Prettier · Opinionated Code Formatter

An opinionated code formatter
Supports many languages
Integrates with most editors
Has few options

prettier/prettier-vscode: Visual Studio Code extension for Prettier
@GitHub

1. CMD + Shift + P -> Format Document
OR
1. Select the text you want to Prettify
2. CMD + Shift + P -> Format Selection
Format On Save


// Set the default
"editor.formatOnSave": false,
// Enable per-language
"[javascript]": {
    "editor.formatOnSave": true
}

Automated code formatting with Prettier

Use Prettier in Visual Studio Code - YouTube




Tuesday, May 07, 2019

React Native for Windows & MacOS

Microsoft launches React Native for Windows | TechCrunch

With React Native for Windows, Microsoft is reimplementing React Native and rewriting many components in C++ to get maximum performance. It allows developers to target any Windows 10 device, including PCs, tablets, Xbox, mixed reality devices and more.

hero2

microsoft/react-native-windows: A framework for building native Windows apps with React.

The "current" subdirectory holds the earlier C# implementation for react-native-windows.

Flutter: mobile, web, windows, mac, linux

Google’s Flutter framework spreads its wings and goes multi-platform | TechCrunch
Google also today announced that Flutter developers will soon be able to target macOS, Windows and Linux and that the company itself is already using the framework to power some experiences on the Google Home Hub as it looks to bring Flutter to more embedded devices, too.

Google’s Flutter toolkit goes beyond mobile with Project Hummingbird | TechCrunch
Hummingbird takes the Dart code that all Flutter applications are written in and then compiles it to JavaScript, which in turn allows the code to run in any modern browser.

Flutter - Beautiful native apps in record time

Desktop shells · flutter/flutter Wiki

Bringing Flutter to the Web – Flutter – Medium



Flutter 1.5 Goes Multi-Platform, Includes Web Support @InfoQ

Windows 10 += Linux kernel !

Microsoft will ship a full Linux kernel in Windows 10 - The Verge

“Beginning with Windows Insiders builds this Summer, we will include an in-house custom-built Linux kernel to underpin the newest version of the Windows Subsystem for Linux (WSL)"

Tesla += $2B for emission credits

Tesla (TSLA) is going to get up to $2 billion from Fiat-Chrysler to meet emission standards - Electrek

“Fiat Chrysler Automobiles has said it will pay electric carmaker Tesla close to €2bn to help it meet tough new emissions targets and has reported a 29 per cent drop in first-quarter profits.”

Monday, May 06, 2019

Google I/O 2019

Google I/O 2019
May 7-9 at the Shoreline Amphitheatre in Mountain View, CA

Microsoft Build 2019

May 6-8, 2019, Seattle, WA

MyBuild - Your home for Microsoft Build

Welcome - Dev Collective

MyBuild - Your home for Microsoft Build

Microsoft Build 2019 - YouTube (playlist)

Microsoft Build 2019 - LIVE Stream - Day 1 (May 6) - YouTube


Microsoft Build 2019 Keynote in under 14 minutes - YouTube

press coverage:

Top 5 announcements from Microsoft Build 2019 | Windows Central

Watch the Microsoft Build 2019 Keynote Here | WIRED

Microsoft Build 2019 Day 1: Everything announced and how to replay - CNET

Microsoft Build 2019: the biggest news from the developer conference - The Verge

Microsoft is going to ship a full Linux kernel in Windows 10 - The Verge

Inside Microsoft’s surprise decision to work with Google on its Edge browser - The Verge

Microsoft wants to make the web more productive with its new Fluid Framework - The Verge

Microsoft unveils Windows Terminal, a new command line app for Windows - The Verge


Internet Robustness Principle (Postel's law)

Robustness principle - Wikipedia

In computing, the robustness principle is a design guideline for software:

"Be conservative in what you send, be liberal in what you accept" 

or
"Be conservative in what you do, be liberal in what you accept from others" 

The principle is also known as Postel's law, after Jon Postel,
who wrote in an early specification of TCP:[1]


Federation Lab and OpenID Connect


Sunday, May 05, 2019

21 compilers: Swift, Rust, LLVM...


21 compilers and 3 orders of magnitude in 60 minutes (PDF)
by  Graydon Hoare (creator of Rust, core developer of Swift, LLVM)

graydon (Graydon Hoare) @ GitHub

GoLang vs Java, Python

Why Go? – Key advantages you may have overlooked · YourBasic Go

Go makes it easier (than Java or Python) to write correct, clear and efficient code.

Unicorn racing towards the Rainbow





Saturday, May 04, 2019

Chromebooks: $200

Amazon.com: ASUS Chromebook C202SA-YS02 11.6" Ruggedized and Water Resistant Design with 180 Degree (Intel Celeron 4 GB, 16GB eMMC, Dark Blue, Silver): Computers & Accessories


The best-selling Chromebook on Amazon is rugged, spill-proof, and only $219 – BGR

book: The Effective Executive by Peter F. Drucker

The Effective Executive: The Definitive Guide to Getting the Right Things Done (Harperbusiness Essentials): Peter F. Drucker: 8601420130388: Amazon.com: Books

The book has seven chapters:
  1. Effectiveness Can Be Learnt
  2. Know Thy Time
  3. What Can I Contribute?
  4. Making Strength Productive
  5. First Things First
  6. The Elements of Decision Making
  7. Effective Decisions
How to be effective: THE EFFECTIVE EXECUTIVE by Peter Drucker | Core Message - YouTube
1 page PDF summary @Lozeron Academy



  • To be effective is to be selective with your time. 
  • Ask yourself: What contribution can I make? ->
    "To focus on contribution is to focus on effectiveness." 
  • Know Thy Strengths:
    Maximizing your strengths maximizes your contribution. 
  • Don't know your strengths?
    Volunteer for new roles and get feedback on your performance. 
  • Know Thy Time:
    Maximizing your time maximizes your contribution. 
  • Don't know your time? Keep a time log
    and after a month review your time statement to determine 
    • what you need to stop doing and 
    • what you need offload. 
  • Ultimate Goal:
    Do what you do best, and stop doing or give away the rest.

by Peter F. Drucker 

"What made (an executive) effective is that they followed the same eight practices:
  • They asked, “What needs to be done?”
  • They asked, “What is right for the enterprise?”
  • They developed action plans.
  • They took responsibility for decisions.
  • They took responsibility for communicating.
  • They were focused on opportunities rather than problems.
  • They ran productive meetings.
  • They thought and said “we” rather than “I.”


Steps to effectiveness:
  1. Recording where the time goes
  2. Focus your vision on contribution
  3. Make your strengths productive and focus on using them
  4. Prioritize the most important things first, not necessarily the most urgent
  5. Take rational action

Monday, April 29, 2019

Serverless Application Framework

Serverless - The Serverless Application Framework powered by AWS Lambda, API Gateway, and more

Serverless Framework - Build applications on AWS Lambda, Google CloudFunctions, Azure Functions, AWS Flourish and more

Serverless Getting Started Guide

serverless/serverless: Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! – @ GitHub

"The Framework uses new event-driven compute services, like AWS Lambda, Google Cloud Functions, and more. It's a command-line tool, providing scaffolding, workflow automation and best practices for developing and deploying your serverless architecture. It's also completely extensible via plugins."

runs on node.js (JavaScript),
supports Node.js, Python, Java, Go, C#, Ruby, Swift, Kotlin, PHP, Scala, & F#


Serverless Application Framework AWS Lambda API Gateway

Sunday, April 28, 2019

Saturday, April 27, 2019

class-less JavaScript ?

an interesting elaboration why using classes in JavaScript is an anti-pattern in some cases

Towards class-less JavaScript · Markus Tacker · Software Crafter

Dependency Injection without classes - Fun Fun Function - YouTube

await fetch in Chrome dev tools console

Here is a simple way to get data from a web URL in Chrome dev tools console.
Since fetch() is an async function that returns a javascript promise, need to use await keyword, that is now supported by Chrome dev tools console.

await fetch('https://jsonplaceholder.typicode.com/posts').then(r => r.json())
and to make result data nicely formatted as a table:

await fetch('https://jsonplaceholder.typicode.com/posts').then(r => r.json()).then(console.table)

Chrome/Firefox console.table()

Console.table() - Web APIs | MDN

// an array of arrays

var people = [["John", "Smith"], ["Jane", "Doe"], ["Emily", "Jones"]]
console.table(people);
Table displaying array of arrays

Console API Reference  |  Tools for Web Developers  |  Google Developers

console.table([
  {
    first: 'René',
    last: 'Magritte',
  },
  {
    first: 'Chaim',
    last: 'Soutine',
    birthday: '18930113',
  },
  {
    first: 'Henri',
    last: 'Matisse',
  }
])
The result of the console.table() example above.
Console Overview  |  Tools for Web Developers  |  Google Developers

Thursday, April 25, 2019

web dev free ebooks by Flavio Copes


Flavio Copes free ebooks

Wednesday, April 24, 2019

InfluxDB: Time-Series Database

Influxdb logo.svgInfluxDB - Wikipedia

"InfluxDB is an open-source time series database (TSDB) developed by InfluxData. It is written in Go and optimized for fast, high-availability storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite"
influxdata/influxdb: Scalable datastore for metrics, events, and real-time analytics @GitHub
GoLang, MIT license

DB-Engines Ranking - popularity ranking of time Series DBMS

www.influxdata.com


The Cloudcast: Understanding Time-Series Database Patterns


Bringing the best of open source to Google Cloud customers | Google Cloud Blog
  • Confluent
  • DataStax
  • Elastic
  • InfluxData
  • MongoDB
  • Neo4j
  • Redis Labs