# Posts by Year

## 2023

You can watch the video for a nice walk-through. Here is just some notes from that video. A nice interactive playground based on tensorflow can be found here.

## Comparison of Time-Frequency Transforms

Stefan Scholl made a nice comparison between different kinds of time-frequency transforms available: Fourier, Gabor, Morlet or Wigner. The paper on Arxiv is ...

## R Notes

R is popular among statisticians and biologists. It is one of the most commonly used languages in data analysis.

## Nushell

I am glad to see the evolving of modern shells. I enjoy using zsh, but now there are even fancier ones: nushell. It highlights three features:

## Experiment Design

Any successful experiment requires careful design beforehand. There are systematic methods for ensuring the validity of test results.

## Profiling

The Intel profiler VTune and Trace Analyzer are now bundled in the OneAPI toolkit. It works best for C/C++ codes, and decent for Fortran. I have some good ti...

## Matplotlib

Matplotlib is a great library, but there are still issues. Over 20 years of development and 3 major version releases, Matplotlib has evolved into a giant lib...

Smoothing

## Rust

Rust是我一直想了解的语言；唯一的障碍可能就是即使会了一些Rust，短期内看不到哪里能够实际用上。然而学习一门新东西，并不总能立刻看到用途的。

## The Effectiveness of Modern CPUs

While watching this Cppcon 2021 video

## Gravity Wave

Make analogies of what you don’t know to what you know.

## Blunt Body Problem in Hydrodynamics

At first sight, this seems to be an easy problem: there should be some kind of analytical solution given an ideal shape of the obstacle, say a cylinder in 2D...

## Fourier Analysis

I hate it when people make simple things complicated, and complicated things impossible.

## Wavelet Transform

There are already many nice introduction of wavelet transform, like here and the following video. This is my simple note on WT while reading those tutorials.

## Cross-Wavelet Transform

Before we talk about cross-wavelet transform (CWT)1, we need to understand wavelet transform (WT). Before we learn wavelet transform, we’d better have a good...

## Ubuntu Soundtrack

I’ve been using Ubuntu 18 for quite some time now. One thing that is frequently not working properly is the sound output switches. It happens from time to ti...

## Linux Memory

Since I started working with Vlasiator, I have encountered many issues related to memory usage. Now it’s a good time to go over some basics in Linux’s memory...

## Cappella

Good languages stop you from writing stupid codes; bad languages allow you to write more stupid codes. Do not live on ancient code until death! Latest thi...

## Evolution of Programming

In the 20th century as a programmer, you have to learn and write machine code. In the 21st century, it is no longer the case.

## N-Body Simulation

N体问题是力学中的著名基础问题，当$$N \ge 3$$时的解析解迄今依旧是个问题，仅在某些特殊情况下（比如其中若干个粒子/物体的质量相对极小）有解析解。 N体问题也是粒子模拟中的经典问题，分子动力学的入门例子就是一个势场中粒子的相互作用问题。

## Geometric Algebra

“A unified mathematical language for the whole of physics.” - David Hestenes “The most powerful and general language available for the development of m...

## Kalman Filter

The first time I’ve heard about Kalman filter is during my exploration of image feature extraction. A MATLAB demo shows how Kalman filter can be used to trac...

## Internet Connection

Since I have moved to the new apartment, the intermittent internet interruption has been bothering me. However, this provides me a good opportunity to learn ...

## GDB Debugger

One way of debugging segmentation fault is using GDB. It is such a deep learning curve that no one ever claims he or she fully understands the complete usage...

## IO Hardwares

Data access speed is important. In many applications, it is more important to have faster data access speed than higher CPU frequency.

## Data Transfer

scp: fast, straightforward, speed shown by default.

GNU Make

## Install GCC on Ubuntu Permalink

Check the post How to Install GCC Compiler on Ubuntu.

## Compiler Flags

As programmers, we tend to be smarter than compilers. More often than not, we can’t. Nowadays, compilers comes with hundreds of flags to choose from. To make...

## Chromium Browsers

When I bought a new laptop a few months ago, I decided to get a new Win10. Now the default browser on Win10 is Edge, which is built upon Google’s Chromium ke...

Proxy Jump

## Linux Distros and WSL2

Being annoyed by the CENTOS linux distro from Redhat, I’ve decided to take a look at some latest distros available. There are several amazing ones already! I...

## Command Line Tools

When using properly, command line is often the easiest and fastest way to get tasks done, even though the same thing can be also accomplished in other ways l...

## Software Installation

The first thing to tell if one is familiar with codes is whether he or she can compile it. As I move to new group using a completely different code, this is ...

## ARM-64 Architecture

There is probably a ongoing trend of adopting arm chips to commercial and even high performance computing world. I got a chance to try out the new Raspberry ...

## Practicing C++

If scientists read coding standards and recommendations like C++ Core Guidelines in the first place, then it is less likely that science codes will be poor i...

## Mac Setup

Part of this post originates from Dan Welling’s article Your Mac as a Linux Box.

## Passing Arguments

The design of high level program structures is very challenging. One common headache for me is how to pass arguments between function efficiently.

## Git Version Control

I haven’t considered myself a programmer until very recent years. As a proof of that, 2017/08/28 is the first day I use Git. My experience of using a version...

## Editors

From Atom to VSCode

First Impression

## Colormaps

I have tried an excellent PNG file compressor online: TinyPNG. Usually this can compress a figure by about 60% without lossing visually detectable quality! T...

## Computer Hardware for Coding Permalink

Here is a post for scientists on how to write nice codes given the knowledge of computer hardwares. Very nice.

## Shared Library

This is a collection of knowledge about shared/dynamic libraries.

## Behaviour of BibLaTeX

biblatex will display author’s first name to distinguish different authors with the same last name. You may accidentally have the same author but different s...

## Magic angle

What is magic angle, and how does it work??

## Plotting of Streamlines

The built-in streamline function of Matplotlib/MATLAB is not proper for scientifically visualizing field information. 一开始在MATLAB上开发VisAna的时候，记得Gabor就在说怎么这个磁力...

MPM与CG特效

## Using latexdiff

Compare the differences between files is a tedious task. However, if you pick the right tool, it may become as easy as one line command.

## Paraview Usage

Paraview is a powerful tool for visualization and postprocessing, but it requires some effort to get familiar with it. The learning curve suddenly becomes st...

Mac

## Making Videos from Figures

An animation is simply frames of figures. It is pretty helpful to be proficient at generating a set of figures and combining them into a video.

09/06/2018