Sunday, September 16, 2018

Rebooting airplane every 248 days

Reboot Your Dreamliner Every 248 Days To Avoid Integer Overflow

"...all Boeing 787 Dreamliners have to be switched off every 248 days. If they are not reset then the generator control units GCUs will go into failsafe mode and the plane will lose all electrical power.
Why exactly?
To quote the FAA directive:
This condition is caused by a software counter internal to the GCUs that will overflow after 248 days of continuous power. We are issuing this AD to prevent loss of all AC electrical power, which could result in loss of control of the airplane..."

"Cloud Printing" on paper and displays

Daily Overview
is a site that is sending selected amazing satellite or aerial views daily by email, and publishing on Instagram and on web.

They also offer prints of those nice images, on paper and on "digital displays",
in collaboration with Cloud Printing NYC

That is an interesting thing, the cost of high resolution 4K TVs is now lower than cost of comparable good quality prints of pictures!
And those TV's are quite thin, and often come with smart voice agent...

ALL PRINTS — Daily Overview


Digital Display | Cloud Printing NYC

Product | Cloud Printing NYC Toshiba 43LF621U19 43-inch 4K Ultra HD Smart LED TV with HDR - Fire TV Edition: Electronics
43": $299
50": $350
55": $400

there is even a book... Overview: A New Perspective of Earth (9780399578656): Benjamin Grant: Books

Saturday, September 15, 2018

Vue.js ecosystem

main library

vue-cli: scafolding and build

nuxt: universal rendering

vuex: state management (like flux or redux)

vuetify: component framework

example app:

Vue Big Picture - TodoMVC

GitHub - danielstern/vue-todomvc: A TodoMVC Application Built With Vue


Vue.js: Big Picture | Pluralsight

Vue.js: Getting Started | Pluralsight

Vue.js Fundamentals | Pluralsight

C# span vs. GoLang slice

Span in .NET, C# and other languages | Tudor Turcu – blog


var arr = new byte[10];
var slice = new Span(arr, 5, 2);

var arr [10]int
var slice = arr[5:7]

"In both languages, a span(C#) or a slice (Go) represent a similar concept:
  • C#: ‘Span is a value type containing a ref and a length‘ , ‘represent contiguous regions of arbitrary memory‘
  • Go: ‘Slice is a descriptor for a contiguous segment of an underlying array and provides access to a numbered sequence of elements from that array‘"

Wednesday, September 12, 2018

.NET Conf 2018, live

Azure DevOps for .NET Teams
.NET Conf 2018
September 12 — 14, 2018

.NET Conf 2018 | Channel 9

Keynote | .NET Conf 2018 | Channel 9

Channel 9: Videos for developers from the people building Microsoft Products & Services

GoLang versioning: vgo vs. dep

Opening keynote: Go with Versions - GopherConSG 2018 - YouTube
by Russ Cox

The principles of versioning in Go 1.11 (vgo):
  1. Compatibility
  2. Repeat-ability (no automatic upgrades!)
  3. Cooperation (between authors of packages)
Russ Cox blog

A Proposal for Package Versioning in Go - The Go Blog

GitHub - golang/vgo: [mirror] Versioned Go Prototype
"This repository holds a standalone implementation of a version-aware go command, allowing users with a Go 1.10 toolchain to use the new Go 1.11 module support."

"dep is a dependency management tool for Go. It requires Go 1.9 or newer to compile."

Monday, September 10, 2018

open source: Posh Git, Up For Grabs

podcast interview:
All Things Git: Posh Git with Keith Dahlby

"... a nine-time C# MVP ... His open source efforts include posh-git, a git environment for PowerShell, Griddle, a grid component for React, and, a site featuring open source projects looking to mentor new contributors. He was also a core contributor to LibGit2Sharp."

"posh-git is a PowerShell module that integrates Git and PowerShell by providing Git status summary information that can be displayed in the PowerShell prompt...
posh-git also provides tab completion support for common git commands, branch names, paths and more."

Up For Grabs

"This is a list of projects which have curated tasks specifically for new contributors. These are a great way to get started with a project, or to help share the load of working on open source projects."

Sunday, September 09, 2018

hybrid cloud: GKE On-Prem

Containerize On Prem ApplicationsGKE On-Prem  |  Google Cloud

"With GKE On-Prem, you get the Google Kubernetes Engine (GKE) experience directly in your data center. A quick and simple install and upgrade experience that’s validated and tested by Google. GKE On-Prem also registers your cluster with Google Cloud Console in order to have a single-pane-of-glass view for managing all your clusters."

Saturday, September 08, 2018

Google replacement for the URLs?

Google engineers are working on a replacement for the URL - TechSpot

Google Developers Blog: Transitioning Google URL Shortener to Firebase Dynamic Links

Firebase Dynamic Links | Deep link potential users to the right place inside your app  |  Firebase

Create Dynamic Links  |  Firebase

Share your App content smoothly using Firebase Dynamic Links

What are Firebase Dynamic Links (FDL) and how to Integrating it into your App | ZulWeb

cloud clients: Chrome Enterprise

After taking over many schools with simple to manage ChromeOS powered Chromebook devices, Google is now extending this to businesses... This may be a real treat to Windows in particular in SMBs.

Chrome Security - Chrome for Businesses

"Protect users and data with Google Chrome Enterprise — built for working in the cloud. Chrome Enterprise gives employees secure, instant access to cloud-based data, apps, and services while keeping your business a step ahead of emerging threats."

GopherCon 2018, GoLang 2

Opening keynote: Go with Versions - GopherConSG 2018 - YouTube

to help move from "Programming" to "Software Engineering"

GopherCon SG 2018 - YouTube

GopherCon 2018

Go 2 Gets off the Blocks: Feedback Requested on New Package Management, Error Handling, and Generics @ InfoQ

"At Gophercon 2018, Russ Cox explained what will go into Go 2, including error handling and generics, and gave a preview of what the current proposals for the new features look like."

Friday, September 07, 2018

Thursday, September 06, 2018

Cloud-Native Beyond Kubernetes

Beyond Kubernetes - 5 Promising Cloud-Native Technologies To Watch  @ Forbes

"After Kubernetes,Istio is the most popular cloud-native technology. It is a service mesh that securely connects multiple microservices of an application.

Prometheus is a cloud-native monitoring tool for workloads deployed on Kubernetes.

If Kubernetes is the new OS, Helm is the application installer.

Spinnaker is a release management tool that adds velocity to deploying cloud-native applications.

Kubeless is one of the most popular serverless projects in the cloud-native ecosystem. Its compatibility with AWS Lambda combined with the support for mainstream languages makes it an ideal choice"

Angular ngrx-data

Redux pattern, and ngrx, tend to produce a lot of repetitive code. There is a possible solution:

GitHub - johnpapa/angular-ngrx-data: Angular with ngRx and experimental ngrx-data helper

"Zero Ngrx Boilerplate

You may never write an action, reducer, selector, effect, or HTTP dataservice again.

NgRx helps Angular applications manage shared state in a "reactive" style, following the redux pattern.

But to use it properly requires both a deep understanding of redux/ngrx and a lot of boilerplate code.

Ngrx-data is an ngrx extension that offers a gentle introduction to ngrx/redux without the boilerplate.

Try it! See the Quick Start for instructions on adding NgRx and ngrx-data to your app.

This is a library for ngrx, not an ngrx alternative."

link from: 

Tuesday, September 04, 2018

Android Actions & Slices

A new way to integrate mobile apps with mobile OS (search box)
to present relevant information without need to switch apps.
This is in particular useful for integration with Google Assistant (voice command).

It would be very useful to get something similar for web,
possibly integrated in web browsers.

Android P’s ‘actions’ and ‘slices’ are a whole new way to use mobile apps - The Verge

Android Slices with Jason Monk - Software Engineering Daily

A Closer look at Slices on Android – Adam Bennett – Medium

Slices  |  Android Developers

Sunday, September 02, 2018

Saturday, September 01, 2018

AWS S3 Select

S3 Select and Glacier Select – Retrieving Subsets of Objects | AWS News Blog

"3 Select enables applications to retrieve only a subset of data from an object by using simple SQL expressions. By using S3 Select to retrieve only the data needed by your application, you can achieve drastic performance increases – in many cases you can get as much as a 400% improvement."

tool: PlantUML

Open-source tool that uses simple textual descriptions to draw UML diagrams.

 online demo server.

Download page


Language specification pages

State Diagram syntax and features


[*] --> State1
State1 --> [*]
State1 : this is a string
State1 : this is another string

State1 -> State2
State2 --> [*]


Steps To Install PlantUML On Windows 7

GitHub - qjebbs/vscode-plantuml: Rich PlantUML support for Visual Studio Code.

UTF8 in-memory strings in C#

GoLang is storing strings as UTF8 encoded by default, that takes 1 byte per character for typical ASCII strings. .NET (and Windows, Java and JavaScript) are storing strings in memory as UTF16 encoded, taking about twice as much space for English strings.
(co-creator of GoLang Rob Pike is also co-creator of UTF8 :)

Does storing strings as UTF8 has a practical advantage?
Here is an interesting detailed analysis by a real C# expert:

Of memory and strings | Jon Skeet's coding blog

Compact strings in the CLR · Performance is a Feature!

Go code is UTF-8 encoded – golangspec – Medium

Golang Strings -

Java May Use UTF-8 as its Default Charset - DZone Java