Friday, July 31, 2020

Flash lives on with WebAssembly

WebAssembly Used to Extend Life of Flash Legacy Content @InfoQ

Adobe will stop distributing and updating Flash Player after December 31, 2020. The large amount of Flash content accumulated over the years is however not entirely lost. Flashpoint, the web game preservation project, should allow players to access over 30,000 web games and 2,000 web animations. Ruffle, a Flash emulator, and CheerpX, an x86 virtualization technology, both leverage WebAssembly to play .swf files in the browser.

Thursday, July 30, 2020

AWS S3 HTTPS static website hosting

How to host a static website with https using amazon s3

S3 + CloudFront + ACM + domain (DNS)

"After you configure your bucket as a static website, you can access the bucket through the AWS Region-specific Amazon S3 website endpoints for your bucket. Website endpoints are different from the endpoints where you send REST API requests. For more information, see Website endpoints. Amazon S3 doesn't support HTTPS access for website endpoints. If you want to use HTTPS, you can use CloudFront to serve a static website hosted on Amazon S3. For more information, see Speeding up your website with Amazon CloudFront."



Sunday, July 26, 2020

jq: JSON from CLI

jq
jq is a lightweight and flexible command-line JSON processor.

often used with AWS CLI



in portable C lang




Thursday, July 23, 2020

Wednesday, July 22, 2020

AWS Copilot CLI for ECS

Amazon ECS announces AWS Copilot, a new CLI to deploy and operate containers in AWS

Amazon Elastic Container Service (ECS) announced AWS Copilot, a command line interface tool that helps customers develop, release, and operate containerized applications on AWS. With a single command, AWS Copilot creates all infrastructure and artifacts required to run production-ready service on Amazon ECS and AWS Fargate, including task definitions, image repositories, and AWS resources like load balancers, deployment pipelines. With AWS Copilot, users can focus on developing their applications rather than setting up infrastructure.

Monday, July 20, 2020

recursive program generator with 128 languages

mame/quine-relay: An uroboros program with 100+ programming languages

This is a Ruby program that generates Rust program that generates Scala program that generates ...(through 128 languages in total)... REXX program that generates the original Ruby code again.

Language Uroboros

Sunday, July 19, 2020

Saturday, July 18, 2020

MemSQL for ML/AL, not just in-memory db

Logo memsql color trans-bg 400x240.svgOperationalizing ML/AI with MemSQL with Nikita Shamgunov, CEO of MemSQL (Practical AI #94) |> News and podcasts for developers |> Changelog


MemSQL is The Database of Now™ Powering Modern Applications and Analytical Systems

MemSQL is the cloud-native operational database built for speed and scale. Tested and proven as the world’s fastest database for ML, AI, & operational analytics. ANSI SQL. Fast Query Response. Hybrid Flexibility. Multi-Cloud. Fast Ingest. Highly Scalable.

MemSQL - Wikipedia

Rather than the traditional B-tree index, MemSQL uses skiplists optimized for fast, lock-free processing in memory. Due to its fully distributed nature, MemSQL is fully scalable, and it achieves high speeds for time-critical processing of large data sets. MemSQL is compatible with the MySQL wire protocol, meaning most MySQL and MariaDB drivers and products work on MemSQL.

closed source, C++


AWS RDS Proxy

Amazon RDS Proxy | Highly Available Database Proxy | Amazon Web Services

AWS Announces General Availability of Amazon RDS Proxy

RDS Proxy allows applications to pool and share connections established with the database. This helps servers that do not currently rely on a connection pool and often open and close database connections, exhausting database memory and compute resources. Serverless architectures will use the relational databases more efficiently and the proxy will improve application scalability

Friday, July 17, 2020

The Good Parts of AWS

The Good Parts of AWS

"This is not your typical reference book. It doesn't cover all of AWS or all its quirks. Instead, we want to help you realize which AWS features you’d be foolish not to use. Features for which you almost never need to consider alternatives. Features that have passed the test of time by being at the backbone of most things on the internet."

Tuesday, July 14, 2020

RISC + RAID

an inspirational interview with co-creator of processor and storage architectures used in most of computers today.

#104 - David Patterson: Computer Architecture and Data Storage | MIT | Artificial Intelligence Podcast

"David Patterson is a Turing award winner and professor of computer science at Berkeley. He is known for pioneering contributions to RISC processor architecture used by 99% of new chips today and for co-creating RAID storage. The impact that these two lines of research and development have had on our world is immeasurable. He is also one of the great educators of computer science in the world. His book with John Hennessy “Computer Architecture: A Quantitative Approach” is how I first learned about and was humbled by the inner workings of machines at the lowest level."


Monday, July 13, 2020

Slack & AWS vs. Microsoft Teams

Slack’s new integration deal with AWS could also be about tweaking Microsoft | TechCrunch

"Slack will use Amazon Chime for its call feature, while reiterating its commitment to use AWS as its preferred cloud provider to run its infrastructure. At the same time, Amazon has agreed to offer Slack as an option for all internal communications.

“Some parts of Amazon had licensed Slack before, but this is the first time it will be offered as an option to all employees,”"


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 |