Skip to content

Instantly share code, notes, and snippets.

View auscompgeek's full-sized avatar

David Vo auscompgeek

View GitHub Profile
@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
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,
#!/usr/bin/env python3
import binascii
import enum
import typing
class Mode(enum.IntEnum):
RAIL = 0
FERRY = 1
@auscompgeek
auscompgeek / keybase.md
Created July 23, 2018 13:14
new Keybase proof (because stricter checks)

Keybase proof

I hereby claim:

  • I am auscompgeek on github.
  • I am auscompgeek (https://keybase.io/auscompgeek) on keybase.
  • I have a public key ASAl9lrYfmjshIR18YSkAOi3xRAdZR43EU4as9IsAvDZmwo

To claim this, I am signing this object:

@auscompgeek
auscompgeek / explode-ce.py
Created February 5, 2018 05:28
Extract ap51-flash combined ext image
#!/usr/bin/env python3
import hashlib
import sys
f = open(sys.argv[1], 'rb')
ce_version = f.read(4)
assert ce_version == b'CE01'
@auscompgeek
auscompgeek / gist:1e60032d1c84ecea81c3
Last active January 2, 2018 05:18
hack.lu CTF - packed - brute-force the xor cipher
#!/usr/bin/python3
# hack.lu CTF - packed - brute-force the xor cipher
CIPHERTEXT = "H51\\\'Ux2J&+(3Z;Uxcx0Xxs\x13h\x014$V!R($R>\t/)R!\x01<.\x13,N-aP4M4aRuG1-VuU0 GuH+a@0W=3R9\x01>(_0\x01,8C0Rx GuN6\"V|\x1ezKZ3\x014$]}R!2\x1d4S?7\x1au\x1fxs\t_\x01xa\x13<Gx)R&Ip2J&\x0f93T#zj\x1c\x1ap\x13rk\x00g\x01e|\x13g\x19ju\x0ba\x18jt\x02o+xa\x13u\x01xa\x13%S1/Gu\x03\x1b.\\:N7.\\:N4o\x13\x0cN-3\x133M9&\x13<Rx A2WjiZ{DvaX0Xjh\x136N6\"R!\x01\x07rC0p\x138a\x1dc22ieu\x161Fw+=-@0\x1bRa\x13u\x01(3Z;UxcR\'F.s\x1c>D!s\x13<Rx,Z&R1/Tw+R"
import itertools
import string
def code(key, cipher):
while len(key) < len(cipher):
@auscompgeek
auscompgeek / anagrams.py
Last active November 27, 2017 21:47
anagram generator written in Python
#!/usr/bin/python3
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
def get_sword(word):
return "".join(sorted(word.replace("'", "").lower()))
def get_words(words="/usr/share/dict/words"):
pkgbase = indicator-kdeconnect
pkgdesc = Integrate KDEConnect on desktop environments that use AppIndicators (e.g. Unity)
pkgver = 0.9.1
pkgrel = 1
epoch = 1
url = https://github.com/bajoja/indicator-kdeconnect
arch = any
license = GPL
makedepends = cmake
depends = libappindicator-gtk3