View leihlokal_product_descriptions_fix.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# before: https://anchr.io/i/1NQ3x.png | |
# after: https://anchr.io/i/iMkiK.png | |
# script is interactive | |
# it will first fetch all broken products and then ask you for confirmation before actually updating them | |
import re | |
import sys | |
from typing import Tuple, Set, List, Any, Dict | |
import requests |
View current_power.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import time | |
if __name__ == '__main__': | |
while True: | |
with open('/sys/class/power_supply/BAT0/current_now', 'r') as f: | |
current = float(f.readline().strip()) | |
with open('/sys/class/power_supply/BAT0/voltage_now', 'r') as f: | |
voltage = float(f.readline().strip()) | |
print(f'{current * voltage / 1000000000000} W', end='\r') |
View webdav-fileserver.caddyfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
http://localhost:8080 { | |
@get method GET | |
@propfind method PROPFIND | |
root * /tmp/data | |
# TODO: add basic auth for DELETE, PROPPATCH, LOCK, etc. | |
# TODO: add matchers so uploaded file keys must be uuids | |
route { |
View rclone_sync.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Script that will trigger a local to remote sync when any changes below your local Google Drive folder occur - but at max. every 10 minutes - and a remote to local sync every x (e.g. 30 minutes) via a cron job. | |
0. Install rclone and configure it for Google Drive | |
1. Create files listed below | |
2. Configure rclone_watch_local.sh to be run on startup (e.g. using a systemd service unit) | |
3. Add a cron job that runs rclone_remote2local.sh every x (e.g. 30) minutes | |
---------------------- | |
rclone_local2remote.sh | |
---------------------- |
View shelly_wifi_reconnect.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Reboot after 5 minutes of disconnect | |
let wait_sec = 30; | |
let retries = 10; | |
let c = 0; | |
let timer = Timer.set(wait_sec * 1000, true, function () { | |
Shelly.call('WiFi.GetStatus', null, function (result, error_code) { | |
if (result.status !== 'got ip') { | |
if (c++ < retries) { | |
print('wifi not connected, waiting another', (retries - c) * wait_sec, 'seconds until reboot'); |
View main.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# run with gunicorn: | |
# gunicorn --preload --workers 4 --worker-class=uvicorn.workers.UvicornWorker app.main:app | |
# ('preload' is the important bit here) | |
# alternatively, set GUNICORN_CMD_ARGS='--preload' | |
import ctypes | |
import multiprocessing as mp | |
from fastapi import FastAPI |
View qcartpole_gridsearch.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import time | |
import multiprocessing | |
import numpy as np | |
from sklearn.model_selection import ParameterGrid | |
import qcartpole | |
N_RUNS = 10 | |
grid_params = { |
View track.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$data = file_get_contents('php://input'); | |
$json = json_decode($data); | |
header("Content-type: application/json"); | |
if ($json->_type !== 'location') { | |
return; | |
} |
View mouse_tracker.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
# TODO: https://stackoverflow.com/a/58840987/3112139 | |
import os | |
import stat | |
import time | |
import logging | |
import asyncio | |
from dataclasses import dataclass |
View dqn_cartpole.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Inspired by https://keon.io/deep-q-learning/ | |
import random | |
import gym | |
import math | |
import numpy as np | |
from collections import deque | |
from keras.models import Sequential | |
from keras.layers import Dense | |
from keras.optimizers import Adam |
NewerOlder