<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ltungv</title><link>https://ltungv.com/</link><description>Recent content on ltungv</description><generator>Hugo</generator><language>en-us</language><managingEditor>ltungv.git@gmail.com (Le Tung Vo)</managingEditor><webMaster>ltungv.git@gmail.com (Le Tung Vo)</webMaster><copyright>© 2026 Le Tung Vo</copyright><lastBuildDate>Thu, 12 Sep 2024 23:54:41 +0200</lastBuildDate><atom:link href="https://ltungv.com/index.xml" rel="self" type="application/rss+xml"/><item><title>An Optimization That's Impossible in Rust!</title><link>https://ltungv.com/note/an-optimization-thats-impossible-in-rust/</link><pubDate>Fri, 30 Aug 2024 19:03:07 +0200</pubDate><author>ltungv.git@gmail.com (Le Tung Vo)</author><guid>https://ltungv.com/note/an-optimization-thats-impossible-in-rust/</guid><description>In this article, I'll describe how I implemented German string and the challenges of doing so in Rust. Specifically, I'll examine how to enable shared ownership for such data structure. Providing unique ownership is relatively trivial, and there is already a nicely written tutorial from the Rustonomicon teaching you how to [implement a `Vec&lt;T&gt;`], which is not much different from a `String`. But first, let's talk about the concept of German string.</description></item><item><title>Crafting Interpreters with Rust: On Garbage Collection</title><link>https://ltungv.com/note/crafting-interpreters-with-rust-on-garbage-collection/</link><pubDate>Wed, 24 Jul 2024 14:49:51 +0200</pubDate><author>ltungv.git@gmail.com (Le Tung Vo)</author><guid>https://ltungv.com/note/crafting-interpreters-with-rust-on-garbage-collection/</guid><description>I became interested in implementing programming languages a few years ago and discovered [Crafting Interpreters](https://craftinginterpreters.com/) by Bob Nystrom. At the time, I had experience with Rust and decided to use it to follow the book. Albeit, being a noob, I managed to implement a fully functional bytecode interpreter that supported every feature of the Lox language as described. However, my implementation suffered memory leaks due to reference counting. Back then, I didn't fully grasp Rust to design and implement a proper garbage collector (GC)! Now that I have more confidence in the language, I decided to revisit the project and improve its memory management scheme.</description></item><item><title>Build a BLAZINGLY FAST key-value store with Rust</title><link>https://ltungv.com/note/build-a-blazingly-fast-key-value-store-with-rust/</link><pubDate>Wed, 22 Feb 2023 20:57:46 +0700</pubDate><author>ltungv.git@gmail.com (Le Tung Vo)</author><guid>https://ltungv.com/note/build-a-blazingly-fast-key-value-store-with-rust/</guid><description>Have you ever been curious about how databases work under the hood? I certainly was and decided to roll up my sleeves and implement one from scratch. In this blog series, I'll be sharing my experience implementing Bitcask in Rust and discussing some of the techniques I used to make it goes ***blazingly fast***. So if you're ready to dive deep into the world of high-performance data storage, buckle up and let's get started!</description></item><item><title>How I setup analytics with Matomo</title><link>https://ltungv.com/note/how-i-setup-analytics-with-matomo/</link><pubDate>Mon, 28 Feb 2022 11:17:05 +0700</pubDate><author>ltungv.git@gmail.com (Le Tung Vo)</author><guid>https://ltungv.com/note/how-i-setup-analytics-with-matomo/</guid><description>While my website doesn't have much going on, I've always wondered if there's any visitor, and if there are, I'd love to know little more about them. To satisfy my curiosity, I need to setup an analytics service that captures the website's traffics and analyzes the overall demography.</description></item><item><title>Số kép và cách tính đạo hàm sử dụng số kép</title><link>https://ltungv.com/notebook/dual-number-and-forward-mode-autodiff/</link><pubDate>Sun, 27 Feb 2022 20:23:13 +0700</pubDate><author>ltungv.git@gmail.com (Le Tung Vo)</author><guid>https://ltungv.com/notebook/dual-number-and-forward-mode-autodiff/</guid><description>Ví dụ về số kép trong ngôn ngữ lập trình Julia và cách số kép được dùng để tính đạo hàm</description></item><item><title>Vietnam Covid19 Data Exploration</title><link>https://ltungv.com/notebook/vietnam-covid19-data-exploration/</link><pubDate>Sun, 29 Aug 2021 19:30:19 +0700</pubDate><author>ltungv.git@gmail.com (Le Tung Vo)</author><guid>https://ltungv.com/notebook/vietnam-covid19-data-exploration/</guid><description>A Pluto.jl notebook containing simple graphs for evaluating Covid-19 situations in Vietnam</description></item></channel></rss>