I am Dave Jing Tian, an (to-be) Assistant Professor in the Department of Computer Science at Purdue University working on system security. My research involves embedded systems, operating systems, and trusted computing.
- 139,082 hits
All blogs on this website are licensed under a Creative Commons Attribution 4.0 International License.
Tag Archives: C
Negative indexing in C, such as a[-1], is legit, although rarely used. There are reasons (pitfalls) why negative indexing is not recommended. This post discusses these pitfalls when using negative indexing (for fun). 1. Negative indexing within the bound In … Continue reading
The original question was how to retrieve the PID of the packet (sender) in the Unix domain socket. As titled, the answer is recvmsg()/sendmsg(). However, the most useful information I could find online is Michael’s man7.org. People keep talking about … Continue reading
Prolog is a straight-forward way to implement simple logic rules and do the query of the system. GProlog(gprolog) is the GNU version of Prolog implementation. To leverage the power of gprolog into our system code (C/C++), there are usually 2 … Continue reading
This post introduces a general way to handle multiple timers using one thread using C. K.R.K.C. -daveti 1. what is timer? The essence of timer is eventually a thread (either Python or Java threads are actually mapped and executed as … Continue reading
There is no standard regex lib in glibc. However, almost all UNIXs, Linux and even Mac OS should support POSIX regex, which provides a way to do regex processing in C. Below is the real example under Linux. For Mac … Continue reading
This post shows a common known side effect of “++” operator in C programming because of different compiler implementation. Assembly code from PowerPC and x86 with gcc is provide to show the key difference and the reason why for this … Continue reading