Skip to content

Instantly share code, notes, and snippets.

View xunker's full-sized avatar

Matthew Nielsen xunker

View GitHub Profile
@xunker
xunker / pocsag_fortune.sh
Last active June 1, 2023 18:14
Send text to POCSAG pager using rpitx
# Send a page to a POCSAG pager using rpitx (https://github.com/F5OEO/rpitx).
# Place this script in the root directory of the rpitx repo when you check it out.
#
# Requires the `fortune` program to be installed: `sudo apt-get install fortune`
#
# In default config, set to transmit to an Apollo AL-A25 pager.
CAPCODE="0268778A"
FREQUENCY=157740000
BAUD=512
FORTUNE=$(fortune | tr '\n' ' '); echo $FORTUNE; printf "$CAPCODE:$FORTUNE" | sudo ./pocsag -f $FREQUENCY -r $BAUD
@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 / 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 / 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 / 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 / delete_all_from_sender.scpt
Last active December 8, 2023 22:46
Delete all from sender - an Applescript for the Mail.app in Mac OS X that will search for all messages set by the sender of the email message currently open and allow you to delete them all at once.
-- Delete all from sender - https://gist.github.com/xunker/44fa4404c882c27e0ad25857e9470552
-- For the Mail.app in Mac OS X. It will search for all messages set by the sender of the email message currently open,
-- highlight them all and ask if you want to delete them. If you choose "yes" it will delete them for you and then clear
-- the search.
--
-- Important notes:
-- You can load this in Script Editor and then save it as an application so you can run it without Script Editor being open.
-- This does not work when Mail.app is in fullscreen mode; it must be in windowed mode.
-- You will need to enable "Assistive Devices" support for Script Editor (if run there) or for the .app you saved if you converted it to a standalone app.
source ~/.git-prompt.sh
PS1="[\$(date +%H:%M:%S)]\[\033[0;37m\]\[\033[0;32m\]\w\[\033[0;37m\]\$(__git_ps1) \$ "
@xunker
xunker / zipruby_test.rb
Created October 2, 2014 21:46
Compare zipruby memory consumption with others
#!/user/bin/env ruby
#
# Demonstrates memory behaviour with zipruby vs rubyzip vs exec('unzip').
# Tested with mri 1.8.7/1.9.3/2.1.2, zipruby 0.3.6 and rubyzip 1.1.6.
#
# Usage: ruby zipruby_test.rb <test method>
#
# Test methods are:
# read_zipruby read file from zip using zipruby gem
# read_rubyzip read file from zip using rubyzip gem