Posts by Tag

computer

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...

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...

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 ...

IO Hardwares

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

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...

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 ...

Mac Setup

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

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...

PNG Compressor Permalink

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...

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...

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.

Back to Top ↑

programming

Haskell

那天无意中发现Qusai练手写了一点的Haskell,想着这小子也挺与时俱进的嘛,终于不再整天抱着那Python了。但想想看我对于Haskell的了解也就停留在知道这是一门纯粹的函数式编程语言,觉得不行,还是得多了解一点,于是翻开了Haskell的维基,从最基础的开始学起。看完初级篇,觉得该教程写得非常出色。对于...

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:

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...

Rust

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

JavaScript

圣诞假期到现在陆陆续续在学习一些JavaScript,期望触类旁通,理解语言的共性和不同。JavaScript作为常年霸榜的编程语言,它的兴起和流行和互联网的发展密不可分。在HTML5的时代,Javascript的地位也依旧没有任何被撼动的趋势,只是出现了更多后继衍生品,比如TypeScript。然而,现代Jav...

Parallel Programming Concepts

很长时间我都没能准确理解多进程之间的工作关系,特来梳理一下。名词上可能不太准确,但是尽量争取概念上是对的。

Advanced Python

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...

Refactoring

所谓refactoring,指的是在不改变程序外部功能的情况下对内部结构进行优化调整,

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体问题也是粒子模拟中的经典问题,分子动力学的入门例子就是一个势场中粒子的相互作用问题。

我与数据可视化的那点事儿

学习工作中反复和图像打交道,更能感受到人类的视觉动物本性。五感中,视觉可谓是信息量最大的输入,也同时深入影响着抽象的思维逻辑。我们力图在复杂中寻找简单,高度提炼的数据是关键的一环。

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...

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...

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...

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.

Shared Library

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

Back to Top ↑

math

Introduction to CNN Permalink

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 ...

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...

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...

Back to Top ↑

travel

启程赫尔辛基

欧洲人习惯的月日记法和中国一致,但是和美国是反的,估计单这就能闹出不少乱子。咱既然来了欧洲,当然也要入乡随俗了。

Biostation Retreat

系里组织的第一次博士生的出游活动,一看是临近北密的学校的生物站,时间允许二话不说就去了。五年级的博士生只有我跟毅轩两人,其他都是些年轻的面孔。同届的学生估计大都很忙吧。作为系里五年来第一次的集体出游,真是要给研究生会的同学点个赞。

新加坡之行

这次出行似乎有点仓促,什么功课都没做就直接收拾行李上了飞机。可能对于语言没有障碍且大不到哪里去的地区没有什么心理负担吧。但我也真的心大,仿佛回到了几十年前人们出行的方式。飞机预计早上六点多降落,七点钟从机场出来,会场也不知道叫啥,酒店也不知道叫啥。会议的议程手册压根儿没看,指甲刀和临时寄物柜的英文也不知道怎么说。...

仙台之行

借着到日本开会的机会,我第一次真正走进了这个神奇的国度。在讯息发达和文化融合的今天,称得上陌生的东西不多,但可以思考和观赏的地方也不少。

麦迪逊游记

Madison离Ann Arbor不近也不远,六个多小时车程,除了在Chicago恼人的堵车之外,其他的行程还是惬意的。我原以为她就在密歇根湖边,实际上在湖边的是密尔沃基,而麦迪逊坐落于密尔沃基正西约一个半小时车程的地方。她市里面有两个湖,大到曾让我看着地图以为是五大湖。UW的校园正处于两湖之间,一片空阔,风景绝...

DC 三番记

第三次来华盛顿了,一开始找路的时候才发现,还是不够了解这座城市。下了地铁找个路南北都能弄反,回忆了半天愣是没想起来曾经住过的宾馆在哪里。直到重新绕着市中心转了一圈,在中国城里曾经吃过的馆子再来一遍,才让过往的记忆浮出水面,重焕光彩。最终才发现,现在住的Marriot,离曾经的Renaissance,不过一百米的距...

东游记

白雾飞溅成雾,阳光幻化成虹;隆隆落水相伴,偏偏海鸥共舞。

墨西哥杂记

我把旅行中零散的记录收集在一起,再额外补充一些,作为17年墨西哥旅行的纪念。感谢泽哥、佳星和颖怡的同行,感谢热情的墨西哥人民。

Back to Top ↑

visual

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...

简报制作

作报告的时候,我们可以尝试加入电影一样的运镜方法。这方面比较亮眼的产品是一款叫Prezi的在线编辑器。 用它做出来的展示品不仅可以实现运镜效果,还可以在视频及视频会议中达成类似动态展示的效果。官方支持里面竟然没有中文,这是有点令人意想不到的。

我与数据可视化的那点事儿

学习工作中反复和图像打交道,更能感受到人类的视觉动物本性。五感中,视觉可谓是信息量最大的输入,也同时深入影响着抽象的思维逻辑。我们力图在复杂中寻找简单,高度提炼的数据是关键的一环。

PNG Compressor Permalink

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...

Plotting of Streamlines

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

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...

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.

Back to Top ↑

sports

Basketball Court in Shenzhen

在深圳找个合适的篮球场真是不容易。到了夏天太阳暴晒,无阴凉处五点以前基本上不用考虑。

Ole Solskjaer

今天我看着曼联的新闻,两眼嗔满了泪水。我认识了你已经十几年,我看到你教练的新闻已经近五年。我知道你会回来的;一定会的。但这样回来,没有比这样回来更好的情景了。

Back to Top ↑

latex

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...

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.

Back to Top ↑

science

Experiment Design

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

Back to Top ↑

music

Back to Top ↑

game

任天堂大乱斗

任天堂大乱斗是一款神奇的游戏。2018年底上市的Switch游戏,多达三位数的基础人物、地图场景和总时长28小时的游戏音乐;大小地图分列的单人模式;不同于以往的格斗模式创新——一款有野心,也有完成度的任天堂作品。

Back to Top ↑

language

语言小论

晚上Maxime谈论起法语中的阴性词和阳性词,我问他这有什么规律可寻吗。他说完全没有,就是说多了一个一个记下来就好;如果你用错了也没关系,反正大家都听得懂。而如果是个外国人讲错了就更无所谓了,他说完全不会由于这个去评价这个人如何。这倒是让我思考起语言中语法规范的严谨性和通俗性。其实现在各个国家的语言,细究起来都难...

Back to Top ↑