Skip to content

Instantly share code, notes, and snippets.

View achimnol's full-sized avatar

Joongi Kim achimnol

View GitHub Profile
@achimnol
achimnol / cloud-init.yml
Last active February 4, 2024 15:15
fresh-vm-for-backendai-dev
#cloud-config
package_update: true
package_upgrade: true
groups:
- docker
system_info:
default_user:
groups: [ docker ]
packages:
# docker dependencies
@achimnol
achimnol / long-logs.py
Created March 4, 2020 06:30
A simple Python script to test long console output handling
import string
import sys
if __name__ == '__main__':
total_length = int(sys.argv[1])
if len(sys.argv) == 3:
line_length = int(sys.argv[2])
else:
line_length = 10_000
i = 0
@achimnol
achimnol / test_single_gpu.py
Last active October 31, 2019 12:36 — forked from j-min/test_single_gpu.py
TensorFlow single GPU example
from __future__ import print_function
'''
Basic Multi GPU computation example using TensorFlow library.
Author: Aymeric Damien
Project: https://github.com/aymericdamien/TensorFlow-Examples/
'''
'''
This tutorial requires your machine to have 1 GPU
"/cpu:0": The CPU of your machine.
@achimnol
achimnol / install-tmux.sh
Last active June 2, 2019 06:05 — forked from suhlig/install-tmux
Install tmux on rhel/centos 7
# Install tmux on rhel/centos 7
# install deps
yum install gcc kernel-devel make ncurses-devel
LIBEVENT_VERSION=2.1.8
TMUX_VERSION=2.9
PREFIX="${HOME}/.local/bin" # user-only install (change to /usr/local for global install)
SUDO="" # change to "sudo" to install on /usr/local
@achimnol
achimnol / ring-contextvars.py
Last active May 30, 2019 08:45
Idea for contextvars-based API design for ring-cache
import redis
from ring import Ring
import contextvars
redis_connection = contextvars.ContextVar('redis_connection', None)
ring = Ring(...)
class A:
@ring.redis(redis_connection, ...)
def get_something(self):
@achimnol
achimnol / test-graphql-generic-list.py
Last active February 6, 2019 07:57
GraphQL generic list using interfaces
import graphene
import json
import sys
class Item(graphene.Interface):
id = graphene.String(required=True)
class PaginatedList(graphene.Interface):
@achimnol
achimnol / get-label.sh
Created January 22, 2019 06:56
Reading Docker image labels from registry
IMAGE=lablup/kernel-python
TAG=3.6-ubuntu18.04
TOKEN=$(curl -s "https://auth.docker.io/token?scope=repository:$IMAGE:pull&service=registry.docker.io" | jq -r .token)
CONFIG_DIGEST=$(curl -s -H"Accept: application/vnd.docker.distribution.manifest.v2+json" -H"Authorization: Bearer $TOKEN" "https://registry-1.docker.io/v2/$IMAGE/manifests/$TAG" | jq -r .config.digest)
RESULT=$(curl -sL -H"Authorization: Bearer $TOKEN" "https://registry-1.docker.io/v2/$IMAGE/blobs/$CONFIG_DIGEST" | jq -r .container_config.Labels)
echo $RESULT
@achimnol
achimnol / run-altdocker.sh
Created January 20, 2019 05:48
Running alternative Docker daemon on the same host
#! /bin/bash
# References:
# - https://stackoverflow.com/questions/32334167/is-it-possible-to-start-multiple-docker-daemons-on-the-same-machine
# - https://docs.docker.com/engine/reference/commandline/dockerd/
# First you need to have Docker 18.09+ and the bridge-utils package installed.
ROOT=/opt/altdocker
: ${bridge=altdocker0}
: ${base=$ROOT/$bridge}
@achimnol
achimnol / test.py
Last active January 10, 2018 09:35
async generator closing
import asyncio
import pytest
@pytest.mark.asyncio
async def test_close_asyncgen():
loop = asyncio.get_event_loop()
async def mygen():
print('mygen: 0-begin')
@achimnol
achimnol / example.py
Created October 28, 2017 06:45
async getitem with futures
import asyncio
class MyAsyncDict:
async def async_getitem(self, fut, key):
try:
await asyncio.sleep(0.5)
raise RuntimeError('oops')
except Exception as e: