Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python3
import sys
temps = sys.argv[1:]
for ln in sys.stdin:
if ln.rstrip() == 'M600':
sys.stdout.write('M104 S' + temps.pop(0) + '\n')
else:
sys.stdout.write(ln)
@kmcallister
kmcallister / build.sh
Created August 24, 2014 23:41
68k Mac boot floppy example
#!/bin/bash -xe
m68k-unknown-elf-gcc -o demo demo.s -nostdlib
m68k-unknown-elf-objcopy -O binary demo floppy.img
#!/usr/bin/env python3
import random
from colormath.color_objects import LabColor, sRGBColor
from colormath.color_conversions import convert_color
from colormath.color_diff import delta_e_cie2000
print("<style>body { font-size: 24pt; font-family: monospace; }</style>");
def random_srgb():
return sRGBColor(
#!/usr/bin/env python3
import sys
temps = sys.argv[1:]
for ln in sys.stdin:
if ln.rstrip() == 'M600':
sys.stdout.write('M104 S' + temps.pop(0) + '\n')
else:
sys.stdout.write(ln)
@kmcallister
kmcallister / slant-rack.scad
Created March 27, 2021 03:33
Parametric culture slant rack
// Copyright 2021 Keegan McAllister
// License: CC-BY 4.0
// https://creativecommons.org/licenses/by/4.0/
include <MCAD/units.scad>
/* [Part selection] */
// Part selection
part = "assembly"; // [assembly, plate, grid, rail, base]
@kmcallister
kmcallister / bot.py
Created June 12, 2019 21:35
LED strip code
#!/usr/bin/env python
import itertools
import colorsys
import datetime
import irc.bot
import random
import socket
import struct
import sys
import re
module menger_sponge(n) {
if (n <= 0) {
cube(center=true);
} else {
for (x=[-1:1]) {
for (y=[-1:1]) {
for (z=[-1:1]) {
if (abs(x)+abs(y)+abs(z) >= 2) {
scale(1/3)
translate([x,y,z])
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
#define PERIOD 5000
DHT dht(DHTPIN, DHTTYPE);
void setup() {
#!/usr/bin/env python
from ctypes import *
for ln in open('/proc/self/maps'):
if "[vdso]" in ln:
start, end = [int(x,16) for x in ln.split()[0].split('-')]
CDLL("libc.so.6").write(1, c_void_p(start), end-start)
break
@kmcallister
kmcallister / logger.py
Created July 4, 2019 06:17
Dead-simple DS1054Z data logger
#!/usr/bin/env python
import time
import visa
IP_ADDR = '192.168.50.219'
INTERVAL = 1.0
rm = visa.ResourceManager('@py')
scope = rm.open_resource('TCPIP::%s::INSTR' % (IP_ADDR,))