Friday, March 27, 2026

PEG: Parsing Expression Grammar, peggy.js

For parsing programming languages we need tools and techniques.

One of popular techniques is PEG, and tool peggy.js

Parsing expression grammar - Wikipedia

In computer science, a parsing expression grammar (PEG) is a type of analytic formal grammar, i.e. it describes a formal language in terms of a set of rules for recognizing strings in the language.

Peggy – Parser Generator for JavaScript

Peggy is a simple parser generator for JavaScript that produces fast parsers with excellent error reporting. You can use it to process complex data or computer languages and build transformers, interpreters, compilers and other tools easily.

Online Version » Peggy – Parser Generator for JavaScript

Documentation » Peggy – Parser Generator for JavaScript

peggyjs/peggy: Peggy: Parser generator for JavaScript @GitHub

JS/TS, MIT

Peggy is a simple parser generator for JavaScript that produces fast parsers with excellent error reporting. You can use it to process complex data or computer languages and build transformers, interpreters, compilers and other tools easily.

Peggy is the successor of PEG.js.



introToPeg



A Peggy.js Tutorial - Strumenta

Peggy is the successor of peg.js, an open-source library for writing parsers in JavaScript. It’s based on parsing expression grammars or PEGs, hence the name. PEGs are a powerful parsing formalism with a gentler learning curve than many alternatives, so Peggy is particularly well suited for developers with little experience with parsers.

Strumenta/article-peggy @GitHub


Thursday, March 26, 2026

Tiiny AI: mini AI PC

Tiiny AI Pocket Lab: The First Pocket-Size AI Supercomputer by Tiiny AI — Kickstarter

80 GB RAM, 1 TB SSD, $1400, 20/tokens/sec

it is quite expensive if not used non-stop... 

more interesting than actually useful?


Tiiny AI

This Shouldn’t Be Able to Run 120B Locally - YouTube





code: WebAssembly + OOP


Mastering Object-Oriented Programming in WebAssembly: From High-Level to Low-Level · Mirko Sertic

This article explores how object-oriented programming concepts are implemented in WebAssembly, a low-level binary instruction format for stack-based virtual machines. It demonstrates the translation of high-level language features like classes, methods, and inheritance into WebAssembly's basic primitive types and functions. Through practical examples, it explains crucial concepts such as virtual function tables, memory management, and object allocation, providing insights into how modern compilers bridge the gap between high-level programming languages and WebAssembly's efficient but limited instruction set.

public class HelloWorld {

    public static int compute() {
        int a = 10;
        int b = 20;
        return a + b;
    }

    public static void main(String[] args) {
        int result = compute();
    }
}

How, lets take a look at the compile result in its WebAssembly textual representation with added comments by myself:

   ;;
   ;; Here we are doing some computation by adding two integers and returning them.
   ;;
   (func $HelloWorld_INTcompute (param $UNUSED i32) (result i32) (1)
         (local $var0 i32)  (2)
         (local $var1 i32)
         (set_local $var0
             (i32.const 10)
         )
         (set_local $var1
             (i32.const 20)
         )
         (return
             (i32.add     (3)
                 (get_local $var0)
                 (get_local $var1)
             )

         )
   )

   ;;
   ;; This is the original main method, which basically just calls the static compute method
   ;;
   (func $HelloWorld_VOIDmainA1TString (param $UNUSED i32) (param $p1 i32) (4)
         (local $var0 i32)
         (set_local $var0
             (call $HelloWorld_INTcompute (i32.const 0))
         )
         (return)
   )

Wednesday, March 25, 2026

AI "clean room" replacing Open Source?

This Is Crazy - YouTube by The PrimeTime

The video argues that open-source is dead because AI enables 'clean room engineering' to bypass licenses like GPL. Here is how this works to legally snatch open-source code for proprietary use:

  1. Robot A (AI) reads the documentation and code of a GPL-licensed package to understand its functionality.
  1. Robot A generates a detailed technical specification based on that functionality, not the actual code.
  1. Robot B (a different AI) implements the functionality solely from that specification, never interacting with the original code.
This process creates a legal buffer, as current law distinguishes between copying functional ideas versus copyrighted expressions. The speaker fears this eliminates the incentive to create complex, free software.

OS tool: gotepad: Go Wails + Monaco Editor (from VS Code)

Sammy-T/gotepad: A simple text editor built with Wails @GitHub

Gotepad is a basic text editor for Window, Linux, and Mac intended for quick or light text and code editing when a larger editor might be overkill. It aims to provide features and functionality somewhere between the default Microsoft Notepad app and VS Code. It's built with Wails and utilizes the Monaco Editor.

Go, JS, MIT




Tuesday, March 24, 2026

markdown anchor tags and links, for AI code

"Markdown" files are becoming a primary format for "AI enabled coding" workflows.

Also for documenting what is done.

Usually there are many files, some could be large, so being able to reference to part of the file is useful.

Since Markdown is based on HTML, anchor tags are supported, and even easier to use.


Learn how Markdown Links work. Welcome to the world of Markdown Links… | by Jochen Gererstorfer | inhalt | Medium


html - How to set an anchor in Markdown File - Stack Overflow

Named Anchors & Markdown - DEV Community


AI Overview

Anchor tags in Markdown allow you to link directly to a specific section within another file by combining the file path with a heading ID (anchor).

How it Works
  1. Identify the Anchor: Most Markdown renderers (like GitHub or VS Code) automatically generate anchors for headings by converting the text to lowercase and replacing spaces with hyphens.
  2. Combine Path and Anchor: To link to a section in a different file, use the format: [Link Text](path/to/file.md#anchor-name)
Assume you have two files in the same folder: README.md and setup.md.
In setup.md:
markdown
# Installation Guide

## Step 2: Configuration
This is the section we want to link to.
The auto-generated anchor for the heading above is #step-2-configuration.
In README.md:
To link to that specific section from your main file:
markdown
Check out the [Configuration Section](setup.md#step-2-configuration) for more details.
Advanced Usage
  • Custom Anchors: If your renderer doesn't auto-generate IDs or you want a shorter link, you can manually insert an HTML anchor tag before a heading: <a id="custom-id"></a>. Link to it using setup.md#custom-id.
  • Case Sensitivity: Most platforms require the anchor part (after the #) to be all lowercase.
  • Special Characters: Punctuation in headings is typically ignored when generating the ID (e.g., ## Setup! becomes #setup)

Tesla’s Solar, $2.9 Billion investment

VERY smart and useful move! Bravo Tesla!

Good for everybody, since demand for energy is much more than supply,
plus good for environment, and the most affordable energy. 

And this is bringing manufacturing to US, and not affected by taxes and tarrifs.

Tesla’s $2.9 Billion Solar Bet Could Change America Forever - YouTube

Tesla is reportedly investing $2.9 billion in Chinese manufacturing equipment
to dramatically expand its solar production capabilities in the United States. 

The goal is to establish 100 gigawatts per year of solar manufacturing capacity in Texas by 2028, aiming to build a vertically integrated supply chain from raw materials to finished panels. 

This move is designed to disrupt the expensive U.S. solar market, improve domestic energy independence, and support rising electricity demands from Tesla operations, SpaceX, and data centers.


Semantic Web: SHACL: Shapes Constraint Language

In the time of AI LLMs, "classic" content management tools and techniques look obsolete.
But they are not, just not mainstream, because they are complex/not easy.

In fact, maybe by leveraging AI tools such tools and languages may actually be more useful.

Same as complex programming languages, like Rust, that can now be usable with more people.

SHACL - Wikipedia

Shapes Constraint Language[1] (SHACL) is a World Wide Web Consortium (W3C) standard language for describing Resource Description Framework (RDF) graphs. SHACL has been designed to enhance the semantic and technical interoperability layers of ontologies expressed as RDF graphs.[3]

SHACL models are defined in terms of constraints on the content, structure and meaning of a graph. SHACL is a highly expressive language. Among others, it includes features to express conditions that constrain the number of values that a property may have, the type of such values, numeric ranges, string matching patterns, and logical combinations of such constraints. SHACL also includes an extension mechanism to express more complex conditions in languages such as SPARQL and JavaScript. SHACL Rules add inferencing capabilities to SHACL, allowing users to define what new statements can be inferred from existing (asserted) statements.

Status Published, W3C Recommendation[1]

W3C Recommendation 20 July 2017



Monday, March 23, 2026

Anthropic AI Software Marketplace

 Anthropic Unveils Amazon-Inspired Marketplace for AI Software

"Anthropic is launching a new platform for its corporate customers to purchase third-party software, broadening the AI developer’s offerings at a time when its business faces new uncertainty from a standoff with the Pentagon.

Anthropic Marketplace will let its customers more easily purchase a mix of software applications that use Anthropic’s models, with options including services from Snowflake Inc., Harvey and Replit Inc. The OpenAI rival will not take a cut of these purchases and will allow its customers to use some of their committed annual spending on Anthropic’s own services toward third-party tools"

Official Anthropic marketplace

The official Anthropic marketplace (claude-plugins-official) is automatically available when you start Claude Code. Run /plugin and go to the Discover tab to browse what’s available, or view the catalog at claude.com/plugins.To install a plugin from the official marketplace, use /plugin install <name>@claude-plugins-official. For example, to install the GitHub integration:
/plugin install github@claude-plugins-official