<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bdim</title>
    <link>/</link>
    <description>Recent content on Bdim</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en</language>
    <copyright>2021-CURRENT_YEAR Bdim</copyright>
    <lastBuildDate>Wed, 24 Dec 2025 00:00:11 +0800</lastBuildDate>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Learning Notes on HMM (Hidden Markov Model)</title>
      <link>/posts/learning-notes-on-hmm-hidden-markov-model/</link>
      <pubDate>Wed, 24 Dec 2025 00:00:11 +0800</pubDate>
      <guid>/posts/learning-notes-on-hmm-hidden-markov-model/</guid>
      <description>&lt;h1 id=&#34;overview-and-intuitive-understanding&#34;&gt;Overview and Intuitive Understanding&lt;/h1&gt;
&lt;p&gt;Hidden Markov Model (HMM) is a class of &lt;strong&gt;probabilistic models used to model and infer system evolution processes in situations where &amp;ldquo;states are unobservable&amp;rdquo;&lt;/strong&gt;. The core problem it solves can be summarized in one sentence:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When the true state of the real world cannot be directly observed, can we still infer the most likely internal state change process of the system based solely on the observed phenomena?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learning Notes on DTW (Dynamic Time Warping)</title>
      <link>/posts/learning-notes-on-dtw-dynamic-time-warping/</link>
      <pubDate>Tue, 23 Dec 2025 00:00:11 +0800</pubDate>
      <guid>/posts/learning-notes-on-dtw-dynamic-time-warping/</guid>
      <description>&lt;h1 id=&#34;starting-with-an-intuitive-problem&#34;&gt;Starting with an Intuitive Problem&lt;/h1&gt;
&lt;p&gt;When processing audio, speech, or other time series data, we will almost certainly encounter this problem: if two signal segments are similar in &amp;ldquo;content,&amp;rdquo; but not consistent in the speed of time progression, can we still judge that they are similar?&lt;/p&gt;
&lt;p&gt;This problem is very common in real scenarios. For example, two people sing the same melody, but one sings faster and the other slower; students may slow down due to hesitation during sight-singing, retreat and re-sing after making mistakes, or suddenly accelerate at certain positions; the same sentence is spoken by different people with different speaking speeds and different pause patterns.
In these cases, if we rigidly require &amp;ldquo;frame 1 matches frame 1, frame 2 matches frame 2,&amp;rdquo; then almost all real samples will be simply and crudely judged as &amp;ldquo;not similar.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Research and Reflections on the Development of AI-Based Sight-Singing Evaluation System</title>
      <link>/posts/research-and-reflections-on-the-development-of-ai-based-sight-singing-evaluation-system/</link>
      <pubDate>Wed, 17 Dec 2025 00:00:11 +0800</pubDate>
      <guid>/posts/research-and-reflections-on-the-development-of-ai-based-sight-singing-evaluation-system/</guid>
      <description>&lt;h1 id=&#34;preface&#34;&gt;Preface&lt;/h1&gt;
&lt;p&gt;During my university studies, sight-singing and ear training was a course that gave me quite a headache. While the course itself is very fundamental, it is not easy for many music majors, and I was one of them (laughs). As I progressed through my studies, I gradually discovered a significant problem with sight-singing and ear training when practicing independently: students often find it difficult to notice their own mistakes in a timely manner. Whether it&amp;rsquo;s the perception of pitch or rhythm, learners&amp;rsquo; subjective judgments are often not entirely accurate, and practicing alone therefore becomes more prone to errors.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Claude Code, My New Coding Companion!</title>
      <link>/posts/claude-code-my-new-coding-companion/</link>
      <pubDate>Wed, 20 Aug 2025 00:00:11 +0800</pubDate>
      <guid>/posts/claude-code-my-new-coding-companion/</guid>
      <description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;When Claude Code was released in May, it didn&amp;rsquo;t catch my attention initially. However, it has now become an indispensable coding assistant that I can no longer live without. I would call it the most powerful coding assistant available.&lt;/p&gt;
&lt;p&gt;Unlike Copilot, Claude Code is a CLI tool—a command-line interface tool. This is great news for those who love command-line tools, but might be somewhat challenging for &amp;ldquo;point-and-click&amp;rdquo; users. Overall, CLI tools inherently have advantages over Copilot in development assistance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Can&#39;t My OpenWrt Start PBR?</title>
      <link>/posts/why-cant-my-openwrt-start-pbr/</link>
      <pubDate>Thu, 14 Aug 2025 00:01:11 +0800</pubDate>
      <guid>/posts/why-cant-my-openwrt-start-pbr/</guid>
      <description>&lt;p&gt;For the past six months, I&amp;rsquo;ve been following the tutorials from fernvenue&amp;rsquo;s blog posts, &amp;ldquo;&lt;a href=&#34;https://blog.fernvenue.com/archives/try-openwrt-on-nx30-pro/&#34;&gt;Trying OpenWrt on the NX30 Pro&lt;/a&gt;&amp;rdquo; and &amp;ldquo;&lt;a href=&#34;https://blog.fernvenue.com/archives/using-pbr-to-route-traffic-on-openwrt/&#34;&gt;Configuring Policy-Based Routing on OpenWrt&lt;/a&gt;&amp;rdquo;, to set up a similar configuration at my place. This has made my internet experience smoother and my network traffic management clearer.&lt;/p&gt;
&lt;p&gt;However, I once encountered an issue where PBR wouldn&amp;rsquo;t start after reinstalling OpenWrt. The download and installation of PBR went fine, and it would even start correctly without any profiles enabled. But as soon as I selected a configuration file, PBR would fail to start immediately. The most critical piece of information was this line:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding RNNs and LSTMs: What&#39;s the Deal?</title>
      <link>/posts/understanding-rnns-and-lstms-whats-the-deal/</link>
      <pubDate>Fri, 20 Sep 2024 00:01:11 +0800</pubDate>
      <guid>/posts/understanding-rnns-and-lstms-whats-the-deal/</guid>
      <description>&lt;h2 id=&#34;what-are-they&#34;&gt;What Are They?&lt;/h2&gt;
&lt;h3 id=&#34;rnns-are-like-learners-with-short-term-memory--they-remember-recent-information-but-get-fuzzy-as-time-passes&#34;&gt;&lt;strong&gt;RNNs&lt;/strong&gt; are like learners with short-term memory – they remember recent information but get fuzzy as time passes.&lt;/h3&gt;
&lt;p&gt;Simply put, a &lt;strong&gt;Recurrent Neural Network (RNN)&lt;/strong&gt; is like a &amp;ldquo;learner&amp;rdquo; with memory. Imagine this learner reading an article, remembering the meaning of each word temporarily before moving on to the next. While traditional neural networks treat each input independently (like starting from scratch each time), RNNs &amp;ldquo;remember&amp;rdquo; previous information (earlier words) and pass this memory to the next step, creating context for the entire sentence.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Cross-Entropy</title>
      <link>/posts/understanding-cross-entropy/</link>
      <pubDate>Wed, 18 Sep 2024 00:01:11 +0800</pubDate>
      <guid>/posts/understanding-cross-entropy/</guid>
      <description>&lt;h2 id=&#34;what-is-it&#34;&gt;What is it?&lt;/h2&gt;
&lt;p&gt;In deep learning, &amp;ldquo;cross-entropy&amp;rdquo; is a function used to measure the difference between two probability distributions, typically used in classification tasks.&lt;/p&gt;
&lt;h3 id=&#34;analogy-guessing-the-color-of-candies&#34;&gt;Analogy: Guessing the Color of Candies&lt;/h3&gt;
&lt;p&gt;Imagine you have a bag of candies containing red, green, and blue colors. You guess the color distribution of the candies is 50% red, 30% green, and 20% blue. However, the actual distribution is 60% red, 20% green, and 20% blue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why Did My Nix Disappear After Upgrading to macOS 15?!</title>
      <link>/posts/why-did-my-nix-disappear-after-upgrading-to-macos-15/</link>
      <pubDate>Tue, 17 Sep 2024 00:01:11 +0800</pubDate>
      <guid>/posts/why-did-my-nix-disappear-after-upgrading-to-macos-15/</guid>
      <description>&lt;h2 id=&#34;whats-going-on&#34;&gt;What&amp;rsquo;s Going On?&lt;/h2&gt;
&lt;p&gt;Yesterday, I happily upgraded my macOS to version 15. However, today when I tried to build my site with &lt;code&gt;hugo&lt;/code&gt;, I discovered that &lt;code&gt;hugo&lt;/code&gt; was missing?!&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;base&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; BdimMacBook-Pro:~ bdim404$ hugo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-bash: hugo: &lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; not found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I thought to myself, I didn&amp;rsquo;t uninstall &lt;code&gt;hugo&lt;/code&gt;!&lt;/p&gt;
&lt;p&gt;I installed &lt;code&gt;hugo&lt;/code&gt; using &lt;code&gt;nixpkgs&lt;/code&gt;, so I checked if &lt;code&gt;nix&lt;/code&gt; was still there.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;base&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; BdimMacBook-Pro:~ bdim404$ nix
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-bash: nix: &lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; not found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Oh no, &lt;code&gt;nix&lt;/code&gt; is gone?!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Embedding Layers</title>
      <link>/posts/understanding-embedding-layers/</link>
      <pubDate>Fri, 13 Sep 2024 00:01:11 +0800</pubDate>
      <guid>/posts/understanding-embedding-layers/</guid>
      <description>&lt;p&gt;Imagine you&amp;rsquo;re in a classroom with many students, each with their own name. The teacher wants to assign tasks based on students&amp;rsquo; names, but the names themselves are meaningless and can&amp;rsquo;t help the teacher make decisions directly.&lt;/p&gt;
&lt;p&gt;So, the teacher assigns each student a number, like Xiaoming is No. 1 and Xiaohong is No. 2. These numbers act as &amp;ldquo;labels&amp;rdquo; for the students, helping the teacher organize them better. However, the numbers alone aren&amp;rsquo;t enough, as they don&amp;rsquo;t carry much information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OMR Related Paper Review: Practical End-to-End Optical Music Recognition for Pianoform Music</title>
      <link>/posts/omr-related-paper-review-practical-end-to-end-optical-music-recognition-for-pianoform-music/</link>
      <pubDate>Tue, 27 Aug 2024 00:01:11 +0800</pubDate>
      <guid>/posts/omr-related-paper-review-practical-end-to-end-optical-music-recognition-for-pianoform-music/</guid>
      <description>&lt;h2 id=&#34;core-ideas&#34;&gt;Core Ideas&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Background of the Study:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This paper explores how to implement an end-to-end Optical Music Recognition (OMR) system using deep learning methods, with a focus on recognizing pianoform music. While recent progress has been made in monophonic music recognition, existing OMR models struggle to handle the multi-voice and multi-staff nature of piano music.&lt;/li&gt;
&lt;li&gt;The complexity of piano music stems from its independent parallel voices, which can freely appear and disappear within a composition. This complexity introduces additional challenges for the output of OMR models.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. Key Contributions:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Understand Batch Normalization?</title>
      <link>/posts/how-to-understand-batch-normalization/</link>
      <pubDate>Sun, 11 Aug 2024 00:01:11 +0800</pubDate>
      <guid>/posts/how-to-understand-batch-normalization/</guid>
      <description>&lt;h1 id=&#34;batch-normalization-bn&#34;&gt;Batch Normalization (BN)&lt;/h1&gt;
&lt;p&gt;When I first tried to understand Batch Normalization (BN), I went through a lot of resources, but I still found the specific implementation and purpose somewhat unclear. A few days ago, I asked my teacher for an explanation, and he gave me an example that made it much easier to grasp. I found it very helpful, and after going back to review other materials, everything started to make sense.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My note on learning LeNet 5</title>
      <link>/posts/my-note-on-learning-lenet-5/</link>
      <pubDate>Sat, 13 Jul 2024 00:01:11 +0800</pubDate>
      <guid>/posts/my-note-on-learning-lenet-5/</guid>
      <description>&lt;h2 id=&#34;some-words&#34;&gt;Some words&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The more I get, the less I know.”&lt;p align=&#34;right&#34;&gt;——bdim&lt;/p&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Recently, I am trying to learn more about image recognition. One of the topics that I am interested in is LeNet, which is a classic convolutional neural network. In this article, I will try to re-implement a LeNet using PyTorch and then abstractly understand some parts that I do not quite understand. The contents of this article may be inaccurate and will continue to update the details. Welcome to discuss with me about this article.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Documenting the Recovery of a Lost Video File Due to FX3 Power Failure</title>
      <link>/posts/documenting-the-recovery-of-a-lost-video-file-due-to-fx3-power-failure/</link>
      <pubDate>Fri, 21 Jun 2024 00:01:11 +0800</pubDate>
      <guid>/posts/documenting-the-recovery-of-a-lost-video-file-due-to-fx3-power-failure/</guid>
      <description>&lt;p&gt;Today, while recording a video for a client, the fake battery ran out of power, causing the camera to shut down abruptly and the video file to be unsaved. I didn&amp;rsquo;t realize this immediately because my impression of the FX3 was that it would save the video file even if the power was forcibly cut off during recording. It wasn&amp;rsquo;t until I got home and opened the memory card that I was shocked: &lt;strong&gt;the first video file was missing!&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getting Started with WireGuard &amp; Configuration Memo</title>
      <link>/posts/getting-started-with-wireguard--configuration-memo/</link>
      <pubDate>Mon, 10 Jun 2024 00:01:11 +0800</pubDate>
      <guid>/posts/getting-started-with-wireguard--configuration-memo/</guid>
      <description>&lt;p&gt;Recently, I wanted to deploy my music download bot to the cloud, so I set up a server on Hetzner. The quality and speed are impressive—truly German engineering! I decided to configure a WireGuard connection between my local machine and Hetzner.&lt;/p&gt;
&lt;p&gt;Despite having used WireGuard for a while, this was my first time setting it up properly. Previously, I only copied configurations from others while playing with DN42, without delving into the details. This time, I gained a deeper understanding.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Copilot with Local Deployment &amp; Private Deployment Models via Ollama</title>
      <link>/posts/using-copilot-with-local-deployment--private-deployment-models-via-ollama/</link>
      <pubDate>Wed, 05 Jun 2024 00:01:11 +0800</pubDate>
      <guid>/posts/using-copilot-with-local-deployment--private-deployment-models-via-ollama/</guid>
      <description>&lt;h1 id=&#34;using-copilot-with-local-models-via-ollama&#34;&gt;Using Copilot with Local Models via Ollama&lt;/h1&gt;
&lt;p&gt;Recently, Mistral AI released a highly efficient code-writing model called &lt;a href=&#34;https://Ollama.com/library/codestral&#34;&gt;codestral&lt;/a&gt;. It’s only 22B, and my MacBook can easily handle it, using around 15GB of memory during operation. I wanted to integrate it with VSCode to replace GitHub Copilot for more secure coding.&lt;/p&gt;
&lt;p&gt;Ensure you have &lt;a href=&#34;https://Ollama.com/&#34;&gt;Ollama&lt;/a&gt; and the &lt;a href=&#34;https://Ollama.com/library/codestral&#34;&gt;codestral&lt;/a&gt; model installed. It&amp;rsquo;s straightforward following the official links.&lt;/p&gt;
&lt;p&gt;To use a Copilot-like feature in VSCode, you need to install &lt;a href=&#34;https://Ollama.com/library/codestral&#34;&gt;codestral&lt;/a&gt; and &lt;a href=&#34;https://Ollama.com/library/starcoder2&#34;&gt;starcoder2&lt;/a&gt; via Ollama, then install the &lt;a href=&#34;https://docs.continue.dev/intro&#34;&gt;Continue&lt;/a&gt; plugin in VSCode. Ensure Ollama is running by checking localhost:11434.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Nix Flakes as a Package Manager on macOS &amp; Yubikey SSH Usage Memo</title>
      <link>/posts/using-nix-flakes-as-a-package-manager-on-macos--yubikey-ssh-usage-memo/</link>
      <pubDate>Mon, 20 May 2024 00:01:11 +0800</pubDate>
      <guid>/posts/using-nix-flakes-as-a-package-manager-on-macos--yubikey-ssh-usage-memo/</guid>
      <description>&lt;h1 id=&#34;using-nix-flakes-as-a-package-manager-on-macos--yubikey-ssh-usage-memo&#34;&gt;Using Nix Flakes as a Package Manager on macOS &amp;amp; Yubikey SSH Usage Memo&lt;/h1&gt;
&lt;h2 id=&#34;nix-flakes&#34;&gt;Nix Flakes&lt;/h2&gt;
&lt;p&gt;After reading fernvenue&amp;rsquo;s recent article &lt;a href=&#34;https://blog.fernvenue.com/archives/play-with-nix-flakes/&#34;&gt;Play with Nix Flakes&lt;/a&gt;, I decided to fully embrace Nix on my Mac, moving away from brew and Xcode. By discarding these bulky tools, I can easily install only what I need.&lt;/p&gt;
&lt;p&gt;Recently, I treated myself to an old M1 Max for my birthday, as I still rely on Logic Pro and Final Cut Pro. &lt;del&gt;After all, I can&amp;rsquo;t resist Apple&amp;rsquo;s accurate color displays.&lt;/del&gt; So, even though Debian can replace many tools, I still need to use macOS.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debian GNOME on Mac Mini M1</title>
      <link>/posts/debian-gnome-on-mac-mini-m1/</link>
      <pubDate>Sun, 12 May 2024 00:01:11 +0800</pubDate>
      <guid>/posts/debian-gnome-on-mac-mini-m1/</guid>
      <description>&lt;h1 id=&#34;installation-memo-for-debian-gnome-on-mac-mini-m1&#34;&gt;Installation Memo for Debian GNOME on Mac Mini M1&lt;/h1&gt;
&lt;p&gt;I&amp;rsquo;ve long heard about Asahi Linux, and today I gave it a try, and it&amp;rsquo;s indeed impressive. Previously, I followed the official documentation to install Fedora, only to find out there are mature scripts available for direct Debian installation. Today, I finally mustered the courage to try my hand at installing on Mac, start the challenge like a newbie!&lt;/p&gt;
&lt;p&gt;You can:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring Rime Input Method on macOS</title>
      <link>/posts/configuring-rime-input-method-on-macos/</link>
      <pubDate>Wed, 10 Apr 2024 00:02:11 +0800</pubDate>
      <guid>/posts/configuring-rime-input-method-on-macos/</guid>
      <description>&lt;h1 id=&#34;configuring-rime-input-method-on-macos&#34;&gt;Configuring Rime Input Method on macOS&lt;/h1&gt;
&lt;h2 id=&#34;installing-rime&#34;&gt;Installing Rime&lt;/h2&gt;
&lt;p&gt;Recently, I learned from Teacher fernvenue how to configure input methods on Debian GNOME and found that &lt;a href=&#34;https://rime.im/&#34;&gt;Rime&lt;/a&gt; is also applicable on macOS. Configuring Rime/Zhongzhouyun on macOS is just as straightforward.&lt;/p&gt;
&lt;p&gt;Firstly, visit the Rime official website and directly download the installation package for &lt;code&gt;Squirrel.pkg&lt;/code&gt;. After installation, the system will prompt you to either log out and log back in or manually log out and log in again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debian GNOME Installation and Configuration Memo</title>
      <link>/posts/debian-gnome-installation-and-configuration-memo/</link>
      <pubDate>Wed, 10 Apr 2024 00:01:11 +0800</pubDate>
      <guid>/posts/debian-gnome-installation-and-configuration-memo/</guid>
      <description>&lt;h1 id=&#34;memo-for-debian-gnome-installation-and-configuration&#34;&gt;Memo for Debian GNOME Installation and Configuration&lt;/h1&gt;
&lt;p&gt;This document serves as a summary of the experience of installing and configuring Debian GNOME, intended for future self-reference.&lt;/p&gt;
&lt;p&gt;The hardware configuration summarized in this document is as follows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       _,met&lt;span class=&#34;nv&#34;&gt;$$$$$gg&lt;/span&gt;.          root@debian 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ,g&lt;span class=&#34;nv&#34;&gt;$$$$$$$$$$$$$$$P&lt;/span&gt;.       ----------- 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ,g&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;P&lt;span class=&#34;s2&#34;&gt;&amp;#34;     &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;Y&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;.&lt;span class=&#34;s2&#34;&gt;&amp;#34;.        OS: Debian GNU/Linux 12 (bookworm) x86_64 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt; ,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;P&amp;#39;              `&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;$&lt;span class=&#34;s2&#34;&gt;.     Host: MS-TZZ H610ITX 2.5G E2.0G 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#39;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;P       ,ggs.     `&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;b:   Kernel: 6.1.0-20-amd64 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;`d&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#39;     ,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$P&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;   .    $$$    Uptime: 11 mins 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt; $$P      d$&amp;#39;&lt;/span&gt;     ,    &lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;P    Packages: &lt;span class=&#34;m&#34;&gt;2619&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;dpkg&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, &lt;span class=&#34;m&#34;&gt;17&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;flatpak&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;:      &lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;.   -    ,d&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;    Shell: bash 5.2.15 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt; $$;      Y$b._   _,d$P&amp;#39;&lt;/span&gt;      Terminal: gnome-terminal 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; Y&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;.    &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;.&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Y&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;P&amp;#34;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;         CPU: 12th Gen Intel i3-12100F &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;8&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; @ 5.500GHz 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;b      &lt;span class=&#34;s2&#34;&gt;&amp;#34;-.__              GPU: NVIDIA GeForce RTX 3060 Lite Hash Rate 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  `Y&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;                        Memory: 2733MiB / 64144MiB 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;   `Y&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;     `&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;b.                                            
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;       `Y&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$$&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;b.                                         
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;          `&amp;#34;&lt;/span&gt;Y&lt;span class=&#34;nv&#34;&gt;$b&lt;/span&gt;._
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;              &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;
&lt;p&gt;Firstly, during storage configuration, it&amp;rsquo;s important to note:&lt;/p&gt;</description>
    </item>
    <item>
      <title>An overview of the experience of using Nix as a package manager on macOS.</title>
      <link>/posts/an-overview-of-the-experience-of-using-nix-as-a-package-manager-on-macos./</link>
      <pubDate>Sat, 02 Mar 2024 00:01:11 +0800</pubDate>
      <guid>/posts/an-overview-of-the-experience-of-using-nix-as-a-package-manager-on-macos./</guid>
      <description>&lt;p&gt;Hello everyone! Recently, I have noticed more and more people around me talking about Nix. As a tech newbie, although I don&amp;rsquo;t have much experience in coding, I deeply feel the inconvenience of using HomeBrew as a package manager on macOS in my daily use.&lt;/p&gt;
&lt;p&gt;So, I decided to give Nix a try for package management! A big step for a tech newbie!&lt;/p&gt;
&lt;p&gt;I am using a &lt;strong&gt;Mac mini M1&lt;/strong&gt;, and I believe machines with similar Apple silicon can also benefit from my experience. There is very limited Chinese content online about installing Nix on macOS, so I decided to share some of my experiences, hoping to help more friends!&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
