Saturday, December 31, 2022

WebAssembly apps

Fermyon Technologies | Fermyon Technologies (@FermyonTech)

Fermyon Cloud is the easiest way to deploy and manage cloud native WebAssembly applications with Spin, developer tool.

podcast

"When Web Assembly was created it was supposed to be a compile target, where you could compile your favorite programming language and then execute it inside of a web browser. This made it possible for developers to choose a programming language like C++ for compute intensive applications. Fermyon is taking Web Assembly to the cloud. With Fermyon Cloud deploying and managing cloud-native WebAssembly applications becomes a breeze. Matt Butcher is the CEO at Fermyon Technologies"


"Spin is an open source framework for building and running fast, secure, and composable cloud microservices with WebAssembly. It aims to be the easiest way to get started with WebAssembly microservices, and takes advantage of the latest developments in the WebAssembly component model and Wasmtime runtime.

Spin offers a simple CLI that helps you create, distribute, and execute applications, and in the next sections we will learn more about Spin applications and how to get started."



even Docker is working on WASM
docker run -dp 8080:8080 \
  --name=wasm-example \
  --runtime=io.containerd.wasmedge.v1 \
  --platform=wasi/wasm32 \
  michaelirwin244/wasm-example

Tuesday, December 27, 2022

KubeView: Kubernetes cluster visualiser and graphical explorer

KubeView | Kubernetes cluster visualiser and graphical explorer

Kubernetes cluster visualiser and visual explorer

KubeView displays what is happening inside a Kubernetes cluster (or single namespace), it maps out the API objects and how they are interconnected. Data is fetched real-time from the Kubernetes API. The status of some objects (Pods, ReplicaSets, Deployments) is colour coded red/green to represent their status and health

benc-uk/kubeview: Kubernetes cluster visualiser and graphical explorer

@GitHub

GoLang + Vue.js, MIT license

benc-uk (benc-uk) / Repositories

KubeView Short Demo - YouTube




Monday, December 26, 2022

Markdown linter rules config file

DavidAnson/vscode-markdownlint: Markdown linting and style checking for Visual Studio Code

Rules can be enabled, disabled, and customized by creating a JSON file named .markdownlint.jsonc/.markdownlint.json or a YAML file named .markdownlint.yaml/.markdownlint.yml or a JavaScript file named .markdownlint.cjs in any directory of a project.

markdownlint/Rules.md at v0.26.2 · DavidAnson/markdownlint

the rules can be configured by "number", or by "alias"; 

example: .markdownlint.yml

line-length: false
no-duplicate-header: false
no-inline-html: false



Sunday, December 25, 2022

GitHub, VS Code support Mermaid.js graphs (vs Graphviz)

Mermaid JS: Finally There's A Great UML & Diagram Drawing Tool - YouTube

Mermaid vs PlantUML vs HackerDraw: Which One Is Best For You? - YouTube


mermaid.js is a "native js" library, while GraphViz is written in C, so harder to deploy

GitHub adding support for Mermaid diagrams - Show and Tell - Graphviz

Mermaid is a JS library easily embeddable, with sequence diagrams, entity relationship diagrams, gantts, alongside more traditional graphviz-style directed graphs.


Mermaid it is also supported by VS Code, as an extension of Markdown syntax.

Markdown Preview Mermaid Support - Visual Studio Marketplace

Mermaid Preview - Visual Studio Marketplace

```mermaid
sequenceDiagram
  A-->B: Works!
```

Mermaid Markdown Syntax Highlighting - Visual Studio Marketplace


mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.

mermaid-js/mermaid: Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown @GitHub (MIT license)

//mermaid.live/edit (and sample diagrams)


flowchart.js vs gojs vs graphviz vs jointjs vs mermaid vs mxgraph | npm trends


Graphviz


mdaines/viz.js: A hack to put Graphviz on the web.


Create standalone HTML files · Issue #48 · mermaid-js/mermaid-cli

<html>
  <div class="mermaid">
  graph LR
      A --- B
      B-->C[fa:fa-ban forbidden]
      B-->D(fa:fa-spinner);
  </div>
  <div class="mermaid">
     graph TD
      A --- B
      B-->C[fa:fa-ban forbidden]
      B-->D(fa:fa-spinner);
</div> <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> <script>mermaid.initialize({startOnLoad:true});</script> </html>

mermaid - npm search




PC HW: HDMI x 4, silent 1 slot graphics card: Asus GeForce GT 730

very interesting HW component that enables very efficient multi-monitor setup

GeForce GT 730 Fanless GDDR5 2GB Graphics Card, 4x HDMI @QuietPC


Asus Launches New GeForce GT 730 Like It's 2014 All Over Again | Tom's Hardware

The graphics card comes equipped with four native HDMI 1.4b ports with HDCP 2.2 support and drives monitors with resolutions up to 4K (3840 x 2160).


Amazon.com: ASUS NVIDIA GeForce GT 730 Graphics Card (PCIe 2.0, 2GB GDDR5 Memory, 4X HDMI Ports, Single-Slot Design, Passive Cooling) : Electronics

$90


this could enabled Tony Robbins style interactive solutions

Tony Robbins on Twitter: "Behind the scenes, the calm before the storm!... / Twitter



CANVAS Studio - Tony Robbins UPW Virtual - Immersive Design Studios




Saturday, December 24, 2022

free course with labs: JSON Path

 Free JSON Path Test Course | KodeKloud

a FREE Course to get introduced to YAML and JSON PATH. Both of which are widely used in the DevOps and Cloud industry.


//mmumshad.github.io/json-path-quiz/index.html#!/?questions=questionskub1

1 / 14 JSON PATH in Kubernetes

//mmumshad.github.io/json-path-quiz/index.html#!/?questions=questionskub2


JSONPath Support | Kubernetes

Kubectl supports JSONPath template.

JSONPath template is composed of JSONPath expressions enclosed by curly braces {}. Kubectl uses JSONPath expressions to filter on specific fields in the JSON object and format the output.



jsonpath - npm

Query JavaScript objects with JSONPath expressions. Robust / safe JSONPath engine for Node.js.

jsonpath-plus - npm

Analyse, transform, and selectively extract data from JSON documents (and JavaScript objects).

jsonpath-plus expands on the original specification to add some additional operators and makes explicit some behaviors the original did not spell out.


spec:

JSONPath -- XPath for JSON

JSONPath Syntax | AlertSite Documentation


Why Subscription Businesses Fail?

3 Reasons Subscription Businesses Fail @ NirAndFar

Fundamentally, a successful subscription business’s economic value is a function of the strength of the habits they create. 

fundamental attributes of habit-forming products to identify how companies hook consumers.

 four steps successful companies build into their customer experience  “hooked model”:
  • Trigger (which prompts customers to use the product)
  • Action (the habitual behavior)
  • Variable Reward (which satisfies users’ need for the service)
  • Investment (which makes the product more valuable to the user with use)
common errors companies make launching and running subscriptions:

1. Too Many Steps to Psychological Relief

2. Not Offering Enough Novelty

3. Lack of Stored Value

3 Reasons Subscription Services Fail @HBR





Friday, December 23, 2022

OpenAI Point-E: text prompt => 3D models

 OpenAI releases Point-E, which is like DALL-E but for 3D modeling | Engadget

OpenAI, the ... artificial intelligence startup behind popular DALL-E text-to-image generator... can produce 3D point clouds directly from text prompts... only needs one GPU and a minute or two.

There's a corgi in a santa hat, an


Learn Kubernetes with Google

 Learn Kubernetes with Google

"Google brings together Kubernetes experts from across the industry to discuss the latest trends in the project, and how to think about and solve complex problems using Kubernetes."


Thursday, December 22, 2022

Wednesday, December 21, 2022

Seasons Calendar 2023

National Parks "seasons calendar", for year 2023. Variants of the calendar:

English, weeks starting at Sunday, Letter size, as usual in America.
seasons-calendar-2023-sunday-letter.pdf



English, weeks starting at Mondays, A4 size, as usual in Europe and other places. 
seasons-calendar-2023-monday-a4.pdf



Serbian, Latin chars, weeks starting at Mondays, A4 paper size 
seasons-calendar-2023-serbian-lat.pdf


Serbian, Cyrillic chars, weeks starting at Mondays, A4 paper size


Winter solstice - Wikipedia when daytime is the shortest, on Northern hemisphere.

It is also the beginning of increase of the length of each day's daytime.
A good time for a new start, and a new calendar :)



WASM runtime Wasmer v3.0

 Announcing Wasmer 3.0

wasmerio/wasmer: 🚀 The leading WebAssembly Runtime supporting WASI and Emscripten @GitHub

Wasmer is a fast and secure WebAssembly runtime that enables super lightweight containers to run anywhere: from Desktop to the CloudEdge and IoT devices.


Tuesday, December 20, 2022

ChatGPT AI: kubernetes blue-green deployment

this is non-trivial question;
ChatGPT answers are surprisingly close, while a not very specific
promising tech! 
Google search is still more useful for cases like this, though :)

https://chat.openai.com/chat 

prompt: "explain kubernetes blue-green deployment"

answer: 
"Blue-green deployment is a technique used to deploy new versions of software with minimal downtime. It involves creating two identical environments, called "blue" and "green", which are used to deploy the software. The "blue" environment is the production environment where the software is currently running, while the "green" environment is used to test the new version of the software before it is released.

To perform a blue-green deployment, the new version of the software is first deployed to the "green" environment. The application is then tested in the green environment to ensure that it is functioning correctly. Once the testing is complete, the application is switched to the "blue" environment, and the old version is shut down. This allows for a seamless transition to the new version, as the application is always available to users during the deployment process.

Kubernetes, a container orchestration platform, can be used to automate the blue-green deployment process. Kubernetes provides tools and features that make it easy to deploy and manage containerized applications, including rolling updates and rollbacks, which can be used to perform blue-green deployments.

Using Kubernetes, you can define a deployment configuration that specifies the number of replicas of your application that should be running at any given time. When you want to perform a blue-green deployment, you can create a new deployment configuration that points to the new version of your application, and then use Kubernetes to update the deployment to use the new version. This allows you to easily switch between the blue and green environments and ensure that the new version of the application is fully tested before it is deployed to production."


prompt: "example of kubernetes blue-green deployment"

answer:

"Blue-green deployment is a technique used to minimize downtime during deployments by allowing the new version of the application to be tested in parallel with the existing version. This can be achieved using Kubernetes by creating two separate environments, referred to as the "blue" and "green" environments.

Here is an example of how blue-green deployment can be implemented using Kubernetes:
  1. Create two separate environments in Kubernetes, one for the "blue" version of the application and one for the "green" version.
  2. Deploy the new "green" version of the application to the green environment and test it to ensure it is working correctly.
  3. Once the green version has been tested and is deemed ready for production, switch the traffic from the blue environment to the green environment by updating the service's load balancer to point to the green pods.
  4. After the traffic has been successfully switched to the green environment, delete the blue environment.
This process allows for minimal downtime during deployments, as the new version of the application is tested in parallel with the existing version and traffic is only switched once the new version has been tested and is deemed ready for production.

OpenAI ChatGPT: AWS Cloud Certified !?

This is not actual exam, while the questions are close to it. 
Impressive!

Stephane Maarek 👨‍🏫 on Twitter: "OpenAI ChatGPT is now an AWS Certified Cloud Practitioner! This is crazy🤯 It attempted 20 questions of my AWS Certified Cloud Practitioner practice exams. The results are bluffing!!! Final score: 800/1000; a pass is 720 https://t.co/G7ECxIwC8j" / Twitter





Monday, December 19, 2022

(hybrid) electric airplane: Heart ES-30

Heart Aerospace is a Swedish startup company developing electric aircraft. The company is developing the ES-30, a hybrid-electric, 30-passenger regional airliner.[1] The ES-30 is planned to have a 430 nautical mile (800 kilometer) range. Heart plans to have a proof-of-concept aircraft in 2024 and start flight tests in 2026.


ES-30 | Heart Aerospace
  • Capacity: 30 passengers (typical)
  • Range: 200 km all electric, 400 km electric+hybrid,  800 km electric+hybrid 25pax
  • Propulsion:  4 electric motors
  • Energy source:  Batteries (primary), Reserve-Hybrid Turbogenerators
  • Max altitude:  20,000 ft
  • Runway length:  1,100 m
  • Turn around time: 30 min (fast charge)
  • Enter into service: 2028

podcast interview with founder & CEO of this Sweden based company 

Flying on Battery Power | What’s Your Problem?

PowerShell alias with parameters?

bash/sh alias can include parameters, i.e. "alias kaf='kubectl alias -f"

PowerShell set-alias (sal) is only alias for a command/program.

Set-Alias (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Learn

to include parameters would need to create a function, and store it in "profile"

 How to: Create a PowerShell alias with parameters - SeanKilleen.com

function Encode-Video([string]$VideoFileName, [string]$OutputFileName)
{
    ffmpeg -i "$VideoFileName" -vcodec h264 -acodec mp2 "$OutputFileName"
}
notepad $profile



PS> function docmd { cmd /c $args there }
PS> docmd echo hello
hello there
PS> 

but such function may not recognize programs from path

PowerShell Power User Tips: Bash-style “alias” command.

or just use linux shell (WSL)

Saturday, December 17, 2022

EV: Electric "Backpack" for Diesel Trucks

Electric Backpack for Diesel Trucks | In Depth - YouTube

Tandem Centaur - Attachable Hybrid Semi Truck

Chat GPT => generate code

ChatGPT - Wikipedia

ChatGPT is a prototype artificial intelligence chatbot developed by OpenAI which specializes in dialogue. The chatbot is a large language model fine-tuned with both supervised and reinforcement learning techniques. It is a fine-tuned version of a model in OpenAI's GPT-3.5 family of language models.

ChatGPT was launched in November 2022 and has garnered attention for its detailed responses and articulate answers, although its factual accuracy has been criticized.

ChatGPT (Generative Pre-trained Transformer) was fine-tuned on top of GPT-3.5 using supervised learning as well as reinforcement learning.[1] Both approaches used human trainers to improve the model's performance

GPT-3 - Wikipedia

Generative Pre-trained Transformer 3 (GPT-3; stylized GPT·3) is an autoregressive language model that uses deep learning to produce human-like text. Given an initial text as prompt, it will produce text that continues the prompt.

The architecture is a standard transformer network (with a few engineering tweaks) with the unprecedented size of 2048-token-long context and 175 billion parameters (requiring 800 GB of storage). The training method is "generative pretraining", meaning that it is trained to predict what the next token is. The model demonstrated strong few-shot learning on many text-based tasks.



OpenAI is an artificial intelligence (AI) research laboratory consisting of the for-profit corporation OpenAI LP and its parent company, the non-profit OpenAI Inc. The company conducts research in the field of AI with the stated goal of promoting and developing friendly AI in a way that benefits humanity as a whole. The organization was founded in San Francisco in late 2015 by Sam AltmanElon Musk, and others, who collectively pledged US$1 billion. Musk resigned from the board in February 2018 but remained a donor. In 2019, OpenAI LP received a US$1 billion investment from Microsoft.

ProductsDALL-EGPT-3GPT-2, OpenAI Gym, ChatGPT









A browser extension to display ChatGPT response alongside Google (and other search engines) results, supports Chrome/Edge/Firefox

ChatGPT: the bot that can engage in intelligent conversation | World Economic Forum

ChatGPT Is on Fire, and a Cottage Industry of Bot Builders Is Exploding Alongside It — The Information

Chat GPT = $1,631 A Day / AI Bot - Super Simple Method! - YouTube

Ahrefs - SEO Tools & Resources To Grow Your Search Traffic

- qr code generator
- password generator
- pdf to word
- business name generator
- lottery numbers generator

"make me a php tool that generates qr code" => GPT => code!




Thursday, December 15, 2022

GoLang: Twirp RPC vs gRPC/Protobufs

 RPC in Go using Twitch's Twirp - TheDeveloperCafe

Twirp is an RPC framework from Twitch which just like gRPC uses Protobufs and is much easier to use. In this article I am going to give you a taste of Twirp. You can find the complete code for this article in this GitHub repository.

🙋‍♂️ This article presumes that you are familiar with Protobufs and the concept of RPC.

AWS money saving tools

a good summary article

How to save money on Amazon Web Services | LinkedIn

How to save money on Amazon Web Services @digitalcloud (same article)

AWS Cost Explorer

AWS Budgets

AWS Trusted Advisor

EC2 Reserved Instances

Spot Instances

Savings Plans

AWS Compute Optimizer


Wednesday, December 14, 2022

GoLang style guide from Google

as "idiomatic" as it can be :) 
And "normative" and "canonical", too :)

 Go Style | styleguide

https://google.github.io/styleguide/go

AWS certification preparation materials

From my experience, trying many tools and materials, and passing many certifications,
Udemy provides optimal combination of preparation classes (videos) and “practice tests” (quizzes).

Doing those test quizzes is essential, since this is similar to actual certification exams,
and just learning material is not sufficient: need speed, since exam time is quite limited,
and the only good way to gain speed is to practice, practice, and practice more :)

Compared to Pluralsight for example, Udemy has much more up-to-date classes, and broader selection.

Some of same classes from Udemy are also available on separate dedicated platforms as subscriptions
while usually Udemy is sufficient. The price of classes is often significantly reduced, so usually should not pay more than $15 per class, just ignore list price and wait for sale. There is one ending today for example, but they keep coming every a few weeks.

Udemy subscription is also available "for free" from some local libraries too, over "Gale" system.
Udemy for Libraries | Burlington County Library (NJ)

Teachers

Not all authors are the same quality or style, so sometimes it is personal prefference.
A good feature of Udemy that one can "preview" classes before puchasing,
and if not satisfied can also return within of a time period. No risk puchase.

My #1 recommendation for AWS training is Stephane Maarek  ("Data Cumulus" brand)
Slight French accent, excellent knowledge and style. Both videos and quizzes.
Also great "big data" classes form the same teacher
https://www.udemy.com/courses/search/?src=ukw&q=stephane+maarek+aws
Stéphane Maarek | LinkedIn
Stephane Maarek - YouTube

Also very good and useful classes are from Zeal Vora 
Slight Indian accent, and clear step by step explanations. 
Many excellent DevOps classes from the same instructor (Terraform, Kubernetes)
https://www.udemy.com/courses/search/?src=ukw&q=zeal+vora
Zeal Vora | LinkedIn

A very solid choice is also Neal Davis ("Digital Cloud Training")
slight Australian accent, good explanations, also very good quizzes. 
https://www.udemy.com/courses/search/?src=ukw&q=neal+davis+aws
Neal Davis | LinkedIn

Finally, most optimized practice tests are from Jon Bonso of "Tutorials Dojo" 
https://www.udemy.com/courses/search/?src=ukw&q=tutorials+dojo+aws
Jon Bonso | LinkedIn

There are many more good authors and useful classes on Udemy,  as well as on other sites.
So it always helps to investigate first and find your optimal style and teacher.

Final note: have fun learning and practice.
Don't ignore details, and make sure to master quizzes before the exams. 
Take time, and learn every day. It is a marathon, not a sprint.
Accept the complexity, it is just the way it is, that is part of beauty of learning. 


Upgrade your resume with the AWS Certified Big Data — Specialty Certification | AWS Big Data Blog