Skip to content

Instantly share code, notes, and snippets.


Block or report user

Report or block SF-Zhou

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
SF-Zhou / main.cpp
Created Nov 20, 2019
C++ Code Block Magic
View main.cpp
// Need C++ 11
#include <functional>
#include <iostream>
class A {
template <class F>
auto operator-(const F &func) -> typename std::result_of<F()>::type {
return func();
SF-Zhou /
Created Oct 19, 2019
Linux Sys Func Hook
#include <assert.h>
#include <dlfcn.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
static bool is_hook = false;
int main() {
SF-Zhou / epoll.c
Created Oct 17, 2019
Linux Epoll IO Multiplexing
View epoll.c
#include <arpa/inet.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/epoll.h>
#include <unistd.h>
SF-Zhou / coroutine.cpp
Last active Sep 26, 2019
Coroutine Demo (libco)
View coroutine.cpp
#include <iostream>
#include <stdint.h>
#include <vector>
extern "C" void swap_context(void *, void *) asm("swap_context");
mov 0x00(%rsp), %rdx
lea 0x08(%rsp), %rcx
mov %r12, 0x00(%rdi)
SF-Zhou / rust-like.cpp
Created Sep 10, 2019
Rust-like Ownership and Reference
View rust-like.cpp
#include <atomic>
#include <cassert>
#include <iostream>
using namespace std;
template <class T>
class MutableRef;
template <class T>
class ImmutableRef;
SF-Zhou / set_input_source.cpp
Created Mar 10, 2019
Switch to Specific Input Source for macOS
View set_input_source.cpp
* Switch to Specific Input Source for macOS
* Author: SF-Zhou<>
* To English: g++ -framework Foundation -framework Carbon -std=c++11 -O2 change-input-source.cpp -o switch-to-english
* To Pinyin: g++ -framework Foundation -framework Carbon -std=c++11 -O2 change-input-source.cpp -D PINYIN -o switch-to-pinyin
#include <string>
#include <Carbon/Carbon.h>
#include <ApplicationServices/ApplicationServices.h>
SF-Zhou / lr_scheduler.schema.json
Created Mar 2, 2019
JSON Schema of LR Scheduler
View lr_scheduler.schema.json
"$schema": "",
"title": "LRSchedulerConfigs",
"description": "LR Scheduler Configs for PyTorch",
"type": "array",
"items": {
"$ref": "#/definitions/LRSchedulerConfig"
"definitions": {
"LRSchedulerConfig": {
SF-Zhou / simple_shared_ptr.cpp
Created Jan 25, 2019
Simple C++ Shared Ptr
View simple_shared_ptr.cpp
#include <iostream>
template <class T>
class SharedPtr {
SharedPtr(T *rep = nullptr) : rep_(rep), count_ptr_(new int32_t(1)) {}
SharedPtr(const SharedPtr &obj) : count_ptr_(obj.count_ptr_), rep_(obj.rep_) {
SF-Zhou / multi-threading.cpp
Created Dec 22, 2018
C++11 Producer + Consumer
View multi-threading.cpp
#include <chrono>
#include <iostream>
#include <mutex>
#include <queue>
#include <thread>
#include <vector>
std::mutex mutex;
std::queue<int> candidates;
std::condition_variable condition;
View gist:f042c56c32c85442a84f864854883e2b
You can’t perform that action at this time.