Posts
Set Up Wireguard VPN Server
Wireguard is a VPN protocol, which has an implementation presents in the Linux kernel. This post records my first time experience setting up a Wireguard VPN for my heterogeneous devices (Macbook, iphone, etc.) ......
Coroutine to Hide Cache Miss Optimization (1)
Last year I co-authored the Corobase paper which was published on PVLDB 2021. The paper describes the approach to hide data stalls in an in-memory database with stackless coroutine. Still, there left several open questions, for example, how to properly inline a coroutine, which this post may help you to understand......
Raspberry Pi as a Wifi Access Point
Make Raspberry Pi 4 an access point -- and further a transparent proxy......
Cheatsheet of Profiling Multi-Core Systems
Cover some quick tools and some of my empirical approaches on profiling multi-core systems......
Profile Voluntary Context Switches
When running benchmarks in Interval-Based-Reclamation, I observed a suspicious Voluntary Context Switches increase using epoch based reclamation. I profiled the program and traced the context switches back to some mutexes in jemalloc......
Replace gcc with clang Troubleshooting
I was rebuilding Interval-Based-Reclamation with clang to adapt it to a microbenchmark for garbage collection with coroutine (clang has a better coroutine implementation). I made several mistakes which took me a long time to figure out. The mistakes are silly, while the investigation is kinda fun and worth sharing......
Setup Beagle Bone
Instructions on setting up development environment on Beagle Bone, in case I forget it again......
Make a Photo Gallery with Vuepress
Vuepress is a simple framework to generate static webpages. I had that idea to use vuepress to make a static photo gallery for my own website......
Scan An Open ssh Port
I was living in a hotel in the quarantine time, which has a very bad network. While I was doing some network configuration checking, I accidentally found the ssh port of the router is open......
Better Proxy with NAT Transfer
I have a proxy server that works well, but recently I was quite suffering from the bad networking (very high latency and packet loss) accessing my server. I have managed to setup another closeby server to do a NAT transfer, which (at least partially) solved the issue......
Shallow Dive on Microfacet
Physically based rendering is a recent hot area in game theindustry. Most PBR implementation employs a microfacet model to parameterize the features of the material surface. Here is a very shallow dive on microfacet......
Cross Compile Embedded Python
A Brief guide on how to cross compile a python embedded C program onto a linux based embedded device......
Readings
Readings
Blogs and articles that I found interesting......
Graphics and System Readings
Blogs and news read during March 2021 that I found interesting......
Graphics and System Readings
Blogs and news read during Feb. 2021 that I found interesting......
Graphics and System Readings
Blogs and news read during Oct. 2020 to Jan. 2021 that I found interesting. Summaries updated in Feb. 2021......
Graphics and System Readings
Blogs and news read in Sept. 2020 that I found interesting. Summaries updated in Feb. 2021......