Skip to content

Instantly share code, notes, and snippets.

View auscompgeek's full-sized avatar

David Vo auscompgeek

View GitHub Profile
{"shasum":"c22a001bea2241defb15d0124939836170389daf",
"tarball":"https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.88.tgz",
"fileCount":20,
"integrity":"sha512-ukMtYZCi0I7cD3rt89rnXy20D/Zvk0Gj/SW60xYfz17zTslLz+VuhXw/KPb+2ndp3/ATadJdyNEqdKQlcNk7nQ==",
"signatures":[{"sig":"MEUCIHXjhm3IsYM1o1worSMkPW8rIHqSNsV6D08wJoIArNumAiEAtiif6ZPqt/ovlEXSM0sEc8NuCteOb+yIkDZcff2kFSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],
"unpackedSize":102754401}
> uv run robotpy test -j 2
================================================= test session starts =================================================
platform win32 -- Python 3.14.2, pytest-9.0.2, pluggy-1.5.0
rootdir: C:\Users\David\git\thedropbears\pyrebuilt
configfile: pyproject.toml
testpaths: tests
plugins: hypothesis-6.119.3, integration-0.2.3, reraise-2.1.2
collected 26 items
tests/pyfrc_test.py::test_operator_control
@auscompgeek
auscompgeek / find_reproj_errs.py
Created July 5, 2024 07:14
read photonvision multi-tag result reprojection errors
import collections.abc
import datetime
import sys
import photonlibpy.packet
import photonlibpy.photonPipelineResult
import wpiutil.log
def main() -> None:
@auscompgeek
auscompgeek / blank2.py
Last active May 23, 2020 12:57
random SecSoc x Atlassian CTF solutions
#!/usr/bin/env python3
# solution for this image is blank [2/3]
from PIL import Image
from PIL.ImagePalette import ImagePalette
im = Image.open('blank.png') # <PIL.PngImagePlugin.PngImageFile image mode=P size=800x600 at 0xf00>
im.putpalette(ImagePalette('RGB', [0, 0, 0, 0xff, 0xff, 0xff], 6).getdata()[1])
im.save('blank2.png')
@auscompgeek
auscompgeek / riot-export-verified-devices.js
Created May 19, 2020 14:03
Export verified device keys from Riot
indexedDB.open('matrix-js-sdk:crypto').onsuccess = (e) => e.target.result.transaction('device_data').objectStore('device_data').get('-').onsuccess = (e) => {
for (let [mxid, user_devices] of Object.entries(e.target.result.devices))
for (let [device_id, device] of Object.entries(user_devices))
if (device.verified === 1)
console.log('/verify', mxid, device_id, device.keys['ed25519:' + device_id]);
}
@auscompgeek
auscompgeek / copysign-bug.pytb
Last active March 6, 2020 02:22
math.copysign SystemError
>>> math.copysign((-1) ** 0.5, Fraction(-1, 1))
TypeError: can't convert complex to float
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/numbers.py", line 291, in __float__
return self.numerator / self.denominator
SystemError: PyEval_EvalFrameEx returned a result with an error set
@auscompgeek
auscompgeek / test_constrain_angle.py
Last active February 12, 2021 05:39
Testing various methods of wrapping angles to [-pi,pi].
import math
import pytest
import wpimath
from hypothesis import given
from hypothesis.strategies import floats
def constrain_angle_atan(angle: float) -> float:
"""Wrap an angle to the interval [-pi,pi]."""
roboRIO-5893-FRC:~$ # on a 2017 roboRIO image
roboRIO-5893-FRC:~$ cat test.py
import hal
import sys
import time
import timeit
import threading
def timer(): return timeit.timeit(hal.observeUserProgramTest)
@auscompgeek
auscompgeek / robot.py
Created February 19, 2019 09:24
SPARK MAX Python Smart Motion example
#!/usr/bin/env python3
import rev
import wpilib
class Robot(wpilib.TimedRobot):
def robotInit(self):
self.motor = rev.CANSparkMax(1, rev.MotorType.kBrushless)
@auscompgeek
auscompgeek / talon_config.json
Created November 20, 2018 02:55
CTRE Talon SRX default config
{
"_base": {
"custom_param": [
0,
0
],
"open_loop_ramp": 0,
"closed_loop_ramp": 0,
"peak_output_forward": 1,
"peak_output_reverse": -1,