Skip to content

Instantly share code, notes, and snippets.

View xunker's full-sized avatar

Matthew Nielsen xunker

View GitHub Profile
@xunker
xunker / get_synology_cpu_temperature.sh
Last active November 17, 2020 19:28
Get temperatures from Synology running DSM 6.x
#!/bin/bash
# Simple script to get all the values from the temperature sensors on your
# Synology device running DSM 6.x.
# Only tested on my DS415play (2 core Atom CE5335), YMMV.
#
# Sample output:
#
# $ ./get_synology_cpu_temperature.sh
# temp2 (Core 0): current 40°C, critical at 100°C
@xunker
xunker / nvme_cooler.ino
Last active February 14, 2020 16:33
test nvme cooler led code
#include <FAB_LED.h>
/*
Trinket 85: 0 => B,0
Bluefruit LE Micro: 5 => C,6
*/
// Declare the LED protocol and the port
// sk6812<C,6> strip;
// sk6812b<C,6> strip;
@xunker
xunker / whats_new_in_ruby_2.7.md
Created April 24, 2019 16:49
What's new in Ruby >= 2.6.3, 2.7, and 3.0 - SLC.rb - April 23, 2019

What's new in Ruby >= 2.6.3, 2.7, and 3.0

Matthew Nielsen SLC.rb - April 23, 2019

2.6.3

Support for new Japanese Era Characters

@xunker
xunker / pcb2gcode.sh
Last active July 3, 2018 06:11
pcb2code for Fritzing RS-274x files
#!/bin/bash
# IMPORTANT: Need to use pcb2gcode from git head, not the 2-year-old vesion 1.3.2 from homebrew or apt-get
# On Macos: brew install --HEAD pcb2gcode
# FILE_PREFIX="595 shift register demo"
# FILE_PREFIX="tp4056 charger carrier with ground copy"
# FILE_PREFIX="Sparkfun Moto_Bit hardware pull PTH"
# FILE_PREFIX="3.3v regulator"
FILE_PREFIX="3.3v regulator double sided"
@xunker
xunker / split_drillfile.rb
Last active July 2, 2018 17:32
Split pcb2gcode drill files by bit size
#!/usr/bin/env ruby
#
# usage: split_drillfile.rb [<drill.ngc>]
#
# Reads a pcb2gcode drill file and creates individual files for each
# drill bit size. It will duplicate the preamble/postable between files.
# This is for programs like Universal Gcode Sender / UGS that do not let you
# change bits while streaming is paused because they do not allow you to move
# the head or reset the Z-axis while file streaming is paused.
#
@xunker
xunker / eclipse.rb
Last active August 19, 2017 23:21
Ruby eclipse simulator and sun/moon position visualizer using Gosu
#!/usr/bin/env ruby
#
# Visualizer to show sun and moon positions, give a certain time and position on
# the earth.
#
# Uses "gosu" so you will need to install the following libraries:
# * gosu (brew install gosu on macos)
# * sdl2 (brew install sdl2 on macos)
#
# Uses gems:
@xunker
xunker / slaskstatus.sh
Last active June 26, 2017 17:55
Automatically set your Slack status emoji based on what WiFi network you are connected to
#!/bin/bash
# Originally based on https://gist.github.com/samervin/621fcde93d28346ec5dbab4466b51d45
slacktoken="YOUR_SLACK_TOKEN"
apiurl="https://slack.com/api/users.profile.set?token="$slacktoken"&profile="
# https://stackoverflow.com/questions/4481005/get-wireless-ssid-through-shell-script-on-mac-os-x
# This will probably only work on Mac OS 10.10+.
ssid=$(/usr/sbin/networksetup -getairportnetwork en0 | cut -c 24-)
echo $ssid
if [ "$ssid" = "WORK_NETWORK_NAME" ]; then
@xunker
xunker / n-gon_around_circle.scad
Last active November 8, 2016 23:14
Drawing an N-gon around a circle using OpenSCAD
/*
Drawing an N-gon around a circle using OpenSCAD
https://gist.github.com/xunker/daabf70dbb8e990077d3a1a11d1e06dd
Matthew Nielsen - github.com/xunker
Math credit: http://mathcentral.uregina.ca/QQ/database/QQ.09.06/s/cliff1.html
*/
/* Diameter of the circle around which the n-gon will be built. */
@xunker
xunker / life.rb
Last active January 4, 2016 18:39
Bad life
require './drawer'
class Life
def initialize(window_x: 640, window_y: 480)
@window_x = window_x
@window_y = window_y
@cellsize = 8
calcuate_bounds
@xunker
xunker / JSON Parser module code
Last active December 31, 2015 18:22
knktr: Github webhook functions
JSON = (function()
-- -*- coding: utf-8 -*-
--
-- Simple JSON encoding and decoding in pure Lua.
--
-- Copyright 2010-2013 Jeffrey Friedl
-- http://regex.info/blog/
--
-- Latest version: http://regex.info/blog/lua/json
--