<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Technology - Category - Xiaopeng Xu</title><link>https://xu-xp.com/categories/technology/</link><description>Technology - Category - Xiaopeng Xu</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</managingEditor><webMaster>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</webMaster><lastBuildDate>Thu, 11 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://xu-xp.com/categories/technology/" rel="self" type="application/rss+xml"/><item><title>How I add notes to this site</title><link>https://xu-xp.com/posts/adding-notes/</link><pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/adding-notes/</guid><description>&lt;p>A quick reference (mostly to my future self) for adding a new note here, and how
the &lt;strong>Notes&lt;/strong> section indexes them automatically.&lt;/p></description></item><item><title>AI 助理配置</title><link>https://xu-xp.com/posts/my-ai-assistant/</link><pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/my-ai-assistant/</guid><description><![CDATA[<h2 id="claude-code-使用">Claude code 使用</h2>
<p>https://github.com/anthropics/claude-code</p>
<p>https://deepwiki.com/anthropics/claude-code</p>
<p><figure><a class="lightgallery" href="https://xux-zotero-img.oss-cn-beijing.aliyuncs.com/img/20260613005331682.png" title="Image" data-thumbnail="https://xux-zotero-img.oss-cn-beijing.aliyuncs.com/img/20260613005331682.png" data-sub-html="<h2>Claude Code Architecture</h2><p>Image</p>">
        
    </a><figcaption class="image-caption">Claude Code Architecture</figcaption>
    </figure></p>
<h3 id="安装">安装</h3>
<div class="code-block code-line-numbers" style="counter-reset: code-block 0">
    <div class="code-header language-Python">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-Python" data-lang="Python"><span class="line"><span class="cl"><span class="c1"># Install</span>
</span></span><span class="line"><span class="cl"><span class="n">curl</span> <span class="o">-</span><span class="n">fsSL</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">claude</span><span class="o">.</span><span class="n">ai</span><span class="o">/</span><span class="n">install</span><span class="o">.</span><span class="n">sh</span> <span class="o">|</span> <span class="n">bash</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Uninstall</span>
</span></span><span class="line"><span class="cl"><span class="n">npm</span> <span class="n">uninstall</span> <span class="o">-</span><span class="n">g</span> <span class="nd">@anthropic</span><span class="o">-</span><span class="n">ai</span><span class="o">/</span><span class="n">claude</span><span class="o">-</span><span class="n">code</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Regular usage</span>
</span></span><span class="line"><span class="cl"><span class="n">claude</span>
</span></span><span class="line"><span class="cl"><span class="n">claude</span> <span class="o">--</span><span class="n">resume</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Use without frequent responds</span>
</span></span><span class="line"><span class="cl"><span class="n">claude</span>  <span class="o">--</span><span class="n">dangerously</span><span class="o">-</span><span class="n">skip</span><span class="o">-</span><span class="n">permissions</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Use resume previous sessions</span>
</span></span><span class="line"><span class="cl"><span class="n">claude</span>  <span class="o">--</span><span class="n">dangerously</span><span class="o">-</span><span class="n">skip</span><span class="o">-</span><span class="n">permissions</span> <span class="o">--</span><span class="n">resume</span></span></span></code></pre></div></div>
<h3 id="常用命令">常用命令</h3>
<div class="code-block code-line-numbers" style="counter-reset: code-block 0">
    <div class="code-header language-Python">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-Python" data-lang="Python"><span class="line"><span class="cl"><span class="c1"># !直接运行命令输入，结果直接进上下文，不用来回切终端</span>
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">git</span> <span class="n">status</span> 
</span></span><span class="line"><span class="cl"><span class="err">!</span><span class="n">npm</span> <span class="n">test</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 双击Esc后悔药        </span>
</span></span><span class="line"><span class="cl"><span class="c1"># 代码改乱了?按两下Esc， 直接回到上一个检查点，后悔来得及</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">#Ctrl+R翻旧账        </span>
</span></span><span class="line"><span class="cl"><span class="c1"># 昨天的提示词忘了?按Ctrl+R秒速搜索历史对话，比翻记事本快</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># @召唤文件</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 想引用某个文件?打@就行，像微信@人一样，再也不用复制粘贴</span>
</span></span><span class="line"><span class="cl"><span class="nd">@results</span><span class="o">/</span><span class="n">file</span><span class="o">.</span><span class="n">fasta</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Remote 随时随地接力</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 网页版开始写代码，回家接着写用 claude--teleport 把云端会话&#34;拉&#34;到本地，无缝切换设备</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># /export留下证据</span>
</span></span><span class="line"><span class="cl"><span class="c1"># 重要对话输 /export 导出自动生成Markdown文档.写文档，复盘都超方便</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># claude RD steps</span>
</span></span><span class="line"><span class="cl"><span class="o">/</span><span class="n">plan</span> <span class="n">implement</span> <span class="n">rate</span> <span class="n">limiting</span> <span class="n">on</span> <span class="n">the</span> <span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">upload</span> <span class="n">endpoint</span>   <span class="c1"># plan first, confirm</span>
</span></span><span class="line"><span class="cl"><span class="c1"># ... approve plan ...</span>
</span></span><span class="line"><span class="cl"><span class="o">/</span><span class="n">prp</span><span class="o">-</span><span class="n">implement</span>                                              <span class="c1"># build w/ validation loops</span>
</span></span><span class="line"><span class="cl"><span class="o">/</span><span class="n">code</span><span class="o">-</span><span class="n">review</span> <span class="o">--</span><span class="n">fix</span>                                          <span class="c1"># review + auto-apply cleanups</span>
</span></span><span class="line"><span class="cl"><span class="o">/</span><span class="n">security</span><span class="o">-</span><span class="n">review</span>                                            <span class="c1"># since it&#39;s an endpoint</span>
</span></span><span class="line"><span class="cl"><span class="o">/</span><span class="n">verify</span>                                                     <span class="c1"># run it, confirm behavior</span>
</span></span><span class="line"><span class="cl"><span class="o">/</span><span class="n">pr</span>                                                         <span class="c1"># push + open PR</span></span></span></code></pre></div></div>
<h3 id="claudemd-命令">Claude.md 命令</h3>
<p>Claude.md 是一个很重要的 claude 功能，能够让 claude 对项目结构有比较好的记忆，减少每次反复开发。在开发过程中，很好的维护他，会让开发效率大大提升。</p>]]></description></item><item><title>Amber 分子动力学模拟</title><link>https://xu-xp.com/posts/md_simulations_amber/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/md_simulations_amber/</guid><description><![CDATA[<h2 id="md-simulationamber">MD simulation（Amber）</h2>
<h2 id="批量运行">批量运行</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-Bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-Bash" data-lang="Bash"><span class="line"><span class="cl"><span class="k">for</span> i in *.pdb<span class="p">;</span> <span class="k">do</span> mkdir -p <span class="s2">&#34;</span><span class="si">${</span><span class="nv">i</span><span class="p">%.*</span><span class="si">}</span><span class="s2">&#34;</span><span class="p">;</span> mv <span class="nv">$i</span> <span class="s2">&#34;</span><span class="si">${</span><span class="nv">i</span><span class="p">%.*</span><span class="si">}</span><span class="s2">&#34;</span>/complex.pdb <span class="p">;</span> <span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> i in <span class="sb">`</span>ls -d */<span class="sb">`</span><span class="p">;</span> <span class="k">do</span> cp ace_capt1/*.in  <span class="nv">$i</span><span class="p">;</span> <span class="k">done</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> i in <span class="sb">`</span>ls -d */<span class="sb">`</span><span class="p">;</span> <span class="k">do</span> cp ace_capt1/*.sbatch  <span class="nv">$i</span><span class="p">;</span> <span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> i in <span class="sb">`</span>ls -d */<span class="sb">`</span><span class="p">;</span> <span class="k">do</span> <span class="nb">echo</span> <span class="nv">$i</span><span class="p">;</span> <span class="nb">cd</span> <span class="nv">$i</span><span class="p">;</span> sbatch prepare_md.sbatch<span class="p">;</span> <span class="nb">cd</span> ..<span class="p">;</span>  <span class="k">done</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> i in <span class="sb">`</span>ls -d */<span class="sb">`</span><span class="p">;</span> <span class="k">do</span> <span class="nb">echo</span> <span class="nv">$i</span><span class="p">;</span> <span class="nb">cd</span> <span class="nv">$i</span><span class="p">;</span> sbatch run_md.sbatch<span class="p">;</span> <span class="nb">cd</span> ..<span class="p">;</span>  <span class="k">done</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">for</span> i in <span class="o">{</span>2..３<span class="o">}</span><span class="p">;</span> <span class="k">do</span> <span class="nb">echo</span> run<span class="nv">$i</span><span class="p">;</span> cp -r run1 run<span class="nv">$i</span><span class="p">;</span> <span class="k">done</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> i in <span class="sb">`</span>ls -d run*/*/<span class="sb">`</span><span class="p">;</span> <span class="k">do</span> <span class="nb">echo</span> <span class="nv">$i</span><span class="p">;</span> <span class="nb">cd</span> <span class="nv">$i</span><span class="p">;</span> sbatch run_md.sbatch<span class="p">;</span> <span class="nb">cd</span> ../..<span class="p">;</span>  <span class="k">done</span></span></span></code></pre></div></div>
<h2 id="整体说明">整体说明</h2>
<p>Amber作为最常用的分子动力学模拟软件之一，适用于许多生物体系的分子动力学模拟，功能全面。Amber软件包本身实际上分为AmberTools与Amber两部分。前者是免费的，且包含做一个完整的分子动力学模拟的所有功能。Amber是付费的，支持多CPU并行运算与GPU加速。</p>]]></description></item><item><title>Jupyterlab 使用</title><link>https://xu-xp.com/posts/jupyterlab_usage/</link><pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/jupyterlab_usage/</guid><description><![CDATA[<h2 id="本地命令行打开-jupyterlab">本地命令行打开 JupyterLab</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-Plaintext">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-Plaintext" data-lang="Plaintext"><span class="line"><span class="cl">jupyter lab # 基础命令
</span></span><span class="line"><span class="cl">nohup  jupyter-lab --no-browser --ip=&#34;0.0.0.0&#34; 2&gt;&amp;1 &amp; # 后台运行命令</span></span></code></pre></div></div>
<h2 id="slurm-运行-jupyter-lab-交互分析">Slurm 运行 Jupyter lab 交互分析</h2>
<h3 id="sbatch-脚本示例-run-jupyter-serversbatch">sbatch 脚本示例: run-jupyter-server.sbatch</h3>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-PowerShell">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-PowerShell" data-lang="PowerShell"><span class="line"><span class="cl"><span class="c">#!/bin/bash</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --time=2:00:00</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --cpus-per-task=1</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --gres=gpu:1</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --mem=16G</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --partition=debug</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --constraint=intel</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --job-name=jupyterlab</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --mail-type=ALL</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --output=./%x-%j.out</span>
</span></span><span class="line"><span class="cl"><span class="c">#SBATCH --error=./%x-%j.err</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c"># use srun to launch Jupyter server in order to reserve a port</span>
</span></span><span class="line"><span class="cl"><span class="n">srun</span> <span class="p">-</span><span class="n">-resv-ports</span><span class="p">=</span><span class="mf">1</span> <span class="p">./</span><span class="nb">run-jupyter</span><span class="n">-server</span><span class="p">.</span><span class="n">srun</span></span></span></code></pre></div></div>
<h3 id="srun-脚本-run-jupyter-serversrun">srun 脚本: run-jupyter-server.srun</h3>
<p>参考：<a href="https://github.com/kaust-vislab/sklearn-data-science-project/blob/master/bin/launch-jupyter-server.srun" target="_blank" rel="noopener noreffer ">https://github.com/kaust-vislab/sklearn-data-science-project/blob/master/bin/launch-jupyter-server.srun</a></p>]]></description></item><item><title>MCP 开发说明</title><link>https://xu-xp.com/posts/mcp_develop/</link><pubDate>Wed, 29 Oct 2025 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/mcp_develop/</guid><description>&lt;p>MCP 由 Claude 提出，其 Claude Code 对 MCP 的支持较好。开始研发 MCP 服务器时，建议先以 Claude Code 作为基础，后续再扩展到 Gemini CLI 和 OpenAI Codex。&lt;/p></description></item><item><title>DFT 有机反应建模</title><link>https://xu-xp.com/posts/dft_organic_reaction/</link><pubDate>Wed, 20 Nov 2024 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/dft_organic_reaction/</guid><description>&lt;h2 id="密度泛函理论-dft-简介">密度泛函理论 (DFT) 简介&lt;/h2>
&lt;p>密度泛函理论 (DFT) 是一种计算量子力学建模方法，用于物理学、化学和材料科学，研究多体系统（特别是原子、分子和凝聚相）的电子结构（或核结构）（主要是基态）。利用该理论，可以通过使用泛函来确定多电子系统的属性 - 即接受函数作为输入并输出单个实数的函数。对于 DFT，这些是空间相关电子密度的泛函。DFT 是凝聚态物理学、计算物理学和计算化学中最流行和用途最广泛的方法之一。&lt;/p></description></item><item><title>Google Sites 网站开发</title><link>https://xu-xp.com/posts/google_site_dev/</link><pubDate>Wed, 16 Oct 2024 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/google_site_dev/</guid><description><![CDATA[<h2 id="google-sites-web-开发">Google Sites Web 开发</h2>
<h2 id="google-sites-域名配置">Google Sites 域名配置</h2>
<p>在 https://sites.google.com/ 上开发个人主页．在腾讯云上购买域名．</p>
<p>购买域名后，在 https://sites.google.com/ 网站下的设置功能中，输入自己的域名，点击下一步获得域名解析的配置信息．</p>]]></description></item><item><title>GROMACS 分子动力学模拟</title><link>https://xu-xp.com/posts/md_simulations_gromacs/</link><pubDate>Wed, 10 Apr 2024 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/md_simulations_gromacs/</guid><description><![CDATA[<h2 id="md-simulation-gromacs">MD simulation (Gromacs)</h2>
<p>相关代码库见 https://github.com/charlesxu90/enzyme-md。</p>
<h2 id="请求-shaheen-资源并运行">请求 Shaheen 资源并运行</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-Plain">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-Plain" data-lang="Plain"><span class="line"><span class="cl">srun --time=4:00:00 --nodes=1 --cpus-per-task=8 --ntasks=1 --mem=20G --pty bash -c &#39;/bin/bash&#39;</span></span></code></pre></div></div>
<h2 id="md结构预处理">MD结构预处理</h2>
<p>AF２ 预测的结构无需特殊处理，直接按照上述步骤执行即可．</p>]]></description></item><item><title>可视化工具</title><link>https://xu-xp.com/posts/visual_tools/</link><pubDate>Tue, 27 Feb 2024 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/visual_tools/</guid><description><![CDATA[<p>常用的可视化工具包括 Python、OmniGraffle、Adobe Illustrator、以及 PowerPoint 等。</p>
<h2 id="python-数据可视化">Python 数据可视化</h2>
<p>Python 是开源工具，其中包含了很多数据可视化包，可以画出比较优美的数据图表。</p>]]></description></item><item><title>扩展GPT</title><link>https://xu-xp.com/posts/extend_gpt/</link><pubDate>Sat, 24 Feb 2024 00:00:00 +0000</pubDate><author>xiaopeng.xu@kaust.edu.sa (Xiaopeng Xu)</author><guid>https://xu-xp.com/posts/extend_gpt/</guid><description><![CDATA[<h2 id="lora-轻量-finetune"><strong>LoRA 轻量 finetune</strong></h2>
<p><a href="https://github.com/microsoft/LoRA" target="_blank" rel="noopener noreffer ">https://github.com/microsoft/LoRA</a></p>
<p>LoRA 在预训练大模型，如 GPT， 的主结构外，增加了 adaptor 层，可以用较小的 memory 来 finetune 大模型。如下图，只训练 A 和 B 的参数。</p>
<p></p>
<h3 id="安装"><strong>安装</strong></h3>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-JSON">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-JSON" data-lang="JSON"><span class="line"><span class="cl"><span class="err">pip</span> <span class="err">install</span> <span class="err">loralib</span></span></span></code></pre></div></div>
<h3 id="使用"><strong>使用</strong></h3>
<h4 id="定义模型"><strong>定义模型</strong></h4>
<p>LoRA 目前只支持几种类型的 layer：<strong>nn.Linear</strong>, <strong>nn.Embedding</strong> 和 <strong>nn.Conv2d</strong>。同时，支持<strong>MergedLinear</strong> 来替换 nn.Linear 表示多层 MLP 的情况。</p>]]></description></item></channel></rss>