Skip to content

Instantly share code, notes, and snippets.

View bradmartin333's full-sized avatar

Brad Martin bradmartin333

View GitHub Profile
@bradmartin333
bradmartin333 / greyscale_heatmap.dart
Created July 24, 2025 15:01
turn greyscale Int16 data into a red-green heatmap
import 'dart:typed_data';
import 'package:image/image.dart' as img;
const dim = 512;
const maxInt16Value = 32767;
const maxInt8Value = 255;
final Int16List testData = () {
final buffer = Int16List(dim * dim);
@bradmartin333
bradmartin333 / main.dart
Last active July 11, 2025 20:53
button row
import 'package:flutter/material.dart';
void main() => runApp(const App());
class App extends StatefulWidget {
const App({super.key});
@override
State<App> createState() => _AppState();
}
@bradmartin333
bradmartin333 / main.dart
Created June 30, 2025 16:22
dart ternary formatting example
import 'dart:math';
enum AppRoute { root, login, welcome }
void main() {
final randomNumberGenerator = Random();
final isAuthenticated = randomNumberGenerator.nextBool();
final hasSeenWelcome = randomNumberGenerator.nextBool();
final initialLocation = isAuthenticated
@bradmartin333
bradmartin333 / set_bitrate.sh
Created June 26, 2025 20:02
update file with jq
#!/bin/bash
# Check if an argument is provided
if [ -z "$1" ]; then
echo "Usage: $0 <bitrate>"
exit 1
fi
# Store the original settings.json
mv settings.json settings_orig.json
@bradmartin333
bradmartin333 / main.dart
Last active June 17, 2025 18:03
card game demo
import 'package:flutter/material.dart';
import 'dart:math';
void main() {
runApp(const CardGameApp());
}
class CardGameApp extends StatelessWidget {
const CardGameApp({super.key});
@bradmartin333
bradmartin333 / main.dart
Created June 17, 2025 16:07
dismissible todo list
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
@bradmartin333
bradmartin333 / bluetooth_printer.py
Created June 6, 2025 20:38
discover a bluetooth printer and send it a CLI argument message to print
import bluetooth
import sys
if len(sys.argv) != 2:
print(f"usage: {sys.argv[0]} <message>")
sys.exit(1)
message = sys.argv[1]
nearby_devices = bluetooth.discover_devices(
@bradmartin333
bradmartin333 / print_quote.py
Created June 6, 2025 19:26
print zen quote to USB thermal printer
import requests
PRINTER_DEVICE = "/dev/usb/lp0"
with open(PRINTER_DEVICE, "wb") as printer:
response = requests.get("https://zenquotes.io/api/random")
response.raise_for_status()
data = response.json()
if data and isinstance(data, list) and len(data) > 0:
quote_data = data[0]
quote = quote_data.get("q")
@bradmartin333
bradmartin333 / kb.cpp
Created October 19, 2024 02:46
stream keyboard input on a thread
#include <iostream>
#include <thread>
#include <termios.h>
#include <unistd.h>
void processKeyboardInput() {
termios original_settings, new_settings;
tcgetattr(STDIN_FILENO, &original_settings);
new_settings = original_settings;
new_settings.c_lflag &= ~ICANON;
@bradmartin333
bradmartin333 / pdf_renamer.py
Created January 15, 2024 16:38
rename PDFs easily
import os
import subprocess
def rename_pdfs(directory):
"""Iterates through PDFs in a directory, opens them, and renames them with user input."""
pdf_files = [f for f in os.listdir(directory) if f.endswith(".pdf")]
for filename in pdf_files:
pdf_path = os.path.join(directory, filename)