Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

For the past six months, a significant part of my work has been maintaining the company’s website. Since I took over the code midway, there’s always a risk of introducing new bugs during maintenance. Therefore, as required by my supervisor, I learned how to implement automated testing.

Since I started playing with the ancient version of Linux Deepin in my junior year (2011), it’s been 14 years now. During this long period, I’ve used Debian/RedHat/Arch-based distros, but except for accidentally deleting my graduation thesis in my final year of grad school, I’ve never encountered any malware or viruses on Linux distributions.

However last week, our company server… actually got infected…

This year, DeepSeek has made LLMs popular again. Although after ChatGPT, Copilot and Cursor have been advertising everywhere, I never actually tried them… So this year, I… tried Cline, which is indeed good, but also matches my preconception - not that convenient. Especially since I need something that can be used directly in the command line and quickly integrated into scripts to batch complete some simple coding initialization tasks. That’s how I found aider

In modern software development, Continuous Integration (CI) and Continuous Deployment (CD) are key practices for improving development efficiency and quality. GitHub Actions is a powerful automation tool provided by GitHub that helps developers easily implement CI/CD and broader automation workflows.

Object-oriented programming is a common paradigm in programming. In my actual work, using object-oriented programming mainly serves two purposes: reducing duplicate code through inheritance features, and encapsulating frequently used data into objects to avoid excessive, repetitive, and nested parameter passing.

After getting used to Python, developing scripts in R can feel quite painful. Putting aside the often-discussed issues with unclear error tracing, when scripts become slightly more complex and need to be split into multiple files, I realized R’s import mechanism is also quite frustrating… Fortunately, there’s the box package that allows module imports similar to Python’s logic.

Compile the OpenFyde Image for Fydetab Duo by synthesizing official instructions and forum articles, aiming to compile the latest R120 version image. The goal is to compile the latest R120 version image.

I’ve had the Fydetab Duo for over a month, and I’m still trying to find ways to make the most use of this device. At the very least, I’d like to write some blogs during my downtime with it. Hence the following exploration.

Looking at the creation time of this draft, it was actually June 2024… Now it’s June 2025, and I suddenly understand why so many content creators become “pigeons” (procrastinators). Starting projects is fun, but finishing them is painful… This is one of my few pure bioinformatics posts…

The problem originated last year when I needed to run monocle3 for pseudotime analysis, but encountered an annoying issue at the final stage. In monocle3, the starting point for pseudotime trajectory needs to be manually specified by the analyst. During R code execution, it automatically opens a browser where users need to specify the starting point on a temporary webpage, then close the page for the analysis to continue.

However, Jupyter’s irkernel doesn’t support this feature. This means I couldn’t complete the analysis directly in Jupyter notebook. This issue was first reported in 2019, but even by 2024 when I needed to do the analysis - five years later - there was still no solution…