Skip to content

Instantly share code, notes, and snippets.

Richard Banasiak banasiak

View GitHub Profile
@banasiak
banasiak / cheerlights.py
Last active Nov 23, 2019
A python script that polls the CheerLights API and sets the LEDs of a Blinkt! hat.
View cheerlights.py
# curl https://get.pimoroni.com/blinkt | bash
import blinkt
import requests
from collections import deque
from requests.adapters import HTTPAdapter
from requests.exceptions import ConnectionError
from sys import exit
from time import sleep
View pepperbot2.py
# pip3 install RPI.GPIO
# pip3 install adafruit-circuitpython-ads1x15
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
import RPi.GPIO as GPIO
from adafruit_ads1x15.analog_in import AnalogIn
from board import SCL, SDA
from math import floor
View DebugModeTapListener.java
private class DebugModeTapListener implements View.OnClickListener {
private int tapCount = 0;
private long lastTap = SystemClock.elapsedRealtime();
@Override
public void onClick(final View v) {
final Context context = getApplicationContext();
long currentTap = SystemClock.elapsedRealtime();
if (currentTap - lastTap < 500) {
@banasiak
banasiak / DefaultKeyBindings.dict
Last active Oct 29, 2018 — forked from Jimbly/DefaultKeyBindings.dict
Mac OSX keybindings to more closely match Windows
View DefaultKeyBindings.dict
/* ~/Library/KeyBindings/DefaultKeyBinding.Dict
This file remaps the key bindings of a single user on Mac OS X 10.5 to more closely
match default behavior on Windows systems.
You must log out and back in to see these changes.
Here is a rough cheatsheet for syntax.
Key Modifiers
^ : Ctrl
$ : Shift
@banasiak
banasiak / update-digitial-ocean-dns.sh
Created Sep 13, 2018 — forked from kenmickles/update-digitial-ocean-dns.sh
Shell script to dynamically update a Digital Ocean DNS record
View update-digitial-ocean-dns.sh
#!/bin/bash
TOKEN="Get token from https://cloud.digitalocean.com/settings/applications"
DOMAIN=example.com
RECORD_ID=12345
IP=`curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+'`
# to get record id:
# curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" "https://api.digitalocean.com/v2/domains/$DOMAIN/records"
View pre-commit.sh
#!/bin/sh
echo "Formatting code..."
./gradlew googleJavaFormat formatKotlin --daemon
status=$?
if [ "$status" = 0 ]; then
echo "Formatting complete - adding files to Git"
git add .
exit 0
@banasiak
banasiak / 10-monitor.conf
Created Mar 11, 2018
Dell XPS 15 4K Monitor Resolutions (Fedora)
View 10-monitor.conf
Section "Monitor"
Identifier "eDP-1"
Modeline "3840x2160_60.00" 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync
Modeline "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Option "PreferredMode" "2560x1440_60.00"
EndSection
Section "Screen"
Identifier "Screen0"
@banasiak
banasiak / deeplink.sh
Last active Mar 7, 2018
Script to send a deep link to an Android app.
View deeplink.sh
@banasiak
banasiak / DefaultUncaughtExceptionHandler.java
Created Jan 16, 2018
Absolute last chance to log an exception and it's stack trace to logcat for an Android app.
View DefaultUncaughtExceptionHandler.java
public class MyApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
if(BuildConfig.DEBUG) {
final Thread.UncaughtExceptionHandler handler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(
(t, e) -> {
Timber.wtf(e);
handler.uncaughtException(t, e);
@banasiak
banasiak / KotlinEchoServer.kt
Created Nov 23, 2017
An example echo server written in Kotlin.
View KotlinEchoServer.kt
import java.io.BufferedReader
import java.io.InputStreamReader
import java.io.PrintWriter
import java.net.ServerSocket
import kotlin.concurrent.thread
const val SERVER_PORT = 1337
fun main(args: Array<String>) {
You can’t perform that action at this time.