Skip to content

Instantly share code, notes, and snippets.

View guenp's full-sized avatar

Guen Prawiroatmodjo guenp

View GitHub Profile
@guenp
guenp / message.hpp
Created September 27, 2017 18:12 — forked from mashiro/message.hpp
zeromq + msgpack
#include <string>
#include <ctime>
#include <msgpack.hpp>
struct message
{
std::string tag;
std::time_t time;
std::string text;
MSGPACK_DEFINE(tag, time, text);
@guenp
guenp / pyenv.sh
Created October 19, 2017 17:43 — forked from stevenheidel/pyenv.sh
Using pyenv
# INSTALLATION
# Step 1: Install pyenv
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
# This will output some instructions to add a few lines to
# your ~/.bash_profile file. Once you've done that
# then open a new terminal window to continue.
# Step 2: Install some versions of Python
# This will take a few minutes
# d.d. 07/18/2016
__author__ = "Guen Prawiroatmodjo <http://github.com/guenp>"
import peakutils
from pylab import *
import colorgraphs as g
def get_matrix(d,series,sweeplen):
return series[:len(d)-(len(d)%sweeplen)].reshape(np.floor(len(d))/sweeplen,sweeplen)
@guenp
guenp / design_docke_template.md
Last active October 22, 2018 19:18
Design Doc Template

Design Doc Title

Stakeholders

List stakeholders for project/feature.

Role Person
Dev Owner
Other Dev 1 (Engine)
@guenp
guenp / nginxproxy.md
Created December 21, 2018 22:49 — forked from soheilhy/nginxproxy.md
How to proxy web apps using nginx?

Virtual Hosts on nginx (CSC309)

When hosting our web applications, we often have one public IP address (i.e., an IP address visible to the outside world) using which we want to host multiple web apps. For example, one may wants to host three different web apps respectively for example1.com, example2.com, and example1.com/images on the same machine using a single IP address.

How can we do that? Well, the good news is Internet browsers

@guenp
guenp / timed_cache.py
Created January 7, 2019 21:00 — forked from Morreski/timed_cache.py
Python lru_cache with timeout
from datetime import datetime, timedelta
import functools
def timed_cache(**timedelta_kwargs):
def _wrapper(f):
update_delta = timedelta(**timedelta_kwargs)
next_update = datetime.utcnow() - update_delta
# Apply @lru_cache to f with no cache size limit
@guenp
guenp / nginx.conf
Created January 11, 2019 01:54 — forked from zonca/nginx.conf
Jupyterhub NGINX reverse proxy with SSL, replace HOSTNAME with a hostname or _
ser www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
@guenp
guenp / Makefile
Created January 30, 2019 18:58 — forked from mpneuried/Makefile
Simple Makefile to build, run, tag and publish a docker containier to AWS-ECR
# import config.
# You can change the default config with `make cnf="config_special.env" build`
cnf ?= config.env
include $(cnf)
export $(shell sed 's/=.*//' $(cnf))
# import deploy config
# You can change the default deploy config with `make cnf="deploy_special.env" release`
dpl ?= deploy.env
include $(dpl)
@guenp
guenp / simple_args_parsing.sh
Created May 25, 2019 00:25 — forked from jehiah/simple_args_parsing.sh
a simple way to parse shell script arguments
#!/bin/sh
#
# a simple way to parse shell script arguments
#
# please edit and use to your hearts content
#
ENVIRONMENT="dev"
@guenp
guenp / Dockerfile.ssh
Created April 1, 2020 03:48
Docker container with SSH for remote PyCharm interpreter
RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
ARG DOCKER_SSH_PASS
RUN echo "root:${DOCKER_SSH_PASS}" | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd