Tools

  • Mscode
  • References: StackOverflow: Vertical rulers in Visual Studio Code "editor.rulers": [80,120] "workbench.colorCustomizations": { "editorRuler.foreground": "#ff4081" }

  • Vim
  • References: How can I set up a ruler at a specific column? set colorcolumn=80

  • Make
  • Reference 1 %: one or more chars. used in matching patterns of targets, prerequests. $@: the target of the rule. $^: a list of the dependence files with their full paths. $<: the first dependence file. reference ↩

  • Gdb
  • CheatSheet Reference:

  • Rsync
  • tar scp -r will follow symlinks; do not use. compressed copy from server to local: ssh user@192.168.xxx.xxx -p 22 "cd /home/smeller/ && tar czf - Desktop" | tar xzf - compressed copy from local to server: tar cvjf - dir_a/ | ssh root@ip "(cd /dest/; tar xjf - )" rsync general: rsync source target copy over ssh: all contents inside source folder copied to a target folder rsync -r -z -a -v -e 'ssh -p2220' dir_a/ user@192.

  • Cscope/Vim
  • Reference1: vim -t main CTRL-\ s: all uses of the symbol pointed to by the current cursor; CTRL-t: jump back to the original location before search; unwind one at a time; :cscope find symbol foo, or :cs f s foo. s to find a C symbol; g to find global definition(s) of a symbol; c to find all calls to function; f to open th file name under cursor; CTRL-spacebar s: split window into two horizontally, and put search result into the new window; CTRL-W w (or ctrl-W arraykey, ctrl-W h/j/k/l for left/up/down/right) to move between windows; CTRL-W c to close current window; CTRL-W o makes only the current windows open, close all others; CTRL-W s to split window into two horizontally, or CTRL-W v for vertical split; :spl[it] filename to open a file in a new window.

  • Git
  • Git submodule git submodule--helper list To change the url of a submodule # update the url in the .gitmodules file, then run git submodule sync --recursive Git rebase https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase git rebase <base> git rebase --interactive <base> Change base from oldbase to newbase git rebase --onto <newbase> <oldbase> <featurebranch> More

Created Aug 20, 2019 // Last Updated Apr 27, 2022

If you could revise
the fundmental principles of
computer system design
to improve security...

... what would you change?