Monday, October 31, 2022

"SuperCloud 3.0"

one more "buzzword" :)


Supercloud is an emerging computing architecture that comprises a set of services abstracted from the underlying primitives of hyperscale clouds (e.g., compute, storage, networking, security, and other native resources) to create a global system spanning more than one cloud.

Supercloud has three essential properties, three deployment models, and three service models.

  • Runs a set of services across more than one cloud.
  • Purpose-built SuperPaaS Layer.
  • Metadata Intelligence.
Service Models
  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS).
  • Software as a Service (SaaS).


 The Cloudcast: Examining SuperCloud 3.0

WHAT IS SUPERCLOUD, AND WHY MIGHT IT BE IMPORTANT

  • Multi-Cloud is a real thing (for various reasons), but Multi-Cloud-App is an anomaly.
  • Maybe it’s a SuperApp, instead of a SuperCloud
  • Clouds, Politics, Insurance
  • What happens if applications “span” availability zones? Span regions? 
  • Can SuperCloud be a thing for the application, or mostly the data?
  • The cost of moving data makes these types of applications very difficult to build and manage.
  • Load-balancing, DNS, CDNs


2022 Look Ahead to SuperCloud (Eps.586)




Snowflake’s Data Cloud as an example of supercloud. And the momentum of Databricks (not shown above). VMware is clearly going after cross-cloud services. Basically every large company we see either pursuing supercloud initiatives or thinking about it. Dell, for example, showed Project Alpine at Dell Tech World – that’s a supercloud in development. Snowflake introducing a new app dev capability based on their SuperPaaS (our term of course they don’t use the phrase), MongoDB, Couchbase, Nutanix, Veeam, Crowdstrike, Okta, Zscaler. Even the likes of Cisco and HPE in our view will be building superclouds




Elon Musk "X" += Twitter

Elon Musk has pulled more than 50 Tesla employees into Twitter


Elon Musk says he will be Twitter CEO | Reuters


Elon Musk, Twitter and the mysterious X app - BBC News

"an enigmatic tweet from Musk himself to his 107 million followers about creating "X, the everything app".

could well be eyeing something along the lines of the hugely successful Chinese app WeChat. That's a kind of "super app" which incorporates a lot of different services including messaging, social media, payments and food orders - there is as yet no such thing in the west."


Sunday, October 30, 2022

Wails v2: Golang Desktop Web UI

Wails v2 Released | Wails

a project that enables Go programmers to provide rich frontends for their Go programs using familiar web technologies. It's a lightweight, Go alternative to Electron. Much more information can be found on the official site.

 Golang Weekly Issue 429: September 23, 2022

step forward for a project that has shown a lot of promise in recent years. Wails is an Electron-a-like for Go for building cross-platform desktop apps using Go as the base language and JavaScript on the front (and, yes, JS can call your Go functions). v2 introduces a lot of improvements:

  • Svelte, Vue, (P)React, Lit and vanilla JS templates.
  • Native window translucency effects.
  • NSIS installer generation for Windows.
  • Code obfuscation and binary compression support.
  • No extra libraries or DLLs to ship.


Saturday, October 29, 2022

React + (Rast => WASM)

Deploying a WASM-Powered React App on Vercel | by Mukkund Sunjii | Sep, 2022 | Better Programming


A step-by-step guide to getting your WASM-react app out into the world!

React app supercharged by functions written in Rust

Google Cloud for Web3

Web3  |  Google Cloud

Introducing Blockchain Node Engine | Google Cloud Blog

"While self-managed nodes are often difficult to deploy and require constant management, Blockchain Node Engine is a fully managed node-hosting service that can minimize the need for node operations. Web3 companies who require dedicated nodes can relay transactions, deploy smart contracts, and read or write blockchain data with the reliability, performance, and security they expect from Google Cloud compute and network infrastructure."

Google for Startups Cloud Program | Google Cloud

Get access to startup experts, Cloud cost coverage (up to $100,000 for each of the first two years), technical and business support via training benefits, and Google-wide offers.

Friday, October 28, 2022

book: "Code", Second Edition by Charles Petzold

 Hanselminutes Technology Podcast - Fresh Air and Fresh Perspectives for Developers - Celebrating the Second Edition of Code with Charles Petzold

"The classic guide to how computers work has been updated with new chapters and interactive graphics! Code: The Hidden Language of Computer Hardware and Software, 2nd Edition by Charles Petzold is now available. Charles explains why he added chapters, reordered content, incorporated new examples, and updated descriptions in his best-selling book."

Thursday, October 27, 2022

node.js => native binary, with vercel/pkg

 Node.js Native Binary Compilation Using vercel/pkg | Pulumi Blog

Here’s an example of building the project in the current directory using node v18 for macOS ARM architectures:

# pkg [options] <input>
# -t, --targets        comma-separated list of targets
# -o, --output         output file name or template for several files
pkg -t node18-macos-arm64 -o bin/my-program .

Wednesday, October 26, 2022

data format: Amazon Ion

 Amazon Ion

Amazon Ion is a richly-typedself-describing, hierarchical data serialization format offering interchangeable binary and text representations. The text format (a superset of JSON) is easy to read and author, supporting rapid prototyping. The binary representation is efficient to store, transmit, and skip-scan parse. The rich type system provides unambiguous semantics for long-term preservation of data which can survive multiple generations of software evolution.

Ion was built to address rapid development, decoupling, and efficiency challenges faced every day while engineering large-scale, service-oriented architectures. It has been addressing these challenges within Amazon for nearly a decade, and we believe others will benefit as well.

Available Languages: C – C# – Go – Java – JavaScript – Python – Rust
Community Supported: D – PHP
Related Projects: Ion Hash – Ion Schema
Tools: Hive SerDe


Ion (serialization format) - Wikipedia

// comments are allowed in Ion files using the double forward slash 
{
  key: "value",   // key here is a symbol, it can also be a string as in JSON
  nums: 1_000_000, // equivalent to 1000000, use of underscores with numbers is more readable
  'A float value': -31415e-4,  // key is a value that contains spaces 
  "An int value": null.int,
  annotated: age::45,     // age here is the annotation to number 45
  lists : 'hw grades'::[80, 85, 90], // any symbol can be used as an annotation 
  many_annot: I::have::many::annotations::true, // annotations are not nested, but rather, a list of annotations
  sexp: (this (is a [valid] "Ion") last::value 42) // Ion S-expressions, 
  blob_value: {{OiBTIKUgTyAASb8=}},
  clob_value: {{"a b"}}
}

Docker+WASM !

interesting change of spelling: WASM => Wasm


Docker+Wasm (Beta) | Docker Documentation


Wasm (short for WebAssembly) is a faster, lighter alternative to the Linux & Windows containers you’re using in Docker today (with some tradeoffs).

... new ability to run Wasm applications alongside your Linux containers in Docker. To learn more about the launch and how the preview works, read the launch blog post here.


docker run -dp 8080:8080 --name=wasm-example --runtime=io.containerd.wasmedge.v1 --platform=wasi/wasm32 michaelirwin244/wasm-example






Tuesday, October 25, 2022

Linux += Rust

 Linus Torvalds: Rust will go into Linux 6.1 | ZDNET

"The Rust in Linux debate is over. The implementation has begun. In an email conversation, Linux's creator Linus Torvalds, told me, "Unless something odd happens, it [Rust] will make it into 6.1."

The Rust programming language entering the Linux kernel has been coming for some time. At the 2020 Linux Plumbers Conference, developers started considering using the Rust language for new Linux inline code

Google, which supports Rust for developing Android -- itself a Linux distro -- began pushing for Rust in the Linux kernel in April 2021.




AWS CLI retries, CloudFront distribution retry


AWS CLI retries - AWS Command Line Interface

  • A default value of 2 for maximum retry attempts, making a total of 3 call attempts. This value can be overwritten through the max_attempts configuration parameter.

  • Retry attempts on nondescriptive, transient error codes. Specifically, these HTTP status codes: 500, 502, 503, 504.

  • Any retry attempt will include an exponential backoff by a base factor of 2 for a maximum backoff time of 20 seconds.


The retry environment variables are:

  • AWS_RETRY_MODE

  • AWS_MAX_ATTEMPTS



You can use increase the number of retries directly in your command:

AWS_MAX_ATTEMPTS=10 aws cloudfront create-invalidation --distribution-id=EVB1B2B3B4B56 --paths "/*"

Monday, October 24, 2022

MemLab: tool for hunting JS memory leaks

 MemLab: An open source framework for finding JavaScript memory leaks

Facebook open-sourced MemLab, a JavaScript memory testing framework that automates memory leak detection.

Sunday, October 23, 2022

tool: Compiler Explorer

an online IDE for many programming lanuages

 Compiler Explorer


author:

About me - Matt Godbolt — Matt Godbolt’s blog


compiler-explorer/compiler-explorer: Run compilers interactively from your web browser and interact with the assembly @GitHub

Compiler Explorer is an interactive compiler exploration website. Edit code in C, C++, C#, F#, Rust, Go, D, Haskell, Swift, Pascal, ispc, Python, Java or in any of the other 30+ supported languages, and see how that code looks after being compiled in real time. Multiple compilers are supported for each language, many different tools and visualisations are available, and the UI layout is configurable

Saturday, October 22, 2022

uuid base58 encode/decode

 cbschuld/uuid-base58: Generate a RFC4122 compliant v4 UUID and return it encoded in base-58. This is great for creating unique IDs which only consume 22 characters of storage. Also provides base-58 encoding and decoding. @GitHub

"Generate a RFC4122 compliant v4 UUID and return it encoded in base-58. This is great for creating unique IDs which only consume 22 characters of storage (some encodes are 21 characters). Also library also provides base-58 encoding, decoding and validation."


the same can be achieved by combination of uuid and uuid-parse libs










Friday, October 21, 2022

DgrmJS: JavaScript for SVG flow diagrams

Finally a "native" way to generate graphs, instead of graphviz (graphviz.org)

 AlexeyBoiko/DgrmJS: DgrmJS is a JavaScript library for creating SVG flow diagrams. The main goal of the library is to set up workflows in BPM (Business Process Management) systems. Works on desktop and mobile, has no dependency, 3.5 KB gzipped. @GitHub

NPM

DgrmJS is a JavaScript library for creating SVG flow diagram editors.
The main goal of the library is to set up workflows in BPM (Business Process Management) systems.

  • Works on desktop and mobile
  • Has no dependency
  • 3.5 KB gzipped

Thursday, October 20, 2022

JavaScript on WebAssembly with WasmEdge

usually WASM runs on JavaScript engine, i.e. (Chrome) V8

but there could be a stand-alone WASM engine
and there are alternative, "mini" JavaScript engines, that take less resources.

JavaScript ecosystem is like biological, rich, diverse and strange sometimes :)

 Running JavaScript in WebAssembly with WasmEdge

WasmEdge is a leading cloud-native WebAssembly runtime hosted by the CNCF (Cloud Native Computing Foundation) / Linux Foundation. It is the fastest WebAssembly runtime in the market today. WasmEdge supports all standard WebAssembly extensions as well as proprietary extensions for Tensorflow inference, KV store, and image processing, etc. Its compiler toolchain supports not only WebAssembly languages such as C/C++, Rust, Swift, Kotlin, and AssemblyScript but also regular JavaScript.

A WasmEdge application can be embedded into a C program, a Go program, a Rust program, a JavaScript program, or the operating system’s CLI. The runtime can be managed by Docker tools (eg CRI-O), orchestration tools (eg K8s), serverless platforms (eg Vercel, Netlify, AWS Lambda, Tencent SCF), and data streaming frameworks (eg YoMo and Zenoh).

Now, you can run JavaScript programs in WasmEdge powered serverless functions, microservices, and AIoT applications! It not only runs plain JavaScript programs but also allows developers to use Rust and C/C++ to create new JavaScript APIs within the safety sandbox of WebAssembly.

security links

Shodan Search Engine

Shodan is the world's first search engine for Internet-connected devices. Discover how Internet intelligence can help you make better decisions.



The OWASP Top 10 is a standard awareness document for developers and web application security. It represents a broad consensus about the most critical security risks to web applications.



The OWASP Application Security Verification Standard (ASVS) Project provides a basis for testing web application technical security controls and also provides developers with a list of requirements for secure development.



Little Bobby Tables - explain xkcd













Wednesday, October 19, 2022

Sudoku solver with GoLang & WebAssembly (WASM)

 Sudoku, Go and WebAssembly - Eli Bendersky's website

eliben/go-sudoku: Toolkit for solving and generating Sudoku puzzles in Go @GitHub

This is a toolkit for solving and generating Sudoku puzzles in Go.

go-sudoku includes functionality to emit a Sudoku board into a printable SVG format, like this:


Peter Norvig's fantastic Solving Every Sudoku Puzzle, where he describes a constraint-satisfaction solver written in Python. 


Monday, October 17, 2022

zip-monster.js: US Zip codes library

 russo-programmisto/zip-monster: Zip codes @GitHub (MIT, TypeScript)

ZipMonster is a library that simplifies work with zip codes and addresses in the United States.


@russo-programmisto/zip-monster - npm


more similar libs

zipcode - npm search


blakek/us-zips: 🇺🇸🗺 A list of US ZIP codes and their geolocations


Data for ZIP codes and their geolocations was generated from this file, which can be downloaded from the US Census Bureau map data page.

If you need the nearest ZIPs for a geolocation, see if geo2zip fits your needs. It is much faster than the demo above and uses this package as a source.

Sunday, October 16, 2022

Node.js: architecture, APIs, event loop, concurrency

excellent article!

An overview of Node.js: architecture, APIs, event loop, concurrency

by Dr. Axel Rauschmayer

  • What its architecture looks like.
  • How its APIs are structured.
    • A few highlights of its global variables and built-in modules.
  • How it runs JavaScript in a single thread via an event loop.
  • Options for concurrent JavaScript on this platform.
Promises are explained in more detail in “JavaScript for impatient programmers”.



"90 Days Of DevOps"

 GitHub - MichaelCade/90DaysOfDevOps: This repository is my documenting repository for learning the world of DevOps. I started this journey on the 1st January 2022 and I plan to run to March 31st for a complete 90-day romp on spending an hour a day including weekends to get a foundational knowledge across a lot of different areas that make up DevOps.

The goal is to take 90 days, 1 hour each a day, to tackle over 13 areas of "DevOps" to a foundational knowledge. This will not cover all things "DevOps" but it will cover the areas that I feel will benefit my learning and understanding overall.




Saturday, October 15, 2022

dev tool: BenchmarkDotNet

Overview | BenchmarkDotNet


dotnet/BenchmarkDotNet: Powerful .NET library for benchmarking @GitHub

Benchmarking .NET 6 Applications Using BenchmarkDotNet: A Deep Dive

"BenchmarkDotNet is an open-source library compatible with both .NET Framework and .NET Core applications that can convert your .NET methods into benchmarks, monitor those methods, and get insights into the performance data collected. BenchmarkDotNet can quickly transform your methods into benchmarks, run those benchmarks and obtain the results of the benchmarking process. In the BenchmarkDotNet terminology, an operation refers to executing a method decorated with the Benchmark attribute. A collection of such operations is known as an iteration"

Friday, October 14, 2022

7 Days in a Week, matching Roman "planets"

A strange "web" of partially correct ideas that define our world...

Planets are discovered as "wandering" objects on the night sky that behave differently than stars:
while stars all move "around" us (as Earth rotates), Sun, Moon, and planets move differently.
That made a "connection" to mystic "gods" for each of them.

Next, Romans named days of the week are based on those objects on the night sky,
based on perceived "distance". And since there was 7 of such objects known at that time
so there is 7 days in the week! Simple :)

Please observe that at that time the Earth was firmly considered "center of the universe",
and mostly flat, with unknowns beyond distant shores. 

What could be other misconceptions that are currently taken as "true",
for not yet knowing better?


A great talk!

The Pluto Files | Neil deGrasse Tyson | Talks at Google - YouTube


Why Are There 7 Days in a Week?

  • Day 0: Sun (Sunday)
  • Day 1: Moon (Monday)
  • Day 2: Mars (Tuesday)
  • Day 3: Mercury (Wednesday)
  • Day 4: Jupiter (Thursday)
  • Day 5: Venus (Friday)
  • Day 6: Saturn (Saturday)


Thursday, October 13, 2022

hack: speed up Vimeo video 2x, 3x

this works! 

make sure to first open video in a separate tab, to skip iframe

How can I speed up Vimeo videos to 2x-3x? - Quora

Easiest way to do this, without adding browser extensions, is to use the dev tools. For example, in chrome, you can press “Control + Shift + J”. Go to the console tab, and copy/paste the following and press enter.

  1. document.querySelector('video').playbackRate = 2.0 

This will speed up the video 2x


The Immunity Solution


https://player.vimeo.com/video/758907978

Dr. David Perlmutter





web components: Chess

web components are now natively supported by all current web browsers
and are usable directly or with any JavaScript library or framework.

Still, the number of available usable components is quite limited. 

Example: chess 

sandy98/chess-board: ChessBoard as a web component, meant to be used with any framework (Vue, React, Angular, even none). Compiled with Stencil.js. See demo at:


laat/chess-board - webcomponents.org

A Web Component for displaying chess positions

laat/chess-board: A Web Component for displaying chess positions @GitHub





standalone JavaScript Chess Board.




React:




not even close to "pro" app like Lichess


Lichess @GitHub

Wednesday, October 12, 2022

Microsoft free cloud certification


Microsoft Ignite | Cloud Skills Challenge

Complete one challenge and earn a free Microsoft Certification exam

AWS Simple Workflow vs AWS Step Functions vs Apache Airflow

good article

AWS Simple Workflow vs AWS Step Functions vs Apache Airflow | LinkedIn

The AWS Simple Workflow Service (SWF) allows you to coordinate work between distributed applications.

AWS Step Functions enables you to coordinate distributed applications and microservices through visual workflows.

Apache Airflow is an open-source workflow management platform for data engineering pipelines.
Amazon Managed Workflows for Apache Airflow (MWAA) – Amazon Web Services


Tuesday, October 11, 2022

EpicWeb.dev courses by Kent C. Dodds

I'm building EpicWeb.dev @Kent C. Dodds blog

"everything I know about building web applications and package it up into a consumable form"


EpicWeb.dev will be at least two times bigger than EpicReact.dev

Courses by Kent C. Dodds

TestingJavaScript.com and EpicReact.dev


Sunday, October 09, 2022

First crypto real estate sale

 Crypto real estate: the property market built on digital assets | Financial Times

Portugal, which does not have capital gains taxes for cryptocurrencies, has been a haven for crypto investors. In mid-April, Silva’s office issued guidance on how notaries should approach crypto transactions without the need to convert to euros before becoming legal

Portugal’s first property sale in cryptocurrency was for an apartment in Braga © Zome Real Estate


IoT: Matter 1.0

 Episode 392: Matter is here. Now what? - IoT Podcast - Internet of Things


Matter is now official! - Stacey on IoT | Internet of Things news and analysis

The Connectivity Standards Alliance has certified and released the first version of the Matter smart home interoperability protocol.This means that member companies can now put their devices through the certification protocol and get a badge showing that their products are Matter compliant.



Friday, October 07, 2022

3D web with three.js: Atom

a nice demo of using three.js

Three.js – JavaScript 3D Library

DNA

Atom @CodePen


See the Pen Atom by BarZ (@eebgwuss) on CodePen.

Thursday, October 06, 2022

re-constructing React, with Parcel.js

very good and useful!

Deconstructing React || Tejas Kumar - YouTube

Tejas learns by taking things apart and putting them back together.

Let’s do this with React in order to get a deeper understanding of: 

• The Virtual DOM 

• Hooks, and 

• Suspense for data fetching


AlexZ005/DecontructingReact: Code from YouTube video "Deconstructing React || Tejas Kumar"

This is the code from "Deconstructing React || Tejas Kumar" video

Parcel.js with React (JSX)

Parcel supports JSX automatically when it detects you are using React. If you’re using React 17 or later, it also automatically enables the modern JSX transform, which means you don't even need to import React for JSX to work


How to Set Up a React App with Parcel


TejasQ (Tejas Kumar) @GitHub




Wednesday, October 05, 2022

GoLang style guide from Uber

 guide/style.md at master · uber-go/guide @GitHub

This documents idiomatic conventions in Go code that ... follow at Uber. A lot of these are general guidelines for Go, while others extend upon external resources:

  1. Effective Go
  2. Go Common Mistakes
  3. Go Code Review Comments

Tuesday, October 04, 2022

Product-Market Fit

 12 Things about Product-Market Fit | Future

a16z podcast: Product-Market Sales Fit (What Comes First?) | Future

"One of the toughest challenges for founders — and especially technical founders who are used to focusing so much on product features over sales — is striking “product-market fit”. The concept can be defined many ways, but the simple definition shared in this episode is: it’s when you understand the business value of your product."

Monday, October 03, 2022

AWS Innovate on-demand

video recordings from recent AWS event

 Innovate - Every Application Edition On Demand

eBPF: Linux kernel "plugins"

  • 📘 What is eBPF? - written by Liz Rice, free to download
eBPF is a framework that allows users to load and run custom programs within the kernel of the operating system. That means it can extend or even modify the way the kernel behaves. In this report, you will learn about the ability to dynamically change the behavior of the kernel can be tremendously useful.

The power of eBPF with Liz Rice (The Changelog #501) |> Changelog

All your network are belong to eBPF featuring Liz Rice & Thomas Graf (Ship It! #67) |> Changelog