Skip to content

Instantly share code, notes, and snippets.

plugged in

e.g. magical unicorn lovelaced

plugged in
View GitHub Profile
lovelaced /
Last active December 29, 2022 21:46
find matrix users who don't use the google auth provider
# Print the usage of the script if the SERVER_URL or ADMIN_TOKEN arguments are not provided
if [ -z "$1" ] || [ -z "$2" ]; then
exit 1
# Get the SERVER_URL and ADMIN_TOKEN from the command line arguments
lovelaced /
Last active February 24, 2023 05:20
Best practices: administrate a Substrate-based chain

Best practices for maintaining & running substrate-based (para)chain (wip)

  • Ensure all of your systems are kept up-to-date, especially with security updates.
  • Ensure you can fully bootstrap a new system from scratch easily if needed.
  • Upload archive chain backups frequently. Potentially make these available to the community down the road.
  • Have database recovery methods in place.
  • Use infrastructure as code. Never modify anything manually on your servers.
  • Ensure you have a monitoring stack set up WITH alerts (alertmanager/grafana alerts/bots etc).
  • Keep alerts actionable, otherwise they become noise.
  • If a service crashes, make sure it automatically restarts in some way (via systemd or kubernetes).
v4l2-ctl --set-ctrl=exposure_auto=1
v4l2-ctl --set-ctrl=white_balance_temperature_auto=0
v4l2-ctl --set-ctrl=exposure_absolute=900
#v4l2-ctl --set-ctrl=contrast=26
v4l2-ctl --set-ctrl=white_balance_temperature=4900
lovelaced /
Last active September 10, 2020 19:51
Use the EZVIZ S6 as a wifi webcam

Using the EZVIZ S6 as a wifi webcam

I bought a cheap EZVIZ S6 "action cam" and wanted to use it as a recorded and/or livestreaming PoV cam.
Ideally, it would be available as a video capture device without an sd card and also a native Linux video device.

So I did it. Here's how you can do it:

Make sure you have a working wifi card and an ethernet connection (because your wifi card will have to connect to the camera, so you need to use ethernet for internet).

Download motion

View monitor.json
"version": "2.0",
"columns": 2,
"tiles": [
{"type": "PORT", "label": "Am I on fire?", "params": {"hostname": "", "port": 8080}},
{"type": "HTTP-STATUS", "label": "SSL certificate is valid", "params": { "url": "" }},
"type": "PING",
"label": "Localhost",
"params": { "hostname": "" }
lovelaced /
Last active June 15, 2020 20:35
Logging into matrix via curl
curl -XGET "https://$MATRIX_SERVER/_matrix/client/r0/login"
curl -XPOST -d '{"type":"m.login.password", "user":"$USER", "password":"$PASSWORD}' "https://$MATRIX_SERVER/_matrix/client/r0/login"
# Adjust homserver, room, and accesstoken to your particular setup
while true; do
lovelaced /
Last active August 31, 2019 13:48

All you need to do is create an image in GIMP which is 160x80 (the Freeside logo is exactly these dimensions when scaled down).

Export this image in RAW format with type BMP.

Add whatever you want to the image and the clock will appear in the top right and the "invisible" battery marker will be in the top right - it will turn black when semi-low and red when low.

Watch time can be set by pressing top right button (may need a long press if it doesn't work right away).

lovelaced /
Created July 17, 2018 22:29
get the URL of the last accessed (most recently loaded?) loaded tab in firefox
export opentabs=$(find ~/.mozilla/firefox*/*.default/sessionstore-backups/recovery.jsonlz4);
python3 <<< $'import os, json, lz4.block
f = open(os.environ["opentabs"], "rb")
magic =
jdata = json.loads(lz4.block.decompress("utf-8"))
last_recent = 0
for win in jdata.get("windows"):
for tab in win.get("tabs"):

Keybase proof

I hereby claim:

  • I am lovelaced on github.
  • I am valka ( on keybase.
  • I have a public key ASDQY41Yxoh__1AOC6PL5LmT-cIpBFRnEjdHn0vZGVxPoAo

To claim this, I am signing this object: