Thursday, September 30, 2021

HTML => Flutter

 flutter_html | Flutter Package

A Flutter widget for rendering HTML and CSS as Flutter widgets.

A Screenshot of flutter_html  Another Screenshot of flutter_html  Yet another Screenshot of flutter_html

Tuesday, September 28, 2021

Literate programming & Notebooks

Literate programming - Wikipedia

Literate programming is a programming paradigm introduced by Donald Knuth in which a computer program is given an explanation of its logic in a natural language, such as English, interspersed with snippets of macros and traditional source code, from which compilable source code can be generated.[1] The approach is used in scientific computing and in data science routinely for reproducible research and open access purposes.[2] Literate programming tools are used by millions of programmers today.

The practice of literate programming has seen an important resurgence in the 2010s with the use of notebooks, especially in data science.

Project Jupyter - Wikipedia

#219 - Donald Knuth: Programming, Algorithms, Hard Problems & the Game of Life | Lex Fridman Podcast

Monday, September 27, 2021

Amazon S3 Multi-Region Access Points

 How to Accelerate Performance and Availability of Multi-region Applications with Amazon S3 Multi-Region Access Points | AWS News Blog

470-introducing-amazon-s3-multi-region-access-points - AWS Podcasts

What’s the shortest path between a storage request and your application? Find out with our new Amazon S3 Multi-Region Access Points. By factoring network congestion and location, it dynamically routes requests to the lowest latency copy of your data, improving performance by up to 60%.

Sunday, September 26, 2021

DuckDB: in-process SQL OLAP (column store) database

DuckDB - An in-process SQL OLAP database management system

In-process, serverless
C++11, no dependencies, single file build
APIs for Python/R/Java/…

Transactions, persistence
Extensive SQL support
Direct Parquet & CSV querying

Vectorized engine
Optimized for analytics
Parallel query processing

Free & Open Source
Permissive MIT License

Friday, September 24, 2021

Web Assembly: new default platform?

 Web Assembly should be a default binary target - DEV Community

reason: it is much more efficient.

"WebAssembly (WASM) is no longer a toy environment for cool demos. It's a thriving ecosystem that enables high-performance web applications with rich functionality. It's a portable code system that can run binaries in the cloud, or on your local machine. This may seem like an extreme position, but hear me out: if you develop a compiled library, language, or other tool you should consider making WASM a default binary target."

Diagram about how Cloudflare Workers works

Wednesday, September 22, 2021

visual Equinox 2021: with three.js (WebGL)

Fall equinox 2021: Exact time, start of autumn, and more for the September event

The 2021 fall equinox will take place on Wednesday, September 22, 2021 at 3:21 p.m. Eastern.

Intro to Three.js, Part 2 - Creating a Dynamic Earth-Moon System ·

The Solar System

GitHub - sanderblue/solar-system-threejs: The Solar System: Modeled to scale with Three.js


3D planets with Three.js / Vladimir Agafonkin / Observable


  const renderer = new THREE.WebGLRenderer();

  const size = Math.min(width, 600); 

  renderer.setSize(size, size); renderer.setPixelRatio(devicePixelRatio);

  const camera = new THREE.PerspectiveCamera(45, 1, 0.1, 1000).translateZ(2.8);

  const controls = new THREE.OrbitControls(camera, renderer.domElement);

  controls.minDistance = 1.12; controls.maxDistance = 10;

  const scene = new THREE.Scene();

  const map = await loadTexture(`${planet}.jpg`);

  scene.add(new THREE.Mesh(new THREE.SphereBufferGeometry(1, 32, 32), new THREE.MeshBasicMaterial({map})));


  renderer.render(scene, camera);

  controls.addEventListener("change", () => renderer.render(scene, camera));

  invalidation.then(() => (controls.dispose(), renderer.dispose()));

  return renderer.domElement;


Is It 'Autumn' or 'Fall'? | Merriam-Webster

Autumn and fall are used interchangeably as words for the season between summer and winter. Both are used in American and British English, but fall occurs more often in American English. Autumn is considered the more formal name for the season.

The older of the two words is autumn, which first came into English in the 1300s from the Latin word autumnus.

Cloud security: Azure CosmosDB

Microsoft Azure cloud vulnerability is the ‘worst you can imagine’ - The Verge

A flaw in Microsoft’s Azure Cosmos DB database product left more than 3,300 Azure customers open to complete unrestricted access by attackers. The vulnerability was introduced in 2019 when Microsoft added a data visualization feature called Jupyter Notebook to Cosmos DB.

Microsoft disabled the vulnerability within 48 hours of Wiz reporting

Tuesday, September 21, 2021

React without JSX, with Hooks

React example "counter" app with CDN scripts only, no node.js server for transpiling JSX.
The transliling (conversion of JSX syntax to JavaScript function calls) is done in web browser.

<div id='app'></div>
<script src=""></script>
<script src=""></script>
<script type="application/javascript" src=""></script>
<script type="text/babel">
  const Count = () => { 
    const [count, setCount] = React.useState(0);
    return (
        <p>You clicked {count} times</p>
        <button onClick={() => setCount(count + 1)}>Click!</button>
  ReactDOM.render(<Count />, document.getElementById('app'))

Next is the same example without using JSX at all, so no transpiling step an no babel script needed.
Instead, using React functions directly.

reactjs - Is it possible to use React Hooks API without using JSX (in typescript) - Stack Overflow

<div id='app'></div>
<script src=""></script>
<script src=""></script>
const e = React.createElement;
const Count = () => {
   const [count, setCount] = React.useState(0);
   const button = e('button', {onClick: () => setCount(count+1)}, 'Click!');
   return e('div'null, e('p'null, `You clicked ${count} times`), button);
ReactDOM.render(e(Count), document.getElementById('app'));

while developing is is convenient to use React dev includes, that show descriptive messages

<script src=""></script>
<script src=""></script>

React Without JSX – React

Introducing Hooks – React

Monday, September 20, 2021

Sunday, September 19, 2021

Thoughtworks => $ 9 B

 Thoughtworks valued at about $9 bln after shares surge in debut | Reuters

Sept 15 (Reuters) - Shares of Thoughtworks Inc (TWKS.O) jumped nearly 24% in their Nasdaq debut on Wednesday, valuing the company at nearly $9 billion, after the software consultancy firm priced its initial public offering well above range.

The company's stock opened at $26, compared with its initial public offering price of $21. This was above its targeted price range of $18 to $20.

many some notable sw architecture people and books came from this companty

JavaScript Tagged Template Literals (strings)

 Template literals (Template strings) - JavaScript | MDN

Template literals are literals delimited with backticks (`), allowing embedded expressions called substitutions.

  • Untagged template literals result in strings, which makes them useful for string interpolation (and multiline strings, since unescaped newlines are allowed).
  • Tagged template literals call a function (the tag function) with an array of any text segments from the literal followed by arguments with the values of any substitutions, which is useful for DSLs.
Tag functions don't even need to return a string!

Saturday, September 18, 2021 =

Diagram Software and Flowchart Maker

Example diagram's open source diagramming is moving to due to .io ethics & security issues | AlternativeTo

"Popular open source diagramming web app is migrating away from its iconic .io domain name to in order to improve security and ethics.
The development team behind what was and will now become detailed their reasoning for the migration in a blog post. The main impetus for the move is a security issue inherent to .io top-level domains that the administrator behind issuing said domains has provided zero communication addressing. This complete lack of communication has caused the development team to lose their trust of the .io TLD administrator."


Friday, September 17, 2021

Running Docker @ AWS Lambda

 New for AWS Lambda – Container Image Support | AWS News Blog

you can now package and deploy Lambda functions as container images of up to 10 GB in size. In this way, you can also easily build and deploy larger workloads that rely on sizable dependencies, such as machine learning or data intensive workloads. Just like functions packaged as ZIP archives, functions deployed as container images benefit from the same operational simplicity, automatic scaling, high availability, and native integrations with many services.

Screenshot of the console.

example:  simple Node.js Lambda function generating a PDF file using the PDFKit module. 

Wednesday, September 15, 2021

SpaceX Inspiration4 first all civilian launch!

WATCH: SpaceX Inspiration4 first all civilian launch! - Livestream - YouTube


SpaceX - Launches

Inspiration4 | Launch - YouTube

Inspiration4 - Wikipedia

Artist's Rendering Of The SpaceX Crew Dragon And Its Cupola To Be Flown On Inspiration4 Mission.jpg

AWS Organizations

466-managing-the-cloud-environment-with-aws-organizations - AWS Podcasts

In the 2020 re:Invent security keynote, the #1 recommendation for customers to secure their environment was to use AWS Organizations.

Learn more 

Centrally manage and govern your environment as you scale your AWS resources

AWS Organizations helps you centrally manage and govern your environment as you grow and scale your AWS resources. Using AWS Organizations, you can programmatically create new AWS accounts and allocate resources, group accounts to organize your workflows, apply policies to accounts or groups for governance, and simplify billing by using a single payment method for all of your accounts.

In addition, AWS Organizations is integrated with other AWS services so you can define central configurations, security mechanisms, audit requirements, and resource sharing across accounts in your organization. AWS Organizations is available to all AWS customers at no additional charge.


Tuesday, September 14, 2021

EV: Rivian R1T

 First Production Rivian R1T Rolls Off Assembly Line

efficient blockchain: Hedera Hashgraph

Hello future | Hedera Hashgraph

"Bitcoin pioneered decentralized infrastructure and Ethereum brought programmability. But earlier proof-of-work blockchains consume massive amounts of energy and process transactions slowly in order to achieve acceptable levels of security. Heavy bandwidth consumption by these technologies leads to expensive fees, even for a simple cryptocurrency transaction.

The Hedera proof-of-stake public network, powered by hashgraph consensus, achieves the highest-grade of security possible (ABFT), with blazing-fast transaction speeds and incredibly low bandwidth consumption. By combining high-throughput, low fees, and finality in seconds, Hedera leads the way for the future of public ledgers."

Hedera Hashgraph: Proof-of-Stake Public Networks with Leemon Baird - Software Engineering Daily

Leemon Baird | LinkedIn

Hashgraph - Wikipedia

"Hashgraph is a distributed ledger technology that has been described as a continuation or successor to blockchains. The hashgraph technology is currently patented, and the only authorized ledger is Hedera Hashgraph. The native cryptocurrency of the Hedera Hashgraph system is HBAR.

The hashgraph protocol uses directed acyclic graphs to create an asynchronous Byzantine Fault-Tolerant (aBFT) consensus algorithm.[1] Unlike blockchains, hashgraphs do not use miners to validate transactions. Instead, hashgraphs use a "gossip about gossip" protocol to create directed acyclic graphs for time-sequencing transactions without bundling them into blocks."

Monday, September 13, 2021

Modern web apps without JavaScript bundling or transpiling

 Modern web apps without JavaScript bundling or transpiling

Ruby on Rails' Creator on Modern Web Apps without JS Bundling or Transpiling — David Heinemeier Hansson (the original creator of the popular Ruby on Rails framework) has explained where he sees the future of JavaScript in Rails-based apps and it involves using import maps and not needing bundlers like Webpacker – instead apps will just pull in the ES modules needed. He also shows off how it works in this 27-minute screencast.

Saturday, September 11, 2021

App Store external payment: Epic v. Apple case

Judge issues permanent injunction on App Store model in Epic v. Apple case | Engadget

"The judge in the case between Apple and Epic Games has issued a permanent injunction against Apple. The company must allow App Store developers to direct users to other payment systems, which would let them bypass the 30 percent cut of in-app payments that Apple takes.

On every other count, Judge Gonzales Rogers ruled in Apple's favor, determining, among other things, that the App Store doesn't violate antitrust law. She also ruled against Epic in Apple's counterclaim for breach of contract. As such, Epic must pay Apple $3.65 million."

A woman looks at the screen of her mobile phone in front of an Apple logo outside its store in Shanghai, China July 30, 2017. REUTERS/Aly Song     TPX IMAGES OF THE DAY

DaaS: Data as a Service: SafeGraph

Places Data & Foot Traffic Insights | SafeGraph

SafeGraph Core | Point of Interest (POI) Data For Any Place

SafeGraph Shop - Preview or Buy Geospatial Data

DaaS with Auren Hoffman - Software Engineering Daily

Thursday, September 09, 2021

"X" vs. Tesla, SpaceX ("yoke is a joke", "rules are for other people")


Desperate for attention? Just attack Elon Musk, Tesla & SpaceX

Edmunds Tells Us Why The Tesla Model S Plaid Is A Waste Of Money

2021 Tesla Model S Plaid Review | Our Full Instrumented Test | Price, Range, 0-60 & More - YouTube

Tesla Model S Plaid receives scathing review from Edmunds: ‘A waste of money’

The Tesla Model S Plaid is nothing more than a marketing exercise designed to draw attention to an aging car. Also, the yoke is a joke. Our full review of the fastest car we’ve ever tested:

Amazon slams SpaceX, tells FCC that Musk-led companies are rule-breakers | Ars Technica

Illustration of many satellites orbiting the Earth.

"Whether it is launching satellites with unlicensed antennas, launching rockets without approval, building an unapproved launch tower, or re-opening a factory in violation of a shelter-in-place order, the conduct of SpaceX and other Musk-led companies makes their view plain: rules are for other people, and those who insist upon or even simply request compliance are deserving of derision and ad hominem attacks," Amazon told the FCC.

Wednesday, September 08, 2021

OpenAI Codex: generating code by AI

 OpenAI Codex

"OpenAI Codex, our AI system that translates natural language to code, and we are releasing it through our API in private beta starting today. Codex is the model that powers GitHub Copilot, which we built and launched in partnership with GitHub a month ago. Proficient in more than a dozen programming languages, Codex can now interpret simple commands in natural language and execute them on the user’s behalf—making it possible to build a natural language interface to existing applications. We are now inviting businesses and developers to build on top of OpenAI Codex through our API."

link from:

Training GPT-3 reportedly cost $12 Million for a single training run¹. Is that really the most efficient way to train a model?

Flutter Widget catalog

Monday, September 06, 2021

TypeScript 4.4: "catch uknown"

many new linter errors with TypeScript upgrade... 
"solution": catch (err: any)

Announcing T TypeScript 4.4 |ypeScript

In JavaScript, any type of value can be thrown with throw and caught in a catch clause. Because of this, TypeScript historically typed catch clause variables as any, and would not allow any other type annotation:

That’s why TypeScript 4.4 introduces a new flag called --useUnknownInCatchVariables. This flag changes the default type of catch clause variables from any to unknown.

try {
catch (err) { // err: unknown (default type, used to be "any")

    // Error! Property 'message' does not exist on type 'unknown'.

    // Works! We can narrow 'err' from 'unknown' to 'Error'.
    if (err instanceof Error) {

Geekout: Renewable Energy

It is recorded over SpaceX StarLink satellite internet!
Apparently StarLink is quite usable already!

Geekout: Renewable Energy - Talk Python Live Stream Episode 329 - YouTube

Episode #329 Geekout: Renewable Energy - [Talk Python To Me Podcast]

Links from the show

Richard on Twitter: @richcampbell

IEA report 2021:
Flywheel storage:
Crane storage:
Pumped hydro storage:
Tesla battery utility-scale:
The US’s largest solar farm is canceled because Nevada locals don’t want to look at it:
DEVintersection conference (run by Richard):
.NET Rocks Podcast (Richard's a cohost, many geekout episodes):

Prior Geekouts on Talk Python
#276: Geekout: Life in the solar system and beyond:
#253: Moon base geekout:
Episode transcripts:

Sunday, September 05, 2021

Change New Tab Page to blank page in Microsoft Edge

How to change the New Tab Page to blank page in Microsoft Edge

Custom New Tab Off Edge Blank

HW: Performance per Watt Is the New Moore’s Law => Koomey’s Law

 Performance per Watt Is the New Moore’s Law - Arm Blueprint

"Koomey’s Law, coined in 2010 and named for Stanford professor Jonathan Koomey, describes a trend in the number of computations per joule of dissipated energy. This number doubled every 18 months from 1945 to 2000 (100x per decade), then slowed, doubling every 2.6 years or so since (16x per decade).

Koomey’s Law reflects the prevailing metric of computing power – peak efficiency initially then, more recently, typical use efficiency – and also the relatively static nature of power budgets. We expect our devices to have a certain power profile, even as Moore’s Law increases their compute capability.

It’s clear that the tech roadmap can no longer focus on increasing processing power alone. Squeezing more performance out of the same chips remains a top priority, and performance per watt is where it’s at. But it’s more than just watts – it’s also energy, the amount of power consumed over time."

Saturday, September 04, 2021

EV: Rivian: 0 => $80B ?

Rivian seeks $80B valuation in confidential IPO filing

"Rivian has filed for its Initial Public Offering (IPO) with the SEC confidentially and is seeking an initial valuation of $80 billion, according to reports.

Rivian, an electric car company headed by founder and CEO RJ Scaringe, is set to deliver its first vehicles in September. Ahead of the first deliveries of the R1T, Rivian has confidentially filed for its IPO, according to Bloomberg. Sources also stated that Rivian would seek an $80 billion valuation, which would make it the sixth-most valuable car company in the world, displacing General Motors with a valuation of $72.22 billion. Daimler is fifth with an $89.76 billion valuation."

"Rivian is backed by several high-profile companies, including e-commerce giant Amazon, legacy automaker Ford, and Cox Automotive. The company has raised $10.5 billion from its investors since welcoming private investments for the first time in 2019. Rivian has had multiple billion-dollar funding rounds, with the first taking place in 2020. The company recently rounded up another funding round that was capped with $2.5 billion in private investments.

Rivian will be the first company to bring an all-electric pickup truck to the market when it begins deliveries next month."

SpaceX += IoT (Swarm Technologies)

SpaceX Acquires Swarm Technologies, A Small Satellite Mobile Broadband

"Swarm Technologies, Inc. is a private company working to build an Internet of Things (IoT) constellation of very small satellites (CubeSats) in low Earth orbit to provide mobile broadband data anywhere globally. On July 16, SpaceX acquired Swarm Technologies, it is now a direct wholly-owned subsidiary of SpaceX, according to a Federal Communications Commission (FCC) filing."

SpaceX Acquires Swarm Technologies, A Small Satellite Mobile Broadband Constellation

Friday, September 03, 2021

React JSX Transform

 Introducing the New JSX Transform – React Blog

Upgrading to the new transform is completely optional, but it has a few benefits:

With the new transform, you can use JSX without importing React.

Depending on your setup, its compiled output may slightly improve the bundle size.

It will enable future improvements that reduce the number of concepts you need to learn React.

import React from 'react'; 
function App() { return <h1>Hello World</h1>; }

import React from 'react';
function App() {
 return <h1>Hello World</h1>;

function App() { return React.createElement('h1', null, 'Hello world'); }
// Inserted by a compiler (don't import it yourself!) 
import {jsx as _jsx} from 'react/jsx-runtime'; 
function App() { 
    return _jsx('h1', { children: 'Hello world' });