Skip to content

Instantly share code, notes, and snippets.

@brainstorm
brainstorm / esc_motor_pseudo.c
Created September 5, 2018 10:26
ARDrone ESC motor pseudocode (with r2dec decompiler, pdd command)
#include <stdint.h>
#include <limits.h>
#define DISABLE_INTERRUPTS __asm(cli)
#define ENABLE_INTERRUPTS __asm(sei)
#define MEM_X ((uint16_t*)((r27 << 8) | r26))
#define MEM_Y ((uint16_t*)((r29 << 8) | r28))
#define MEM_Z ((uint16_t*)((r31 << 8) | r30))
@brainstorm
brainstorm / openscad_trolley.scad
Created March 25, 2018 11:00
OpenSCAD trolley fix for titan bags
/*
This is a titan bags (https://www.titan-bags.com/) custom part replacement. This piece goes inside the
"telescopic" handle bar after removing two screws. The mechanism is brittle and breaks with repeated
pressure to the main button, leading to an "always locked" position of the telescopic bars.
I've printed this part successfully with PETG 3D printing material via http://3dhubs.com.
*/
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@brainstorm
brainstorm / pcgr.service
Last active October 22, 2019 10:44
systemd with python3 virtualenv does not find modules
(venv) ubuntu@localhost:/etc/systemd/system$ sudo cat pcgr.service
[Unit]
Description=PCGR sample consumer process
After=network-online.target
[Service]
Type=simple
WorkingDirectory=/home/ubuntu
ExecStart=/mnt/pcgr/venv/bin/python3 /mnt/pcgr/pcgr_consumer.py pcgr ap-southeast-2 pcgr 10 10 /home/ubuntu
@brainstorm
brainstorm / jekyll_blogdown_migrate_posts.md
Created February 11, 2018 00:26
Fix posts metadata to migrate from Jekyll to Blogdown
#!/usr/bin/env python
import os
from pathlib import Path
import datetime
import frontmatter
posts_root = os.environ['HOME'] / Path('dev/brainblog/content/post')
for post in posts_root.iterdir():
@brainstorm
brainstorm / upload_glacier.sh
Created October 10, 2017 08:03
Glacier tests dirty script from icepick: https://github.com/leekew/icepick
#!/bin/bash
#"IcePick", orginally "gardnert/aws-glacier-multipart-upload"
#./icepick.sh [filename]
#defaults
#byteSize=4294967296 # MAX Glacier, 4GB?
#byteSize=104857600 # 100MB otherwise timeouts? wrooong, not power of 2 so glacier will not accept it
byteSize=134217728 # 128MB, power of two, sweet spot to reduce uploading timeouts
account="-"
vaultName="testvault"
box1$ cat speedtest-iperf
#!/bin/bash
IPERF=iperf3
IPERF_SERVER=7001
TEST_SECONDS=10
CLIENT_CMD="$IPERF -c localhost -p $IPERF_SERVER -d -t $TEST_SECONDS"
SERVER_CMD="$IPERF -1 -s -p $IPERF_SERVER"
@brainstorm
brainstorm / fix_osx_pcbnew_kicad_libs.sh
Created September 1, 2017 16:24
Fix KiCAD's pcbnew python scripting support for OSX
#!/bin/bash
# Inspired on: https://www.bountysource.com/issues/31269729-libwx_osx_cocoau-3-1-dylib-not-found
KICAD_LIBS_TOFIX="libwx_osx_cocoau_gl-3.0.0 libwx_osx_cocoau_adv-3.0.0 libwx_osx_cocoau_aui-3.0.0 libwx_osx_cocoau_adv-3.0.0 libwx_osx_cocoau_html-3.0.0 libwx_osx_cocoau_core-3.0.0 libwx_osx_cocoau_stc-3.0.0 libkicad_3dsg.2.0.0 libGLEW.2.0.0 libcairo.2 libpixman-1.0 libwx_baseu_net-3.0.0 libwx_baseu-3.0.0 libwx_baseu_xml-3.0.0"
#KICAD_LIBS_TOFIX=`find /Applications/Kicad/kicad.app/Contents/Frameworks/ -iname *.dylib | xargs otool -L | grep executable_path | awk '{print $1}' | awk -F'/' '{print $4}'`
for kicadlib in $KICAD_LIBS_TOFIX;
do
echo "Fixing ${kicadlib} broken path on pcbnew..."
@brainstorm
brainstorm / sigven_pcgr_pod.yml
Created May 18, 2017 16:59
Personal Cancer Genome Reporter Kubernetes pod deployment
apiVersion: v1
kind: Pod
metadata:
name: pod-pcgr
spec:
containers:
- name: pcgr
image: sigven/pcgr:0.3.4
#!/bin/sh
# Useless dock, cannot drive 2 monitors and LVDS at once :____(
# 2 invocations because the Intel graphics card can only handle two outputs at a time
xrandr -d :0.0 --output HDMI-2 --auto --primary --output LVDS-1
xrandr -d :0.0 --output HDMI-3 --auto --right-of HDMI-2