Skip to content

Instantly share code, notes, and snippets.

@EmberHeartshine
EmberHeartshine / aospgesture.md
Last active October 6, 2020 11:02
Enable Gesture Typing/Swype on AOSP Keyboard

This guide assumes you DO NOT have any Google apps installed, esp. Google Services Framework. If you already do, you may as well just install OpenGApps. I wrote this guide for MicroG LineageOS 17.1 (Android Q), but it should work on earlier editions of Android and other AOSP-based ROMs. Root is required. This guide assumes the user will be performing all of these tasks on the phone without the use of a desktop computer. This process will not survive a system update, so be sure to keep libjni_latinimegoogle.so around.

The idea behind this guide is for people who are more concerned about privacy and security than the complete, 100% use of FOSS. libjni_latinimegoogle.so is not FOSS.

  1. Disable AOSP keyboard (install something else like OpenBoard)
  2. Download OpenGApps Stock (or larger) for your device
  3. Extract /Options/swypelibs-lib-<arch>.tar.lz from the OpenGApps package
  4. Extract libjni_latinimegoogle.so from `swypelibs-lib-<ar
@EmberHeartshine
EmberHeartshine / solidgreen.txt
Last active April 26, 2021 17:15
MiX Theme - Solid Green
#eN_yrMi64yX8CRxAYHVOgaRLEKRfzwuGQ6GaCZb5kaxWRt_sy5p-2_XUk7TG8XvYQXi0Uon9ZlxqlXLKLDnmNy_exZ0gBFdps3mAp22Hw8CkUeb3VilLZjkkrFh0RwjWw_jNM8W3It93CDx2INwxUkucIhM9QFjxUfkzrPEncZDt6-VRrpGBw1FpzIHuN5-sQsqp5wAtRrqwgHRIm1JZnzJh0eRdLp7fM350qtvqQJ8gEQBBvPycfEu1jWzSgu41DOOXKS_BzRGclJnQij8q5FOM4CNmoHtTZuDlXMda3EsVympt2uHGFq5PKN5L5Brl3xIa_H84QYiQx9lam0SNOlqEiS57QPpLMO34CII3izQ4hkS25PcOGJkOFsgwOsDFHZ2bKF0_6ghraszH37ZHPDreAyFGWQznYQO9HhpYFYvDqySOaF7Vb1ytPW3LvlRh9gAcNyU4q6y0JOCGmt_zyKbzMu0umbeFdkRPTOGK_BpCJGkjusXa7VHGobHt2Bba1ZbHFw_ZQ_l0JzEntf_BbNb2rOCjkwPXeQsZ-kt8OpZtJOUTNL75ECtXfrPnYmdtULaQfBXfgWYsxKh0tW8uhJ-twgYc3X79zGyQRlw81GtI7OHrdAelroHs9MATq20KRKka-h-8LQp3jRphdyjJ5Tjrc-V92yuslgi8DqhhEUN3TjaMEs8OqI-KyPvLvc6DSxInNOcoEqgOWELmOUnL_RdJXxBwFtDJYz2KlANIDEr8s5EurowLx-y8dGs0dYsFnOehOB6_Q4GxWMkZb67oMiGtTBMOHIhQdm8ZOWmhUfpZm58Bc8fei6G_NAYkuP2X
@EmberHeartshine
EmberHeartshine / cf-gh-dns-apex.sh
Last active April 18, 2022 13:12
Allow Github Pages to refresh the Letseyncrypt SSL cert and re-enable Cloudflare's cache configuration. (For apex-level domains)
#!/bin/bash
APITOKEN="none"
if [ ! $1 ]; then
echo -e "Usage:\n\t"$0" <zone>"
elif [ $APITOKEN == "none" ]; then
echo -e "Required configuration not found.\n\tAPI Token:\t"$APITOKEN
else
ZONEREC=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name="$1 -H "Authorization: Bearer "$APITOKEN -H "Content-Type:application/json")
@EmberHeartshine
EmberHeartshine / cf-gh-dns-sub.sh
Created April 18, 2022 13:08
Allow Github Pages to refresh the Letseyncrypt SSL cert and re-enable Cloudflare's cache configuration. (For subdomains)
#!/bin/bash
APITOKEN="none"
if [ ! $1 ] || [ ! $2 ]; then
echo -e "Usage:\n\t"$0" <subdomain> <zone>"
elif [ $APITOKEN == "none" ]; then
echo -e "Required configuration not found.\n\tAPI Token:\t"$APITOKEN
else
ZONEREC=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name="$2 -H "Authorization: Bearer "$APITOKEN -H "Content-Type:application/json")

Deck Knights (placeholder name)

A pseudo-TTRPG thrown together in a few hours as a joke that I actually ended up kinda liking (thanks twitter/@husbandgeek for the idea) by Ember Heartshine

(I might actually take this, simplify the rules that are deliberately obtuse, and remove the "marketing" section to make an actual game out of this... Creative Commons the cards and distribute via free PDF download with a POD option? Must explore further)

Mechanical Concept

  • Character stats, traits, attributes, etc. are determined using cards available to the player
  • Challenge resolution: d6 + specialty die? (borrow SWADE's TN system y/n? Something to think about)
@EmberHeartshine
EmberHeartshine / birdsite_mirror.sh
Last active February 2, 2023 17:05
Simple Bash script to mirror any Twitter account to a Mastodon account you control.
#!/bin/bash
# birdsite_mirror.sh
# Copyright (c) 2023 Ember Heartshine
#Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON

foundryvtt-afraid.org is down until further notice.

I originally registered this domain and placed it on Afraid.org's freeDNS because I wanted to give people a free way to host their Foundry VTT games without needing to share their own IP addresses. Unfortunately, some bad actors have registered several subdomains for phishing purposes (looking at you, IP addresses 5.161.68.227 and 38.175.196.242).

If you were using a subdomain for legitimate purposes, please leave a comment on this Gist and I'll try to help you out. I can set up an entry just for you.

I'm really sorry this didn't work out. I wish it had.

This domain will expire 27 Feb, 2027.

Blower fan standard sizes

I couldn't find a list anywhere explaining this, so here you go. The simplest way to parse these numbers is to remember that the first two digits is the width of the unit (not the diameter of the fan) and the second two digits is the depth of the unit. For example, a 5015 fan is 50mm wide by 15mm deep. Note that there are some non-standard sizes available, like the 6025.

  • 3010
  • 4020
  • 5015 (used a LOT for 3D printer cooling)
  • 6028
  • 7530
  • 9733 (standard size for BBQ blowers)