Skip to content

Instantly share code, notes, and snippets.

View tuna-f1sh's full-sized avatar

John Whittington tuna-f1sh

View GitHub Profile
@tuna-f1sh
tuna-f1sh / vimrc
Last active January 25, 2017 10:52
My portable vimrc
set nocompatible "Use vim rather than vi settings
" useful commands for ctags - ]/[i next text under cursor, ]/[d difinition down/up, capital all in file in preview
"=================================
" --- OS SPECIFIC SETTINGS ---- "
"=================================
if has("win32")
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
@tuna-f1sh
tuna-f1sh / .inputrc
Last active August 17, 2016 07:01
My portable inputrc
# use ctrl+left/right arrow keys to jump over words
"\e[5C": forward-word
"\e[5D": backward-word
# enable autocomplete (using up/down arrow keys)
"\e[B": history-search-forward
"\e[A": history-search-backward
# ignore case when autocomplete file/directory name using tab
set completion-ignore-case on
@tuna-f1sh
tuna-f1sh / .bashrc
Created March 4, 2016 15:56
My portable bashrc
#Colors
#=======
#enables color in the terminal bash shell export
CLICOLOR=1
#sets up the color scheme for list export
LSCOLORS=gxfxcxdxbxegedabagacad
# for a colourful vim
export TERM='xterm-256color'
#=============COLORS=================
@tuna-f1sh
tuna-f1sh / gerbparse.py
Created August 3, 2016 09:31
Convert Proteus gerber export to layer based file extensions
import os,sys
# Get folder
if len(sys.argv) > 1:
folder = sys.argv[1]
else:
# folder = os.path.dirname(os.path.realpath(__file__))
folder = os.getcwd()
convert = {
@tuna-f1sh
tuna-f1sh / studio_linux_conversion.sh
Last active February 17, 2017 16:33
Convert Atmel Studio auto Makefile to Unix based one
#!/bin/sh
# @j_whittington
#
# Script to convert makefile generate from atmel studio 7 (windows)
# to linux path, assuming that you have gcc on PATH
#
# based on https://gist.github.com/theterg/6082389
# GPL
@tuna-f1sh
tuna-f1sh / serial.js
Last active July 20, 2017 07:23
Serial port buffer unload test
var SerialPort = require('serialport');
var port = new SerialPort('/dev/ttyUSB0', {
baudRate: 4800
});
port.on('open', function() {
port.write(new Buffer(256), function(err) {
if (err) {
return console.log('Error on write: ', err.message);
}
@tuna-f1sh
tuna-f1sh / _service.md
Last active November 8, 2017 17:59 — forked from naholyr/_service.md
Sample /etc/init.d script

Sample service script for debianoids

Look at LSB init scripts for more information.

Usage

Copy to /etc/init.d:

# replace "$YOUR_SERVICE_NAME" with your service's name (whenever it's not enough obvious)
@tuna-f1sh
tuna-f1sh / binary.v
Last active February 25, 2023 16:06
reg [3:0] d0;
reg [3:0] d1;
always @(posedge clk)
begin
d0 <= ((d0 & 9) == 9) ? 4'b0 : d0 + 1;
if ((d0 & 9) == 9) d1 <= d1 + 1;
end
@tuna-f1sh
tuna-f1sh / async_game_of_life_pil.py
Last active January 23, 2024 06:11
Async task that updates PIL Image with Game of Life
"""
Game of Life async task that updates passed PIL Image with generations
loosely based on https://codereview.stackexchange.com/questions/125292/conways-game-of-life-in-python-saving-to-an-image
but fixes the critical bug which runs the frame update loop on a transient grid resulting in wrong behaviour - I don't have enough points to post fix!
Copied from part of a bigger project I'm working on, this can still be run with the python flipdot module imported using a script.
"""
import random, asyncio
from PIL import Image
@tuna-f1sh
tuna-f1sh / flipdot.c
Created June 8, 2021 16:58
Hanover FlipDot Display Arduino
#include <Arduino.h>
#include <Wire.h>
#define COLS 96
#define ROWS 16
#define FRAME_SIZE ((ROWS * COLS) / 8)
#define COL_BYTES FRAME_SIZE / 8
#define FOOTER_CHAR 0x03