注意:本文内容适用于 Tmux 2.3 及以上的版本,但是绝大部分的特性低版本也都适用,鼠标支持、VI 模式、插件管理在低版本可能会与本文不兼容。
启动新会话:
tmux [new -s 会话名 -n 窗口名]
恢复会话:
| Latency Comparison Numbers (~2012) | |
| ---------------------------------- | |
| L1 cache reference 0.5 ns | |
| Branch mispredict 5 ns | |
| L2 cache reference 7 ns 14x L1 cache | |
| Mutex lock/unlock 25 ns | |
| Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
| Compress 1K bytes with Zippy 3,000 ns 3 us | |
| Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
| Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
| This is my short-ish tutorial on how to implement closures in | |
| a simple functional language: Foo. | |
| First, some boilerplate. | |
| > {-# LANGUAGE DeriveFunctor, TypeFamilies #-} | |
| > import Control.Applicative | |
| > import Control.Monad.Gen | |
| > import Control.Monad.Writer | |
| > import Data.Functor.Foldable |
| # Training specific configuration | |
| RANDOM_SEED : 1.0 | |
| SESSION_CONFIG : { | |
| LOG_DEVICE_PLACEMENT : false, | |
| PER_PROCESS_GPU_MEMORY_FRACTION : 0.94 | |
| } | |
| ################################################# | |
| # Dataset Info |
For a brief user-level introduction to CMake, watch C++ Weekly, Episode 78, Intro to CMake by Jason Turner. LLVM’s CMake Primer provides a good high-level introduction to the CMake syntax. Go read it now.
After that, watch Mathieu Ropert’s CppCon 2017 talk Using Modern CMake Patterns to Enforce a Good Modular Design (slides). It provides a thorough explanation of what modern CMake is and why it is so much better than “old school” CMake. The modular design ideas in this talk are based on the book [Large-Scale C++ Software Design](https://www.amazon.de/Large-Scale-Soft
| #if 0 | |
| set -e | |
| binname=$(mktemp --suffix -delay-fs.bin) | |
| g++ -o "$binname" -Wall -g -O2 "$0" -lfuse3 -lpthread | |
| "$binname" $@ | |
| rm "$binname" | |
| exit | |
| #endif | |
| // delay-fs: | |
| // A filesystem from which reading a file incurs 50ms delay for each byte. |