screen tmux cheat sheet No ratings yet.

Screen screen -d -R your_session name //split only the monitor screen ctrl-a ( release the kb ), then press: | for vsplit    —> need this step : ctrl-a, c ( to create a new window, otherwise just blank screen) ctrl-a ( release the kb ), then press: shift s:  for hsplit ctrl-a , tab • Read More »


c++ multi-set/multi-map, set/map and its unordered version No ratings yet.

container name implementation/underlying struct notes/ sample unordered_set  The value of an element is at the same time its key, that identifies it uniquely. hash table unordered_multiset much like unordered_set containers, but allowing different elements to have equivalent values. hash table Internally when an existing value is inserted, the data structure increases its count which is associated with each • Read More »


sip monitoring tools No ratings yet.

Some good monitoring tools: homer: easy to install with docker for its server and install helifpy on a  sip/client/host : nohup ./heplify -hs homer_server:9060 & grep sngrep, ngrep pcap tcpdump/wireshark   Please rate this rating


vim cheat sheet No ratings yet.

useful .vimrc set tabstop=2 set shiftwidth=2 set expandtab inoremap <S-Tab> <C-V><Tab> syntax on set t_Co=256 set colorcolumn=80 “crazy vim, do not allow copy/paste set mouse=v setlocal spell spelllang=en_us “for vert term  ( split vertical vim window) :set splitright :set splitbelow   useful .screenrc # Enable mouse scrolling and scroll bar history scrolling termcapinfo xterm* ti@:te@ • Read More »



cross compile native libwebrtc ( on x86_64 host) for arm64 No ratings yet.

Direct compile webrtc on arm64 will fail: webrtc seems does not support direct support on arm, we will get errors: … Running hooks: 18% ( 4/22) sysroot_arm64 ________ running ‘vpython src/build/linux/sysroot_scripts/install-sysroot.py –arch=arm64’ in ‘/webrtcbuilds/out’ Installing Debian sid arm64 root image: /webrtcbuilds/out/src/build/linux/debian_sid_arm64-sysroot Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/953c2471bc7e71a788309f6c2d2003e8b703305d/debian_sid_arm64_sysroot.tar.xz Running hooks: 50% (11/22) binutils ________ running ‘vpython src/third_party/binutils/download.py’ in ‘/webrtcbuilds/out’ Host • Read More »


c++ json lib: nlohmann::json No ratings yet.

nlohmann::json is a popluar json lib. code at: https://github.com/nlohmann/json document at: https://nlohmann.github.io/json/doxygen/index.html   sample code: #include <iostream> 2 #include <nlohmann/json.hpp> 3 4 using json = nlohmann::json; 5 6 int main() 7 { 8  // create a JSON object with different entry types 9  json j = 10  { 11  {“integer”, 1}, 12  {“floating”, 42.23}, 13  {“string”, “hello world”}, 14  • Read More »


Kubernetes Quick Start No ratings yet.

Learning curve for Kubernetes (K8s) could be steep. For most users who are already familiar with basic networking, OS/Linux,  docker container technologies etc, the difficulties , I personally think,  is most likely due to its unique concepts, sometime confusing terms. Based on my learning experience, I wrote a book: Kerbernetes Quick start, hopefully can help • Read More »


webassembly and web audio worklet No ratings yet.

Some notes: web assembly: a cool technology allows you to compile c/c++/rust and other languages into wasm, expose API to javascript world. Web audio worklet/worker: allows developer to intercept audio stream/custom processing A good introduction is at: https://developers.google.com/web/updates/2017/12/audio-worklet Advance pattern: https://developers.google.com/web/updates/2018/06/audio-worklet-design-pattern https://github.com/GoogleChromeLabs/web-audio-samples/tree/master/audio-worklet/design-pattern/shared-buffer/     Combination of wasm and audio worklet can do a fair amount • Read More »


How to use gradle to build java app/project from command line No ratings yet.

Install gradle ( on debian 10) Follow https://linux4one.com/how-to-install-gradle-on-debian-10/ download latest gradle at: https://gradle.org/releases/ for example: wget https://services.gradle.org/distributions/gradle-6.2.1-bin.zip -P /tmp sudo unzip -d /opt/gradle /tmp/gradle-6.2.1.zip sudo nano /etc/profile.d/gradle.sh export GRADLE_HOME=/opt/gradle/gradle-6.2.1 export PATH=${GRADLE_HOME}/bin:${PATH} sudo chmod +x /etc/profile.d/gradle.sh source /etc/profile.d/gradle.sh gradle -v   Try gradle demo Follow https://guides.gradle.org/building-java-applications/ mkdir demo cd demo gradle init # setup gralde project • Read More »