Skip to content

Instantly share code, notes, and snippets.

View scruss's full-sized avatar
💭
🦆

Stewart Russell scruss

💭
🦆
View GitHub Profile
@scruss
scruss / computer_literacy_helvetica_outline.ps
Created May 30, 2022 21:41
lettering akin to BBC's computer literacy project
%!PS-Adobe-2.0
%%BoundingBox: 36 400 286 550
%%HiResBoundingBox: 35.999999 399.995988 286.001991 550.007983
%%Title: modified from Blue Book Program 16, on page 203
%%EndComments
% scruss, 2022-05
% see https://stardot.org.uk/forums/viewtopic.php?f=3&t=24845
/makeoutlinedict 7 dict def
@scruss
scruss / alfred_pc.bas
Created January 23, 2022 15:15
MAD Magazine October 1985 BASIC type-in
5 REM Mad Computer Edition with Logo Code October 1985 - PC GW-BASIC
6 REM https://redd.it/s9sudr
10 SIZE=1.2:XC=150:YC=110
20 KEY OFF:SCREEN 1:CLS:COLOR 7,0
30 READ X,Y,X1,Y1
40 IF X=999 THEN GOTO 90
50 FX=X*SIZE+XC:FY=199-(Y+YC)
60 LX=X1*SIZE+XC:LY=199-(Y1+YC)
70 LINE (FX,FY)-(LX,LY),2:LINE (FX+1,FY)-(LX+1,LY),2
80 GOTO 30
10 SIZE=1.2:XC=640:YC=512:SCL=5
20 MODE 2:COLOUR 4:COLOUR 135:GCOL 0,1:CLS:VDU 23,1,0;0;0;0;
30 READ X,Y,X1,Y1
40 IF X=999 THEN GOTO 90
50 FX=SCL*X*SIZE+XC:FY=SCL*Y+YC
60 LX=SCL*X1*SIZE+XC:LY=SCL*Y1+YC
70 MOVE FX,FY:DRAW LX,LY: REM MOVE FX+1,FY:DRAW LX+1,LY
80 GOTO 30
90 VDU 31,2,30:PRINT"WHAT, ME WORRY?";
100 A$=INKEY$(0):IF A$="" THEN GOTO 100
@scruss
scruss / snoopycal.sh
Created December 11, 2021 22:02
snoopycal.sh - output old-school ASCII art Snoopy calendar
#!/bin/sh
# snoopycal.sh - output old-school ASCII art Snoopy calendar
# scruss, 2021-11
#
# optional argument: year
# otherwise, chooses one for you
#
# requires: cal, banner
# typically in the ncal and sysvbanner packages
#
@scruss
scruss / bitfield_quad.html
Created May 21, 2021 22:56
2d plotting on canvas
<canvas id="c" width="1024" height="1024">
<script>
const context = c.getContext('2d');
for (let x = 0; x < 256; x++) {
let y = 255 - 4 * 256 * ((x / 256) - 0.5)**2;
context.fillRect(x*4, y*4, 4, 4);
}
</script>
@scruss
scruss / lazy_caterer.py
Created May 12, 2021 23:19
lazy caterer plots - coloured lines, but rather dull
#!/usr/bin/python3
# lazy caterer sequence - 'thank' you josh millard ...
# scruss - 2021-05
# usage: lazy_caterer.py [lines] > output.eps
from random import uniform
from math import sin, cos, radians
from sys import argv
lines = 9
# micropython for raspberry pi pico
# potentiometer between AGND and 3V3, with the wiper going to ADC pin 2
# prints 0-100 depending on how far potentiometer is turned
# 3 columns so the Thonny plotter will scale correctly
from machine import Pin, ADC
from time import sleep
led = Pin(25, Pin.OUT)
adc = ADC(2)
@scruss
scruss / scruss-palm_pen.scad
Created January 15, 2021 20:32
Mirror of Customizable Palm Pen Holder OpenSCAD code - https://www.thingiverse.com/thing:4178663
// palm pen holder - scruss, -customizable!
// 2021-01 - increased max pen size to 22 mm
// 2020-02 - revised nut catch - a bit snug before
//CUSTOMIZER VARIABLES
// Hand Width - mm
hand_width = 110; // [70:150]
// Hand Thickness - thumb side - mm
thumb_thick = 35; // [20:50]
10 PR# 3
20 TEXT : HOME
30 HTAB 11
40 HTAB 11
50 PRINT " %,,,,,,,,,,,,,,,,,,,,,,,,, "
60 HTAB 11
70 PRINT " (,,,,,,,*&@@@@@@@@@@@@@@@%,,,,,,,,% "
80 HTAB 11
90 PRINT " ,,,,,,, @@@@@@@@@@@@@@@@@@@@@@@@@@,,,,,,/ "
100 HTAB 11
@scruss
scruss / main.py
Created July 18, 2020 01:23
Itsy Bitsy M0 Express IO demo
# Itsy Bitsy M0 Express IO demo
# Welcome to CircuitPython 2.2 :)
# Updated for CircuitPython 6.0.0-alpha.1: scruss, 2020-07
import board
import gc
import time
from digitalio import DigitalInOut, Direction, Pull
from analogio import AnalogIn
import audioio