Skip to content

Instantly share code, notes, and snippets.

View revdancatt's full-sized avatar

Rev Dan Catt revdancatt

View GitHub Profile
@revdancatt
revdancatt / brush-server.py
Last active November 17, 2024 07:42
brush height python server for axidraw
from flask import Flask, request, jsonify
from pyaxidraw import axidraw
app = Flask(__name__)
app.config['JSONIFY_PRETTYPRINT_REGULAR'] = False
ad = axidraw.AxiDraw() # Initialize class
ad.interactive() # Enter interactive context
ad.options.units = 2 # work in millimeters
# ad.options.penlift = 3 # Uncomment if we are using the brushless servo
ad.options.speed_pendown = 20
@revdancatt
revdancatt / TezoProfile.txt
Created November 24, 2021 15:55
Tezo Profile
I am attesting that this GitHub handle revdancatt is linked to the Tezos account tz1WBfByKVzmEEJJCqgK4Dcz6W4DCCkgtNfV for tzprofiles
sig:edsigtvmz6bZJP5Up192zFGdVDZdXLSe6xd4y8NBdzVXHu5bNqLHC5WVf7Zt94KMEjsJZ2p6UFJaaVnHQvDGxAyPvBcr8RL5nzD
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Sine Waves</title>
</head>
<body>
<canvas id="Aaart" width="1000" height="1000"></canvas>
@revdancatt
revdancatt / DRAGON.BAS
Created October 16, 2014 13:24
BBC Basic Dragon Slaying Game
5 MODE 1
10 HUMAN_HP=10
20 DRAGON_HP=15
30 PROC_DISPLAY_HP
40 HUMAN_ACTION$ = FN_GET_HUMAN_ACTION
50 DRAGON_ACTION$ = FN_GET_DRAGON_ACTION
60 IF HUMAN_ACTION$ = "A" THEN PROC_HUMAN_ATTACK
70 IF DRAGON_HP <1 THEN PROC_WIN
80 IF DRAGON_HP <1 THEN END
90 IF DRAGON_ACTION$ = "CLAW" THEN PROC_DRAGON_CLAW
@revdancatt
revdancatt / gist:b50981d7b672157477e5
Last active August 29, 2015 14:06
Beeb Modesty Photo
10 F=OPENOUT("IMAGE1")
20 PRINT#F,"1177117733110011000011001100116611117711772211771177111133110000330000330000330022330033002233001100332233001100332233001100330011003322330011003300110033001100"
30 PRINT#F,"3300003300003300003300003300001133113322770011772233772255112255116633116633772233772233772233772233225522330011000011001144110011336633110011001100110011001100"
40 PRINT#F,"0011441166336633223300225522333344223344115500114433661122330011002233223322223300001100110000110022003322550011003322330022001100002233223300220011000022330022"
50 PRINT#F,"0011220011002233220011002233000011001144117700337722337722551122331166331166337722337722337722337700770033224400114400770011337700113366337700770055225500770077"
60 PRINT#F,"7733117733111100110022332255226611336611001111772211331133223300003322000033002233110033001144003355225500223300663344225533770044115500336600331144001133660033"
70 PRINT#F,"11003333001133003322330033223311001133110000772266336611001122556622552266332222552200552200552200110011663322330011003
10 F=OPENUP("IMAGE1"):PTR#F=EXT#F
20 PRINT#F,"4444004400440000000000000000004400000055227777557777773377665511776677667777775566772277775511777777777777777755777766556677776677774477776677777733774411777777"
30 PRINT#F,"7700771166552277550000000055110011337700775577113344777711557766775577117777777777227711551177775577777700000000000044000000002244000044000000007733007766007700"
40 PRINT#F,"0000440000000044002233440044330000440000552277661144776677117766557777771166777777775577667777667711667777667777777777117755777777777777117755777766777766551166"
50 PRINT#F,"7777777777775577220000000000773366336633223322557711557766775511776677775577336655775566777700772277777700004400000000000044003300000000002244000077223377007777"
60 PRINT#F,"2244004444000000440000000000000000220000225511557711771155665577117711447755776677776611777777777777557777337766116655777777227777007777447777007777007733667755"
70 PRINT#F,"771144774411667700000000000033773377337733775566337766115522775511775577116677777777117733777755777777000000
10 F=OPENUP("IMAGE1"):PTR#F=EXT#F
20 PRINT#F,"0000001144001155223366336677557766551122557744117711773322005522331133110011336611441144114411007700007711661100773322113322331100770011661177777766777777557755"
30 PRINT#F,"7777777711777711777755777755777777552277777777557777777755774477777766557766337755115533663366337733667755117700551100772277441155225522551166337700556622771144"
40 PRINT#F,"0000334411000022550022552255225522665577225522556655223333220033660011001100113300114411441155660077003344336633225500113311113377332255005577775511557777777777"
50 PRINT#F,"1155115566557777777777667777557711775577557777117777777777777777773377771177777766772255115577557777337766332277227733663311114411007711663377225511225511007711"
60 PRINT#F,"2200002244225511441144225566116655117700776677114411777700331100337733113311001155223322337766337700776611773311552211441111001100114433221155117777777733771155"
70 PRINT#F,"776677771177776655117777337711665577771177337777557755667711777777777777775577551155775566332277007766115511
10 F=OPENUP("IMAGE1"):PTR#F=EXT#F
20 PRINT#F,"1155114411223322007700663366110011773366773366112255111155003333441133223366336633663366114411330022334411332233770011001144332233223377005500334433773300334400"
30 PRINT#F,"3377443300333300335500113300333377771144777777775511776655114433005500334433003300110000330033443344000033000000550011005522337733773366331155225511663311441155"
40 PRINT#F,"7722552200552255002233007733667700227733227733663322770011002200110077001133113322332233441144115500110000773366117733770011663377110011553377003300335533333333"
50 PRINT#F,"0077115500553333003333443355007700777777771155776677551177551144333333550000330044334422005500330033330000330033003366113377002211007711223322552233114411332211"
60 PRINT#F,"4477115511000000773344110022332255773366113366117755115522331133443322336633662255113300113377002211001111001133663366001133113322337700113333005533443300333300"
70 PRINT#F,"337755330033003377003333003300337777557755776611777777775522551133550033333300003344330033005522330044330044
10 F=OPENOUT("IMAGE1")
20 PRINT#F,"1177117733110011000011001100116611117711772211771177111133110000330000330000330022330033002233001100332233001100332233001100330011003322330011003300110033001100"
30 PRINT#F,"3300003300003300003300003300001133113322770011772233772255112255116633116633772233772233772233772233225522330011000011001144110011336633110011001100110011001100"
40 PRINT#F,"0011441166336633223300225522333344223344115500114433661122330011002233223322223300001100110000110022003322550011003322330022001100002233223300220011000022330022"
50 PRINT#F,"0011220011002233220011002233000011001144117700337722337722551122331166331166337722337722337722337700770033224400114400770011337700113366337700770055225500770077"
60 PRINT#F,"7733117733111100110022332255226611336611001111772211331133223300003322000033002233110033001144003355225500223300663344225533770044115500336600331144001133660033"
70 PRINT#F,"11003333001133003322330033223311001133110000772266336611001122556622552266332222552200552200552200110011663322330011003
10 MODE 1
20 F=OPENIN("IMAGE1")
30 X=0:Y=0
40 VDU 19,1,7:VDU 19,1,7
50 VDU 19,2,6:VDU 19,2,6
60 VDU 19,3,4:VDU 19,3,4
100 FOR L=0 TO 499
110 INPUT#F,CHUNK$
120 PROC_DRAWPOINT(1):PROC_DRAWPOINT(2):PROC_DRAWPOINT(3):PROC_DRAWPOINT(4):PROC_DRAWPOINT(5)
130 PROC_DRAWPOINT(6):PROC_DRAWPOINT(7):PROC_DRAWPOINT(8):PROC_DRAWPOINT(9):PROC_DRAWPOINT(10)