Author | Logan

  1. 2014 Year End Review

    It's the end of 2014. It has been an amazing year with a lot of astonishing moments!

    • This is my first year to work as a full-time software engineer. I have learned a lot from the real world software development, including the PMD, annaul planning, software schedule estimation, and etc …

    More

  2. Debian Backports

    It is well-known that Debian stable release is very stable, i.e. the packages are very old and well-tested. However, this become a problem to me.

    Since Git 1.9, we have to run the following command to silence a warning when we are running git push.

    $ git config --global …

    More

  3. Count Trailing Zeros

    How to count the number of trailing zeros of an integer? The simplest way is to use the built-in function __builtin_ctz():

    uint64_t count(uint64_t n) {
      return __builtin_ctz(n);
    }
    

    What will happen if we don't have __builtin_ctz()? If we have another built-in function __popcount(), which can …

    More

  4. RISC-V Microprocessor

    RISC-V is an instruction set architecture (ISA) released by UC Berkeley. Besides, a high performance, power efficient, and royalty-free open source implementation Rocket Chip is available.

    RISC-V was developed by Krste Asanović and David A. Patterson. In their technical report, they claimed that an open instruction set can benefit both …

    More

  5. Autossh and Ubuntu Upstart Daemon

    Since I am sharing the network without public IP, I would like to maintain a SSH tunnel so that I can connect to my desktop from the remote site. After searching the web, I found that Autossh fits my needs. Autossh is a utility that can start and monitor the …

    More

  6. C++ Virtual Destructor and Inheritence

    It is a well-known idiom to define a virtual destructor for the classes with virtual functions. If we don't define a virtual destructor, then the base class destructor will be invoked when you are deleting the object through the base class pointer even if the object is an instance of …

    More

  7. LLVM Bugpoint

    In this post, I would like to introduce the bugpoint command line tool. This is a automatic test case reduction tool which can help us generate minimal test case.

    As a compiler developer, the first step to debug is to create a minimal test case which can still reproduce the …

    More

  8. Vim Vundle

    In the past, I didn't like to install the Vim plug-ins or new syntax highlight because all of the files were messed up in the .vim directory which makes it difficult to uninstall a plug-in.

    Recently, I have come across with Vim Vundle. It is a vim plug-in manager which …

    More

  9. Let's Encrypt

    According to the post by Andreas Gal, EFF, Mozilla, Cisco, Akamai, and IdenTrust are going to form Internet Security Research Group which will start the Let's Encrypt ceritificate authority service in 2015 Q2.

    Let's Encrypt is expected to become a free, automated, and open SSL sertificate authority which aims to …

    More

« Prev Page 5 / 7 Next »