Skip to content

Instantly share code, notes, and snippets.

View onjin's full-sized avatar

Marek Wywiał onjin

View GitHub Profile
@onjin
onjin / docker-compose.yml
Created September 5, 2016 09:17
example docker compose for postgresql with db init script
postgres:
image: postgres:9.4
volumes:
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
@onjin
onjin / supervised_workers.py
Created April 2, 2024 11:47
supervised async python workers
import asyncio
import argparse
import random
from typing import Any
async def worker(name: str, queue: asyncio.Queue[str], stop_event: asyncio.Event):
while not stop_event.is_set() or not queue.empty():
try:
# Try to get an item from the queue without indefinitely blocking
try:
@onjin
onjin / creator_producers_consumers_async.py
Created March 15, 2024 08:17
example creator/producers/consumers async patter - reusable
import asyncio
import httpx
from typing import Callable, List, Any
from rich.console import Console
console = Console()
async def producer(
@onjin
onjin / changelog.py
Last active October 25, 2023 09:57
changelog.md generate from conventional commits git log
#!/usr/bin/env python
# NOTE: use newer & fixed version as package: https://pypi.org/project/mkchangelog/
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import argparse
import json
import logging
import os
import re
@onjin
onjin / errors.txt
Created July 31, 2023 13:04 — forked from benjaminoakes/errors.txt
BeOS (NetPositive) haiku error messages
Not a pretty sight
When the web dies screaming loud
The site is not found.
Morning and sorrow
404 not with us now
Lost to paradise.
@onjin
onjin / set_wallpaper.sh
Last active July 27, 2023 11:20
set wallpaper by url | directory | file, using hyprpaper | feh | betterlockcreen | print - random or last used
#!/bin/bash
## ---------------------------------------------------------------------------------- ##
## Sets random image as wallpaper, trying remote url, local folder and fallback ##
## image. Then using executor like hyprpaper, feh, betterlockscreen or just prints ##
## found image to the output. ##
## ---------------------------------------------------------------------------------- ##
## https://gist.github.com/onjin/411d7f9c6ebcaf66aa75abe6941bea55
## ---------------------------------------------------------------------------------- ##
## Example usage
@onjin
onjin / docker-compose.yml
Created June 29, 2020 21:38
sentry /traefik / docker-compose
version: '3'
services:
sentry:
image: 'sentry:latest'
command: start
networks:
- sentry
- traefik-public
depends_on:
- redis
@onjin
onjin / obsidian-web-clipper.js
Last active April 20, 2023 21:22 — forked from kepano/obsidian-web-clipper.js
Obsidian Web Clipper Bookmarklet to save articles and pages from the web (for Safari, Chrome, Firefox, and mobile browsers)
javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), import('https://unpkg.com/@tehshrike/readability@0.2.0'), ]).then(async ([{
default: Turndown
}, {
default: Readability
}]) => {
/* Optional vault name */
const vault = "";
/* Optional folder name such as "Clippings/" */
@onjin
onjin / typing_decorator.py
Created October 21, 2020 09:25
python typing decorators
from typing import Any, Callable, TypeVar, cast
F = TypeVar('F', bound=Callable[..., Any])
# A decorator that preserves the signature.
def my_decorator(func: F) -> F:
def wrapper(*args, **kwargs):
print("Calling", func)
return func(*args, **kwargs)
@onjin
onjin / advent.py
Last active December 3, 2022 23:07
advent of code executor
#!/usr/bin/env python
"""
Example layout
2022/01/input_test.txt
2022/01/input_prod.txt
2022/01/code.py
Example code.py:
def phase_1(input: List[str]) -> Any:
# lines have '\n' at end