Linux - Bash

Running ways

Make the shell script executable
The script should begin with the shebang (e.g. #!/bin/bash).
Treat the shell script as the argument of sh
In this case, the shebang is not necessary.

Print

echo

  • By default, a line break is appended every time it is invoked.
  • The default line break can be avoided by option -n.

printf

  • Syntax
printf "format_list" content/variable_list
  • Format

    • %s

      • %3s: 3-character wide and right alignment.
      • %-3s: 3-character wide and left alignment.
    • %c
    • \n: line break.
    • %f

      • %5.2f: 5-character wide with 2 of them for decimal portion, right alignment.
      • %-5.2f: 5-character wide with 2 of them for decimal portion, left alignment.
[Read More]

Linux - Fonts

On Unix/Linux desktop, there are a rich number of open source projects for font rendering. This post lists some pretty excellent choices. Taking ArchLinux for instance, the installations are presented.

[Read More]

Linux - GNU Debugger (GDB)

GDB is the world famous GNU debugger, which is very powerful. In this article, its elementary usages can be listed as follows.

[Read More]

Linux - Network File System (NFS)

Network file system (NFS) is a simple approach for share and exchange files in Unix/Linux. This post summarizes its installation and configuration.

[Read More]

Linux - Network time protocol (NTP)

Network time protocol (NTP) is a very convenient service which can provide network time synchronized automatically and periodically. This post briefly describes the installation and configuration of NTP on Linux OS.

[Read More]

Linux - Zathura

Introduction

Zathura is a light PDF viewer, with Vi/Vim-like keybindings. It always reloads and refreshes documents automatically. In this sense, it is naturally capable of providing real time preview of a PDF file, e.g., produced by LaTeX. Additionally, it has the option of enabling inverse search based on synctex.

[Read More]

Linux - Zsh

Introduction

As is well-known, shell is an interface provided by the Unix/Linux operation systems (OS) to subscribers whereby a user can interact with the kernel of the OS efficiently and conveniently.

In fact, there are already a variety of shells, e.g., bash, csh, tcsh, zsh, etc. This post just presented a brief introduction to zsh.

Zsh is indeed a powerful shell. Perhaps this is just the reason why it is termed "shell terminator", as letter 'Z' is the letter terminator, the last one in the alphabeta.

[Read More]

NR - Uplink Control Information (UCI)

Introduction

Targetting for HARQ acknowledgement and scheduling request, similar to LTE, uplink control information (UCI) is transmitted on physical uplink control channel (PUCCH) or physical uplink shared channel (PUSCH).

Simultaneous transmission of PUCCH and PUSCH is not supported in release 15, but UCI can be pigged-back on PUSCH, i.e., UCI is multiplexed with data and transmitted on PUSCH.

In carrier aggregation (CA) case, UCI is only transmitted on the primary cell (PCell), to support asymmetric CA, i.e., different number of carriers in the downlink and uplink. To avoid overloading, PUCCH's can be divided into 2 groups. The feedback relating to the 1st group is transmitted in the uplink of the PCell, while the feedback corresponding to the 2nd group is delivered in the uplink of the primary second cell (PSCell).

For PUCCH, only a single antenna port is specified. Given a UE equipped with multiple antennas, how to make use of the antenna array is a UE implementation related issue.

[Read More]

Python - Tensorflow

Introducation

Tensorflow is a deep learning library, which provides two programming interfaces, C++ and Python. Moreover, The Python API integrates very well with numpy. In many places, Tensorflow tensors can be interchanged with numpy ndarrays.

[Read More]