Ben Chuanlong Du's Blog

And let it direct your passion with reason.

The Right Way to Export PATH in Shell

Some people suggest exporting PATH only in .bash_profile instead of in .bashrc (for Bash). The helps but does not resolve the issue of possible duplicated paths in $PATH. The right way is to check for existence of the path in the $PATH environment variable first, and add it only when …

Seed Many RNGs in Rust

There are different ways to seed many RNGs (for parallel RNGs). Below summarizes 3 popular ways. Seeding RNGs using std::collections::hash_map::RandomState or rand::thread_rng is preferred.

Seed Using System Time

use std::time::{SystemTime, UNIX_EPOCH};
use rand::SmallRng;

fn main () {
    let seed = SystemTime::now()
        .duration_since(UNIX_EPOCH)
        .unwrap()
        .as_nanos …

Tips on Bytehound

Bytehound works with Rust stable (Rust nightly is not required) .

Installation

apt-get install gcc nodejs npm
npm install -g yarn
cargo build --release -p bytehound-preload
cargo build --release -p bytehound-cli

Or if you use icon,

icon bytehound -ic

Usage

Run your application with bytehound to collect memory usage data.

export …