Monday, July 31, 2023

AI: (vs. Dall-e ?)

Imagine AI Art Generator
ext to image with AI Art Generator

Create awe-inspiring masterpieces effortlessly and explore the endless possibilities of AI generated art. Enter a prompt, choose a style, and watch Imagine - AI art generator bring your ideas to life!

Microsoft Editor vs Grammarly

Free Online Text Editor Software | Microsoft Editor

"Write more clearly and concisely, anywhere you write, with help from Microsoft Editor."

Grammarly Vs Microsoft Editor: Compared (2023)

"Grammarly has been one of the most popular grammar checkers since July 2009. As one of the most powerful grammar checkers for writers, it can help writers, essayists, bloggers, academics, and students proofread, correct stylistic errors, and correct grammar mistakes.

Now, Microsoft has its own alternative for Microsoft Office 365 users. Microsoft Editor is great for those who use Microsoft Word..."


If you are ready for a premium version, purchase Grammarly Premium if you need a tool that can check your work for plagiarism and help you write for a specific audience. You should also use Grammarly Premium if you need an account for your business team.

If you would like a less expensive tool that can still help you with stylistic, tone, and vocabulary issues, then Microsoft Editor is right for you. Consider trying the free version of each of these tools before you decide on the premium version. Both tools offer a free trial of the premium version before asking you to pay for it."

Sunday, July 30, 2023

C# Dev Kit for VS Code

Announcing C# Dev Kit for Visual Studio Code - Visual Studio Blog

The C# Dev Kit is designed to enhance your C# productivity when you’re working in VS Code. It works together with the C# extension, which has been updated to be powered by a new fully open-source Language Server Protocol (LSP) host, creating a performant, extensible, and flexible tooling environment that easily integrates new experiences into C# for VS Code

C# Dev Kit - Visual Studio Marketplace

C# Dev Kit consists of:
  • The C# extension, which provides base language services support and continues to be maintained independent of this effort.
  • C# Dev Kit extension, which builds from the foundations of Visual Studio to provide solution management, templates, and test discovery/debugging.
  • The IntelliCode for C# Dev Kit extension (optional), which brings AI-powered development to the editor.

Saturday, July 29, 2023

Lit & web components

name "Lit" stands for "little" library

 This is going to be Lit 🔥 with Justin Fagnani (JS Party #284) |> Changelog

Lit, a library that helps you build web components. With 17% of pageviews in Chrome registering use of web components, Lit has gained widespread adoption


WebGL != three.js

WebGL is a custom language used for graphics card programming;

WebGL - Wikipedia
WebGL (Short for Web Graphics Library) is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins.

three.js library make this more developer friendly from JavaScript; far from "easy"

Hello vertex attributes - Web APIs | MDN

<script type="x-shader/x-vertex" id="vertex-shader">
  #version 100
  precision highp float;

  attribute float position;

  void main() {
    gl_Position = vec4(position, 0.0, 0.0, 1.0);
    gl_PointSize = 64.0;
<script type="x-shader/x-fragment" id="fragment-shader">
  #version 100
  precision mediump float;
  void main() {
    gl_FragColor = vec4(0.18, 0.54, 0.34, 1.0);
 Draw With WebGL Flowers

Friday, July 28, 2023

TypeScript 'using' keyword

TypeScript 5.2's New Keyword: 'using' | Total TypeScript

TypeScript 5.2 will introduce a new keyword - 'using' - that you can use to dispose of anything with a Symbol.dispose function when it leaves scope.


Database connections

Managing database connections is a common use case for using in C#.

Without using:
const connection = await getDb();

try {
// Do stuff with connection
} finally {
   await connection.close();

With using:
const getConnection = async () => {
const connection = await getDb();

return {
  [Symbol.asyncDispose]: async () => {
    await connection.close();

  await using { connection } = getConnection();
  // Do stuff with connection
} // Automatically closed!

Wednesday, July 26, 2023

a16z: ai-getting-started.js

 a16z-infra/ai-getting-started: A Javascript AI getting started stack for weekend projects, including image/text models, vector stores, auth, and deployment configs @GitHub

A Javascript AI getting started stack for weekend projects, including image/text models, vector stores, auth, and deployment configs


Tuesday, July 25, 2023

AWS Skill Builder

requires "Amazon account" to login

AWS Skill Builder

Subscriptions - AWS Skill Builder

  • 600+ On-Demand Courses and Learning Plans  
  • Standard Exam Prep Courses 
  • AWS Certification Official Question Sets 
with subscription, $29/month

  • Unlimited Access to 125+ AWS Builder Labs
  • Enhanced Exam Prep Courses (with practice materials)
  • AWS Cloud Quest: Intermediate & Advanced Roles
  • AWS Certification Official Practice Exams
AWS Skill Builder:

AWS Certified Solutions Architect - Professional Official Practice Question Set
20 sample questions (the exam has 75)

AWS Skill Builder
AWS Certified Solutions Architect - Professional Official Practice Exam (SAP-C02 - English)

Monday, July 24, 2023

book: DotNet Dapr: "Distributed Application Runtime"

Dapr at 20,000 feet | Microsoft Learn

Dapr, or Distributed Application Runtime, is a new way to build modern distributed applications. - Distributed Application Runtime

The Distributed Application Runtime (Dapr) provides APIs that simplify microservice connectivity. Whether your communication pattern is service to service invocation or pub/sub messaging, Dapr helps you write resilient and secured microservices.

By letting Dapr’s sidecar take care of the complex challenges such as service discovery, message broker integration, encryption, observability, and secret management, you can focus on business logic and keep your code simple.

Dapr (Distributed Application Runtime) is a free and open source runtime system designed to support cloud native and serverless computing.[2] Its initial release supported SDKs and APIs for Java.NETPython, and Go, and targeted the Kubernetes cloud deployment system.[3][4]

The source code is written in the Go programming language. It is licensed under MIT License and hosted on GitHub.[5

Sunday, July 23, 2023

Twitter => X(.com)

 Elon Musk says Twitter will change it's logo to 'X'

Elon Musk on Twitter: "To embody the imperfections in us all that make us unique" / Twitter is parked free, courtesy of

It’s long been known that Musk favors the “X” branding. The banking startup he co-founded in 1999 was called, and his recently-announced Ai venture is called xAI. And Twitter’s holding company was rammed to X Corp in April. Musk has also talked about how X would help Twitter become an “everything app.”

VS Code tool: Turbo Console Log

 Turbo Console Log - Visual Studio Marketplace

"Automating the process of writing meaningful log messages."

alt text

Insert meaningful log message automatically

  • Selecting or hovering the variable which is the subject of the debugging (Manual selection will always take over the hover selection)

  • Pressing ctrl + alt + L (Windows) or ctrl + option + L (Mac)

The log message will be inserted in the next line relative to the selected variable like this:

console.log("SelectedVariableEnclosingClassName -> SelectedVariableEnclosingFunctionName -> SelectedVariable", SelectedVariable)

Saturday, July 22, 2023

Open Source => $ ?

Generating income from open source

What does work:
  • Commercial licenses
  • Charging for more features
  • Hosted version
  • Charging for maintenance and advanced materials
  • Support packages

RedHat Enterprise Linux: "no open source?", Oracle, SUSE

Open Source business models are tricky at best. 
After spending $34B on RedHat, IBM is now concerned in making enough money for this investment.
Solution: require subscription to provide access to RHEL source.

So other companies, like Oracle, are leveraging RHEL for their own Linux distros: Oracle Linux.
Solution: "fork" RHEL, and pay to maintain it, instead of paying license to IBM.

Now so long ago Oracle did similar with Java and court fights for its license,
to protect its $7 purchase of Sun Microsystems. 

This also resembles AWS fork OpenSearch from ElasticSeach, again license issue.

Or MongoDB changing open source license and business model, to stay in big business.

Big money, big mess.

Oracle, SUSE Tussle with Red Hat over the Business of Open Source - The New Stack

SUSE Preserves Choice in Enterprise Linux by Forking RHEL with a $10+ Million Investment | SUSE

Keep Linux Open and Free—We Can’t Afford Not To @Oracle

Friday, July 21, 2023

tool: Gitless

For those who just don’t Git it (Ep. 573) - Stack Overflow Blog

Beyond Git: The other version control systems developers use - Stack Overflow Blog



a simple version control system built on top of Git

documentation | gitless vs. git | report a bug research | github

Gitless is a Git-compatible version control system, that is easy to learn and use:

  • Simple commit workflow
    Track or untrack files to control what changes to commit. Changes to tracked files are committed by default, but you can easily customize the set of files to commit using flags
  • Independent branches
    Branches in Gitless include your working changes, so you can switch between branches without having to worry about conflicting uncommitted changes
  • Friendly command-line interface
    Gitless commands will give you good feedback and help you figure out what to do next
  • Compatible with Git
    Because Gitless is implemented on top of Git, you can always fall back on Git. And your coworkers you share a repo with need never know that you're not a Git aficionado. Moreover, you can use Gitless with GitHub or with any Git hosting service

design: 2024 Hyundai Santa Fe

 2024 Hyundai Santa Fe Undergoes a Wild Design Transformation

The boxy new mid-size SUV promises a longer wheelbase, greater cargo capacity, and a more luxurious interior with an available third row of seats.

Do You Love or Hate It? Hyundai Santa Fe 2024 Revealed In Full! - YouTube

Thursday, July 20, 2023

Web Components tabs example

 A Web Component Intro with Example |

demonstrate writing a web component by implementing tabbed panels. The finished tabs will look like below. You can find the source code in this repository.

app: Meta Threads vs Twitter

Threads, an Instagram app (

 Meta Threads vs Twitter - YouTube

We tried Threads, Meta’s new Twitter rival. Here’s what happened | Threads | The Guardian

Threads (social network) - Wikipedia

Threads is an American social media platform and social networking service owned and operated by Meta Platforms. The app offers users the ability to post and share text, images, and videos, as well as to interact with other users' posts through replies, reposts, and likes. Closely linked to Meta platform Instagram and additionally requiring users to both have an Instagram account and use Threads under the same Instagram handle, Threads functionality is similar to Twitter and has further been described as a "Twitter killer".[6] The application is available on iOS and Android devices with full functionality, while the web version offers limited functionality. It gained 100 million users within its first five days, surpassing the record previously set by ChatGPT

Wednesday, July 19, 2023

TypeScript => WASM

 wasmati: You should write your WebAssembly in TypeScript - ZKSECURITY

wasmati (@GitHub), a TypeScript library to write Wasm at the instruction level. The wasmati API looks exactly like Webassembly text format (WAT).

import { i64, func, local } from "wasmati";

const myMultiply = func({ in: [i64, i64], out: [i64] }, ([x, y]) => {
  local.get(x); // put input x on the stack
  local.get(y); // put input y on the stack
  i64.mul(); // pop the two last values from the stack, multiply them, put the result on the stack

For reference, this would be an equivalent WAT code snippet:

(func $myMultiply (param $x i64) (param $y i64) (result i64)
  (local.get $x)
  (local.get $y)

zksecurity/wasmati: Write low-level WebAssembly, from JavaScript @GitHub

  • Readability. Wasm code looks imperative - like writing WAT by hand, just with better DX:

const myFunction = func({ in: [i32, i32], out: [i32] }, ([x, y]) => {
  • Optional syntax sugar to reduce boilerplate assembly like local.get and i32.const

const myFunction = func({ in: [i32, i32], out: [i32] }, ([x, y]) => {
  i32.add(x, y); // local.get(x), local.get(y) are filled in
  i32.shl($, 2); // $ is the top of the stack; i32.const(2) is filled in

// or also

const myFunction = func({ in: [i32, i32], out: [i32] }, ([x, y]) => {
  let z = i32.add(x, y);
  call(otherFunction, [i32.shl(z, 2)]);

similar tools

different approaches taken by ZPrize participants:

  • The winning team, Yrrid led by Niall Emmart, wrote their code from scratch in C and compiled it to Wasm with clang. They auto-generated the C code for finite field arithmetic using Java.
  • My submission used mostly JS, plus raw Wasm generated using a hacked-together, badly-typed JS lib for dumping WAT syntax into a string.
  • The third-placing team used a fork of wasmcurves by Jordi Baylina, which generates Wasm using a JS package called wasmbuilder. This is similar in spirit to wasmati, without the API polish and types.
  • The 4th-placing team used Go (gnark) compiled to Wasm
  • The 5th-placing team used Rust (arkworks) compiled to Wasm
  • The 6th-placing team used C (MIRACL Core) compiled to Wasm

evanw/polywasm @GitHub
This is a polyfill for WebAssembly. It implements enough of the WebAssembly API to be able to run a .wasm file in a JavaScript environment that lacks a