Friday, April 26, 2024

Gleam prog.language in Rust => Erlang, JavaScript

a new functional prog. lang...

no if statement, no (for) loops!


with the creator of the Gleam programming language; a functional programming language for building type-safe systems that compiles to Erlang and JavaScript and it’s written in Rust. 

...inspiration and development of Gleam, how it compares to other languages, where it shines, the overwhelming amount of support Louis is getting through GitHub sponsors, what’s next for Gleam and their near-term plans for a language server.


Gleam.run

"The power of a type system, the expressiveness of functional programming, and the reliability of the highly concurrent, fault tolerant Erlang runtime, with a familiar and modern syntax."

Gleam @GitHub, Apache2 license (github.com/gleam-lang/gleam)


lustre-labs/lustre @GitHub (MIT license)
✨ Make your frontend shine ✨
A framework for building Web apps in Gleam!

Sponsor Louis on GitHub Sponsors


import gleam/int
import gleam/io

pub fn main() {
  let x = int.random(5)
  io.debug(x)

  let result = case x {
    // Match specific values
    0 -> "Zero"
    1 -> "One"

    // Match any other value
    _ -> "Other"
  }
  io.debug(result)
}

Recursion in Gleam on Exercism

Gleam has no special syntax for looping, so all looping is done with recursion.

pub fn list_length(list: List(String)) -> Int {
  case list {
    [] -> 0
    [_, ..rest] -> 1 + list_length(rest)
  }
}

Aspect-Oriented Programming in DotNet with Metalama

.NET Rocks! Aspect-Oriented Programming in 2024 with Gael Fraiteur

Metalama, a totally new approach to code generation and architecture validation inspired by AOP and based on Roslyn (C# compiler)

PostSharp

Thursday, April 25, 2024

Node.js 22 released + JSR

with more competition (bun.js, Dino/JSR etc), node team is more active...

 Node.js 22 Available Now | OpenJS Foundation

The release of Node.js 22 is available now! ​​Highlights in Node.js 22 include require()ing ESM graphs, WebSocket client, updates of the V8 JavaScript engine, and more!

by Ryan Dahl, creator of node.js and Deno (ts/js)

JSR fundamentally improves the code distribution process by streamlining complexities that have long plagued developers. By being ESM-only and TypeScript-first, JSR eradicates the frustrating juggling of package.json configurations and the labyrinthine tsconfig compiler options.

Wednesday, April 24, 2024

IBM += HashiCorp - $6.4B

IBM earnings top estimates, acquiring HashiCorp for $6.4B


IBM nearing deal for cloud software provider HashiCorp, source says | Reuters


HashiCorp joins IBM to accelerate multi-cloud automation



web: Async WASM: WebAssembly JSPI in Chrome

WebAssembly JSPI is going to origin trial · V8

WebAssembly’s JavaScript Promise Integration (JSPI) API is entering an origin trial, with Chrome release M123. What that means is that you can test whether you and your users can benefit from this new API.

JSPI is an API that allows so-called sequential code – that has been compiled to WebAssembly – to access Web APIs that are asynchronous. Many Web APIs are crafted in terms of JavaScript Promises: instead of immediately performing the requested operation they return a Promise to do so. When the action is finally performed, the browser’s task runner invokes any callbacks with the Promise. JSPI hooks into this architecture to allow a WebAssembly application to be suspended when the Promise is returned and resumed when the Promise is resolved.

You can find out more about JSPI and how to use it here and the specification itself is here.

Tuesday, April 23, 2024

Saving Open Source? Terraform, Redis

The threat to open source comes from within
by FORREST BRAZEAL

OpenTofu Project was recently made aware of a letter by HashiCorp’s lawyers, alleging that OpenTofu was not respecting the terms of its BSL license governing its Terraform codebase




In a pattern that has previously happened for Elasticsearch and Terraform, and one that was extremely predictable, Redis is now forked at least three different ways - the original Redis, now no longer under BSD, Valkey, under BSD and led by previous contributors to Redis from AWS and other companies, and Redict, under GPL, led by an open-source coalition. Both of these licenses allow commercial reuse.



Tesla Model 3 Performance: 0-60 in 2.9 seconds; FSD

2024 Tesla Model 3 Performance: 0-60 in 2.9 seconds! - YouTube

by Auto Focus

Tesla officially unveils new Model 3 Performance with 0-60 mph in 2.9 sec | Electrek


Big car maker to license Tesla's ‘Full Self-Driving’ tech as Musk warns rivals - YouTube



AI tool Matterport: 3D space => "virtual twin"

3D Camera and Virtual Tour Platform - Matterport

Whether you want to give buyers the feeling of being in a new home, help guests start picturing their stay, or showcase the wonders of your venue to event planners and patrons—Matterport 3D virtual tours can help you do more business, faster.


Monday, April 22, 2024

node.js NPM => "VLT" ?


Introducing the Vlt (/vōlt/) Team — Last summer, Darcy Clarke (who used to work on the npm CLI team) wrote about a massive bug at the heart of the npm ecosystem around the security of manifests. Now, he’s teamed up with npm creator Isaac Z. Schlueter and fellow npm CLI team alumnus Ruy Adorno to work on… a new package manager and registry. 

  • Isaac Z. Schlueter: creator of npm, former CEO of npm Inc. & Principal Engineer at GitHub post-acquisition; Previously led the Node.js project.

  • Darcy Clarke: previously, Staff Engineering Manager for both npm & gh CLI teams at GitHub, npm Inc. & Co-Founder of Themify; Passionate contributor to OpenJS Foundation projects & standards WGs.

  • Ruy Adorno: Node.js TSC member & Staff Software Engineer joining directly from Google. Previously, Ruy lead key product ships as part of the npm CLI team at GitHub, npm Inc. & numerous startups.


Back in 2008, most people thought of JavaScript as just a client-side language. But when Google's V8 appeared, young developer Ryan Dahl made the connection between non-blocking servers, V8, and JavaScript. It was by combining these key elements that he was able to create the now hugely popular Node.js. What young Ryan Dahl probably didn't expect was how much forking drama would follow.

Sunday, April 21, 2024

story: Micro-Soft

another excellent podcast story

 Microsoft: The Complete History and Strategy @Acquired Podcast

...The company that invented the software business model. The company that so thoroughly and completely dominated every conceivable competitor that the United States government intervened and kneecapped it… yet it’s STILL the most valuable company in the world today.

Congress changing copyright law in 1980 to include “computer programs”


Mojo in Docker container on Windows

How to install Mojo🔥locally using Docker | by Aleksandr Mironov | MediumMojo is one of the newest programming languages first introduced in 2023
Mojo combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models.

looks like Python, just 1000x faster!
but it does not run on Windows directly, yet
It can in Docker container though



Xanonymous-GitHub/mojo-docker: The dockerfile for using mojo.


Get started with Mojo🔥 | Modular Docs


Mojo🔥 | Modular Docs



Mojo Developer Console


Mojo is not available for Windows, but you can use it on a Linux container or remote system. Here's one way you can do that with WSL2


:Install VS Code, the WSL extension, and the Mojo extension.
Install Ubuntu 22.04 for WSL and open it.
In the Ubuntu terminal, install the Modular CLI:


curl -s https://get.modular.com | sh - modular auth

Command copied to clipboard
Install the Mojo SDK:

modular install mojo

Command copied to clipboard
Open the Ubuntu workspace in VS Code with this:

code .

Command copied to clipboard
Get started with Hello World!


Friday, April 19, 2024

China BYD: EV vs ICE

more than 100 EV makers in China is not sustainable,
and BYD is attempting to eliminate most of competition, apparently

BYD reveal e2 crossover EV with Blade battery starting at $12,000 USD - YouTube


Thursday, April 18, 2024

DeepMind: AGI = LLMs + Tree Search?

 The Fastest Way to AGI: LLMs + Tree Search – Demis Hassabis (Google DeepMind CEO) - YouTube

LLMs embed most of encoded human knowledge

AlphaZero can learn from scratch, including planning, in limited environment

combined, may provide path to AGI



Wednesday, April 17, 2024

Biotech’s AI Future

Why Nvidia, Google And Microsoft Are Betting Billions On Biotech’s AI Future - YouTube

As language models like ChatGPT and Gemini have ushered in a new age of AI in Silicon Valley, the world’s most powerful tech companies are looking ahead to drug discovery and digital biology. 




AlphaFold is accelerating research in nearly every field of biology.


Sunday, April 14, 2024

Free Art: Getty


88,000 images free to download on their Open Content database under Creative Commons Zero (CC0). That means “you can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.”

Friday, April 12, 2024

Zoox robotaxi

Amazon’s weird toaster-shaped robotaxi hits the road in a ‘first’ for the company - The Verge

Zoox said its steering wheel- and pedal-less autonomous vehicle is
the first ‘purpose-built’ robotaxi to operate on public roads.

Zoox, the autonomous vehicle company owned by Amazon, said that its toaster-shaped driverless vehicle without a steering wheel or pedals was approved to drive on public roads with passengers in California.

Thursday, April 11, 2024

DBOS: A Database-oriented Operating System

DBOS-project/dbos-project.github.io: A Database-oriented Operating System @GitHub

DBOS | A Database-Oriented Operating System

DBOS

Java + C++


The Cloud Outgrows Linux, And Sparks A New Operating System

Ultimately, every problem in the constantly evolving IT software stack becomes a database problem, which is why there are 418 different databases and datastores in the DB Engines rankings and there are really only a handful of commercially viable operating systems. But what if the operating system is the problem?

We are so used to thinking of the operating system as the foundation of the system that this kind of talk seems more weird than it does heresy, but make no mistake. When Michael Stonebraker and Matei Zaharia and a team of techies from the Massachusetts Institute of Technology and Stanford University are involved in creating a new operating system, it is definitely going to be heresy.

Stonebraker says that the spark for the idea for DBOS, which is short for database operating system, came when he was listening to a talk by Zacharia, who among other things was the creator of the Spark in-memory database while at the AMPLab at the University of California Berkeley and the co-founder and chief technology officer of Databricks, which has commercialized Spark.



Stonebraker's research and products are central to many relational databases. He is also the founder of many database companies, including Ingres Corporation, Illustra, Paradigm4, StreamBase Systems, Tamr, Vertica and VoltDB, and served as chief technical officer of Informix. For his contributions to database research, Stonebraker received the 2014 Turing Award, often described as "the Nobel Prize for computing.

DBOS is a Database-Oriented Operating System designed to simplify and improve the scalability, security and resilience of large-scale distributed applications.[1][2] It started in 2020 as a joint open source project with MIT, Stanford and Carnegie Mellon University, after a brainstorm between Michael Stonebraker and Matei Zaharia on how to scale and improve scheduling and performance of millions of Apache Spark tasks.

Wednesday, April 10, 2024

data tool: Apache Iceberg

Apache Iceberg - Apache Iceberg


Iceberg at Netflix and Beyond with Ryan Blue - Software Engineering Daily

Apache Iceberg is an open source high-performance format for huge data tables. Iceberg enables the use of SQL tables for big data, while making it possible for engines like Spark and Hive to safely work with the same tables, at the same time.


Iceberg is a high-performance format for huge analytic tables. Iceberg brings the reliability and simplicity of SQL tables to big data, while making it possible for engines like Spark, Trino, Flink, Presto, Hive and Impala to safely work with the same tables, at the same time.


Version 1 of the Iceberg spec defines how to manage large analytic tables using immutable file formats: Parquet, Avro, and ORC.

Sunday, April 07, 2024

OpenAI Tokenizer

OpenAI Platform

OpenAI's large language models (sometimes referred to as GPT's) process text using tokens, which are common sequences of characters found in a set of text. The models learn to understand the statistical relationships between these tokens, and excel at producing the next token in a sequence of tokens.

You can use the tool below to understand how a piece of text might be tokenized by a language model, and the total count of tokens in that piece of text.







Saturday, April 06, 2024

SWC: JS/TS compilation and bundling dev tool

Rust-based platform for the Web – SWC (swc.rs)

SWC is an extensible Rust-based platform for the next generation of fast developer tools. It's used by tools like Next.js, Parcel, and Deno, as well as companies like Vercel, ByteDance, Tencent, Shopify, and more.

SWC can be used for both compilation and bundling. For compilation, it takes JavaScript / TypeScript files using modern JavaScript features and outputs valid code that is supported by all major browsers.

SWC is 20x faster than Babel on a single thread and 70x faster on four cores.




HTMX vs React

Most of modern "SPA" web applications are very large, while base JS libraries are not.
Could it be that some building blocks are missing in those libs to enable making simpler and smaller apps?
Something like HTML extended, standard web components libs?

HTMX vs React: A Complete Comparison - Semaphore

             : HTMX : React
Weight : 2.9 kB : 6.4 kB




Friday, April 05, 2024

MFA / 2FA for node.js: Speakeasy, otplib

speakeasy - npm

Speakeasy is a one-time passcode generator, ideal for use in two-factor authentication, that supports Google Authenticator and other two-factor devices.

195K downloads/week, MIT license







TOTP (Time-Based One-Time Password) is a widely-used algorithm for implementing MFA. It generates a unique one-time password (OTP) for the user, which expires after a short period of time.





Time-based (TOTP) and HMAC-based (HOTP) One-Time Password library

otplib is a JavaScript One Time Password (OTP) library for OTP generation and verification.

It implements both HOTP - RFC 4226 and TOTP - RFC 6238

393K downloads / week, MIT license


Earthquakes in New Jersey

Latest Earthquakes @ USGS

magnitude 4.8
7 km N of Whitehouse Station, New Jersey
2024-04-05 14:23:20 (UTC)
40.683°N 74.753°W
4.7 km depth

magnitude 2.2
5 km NNE of Whitehouse Station, New Jersey
2024-03-14 19:00:39 (UTC)


N.J. earthquake rocks East Coast - nj.com


Earthquake shakes parts of New Jersey | PIX11


Beemerville Volcano is New Jersey’s Own Geologic Hotspot - New Jersey Digest
The Beemerville Volcano, more commonly known as Rutan Hill, is New Jersey’s resident—and only—volcanic site. The hill is located in Colesville, New Jersey and is only one remnant of the Garden State’s complex geologic past. Standing at an elevation of 1,020 feet tall, Rutan Hill (thankfully) has been dormant for over 400 million years.
Rutan Hill - Wikipedia



Thursday, April 04, 2024

JS/TS: node.js NPM => deno JSR

JSR: What We Know So Far About Deno’s New JavaScript Package Registry - Socket

JSR, a new package registry from the Deno team, aims to address npm’s limitations but the JavaScript community is concerned about ecosystem fragmentation.

The JavaScript community is buzzing about JSR, a new package registry from the team behind Deno, a runtime for JavaScript, TypeScript, and WebAssembly based on the V8 JavaScript engine and Rust.


Wednesday, April 03, 2024

Infrastructure-from-Code: IfC

clever idea, but it needs a better name :)

State of Infrastructure-from-Code 2023 - Klotho

Infrastructure-from-Code (IfC) is a process that analyzes your application code to infer the cloud resources you need, and then creates and maintains them without you having to manually define them.

Infrastructure from Code: the New Wave of Cloud Infrastructure Management - InfoQ


 Infrastructure as Code Is Dead: Long Live Infrastructure from Code - The New Stack

"Managing, maintaining and deploying applications and infrastructure securely and consistently remains an incredibly complicated challenge."

Despite the clear benefits to scale and automation that come with IaC, it remains very complex because cloud infrastructure is complex and constantly changing.


Infrastructure from code is a new way of thinking about and working with infrastructure provisioning, one that puts the application code at the heart of everything. Rather than creating configuration for infrastructure using version-controlled golden templates, you generate the infrastructure your application needs based on the version of your application being deployed (using AI)


pglite: Postgres in WASM for TypeScript

electric-sql/pglite: Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno

PGlite is a WASM Postgres build packaged into a TypeScript client library that enables you to run Postgres in the browser, Node.js and Bun, with no need to install any other dependencies. It is only 3.7mb gzipped.


electric-sql/electric: Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.

Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.

Local-first is a new development paradigm where your app code talks directly to an embedded local database and data syncs in the background via active-active database replication. Because the app code talks directly to a local database, apps feel instant. Because data syncs in the background via active-active replication it naturally supports multi-user collaboration and conflict-free offline.



Tuesday, April 02, 2024

Dynamics 365 @ Microsoft Learn

Dynamics 365 documentation - Dynamics 365 | Microsoft Learn

Discover how to deploy, customize, manage, and use Microsoft Dynamics 365 services and applications. Get documentation, training, sample code, tutorials, and more.

ONNX.AI

ONNX | Home

Open Neural Network Exchange

The open standard for machine learning interoperability

ONNX is an open format built to represent machine learning models. ONNX defines a common set of operators - the building blocks of machine learning and deep learning models - and a common file format to enable AI developers to use models with a variety of frameworks, tools, runtimes, and compilers.


Monday, April 01, 2024

Yann Lecun | Objective-Driven AI

Yann Lecun | Objective-Driven AI: Towards AI systems that can learn, remember, reason, and plan - YouTube

Speaker: Yann Lecun, New York University & META 

Title: Objective-Driven AI: Towards AI systems that can learn, remember, reason, and plan 

Abstract: How could machines learn as efficiently as humans and animals? How could machines learn how the world works and acquire common sense? How could machines learn to reason and plan? Current AI architectures, such as Auto-Regressive Large Language Models fall short. I will propose a modular cognitive architecture that may constitute a path towards answering these questions. The centerpiece of the architecture is a predictive world model that allows the system to predict the consequences of its actions and to plan a sequence of actions that optimize a set of objectives. The objectives include guardrails that guarantee the system's controllability and safety. The world model employs a Hierarchical Joint Embedding Predictive Architecture (H-JEPA) trained with self-supervised learning. The JEPA learns abstract representations of the percepts that are simultaneously maximally informative and maximally predictable. The corresponding working paper is available here: https://openreview.net/forum?id=BZ5a1...

Slides:







Amazon AI: Olympus + Anthropic

 Amazon builds Olympus AI model to compete with Anthropic, OpenAI - The Verge

"With its multibillion-dollar bet on Anthropic and its forthcoming Olympus model, Amazon is pushing hard to be a leader in AI.

Amazon completed the second phase of a deal announced last September, when it committed to investing up to $4 billion in OpenAI rival Anthropic. The additional $2.75 billion invested is Amazon’s largest check ever into another company and yet another signal of how critical the development of large language models has become to Big Tech."
Anthropic has meanwhile agreed to spend $4 billion on AWS over the next several years.

---

so technically Amazon & Microsoft are giving money to startups to "rent back" their own infrastructure.

and at the same time doing some in-house development...






Bun.js for Windows

Bun.js version 1.1 is released, and it now also natively supports Windows.
Bun is an alternative for node.js, mostly compatible API, but much faster.
Written in Rust

Bun is it NOT using V8 JS engine as node.js and Deno,
instead using JavaScriptCore from WebKit and Safari.
Reason: performance.

It will be very interesting to see node.js team's response

Bun (software) - Wikipedia

Bun 1.1 | Bun Blog

Bun is a fast, all-in-one toolkit for running, building, testing, and debugging JavaScript and TypeScript, from a single script to a full-stack application. If you're new to Bun, you can learn more in the Bun 1.0 blog post.

Bun 1.1: Bundows is here - YouTube


Installation | Bun Docs


Bun (@bunjavascript) / X

Bun for Windows currently passes 98% of Bun’s test suite. Bun v1.1 (Bundows)


Write a simple HTTP server | Bun Examples


can even install from nmp
bun - npm
npm install -g bun

Sunday, March 31, 2024

AI Music: Loudly, Suno

 AI Music: It's WAY Better Than You Think - YouTube

https://www.loudly.com/

https://www.suno.ai/

Explore hundreds of AI Tools: https://futuretools.io/

Pi: Personal AI; Mustafa Suleyman interview, book; Microsoft

Mustafa Suleyman: The AI Pioneer Reveals the Future in 'The Coming Wave' | Intelligence Squared - YouTube
Mustafa Suleyman is the ultimate AI insider. As co-founder of DeepMind and Inflection AI, he is one of the pioneers of the artificial intelligence revolution, potentially the single greatest accelerant of progress in history .Investors in Inflection AI include the likes of Microsoft, Nvidia and Bill Gates.

from transcript:

"over the last 10 years every single year the amount of compute
that we have used for The Cutting Edge AI models has grown by 10x so 10x 10x
10x 10x 10 times in a row now that is unprecedented in technology history
nowhere else have we seen a trajectory anything like that over the next five
years We'll add probably three or four orders of magnitude basically another thousand times the compute that you see
used today to produce gbt4 or the chat model that you might interact with..."


Inflection AI Introduces Pi, Your Personal AI

Pi (heypi.com). A new class of AI, Pi is designed to be a kind and supportive companion offering conversations, friendly advice, and concise information in a natural, flowing style.

Pi, your personal AI


Mustafa Suleyman - Wikipedia

Mustafa Suleyman CBE (born August 1984) is a British artificial intelligence (AI) entrepreneur. He is the CEO of Microsoft AI, and the co-founder and former head of applied AI at DeepMind, an AI company acquired by Google.[1][2] After leaving DeepMind, he co-founded Inflection AI, a machine learning and generative AI company, in 2022.






Microsoft paid Inflection AI $620 million for the nonexclusive right to sell access to the Inflection AI model through its Azure Cloud over a multiyear period, the companies confirm. Microsoft paid an additional $33 million for a waver from claims against it related to hiring Inflection employees.



The company was founded by entrepreneurs Reid Hoffman, Mustafa Suleyman and Karén Simonyan in 2022. The company has collaborated with Nvidia to develop hardware for generative artificial intelligence.[7]

In June 2023, the company raised $1.3 billion USD at $4 billion valuation.[7]

In March 2024, Suleyman and Simonyan announced their departure from the company in order to start Microsoft AI




performance: One Billion Rows Challenge

strange thing: using strings where binary format would be much more appropriate...
anyway, interesting code challenge


The One Billion Row Challenge (1BRC) is intended to be a fun exploration of how far modern Java can be pushed for aggregating one billion rows from a text file. .

What is the 1BRC challenge?

Input: A text file containing temperature values for a range of weather stations. Each row is one measurement in the format <string: station name>;<float: measurement>.

Output: For each unique station, find the minimum, average and maximum temperature recorded and emit the final result on STDOUT in station name’s alphabetical order with the format {<station name>:<min>/<average>/<max>;<station name>:<min>/<average>/<max>}.


This article describes the nine solutions in Go, each faster than the previous. The first, a simple and idiomatic solution, runs in 1 minute 45 seconds on my machine, while the last one runs in 3.4 seconds.


Saturday, March 30, 2024

animated chess: lichess books

Books • lichess.org "hot"

Books • lichess.org "popular"

Fundamentals by Capablanca • lichess.org

Capablanca's Best Chess Endings • lichess.org

Index to Useful Studies • lichess.org


OpenAPI codegen tools

openapi-typescript - npm

openapi-typescript generates TypeScript types from static OpenAPI schemas quickly using only Node.js. It is fast, lightweight, (almost) dependency-free, and no Java/node-gyp/running OpenAPI servers necessary. (MIT license)

Tools for consuming OpenAPI schemas in TypeScript.

npm i -D openapi-typescript # supports Swagger/OpenAPI v3
# or
npm i -D openapi-typescript@5 # supports OpenAPI v2

npx openapi-typescript ./path/to/my/schema.yaml -o ./path/to/my/schema.d.ts 
# 🚀 ./path/to/my/schema.yaml -> ./path/to/my/schema.d.ts [7ms]

npx openapi-typescript https://myapi.dev/api/v1/openapi.yaml -o ./path/to/my/schema.d.ts 
# 🚀 https://myapi.dev/api/v1/openapi.yaml -> ./path/to/my/schema.d.ts [250ms]

it works, but the generated code is not quite "idiomatic" typescript.


alternatives

acacode/swagger-typescript-api: TypeScript API generator via Swagger scheme @GitHub

 npx swagger-typescript-api -p ./swagger.json -o ./src -n myApi.ts

swagger-api/swagger-codegen: swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. @GitHub


Generating typescript API client from Swagger


OpenAPI-Specification/3.0.3.md at main · OAI/OpenAPI-Specification

About Swagger Specification | Documentation | Swagger

Swagger Editor


ferdikoomen/openapi-typescript-codegen: NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification


OpenAPITools/openapi-generator: OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

example: Rustici Software SDK from Swagger codegen


viewing OpenApi in Swagger-UI

mapping local file swagger/index.yml to running docker container /tmp/index.yml

# unix bash
docker run -p 8000:8080 -e SWAGGER_JSON=/tmp/index.yml -v $(pwd)/swagger:/tmp --name=swagger-ui -d swaggerapi/swagger-ui
open http://localhost:8000

# windows powershell
docker run -p 8000:8080 -e SWAGGER_JSON=/tmp/index.yml -v ${pwd}/swagger:/tmp --name=swagger-ui -d swaggerapi/swagger-ui
start http://localhost:8000

# stop and remove
docker stop swagger-ui
docker rm swagger-ui

EV: Tesla Cybertruck & Roadster reviews

excellent reviews!

Tesla Cybertruck Review: Already Iconic? - YouTube


Tri-Motor CyberBeast vs Dual Motor Cybertruck Drag Race - YouTube


Tesla Roadster - Living with the Original! - YouTube


The Tesla Roadster Tricked Enthusiasts Into Loving EVs — Jason Cammisa Revelations Ep. 30 - YouTube



Friday, March 29, 2024

save SVG (and HTML) as RDF graph

SVG is DOM, meaning it has a hierarchy of nodes, same as HTML, just as different XML variant.
Any any hierarchy is a "graph", and RDF designed for representing graphs.
So, technically SVG could be a "semantic web" visual graph.
Why? Just because it could be done, I guess :)

Old Dog, New Tricks by Kurt Cagle @ LinkedIn
Expressing SVG (and HTML) as RDF

There are many good use-cases for RDF variants, while SVG may not be one of them... 
Visual graphs, expressed in higher-level model, that would be a very good use-case for RDF.

Resource Description Framework - Wikipedia

But RDF itself is already obscure enough, unless used in simplified serialization such as N3.

We may need to use AI to come up with a simpler to use graph representation syntax...


API specs: Swagger/OpenAPI, WADL, RAML

Microsoft Azure AI APIs have specs in Swagger (JSON), WADL (XML) and "English" format.
Cognitive Services APIs Reference

Another approach is to use WADL, which can be generated by some tools. In this case, it’s machine-readable, but definitely not human-readable. Also, writing a WADL manually is a tedious process.






RESTful API Modeling Language (RAML) is a YAML-based language for describing static APIs (but not REST APIs).





Revisiting the features offered in WADL, RAML, and Swagger - RESTful Java Web Services - Second Edition [Book]

Features

WADL

RAML

Swagger

Release date

2009

2013

2011

File format

XML

RAML

JSON/YAML

Open source

Yes

Yes

Yes

Commercial offering

No

Yes

Yes

Language support

Java

JS, Java, Node, PHP, Python, and Ruby

Clojure, Go, JS, Java, .Net, Node, PHP, Python, Ruby, and Scala

Authentication

No

Basic, Digest, OAuth 1, and OAuth 2

Basic, API Key, and OAuth 2

API console

No

Yes

Yes

Code generation for server (Java)

No

Yes

Yes

Code generation for client (Java)

Yes

Yes

Yes