<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tutorial on Breeding and genetics</title>
    <link>https://blog.xijiang.org/tags/tutorial/</link>
    <description>Recent content in Tutorial on Breeding and genetics</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 14 Feb 2026 16:28:34 +0100</lastBuildDate>
    <atom:link href="https://blog.xijiang.org/tags/tutorial/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Running ASReml on Linux</title>
      <link>https://blog.xijiang.org/posts/running-asreml-on-linux/</link>
      <pubDate>Sat, 14 Feb 2026 16:28:34 +0100</pubDate>
      <guid>https://blog.xijiang.org/posts/running-asreml-on-linux/</guid>
      <description>&lt;p&gt;To run ASReml on a Linux system can be very tricky. This software has&#xA;built its reputation. It then don&amp;rsquo;t care very much about its&#xA;custormers. The following valid instructions were after many&#xA;combination tests. Had you any other alternatives, I would not&#xA;recommend ASReml, especially on Linux, where most serious computations&#xA;are carried on nowadays.&lt;/p&gt;&#xA;&lt;p&gt;The following instructions are to run a cloud instance of AlmaLinux9&#xA;one a AlmaLinux 10 system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resize root partition on an AlmaLinux OS</title>
      <link>https://blog.xijiang.org/posts/resize-root-partition-on-an-almalinux-os/</link>
      <pubDate>Fri, 13 Feb 2026 14:52:00 +0100</pubDate>
      <guid>https://blog.xijiang.org/posts/resize-root-partition-on-an-almalinux-os/</guid>
      <description>&lt;h1 id=&#34;resizing-root-partition-on-almalinux-10-lvm--xfs&#34;&gt;Resizing Root Partition on AlmaLinux 10 (LVM + XFS)&lt;/h1&gt;&#xA;&lt;p&gt;Since XFS filesystems cannot be shrunk, increasing the root partition requires backing up the &lt;code&gt;/home&lt;/code&gt; partition, deleting it, expanding &lt;code&gt;/root&lt;/code&gt;, and then recreating &lt;code&gt;/home&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A backup location with enough space (e.g., &lt;code&gt;/mnt/w&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Root or sudo access.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;step-1-backup-home-data&#34;&gt;Step 1: Backup Home Data&lt;/h2&gt;&#xA;&lt;p&gt;Backup all data from &lt;code&gt;/home&lt;/code&gt; to a temporary location.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo mkdir -p /mnt/w/home_backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rsync -aHAX --progress /home/ /mnt/w/home_backup/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;step-2-unmount-and-remove-the-home-volume&#34;&gt;Step 2: Unmount and Remove the Home Volume&lt;/h2&gt;&#xA;&lt;p&gt;Ensure no processes are using &lt;code&gt;/home&lt;/code&gt;, then unmount it and remove the Logical Volume (LV).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Local AI tools</title>
      <link>https://blog.xijiang.org/posts/local-ai-tools/</link>
      <pubDate>Thu, 05 Feb 2026 12:02:39 +0100</pubDate>
      <guid>https://blog.xijiang.org/posts/local-ai-tools/</guid>
      <description>&lt;p&gt;I am not an expert about nodejs. But gemini and copilot cli are&#xA;written in nodejs. One annoying issue before is that they have to be&#xA;installed globally which require root privileges. This post shows the&#xA;step to install them locally.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/Music/ai-tools&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;npm init -y&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;npm install @google/gemini-cli @github/copilot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ~/.local/bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ln -s ~/Music/ai-tools/node_modules/.bin/gemini .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ln -s ~/Music/ai-tools/node_modules/.bin/copilot .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the same directory, create a file called &lt;code&gt;update-cli-tools.sh&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PDF to MarkDown</title>
      <link>https://blog.xijiang.org/posts/pdf-to-markdown/</link>
      <pubDate>Wed, 04 Feb 2026 13:03:52 +0100</pubDate>
      <guid>https://blog.xijiang.org/posts/pdf-to-markdown/</guid>
      <description>&lt;p&gt;We may have some old documents that are only on paper. The following&#xA;procedure is to convert them into MarkDown format. The latter can be&#xA;easily converted to easy to handle PDF files. If you have some graphic&#xA;card like mine, which is GeForce RTX 3060 Ti, with 12GiB VRAM, or&#xA;better, you can follow the steps below.&lt;/p&gt;&#xA;&lt;p&gt;The first step is to scan the papers into a PDF file. Then&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Hugo</title>
      <link>https://blog.xijiang.org/posts/setting-up-hugo/</link>
      <pubDate>Wed, 04 Feb 2026 06:35:36 +0100</pubDate>
      <guid>https://blog.xijiang.org/posts/setting-up-hugo/</guid>
      <description>&lt;h2 id=&#34;setting-up-hugo&#34;&gt;Setting up Hugo&lt;/h2&gt;&#xA;&lt;p&gt;Hugo generate static web files. This is how this blog was&#xA;compiled. Hugo can be installed locally. The generated contents are&#xA;synchronized to some remote servers.&lt;/p&gt;&#xA;&lt;h3 id=&#34;setting-up-the-remote&#34;&gt;Setting up the remote&lt;/h3&gt;&#xA;&lt;p&gt;A dedicated folder on my home server was setup to host the compiled&#xA;hugo files. The details are not shown here.&lt;/p&gt;&#xA;&lt;h3 id=&#34;setting-up-the-local&#34;&gt;Setting up the local&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo dnf install hugo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# in the path where you want to save the blogs&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo new site blog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd blog&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git init&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add hugo.toml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo new content content/posts/hugo.md &lt;span style=&#34;color:#75715e&#34;&gt;# this post&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;touch deploy.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add deploy.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;deploy.sh&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;hugo &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; rsync -avz --delete public/ remote:/var/www/blog/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;to deploy&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./deploy.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;$e^{i\pi}+1=0$&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
