Skip to content

Instantly share code, notes, and snippets.

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
p = GPIO.PWM(12, 50)
p.start(7.5)
@ducky-hong
ducky-hong / timerfd.py
Created September 28, 2017 07:39
detecting system time changes via timerfd
# detecting system time changes via timerfd
# https://github.com/tsavola/pytimerfd
#
# Usage:
# $ python3 timerfd.py
# $ date -s "2 OCT 2006 18:00:00"
import ctypes
import ctypes.util
import selectors
import os
@ducky-hong
ducky-hong / sample.lua
Created January 16, 2017 09:37
pktgen lua sample
package.path = package.path ..";?.lua;test/?.lua;app/?.lua;"
pktgen.screen("off");
-- size 200 causes seg fault
sizes = {64, 256, 576, 1500};
rates = {1, 5, 10, 20, 40, 50, 100};
interval = 5000;
for s = 1, 4 do
@ducky-hong
ducky-hong / Dockerfile
Created November 7, 2016 04:56
ubuntu for kens with gtest
FROM ubuntu:16.04
RUN sed -i 's/archive.ubuntu.com/ftp.kaist.ac.kr/g' /etc/apt/sources.list
RUN apt-get update && apt-get install -y build-essential cmake git \
&& git clone --depth 1 https://github.com/google/googletest.git \
&& cd /googletest/googletest && mkdir build && cd build \
&& cmake .. && make && cp libgtest*.a /usr/local/lib \
&& apt-get clean && cd / && rm -rf /googletest
@ducky-hong
ducky-hong / Dockerfile
Last active May 3, 2016 17:24
arcus-memcache w/ docker
FROM debian:jessie
RUN groupadd -r memcache && useradd -r -g memcache memcache
RUN apt-get update && apt-get install -y --no-install-recommends \
libevent-2.0-5 \
curl gcc libc6-dev libevent-dev make perl git libtool automake autoconf \
&& rm -rf /var/lib/apt/lists/*
ADD . /arcus-memcached
WORKDIR /arcus-memcached
@ducky-hong
ducky-hong / guide.md
Created March 24, 2016 17:29
gradle guide to hw2

Gradle 기본

자바 프로젝트를 진행하면 일반적으로 다음 과정을 따릅니다.

  1. 자바 소스를 컴파일 하고
  2. 테스트 코드를 돌리고
  3. 컴파일 결과를 JAR로 묶어 배포 위 작업을 스크립트로 만들어서 할 수 있지만 컴파일 할 때 소스 위치 지정, 라이브러리 지정, 테스트 코드 실행, JAR로 어떤 것을 묶을건지 등등 꽤 귀찮습니다. 이런 귀찮은 작업을 빌드 툴이 대신 해줍니다. Gradle은 자바 진영에서 유명한 빌드 툴입니다.

스크립트를 만드는 대신 빌드 툴이 사용할 설정 파일을 만들어야합니다. 설정 파일에는 사용할 라이브러리(의존성이라고 많이 번역합니다), 소스 코드 위치, 플러그인, 플러그인 설정 등 빌드에 필요한 정보를 작성합니다.

@ducky-hong
ducky-hong / intellij-15-java-google-style.xml
Created March 18, 2016 11:49
google style guide for intellij 15 (fix static import order, add io package)
<code_scheme name="GoogleStyle">
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="99" />
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="" withSubpackages="true" static="true" />
<emptyLine />
<package name="com.google" withSubpackages="true" static="false" />
<emptyLine />
<package name="android" withSubpackages="true" static="false" />

챗방 사이드는 최대 3개의 json object 가 다음처럼 json array 로 내려오구요.

[
{"id":"chPUF5MFVwJviooR7mp","owner_id":85368,"type":"TEXT","created_at":"2015-11-12T07:55:56.000Z","content":"test","notice":true},
{"id":"chPUF5MFVwJviol3srf","owner_id":85368,"type":"TEXT","created_at":"2015-11-12T07:55:55.000Z","content":"test"},
{"id":"chPUF5MFVwJvioh9clj","owner_id":85368,"type":"TEXT","created_at":"2015-11-12T07:55:54.000Z","content":"test"}
]
val doc = Jsoup.parse(resp.getResponseBodyAsStream, null, resp.getUri.toString)
module Octopus
module Querying
def find_by_sql(sql, binds = [])
p sql
p binds
if binds.present?
key = 'user_id'
v = binds.collect { |x| [x.first.name, x.second] }.to_h[key]
shard = if v.to_i >= 100