Thursday, April 30, 2020

Google Meet vs Zoom

Google Meet, Google’s Zoom competitor, is now free for everyoneGoogle Meet, Google’s Zoom competitor, is now free for everyone | Ars Technica


Google Meet, Google's newest video chat service, will soon be free for everyone. The service, which was previously locked behind G Suite, is opening up to anyone with a Google account.

Users will be able to access the service at meet.google.com or through the iOS and Android apps. While the service's free tier is unrestricted now, it won't be unrestricted forever. Google says that, after September 30, meetings for non G Suite accounts will be limited to 60 minutes.

Google Meet: Video Conferencing for Business | G Suite


Do I need to install anything?
For users on Chrome, Firefox, Safari and new Edge we don't require or ask for any plugins or software to be installed, Meet works entirely in the browser. This limits the attack surface for Meet and the need to push out frequent security patches on end-user machines. On mobile, we ask that you install the Meet app from Apple App Store or the Google Play Store


Zoom Vulnerabilities with Patrick Wardle - Software Engineering Daily
Zoom’s rapid growth in user adoption came from its focus on user experience and video call quality. This focus on product quality came at some cost to security quality. As our entire digital world has moved onto Zoom, the engineering community has been scrutinizing Zoom more closely, and discovered several places where the security practices of Zoom are lacking.

Wednesday, April 29, 2020

Ubuntu 20.04 LTS

FocalFossa/ReleaseNotes - Ubuntu Wiki

These release notes for Ubuntu 20.04 LTS (Focal Fossa) provide an overview of the release and document the known issues with Ubuntu 20.04 LTS and its flavors.

Support lifespan

Maintenance updates will be provided for 5 years until April 2025 for Ubuntu Desktop, Ubuntu Server, Ubuntu Cloud, and Ubuntu Core. All the remaining flavours will be supported for 3 years. Additional security support is available with ESM (Extended Security Maintenance).

StatusCode Weekly Issue 264: April 29, 2020

Tuesday, April 28, 2020

Node.js with WebAssembly (WASM+WASI)

Node.js version 14 available now - Node.js - Medium

Packages written in Web Assembly for Node.js bring the opportunity for better performance and cross-platform support for certain use cases. The 14.x release includes an experimental implementation of the Web Assembly System Interface (WASI) in order to help support these use cases. While not new to Node.js v 14, this is noteworthy as WASI has the potential to significantly simplify the native modules experience



Monday, April 27, 2020

VS Code dev in container

Developing inside a Container using Visual Studio Code Remote Development

"The Visual Studio Code Remote - Containers extension lets you use a Docker container as a full-featured development environment. It allows you to open any folder inside (or mounted into) a container and take advantage of Visual Studio Code's full feature set. A devcontainer.json file in your project tells VS Code how to access (or create) a development container with a well-defined tool and runtime stack. This container can be used to run an application or to sandbox tools, libraries, or runtimes needed for working with a codebase.

Workspace files are mounted from the local file system or copied or cloned into the container. Extensions are installed and run inside the container, where they have full access to the tools, platform, and file system. This means that you can seamlessly switch your entire development environment just by connecting to a different container."

Container Architecture

Sunday, April 26, 2020

Waymo: the end of AutoPilot

Why Waymo Gave Up On Driver-Monitored Autopilot | CleanTechnica

"Around 6 months after Tesla’s Autonomy Day, Waymo CEO John Krafcik gave a presentation to German auto giants that he was seeking to partner with. A video clip of this presentation, provided by Third Row Tesla, shows the CEO explaining why Waymo shut down their “Autopilot program.”
Third Row Tesla Podcast on Twitter: "On autonomy day, @elonmusk hit Waymo pretty hard revealing to the world for the first time that their project was bound to fail. 6 months later, Waymo hit Tesla back in a presentation to the German auto giants, who he seeked to partner with. Warning: Video may anger AP fans



Saturday, April 25, 2020

AI/ML/NLP: BERT


"Bidirectional Encoder Representations from Transformers (BERT) is a technique for NLP (Natural Language Processing) pre-training developed by Google. BERT was created and published in 2018 by Jacob Devlin and his colleagues from Google.[1][2] Google is leveraging BERT to better understand user searches.[3]"

BERT Encoder

The BERT Encoder block implements the BERT—​Bidirectional Encoder Representations from Transformers—​network in its base size, as published in BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.
BERT pushes the state of the art in Natural Language Processing by combining two powerful technologies:
  • It is based on a deep Transformer encoder network, a type of network that can process long texts efficiently by using attention.
  • It is bidirectional, meaning that it uses the whole text passage to understand the meaning of each word.
BERT Encoder


BERT Explained: State of the art language model for NLP

Thursday, April 23, 2020

AI: Stephen Wolfram: A New Kind of Science: computation

AI Lex: Stephen Wolfram: Cellular Automata, Computation, and Physics | MIT | Artificial Intelligence Podcast

Stephen Wolfram is a computer scientist, mathematician, and theoretical physicist who is the founder and CEO of Wolfram Research, a company behind Mathematica, Wolfram Alpha, Wolfram Language, and the new Wolfram Physics project. He is the author of several books including A New Kind of Science


As a businessman, he is the founder and CEO of the software company Wolfram Research where he worked as chief designer of Mathematica and the Wolfram Alpha answer engine. His recent work has been on knowledge-based programming, expanding and refining the programming language of Mathematica into what is now called the Wolfram Language.


Since its nascent beginnings in the 1930s, computation has been primarily approached from two traditions: engineering, which seeks to build practical systems using computations; and mathematics, which seeks to prove theorems about computation.

Wolfram introduces a third tradition that seeks to empirically investigate computation for its own sake: he argues that an entirely new method is needed to do so because traditional mathematics fails to meaningfully describe complex systems, and that there is an upper limit to complexity in all systems.[4]



Tuesday, April 21, 2020

Game of Life

Conway's Game of Life - Wikipedia

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.[1]

The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.

Conway's Game of Life - LifeWiki

Sunday, April 19, 2020

TED talk: Alan Kay: A powerful idea about teaching ideas

Alan Kay: A powerful idea about teaching ideas - YouTube

Alan Kay: A powerful idea about ideas | TED Talk

Alan Kay - Wikipedia

25 Alan Kay Quotes - Inspirational Quotes at BrainyQuote

Alan Kay - Wikiquote

"The best way to predict the future is to invent it"
A change in perspective is worth 80 IQ points
If you don't fail at least 90 percent of the time, you're not aiming high enough.
Simple things should be simple, complex things should be possible.

A Conversation with Alan Kay @ ACM

"Maxwell's equations of software" examined

reference from Peter Norvig's
(How to Write a (Lisp) Interpreter (in Python))


Friday, April 17, 2020

Lisp in Python & JavaScript


(How to Write a (Lisp) Interpreter (in Python))
by Peter Norvig

(An ((Even Better) Lisp) Interpreter (in Python))


nidhinp/Lisp-Interpreter: Lisp Interpreter in JavaScript
Implementation of Peter Norvig's Lisp Interpreter(http://norvig.com/lispy.html) in Javascript.
Lisp Interpreter in JavaScript - Nidhin P - Medium


maryrosecook/littlelisp: A small Lisp interpreter in JavaScript @GitHub
A mini Lisp interpreter in JavaScript. Supports lists (obvs), function invocation, lambdas, lets, if statements, numbers, strings and the library functions firstrest and print.

Mary Rose Cook



Scheme (programming language) - Wikipedia

Smalltalk vs Scheme, JavaScript, and Java - Smalltalk Talk - Medium


SLip - a Lisp system in JavaScript, for browsers

(free) book: Introduction to Computing: Scheme + Python

coverhttp://computingbook.org/

Introduction to Computing
Explorations in Language, Logic, and Machines
David Evans

Download Full Book (PDF) Order Printed Copy (Amazon)

Computer science studies how to describe, predict properties of, and efficiently implement information processes. This book introduces the most important ideas in computing using the Scheme and Python programming languages. It focuses on how to describe information processes by defining procedures, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can and cannot be computed mechanically.

link from Peter Norvig's 

Wednesday, April 15, 2020

(free) book: Clojure for the Brave and True


free online book:





ClojureScript

ClojureScript is a compiler for Clojure that targets JavaScript. It emits JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler.


Tuesday, April 14, 2020

AWS ElastiCache Global

Amazon Introduces a New Feature for ElastiCache for Redis: Global Datastore

With the Global Datastore, Amazon delivers a feature to its ElastiCache for Redis following customer demand for replication of clusters across AWS regions. Writing data into ElastiCache for a Redis cluster in one region leads to the data available for reading in two other cross-region replica clusters when creating a Global Datastore – thus enabling low-latency reads and disaster recovery across regions. 

GitHub: free for everyone

GitHub is now free for teams - The GitHub Blog
All of the core GitHub features are now free for everyone.

Sunday, April 12, 2020

React Native for Windows


React Native - MS Dev Show Podcast


Getting Started · React Native for Windows & Mac

reactnative.dev

Cadence: Workflow Engine

Cadence: Uber's Workflow Engine with Maxim Fateev - Software Engineering Daily
The interview with creator of Cadance in Uber,
who was also tech lead on AWS SWF,
and also worked on Azure and Google..

Company behind Cadence support:
Temporal.io
"Invincible applications, invisible infrastructure
Use Workflow as Code™ to build and operate resilient applications using developer friendly primitives. Write business logic - not glue code - and Temporal takes care of the rest."

Java or Go code to define workflows.

Go, MIT license

video presentation

AWS IAM + Serverless Framework

The ABCs of IAM: Managing permissions with Serverless

Serverless Framework - AWS Lambda Guide - IAM

example serverless.yml
provider:
2  name: aws
3  runtime: nodejs6.10
4  iamRoleStatements:
5    - Effect: "Allow"
6      Action:
7       - dynamodb:Query
8       - dynamodb:Scan
9       - dynamodb:GetItem
10       - dynamodb:PutItem
11       - dynamodb:UpdateItem
12       - dynamodb:DeleteItem
13      Resource: "arn:aws:dynamodb:us-west-2:111110002222:table/my-new-table"

Saturday, April 11, 2020

Google WebAssembly ML

Google's MediaPipe Machine Learning Framework Web-Enabled with WebAssembly

Google recently presented MediaPipe graphs for browsers, enabled by WebAssembly and accelerated by the XNNPack ML Inference Library. As previously demonstrated on mobile (Android, iOS), MediaPipe graphs allow developers to build and run machine-learning (ML) pipelines, to achieve complex tasks.

Running the MediaPipe face detection example in the MediaPipe Visualizer

Friday, April 10, 2020

.NET Interactive: Jupyter Notebooks + .NET Core

.NET Interactive: Jupyter Notebooks with .NET Core - Preview 2

AWS: Amazon EventBridge

Amazon EventBridge - Amazon Web Services

"Amazon EventBridge is a serverless event bus that makes it easy to connect applications together using data from your own applications, integrated Software-as-a-Service (SaaS) applications, and AWS services. EventBridge delivers a stream of real-time data from event sources, such as Zendesk, Datadog, or Pagerduty, and routes that data to targets like AWS Lambda."


Schema Registry ... stores event structure - or schema - in a shared central location and maps those schemas to code for Java, Python, and Typescript so it’s easy to use events as objects in your code. Schema from your event bus can be automatically added to the registry through the schema discovery feature. You can connect to and interact with the schema registry from the AWS Management Console, APIs, or the SDK Toolkits for Jetbrains (Intellij, PyCharm, Webstorm, Rider) and VS Code.


described very well in podcast interview with author of Serverless Framework:

serveless podcast: 

Thursday, April 09, 2020

Nassim Taleb: Covid is not a "Black Swan"

meaning it was predictable

The Corona Crisis is Not a Black Swan: Nassim Nicholas Taleb (Universa Inv. & NYU Tandon) - YouTube

Our tightly networked world: Blessing and curse | American Enterprise Institute - AEI

The risks of such rare, concerning events are of course especially on our minds today in the context of Covid-19. Taleb anticipated this in a supplemental essay he wrote for the paperback edition of The Black Swan when it appeared in 2010: 

“As we travel more on this planet, epidemics will be more acute—we will have a germ population dominated by a few numbers, and the successful killer will spread vastly more effectively.

Taleb-Advised Universa Tail Fund Returned 3,600% in March - Bloomberg

"A tail-risk hedge fund advised by Nassim Taleb, author of “The Black Swan,” returned 3,612% in March, paying off massively for clients who invested in it as protection against a plunge in stock prices."


Wednesday, April 08, 2020

Clojure (Lisp): the "last" programming language?

Clean Coders: Clean Code, Episode 0 - The Last Programming Language, by Robert "Uncle Bob" Martin

"Are there any more types of languages that we haven't seen? Or have we completely explored the language space? And if we have, then isn't it time we pruned the menagerie of languages down to a manageable few—perhaps even one?

Other industries have done this, so why not us? Others disciplines have brought their notations down from dozens to one: electronics, chemistry, biology, mathematics, etc. And the benefits they reaped by doing so were significant! Perhaps it's time for us to follow suit.

If we did choose a language, what kind of language would it be? What features would it have? What syntax would it follow? What paradigms would it conform to?"


Why Clojure? - Clean Coder Blog

A Little Clojure - Clean Coder Blog

Clean Coders: Clean Code: Functional Programming, Episode 62 - Getting Clojure, by

You can make hydrogen and oxygen gas with a 9 volt battery and water. - YouTube


Official web site:
Clojure - Getting Started

book online (free)
Learn to Program the World's Most Bodacious Language with
 Clojure for the Brave and True


Clojure for the Brave and True
clojure @ learning.oreilly.com

Flying Machine Studios
by Daniel Higginbotham (book author)
another interesting project from the same author


good class (free trial available)
Clojure Fundamentals - Part 1 | Pluralsight


videos

Effective Programs - 10 Years of Clojure - Rich Hickey - YouTube
creator of Clojure language

Clojure Tutorial - YouTube

SICP cover.jpg
tools:

Clojure - Visual Studio Marketplace


related essential book, free online: Welcome to the SICP Web Site

Structure and Interpretation of Computer Programs - Wikipedia


WebAssembly is also using Lisp s-expressions syntax;
there are also versions of List running on WASM

google/schism: A self-hosting Scheme to WebAssembly compiler

AWS Bottlerocket: Linux OS for Container Hosting

Amazon Introduces a Linux-Based OS for Container Hosting: Bottlerocket

Amazon announced, a new Linux-based open-source operating system (OS) called Bottlerocket, which is purpose-built to run containers. Bottlerocket is currently in public preview as an Amazon Machine Image (AMI) for Amazon Elastic Compute Cloud (EC2) for customers to try out.
The tech giant designed and optimized Bottlerocket specifically for use as a container host, and it comes with a single-step update mechanism. Furthermore, Bottlerocket only includes essential software to run containers. 

Monday, April 06, 2020

Pulumi: Infrastructure as Code (IaC)

Multi-Language Infrastructure as Code

Joe Duffy shows how a multi-language approach to infrastructure as code using general purpose programming languages lets cloud engineers program AWS, Azure, Google Cloud, and Kubernetes infrastructure, unlocking the same software engineering techniques commonly used for applications: abstractions and reuse, expressive control structures, package managers, testing, and IDEs, to name a few.

Joe Duffy on Infrastructure as Code, Pulumi, and Multi-Cloud

Pulumi: Infrastructure as Code with Joe Duffy - Software Engineering Daily


.NET Blazor Show (online) by Carl Franklin

Carl Franklin's Blazor Road Show

Carl Franklin from .NET Rocks! is hosting this free online webinar on multiple dates

Carl Franklin's Blazor Desk Show with Dan Roth - YouTube

Sunday, April 05, 2020

O’Reilly events: from in-person to virtual

O’Reilly closes the live conference business | ZDNet

O'Reilly Media, which runs events like Strata Data and OSCON, has decided to shut down its live conference business for good.
From Laura Baldwin - O’Reilly Media

Now, we look forward to the future and helping the technology community find new ways to connect and learn from each other even when face-to-face gatherings are impossible.

GitHub Actions and the DevOps Lifecycle

The Cloudcast: GitHub Actions and the DevOps Lifecycle

GitHub Homepage

GitHub Satellite (virtual conference, May 2020)


Saturday, April 04, 2020

Tone.js Interactive Music Web Framework


https://tonejs.github.io/demos







Tone.js leverages the Web Audio API to provide a framework for creating interactive music in the browser.
The Web Audio API is a promising W3C recommendation for creating music on the web, but is not without its challenges and limitations. Tone.js strives to provide a framework that is familiar to both musicians and audio programmers for creating web-based audio applications.
Tone.js offers a wide range of digital audio workstation (DAW) features, including scheduling events, prebuilt synths and effects, and more. Tone.js provides an abstraction on top of Web Audio's AudioContext time, replacing seconds with music notes or measures.

"no code" & clouds

Salesforce logo.svgNew Microsoft, Google, Amazon cloud battle over world without code

“There is a 1 million developer shortfall in the U.S. alone, and all these companies are struggling to create content and applications to go truly digitally native"
Salesforce created a (cloud) empire based on "no-software".


That was 20 years ago.
The meaning was: no download & install, just run on web/cloud.

Now again, major cloud provides are attempting to enable
faster creating of "apps" (software), without need for
programming "low level" instructions: code.

Salesforce.com: “Behind the cloud”, shines the sun – Kasper Spiro

Behind the Cloud PDF Summary - Marc Benioff | 12min Blog

Behind the Cloud.vp


Unqork


Apple FileMaker

Tools:



TypeScript: Typed JavaScript at Any Scale.





Quotes:

Grady Booch, author of Object-Oriented Analysis and Design with Applications:

"Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designers’ intent but rather is full of crisp abstractions and straightforward lines of control."



“code that you cannot trust is code that you do not understand.
The reverse is true also: code that you don’t understand is code you can’t trust.”

YAGNI Martin Fowler

Yagni originally is an acronym that stands for "You Aren't Gonna Need It".
It is a mantra from ExtremeProgramming that's often used generally in agile software teams.
It's a statement that some capability we presume our software needs in the future
should not be built now because "you aren't gonna need it".








Thursday, April 02, 2020

2020 React Tutorial for Beginners with Kent C. Dodds

free on 1.0x speed

React Tutorial for Beginners with Kent C. Dodds on egghead.io

"React got that name for a reason. It’s a component-based JavaScript library that renders smartly and can seriously simplify your work.

This course is for React newbies and anyone looking to build a solid foundation. It’s designed to teach you everything you need to start building web applications in React right away.

Each lesson in this 28-part course is a single index.html file. This keeps your focus on learning React, no distractions. We’ll start with a blank file and add more complexity as we go along, wrapping the course with a lesson on how to move into a more production-ready development environment—and even deploy your app to a great service like Netlify."


eggheadio-projects/the-beginners-guide-to-react @GitHub


ML: AWS’ $99 DeepComposer keyboard

You can now buy AWS’ $99 DeepComposer keyboard | TechCrunch



DeepComposer keyboard is available for purchase. It is a small MIDI keyboard for working with the AWS DeepComposer service that uses AI to create songs based on your input.