<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tech Notes on StarGazer</title><link>https://stargazer1995.github.io/tech/</link><description>Recent content in Tech Notes on StarGazer</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>zhao.gong@outlook.com (StarGazer)</managingEditor><webMaster>zhao.gong@outlook.com (StarGazer)</webMaster><copyright>StarGazer</copyright><atom:link href="https://stargazer1995.github.io/tech/index.xml" rel="self" type="application/rss+xml"/><item><title>From MHA, MQA, GQA to MLA——Cache is all your need</title><link>https://stargazer1995.github.io/tech/from-mha-mqa-gqa-to-mlacache-is-all-your-need/</link><pubDate>Wed, 06 May 2026 00:26:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/from-mha-mqa-gqa-to-mlacache-is-all-your-need/</guid><description>MHA[Multi-Head Attention] The thinking behind the MHA is simple here: Given an input sequence $X[x_1, x_2, &amp;hellip;, x_n]$，MHA is equal to the concatenation of multiple outputs from attention process. $$ \begin{gathered} O[o^{(1)}, o^{(2)}, \dots, o^{(m)}] \\ o^{(h)} = Attn(q^{(h)}, k^{(h)}, v^{(h)}) \\ Attn = \frac{\sum_{i \le t} exp(q_t*k_i^T)v_i}{exp(q_t*k_i^T)}\\ h : head \\ t : the\ number\ of\ token \\ q = MLP_q(X)</description></item><item><title>如何从零开始构建简单的MCP</title><link>https://stargazer1995.github.io/tech/%E5%A6%82%E4%BD%95%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%9E%84%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84mcp/</link><pubDate>Sun, 27 Apr 2025 06:10:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/%E5%A6%82%E4%BD%95%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%9E%84%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84mcp/</guid><description>简介 这是一篇介绍如何从零开始构建 MCP server 的简单说明。本说明由三部分组成：UV 介绍、代码开发和部署。 UV 简介 UV是一个基于 rust 的 Python 软件包和项目管理器。</description></item><item><title>how to build a simple mcp tool server from scratch</title><link>https://stargazer1995.github.io/tech/how-to-build-a-simple-mcp-tool-server-from-scratch/</link><pubDate>Fri, 18 Apr 2025 02:22:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/how-to-build-a-simple-mcp-tool-server-from-scratch/</guid><description>Pre-assumption This guide assumes that readers are familiar with Linux or MacOS command line interface (CLI) and what is a MCP server. Brief introduction This guide shows how to build a MCP server from scratch. This note is composed by three parts: UV introduction, Code development, and deployment. UV introduction UV is a rust based Python package and project manager. There are no differences between UV and other managers except</description></item><item><title>A story of debugging</title><link>https://stargazer1995.github.io/tech/a-story-of-debugging/</link><pubDate>Thu, 04 Jul 2024 01:57:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/a-story-of-debugging/</guid><description>Introduction We&amp;rsquo;ve been experiencing an application crash on the QNX platform, which initially seemed like a common occurrence since core dumps happens. However, this issue is different. After the crash, we&amp;rsquo;re unable to enter engineering mode, making it impossible to use SSH to retrieve the core file. Furthermore, the crash occurs near the application start, leaving no time to enter engineering mode when the system boots up. This page serves</description></item><item><title>complicated geo coordinate systems</title><link>https://stargazer1995.github.io/tech/complicated-geo-coordinate-systems/</link><pubDate>Thu, 04 Jul 2024 01:57:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/complicated-geo-coordinate-systems/</guid><description>Transforming through coordination systems can be confused for some developers like me. But we have to know those commonly used systems and know the bridge between these words. As an autonomous system developer, the commonly used coordination systems are: WGS84, local Cartesian, and ego. Although it is not that important to know the projection theory behind these coordinates, it is good to know how to transform between the coordinations. Conversion</description></item><item><title>First touch to mamba</title><link>https://stargazer1995.github.io/tech/first-touch-to-mamba/</link><pubDate>Thu, 04 Jul 2024 01:57:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/first-touch-to-mamba/</guid><description>From the perceptive of the structure of mamba, this is a discrete selective space machine that runs in linear time using linear space. lets say, matrix A is a state space matrix for the last system status h(t). we then can calculate the next h(t+1) based on the following equation: $$ \begin{equation}h(t) = A*h(t-1) + B*x(t)\end{equation} $$ $$ y = C*h(t) $$ Where B is a weight for input x(t)</description></item><item><title>Myth of Override</title><link>https://stargazer1995.github.io/tech/myth-of-override/</link><pubDate>Thu, 04 Jul 2024 01:57:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/myth-of-override/</guid><description>Introduction: Recently, while acquainting myself with the new company, I encountered a piece of unusual code. It seems quite straightforward. We start by declaring a base class with a private virtual function, which is then called by a public member function. Next, we derive a class from the base class and override the virtual function. This pattern is known as the Template Pattern. It defines the skeleton of an algorithm</description></item><item><title>The first touch on cutlass</title><link>https://stargazer1995.github.io/tech/the-first-touch-on-cutlass/</link><pubDate>Thu, 04 Jul 2024 01:57:00 +0000</pubDate><author>zhao.gong@outlook.com (StarGazer)</author><guid>https://stargazer1995.github.io/tech/the-first-touch-on-cutlass/</guid><description>Introduction This is the very first touch for me to learn how to use cutlass and how it works. Until this moment, there is a little textbook teach us how to use cutlass and how to develop with it. So most of the paper I read are from Zhihu and official. As the first touch on cutlass, I would not dig deep into how to manipulate the cutlass. Why cutlass?</description></item></channel></rss>