This post records how I set up Yubico Key in Windows, so I’ll not delve into too much details. I have the model YubiKey 5 NFC. I frequently use 2 GPG keys stored in the key, one for encryption, another for SSH authentication. The GPG encryption part is simple, GnuPG just works. Using the stored GPG key for SSH is a bit complex, because it requires collaboration between GnuPG and the SSH client. After experiment many different solutions, I decide to use the simplest one, using putty/plink as the SSH client and enabling thepageant support in GnuPG.
A collection of 55 articles
The article mainly refers Exercise 2 - Track User Mode Process Allocations | Microsoft Docs. 1. Install Windows Performance Recorder and Analyzer Download and install ADK from here. The windows build version can be checked by running “winver” via Win+r.
Following example moves the Ubuntu distribution to disk D:\WSL\Ubuntu.
I prefer using a dedicated WSL instance to run containers. So I’ll install a minimal distribution, Alpine, to run podman. Install the tool LxRunOffline first via scoop scoop bucket add extras scoop install lxrunoffline Download Alpine root package from https://lxrunoffline.
There are two apps both work for me in scoop extras bucket. scoop bucket add extras scoop install rbtray traymond They both require running their background process first. Rbtray minimizes a window into system tray by right clicking the window minimization button, while traymond us shortcuts Win + Shift + Z。
I used to use Visual Studio Code in Windows as mentioned in a previous post. But its startup time is terrible on Surface Go, so I decide to give vim another try.
A friend recommended gopass to manage passwords. After the trial, I decided to switch.
I have only one Windows device, the Surface Go. I work on it occasionally, especially on short trips. I prefer Surface Go because of handwriting. I have a simple setup to meet my work requirements.
I use file system to manage my knowledge base. The repository has a well defined directory structure. I have a bunch of scripts to help me creating these directories on the laptop. But in iOS, I have to create them manually. Recently, I have found out a way to work around it via Working Copy.
Pin is an obscure type in Rust because of the naming and indirect concepts. The first indirect concept is pointer. Pin<X> does not guarantee that X will not move. If X is a pointer which target type is T, Pin<X> guarantees that T will not move. The second is “not move”. It really means that the only way to get the mut reference to T is via unsafe interface. The last is the Unpin mark trait. Pin forbids safe interface to get the mut reference to T only when T is !Unpin. In simple words, Pin is a pointer wrapper. When a pointer is trapped inside Pin, and the pointee type is !Unpin, there’s no safe way to get a mut reference to the pointee.