posts


Apr. 14, 2026

GDB Tutorial

GDB , the GNU Project debugger, is a useful debugger for many languages (C, C++, Fortran, etc). Here I keep a set of useful commands for my records.

Using GDB

To use GDB, compile the program with debugging information. For standard C++ program, add -g flag when compiling, i.e. something like

g++ -g -o myprogram myprogram.cpp

For AMReX related application codes like Castro, compile with DEBUG=TRUE, i.e.

make DEBUG=TRUE

Now launch GDB with compiled program as the following.

Jan. 17, 2026

Using ox-Hugo

Hugo is a static website generator written with GO, providing easily capability to convert markdown files into a website. For those who use emacs Org mode , one can use ox-hugo to convert Org files into markdown files that will be compatible with Hugo. Hence the workflow is:

\[\mathrm{Org} \\ \xrightarrow{\text{ox-hugo}} \\ \mathrm{markdown} \\ \xrightarrow{\text{Hugo}} \\ \mathrm{HTML}\]

For me, I use it to create my research journal and personal website.

Here I describe different ways of writing things in Org mode that can be re-interpreted by ox-hugo to generate the corresponding md files that can be used by Hugo for my own records.