Thursday, January 31, 2019

Kotlin for iOS and Andoroid mobile apps

Kotlin language is (one of) official language for Android developent
and it can also be used for building "native" apps, including integration with iOS apps, similar to way C# with Xamarin i used for Andorid and iOS apps.

Since Kotlin is newer language, with simple syntax and powerful features,
it an interesting tool for multi-platform development.

Tutorials - Kotlin Programming Language

Multiplatform Project: iOS and Android - Kotlin Programming Language

Wednesday, January 30, 2019

Rosetta Code: Design Patterns

Rosetta Code
Rosetta Code
"... presents solutions to the same task in as many different (programming) languages as possible... Rosetta Code currently has 925 tasks, 215 draft tasks, and is aware of 714 languages..."

Design Patterns - Wikipedia

The only design pattern found in "Rosetta code" is
Singleton - Rosetta Code, that is more an anti-pattern...
There are other collections of patterns code in GitHub and other places:

fbeline/Design-Patterns-JS: All the 23 (GoF) design patterns implemented in Javascript @ GitHub

Design-Patterns-JS/ at master · fbeline/Design-Patterns-JS

JavaScript Design Patterns -

Learning JavaScript Design Patterns (online book)

faif/python-patterns: A collection of design patterns/idioms in Python @ GitHub

Python Patterns

abishekaditya/DesignPatterns: Project : Design Patterns Examples in C# @ GitHub

.NET Design Patterns in C# and VB.NET - Gang of Four (GOF) -

tmrts/go-patterns: Curated list of Go design patterns, recipes and idioms @ GitHub

Design Patterns in Golang: The Good, the Bad and the Ugly · Software adventures and thoughts

Go Resources | Go Design Patterns

Archives | Go Design Patterns

Yin and yang - Rosetta Code

online book: JavaScript Design Patterns

Book cover for Learning JavaScript Design PatternsLearning JavaScript Design Patterns (online book)

fbeline/Design-Patterns-JS: All the 23 (GoF) design patterns implemented in Javascript @ GitHub

Design-Patterns-JS/ at master · fbeline/Design-Patterns-JS

JavaScript Design Patterns -

Tuesday, January 29, 2019

SalesForce on AWS

"old news" (from 2016)

Salesforce Selects Amazon Web Services as Preferred Public Cloud Infrastructure Provider - Salesforce Blog

"Many Salesforce services—including Heroku, Marketing Cloud Social Studio, SalesforceIQ, and the recently announced Salesforce IoT Cloud—run on AWS infrastructure.

Salesforce will expand its use of AWS to core services—including Sales Cloud, Service Cloud, App Cloud, Community Cloud, Analytics Cloud and more—for the company's planned international infrastructure expansion."

Sunday, January 27, 2019

Semantic: Smart Data Hubs, Knowledge Graphs, Data Catalogs

a very informative article by Kurt Cagle
... with nice illustrations :)

The Semantic Zoo - Smart Data Hubs, Knowledge Graphs and Data Catalogs

"Sometimes, you can enter into a technology too early. The groundwork for semantics was laid down in the late 1990s and early 2000s, with Tim Berners-Lee's stellar Semantic Web article, debuting in Scientific American in 2004, seen by many as the movement's birth. Yet many early participants in the field of semantics discovered a harsh reality: computer systems were too slow to handle the intense indexing requirements the technology needed, the original specifications and APIs failed to handle important edge cases, and, perhaps most importantly, the number of real world use cases where semantics made sense were simply not at a large enough scope; they could easily be met by existing approaches and technology.
Semantics faded around 2008, echoing the pattern of the Artificial Intelligence Winter of the 1970s...

high level view of semantic architectures that (author) believes will become quite significant to the enterprise over the course of the next three to five years. The take-away from this is the understanding that just as relational databases tend to be useful for certain types of applications, so too will semantic databases, where what is being stored - the information architecture - is easily as important as how it is being stored (the structural architecture)."

Saturday, January 26, 2019

IoT: Ubuntu Core

Ubuntu Core doubles down on Internet of Things | ZDNet

"Ubuntu Core, with an image size of 260MB, is the smallest Ubuntu Linux release to date. This makes it ideal both for IoT devices and cloud containers."
Alpine Linux - Wikipedia

"The base system in Alpine Linux is designed to be only 4–5 MB in size (excluding the kernel).[citation needed] This allows very small Linux containers, around 8 MB in size, while a minimal installation to disk might be around 130 MB.[7] The Linux kernel is much larger; the 3.18.16 kernel includes 121 MB of loadable kernel modules (primarily drivers) in addition to the 3.3 MB for the base x86-64 kernel image."
LEAF Project - Wikipedia

"The LEAF Project (Linux Embedded Appliance Framework Project) is a collection of Linux distributions that began as a fork from the Linux Router Project (LRP) "linux-on-a-floppy" distribution."

Thursday, January 24, 2019

data: Azure Cosmos DB: Atom Record Sequence (ARS)

The data format translation solution in Cosmos DB engine could be applicable in many more places, not just for cloud NoSQL database. But how exactly it is done for hierarchical data models like JSON? Maybe using JSONPath to convert tree to array of key/value pairs?

A technical overview of Azure Cosmos DB | Blog | Microsoft Azure

"Azure Cosmos DB natively supports multiple data models. The core type system of Azure Cosmos DB’s database engine is atom-record-sequence (ARS) based.
  • Atoms consist of a small set of primitive types e.g. string, bool, number etc., 
  • records are structs (composed of types stored in Atom) and 
  • sequences are arrays consisting of atoms, records or sequences. 

The database engine of Azure Cosmos DB is capable of efficiently translating and projecting the data models onto the ARS based data model. The core data model of Azure Cosmos DB is natively accessible from dynamically typed programming languages and can be exposed as-is using JSON or other similar representations. The design also enables natively supporting popular database APIs for data access and query. Azure Cosmos DB’s database engine currently supports DocumentDB SQL, MongoDB, Azure Table Storage, and Gremlin graph query API."


React without JSX

React without JSX and Webpack
by Maximilian Schwarzm├╝ller

< person age="{28}" name="Max" />
React.createElement(Person, { name: 'Max', age: 28 }, null)

Monday, January 21, 2019

Jupyther Notebooks at Netflix

Notebooks at Netflix with Matthew Seal - Software Engineering Daily

"A Jupyter Notebook stores both the code and the results together in one place. By combining code with results in one document, you can have context around why a certain result came out the way it did."
"A Jupyter Notebook lets users create and share documents that contain live code, visualizations, documentation, and many other types of components."

Sunday, January 20, 2019

GitHub: Serenity: ASP.NET Core + TypeScript

volkanceylan/Serenity: Business Apps Made Simple with Asp.Net Core MVC / TypeScript @ GitHub

"Serenity is an ASP.NET MVC / TypeScript application platform designed to simplify and shorten development of data-centric business applications with a service based architecture.

It aims to make development easier while reducing maintenance costs by avoiding boiler-plate code, reducing the time spent on repetitive tasks and applying best software design practices."

SQLite + Fossil SCM

SQLite370.svgSQLite is a compact open source database that is included with most of modern computers and  smartphones (iOS, Android, Windows, MacOS) even in Chrome and Firefox web browsers.
It is also good for in-process data caching.

Most Widely Deployed SQL Database Engine

"Since SQLite is used extensively in every smartphone, and there are roughly 3.5 billion smartphones in active use, each holding hundreds of SQLite database files, it is seems likely that there are over one trillion SQLite databases in active use. Most Widely Deployed Software Module of Any Type?"
Well-Known Users Of SQLite

SQLite in 2018: A state of the art SQL dialect

"SQLite is an undervalued database—some people even believe it is a toy database that is not suitable for production use. In fact, SQLite is a very solid database that can handle terabytes of data.”

"An SQLite database is limited in size to 140 terabytes (247 bytes)"

SQLite's code is hosted with Fossil, a distributed version control system that is itself built upon an SQLite database.

Fossil is a distributed version control systembug tracking system and wiki software server for use in software development created by D. Richard Hipp.

Fossil (software) - Wikipedia

Saturday, January 19, 2019

Friday, January 18, 2019

email news: LastWeekInAWS

AWS Analysis with Corey Quinn - Software Engineering Daily

Last Week in AWS

Presto: SQL query engine, big data, open source

Presto (SQL query engine) - Wikipedia
Presto is an open-source software project to develop a database query engine using the standard Structured Query Language(SQL).
Facebook commenced development efforts on Presto in 2012, and announced its release as open source for Apache Hadoopin 2013.

Presto is an open source distributed SQL query engine for running interactive analytic queries against data sources of all sizes ranging from gigabytes to petabytes.

Wednesday, January 16, 2019

insecurity: 773 Million Record "Collection #1" Data Breach

Troy Hunt: The 773 Million Record "Collection #1" Data Breach

Have I Been Pwned: Check if your email has been compromised in a data breach

Monster 773 million-record breach list contains plaintext passwords | Ars Technica

"The 773 million email addresses and 21 million passwords easily beat Have I Been Pwned’s previous record breach notification that contained 711 million records. But there are other things that make this latest installment stand out. In all, it contains 1.16 billion email-password combinations. That means that the list covers the same people multiple times, but in many cases with different passwords. Also significant: the list—contained in 12,000 separate files that take up more than 87 gigabytes of disk space—has 2.69 billion rows, many of which contain duplicate entries that Hunt had to clean up."

VS Code += GitHub pull request

VS Code: Now creating pull requests | The GitHub Blog

create pull request vscode 2

TV "Gallery Mode" / "Frame"

All LG TVs: OLED TVs, UHD 4K TVs and LED TVs | LG Canada

2018 The Frame TV Highlights – Fully customizable art frame TV | Samsung Ca | Samsung CA
"TV when it’s on, ART when it’s off" : Meural Canvas - Smart Digital Frame | Leonora Black | 27 inch HD Display with WiFi Powered by NETGEAR (MC227BL) : Camera & Photo

Tuesday, January 15, 2019

"AWS For Everyone": low-code/no-code project

AWS For Everyone: New clues emerge about Amazon’s secretive low-code/no-code project – GeekWire

"The promise of so-called “low code/no code” software-development tools is to enable anyone to create business applications around their custom needs. It sounds like Amazon Web Services is getting ready to extend that idea to everyone.

Based on several LinkedIn resumes and a recent tech talk, it now seems like more than 50 engineers are working on a secretive low-code/no-code project that’s part of an effort called AWS For Everyone."

"The whole low-code/no-code concept has been evolving over the past few years. Just as the value of adding simple web applications to older business workflows often based around paper has become clear, professional developers are being pushed to develop and ship code for mission-critical applications on a near-constant basis.

Companies like AppSheet, K2, and Smartsheet have been working on tools for these types of users, and big providers like Microsoft, Google and Salesforce also offer their cloud customers access to these types of tools."

Woo is working for Adam Bosworth

CascadiaJS 2018 / Nov 15-16 / Seattle, WA

"The term "low-code app development" didn't exist until a few years ago but the concept isn't a new one. There's long been a notion in enterprises and SMBs of the "power user" or "citizen developer," meaning business users who see an opportunity to optimize a process and take it upon themselves to create their own apps. To do so, they often dabble in technologies such as Visual Basic for Applications (VBA) programming in Microsoft Excel. Low-code tools expand that philosophy from only the most tech-savvy of workers to any average employee who sees a business problem or process that a simple app could optimize and solve, and sets out to build it themselves."

The no-code app maker for Google Sheets, Excel, and more. Create mobile iPhone and Android apps for your business. Start for free and build powerful apps.

"Our team is building something completely new within Amazon Web Service (AWS) that will transform industries and change how people work. We have a startup-like environment, a mission to achieve, and no time to lose!.. Java, JavaScript, Python."

"We are building a new product that will transform many industries and change how people work. This is a rare opportunity to work on a v1 product, being involved in designing the architecture from the ground up. Our team is led by well-known executives who have made significant contributions across multiple disciplines and products, and we are looking for engineers to join us on this journey!"

"Special Projects org... a product that will change the industry, and will be used globally at large scale... Node.js, React, React Native, Redux, Typescript, ES6, Jest, Webpack"

The new product is likely to be a variation to "spreadsheet" / "light database" 
something to compete with Microsoft Office and Google Docs.
Adam Bosworth certainly has plenty of experience making such tools:
"Build most consumer OLAP for Citicorp, Reflex, Quattro, Access, ODBC, IE 4.0, XML, Weblogic Workshop, Integration, and Portal, managed gmail, blogger, picassa, calendar, spreadsheet for Google, then started/ran Google Health,"

A possible product name may be "WorkSheets", to match:

AWS: Amazon DocumentDB

There was Azure DocumentDB, that was renamed to CosmosDB.
It is API compatible with MongoDB, document database.

Now there is Amazon DocumentDB, that is API compatible with MongoDB :)

AWS Launches New Document-Oriented Database Compatible with MongoDB @InfoQ

"Some speculate that DocumentDB is built upon AWS Aurora PostgreSQL, but it's clear that it's NOT running MongoDB software. MongoDB, Inc is one of a handful of companies that have recently changed their license to discourage cloud providers from offering parts of their open-source software as a service."

Azure CosmosDB PxDraw

Collaborative "drawing", a stretch use-case for Azure CosmosDB.
A better tool for this would be Azure Service Bus or Azure Service Fabric with Actor Model.

pxdraw/client/src/defs at master · christopheranderson/pxdraw @ GitHub

Have fun and draw awesome on the cosmic scale Azure #CosmosDB #PxDraw canvas today! | Blog | Microsoft Azure

Azure Cosmos DB Draw

PxDraw - Microsoft
requires Twitter login

Monday, January 14, 2019

GitHub Free private repos

New year, new GitHub: Announcing unlimited free private repos and unified Enterprise offering | The GitHub Blog

GitHub Free now includes unlimited private repositories. For the first time, developers can use GitHub for their private projects with up to three collaborators per repository for free. 

GitHub Enterprise is the new unified product for Enterprise Cloud (formerly GitHub Business Cloud) and Enterprise Server (formerly GitHub Enterprise). 

GitHub Pro (formerly GitHub Developer) and GitHub Team are also available for developers and teams who need professional coding and collaboration features. 

Pipelines: .NET high performance IO

High performance IO with System.IO.Pipelines | On .NET | Channel 9

"System.IO.Pipelines was born from the work the .NET Core team was doing to make it easier to do high performance IO in .NET.

Sunday, January 13, 2019

Microsoft Azure IoT Professional certification

Azure IoT Microsoft Professional Program | Internet of Things Show | Channel 9
"Accelerate your career in one of the fastest-growing cloud technology fields: IoT. This program will teach you the device programming, data analytics, machine learning, and solution design skills you need for a successful career in IoT. Learn the skills necessary to start or progress a career working on a team that implements IoT solutions."
Online Internet of Things (IoT) Courses | Microsoft Professional Program
8 required courses, 8-60 hours per course, 8 skills

  • Specify the Requirements for an IoT Solution
  • Program Embedded Device Hardware
  • Implement IoT Device Communication
  • Analyze and Store IoT Data
  • Visualize and Interpret IoT Data
  • Implement Predictive Analytics using IoT Data
  • Evaluate and Design an IoT Solution
  • Final Project

Microsoft Professional Program Certificate in Internet of Things (IoT)

"Each course runs for three months and starts at the beginning of a quarter. January—March, April—June, July—September, and October —December. The capstone runs for four weeks at the beginning of each quarter: January, April, July, October. For exact dates for the current course run, please refer to the course detail page on"

"All courses are available online and on demand – so whether you plan to spend a couple of hours per day or a couple of hours per week, you can work on these skills at the pace that is right for you. And since the curriculum consists of massive open online courses (MOOC) on edX,"

Trinket: Python in web browser

Great resources for learning programming,
schools should use this (more).

../_images/turtle-star.pngYour Python Trinket

24.1. turtle — Turtle graphics — Python 3.5.6 documentation

from turtle import *
color('red', 'yellow')
while True:
    if abs(pos()) < 1:

A Visual Introduction to Python @ Trinket

free books online:

Think Python
How to Think Like a Computer Scientist by Allen B. Downey

Think Java: How to Think Like a Computer Scientist (PDF)

book online: Python for Everybody

Running Python in a Browser Is More Awesome Than You Think | WIRED

Thursday, January 10, 2019

.NET Core 3.0

.NET Core - What's Coming in .NET Core 3.0 @ MSDN Magazine

".NET Core 3.0 is the next major version of the .NET Core platform. It includes many exciting new features, such as support for Windows desktop applications with Windows Forms (WinForms), Windows Presentation Foundation (WPF) and Entity Framework 6. For Web development it adds support for building client-side Web applications with C# using Razor Components (formerly known as Blazor). And it includes support for C# 8.0 and .NET Standard 2.1.

We are adding support for Internet-of-Things (IoT) scenarios with .NET Core 3.0. You’ll now be able to program hardware pins (for controlling devices and reading sensor data) on the Raspberry Pi and similar devices, and communicate via serial port on all supported OSes (for example, with a Raspberry Pi or Arduino). We’re also adding IoT device support for ARM64 in this release, to complement the ARM32 capability that’s already in place.

.NET Core 3.0 will also fully support ML.NET, our open source machine learning framework built for .NET developers. ML.NET powers products like Azure Machine Learning, Windows Defender and PowerPoint Design Ideas."
Client-Side Web Development with Blazor

Tuesday, January 08, 2019

Azure "classic" portal discontinued

Azure portal update for classic portal users | Azure updates | Microsoft Azure

Microsoft Ending 'Classic' Azure AD Management Portal --

AWS Ground Station

Build Satellite Applications with AWS Ground Station - Software Engineering Daily

"On November 27, 2018 at AWS re:Invent, Amazon Web Services (AWS) announced that the new AWS Ground Station service will utilize Lockheed Martin’s Verge antenna network. AWS Ground Station is a fully managed network of 12 ground station antennas located around the world in close proximity to AWS Global Infrastructure Regions. Customers will be able to download data from multiple satellites at the same time, and will even be able to continue downloading when unplanned outages affect the network. The result is that customers can now capture multiple streams of data and move them to the cloud easily. This ensures almost continual coverage and lowers costs for sending data from space to Earth. Data integration is available for Ground Station and Verge customers with all AWS services including machine learning, compute, storage, and analytics."

Monday, January 07, 2019

Voice OS: "Amazon Alexa", "Google Assistant"

Every about 10 years there is a new "wave" of " technology platform.
In mid 90's it was PC,  dominated by Windows and Mac OS
In mid 2000's came mobile, with iOS and Android OS. 
It is now becoming clear that "voice OS" is a new wave, with Amazon Alexa and Google Assistant leading the way...

Amazon reveals how many commercehqdevices have been sold: 100 million - Business Insider

Ahead of CES 2019, Amazon revealed how many Alexa devices it's sold.
The 100 million figure includes devices that Amazon makes as well as third-party gadgets with Alexa built-in.
The announcement comes as Amazon and Google are expected to put their AI voice assistants front and center at CES.

Google boasts 1 billion Assistant devices—10x Amazon Alexa’s install base | Ars Technica

"The power of Android gives Google 10x more assistant devices than Amazon."

Sunday, January 06, 2019

K8S with VMs?

Containers and containers security management is "simple" in heterogeneous environment
like Google's internal service. In multi-tenant environment security requirements are beyond current Linux container security. That is why large cloud providers, including Microsoft Azure and AWS have "lightweight virtual machines" options. Kubernetes does not

The future of Kubernetes is Virtual Machines

Jessie Frazelle's Blog: Hard Multi-Tenancy in Kubernetes

Just make really small VMs optimized for speed…


IoT: IKEA smart blinds

Ikea's smart blinds system launching next month with HomeKit, prices start at ~$110 - 9to5Mac

Serena Motorized Shades by Lutron | Smart Device Remote Control

Motorized Room Darkening Cellular Shades | TheHomeDepot

Friday, January 04, 2019

Jupyter SQL

Jupyther notebooks are an excellent tool for exploring and presenting data processing.
Not limited to python only could be used even with SQL!

ipython-sql · PyPI

screenshot of ipython-sql in the Notebook

Jupyter Magics with SQL – Towards Data Science

In [1]:
import pandas as pd
from sqlalchemy.engine import create_engine

# Presto
engine = create_engine('presto://localhost:8080/system/runtime') 

#Read Presto Data query into a DataFrame
df = pd.read_sql('select * from queries limit 1', engine)

0ffffffff-ffff-ffff-ffff-ffffffffffff20180526_115416_00010_nwiisRUNNINGsatybaldpyhiveselect * from queries limit 1117

Thursday, January 03, 2019

Azure DevOps Labs

Azure DevOps Hands-On Labs | Azure DevOps Hands-on-Labs

"Azure DevOps Hands-On Labs
Evaluating your next DevOps tool chain? Want to dive deeper and learn how you can implement modern DevOps practice?
Learn to plan smartly, collaborate better, and ship faster with a set of modern development services."

Wednesday, January 02, 2019

Mattermost: open source vs Slack

Mattermost: Self-Hosted Slack Alternative with Corey Hulen - Software Engineering Daily

"Slack is a web application that is hosted in the cloud, and regulated industries such as banking often need to run their applications on their own on-prem infrastructure.

Mattermost is an open source alternative to Slack that can be self-hosted."


Mattermost @ GitHub

GoLang + React + Electron, with PostgreSQL or MySQL DB
+ React Native for mobile