Java Http
Recently, I was bite by a httpServer issue that the connection hangs at below os.write step. A quick google search tells me that it is probably the client does not close connection properly, so we ...
Recently, I was bite by a httpServer issue that the connection hangs at below os.write step. A quick google search tells me that it is probably the client does not close connection properly, so we ...
JEP 304: Garbage Collector Interface is a must read if you want to learn the internal mechanism of Java GC. ZGC ZGC has 24k lines of code, which seems readable :) $ cloc src/hotspot/share/gc/z/ ...
Recently, I was reading Kafka connect source code, and was trying to figure out how Kafka connect loads plugins provided by users. It turns out Kafka connect uses the standard ServiceLoader to load...
Process IPC (Interprocess communication) wait system call blocks a parent process until a child process terminates. If not called, the child process will be a zombie process. How could we avoid b...
CPython’s thread state has a profiler callback hook c_profilefunc. If this callback is set, then it will be called when a function enters and exits. See relevant code here. Node this callback is on...
Network tools Tcpdump Tcpdump, as said on its front page, has two products: tcpdump: command line tool libpcap: C library for network traffic capture. libpcap The document is very short....
RISC-V The best way to try out RISC-V is by riscv-tools. Checkout out git organization riscv-software-src. It contains RISC-V installer, compiler and emulator. Using Macbook M1 as an example, br...
Recently, CPython announced the introduction of JIT in 3.13. See post. I have been long wanted to learn something about JIT, and this may be a good opportunity. The HN post actually provided quite ...
Recently, I spent some time learning compiler techniques. First, I read the first few chapters of dragon book. Then I turned to blogs teaching me how to build a compiler in short time. After a sho...
Operator precedence parser Parsing expressions are the most fun part of a parser. Checkout wiki. Expression produce value but statement does not. TODO: write a Pratt parser.