Sunday, July 12, 2020

C++ => Rust @ Microsoft

Microsoft: Rust Is the Industry’s ‘Best Chance’ at Safe Systems Programming – The New Stack

"Ryan Levick, Microsoft cloud developer advocate, during the AllThingsOpen virtual conference last month, explaining, in a virtual talk, why Microsoft is gradually switching to Rust to build its infrastructure software, away from C/C++. And it is encouraging other software industry giants to consider the same.

C++ is not a memory safe language and no one would really pretend that it is,” he said.
In fact, Microsoft has deemed C++ no longer acceptable for writing mission-critical software. The industry sorely needs to move to a performant, memory-safe language for its low-level system work. And the best choice on the market today is Rust

In fact, Microsoft has deemed C++ no longer acceptable for writing mission-critical software"



Saturday, July 11, 2020

Tesla Model Y review by Jay Leno

Tesla Model Y - Jay Leno’s Garage - YouTube

Netflix vs. Blockbuster, the real story

Why Netflix beat Blockbuster - Vox

"When Netflix launched in 1997, it was a tiny movies-by-mail operation, run out of a storefront in a Silicon Valley stripmall. It was going up against Blockbuster, a $6 billion behemoth that owned the movie rental business.

Now Blockbuster is gone, and Netflix is a $20 billion business, one so dominant that giant companies like Disney and AT&T are remaking themselves to chase after it.

Even if you don’t know this story, you know this story: Scrappy digital upstart comes out of nowhere, topples the incumbent, and becomes unstoppable.

Except ... this one almost didn’t happen. Blockbuster, it turns out, ended up doing a very good job of fighting back against Netflix and might well have won, but it made some fundamental mistakes that ended up dooming its future."


Thursday, July 09, 2020

WASM performance advantage

To WASM or not to WASM? - DEV

The performance gain we measured with Rust (both implementations) is up to 20% compared to the baseline JavaScript implementation - measured on average.
This may sound like a win for Rust, but is actually a very small gain compared to the efforts required.



64-bit without AssemblyScript



32-bit without AssemblyScript

Wednesday, July 08, 2020

Hong Kong's internet behind great firewall

The internet is changing drastically for Hong Kong’s citizens | MIT Technology Review

"Effectively, this brings Hong Kong into China’s Great Firewall, a tightly controlled and censored version of the internet that blocks most foreign internet tools and mobile apps. Foreign companies are permitted to operate only if they comply."

Tuesday, July 07, 2020

Software is Hard for "cars that think"


Volkswagen’s E-Car Rollout Slips on Software - IEEE Spectrum

The all-electric ID.3 is the first in a company-wide array of cars to use a new, unified electronic architecture

Volkswagen’s European customers will be able to make binding preorders for one of the 30,000 limited 1st Edition ID.3 fully-electric compact cars. It’s the first fruit of the company’s EUR 60 billion strategy to become the world’s dominant manufacturer of all-electric and hybrid vehicles.
Photograph of the Volkswagen ID.3 in motion

IEEE "Cars that Think"

Monday, July 06, 2020

gRPC with Blazor WebAssembly


How to Utilize gRPC-Web From a Blazor WebAssembly Application

"It is currently impossible to implement the gRPC HTTP/2 spec in the browser because there are no browser APIs with enough fine-grained control over requests. Well the good news is that gRPC-Web is here for the rescue!!!

gRPC-Web is a standardized protocol that solves this problem and makes gRPC usable in the browser. gRPC-Web brings many of gRPC’s great features, like small binary messages and contract-first APIs, to modern browser apps. In this post I will demonstrate consuming a gRPC-Web endpoint from within a Blazor WebAssembly application. Along the way I will also demonstrate how gRPC-Web can achieve more efficient payload sizes compared to Restful endpoints."

Sunday, July 05, 2020

AWS Virtual Workshop

Build a Serverless Web App for a Theme Park | AWS Virtual Workshop


Learn how to build a complete serverless web application for a popular theme park called Innovator Island. The theme park is rolling out a mobile app that provides thousands of visitors with wait times, photo opportunities, notification alerts, and language translation for visitors who need it. In this series, you'll get hands-on experience building a scalable serverless application with a single-page application (SPA) front-end that delivers a feature-rich user experience.

SingularityNET: Global distributed AI (+ blockchain, robots etc)

Home - SingularityNET

SingularityNET lets anyone create, share, and monetize AI services at scale. The world’s decentralized AI network

+ "Sophia" AI robot

excellent podcast interview:

#103 - Ben Goertzel: Artificial General Intelligence | MIT | Artificial Intelligence Podcast


Saturday, July 04, 2020

gRPC + Postman?

gRPC + Postman = Jason Newman - Medium

... complaints from our transition to gRPC has been the inability to use Postman for our gRPC services. The existing tooling has not met the ease of use the Postman providing for interacting with our traditional REST APIs. We have tried the gRPC CLI, grpc-gateway, and omgRPC

one solution:

adding a JSON codec to gRPC servers. While amazing, it wasn’t initially clear how this could be used to improve development workflows, especially given the reluctance of Postman to support HTTP/2 and the required binary header for the gRPC payload (whether a protocol buffer or JSON payload).

proof of concept proxy which handles the protocol conversion from HTTP to HTTP/2 and also calculates and inserts the gRPC payload header. On the response , it trims the header off of the gRPC response and converts the gRPC status code to a HTTP status code. The introduction of this proxy allows us to once again use the incredible collaboration and templating features of Postman with our gRPC services

jnewmano/grpc-json-proxy: gRPC Proxy for Postman like tools


uw-labs/bloomrpc: GUI Client for GRPC Services


Intuitive CLIs for gRPC APIs - YouTube


Postman: API Development with Abhinav Asthana - Software Engineering Daily


Postman Company Profile - Office Locations, Competitors, Revenue, Financials, Employees, Key People, Subsidiaries | Craft.co
valuation: $2B
funding: $208M
employees: 265

"Postman is a company operating an API development platform. It provides executable descriptions of an API, workspaces for team collaboration, and built-in tools that enable developers to run requests, test, debug, create mock servers, monitor, run automated tests, and document the API."


API platform Postman delivers $150M Series C on $2B valuation | TechCrunch

Abhinav Asthana | LinkedIn

GoLang is boring and efficient...

Go is Boring...And That’s Fantastic! | Capital One

Building a high performance JSON parser

Golang Weekly Issue 319: July 3, 2020

HW improvements are getting slower

When you look at single core performance, the fastest 2019 Core i9 is less than twice as fast as the fastest 2011 Core i7. Instead of getting faster, we're adding more cores to CPUs. When you look at multi-core performance, it's a little better, slightly more than 2x faster.
  • It’s not just CPU performance that is limiting us. Forrest Smith wrote a fantastic blog post on the impact of RAM and RAM access patterns on performance. The highlights are:
  • RAM is much slower than CPUs, and the gap is not getting better, even though CPUs aren't getting much faster.
  • RAM might be random access, but if you actually use it that way, it's slow. You can read around 40 gigabytes per second from RAM on a modern Intel CPU if the data is sequential. If you do a random read, it’s a little less than half a gigabyte per second.
  • Code with lots of pointers is especially slow. Quoting Forrest: “Sequentially summing values behind a pointer runs at less than 1 GB/s. Random access, which misses the cache twice, runs at just 0.1 GB/s. Pointer chasing is 10 to 20 times slower. Friends don't let friends use linked lists.” Ouch.

Wednesday, July 01, 2020

tool: Markdown Tables generator

Markdown Tables generator - TablesGenerator.com

| Tables   |      Are      |  Cool |
|----------|:-------------:|------:|
| col 1 is |  left-aligned | $1600 |
| col 2 is |    centered   |   $12 |
| col 3 is | right-aligned |    $1 |

Monday, June 29, 2020

AWS Local Zones

AWS Local Zones - Amazon Web Services

AWS Local Zones FAQs - Amazon Web Services

Low-latency computing with AWS Local Zones – Part 1 : idk.dev

AWS Local Zones, a new type of AWS infrastructure deployment that places compute, storage, and other select services closer to large cities. We designed Local Zones as a powerful construct that extends our existing Regions into new locations. This gives you the ability to run applications on AWS that require single-digit millisecond latencies to your end-users or on-premises installations in the local area. Just like Regions, Local Zones are fully managed and supported by AWS, giving you the elasticity, scalability, and security benefits of running on the AWS. The first Local Zone is generally available in LA, and is an extension of the US West (Oregon) Region (the parent Region).

Sunday, June 28, 2020

WebAssembly: C# P/Invoke Rust & C++

C# interop with C/C++ and Rust in WebAssembly - Uno Platform

.NET P/Invoke was built to perform dynamic linking with Windows PE Dlls, but has been extended in mono to allow for static linking. This technique is also used by mono on iOS to call native code, and allows for a single executable package to contain the code to execute the application.

.NET for WebAssembly has support for it in the form of static linking of LLVM Bitcode object files... to call ... C/C++ and Rust code from C# in a WebAssembly app.

Uno Platform enables for creation of single-source C# and XAML apps which run natively on iOS, Android, macOS and Web via WebAssembly


Saturday, June 27, 2020

Friday, June 26, 2020

tinysearch: Rust => WASM web serarch

tinysearch/tinysearch: 🔍 Tiny, full-text search engine for static websites built with Rust and Wasm @GitHub

A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler

"TinySearch is a lightweight, fast, full-text search engine. It is designed for static websites.

TinySearch is written in Rust, and then compiled to WebAssembly to run in the browser.
It can be used together with static site generators such as Jekyll, Hugo, zola, Cobalt, or Pelican."

Thursday, June 25, 2020

tool: Notion (vs Evernote, OneNote, Apple Notes...)

Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.



Notion vs Evernote: Is it time to make the switch?

The biggest difference between the two products is that, as an all-in-one workspace tool, Notion helps users keep all their work in one place. As an organizational note-taking tool, Evernote helps users keep their files in one place.

Wednesday, June 24, 2020

no-code: Amazon Honeycode



Introducing Amazon Honeycode – Build Web & Mobile Apps Without Writing Code | AWS News Blog

This new fully-managed AWS service gives you the power to build powerful mobile & web applications without writing any code. It uses the familiar spreadsheet model and lets you get started in minutes. If you or your teammates are already familiar with spreadsheets and formulas, you’ll be happy to hear that just about everything you know about sheets, tables, values, and formulas still applies. Amazon Honeycode includes templates for some common applications that you and other members of your team can use right away

honeycode.aws

Amazon Honeycode
Introducing Amazon Honeycode - YouTube

What is Amazon Honeycode? - YouTube


Larry Augustin Announces Amazon Honeycode - YouTube


AWS launches Amazon Honeycode, a no-code mobile and web app builder | TechCrunch

AWS today announced the beta launch of Amazon Honeycode, a new, fully managed low-code/no-code development tool that aims to make it easy for anybody in a company to build their own applications. All of this, of course, is backed by a database in AWS and a web-based, drag-and-drop interface builder.

Developers can build applications for up to 20 users for free. After that, they pay per user and for the storage their applications take up.


Why AWS built a no-code tool | TechCrunch



"The announcement comes months after the departure of Adam Bosworth, who worked at Google, Microsoft and Salesforce before joining AWS as a vice president in 2016. Bosworth created and led the development of a product that was kept secret for years but was expected to be software that people can use to write applications with little to no coding. Bosworth worked on Honeycode at Amazon, Larry Augustin, a vice president at the company, said on Wednesday."



...


In 2015 Microsoft introduced the PowerApps software for easily building business applications, and in January Google acquired AppSheet, a start-up with no-code application-development tools.


Excel-style "development" (formulas)

Honeycode Functions - Knowledge Center / Functions & Formulas - Honeycode Help & Community
=1 - COUNT(FILTER(Tasks, "Tasks[Done] =%", "No")) / COUNT(Tasks)

WebRTC based tool Zipcall vs Zoom


podcast interview with author:
WebRTC and Peer-to-Peer Video Calling with Ian Ramzy — Syntax Podcast 256

js source @GitHub
ianramzy/decentralized-video-chat: 🚀 Zipcall.io 🚀 Peer to peer browser video calling platform with unmatched video quality and latency.

Features:
  • Screen sharing
  • Picture in picture
  • Live captions
  • Text chat
  • Auto-scaling video quality
  • No download required, entirely browser based
  • Direct peer to peer connection ensures lowest latency
  • Single use disposable chat rooms
Zipcall


Tuesday, June 23, 2020

40 years if WWW

The history of the World Wide Web | The Spokesman-Review




HistoryOfTheWeb_t1170.jpg (1170×2524)

AWS Snowcone

AWS Snowcone E Ink LabelAWS Snowcone | Amazon Web Services

"AWS Snowcone is the smallest member of the AWS Snow Family of edge computing, edge storage, and data transfer devices, weighing in at 4.5 pounds (2.1 kg) with 8 terabytes of usable storage. Snowcone is ruggedized, secure, and purpose-built for use outside of a traditional data center. Its small form factor makes it a perfect fit for tight spaces or where portability is a necessity. You can use Snowcone in backpacks on first responders, or for IoT, vehicular, and even drone use cases. You can execute compute applications at the edge, and you can ship the device with data to AWS for offline data transfer, or you can transfer data online with AWS DataSync from edge locations."


Monday, June 22, 2020

Linux laptop: Lemur Pro - System76

Lemur Pro - System76

Lemur Pro: laptops

Up to 14 hours of battery life per charge
10th Gen Intel Core i5 and i7
Up to 40GB Dual Channel DDR4
System76 Open Firmware with coreboot
Up to 4TB NVMe drives

Saturday, June 20, 2020

AWS CDK: Cloud Development Kit (!)

for real "infrastructure as code" .ts/.py =(deploy)=> CloudFormation YML => AWS

AWS New York Summit 2019 - AWS Cloud Development Kit - YouTube

AWS Cloud Development Kit - Amazon Web Services

"The AWS Cloud Development Kit (AWS CDK) is an open source software development framework to model and provision your cloud application resources using familiar programming languages.

Provisioning cloud applications can be a challenging process that requires you to perform manual actions, write custom scripts, maintain templates, or learn domain-specific languages. AWS CDK uses the familiarity and expressive power of programming languages for modeling your applications"


  • Pulumi
  • Serverless.js
  • Terraform
  • CloudFormation, SAM, SDK, Amplify ...


Will AWS CDK replace Terraform and the Serverless Framework? - codecentric AG Blog

Infrastructure is Code with the AWS CDK - AWS Online Tech Talks - YouTube

AWS CDK Vs CloudFormation | What is AWS Cloud Development Kit | Demo - YouTube

Free Workshop Link: https://cdkworkshop.com/
Read the blogpost: https://aws.amazon.com/blogs/aws/aws-...
CDK Samples in GitHub: https://github.com/aws-samples/aws-cd...

CDK, CloudFormation Course on Udemy: https://www.udemy.com/course/rocking-...



aws/aws-cdk: The AWS Cloud Development Kit is a framework for defining cloud infrastructure in code @GitHub

The CDK is available in the following languages:

cdk init :: AWS Cloud Development Kit (AWS CDK) Workshop



Thursday, June 18, 2020

AWS Shield vs DDoS

Amazon says it mitigated the largest DDoS attack ever recorded - The Verge

Amazon Web Services recently had to defend against a DDoS attack with a peak traffic volume of 2.3 Tbps, the largest ever recorded, ZDNet reports. Detailing the attack in its Q1 2020 threat report, Amazon said that the attack occurred back in February, and was mitigated by AWS Shield, a service designed to protect customers of Amazon’s on-demand cloud computing platform from DDoS attacks, as well as from bad bots and application vulnerabilities. The company did not disclose the target or the origin of the attack.

stripe-mock

stripe/stripe-mock: stripe-mock is a mock HTTP server that responds like the real Stripe API. It can be used instead of Stripe's testmode to make test suites integrating with Stripe faster and less brittle. @GitHub (GoLang)


stripe-mock is a mock HTTP server that responds like the real Stripe API. It can be used instead of Stripe's test mode to make test suites integrating with Stripe faster and less brittle. It's powered by the Stripe OpenAPI specification, which is generated from within Stripe's API.


Wednesday, June 17, 2020

immutable JS

tc39/proposal-record-tuple: ECMAScript proposal for the Record and Tuple value types. | Stage 1: it will change!

his proposal introduces two new deeply immutable data structures to JavaScript:
  • Record, a deeply immutable Object-like structure #{ x: 1, y: 2 }
  • Tuple, a deeply immutable Array-like structure #[1, 2, 3, 4]
Today, userland libraries implement similar concepts, such as Immutable.js

Tuesday, June 16, 2020

AI Experiments with Google

AI Experiments | Experiments with Google

AI Experiments is a showcase for simple experiments that make it easier for anyone to start exploring machine learning, through pictures, drawings, language, music, and more.




Semi-Conductor
CONDUCT AN AI ORCHESTRA THROUGH YOUR BROWSER

Monday, June 15, 2020

Linux in SpaceX

SpaceX: We've launched 32,000 Linux computers into space for Starlink internet | ZDNet

"Each of SpaceX's monthly launches of 60 internet-beaming Starlink satellites carries 4,000 stripped-back Linux computers, SpaceX software engineers have revealed.
...total count to around 480 and moving it closer to the 800 it needs to provide moderate coverage over the US.

SpaceX recently applied to the Federal Communications Commission to launch 30,000 second-generation satellites over and above the 12,000 that had already been approved. Assuming the second-generation satellites carry the same number of Linux computers, it would mean SpaceX plans to send at least two million Linux computers into space in the next few years."



"The Falcon 9's onboard operating system is a stripped-down Linux running on three ordinary dual-core x86 processors. The flight software itself runs separately on each processor and is written in C/C++.

Ordinary? Yes, ordinary. You see, spacecraft CPUs are far from the newest and greatest. They're developed for spacecraft, which takes years -- even decades -- to go from the drafting board to launch. For example, the International Space Station (ISS) runs on 1988-vintage 20 MHz Intel 80386SX CPUs."

Usually, though, chips that go into space aren't ordinary chips. CPUs that stay in space must be radiation-hardened. Otherwise, they tend to fail due to the effects of ionizing radiation and cosmic rays. These customized processors undergo years of design work and then more years of testing before they are certified for spaceflight.

Sunday, June 14, 2020

All Remote | GitLab

GiLab: preparing for IPO, promoting remote work and open source

It already has multi $B valuation larger than GitHub had at the time it was acquired by Microsoft for $7.5B


All Remote | GitLab

podcast interviews

Creating GitLab’s remote playbook with Darren Murph, Head of Remote at GitLab (The Changelog #397) |> News and podcasts for developers |> Changelog

"GitLab is 100% all-remote, as in, no offices…and they employee more than 1,200 people across 67 countries. They’ve been iterating and documenting how to work remotely for years."


Thursday, June 11, 2020

tool: Postman Newman


What is Newman? – Postman

Newman is a powerful command-line collection runner for Postman. It allows you to run and test a Postman collection directly from the command-line. Newman maintains feature parity with Postman and allows you to run collections the same way they are executed inside the collection runner in Postman.
Newman resides on both Github and at the NPM registry.
Newman Introduction

Monday, June 08, 2020

Sunday, June 07, 2020

Edge ML: tinyML

tinyML Summit | Home

Edge Machine Learning with Zach Shelby - Software Engineering Daily

Devices on the edge are becoming more useful with improvements in the machine learning ecosystem. TensorFlow Lite allows machine learning models to run on microcontrollers and other devices with only kilobytes of memory. Microcontrollers are very low-cost, tiny computational devices. They are cheap, and they are everywhere.

The low-energy embedded systems community and the machine learning community have come together with a collaborative effort called tinyML. tinyML represents the improvements of microcontrollers, lighter weight frameworks, better deployment mechanisms, and greater power efficiency.


TinyML is giving hardware new life | TechCrunch

Why TinyML is a giant opportunity | VentureBeat

250 billion microcontrollers in our printers, TVs, cars, and pacemakers can now perform tasks that previously only our computers and smartphones could handle. All of our devices and appliances are getting smarter thanks to microcontrollers.

TinyML represents a collaborative effort between the embedded ultra-low power systems and machine learning communities, which traditionally have operated largely independently. This union has opened the floodgates for new and exciting applications of on-device machine learning

Friday, June 05, 2020

material-ui Treasury

examples of UI components for React Material-UI

Mui Treasury

Browse, Choose and Use. That’s it.
MUI Treasury is an ecosystem of Material-UI


Thursday, June 04, 2020

RedwoodJS

RedwoodJS with Tom Preston-Werner - Software Engineering Daily

"RedwoodJS is a framework for building JAMStack applications. Tom Preston-Werner is one of the creators of RedwoodJS, as well as the founder of GitHub and Chatterbug, a language learning app.

Over the last 5 years, web development has matured considerably. React has become a standard for frontend component development. GraphQL has seen massive growth in adoption as a data fetching middleware layer. The hosting platforms have expanded beyond AWS and Heroku, to newer environments like Netlify and Vercel.

These changes are collectively known as the JAMStack. With the changes brought by the JAMStack, it raises the question: how should an app be built today? Can a framework offer guidance for how the different layers of a JAMStack app should fit together?"


redwoodjs/redwood: Bringing full-stack to the Jamstack. @GitHub

Redwood brings full-stack to the JAMstack with Tom Preston-Werner (JS Party #119) |> News and podcasts for developers |> Changelog

"Redwood is an opinionated, full-stack, serverless web application framework that will allow you to build and deploy JAMstack applications with ease. Imagine a React frontend, statically delivered by CDN, that talks via GraphQL to your backend running on AWS Lambdas around the world, all deployable with just a git push—that's Redwood."


Here's a quick taste of the technologies a standard Redwood application will use:

Wednesday, June 03, 2020

Postgres Guide

Postgres Guide

"We here are very big fans of Postgres as a database and believe it is often the best database for the job. For many though, working with and maintaining Postgres involves a steep learning curve. This guide is designed as an aid for beginners and experienced users to find specific tips and explore tools available within Postgres."

Wednesday, May 27, 2020

AWS ARM Graviton2 CPUs

Amazon Announces the General Availability of EC2 M6g Instances Powered by AWS Graviton2

Andy Jassy, CEO of AWS, stated in a tweet:

Excited to give customers our new Arm-based #AWS EC2 M6g instances that leverage our Graviton2 processors and deliver up to 40% better price-performance than the latest x86 instances. Big deal for customers.

Monday, May 25, 2020

cloud: GCP 4 DOD

Google's cloud division lands deal with the Department of Defense

"The new contract, which is through the DoD’s Defense Innovation Unit (DIU), will be focused on identifying cyber threats, according to the release. Google said the system “will provide real-time network monitoring, access control, and full audit trails, enabling DIU to maintain its strict cloud security posture without compromising speed and reliability.”

The system, which will be centrally managed from Google’s console, will allow the DIU to run web services and applications across competing cloud services like those offered by Amazon and Microsoft."



Why is Python slow?

Talk: Anthony Shaw - Why is Python slow? - YouTube

Episode #265 Why is Python slow? - [Talk Python To Me Podcast]

data
n-body | Computer Language Benchmarks Game

Rust: 7 sec
Go: 21 sec
C#: 21 sec
Java: 21 sec
Swift: 21 sec
JavaScript/node.js: 26 sec

Ruby 6 min

Python 14 min