Skip to content

Instantly share code, notes, and snippets.

@rcarmo
rcarmo / enphase_average.5m.py
Created October 11, 2024 07:11 — forked from jasonsnell/enphase_average.5m.py
Enphase Envoy Local Data - SwiftBar Menu Bar Script
#! /usr/bin/env python3
# Adapted from [email protected]
# see https://github.com/grzegorz914/homebridge-enphase-envoy
# <xbar.title>Enphase Solar (Averages)</bitbar.title>
# <xbar.version>v1.2</xbar.version>
# <xbar.author>Jason Snell</xbar.author>
# <xbar.author.github>jasonsnell</xbar.author.github>
# <xbar.desc>Display local Enphase solar stats.</xbar.desc>
# <swiftbar.hideAbout>true</swiftbar.hideAbout>
@rcarmo
rcarmo / mirror-releases.py
Created October 1, 2024 19:03
GitHub Release Backup Script
# Use this with a slow cron - I had mine set to run every 24 bours and keep copies of the last 5 releases
from os import environ, listdir, makedirs
from os.path import join, exists, getmtime, isdir
from shutil import rmtree
from json import loads
from asyncio import run, create_task, sleep, create_subprocess_shell
from asyncio.subprocess import PIPE, STDOUT
from aiohttp import ClientSession
from logging import basicConfig, INFO, DEBUG, WARNING, getLogger
@rcarmo
rcarmo / synthy-balls.py
Created August 23, 2024 10:25 — forked from todbot/synthy-balls.py
use rotary encoder to launch balls that play notes when bouncing in CircuitPython
# synthy-balls.py -- use rotary encoder to launch balls that play notes when bouncing
# 20 Aug 2024 - @todbot / Tod Kurt
# video demo: https://youtu.be/cCTPtk6KQQk
import time, random, math
import board
import busio, displayio, terminalio
import rotaryio, keypad
import audiobusio, audiocore, audiomixer, synthio
import gc9a01
#from adafruit_display_text import bitmap_label as label
@rcarmo
rcarmo / automator.py
Last active July 8, 2024 13:56
macOS Services in the style of NotesOllama
# Drop this into Automator using Python 3 as the shell
from sys import stdin
from json import dumps, loads
from urllib.parse import urlencode
from urllib.request import Request, urlopen
AZURE_ENDPOINT="getyourowndeployment.openai.azure.com"
OPENAI_API_KEY="getyourownkey"
OPENAI_API_VERSION="2023-05-15"
@rcarmo
rcarmo / grub_linux_manual.py
Created July 19, 2023 07:42 — forked from rversteegen/grub_linux_manual.py
My GRUB linux boot entry generation script
#!/usr/bin/env python3
#exec tail -n +3 $0
# Be careful not to change
# the 'exec tail' line above.
# This script lives in /etc/grub.d/
# 2015,2022 Ralph Versteegen
# The menuentry template was orginally generated by /etc/grub.d/10_linux
@rcarmo
rcarmo / buid-xrdp-glamor-annotated.sh
Last active November 8, 2024 08:11 — forked from rkkoszewski/gist:aa531cee7126edf329b76bdd0546f502
Notes for installing XorgXrdp and Xrdp with GLAMOR support
#!/bin/bash
# Install Latest XRDP with XORGXRDP and GFX/Glamor server-side acceleration
# Tested on Ubuntu 22.04 LTS
BUILD_DIR=/tmp/xrdpbuild
echo "-> preparing $BUILD_DIR"
rm -f -r $BUILD_DIR
mkdir -p $BUILD_DIR
@rcarmo
rcarmo / 55-bytes-of-css.md
Created September 25, 2022 17:40 — forked from JoeyBurzynski/55-bytes-of-css.md
58 bytes of css to look great nearly everywhere

58 bytes of CSS to look great nearly everywhere

When making this website, i wanted a simple, reasonable way to make it look good on most displays. Not counting any minimization techniques, the following 58 bytes worked well for me:

main {
  max-width: 38rem;
  padding: 2rem;
  margin: auto;
}
@rcarmo
rcarmo / .phoenix.js
Created December 10, 2021 18:24
Phoenix configuration
// ********************************************************************************
// Setup and TODO
// ********************************************************************************
Phoenix.set({
daemon: false,
openAtLogin: true
});
/*
@rcarmo
rcarmo / __init__.py
Created October 20, 2021 08:04
Azure Blob Storage Tiering for Synology Backups:
import datetime
from typing import Iterator
from requests import Session, Response
from base64 import b64encode, b64decode
from datetime import datetime, timedelta, timezone
from email.utils import formatdate, parsedate_to_datetime
from hashlib import sha256, md5
from hmac import HMAC
from lxml.etree import Element, tostring, fromstring, iterwalk
from os import environ
@rcarmo
rcarmo / tiling.js
Created June 7, 2021 15:34
Phoenix tiling snippet
// Stub of my .phoenix.js with basic XMonad-like tiling
// Amethyst bindings
Key.on("return", ["shift", "control", "option"], () => tile_windows(WEST));
Key.on("return", ["shift", "control"], () => retile());
Key.on("j", ["shift", "control"], () => rotate(-1, false));
Key.on("j", ["shift", "control", "option"], () => rotate(-1, true));
Key.on("k", ["shift", "control"], () => rotate(1, false));
Key.on("k", ["shift", "control", "option"], () => rotate(1, true));