RSSAmplifier

Blog

Bdim

Recent content on Bdim

blog.bdim.moeRSS feed ↗20 posts

Latest posts

Learning Notes on HMM (Hidden Markov Model)

Overview and Intuitive Understanding Hidden Markov Model (HMM) is a class of probabilistic models used to model and infer system evolution processes in situations where “states are unobservable” . The core problem it solves can be summarized in one sentence: When the true state of the real world cannot be directly observed, can we still infer the most likely internal state change…

Learning Notes on DTW (Dynamic Time Warping)

Starting with an Intuitive Problem When processing audio, speech, or other time series data, we will almost certainly encounter this problem: if two signal segments are similar in “content,” but not consistent in the speed of time progression, can we still judge that they are similar? This problem is very common in real scenarios. For example, two people sing the same melody, but one…

Research and Reflections on the Development of AI-Based Sight-Singing Evaluation System

Preface 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…

Claude Code, My New Coding Companion!

Overview When Claude Code was released in May, it didn’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. 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…

Why Can't My OpenWrt Start PBR?

For the past six months, I’ve been following the tutorials from fernvenue’s blog posts, “ Trying OpenWrt on the NX30 Pro ” and “ Configuring Policy-Based Routing on OpenWrt ”, to set up a similar configuration at my place. This has made my internet experience smoother and my network traffic management clearer. However, I once encountered an issue where PBR…

Understanding RNNs and LSTMs: What's the Deal?

What Are They? RNNs are like learners with short-term memory – they remember recent information but get fuzzy as time passes. Simply put, a Recurrent Neural Network (RNN) is like a “learner” 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…

Understanding Cross-Entropy

What is it? In deep learning, “cross-entropy” is a function used to measure the difference between two probability distributions, typically used in classification tasks. Analogy: Guessing the Color of Candies 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…

Why Did My Nix Disappear After Upgrading to macOS 15?!

What’s Going On? Yesterday, I happily upgraded my macOS to version 15. However, today when I tried to build my site with hugo , I discovered that hugo was missing?! ( base ) BdimMacBook-Pro:~ bdim404$ hugo -bash: hugo: command not found I thought to myself, I didn’t uninstall hugo ! I installed hugo using nixpkgs , so I checked if nix was still there. ( base ) BdimMacBook-Pro:~…

Understanding Embedding Layers

Imagine you’re in a classroom with many students, each with their own name. The teacher wants to assign tasks based on students’ names, but the names themselves are meaningless and can’t help the teacher make decisions directly. So, the teacher assigns each student a number, like Xiaoming is No. 1 and Xiaohong is No. 2. These numbers act as “labels” for the students,…

OMR Related Paper Review: Practical End-to-End Optical Music Recognition for Pianoform Music

Core Ideas 1. Background of the Study: 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. The complexity of piano music…

How to Understand Batch Normalization?

Batch Normalization (BN) 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…

My note on learning LeNet 5

Some words “The more I get, the less I know.” ——bdim 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…

Documenting the Recovery of a Lost Video File Due to FX3 Power Failure

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’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’t until I got home and opened the memory card that I was…

Getting Started with WireGuard & Configuration Memo

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. Despite having used WireGuard for a while, this was my first time setting it up properly. Previously, I only copied configurations from others while…

Using Copilot with Local Deployment & Private Deployment Models via Ollama

Using Copilot with Local Models via Ollama Recently, Mistral AI released a highly efficient code-writing model called codestral . 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. Ensure you have Ollama and the codestral model installed. It’s straightforward…

Using Nix Flakes as a Package Manager on macOS & Yubikey SSH Usage Memo

Using Nix Flakes as a Package Manager on macOS & Yubikey SSH Usage Memo Nix Flakes After reading fernvenue’s recent article Play with Nix Flakes , 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. Recently, I treated myself to an old M1 Max for my birthday, as I still rely on Logic Pro and Final…

Debian GNOME on Mac Mini M1

Installation Memo for Debian GNOME on Mac Mini M1 I’ve long heard about Asahi Linux, and today I gave it a try, and it’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…

Configuring Rime Input Method on macOS

Configuring Rime Input Method on macOS Installing Rime Recently, I learned from Teacher fernvenue how to configure input methods on Debian GNOME and found that Rime is also applicable on macOS. Configuring Rime/Zhongzhouyun on macOS is just as straightforward. Firstly, visit the Rime official website and directly download the installation package for Squirrel.pkg . After installation, the system…

Debian GNOME Installation and Configuration Memo

Memo for Debian GNOME Installation and Configuration This document serves as a summary of the experience of installing and configuring Debian GNOME, intended for future self-reference. The hardware configuration summarized in this document is as follows: _,met $$$$$gg . root@debian ,g $$$$$$$$$$$$$$$P . ----------- ,g $$ P ' ''' Y $$ . '. OS: Debian GNU/Linux 12 (bookworm) x86_64 , $$ P' ` $$ $ .…

An overview of the experience of using Nix as a package manager on macOS.

Hello everyone! Recently, I have noticed more and more people around me talking about Nix. As a tech newbie, although I don’t have much experience in coding, I deeply feel the inconvenience of using HomeBrew as a package manager on macOS in my daily use. So, I decided to give Nix a try for package management! A big step for a tech newbie! I am using a Mac mini M1 , and I believe machines…