Understanding Unpin and Pinning with tokio::select!One of the common pattern you can see withtokio, popular crate for async runtime, is tokio::select! pattern. It polls multiple futures concurrently and runs whichever completes first, cancelling the rJul 26, 2026·6 min read
Part 3: Building a Neural Network LayerNow that our dataset is ready, we are ready to start building the components of our neural network. But before wejump into the code, let’s pause for a moment to define what deep learning actually is. Dec 6, 2025·5 min read
Part 2: Generating Training DataNow that we've seen tensors, it's time to start building the deep learning process. The first thing we need is a dataset for training. Instead of using pre-made dataset, we are going to build our own Nov 6, 2025·4 min read
Part 1: TensorsAs you begin your implementation, the first thing you will encounter is the tensor. In order to know how deep learning works, you must understand this fundamental structure. A tensor is simply a multiOct 19, 2025·4 min read
IntroductionThe best way to understand how things work is to build them by yourself. I believe implementing deep learning in Rust is a great way to develop a strong understanding in deep learning while enjoying tOct 19, 2025·1 min read
How LoRA Makes Model Fine-Tuning Cheaper and FasterAs large language models continue to grow in size, fine-tuning them for specific tasks demands increasingly more VRAM. LoRA (Low-Rank Adaptation) offers a solution to this problem. Instread of retraining the entire model, LoRA injects small, trainabl...Jul 6, 2025·4 min read
How to separate the update of the egui GUI and background program processes?Let's say you are building a GUI application with Egui.You want to make start a certain task when you click a button. You can simply write code like this. if ui.button("click me").clicked() { start_task(); } But what if that task takes 10 second...May 18, 2025·3 min read