Binary will remember everything
Set Debian/Ubuntu to Boot into CLI by Default
This guide shows how to boot Debian/Ubuntu in command line mode.
Visualize web log with GoAccess
GoAccess is an open-source web log analyzer and interactive viewer that runs in a terminal or through your browser. It provides fast and valuable HTTP statistics for system administrators that require a visual server report on the fly.
Handcrafted CNN from scratch - convolutional layer
This project was inspired by an assignment in my university course. With numerous optimizations, the runtime performance has been enhanced by nearly an order of magnitude, cutting down the training time from several hours to just a few minutes. This article aims to illustrate how I used tensor dot product instead of for or while loops to perform forward and backward computations in convolutional layers.
Use Navidrome to build a personal music streaming service
Navidrome is an open source Music Server compatible with Subsonic/Airsonic. This article introduces how to deploy Navidrome on a server.
FileRun - a self-hosted File Sync and Share web-based application
FileRun is a browser-based application that enables users to manage files on a remote server. It offers a range of features, such as an intuitive graphical user interface, preview and editing, and file sharing, which makes file management easier and more efficient.
Implement hash table in C with uthash library
This article briefly introduces how to create a hash table using uthash, as well as perform operations such as adding, deleting, looking up an item, printing the table, and clearing the table.
C solution for LeetCode problem 49 (with detail description)
LeetCode Problem 49, titled "Group Anagrams," asks to group a given set of strings based on their anagrams. Since the C language doesn't have the built-in hash table, solving this problem using C can be quite complex (painful). This article documents my C solution for Group Anagrams problem. I also provide complete code that can be run directly.
Build a personal image hosting platform with Lychee
Many people, including me, use self-hosted image hosting services for their convenience, ease of sharing, storage capabilities. Lychee is a great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos. This article provides a step-by-step guide on building an image hosting service with Lychee using Docker.
memos - a lightweight, self-hosted memo hub
memos is a free, open source, and self-hosted memo hub. You can post your ideas, code, todo list, whatever, on it, just like a personal facebook. Recently, memos released "Ask AI," which allows you to have a conversation with GPT. This article introduce how to deploy memos within a docker container and add OpenAI API to memos to support GPT.
Build a mail server with docker-mailserver
docker-mailserver is a production-ready fullstack but simple mail server that runs inside a container. Building a mail server is quite complicated, and for a beginner, it may be unclear how to start. In this article, I will share my experience of building my own mail server from scratch and provide some explanations of the parameters used.