Skip to content

Instantly share code, notes, and snippets.

View alan707's full-sized avatar

Alan Mond alan707

View GitHub Profile
@alan707
alan707 / rebase_branches.sh
Last active April 6, 2023 21:00
Rebase branch names on top of develop
#!/bin/bash
usage() {
echo "Usage: $0 [branch1 branch2 branch3 ...] or $0 [branches.txt]"
echo "Arguments:"
echo " branch1 branch2 branch3 ... : A list of branch names separated by spaces"
echo " branches.txt : A text file containing branch names, one per line"
echo "Rebases the specified branches on top of the 'develop' branch and asks for confirmation to force push them to the origin."
}
@alan707
alan707 / can_bridge.py
Last active December 21, 2020 04:08
Simple Python CAN Bridge (a.k.a CAN Gateway)
import can
from time import sleep
can_bus_a = can.Bus('can0', bustype='socketcan')
can_bus_b = can.Bus('can1', bustype='socketcan')
try:
for message in can_bus_a:
can_bus_b.send(message)
@alan707
alan707 / output.sh
Created June 24, 2018 20:39
odrivetool crashed out
In [3]: quit()
^CException ignored in: <module 'threading' from '/usr/lib/python3.5/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 1288, in _shutdown
t.join()
File "/usr/lib/python3.5/threading.py", line 1054, in join
self._wait_for_tstate_lock()
File "/usr/lib/python3.5/threading.py", line 1070, in _wait_for_tstate_lock
elif lock.acquire(block, timeout):
@alan707
alan707 / GIF-Screencast-OSX.md
Last active April 1, 2018 00:27 — forked from dergachev/GIF-Screencast-OSX.md
OS X Screencast to animated GIF

OS X Screencast to animated GIF

This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.

Screencapture GIF

Instructions

To capture the video (filesize: 19MB), using the free "QuickTime Player" application:

@alan707
alan707 / review_and_clean_up.sh
Last active October 30, 2017 03:07
List all human readable directories greater than 1GB in Linux
#! /usr/bin/env bash
# Find out which directories have high disk utilization:
sudo du -a -h -d 5 -t 1GB /
# Clean up dead and exited containers:
docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v
# Remove dangling files from docker
docker volume ls -qf dangling=true | xargs -r docker volume rm
#include "blynk/blynk.h"
#include "RelayShield/RelayShield.h"
#include "clickButton/clickButton.h"
SYSTEM_THREAD(ENABLED);
RelayShield myRelays;
int relayOn(String command);
int relayOff(String command);
@alan707
alan707 / cansniffer_man.c
Created April 23, 2017 19:18
cansniffer command options to read CAN frames using can-utils
const char manual [] = {
"commands that can be entered at runtime:\n"
"\n"
"q<ENTER> - quit\n"
"b<ENTER> - toggle binary / HEX-ASCII output\n"
"B<ENTER> - toggle binary with gap / HEX-ASCII output (exceeds 80 chars!)\n"
"c<ENTER> - toggle color mode\n"
"#<ENTER> - notch currently marked/changed bits (can be used repeatedly)\n"
"*<ENTER> - clear notched marked\n"
"rMYNAME<ENTER> - read settings file (filter/notch)\n"
/* ======================= includes ================================= */
#include "blynk/blynk.h"
#include "clickButton/clickButton.h"
#include "application.h"
#include "neopixel/neopixel.h" // use for Build IDE
// #include "neopixel.h" // use for local build
/* ======================= variables =============================== */
SENT: G29 V4
READ: echo:busy: processing
busy: processing
SENT: M105
READ: echo:busy: processing
busy: processing
SENT: M105
READ: echo:busy: processing
busy: processing
SENT: M105
/*
* This is a RGB+W NeoPixel example, see extra-examples.cpp for a version
* with more explantory documentation, example routines, how to
* hook up your pixels and all of the pixel types that are supported.
*
*/
/* ======================= includes ================================= */