c++ coroutine
https://www.italiancpp.org/2016/11/02/coroutines-internals https://www.boost.org/doc/libs/1_70_0/libs/coroutine2/doc/html/index.html https://theboostcpplibraries.com/boost.coroutine https://www.netways.de/en/blog/2019/04/04/modern-c-programming-coroutines-with-boost/ https://blog.panicsoftware.com/coroutines-introduction/ https://blog.panicsoftware.com/your-first-coroutine/ https://blog.panicsoftware.com/co_awaiting-coroutines/ https://en.cppreference.com/w/cpp/language/coroutines
How to learn pytorch from scratch
Pytoch is a quite powerful, flexible and yet popular deep learning framework. The learning curve could be steep if you do not have much deep learning background. So what is…
how to prevent nvidia GPU hangup on ( debian 10)
debian 10 have nvidia GPU driver, cuda 9 etc, it is a good thing for deep learning ( keras or pytorch). but if let it running for some time (…
gdb and signal handling ( especially sigwaitinfo )
How gdb generally works In a debugging session, when the debugger wants to set a breakpoint, it replaces an instruction by int3 When the trap instruction (0xCC on x86) is executed,…
c++ lambda capture, weak_ptr, shared_ptr many subtle caveats
Some notes about C++ lamba capture, shared_ptr/weak_ptr, they are not quite obvious! (1) lambda capture implement it is simply just put the captures as members either by copy or reference.…
c++ why std::shared_ptr need atomic_store, atomic_load or why we need atomic shared_ptr
shared_ptr is some sort of confusing especially why we need atomic_store, atomic_load on that. It is NOT thread safe. In fact, the primary intended use of std::shared_ptr is letting multiple threads…
c++ pass default shared_ptr reference as nullptr
First of all, shared_ptr can be a nullptr. Nothing wrong passing a null shared pointer. In fact, a null shared pointer is an actual Null Object, which means that it’s designed…
srtp and h.235.6 secure rtp
SRTP RFCs and h.235 is Not an easy read. Here is my very high level beriefing: AES Encryption (1) AES is the foundation for both srtp and h.235.6 secured rtp…
rabbitMQ exchanges, queue , routing keys, bindings
RabiitMQ implement the AMQP protocol. written in Erlang. it is a quite useful message broker or message middleware. It works like this: sender or receiver can create different type of…
cmake how to build debug version
Some of projects use cmake, usually we can build like: mkdir build && cd build cmake .. camke –build . it usually a release version. we as developer need…