Get started with Mosh

What is Mosh

Mosh is a replacement for interactive SSH terminals.

Mosh doesn’t listen on network ports or authenticate users. The mosh client logs in to the server via SSH, and users present the same credentials (e.g., password, public key) as before. Then Mosh runs the mosh-server remotely and connects to it over UDP.

[Read More]
mosh  ssh 

Get patch file of a commit on github

To download patch file of a commit on github, just add .patch to its URL (without arguments like ?diff=unified).

  • Common URL: https://github.com/<owner>/<repo>/commit/<commit_id>.patch

  • For example, the patch file for commit
    https://github.com/dothanhtrung/godebian/commit/cf0495a9e2f5996fbb3e00f21e92b9aa259a6c2b
    is at
    https://github.com/dothanhtrung/godebian/commit/cf0495a9e2f5996fbb3e00f21e92b9aa259a6c2b.patch

github 

Get started with tmux

image

Configuration

Edit $HOME/.tmux.conf.

Keyboard shortcut

  • Reload .tmux.conf
    Reload configuration file with Ctrl-b r:

    bind-key r source ~/.tmux.conf
    
[Read More]
tmux 

Set up Bumblebee for NVIDIA Optimus on Fedora

This post is obsolete. Please check the new manual at this post

If you don’t care to battery and want to use NVIDIA card fulltime, check this post.

Install Bumblebee and NVIDIA driver

Add RPMFusion repositories

$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
[Read More]

Configure proxy for git

For http and https protocol:

$ git config --global http.proxy $http_proxy
$ git config --global https.proxy $http_proxy

For git protocol

  • Install socat.
  • Create /usr/bin/gitproxy with content:
    #!/bin/sh
    
    proxy_host=<your_proxy_host>
    proxy_port=<your_proxy_port>
    proxy_user=<your_proxy_username>
    proxy_pass=<your_proxy_password>
    
    exec socat STDIO PROXY:$proxy_host:$1:$2,proxyport=$proxy_port,proxyauth=$proxy_user:$proxy_pass
    
  • Set execute permission: sudo chmod +x /usr/bin/gitproxy
  • Configure git: git config --global core.gitproxy gitproxy
  • Disable SSL verify: git config --global http.sslverify false
git  proxy