Tuesday, July 31, 2018

Linus good taste code

What makes good taste? @ GitHub

"Linus Torvalds in an TED interview talked about the idea of good taste in code or what I like to call elegance. As one might expect from two slides meant to make a point during a talk, he omits a lot of details to keep it short and simple. This post digs into the specifics of his example (deleting an element from a list) and adds another example (inserting an element in a list) including working code."

"Linus: not good": has extra if statement
Bad taste

"Linus: good"
Good taste


Monday, July 30, 2018

OpenStack: open source for private clouds


OpenStack® Logo 2016.svg

OpenStack - Wikipedia

"OpenStack is a free and open-source software platform for cloud computing, mostly deployed as infrastructure-as-a-service (IaaS), whereby virtual servers and other resources are made available to customers.[2] The software platform consists of interrelated components that control diverse, multi-vendor hardware pools of processing, storage, and networking resources throughout a data center. Users either manage it through a web-based dashboard, through command-line tools, or through RESTful web services."


Wednesday, July 25, 2018

IoT: Jacuzzi + Particle + AWS



Particle | Case Study | Jacuzzi Revients Hot Tubs with Particle

"With Particle’s professional engineering service, Particle Studios, Jacuzzi had the engineering fidelity they needed to deploy a cellular connected product to market in 6 months"

Google Docs AI writter

https://qz.com/1335517/google-docs-is-finally-catching-up-to-microsoft-word-20-years-later/amp/

grammar-check feature for Google Docs and an expansion of its “Smart Compose” tool for Gmail and Hangouts, which automatically suggests responses based on a message’s content. ...

Google is treating bad grammar like a translation problem. Instead of translating from, say, French to English, Google Docs will now be able to translate improper English to proper English




Tuesday, July 24, 2018

Go Cloud

https://techcrunch.com/2018/07/24/google-wants-go-to-become-the-go-to-language-for-writing-cloud-apps/amp/

The Google-incubated Go language is one of the fastest growing programming languages today, with about one million active developers using it worldwide. But the company believes it can still accelerate its growth, especially when it comes to its role in writing cloud applications. And to do this, the company today announced Go Cloud, a new open-source library and set of tools that makes it easier to build cloud apps with Go .


https://github.com/google/go-cloud

web email CSS callenges

Martijn Cuppens on Twitter: "The div that looks different in every browser https://t.co/hXmxoLA8fW… "

same CSS, widely different results

Extreme Remote Work - MS Dev Show Podcast

Brian Kernighan: origins of ‘grep’

Brian Kernighan Remembers the Origins of 'grep' - The New Stack

Sunday, July 22, 2018

Surface Go

Introducing Surface Go - YouTube

Like iPad running Windows

Surface Go - Mobile Workstation Laptop - Microsoft
optional LTE and starting at 1.15 lb, $449

Surface Go  in laptop mode side by side to Surface Go in tablet mode


https://gizmodo.com/the-microsoft-surface-go-is-practically-perfect-1828045097

Alexa with Raspberry Pi, or any computer

It is interesting that Alexa web service is accessible.

Alexa @ GirHub

Making An Alexa Raspberry Pi – JEFF BLANKENBURG
raspberrypi3microphonesdcard

Raspberry Pi · alexa/alexa-avs-sample-app Wiki @ GitHub
"step-by-step instructions for setting up AVS on a Raspberry Pi. It demonstrates how to access and test AVS using our Java sample app (running on a Raspberry Pi), a Node.js server, and a third-party wake word engine. You will use the Node.js server to obtain a Login with Amazon (LWA) authorization code by visiting a website using your Raspberry Pi's web browser.
For instructions on how to set it up on Mac, Linux or Windows, please see our wiki."

There is even an alternative from Microsoft, but no much activity...
Microsoft/cortana-samples: Code samples for Cortana extensibility. @ GitHub

Friday, July 20, 2018

cloud: Data Transfer Project by Google, Facebook, Microsoft, Twitter

Google, Facebook, Microsoft, and Twitter partner for ambitious new data project - The Verge

"Google, Facebook, Microsoft, and Twitter joined to announce a new standards initiative called the Data Transfer Project, designed as a new way to move data between platforms. In a blog post, Google described the project as letting users “transfer data directly from one service to another, without needing to download and re-upload it.”

The current version of the system supports data transfer for photos, mail, contacts, calendars, and tasks, drawing from publicly available APIs from Google, Microsoft, Twitter, Flickr, Instagram, Remember the Milk, and SmugMug.
...
The existing code for the project is available open-source on GitHub, along with a white paper describing its scope. Much of the codebase consists of “adapters” that can translate proprietary APIs into an interoperable transfer, making Instagram data workable for Flickr and vice versa."



Wednesday, July 18, 2018

Azure Service (Fabric) Mesh

A "new" buzzword for cloud: Service Mesh

Azure Service Fabric Mesh preview


Service mesh | Technology Radar | ThoughtWorks

How to choose and deploy a service mesh - O'Reilly Media


https://pages.buoyant.io/Oreilly-Service-Mesh-Book.html

"In cloud native architectures, your network becomes the fundamental determining factor for how your applications behave at runtime. The shift to microservices solves many problems, but it also introduces a new set of reliability, performance, and security challenges inherent to managing distributed systems. The service mesh helps you wrangle that complexity by providing a uniform way to manage, monitor, and control your production applications."


Kubernetes Service Mesh

Monday, July 16, 2018

ML with IoT Edge

Machine Learning - Machine Learning with IoT Devices on the Edge @ MSDN Magazine

example described: "smart traffic intersection. ... four video cameras connected to an Internet of things (IoT) device with a small CPU, similar to a Raspberry Pi. The cameras send video frames to the IoT device, where they’re analyzed using a machine learning (ML) image-recognition model and control instructions are then sent to the traffic signals. One of the small IoT devices is connected to Azure Cloud Services, where information is logged and analyzed offline.
...
The demo programs described in this article (a Python program that uses the CNTK library to create an ML model, a C program that simulates IoT code and a Python program that uses an ELL model"


The ELL Workflow Process, High-Level and Granular

The controller device described in article could be Azure Sphere
Microsoft CNTK has some advantages, but is a bit less "popular" than Google's TensorFlow library.
And for Microsoft developers, having C# (Core) option may be preferred to Python.
Anyway, an interesting article. 

Sunday, July 15, 2018

cloud K8S: GKE vs AKS vs EKS

GKE vs AKS vs EKS – Hasura

Google Container Engine (GKE) by Google Cloud Platform,
Azure Container Service (AKS) by Microsoft Azure and
Elastic Container Service (EKS) by Amazon Web Services.

Saturday, July 14, 2018

Google Flutter: Dart + Skia = mobile future!


Two excellent, very informative technical podcast interviews!

technical background, from users perspective:
Flutter in Practice with Randal Schwartz - Software Engineering Daily

technical background, from creators and project lead perspective:
Flutter with Eric Seidel - Software Engineering Daily

Flutter is created by extracting and re-purposing "essence" from Chrome engine, with intent to make universal mobile app platform, that can run natively on both Android and iOS.

How is this done? By using Chrome's high performance graphical rendering engine Skia as well as its text renderer.  Dart programming language is used for complete end-to-end platform, no "bridges" to

OS widgets renderer, like it done by React Native or Xamarin for example. The result is much better performance, simplicity, and less HW requirements: it could also run on IoT devices, for example.
So Flutter is using same code for running on all platforms, no need for different view layers.

DartDart language is also very important. Created by same person, Danish computer scientist Lars Bak. He created Java's high performance HotSpot JIT compiler, that made Java really usable. Then created JavaScript V8 engine that made  web apps possible by improving performance 1000+ times. Dart is essentially what JavaScript could have been if it could break backward compatibility. It is type safe language, that can run with its own high-performance JIT VM, or it can cross compile to JavaScript to run in any web browser, or it can compile directly to native code for optimal mobile applications.

Google is apparently using Dart with Angular for its most critical business applications (for advertising), instead of previously used  Java Closure compiler that generated JavaScript from simplified Java code.

In parallel with Angular Dart Google also develops Angular TypeScript , that is very popular outside of Google. TypeScript is created by another very prominent Danish computer scientist,
Anders Hejlsberg. the "father" to Turbo Pascal, Delphi and Microsoft C#.
The logo of the Fuchsia operating system, a fuchsia-colored, tilted, two loop infinity symbol. The left loop is larger and higher. The right loop is smaller and lower.

Flutter has potential to be a basis of Google Fuchsia, that could be a replacement of current Android platform.

So Flutter & Dart have potential to be a "big deal" in technology future.


Get Started: Install - Flutter

Write Your First Flutter App - Flutter

Flutter Tutorials - Flutter


a great podcast:
Software Engineering Daily

another interesting podcast:
FLOSS Weekly
"FLOSS all about Free Libre Open Source Software"

Friday, July 13, 2018

GoLand: IDE for GoLang by JetBrains

GoLand: Capable and Ergonomic Go IDE by JetBrains

GoLand is a new commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development.

The new IDE extends the IntelliJ platform with the coding assistance and tool integrations specific for the Go language.

business book: Leap: How to Thrive in a World Where Everything Can Be Copied



The author of this new book studied from Clayton Christensen, author of
The Innovator's Dilemma. Interesting...

Amazon.com: Leap: How to Thrive in a World Where Everything Can Be Copied (9781610398817): Howard Yu: Books

"Every business faces the existential threat of competitors producing cheaper copies. Even patent filings, market dominance and financial resources can't shield them from copycats. So what can we do--and, what can we learn from companies that have endured and even prospered for centuries despite copycat competition?"

podcast interview with the author:







Wednesday, July 11, 2018

GitHub MySQL cluster or clusters

A good use-case for upgrade to Azure Cosmos DB, when acquisition is completed?

Github Engineering Adopts New Architecture for MySQL High Availability @ InfoQ

"Github's infrastructure is spread out across multiple datacenters, consisting of around 15 clusters, close to 150 production servers and 15 TB of MySQL tables. Each MySQL cluster has a single master, which responds to write requests, and multiple replicas which serve read requests."

Monday, July 09, 2018

StackOverflow -= OpenID

OpenID Loses Major Proponent, StackOverflow @ InfoQ

"OpenID has lost one of its largest proponents. Stack Exchange, the company behind StackOverflow and other Q&A websites, will be completely eliminating support for OpenID on July 25, 2018. This continues a long running trend of websites eliminating OpenID from their offerings
...
only 13K users logged onto Stack Exchange in the last 12 months. This is out of over 9.5 million accounts, or “roughly one-tenth of a percent”

Sunday, July 08, 2018

Tesla Solar vs Classic Solar roof

fancy solar is still expensive... until china starts making clones...

2018 Cost of a Tesla Solar Roof vs Solar Panels | EnergySage

tesla solar roof vs solar panels

tesla solar roof price vs solar panels


Chinese Firm to Launch Glass Solar Roofing Tiles | Builder Magazine | Solar Power, Roofing
"Made of thin-film photovoltaics and high-transmittance glass, HanTiles from Beijing-based Hanergy could be a potential challenger for Tesla's Solar Roof. They can also replace conventional roofing."


Friday, July 06, 2018

Google Open Source

Google Cloud Platform Blog: Why we believe in an open cloud

"Top Google-initiated projects include:

Google Cloud Platform Blog: Kubernetes 1.11: a look from inside Google

link from:
Connected Games with Unity and Google Cloud with Brett Bibby and Micah Baker | Google Cloud Platform Podcast

apollo.auto: AI Open Source Autonomous Driving Platform


image alt text

ApolloAuto/apollo: An open autonomous driving platform

"Apollo is a high performance, flexible architecture which accelerates the development, testing, and deployment of Autonomous Vehicles."

Apollo.auto

Including Intel, Microsoft, Nvidia, Ford, Delphi, Bosch, Deimler, Jaguar/Land-Rover, Honda, Hyundai... and many Chinese companies... 


image alt text

image alt text

link from: .NET Rocks! vNext

Thursday, July 05, 2018

tool: Jenkins


Jenkins logo with title.svg

Jenkins

"The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project."


"Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. It supports version control tools..."

Wednesday, July 04, 2018

mobile AI: Google ML Kit


ML Kit for Firebase | Machine learning for mobile developers  |  Firebase

"ML Kit lets you bring powerful machine learning features to your app whether it's for Android or iOS, and whether you're an experienced machine learning developer or you're just getting started.

ML Kit gives you both on-device and Cloud APIs, all in a common and simple interface, allowing you to choose the ones that fit your requirements best. The on-device APIs process data quickly and will work even when there’s no network connection, while the cloud-based APIs leverage the power of Google Cloud Platform's machine learning technology to give a higher level of accuracy."

Monday, July 02, 2018

Service Mesh: Linkerd

Which Service Mesh Should I Use? - The New Stack



"A service mesh is a dedicated infrastructure layer for managing service-to-service communication to make it visible, manageable, and controlled
...
The service mesh is implemented as infrastructure that lives outside of your applications. Its value is primarily realized when examining management of RPCs (or messages), but its value extends to management of all inbound and outbound traffic. Rather than coding that remote communication management directly into your apps, they can instead utilize a series of interconnected proxies (or a “mesh”) where that logic can be decoupled from your apps and unburden that responsibility from developers.


features:
  • Resiliency features (retries, timeouts, deadlines, etc)
  • Cascading failure prevention (circuit breaking)
  • Robust load balancing algorithms
  • Control over request routing (useful for things like CI/CD release patterns)
  • The ability to introduce and manage TLS termination between communication endpoints
  • Rich sets of metrics to provide instrumentation at the service-to-service layer"



hint from:




Sunday, July 01, 2018

Cloud: Static Website Hosting: Azure Storage, AWS S3

With Web SPA (Single Page Apps), there is often no need for full featured web server.
Hosting static web files is enough, in combination with cloud functions.
That is faster, safer, and much more affordable solution. Now also available on Azure:

Static website hosting for Azure Storage now in public preview | Blog | Microsoft Azure

"When you enable static websites on your storage account, a new web service endpoint is created of the form

..web.core.windows.net.

The web service endpoint always allows anonymous read access, returns formatted HTML pages in response to service errors, and allows only object read operations. The web service endpoint returns the index document in the requested directory for both the root and all subdirectories."



Azure IoT Edge + Kubernetes

Using K8S to manage deployment of containers to remote locations,
by connecting to IoT hub and IoT Edge via "virtual kubelet."

Manage Azure IoT Edge deployments with Kubernetes | Blog | Microsoft Azure

"...leverage the Virtual Kubelet project which allows Kubernetes nodes to be backed by other services and make direct use of Kubernetes primitives. We implemented an IoT Edge provider, depicted by blue boxes in the below diagram, that transforms Kubernetes manifests to IoT Edge deployment manifests. A IoT Edge manifest can use tags to target on-prem edge devices whose configuration can be updated with a single kubectl command"

iot-edge-connector