- Neil Gresham's Climbing Masterclass (32-part series)
- REI's Rock Climbing series (articles) - https://www.rei.com/learn/c/rock-climbing
- Team BMC
- Indoor Climbing - https://www.youtube.com/playlist?list=PLTodUXkQjZwyerKDXT9qrA4bTeQ6aJ3wu
- Sport Climbing - https://www.youtube.com/playlist?list=PLTodUXkQjZww17nrNYQiG0fpiTTZPBpsN
This file contains hidden or 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
# This script automatically handles Syncthing conflicts on text files by applying a | |
# git three-way merge between the previously synced version and each divergent version. | |
# It depends on the watchdog package and git. | |
# For automatic dependency installation when running with ´uv run --script deconflicter.py´: | |
# /// script | |
# requires-python = ">=3.10" | |
# dependencies = [ | |
# "watchdog", |
This file contains hidden or 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 ssl, sys, json, base64 | |
import paho.mqtt.client, msgpack, influxdb_client | |
from influxdb_client import InfluxDBClient, Point | |
from influxdb_client.client.write_api import SYNCHRONOUS | |
ufire_server = "" | |
mqtt_port = 8883 | |
mqtt_username = "" | |
mqtt_password = "" | |
influx_bucket = "" |
On low memory devices like the arduino and esp8266 you do not want strings to be stored in RAM. This occurs by default on these systems. Declare a string const char * xyz = "this is a string"
and it will use up RAM.
The solution on these devices is to allow strings to be stored in read only memory, in Arduino this is the PROGMEM macro. Most of my experience is with the ESP8266 which is a 32bit micros controller. This device stores PROGMEM data in flash. The macro PROGMEM on ESP8266 is simply
#define PROGMEM ICACHE_RODATA_ATTR