Skip to content

Instantly share code, notes, and snippets.

View onjin's full-sized avatar

Marek Wywiał onjin

View GitHub Profile
@onjin
onjin / pydispatcher_demo.py
Created May 6, 2014 13:30
pydispatcher demo
#!/usr/bin/env python
# encoding: utf-8
"""
pydispatcher demo
requirements: pip install pydispatcher
"""
@onjin
onjin / mkchangelog
Created March 7, 2014 07:41
Script creates CHANGELOG.txt according to current git tags.
#!/bin/bash
#
# usage: ./mkchangelog
#
# author: Marek Wywiał <onjinx@gmail.com>
#
# description: Script creates CHANGELOG.txt according to current git tags. Also
# supports commits without tags (git log HEAD...first_tag).
# Lines starting with 'Merge' will be skipped.
# Remember to add 'include CHANGELOG.txt' into your MANIFEST.in if
@onjin
onjin / python_typed_decorator.py
Created July 13, 2022 12:09
Python typed decorator
RT = TypeVar('RT') # return type
def inject_user() -> Callable[[Callable[..., RT]], Callable[..., RT]]:
def decorator(func: Callable[..., RT]) -> Callable[..., RT]:
def wrapper(*args, **kwargs) -> RT:
# ...
@onjin
onjin / renew_env.sh
Last active December 23, 2021 14:16
#!/usr/bin/env bash
set -eu
pane_fmt="#{pane_id} #{pane_in_mode} #{pane_input_off} #{pane_dead} #{pane_current_command}"
tmux list-panes -s -F "$pane_fmt" | awk '
$2 == 0 && $3 == 0 && $4 == 0 && $5 ~ /(bash|zsh|ksh|fish)/ { print $1 }
' | while read -r pane_id; do
# renew environment variables according to update-environment tmux option
# also clear screen
@onjin
onjin / create-k3d-cluster-with-registry.sh
Created October 30, 2021 14:14
create k3d/k3s cluster with registry
k3d registry create myregistry.localhost --port 5555
k3d cluster create local --registry-use k3d-myregistry.localhost:5555
@onjin
onjin / update-nvim.sh
Created September 10, 2021 07:24
update nvim nightly bash script
update-nvim () {
target=${1:-nightly}
tmp_bin=/tmp/nvim.appimage.${target}
previous=$(nvim --version|grep '^NVIM')
url="https://github.com/neovim/neovim/releases/download/${target}/nvim.appimage"
echo "[update-nvim] target version ${target}"
echo "[update-nvim] current version ${previous}"
echo "[update-nvim] downloading file ${url}"
curl --output ${tmp_bin} --silent -L ${url}
file_type=$(file ${tmp_bin})
@onjin
onjin / enable_zoom_at_apt.sh
Created July 29, 2021 08:05
install/upgrade zoom by apt
#!/bin/bash
url=https://zoom.us/client/latest/zoom_amd64.deb
debdir=/usr/local/zoomdebs
aptconf=/etc/apt/apt.conf.d/100update_zoom
sourcelist=/etc/apt/sources.list.d/zoomdebs.list
sudo mkdir -p $debdir
( echo 'APT::Update::Pre-Invoke {"cd '$debdir' && wget -qN '$url' && apt-ftparchive packages . > Packages && apt-ftparchive release . > Release";};' | sudo tee $aptconf
echo 'deb [trusted=yes lang=none] file:'$debdir' ./' | sudo tee $sourcelist
{
"title": "Syslog",
"services": {
"query": {
"list": {
"0": {
"query": "severity=info",
"alias": "",
"color": "#7EB26D",
"id": 0,

Keybase proof

I hereby claim:

  • I am onjin on github.
  • I am onjin (https://keybase.io/onjin) on keybase.
  • I have a public key ASCwD1OeHWmiu_hIv3OxMq8D2bUMqYLzdO_e5x-8mCINTgo

To claim this, I am signing this object:

@onjin
onjin / fastapi_with_django.py
Created April 22, 2021 19:19
Use django with fastapi - python
import os
from importlib.util import find_spec
from configurations.wsgi import get_wsgi_application
from fastapi import FastAPI
from fastapi.middleware.wsgi import WSGIMiddleware
from fastapi.staticfiles import StaticFiles
from api import router