Xintong Li

Tools

mac

Software Recommendation

App Store

  • amphetamine: Keep mac aware
  • encrypto: Protect files with AES-256 encryption
  • monodraw: Powerful ASCII art editor
  • noizio: Ambient sound equalizer for relax
  • ohmystar: Best way to organize GitHub Stars
  • xnip: Scrolling screenshot
  • qr journal: Scan QR Code

Dashboard

  • 10key timer: Start countdown in a second
  • countdown: A generic countdown widget
  • notefile: Make quick notes

brew install

  • aria2: Download with resuming and segmented downloading
  • asciinema: Record and share terminal sessions
  • awk: Text processing scripting language
  • bash: Bourne-Again SHell, a UNIX command interpreter
  • bat: A cat clone with syntax highlighting and Git integration.
  • blackhole-2ch: Audio loopback driver
  • bochs: Open source IA-32 (x86) PC emulator
  • bottom: A top replacement
  • broot: New way to see and navigate directory trees
  • cless: Display file contents with colorized syntax highlighting
  • cmake: Cross-platform make
  • coreutils: GNU File, Shell, and Text utilities
  • ctags: Reimplementation of ctags
  • cv: Coreutils Progress Viewer
  • dive: Tool for exploring each layer in a docker image
  • dtrx: Intelligent archive extraction
  • duf: Friendly df
  • dust: Like du but more intuitive
  • emojify: Emoji on the command line
  • exa: A modern replacement for ls
  • fasd: CLI tool for quick access to files and directories
  • fd: Alternative to find
  • fish: User-friendly command-line shell for UNIX-like operating systems
  • fzf: Command-line fuzzy finder $(brew --prefix)/opt/fzf/install
  • gcc: GNU compiler collection
  • git: Distributed revision control system
  • git-open: Open GitHub webpages from a terminal
  • glances: Alternative to top/htop
  • glow: Render markdown on the CLI
  • highlight: Convert source code to formatted text with syntax highlighting
  • icdiff: Improved colored diff
  • jnv: Interactive JSON filter using jq
  • jq: Lightweight and flexible command-line JSON processor
  • languagetool: Style and grammar checker
  • lazygit: A simple terminal UI for git commands
  • lf: A terminal file manager written in Go
  • nasm: Netwide Assembler (NASM) is an 80x86 assembler
  • ncdu: Ddisk usage analyzer with an ncurses interface
  • neovim: Ambitious Vim-fork focused on extensibility and agility
  • nethack: Single-player roguelike video game
  • node: Platform built on V8 to build network applications
  • octave: High-level interpreted language for numerical computing
  • qemu: x86 and PowerPC Emulator
  • ranger: file browser
  • rg: Search tool like grep
  • rsync: Utility that provides fast incremental file transfer
  • sd: as A replacement for sed and awk
  • tig: Text interface for Git repositories
  • tldr: Simplified and community-driven man pages
  • tmate: Instant terminal sharing
  • tmux: Terminal multiplexer
  • tree: Display directories as trees
  • vim: Vi ‘workalike’ with many additional features
  • watch: Executes a program periodically, showing output fullscreen
  • wget: Internet file retriever
  • yarn: JavaScript package manager
  • you-get: Dumb downloader that scrapes the web
  • youtube-dl: Download YouTube videos from the command-line

brew install –cask

  • alfred: Boosts efficiency with hotkeys, keywords and more
  • appcleaner: Thoroughly uninstall unwanted apps
  • bartender: Organize menu bar icons
  • bitbar: Put the output from any script or program in Menu Bar
  • brave-browser: A secure, fast & private web browser with adblocker
  • dash: An API documentation browser and code snippet manager
  • dropbox: Activate selective sync
  • duet: Turn your iPad into an extra display
  • dwarf-fortress: The most complex game
  • firefox: Mozilla Firefox
  • fliqlo: An elegant screensaver
  • font-fira-code: Monospaced font with programming ligatures
  • geektool: Customize desktop with great flexibility
  • gimp: GNU image manipulation program
  • google-chrome: Browser from Google
  • iina: A modern media player
  • item2: macOS terminal replacement
  • java: OpenJDK Java development kit
  • julia: The Julia programming language
  • latexit: An equation editor
  • mactex-no-gui: MacTeX without redundant apps (install manually)
  • macvim: GUI of vim for macOS
  • mathpix-snipping-tool: Convert images to LaTeX
  • messenger: Facebook messenger
  • microsoft-office: Word, Excel, Powerpoint…
  • ngrok: Expose a local web server to the internet
  • nutstore: A cloud storage service similar to Dropbox
  • oni: Lightweight modal code editor
  • pdf-expert: Easily read, annotate, fill out, sign and edit PDF documents
  • presentation: A decent presentation tool for PDF
  • sizeup: Keyboard-centric window management
  • skim: A PDF reader and note-take
  • teamviewer: Remote control
  • telegram: Messaging
  • texpad: Best IDE for LaTeX
  • tuxera-ntfs: Get read-write compatibility for all NTFS drives
  • typora: A markdown editor, markdown reader
  • visual-studio-code: Code editor by Microsoft
  • wkhtmltopdf: Convert webpage to vector pdf
  • zotero: References manager

brew cask uninstall someapp will backup App in Caskroom and remove App from Applications. To purge files, use brew cask uninstall -f someapp

Update brew packages as following:

#!/bin/bash

brew update
brew upgrade --cleanup
brew cask upgrade
brew cleanup

others

  • shottr: Screenshot [link]
  • vector magic: Convert jpg, png, gif files to pdf, svg, eps vectors

Tricks

open terminal with global shortcut

Automator => File => New => Service => Service revices selected (no input) => Run AppleScript =>

on run {input, parameters}
	tell application "Terminal"
		reopen
		activate
	end tell
end run

=> Save as “Open Terminal” => System Perferences => Keyboard => Shortcuts => Services => General => Open Terminal (^⎇T)

Troubleshooting

integrity protection

Macintosh has system integrity protection. To operate proceted directory, this protection has to be disabled by follows.

reboot => command+r => utilities => terminal

csrutil status
csrutil disable
reboot

After the protection is disabled, do the operations with sudo.

sudo some-commands
sudo reboot

Finally, the protection should be enabled.

csrutil enable
reboot

repeating keys

By default, press a key will show special characters like accents of a character. Rnning the following command and restarting the computer will resume the repeating keys.

defaults write -g ApplePressAndHoldEnabled -bool false

switching places between external monitors

solution from superuser

jakehilborn/displayplacer

delete ghost app icons in launchpad

This command line clears the database (cache) and restore the icons that have reference.

defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock