Notes on using VSCode

This post is a collection of notes for useful setups, tricks and utilities in VSCode, as one of the popular IDEs in the market, along with Sublime Text, Atom, JetBrains, and so many to name. [Read More]

Mouse gesture on Mac

On Windows, we have software like AutoHotkey with which we can define keyboard shortcut for running various actions in a convenient way. With AutoHotkey, we can also define mouse gestures to execute actions quickly. Here in Ref. [1] is provided a zip file containing the AutoHotkey files for some useful... [Read More]
Tags: Mac software tool

Construct lattice vectors from lattice parameters

In crystallography, quite often we would use the 6 lattice parameters to describe the unit cell, namely, a, b, c, \(\alpha\), \(\beta\) and \(\gamma\). In some cases, we would also need to construct those lattice vectors (\(\vec{a}\), \(\vec{b}\) and \(\vec{c}\)) in Cartesian coordinate system. For example, when we want to... [Read More]


将一系列图片导入到Photoshop里,然后基于图层生成动画,即每一个图层为生成动画的一帧,下面给出的是详细的操作步骤, [Read More]
Tags: design

Set up our own search engine with Yacy

The fundamental idea of web searching is through web crawling, critical information about the website and the embedded links in the crawled website can be obtained. Based on the crawling results, a ranking algorithm could be applied, based on which one can search the website using keywords. Nowadays, we get... [Read More]
Tags: web search

Resize Oracle VPS volume

When setting up Oracle cloud instance, we would give the instance an initial allocation of volume, and later on we might find that the initial volume size is not enough as we install more and more services into our VPS. In such a situation, we may want to expand the... [Read More]
Tags: web VPS oracle

Set up YOURLS on VPS with docker

YOURLS is an URL shortening service [1] and we can deploy a local version of the service to our own VPS. Here, I am using the 1Panel service [2] to set up YOURLS – 1Panel is a web-based Linux system management interface with which we can manage our VPS and... [Read More]
Tags: web docker yourls

Setting up services on VPS using docker

To set up services on VPS, one could follow the conventional routine to configure the server and set up the services. However, such services would then live natively on the VPS operating system, which is not completely self-contained (e.g., one may need to configure multiple services in the same configuration... [Read More]
Tags: web docker

Anaconda token setup for GitHub action

Conda package building and deploying (to Anaconda) can be configured in GitHub action so that when a certain action triggers the GitHub action, the conda package will be built and deployed automatically. As part of the setup, the Anaconda token is required in the GitHub settings so that the secure... [Read More]

Rustdesk server setup

There are several available software in the market for remote control, such as Teamviewer (probably the most well-known one), AnyDesk, etc., including the built-in Windows remote control utility (which is actually already very good especially for the use of local network connection). For cross-platform usage, for sure, Teamviewer is probably... [Read More]

Notes on difference Fourier map

Reversing the transformation from reciprocal space to real space given an experimentally measured diffraction pattern is difficult in practice since the phase information is lost in the experimental diffraction measurement and we are left with only the intensities of the Bragg spots. The Fourier map approach is one of commonly... [Read More]

Notes on GSAS-II

Tips & Tricks

GSAS-II is a powerful software for analyzing the crystallographic structure from diffraction data. It is written in Python, with some underlying routines in Fortran and C++. It is possible to grab the source codes of GSAS-II, develop and test it locally. This post covers the steps to set up the... [Read More]

Notes on twin paradox

This post is my notes for reading an online article published on Scientific American about resolving the twin paradox purely in the special relativity framework. Refer to Ref. [1, 2] for the original article. [Read More]

Notes on kernel density estimation

With a collection of data, we may want to extract or estimate the underlying distribution model. For example, we have the collection of house price in a certain area, we want to have an idea about how the house price in that area is distributed. However, without a priori knowledge... [Read More]

Notes on occupational short-range ordering in crystal

When multiple atomic species (including vacancies) coexist on the same crystallographic site, it immediately brings up a question - say, we have species A and B sharing the same site, then do we have clustering of A and B in separate domains, or do we have A and B preferring... [Read More]

Notes on CUDA programming I


To understand and implement CUDA codes in practice, the very first step is to understand the allocation of threads on GPU. Fundamentally, threads are basic units on GPU where computation can happen in a parallel way. To the first level, threads are grouped into blocks, either in a 1D, 2D... [Read More]

Notes on magnetism - I

Magnetism of free atoms and ions

To understand the magnetism of free atoms and ions, we may go through several stages, as follows, Hartree approximation - electrons are treated in a non-interactive manner. Beyond Hartree - interaction between electrons is taken into account. Spin-orbital coupling. Hyperfine interaction - the interaction between electrons and nucleus. [Read More]