Skip to content

Instantly share code, notes, and snippets.

View legnaleurc's full-sized avatar

Wei-Cheng Pan legnaleurc

View GitHub Profile
@legnaleurc
legnaleurc / bn.cpp
Last active September 23, 2015 21:28
Binary Node
#include <memory>
#include <iostream>
class Node: public std::enable_shared_from_this< Node > {
public:
typedef std::shared_ptr< Node > NodeSP;
typedef std::weak_ptr< Node > NodeWP;
static NodeSP create( int value ) {
return NodeSP( new Node( value ) );
@legnaleurc
legnaleurc / reactor.java
Created May 24, 2011 07:26
NIO practice
package org.sandbox;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.ByteBuffer;
import java.nio.channels.ClosedChannelException;
import java.nio.channels.ClosedSelectorException;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
@legnaleurc
legnaleurc / CMakeLists.txt
Last active April 14, 2019 18:16
Qt signal/slot + Boost.Coroutine
cmake_minimum_required(VERSION 2.8)
find_package(Qt5Core REQUIRED)
find_package(Qt5Network REQUIRED)
set(CMAKE_AUTOMOC ON)
find_package(Boost REQUIRED COMPONENTS coroutine system context)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCES "src/main.cpp" "src/task.cpp" "src/task.hpp" "src/task_p.hpp" "src/httpserver.cpp" "src/httpserver.hpp")
@legnaleurc
legnaleurc / kdesrc-curses.rst
Created November 8, 2011 16:54
kdesrc-curses

kdesrc-curses

Idea for homebrew-like kdesrc-build, I'll call it kdesrc-curses

Concepts

  • Scriptable: new program or module should be easily add. Simply add a new file and inherit some classes.
#include <iostream>
#include <chrono>
#include <queue>
#include <boost/asio/io_service.hpp>
#include <boost/asio/steady_timer.hpp>
#include <boost/asio/strand.hpp>
class Runner {
@legnaleurc
legnaleurc / json.cpp
Created July 2, 2012 04:24
JSON parser with Boost Spirit
#include <boost/any.hpp>
#include <boost/spirit/include/qi.hpp>
#include <boost/fusion/include/std_pair.hpp>
#include <vector>
#include <map>
#include <iostream>
namespace json {
@legnaleurc
legnaleurc / h264.c
Last active December 17, 2015 05:09
h.264
#define _BSD_SOURCE
#include <endian.h>
// #include "bs.h"
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
@legnaleurc
legnaleurc / ncu_sign.py
Last active February 5, 2020 01:39 — forked from eternnoir/gist:5797146
NCU sign in/out
#! /usr/bin/env python
import cookielib
import sys
import urllib
from BeautifulSoup import BeautifulSoup
import mechanize
std::vector<std::string> findSubstrings(std::vector<std::string> words, std::vector<std::string> parts) {
sort(begin(parts), end(parts), [](const std::string & a, const std::string & b) -> bool {
return a.size() > b.size();
});
for (int i = 0; i < words.size(); ++i) {
words[i] = highlight(words[i], parts);
}
return words;
}