Wednesday, April 30, 2025

Local AI: Ollama + OpenWebUI; LM Studio

I'm running my LLMs locally now! - YouTube by Maximilian Schwarzmüller

new course, $9.99 only

Local LLMs via Ollama & LM Studio - The Practical Guide | Udemy


"run free" is relative... need a powerful (enough) computer to run local, and that is not free


Run any LLM Model Locally for FREE (Ollama + OpenWebUI) - YouTube





LM Studio GUI app itself is not open source, but several components are. LM Studio's CLI (lms), Core SDK, and the MLX inferencing engine are open source under an MIT license. This allows for contributions to the core development of these components. 

LM Studio @GitHub







Kubernetes vCluster

"virtual k8s clusters" => using "classic" k8s cluster for managing "nodes" (servers for deployment)

useful for "multi-tenant" deployments.

 SE Radio 649: Lukas Gentele on Kubernetes vClusters – Software Engineering Radio

vClusters 101 — Getting started securely | by Imran Roshan | Google Cloud - Community | Medium


vCluster Deep Dive - Powering Kubernetes Environments | by Jitendra Gupta | Cloud Experts Hub | Medium


loft-sh/vcluster: vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.

Tuesday, April 29, 2025

Go autocert HTTPS web server

Making "production ready" web serve in GoLang takes a few lines of code only.

Making "secure" web server with HTTPS is just a few more lines of code.
That requires providing TLS cert keys.

Even obtaining free cert keys is possible by using "autocert" go package.
with "Let's Encrypt" free certs provider.

ssl - How to set up Let's Encrypt for a Go server application - Stack Overflow

Early renewal with autocert - Help - Let's Encrypt Community Support

autocert package - golang.org/x/crypto/acme/autocert - Go Packages

basic, configurable, Go files web server

go run server.go
go run server.go -dir=/path/to/your/files
go run server.go -port=3000
go run server.go -dir=/path/to/your/files -port=3000


package main

import (
    "flag"
    "fmt"
    "net/http"
    "os"
)

func main() {
    // Define command line flags
    dirPath := flag.String("dir", ".", "Directory path to serve files from")
    port := flag.String("port", "8080", "Port to run the server on")

    // Parse command line arguments
    flag.Parse()

    // Use specified directory
    staticDir := *dirPath

    // Verify the directory exists
    if _, err := os.Stat(staticDir); os.IsNotExist(err) {
        fmt.Printf("Error: Directory '%s' does not exist\n", staticDir)
        os.Exit(1)
    }

    // Create a file server handler for the specified directory
    fileServer := http.FileServer(http.Dir(staticDir))

    // Handle all requests by trying to serve a file
    http.Handle("/", fileServer)

    // Format the address with the port
    addr := ":" + *port

    // Start the server
    fmt.Printf("Server starting on port %s...\n", *port)
    fmt.Printf("Serving files from: %s\n", staticDir)
    fmt.Printf("Access at http://localhost%s\n", addr)

    err := http.ListenAndServe(addr, nil)
    if err != nil {
        fmt.Printf("Error starting server: %s\n", err)
    }
}


How To Make an HTTP Server in Go | DigitalOcean

Temporal Knowledge Graphs for AI Agents: Zep & Graphiti

Is "Semantic Web" ("web of data", "data web") back, 20+ years later?
With AI Agents now we are again talking "ontology", knowledge graphs, etc.
This time technology and computing power is significantly improved, it may actually work...


Knowledge Graphs as Agentic Memory with Daniel Chalef - Software Engineering Daily


Zep is a startup that’s developing a memory layer for AI agents using temporal Knowledge Graphs, enabling agents to retain long-term contextual information. It was founded in 2023 and was part of the Y Combinator batch of Winter 2024.

Daniel Chalef is the Founder of Zep. He joins the show with Kevin Ball to talk about the challenge of contextual memory in AI, temporal knowledge graphs, ambient AI agents, and more.

Graphiti on GitHub and read the Zep White Paper on arXiv.

Graphiti is a framework for building and querying temporally-aware knowledge graphs, specifically tailored for AI agents operating in dynamic environments. Unlike traditional retrieval-augmented generation (RAG) methods, (Python, Apache 2.0)


Zep - AI Agent Memory": "Build Personalized AI Agents That Learn From Users & Business Data"

Monday, April 28, 2025

UV: Python tool (AI programming)

UV (short for "unified") is a fast Python package and project manager, written in Rust,
 that's designed to replace traditional tools like pip, pip-tools, and virtualenv

It offers a streamlined, high-performance solution for managing Python projects, including virtual environments, dependencies, and more.

astral-sh/uv: An extremely fast Python package and project manager, written in Rust. @GitHub

  • 🚀 A single tool to replace pippip-toolspipxpoetrypyenvtwinevirtualenv, and more.
  • ⚡️ 10-100x faster than pip.

docs: uv  //docs.astral.sh/uv/

Installation | uv

# With pip.
pip install uv
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Installing and managing Python | uv

Python UV: The Ultimate Guide to the Fastest Python Package Manager | DataCamp


uv: An Extremely Fast Python Package Manager - YouTube

Charlie Marsh is the founder of Astral, which develops uv, a next-generation Python package manager written in Rust. In this talk, Charlie details the unique challenges of the Python packaging ecosystem and how he made uv so fast: allocators, concurrency, zero-copy tricks, and more.


uv: The Ultra-Fast Python Package Manager 🚀 - YouTube
by NeuralNine

Getting Started with uv: Setting Up Your Python Project in 2025


Course: MCP Crash Course: Complete Model Context Protocol in a Day | Udemy Business
(UV python virtual envs)

Solving "Mythical AI Agent Month": Sourcegraph

Sourcegraph was created 10 years ago with an objective to solve "The Mythical Man-Month" problem
by providing source code search and organization tool. 

Now, the same problem still exists, and with using "AI Agents" to generate source code on large scale, it is potentially even worse, there is much more messy code to manage. 

So new tools and processes are being created to effectively manage code projects.

Sourcegraph and the Frontier of AI in Software Engineering with Beyang Liu - Software Engineering Daily (podcast)


The Mythical Man-Month - Wikipedia

a book on software engineering and project management by Fred Brooks first published in 1975,

adding manpower to a software project that is behind schedule delays it even longer. This idea is known as Brooks's law,


So updated version of this "law"

adding AI to a software project that is behind schedule delays it even longer. 


"AI Overview"

The saying "It takes nine months to have a baby, no matter how many women you get pregnant" illustrates that a single pregnancy and birth takes nine months, regardless of the number of women involved.

The phrase, often attributed to Fred Brooks in his book "The Mythical Man-Month," emphasizes that simply increasing resources (people) doesn't guarantee a faster outcome, especially in complex projects.

Sunday, April 27, 2025

AI MCP clients, servers, hosts

Model Context Protocol

The terminology of MCP (Model Context Protocol, for AI agents & tools communication) is slightly confusing. 

The "Host" is the app that has AI/LLM functionality, and may need to communicate with external 
resources, tools or even prompts.

The "MCP client" a custom app or a stand-alone app that communicates with MCP "server"

The "MCP server" is usually a lightweight "proxy" app that provide requested resource or invokes tools/functions on demand of MCP client.

The communication between of MCP client & servers can be

  • stdio: when "server" app is started as a process, with input/output/error redirected to "client" app
    that used to be a common on desktop apps, and is relatively simple and efficient for local "server apps"
  • SSE: HTTPS based "streaming"; relatively standard web server API app

Core architecture - Model Context Protocol


What are MCP host apps (with client plugins)
MCP client apps

There is already many MCP servers created and made available.

And there are "online marketplaces" for finding those servers


MCP Servers //mcp.so





Servers | Model Context Protocol | MCP //model-context-protocol.com/servers

some example MCP servers

Caution

MCP servers can run arbitrary code on your machine. Only add servers from trusted sources, and review the publisher and server configuration before starting it.


GitHub - modelcontextprotocol/quickstart-resources: A repository of servers and clients from the Model Context Protocol tutorials


  • AWS KB Retrieval - Retrieval from AWS Knowledge Base using Bedrock Agent Runtime
  • Brave Search - Web and local search using Brave's Search API
  • EverArt - AI image generation using various models
  • Everything - Reference / test server with prompts, resources, and tools
  • Fetch - Web content fetching and conversion for efficient LLM usage
  • Filesystem - Secure file operations with configurable access controls
  • Git - Tools to read, search, and manipulate Git repositories
  • GitHub - Repository management, file operations, and GitHub API integration
  • GitLab - GitLab API, enabling project management
  • Google Drive - File access and search capabilities for Google Drive
  • Google Maps - Location services, directions, and place details
  • Memory - Knowledge graph-based persistent memory system
  • PostgreSQL - Read-only database access with schema inspection
  • Puppeteer - Browser automation and web scraping
  • Redis - Interact with Redis key-value stores
  • Sentry - Retrieving and analyzing issues from Sentry.io
  • Sequential Thinking - Dynamic and reflective problem-solving through thought sequences
  • Slack - Channel management and messaging capabilities
  • Sqlite - Database interaction and business intelligence capabilities
  • Time - Time and timezone conversion capabilities

example: chess engine MCP server (using UCI stdio)

Analyze chess positions and get professional evaluations using Stockfish.
turlockmike/chess-mcp: A MCP Server with various chess functionality @GitHub

Interact with the Lichess chess platform using natural language.

VS Code MCP client extensions

MCP servers can run as public/auth webs servers





here is example setup of Claude Desktop app on Windows machine
it gets "technical" quite quickly :)

this requires enabling "developer" tools from settings (from menu options)

requires editing config file; replace <user> and <folder-path>
C:\Users\<user>\AppData\Roaming\Claude
 
This setup is with Python demo weather MCP server app
using Python directly without virtual envs
make sure to 
> pip install FastMCP

to find file path to Python exe can use this command; 
If python is in "path" env var it may work directly without full path, with just "python" command.
`python -c "import sys; print(sys.executable)"`

{
    "mcpServers": {
        "weather": {
            "command": "C:\\Users\\<user>\\AppData\\Local\\Programs\\Python\\Python312\\python.exe",
            "args": [
                "<folder-path>\weather-server-python\\weather.py"
            ]
        }
    }
}



here we are using TypeScript version of weather demo MCP server app.
for this need to run
> npm install
> npm run build

for setting Cursor.ai desktop app
from menu options select > File > Preferences > Cursor Settings > MCP
[ + Add new global MCP server ]

the path in args should match your local file path to result of build of TypeScript app to index.js

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["D:\\GitHubTest\\ai-mcp\\quickstart-mcp-weather\\weather-server-typescript\\build\\index.js"]
    }
  }
}

Cursor requires interactive "approval" to run MCP tool, similar to Claude desktop app.



Saturday, April 26, 2025

AI Agents, MCP examples & courses

MCP is a "big deal" for making AI based applications.
It enables a standardized way to expose "Tools" (API functions)
that AI based application can call on demand.




Making Sense of LLM Tool Use & MCP - YouTube 
by Maximilian Schwarzmüller - Developer & Online Course Instructor


example MCP servers








MCP Crash Course: Complete Model Context Protocol in a Day | Udemy 
by Eden Marco  GenAI Architect at Google Cloud Eden Marco | LinkedIn

Course: MCP Crash Course: Complete Model Context Protocol in a Day | Udemy Business

GitHub - emarco177/mcp-crash-course @GitHub


Course: LangChain- Develop LLM powered applications with LangChain | Udemy Business




AI Mastery: 1000 Projects, AI Agents, MCP, Google A2A, more | Udemy Business


MCP & A2A - Model Context Protocol & Agent to Agent Protocol | Udemy












Friday, April 25, 2025

EV Slate $20K pickup truck/SUV?

Personalize Your SLATE | Make It Yours

Slate's Cheap $25K EV Truck Can Transform Into An SUV - YouTube by InsideEV

2027 Slate Truck EV Will Be Very Customizable, Priced Under $28,000 - YouTube CarAndDriver

Slate’s Game-Changing $20K EV: It's a Truck and an SUV all in one - YouTube by The Electric Viking

Minimalist Dream Truck? Slate Auto’s EV Pickup Unveiled - YouTube by Munro Live

2027 Slate Truck First Look: America's New Cheapest Pickup? - YouTube by Motor Trend

The New Slate EV Truck Looks Sick! - YouTube

The Slate Truck Online Configurator Is Up. Build Your Perfect Cheap EV insideevs


Bezos-backed Slate Auto reveals its new customizable $20,000 EV - Fast Company

Slate Auto’s new vehicle is designed to make EVs more accessible by making most features optional add-ons. The company says it will start delivering vehicles in 2026.


Slate Will Teach EV Owners How to Make Their Truck an SUV on YouTube - Newsweek


Here's Your First Look at Jeff Bezos' Cheap Electric Trucks




Slate VS Telo - YouTube

DraganSr: EV mini-max truck: Telo



Turing Award: Jeffrey Ullman

Another great interview with very prominent "computing" person.
Not about compilers, mostly about AI

 Turing Award Special: A Conversation with Jeffrey Ullman - Software Engineering Daily

Jeffrey Ullman is a renowned computer scientist and professor emeritus at Stanford University, celebrated for his groundbreaking contributions to database systems, compilers, and algorithms. He co-authored influential texts like Principles of Database Systems and Compilers: Principles, Techniques, and Tools (often called the “Dragon Book”), which have shaped generations of computer science students.

Jeffrey received the 2020 Turing Award together with Alfred Aho “for fundamental algorithms and theory underlying programming language implementation and for synthesizing these results and those of others in their highly influential books, which educated generations of computer scientists.”


in 2000 he was awarded the Knuth Prize.[4] Ullman is the co-recipient (with John Hopcroft) of the 2010 IEEE John von Neumann Medal
...
He was the Ph.D. advisor of Sergey Brin, one of the co-founders of Google, and served on Google's technical advisory board


Principles of Compiler Design, by Alfred Aho and Jeffrey Ullman, is a classic textbook on compilers for computer programming languages. Both of the authors won the 2020 Turing Award for their work on compilers.



Compilers: Principles, Techniques, and Tools
[1] is a computer science textbook by Alfred V. AhoMonica S. LamRavi Sethi, and Jeffrey D. Ullman about compiler construction for programming languages. First published in 1986, it is widely regarded as the classic definitive compiler technology text

The first edition (1986) is informally called the "red dragon book" to distinguish it from the second edition[5] and from Aho & Ullman's 1977 Principles of Compiler Design sometimes known as the "green dragon book"


Thursday, April 24, 2025

Turing Award: John Hennessy

A podcast interview with a very prominent person in computing;
Uplifting view of the future... and AI...
All roads/conversations lead to AI...

 Turing Award Special: A Conversation with John Hennessy - Software Engineering Daily

John Hennessy is a computer scientist, entrepreneur, and academic known for his significant contributions to computer architecture. He co-developed the RISC architecture, which revolutionized modern computing by enabling faster and more efficient processors. Hennessy served as the president of Stanford University from 2000 to 2016 and later co-founded MIPS Computer Systems and Atheros Communications. Currently, he serves on the board of the Gordon and Betty Moore Foundation, and is chair of the board of Alphabet.


AI: programming with data is the right way to think about it
... we're going to see more and more of that and particularly smaller LLMs adapted to particular domains


Hennessy is one of the founders of MIPS Technologies and Atheros,
and also the tenth President of Stanford University.

Along with David Patterson, Hennessy was a recipient of the 2017 Turing Award for their work in developing the reduced instruction set computer (RISC) architecture, which is now used in 99% of new computer chips.

Wednesday, April 23, 2025

AI Agents Protocols: A2A & MCP

Google’s A2A Protocol is a GAMECHANGER - YouTube by Chris Hay - YouTube


MCP makes Telnet RELEVANT for AI Agents - YouTube  by Chris Hay


Making Sense of LLM Tool Use & MCP - YouTube by Maximilian Schwarzmüller - YouTube


Explore Model Context Protocol (MCP) on AWS! | AWS Show and Tell - Generative AI | S1 E9 - YouTube



Overall, both are designed for specific tasks:
  • A2A facilitates agent-to-agent communication, while
  • MCP enables agent-to-tool interactions.
That's why we need both of them to build powerful agentic systems.

A2A:

- Supports flexible, conversational, and task-centric communication. Agents can exchange messages and negotiate formats based on their capabilities.
- It operates like a "conference room" for agents to collaborate.

MCP:

- Uses structured schemas for rigid, exact inputs and outputs.
- It’s designed for precise interactions between an agnets and external systems, acting like a "tool workshop" that provides clear instructions for accessing resources.