Thursday, August 31, 2023

Dagger: Docker + "CI/CD as a Code"

From Docker to Dagger with Solomon Hykes (Changelog Interviews #550) |> Changelog podcast

Solomon Hykes, the creator of Docker. Now he’s back with his next big thing called Dagger — CI/CD as code that runs anywhere. We’re users of Dagger so check out our codebase if you want to see how it works. On today’s show Solomon takes us back to the days of Docker, what it was like on that 10 year journey, his transition from Docker to Dagger, Dagger’s community-led growth model, their focus on open source and community, how it works, and even a cameo from Kelsey Hightower to explain how Dagger works.

DAG: Directed acyclic graph - Wikipedia

Wednesday, August 30, 2023

AI/ML/DB: Amazon Aurora PostgreSQL += vector "embeddings" search

Amazon Aurora PostgreSQL now supports pgvector for vector storage and similarity search

"The pgvector extension is available on Aurora PostgreSQL 15.3, 14.8, 13.11, 12.15 and higher in AWS Regions including the AWS GovCloud (US) Regions.

Amazon Aurora PostgreSQL-Compatible Edition now supports the pgvector extension to store embeddings from machine learning (ML) models in your database and to perform efficient similarity searches. Embeddings are numerical representations (vectors) created from generative AI that capture the semantic meaning of text input into a large language model (LLM). pgvector can store and search embeddings from Amazon Bedrock, Amazon SageMaker, and more.

By using pgvector on Aurora PostgreSQL, you can simply set up, operate, and scale databases for your ML-enabled applications. The pgvector extension allows you to build ML capabilities into your e-commerce, media, health applications, and more to find similar items within a catalog. For example, a streaming service can use pgvector to provide a list of film recommendations similar to the one you just watched. Aurora machine learning enables you to add ML-based predictions to applications via the familiar SQL programming language, so you don't need to learn separate tools or have prior machine learning experience."

Tuesday, August 29, 2023

How to save $ billion on AWS cloud?

good podcast info!

Who Wants to Save a Billion Dollars? | CloudFix

the principal areas for optimization: compute, storage, network, and RDS


* What do you think is the resource utilization for compute across all AWS customers?

It’s only 6%.

94% of compute is just wasted away.
with analyzing enterprise software companies. That number drops to about 2%.

if you are starting from scratch, as you are, I would say start with Graviton. Don’t try to start with the Intel machines and then migrate over later.

for folks who are already on AWS and have compute that’s running on Intel-based machines, the first and the simplest things that I would do is switch over to the latest generation of AMD processors because they provide 20 to 30% price performance improvement over the Intel ones, and they are cheaper, right?

you get better performance with the latest machines, and they’re a lot more cost-effective


* a vast majority of spend happens to be in storage, specifically in S3.

storage is a very, very common area for over-provisioning and inefficiency

AWS, not too long ago, published a stat that said that over 90% of objects that are stored in S3 are accessed exactly once. And then they just stay there forever. And here we are talking about many tens of trillions of objects that are currently stored in S3.

S3 Intelligent-Tiering is a really, really awesome feature where AWS does all the analysis. They figure out how often you access objects or don’t access them, and then they can basically move those objects into other storage tiers that can be as much as 90% cheaper.


AWS infrastructure is split up into 20-plus AWS regions, right, all around the world. Each region is then further broken up into anywhere from three to six or seven availability zones. And now, each availability zone has at least three data centers that constitute that availability zone. (?)

When you have any data coming into AWS, AWS says, “Hey, that’s awesome for us. It’s completely free.” But when data leaves AWS, there’s a hefty penalty you ought to pay.

within a single virtual private network, you basically have zero data transfer charges. But if your VPCs span multiple different availability zones and you have data transfer happening across availability zones, then there are certain availability zone transfer charges that apply.

if you don’t really need that kind of reliability, you don’t need to set up multi-region redundancy. We have never in the history of AWS had an entire region go down for a while.

RDS (Relational Databases)

have been around for about 45 to 50 years, very little has changed in that world

AWS Aurora, a database that was built from scratch, which has 10X the performance of any other relational database out there at one 10th the cost of a commercial database.
over 80% of RDS instances are actually running non-Aurora databases.

could be so much more cost-efficient if you were on Aurora. Not just cost-efficient, you just get so much more performance by just using Aurora.

Twitter API v2 => mostly not free

in the effort to "clean up" from bots, and make twitter profitable
classing twitter API v1 available since 2012 seem to be deprecated and not available anymore

the V2 API cost starts from $100/month, clearly not intended for causal usage and testing

Twitter to remove free API access in latest money making quest - The Verge

also a good example that when making a training material depending on external APIs (and libraries, too) is not reliable

Getting Started with the Twitter API | Docs | Twitter Developer Platform

Twitter API v2 tools & libraries | Docs | Twitter Developer Platform

twitterdev/Twitter-API-v2-sample-code: Sample code for the Twitter API v2 endpoints @GitHub

Monday, August 28, 2023

AI: 471 billion melodies

Brute forcing 471 billion melodies 🤯 | Instagram

a program generated every musical melody that has ever been, and that can ever be,
and made them public domain

Legal consequences of generated content with Damien Riehl, VP of Litigation Workflow & Analytics Content at vLex (Practical AI #232) |> Changelog

As a technologist, coder, and lawyer, few people are better equipped to discuss the legal and practical consequences of generative AI than Damien Riehl. He demonstrated this a couple years ago by generating, writing to disk, and then releasing every possible musical melody. Damien joins us to answer our many questions about generated content, copyright, dataset licensing/usage, and the future of knowledge work.

Azure AD renamed to Microsoft Entra ID

What does Azure AD renamed Microsoft Entra ID mean for .NET developers? - .NET Blog

Microsoft Entra as a new name for all of our identity and access products last year, with Azure AD becoming a part of Microsoft Entra product family along with two new products – Permissions Management and Verified ID. Microsoft Entra product family has since grown to include Identity Governance, External Identities, and Workload Identities

Sunday, August 27, 2023

GPT-4 decline?

GPT-4 is getting significantly dumber over time, according to a study | ZDNET

"Researchers from Stanford University and UC Berkeley conducted a study to analyze the improvement in ChatGPT's large language models over time, as the specifics of the update process are not publicly available.

There were significant decreases in performance between March and June in GPT-4 responses relating to solving math problems, answering sensitive questions, and code generation.

In contrast, GPT-3.5 did improve, initially producing the wrong answer in March and producing the correct one in June."

Saturday, August 26, 2023

OpenTF Announces Fork of Terraform

 OpenTF Foundation

OpenTF Manifesto

The group’s goal is to ensure Terraform stays truly open source forever and they’re asking HashiCorp to switch the license back.

According to OpenTF, there has been no indication by HashiCorp that they plan to revert the license, so they moved forward with the fork and they’ve filled out all the paperwork necessary to join the Linux Foundation.

We completed all documents required for OpenTF to become part of the Linux Foundation with the end goal of having OpenTF as part of the Cloud Native Computing Foundation. By making a foundation responsible for the project, we will ensure the tool stays truly open-source and vendor-neutral.

To me, this is the open source community doing what it does best: stepping up and taking action to fill a void for (and by) the community that relies upon a project.

If you’re wondering about the sustainability story of this fork… here’s a note from the FAQ:

So far, four companies pledged the equivalent of 14 full-time engineers (FTEs) to the OpenTF initiative. We expect this number to at least double in the following few weeks. To give you some perspective, Terraform was effectively maintained by about 5 FTEs from HashiCorp in the last 2 years. If you don’t believe us, look at their repository.


DB Browser for SQLite (DB4S) + SQLCipher

SQLite Home Page

SQLite is the most used database engine in the world.

SQLCipher - Zetetic

  • Open-source extension to SQLite
  • Transparent, 256-bit AES encryption
  • Tamper-resistant design
  • Cross-platform and zero configuration

DB Browser for SQLite 

DB Browser for SQLite (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite.

Friday, August 25, 2023

free, concise TypeScript book

 gibbok/typescript-book: The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source. @GitHub

The Concise TypeScript Book provides a comprehensive and succinct overview of TypeScript's capabilities. It offers clear explanations covering all aspects found in the latest version of the language, from its powerful type system to advanced features. Whether you're a beginner or an experienced developer, this book is an invaluable resource to enhance your understanding and proficiency in TypeScript.

This book is completely Free and Open Source.

Thursday, August 24, 2023

TypeChat = TypeScript + ChatGPT

Introducing TypeChat - TypeChat

npm install typechat

The current wave of LLMs default to conversational natural language — languages that humans communicate in like English. Parsing natural language is an extremely difficult task, no matter how much you pamper a prompt with rules like "respond in the form a bulleted list". Natural language might have structure, but it's hard for typical software to reconstruct it from raw text.

Surprisingly, we can ask LLMs to respond in the form of JSON, and they generally respond with something sensible!

ranslate the following request into JSON.

Could I get a blueberry muffin and a grande latte?

Respond only in JSON that satisfies the Response type:

type Response = {
    items: Item[];

type Item = {
    name: string;
    quantity: number;
    size?: string;
    notes?: string;


  "items": [
      "name": "blueberry muffin",
      "quantity": 1
      "name": "latte",
      "quantity": 1,
      "size": "grande"

AI Code Modular Mojo += $100 M

Modular: We’ve raised $100M to fix AI infrastructure for the world's developers

 raised $100 million in new funding, led by General Catalyst and filled by existing investors GV (Google Ventures), SV Angel, Greylock, and Factory. This second round of funding follows our first $30 million round from last year and will enable us to supercharge our vision for the future of AI infrastructure for the world's developers

Unicorn valuation already?

IoT podcast: the end, and the new beginning?

Episode 437: Goodbye and good luck - IoT Podcast - Internet of Things

Stacey on IoT | My final newsletter

IoT Podcast - Internet of Things - with Stacey Higginbotham since 2016

Innovation at CR - Innovation at Consumer Reports

Lurlene McDaniel Quote: “From every ending comes a new beginning.”

Wednesday, August 23, 2023

Sorbet = Ruby + types

 Types will win in the end with Jake Zimmerman, Stripe working on Sorbet (Changelog Interviews #548) |> Changelog

Stripe working on Sorbet — an open source project that does Type checking in Ruby and runs over Stripe’s entire Ruby codebase. As of May of 2022 Stripe’s codebase was over 15 million lines of code spread across 150,000 files.

Monday, August 21, 2023

TypeScript: make interface from class, with ChatGPT help

I was looking to create an interface that extends a TypeORM class;
the issue with this was that class has many methods, and we need only fields (props), no methods.
Did Google search, StackOverflow... no simple solution...
Then I "asked" ChatGPT, and sure enough it provided a useful answer, it works in this case!

final solution:

type ITable1Fields = Omit<InstanceType<typeof DbTable1>, keyof DbTable1>;

in typescript how to get interface with fields from a class without methods

In TypeScript, you can use the typeof operator along with the InstanceType utility type to extract the shape of a class into an interface without methods. Here's an example:

Copy code
class MyClass {
  id: number;
  name: string;

  constructor(id: number, name: string) { = id; = name;

  method1() {
    // Some code...

  method2() {
    // Some code...

type MyClassFields = Omit<InstanceType<typeof MyClass>, keyof MyClass>;

// MyClassFields will have the shape of { id: number; name: string; }
In the above example, the MyClass class has two properties (id and name) and two methods (method1 and method2). We use the InstanceType utility type to get the instance type of the class. Then we use the Omit utility type to exclude the keys that belong to the keyof MyClass type (i.e., the methods). The resulting type MyClassFields will only contain the fields of the class without the methods.

Sunday, August 20, 2023

dotnet script: run c# from CLI

when running simple single-file c# programs with dotnet run,
it is still required to create .csproj file, and it creates "bin" and "obj" folders with many files.

Alternative is to run "c# scripts", by using a CLI tool.

The adjustment / limitation is that standard class Program with static Main should not be used in that case, just regular functions.

 dotnet-script/dotnet-script: Run C# scripts from the .NET CLI.

Run C# scripts from the .NET CLI, define NuGet packages inline and edit/debug them in VS Code - all of that with full language services support from OmniSharp.

dotnet tool install -g dotnet-script
dotnet tool list -g
# can run even from Docker container, no installation!
docker run -it dotnet-script --version

Our typical helloworld.csx might look like this:

Console.WriteLine("Hello world!");

That is all it takes and we can execute the script.
Args are accessible via the global Args 
array.dotnet script helloworld.csx

even available for embedding to applications

Dotnet CLI tool allowing you to run C# (CSX) scripts.

Saturday, August 19, 2023

chroma: Vector Databases with node.js

Getting Started with Vector Databases in Node.js |

Vector databases are a hot topic right now, and with good reason. When combined with AI tools like ChatGPT, vector databases enable semantic similarity search: find me things that are similar to this other thing. This form of search is more sophisticated than basic search engines or text search, because the search algorithm is able to interpret the semantics of the text, rather than just trying to match keywords.

Chroma - the open-source embedding database.
The fastest way to build Python or JavaScript LLM apps with memory!

Friday, August 18, 2023

MDX Editor

 MDX Editor - the Rich Text Markdown Editor React Component

MDX Editor is an open-source React component that allows
users to author markdown documents naturally.
Just like in Google docs or Notion.

mdx-editor/editor: An open source rich text React component for markdown editing @GitHub (MIT)

Thursday, August 17, 2023

web: vanilla JS => DOM

a recommendation from creator ("discoverer") of JSON, Douglas Crocford

 Plain Old JavaScript and the DOM

The DOM is much less deficient and much more portable and reliable. That is why I now recommend abandoning the libraries, which have grown into bloated platforms, and instead using the DOM and plain old JavaScript together.

function dom(tag, ...nodes) { const node = document.createElement(tag); node.append(...nodes); return node; } let rows = [ dom( "tr", dom("th", "first"), dom("th", "last") ), dom( "tr", dom("td", "Moe"), dom("td", "Howard") ), dom( "tr", dom( "td", "Jerome", dom("i", "Curly") ), dom("td", "Howard") ), dom( "tr", dom("td", "Larry"), dom("td", "Fine") ) ]; document.getElementById("output").append(dom( "table", dom("caption", "The Three Stooges"), ...rows ));

Wednesday, August 16, 2023

Iterators in GoLang

 Iterators in Go — Bitfield Consulting

for _, v := range Items() {
  ... // do something with v

An iterator is just a function, but with a particular signature. For example

func iterateItems(yield func(Item) bool) bool {
  items := []Item{1, 2, 3}
  for _, v := range items {
    if !yield(v) {
        return false
  return true

Virtual Real Estate market? (web3)

Why on earth are people paying for digital real estate? (Ep. 587) - Stack Overflow Blog podcast

"VerseProp is a digital real estate platform where users can buy, sell, and rent virtual properties.

New to the concept of digital real estate? The Motley Fool has a useful primer for you.

If you need to brush up on your investment terms, a supercycle is “a sustained period of expansion, usually driven by robust growth in demand for products and services.”

Joel is on LinkedIn. Will is on LinkedIn.
Follow VerseProp on Twitter, where the team welcomes questions.

Tuesday, August 15, 2023

Roby for mobile apps: DragonRuby, from "Dark Room" app

a good story podcast, about creating a "viral success" app, and using Ruby for making mobile apps

 A Dark Room - From Code Hobo to Indie Game Developer With Amir Rajan - CoRecursive Podcast

DragonRuby | DragonRuby

Build native Mac, iOS, and Android apps with direct access to underlying SDKs. Made for companies small and large.

Saturday, August 12, 2023

AP Comp Sci (Java)

high school CS class material

AP Computer Science A Exam Review 2023 | Study Guides, Trivia, Lives | Fiveable

better-sqlite3: SQLite + JS

Not async! but fast apparently. 

WiseLibs/better-sqlite3: The fastest and simplest library for SQLite3 in Node.js. @GitHub

"The fastest and simplest library for SQLite3 in Node.js.

  • Full transaction support
  • High performance, efficiency, and safety
  • Easy-to-use synchronous API (better concurrency than an asynchronous API... yes, you read that correctly)
  • Support for user-defined functions, aggregates, virtual tables, and extensions
  • 64-bit integers (invisible until you need them)
  • Worker thread support (for large/slow queries)"

NPM sqlite:

The fastest and simplest library for SQLite3 in Node.js. (simple, sinc funcs)

A wrapper library written in Typescript with ZERO dependencies that adds ES6 promises and SQL-based migrations API to sqlite3 (docs).

Asynchronous, non-blocking SQLite3 bindings for Node.js.

Postgres as vector db with pgvector extension

 Vectors are the new JSON in PostgreSQL | Jonathan Katz

"Generative AI and all the buzz around it has caused developers to look for convenient ways to store and run queries against the outputs of these systems, with PostgreSQL being a natural choice for a lot of reasons. But even with the hype around generative AI, this is not a new data pattern. Vectors, as a mathematical concept, have been around for hundreds of years. Machine learning has over a half-century worth of research. The array – the fundamental data structure for a vector – is taught in most introductory computer science classes. Even PostgreSQL has had support for vector operations for over 20 years

Vectors are not new, but they’re having a surge in popularity these days. As mentioned earlier, this is due to the newfound accessibility of AI/ML systems, and that the output of these systems are vectors. A common use-case is to build a model on stored data (text, sound, video), convert it to vector format, and then use it for “semantic search.”

pgvector: an open source extension for storing and searching vectors in PostgreSQL

Friday, August 11, 2023

house design: rotating house

I thought this rotating house was impossible. - YouTube

Near San Diego, California, there's a rotating house: and somehow, all the utilities, the electricity, gas and water, work even on the rotating part. How's that possible? 
Al's site: 
The real estate listing:

4903 Mount Helix Dr, La Mesa, CA

Google Handwriting Fonts

Browse Fonts - Google Fonts: Handwriting 

Get Started with the Google Fonts API  |  Google for Developers

Hello, Dancing Script Font

Thursday, August 10, 2023

Holman next CEO

Chris Conroy Discusses His Vision for the Future of Holman with Fleet Forward

In episode 32 of Fast Forward, Chris Brown sits down with Chris Conroy, who was recently appointed CEO of Holman (@Holman1924). The pair discuss Conroy's background and path to the new position, his strategic vision for the future of Holman, and the challenges and opportunities facing the fleet management industry today.

New Holman CEO Shares Company, Industry Vision - YouTube

10 Data Visualizations

10 Types of Data Visualization You Can Use for Your Reports @IEEE Computer, from DataBricks

Wednesday, August 09, 2023

MathLive: web component for math input, TeX syntax + MathJSON


<math-field>: works just like <textarea>, but for math.

MathLive is a faithful JavaScript implementation of the TeX layout algorithms,
the gold standard for typesetting of mathematical content.

<math-field >

CortexJS: MathJSON

MathJSON is a lightweight data interchange format for mathematical notation.

["Divide", "n", ["Add", 1, "n"]]

[["Derivative", 1, ["InverseFunction", "Sin"]], "x"]

[ "Equal", ["Add", ["Exp", ["Multiply", "ImaginaryUnit", "Pi"]], 1], 0 ]

Tuesday, August 08, 2023

Geothermal: coming soon, 1 cent / kw ?

Tapping into the million-year energy source below our feet | MIT News | Massachusetts Institute of Technology

Ep40 Robert Metcalfe @ACM ByteCast, with Scott Hansleman

In this episode of ACM ByteCast, our special guest host Scott Hanselman (of The Hanselminutes Podcast) welcomes 2022 ACM A.M. Turing Award Laureate Robert Metcalfe, Emeritus Professor of Electrical and Computer Engineering at The University of Texas at Austin and Research Affiliate in Computational Engineering at the Massachusetts Institute of Technology (MIT) Computer Science & Artificial Intelligence Laboratory (CSAIL). Metcalfe received his Turing Award for the invention, standardization, and commercialization of Ethernet, the foundational technology of the Internet, which supports more than 5 billion users and enables much of modern life...

show notes

He took a job as a computational engineer at MIT. He models geothermal wells, and loves the challenge, and recognizes that he needs to have a deeper understanding of thermodynamics. 


"Oh, clean energy is all we need." Well, no, no, it has to be cheap. You won't get massive adoption until it's cheap, so it has to be cheap and clean, not merely clean. And so there's a thing called the Levelized Cost of Energy, the LCOE, and we're all fighting to get it. It varies. It's 10 cents per kilowatt-hour or 20 cents, and we'd like to get it to one cent. My goal is one cent per kilowatt-hour, and that's viewed as very unrealistic, but I think when we achieve the drilling breakthrough, one cent LCOE is going to surprise us. It's going to come suddenly.

Robert Metcalfe - Wikipedia

Sunday, August 06, 2023

Tesla Model X review

an excellent, 6-year old, review

Here's Why the Tesla Model X Is an Awful Car - YouTube

awful... not really... awe-full

"open source" science?: room temperature superconductivity

The First Room-Temperature Ambient-Pressure Superconductor (Korea University)


LK-99 - Wikipedia

A team from Korea University led by Lee Sukbae (이석배) and Kim Ji-Hoon (김지훈) began studying this material as a potential superconductor starting in 1999.[2]: 1  In 2023, they published preprints claiming that it acts as a room-temperature superconductor[2]: 8  at temperatures of up to 400 K (127 °C; 260 °F) at ambient pressure

 All-in-podcast: E140: LK-99... @YouTube

Will the LK-99 room temp, ambient pressure superconductivity pre-print replicate before 2025? | Manifold

RIP: Jeff Meyerson, founder of Software Engineering Daily podcast

An update about SED from Jeff’s family - Software Engineering Daily
In memory of Software Engineering Daily Founder, Jeff Meyerson. 1988 – 2022
Jeff founded Software Engineering Daily in 2015 and hosted the podcast until 2022.

Saturday, August 05, 2023

wazero: GoLang => WASM

"zero dependency WebAssembly runtime written in Go." (for Go)

By avoiding CGO, wazero avoids prerequisites such as shared libraries or libc, and lets you keep features like cross compilation. Being pure Go, wazero adds only a small amount of size to your binary. Meanwhile, wazero’s API gives features you expect in Go, such as safe concurrency and context propagation.

Introducing wazero from Tetrate - Tetrate

tetratelabs/wazero: wazero: the zero dependency WebAssembly runtime for Go developers @GitHub

(Apache license)

VS Code: hide/show line numbers

VS Code - How to enable or disable line numbers in Visual Studio Code

Settings > 

Type in Line number in the settings search space.

Click Line numbers dropdown.

Click On to enable line number. / "Off" to disable

Thursday, August 03, 2023

jupyter-ai: A generative AI extension for JupyterLab

 GitHub - jupyterlab/jupyter-ai: A generative AI extension for JupyterLab @GitHub

Jupyter AI offers:

  • An %%ai magic that turns the Jupyter notebook into a reproducible generative AI playground. This works anywhere the IPython kernel runs (JupyterLab, Jupyter Notebook, Google Colab, VSCode, etc.).
  • A native chat UI in JupyterLab that enables you to work with generative AI as a conversational assistant.
  • Support for a wide range of generative model providers and models (AI21, Anthropic, Cohere, Hugging Face, OpenAI, SageMaker, etc.).

Wednesday, August 02, 2023

DevOps => Platform Engineering ?

 Kubernetes Podcast from Google: Platform Engineering with Nicholas Eberts

Links from the interview

Twitter - LinkedIn


- Abdel tweeting about Platform Engineering

"DevOps is dead, long live Platform Engineering" tweet

DORA (DevOps Research and Assessment)

Charity Majors on the Hacking the Org Podcast

Charity Majors on the DevInterrupted Podcast

Open Service Broker

CNCF Landscape

System Initiative

"It’s time to rebuild DevOps
System Initiative is a collaborative power tool designed to remove the papercuts from DevOps work."

DevOps is Bullshit - Massdriver Blog

"You’ve got a DevOps team?

Congrats, that’s not DevOps. I’d wager most of what they are doing is using Terraform and YAML to do menial tasks for the engineering team."

"Platform engineering is possible, and it is the future."

Tuesday, August 01, 2023

jsonnet: configuration Language, from Google

 SE Radio 570: Stanisław Barzowski on the jsonnet Language : Software Engineering Radio (podcast)

A superset of JSON, jsonnet adds programming language capabilities, particularly to address the need to handle large but mostly repetitive JSON configurations.

four implementations — go, C++, Rust, and Scala — as well as popular libraries and the standard library.

... four implementations — go, C++, Rust, and Scala — as well as popular libraries and the standard library.

Jsonnet - Jsonnet Configuration Language

The name Jsonnet is a portmanteau of JSON and sonnet, pronounced "jay sonnet". It began life early 2014 as a 20% project and was launched on Aug 6. The design is influenced by several configuration languages internal to Google, and embodies years of experience configuring some of the world's most complex IT systems. Jsonnet is now used by many companies and projects. Jsonnet is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

Related Links