-
I am Dave (Jing) Tian, an Associate Professor in the Department of Computer Science at Purdue University working on system security. My research involves embedded systems, operating systems, trusted and confidential computing, and hardware security. All opinions are my own.
Shoot me:
root@davejingtian.org Categories
Tags
- ABNF
- agile
- AI/ML
- Alcatel-Lucent
- android
- arp
- asn1c
- assembly
- bash
- ber
- bison
- BNF
- build
- C
- CentOS
- CIS122
- Coverity
- crypto
- csv
- cuda
- DCA
- ddclient
- debugfs
- DH
- Diffie-Hellman
- drd
- drig
- elixir
- fedora
- fedup
- flex
- fsck
- gcc
- gdb
- GFW
- git
- github
- gnome
- gprof
- gpu
- guitar
- gumstix
- helgrind
- intel
- itevad
- Java
- jmgsim
- JVM
- kenai
- kernel
- kill
- ksh
- kvm
- ld
- Linux
- list
- netbeans
- netlink
- nvidia
- OS
- overo
- Python
- relay
- security
- selinux
- sgx
- socket
- ssh
- Ubuntu
- UO
- USB
- valgrind
- x86
- x86_64
- yocto
Blog Stats
- 278,423 hits
-

All blogs on this website are licensed under a Creative Commons Attribution 4.0 International License.
Category Archives: Programming
side effect of “++” in C – compiler implemenation with assembly
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
Intel x86 32-bit assembly – function call & stack frame
This post is originally written for a basic view on function call and stack frame in Intel x86 32-bit assembly code. EBP and ESP are the focus. A stack layout pic with dynamic register changes is also down there. May … Continue reading
Posted in Programming, Stuff about Compiler
Tagged assembly, EBP, ESP, gdb, objdump, stack, x86
1 Comment
Print unsigned long long – SegV in C
This post shows a potential bug in printing unsigned long long, which cost David, Leo and me a few days for debugging. One product got segv on cPSB lab – a platform based on MontaVista Linux and PowerPC CPU. Back … Continue reading
Posted in Programming, Static Code Analysis, Stuff about Compiler
Tagged Coverity, longlong, printf, segv
3 Comments
kill all – killing all the process of certain user under Solaris
This is a quick post on kill based on the trial and discussion when David, Daniel and myself were trying to kill all the abnormal process of Daniel under a Solaris 8 Ultra-80 server. The most tough thing was the … Continue reading
Auth Lib – with DH Key Exchange Algorithm, MD5 Digest Algorithm and Helper APIs
Finally, I’ve got time to summaries the authentication work I’ve done for MGC:) This post gives a useful C lib on authentication focusing on DH key exchange algorithm and MD5 digest helper APIs. Please note this lib should be built/used … Continue reading
Bug in g++ 3.X – invalid operands of types `A&’ and `int’ to binary `operator!=’
I am not sure if there is a bug declaration for g++ 3.X (have not checked the doc yet). On the other hand, g++ 4.X, however, could compile the example code below silently. Anyway, seems for g++ 3.X, reference operator … Continue reading
Random in Shell
This post introduces the ‘$RANDOM’ in Shell including Ksh, Bash and Zsh and gives 2 examples using random processing in Shell. May it help:) 1. Number sequence random order generator # # Number sequence random order generator – nsrog # … Continue reading
Diffie-Hellman key exchange algorithm – deeper and better
In my last post on D-H algorithm (http://daveti.blog.com/2011/04/21/diffiehellman-key-exchange-dh-algorithm-in-c/), we talked about 2 implementation using C. However, I’ve been thinking about one thing here these days – if there is any potential integer overflow risk in both functions (though for unsigned … Continue reading
Diffie–Hellman key exchange (DH algorithm in C)
I am recently doing feature on authentication between MGC (Media Gateway Controller) and MG (Media Gateway). One important thing involved in Diffie-Hellman key exchange. Not sure if because the key formula ‘g^a mod(P)’ looks simple and stupid, it is hard … Continue reading
IA 32 CPU architecture – NetBurst
Please kindly note that the picture below takes a great reference from the book ‘Professional Assembly Language’ by Richard Blum – which is a very practical book and my first book on assembly programming. The other very useful and important … Continue reading



