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`], which is not much different from a `String`. But first, let's talk about the concept of German string.| ltungv
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 g...| ltungv
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.| ltungv
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| ltungv
A Pluto.jl notebook containing simple graphs for evaluating Covid-19 situations in Vietnam| ltungv
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!| ltungv