Skip to content

Instantly share code, notes, and snippets.

@sloppycoder
sloppycoder / batt.py
Last active August 3, 2025 14:28
Raspberry PI Compute Module 4 with Wavesahre CM4-POE-UPS board setup
#! /usr/bin/python3
# sudo apt install -y python3-smbus
import smbus
import time
# Config Register (R/W)
_REG_CONFIG = 0x00
# SHUNT VOLTAGE REGISTER (R)
@akkornel
akkornel / id_token_demo.py
Created July 13, 2021 04:11
A Python 3.6+ script showing how to get an OpenID Connect Token from Google Auth, and comparing the one you get with your own OAuth2 client ID against the one you get with the Google Cloud SDK OAuth2 client ID
#!/usr/bin/env python3
# vim: ts=4 sw=4 et
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
# This was written by A. Karl Kornel <akkornel@stanford.edu>
# It is © The Board of Trustees of the Leleand Stanford Junior University
# It is made available under the MIT License
# https://opensource.org/licenses/MIT
@crysxd
crysxd / README.md
Last active August 3, 2025 15:14
Syncing Cura Settings & Profiles Accross multiple devices

Syncing Cura Settings & Profiles Accross multiple devices

I use multiple devices to control my 3D printer and it's alwys a hassle to move changes on profiles etc. between those machines leading to situations where I use an old version of my profiles to print a part because I just forgot to update it.

Here is how you can sync Cura settings between multiple devices:

  1. Setup Google Drive / OneDrive / Dropbox on every machine you want to sync the Cura settings on
  2. Go to the following location and copy the folder called cura to any convinient location inside your Google Drive / OneDrive / Dropbox folder. You can also rename the folder form cura to somthing else, I called mine Cura Settings.
  • Windows: %userprofile%\AppData\Roaming\cura
@manuelbl
manuelbl / README.md
Created August 3, 2019 09:12
ESP32 as Bluetooth Keyboard

ESP32 as Bluetooth Keyboard

With its built-in Bluetooth capabilities, the ESP32 can act as a Bluetooth keyboard. The below code is a minimal example of how to achieve it. It will generate the key strokes for a message whenever a button attached to the ESP32 is pressed.

For the example setup, a momentary button should be connected to pin 2 and to ground. Pin 2 will be configured as an input with pull-up.

In order to receive the message, add the ESP32 as a Bluetooth keyboard of your computer or mobile phone:

  1. Go to your computers/phones settings
  2. Ensure Bluetooth is turned on
@lukicdarkoo
lukicdarkoo / configure.sh
Last active June 18, 2025 18:05
Raspberry Pi: AP + client mode
#!/bin/sh
# The script configures simultaneous AP and Managed Mode Wifi on Raspberry Pi Zero W (should also work on Raspberry Pi 3)
# Usage: curl https://gist.githubusercontent.com/lukicdarkoo/6b92d182d37d0a10400060d8344f86e4/raw | sh -s WifiSSID WifiPass APSSID APPass
# Licence: GPLv3
# Author: Darko Lukic <lukicdarkoo@gmail.com>
# Special thanks to: https://albeec13.github.io/2017/09/26/raspberry-pi-zero-w-simultaneous-ap-and-managed-mode-wifi/
MAC_ADDRESS="$(cat /sys/class/net/wlan0/address)"
CLIENT_SSID="${1}"
CLIENT_PASSPHRASE="${2}"
@Jamesits
Jamesits / high-frequency-square-wave-generator-esp8266.ino
Last active December 9, 2024 15:17
High-accuracy square wave generator (up to 250KHz) based on ESP8266, with runtime adjustable frequency, PWM width and offset.
// High-accuracy square wave generator
// based on ESP8266
// with runtime adjustable frequency, PWM width and offset
// Output wave at pin 5 (configurable from 0 to 15, but not 16)
// by James Swineson <github@public.swineson.me>, 2017-10
// https://gist.github.com/Jamesits/92394675c0fe786467b26f90e95d3904
// See https://blog.swineson.me/implementation-of-6mbps-high-speed-io-on-esp8266-arduino-ide/
// for more information (article in Chinese)
// Arduino UNO version: https://gist.github.com/Jamesits/8d164818946a65d0cafcd6203e3e5049
@kylemcdonald
kylemcdonald / matplotlib Border Removal.ipynb
Last active May 9, 2025 15:16
How to (mostly) remove all borders and padding with matplotlib.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@brantwedel
brantwedel / select-all.js
Created March 20, 2017 16:05
Script for adding select-all functionality to jscut.org using tampermonkey.net browser plugin
// ==UserScript==
// @name JSCUT Select All
// @namespace http://bitbased.net/
// @version 0.1
// @description Add double click select all to jscut.org
// @author Brant Wedel - bitbased.net
// @match http://jscut.org/jscut.html
// @grant none
// ==/UserScript==
@roadrunner2
roadrunner2 / 0 Linux-On-MBP-Late-2016.md
Last active December 4, 2025 01:35
Linux on MacBook Pro Late 2016 and Mid 2017 (with Touchbar)

Introduction

This is about documenting getting Linux running on the late 2016 and mid 2017 MPB's; the focus is mostly on the MacBookPro13,3 and MacBookPro14,3 (15inch models), but I try to make it relevant and provide information for MacBookPro13,1, MacBookPro13,2, MacBookPro14,1, and MacBookPro14,2 (13inch models) too. I'm currently using Fedora 27, but most the things should be valid for other recent distros even if the details differ. The kernel version is 4.14.x (after latest update).

The state of linux on the MBP (with particular focus on MacBookPro13,2) is also being tracked on https://github.com/Dunedan/mbp-2016-linux . And for Ubuntu users there are a couple tutorials (here and here) focused on that distro and the MacBook.

Note: For those who have followed these instructions ealier, and in particular for those who have had problems with the custom DSDT, modifying the DSDT is not necessary anymore - se

@JoaquimLey
JoaquimLey / github_multiple-accounts.md
Last active December 26, 2024 06:16
How to Work with GitHub and Multiple Accounts

Step 1 - Create a New SSH Key

We need to generate a unique SSH key for our second GitHub account.

ssh-keygen -t rsa -C "your-email-address"

Be careful that you don't over-write your existing key for your personal account. Instead, when prompted, save the file as id_rsa_COMPANY. In my case, I've saved the file to ~/.ssh/id_rsa_work.

Step 2 - Attach the New Key