Skip to content

Instantly share code, notes, and snippets.

View JaciBrunning's full-sized avatar

Jaci Brunning JaciBrunning

View GitHub Profile
{"B": [{"auto": {"cone": 701, "cube": 556}, "teleop": {"cone": 2242, "cube": 3215}}, {"auto": {"cone": 134, "cube": 529}, "teleop": {"cone": 1177, "cube": 3403}}, {"auto": {"cone": 91, "cube": 78}, "teleop": {"cone": 1747, "cube": 2624}}, {"auto": {"cone": 192, "cube": 114}, "teleop": {"cone": 1586, "cube": 2349}}, {"auto": {"cone": 219, "cube": 701}, "teleop": {"cone": 856, "cube": 3045}}, {"auto": {"cone": 212, "cube": 103}, "teleop": {"cone": 1602, "cube": 2316}}, {"auto": {"cone": 73, "cube": 90}, "teleop": {"cone": 1671, "cube": 2718}}, {"auto": {"cone": 148, "cube": 454}, "teleop": {"cone": 1216, "cube": 3358}}, {"auto": {"cone": 724, "cube": 561}, "teleop": {"cone": 2400, "cube": 3197}}], "M": [{"auto": {"cone": 381, "cube": 0}, "teleop": {"cone": 1696, "cube": 0}}, {"auto": {"cone": 0, "cube": 632}, "teleop": {"cone": 0, "cube": 3223}}, {"auto": {"cone": 35, "cube": 0}, "teleop": {"cone": 1583, "cube": 0}}, {"auto": {"cone": 233, "cube": 0}, "teleop": {"cone": 1559, "cube": 0}}, {"auto": {"cone": 0, "
@JaciBrunning
JaciBrunning / pathfinder.py
Created December 28, 2020 15:12
Ghidra Pathfinder - Find execution paths between two functions
from ghidra.program.model.symbol import RefType
import itertools
def memoize(func):
cache = dict()
def memoized_func(*args):
if args in cache:
return cache[args]
result = func(*args)
@JaciBrunning
JaciBrunning / filter_hosts.rb
Last active October 24, 2020 12:24
Metasploit Plugin for Filtering Hosts with nil services
# Filter hosts with nil services in msfconsole.
# Install by putting in `~/.msf4/plugins` and running `load filter_hosts.rb`
# Author: Jaci Brunning <jaci.brunning@gmail.com>
module Msf
class Plugin::FilterHosts < Msf::Plugin
def initialize(framework, opts)
super
add_console_dispatcher(FilterHostsCommandDispatcher)
end
NAME USED AVAIL REFER MOUNTPOINT
zlarge 3.31T 99.3G 151K /zlarge
zlarge/backup 864G 99.3G 163K /zlarge/backup
zlarge/backup/jaci 864G 99.3G 864G /zlarge/backup/jaci
zlarge/share 2.33T 99.3G 151K /zlarge/share
zlarge/share/media 2.30T 99.3G 2.30T /zlarge/share/media
zlarge/share/misc 1.30G 99.3G 1.30G /zlarge/share/misc
zlarge/share/owncloud 54.4M 99.3G 54.4M /zlarge/share/owncloud
zlarge/share/transfer
NAME USED AVAIL REFER MOUNTPOINT
tank 3.32T 17.5T 170K none
tank/backup 875G 17.5T 170K none
tank/backup/jaci 875G 17.5T 875G /tank/backup/jaci
tank/games 1.76G 17.5T 1.76G /tank/games
tank/media 2.30T 17.5T 2.30T /tank/media
tank/transfer 30.2G 17.5T 30.2G /tank/transfer
tank/vz 141G 17.5T 170K none
tank/vz/backup

Keybase proof

I hereby claim:

  • I am jacibrunning on github.
  • I am jaci (https://keybase.io/jaci) on keybase.
  • I have a public key ASDdy8vYQSuDD5JVqbx61kze3Zugei9wDpgeEmQ0HUlFaQo

To claim this, I am signing this object:

filetype plugin indent on
set tabstop=2
set shiftwidth=2
set softtabstop=2
set expandtab
set number relativenumber
call plug#begin('~/.vim/plugged')
apply plugin: 'cpp'
apply plugin: 'google-test-test-suite'
apply plugin: 'edu.wpi.first.GradleRIO'
apply plugin: TinkerboardPlugin
toolchainsPlugin.withRaspbian()
deploy {
targets {
target('coprocessor') {
directory = '/home/vision'
#include <pathfinder.h>
#include "benchmark/benchmark.h"
static void BM_BenchmarkPathfinder(benchmark::State &state) {
Waypoint points[2];
points[0] = Waypoint{2, 2, 0};
points[1] = Waypoint{5, 5, d2r(45)};
double loop_time = 1.0 / static_cast<double>(state.range(0));
@JaciBrunning
JaciBrunning / usbiommu.rb
Last active March 2, 2024 19:42
USB -> PCIe -> IOMMU viewer for linux
lsusb = `lsusb`.split("\n").reject { |x| x.include?("root") }.map do |e|
ar = e.scan(/Bus (\d+) Device \d+: ID [0-9a-f:]+ (.*)/).flatten
ar[0] = "usb#{ar[0].to_i}"
ar
end
sysbus = `ls -l /sys/bus/usb/devices`.split("\n").map do |e|
e.scan(/(usb\d+) -> .+\/([0-9a-f:\.]+)\/usb\d+/).flatten
end.reject { |x| x.empty? }