Skip to content

Instantly share code, notes, and snippets.

View aaronsb's full-sized avatar

Aaron Bockelie aaronsb

  • Wichita, KS
View GitHub Profile
@aaronsb
aaronsb / simple-orbital-mechanics.md
Created May 2, 2025 21:55
A quick thought on orbital mechanics.

Understanding Orbital Mechanics: Shifting Altitude Explained for Everyone

Introduction

This document explains the fascinating world of orbital mechanics, specifically focusing on how objects change their altitude while in orbit. While orbital mechanics is a complex field of physics and mathematics, the core concepts can be understood through everyday analogies and simple explanations.

Orbital mechanics governs how satellites, space stations, and spacecraft move through space. Understanding these principles helps us appreciate the incredible engineering behind space missions and the precise calculations required to navigate the cosmos.

Document Structure

I'll create a whitepaper that combines both documents into a comprehensive exploration of the concept, maintaining the technical tone of the source documents and including the Mermaid diagrams.

The Evolution Toward Human-AI Bidirectional Collaboration: A Universal Interface Paradigm

Executive Summary

This whitepaper explores how current AI chat platforms could evolve toward a "universal interface" paradigm where the human user is reimagined as both an instigator and a data source within the Model Context Protocol (MCP) architecture. This evolution creates more fluid, bidirectional interactions where either humans or AI can initiate exchanges based on contextual needs, and where conversation becomes the orchestration layer for both tools and interface modes.

By treating humans as collaborative data sources within the existing MCP architecture—similar to databases, APIs, or services—we can transform the protocol from a tool-connection standard to a true collaboration protocol. This approach acknowledg

Here's a docker-compose.yml file that will set up Open WebUI with GPU support:

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:cuda
    container_name: open-webui
    network_mode: "host"
    volumes:
      - open-webui:/app/backend/data
@aaronsb
aaronsb / instructions.md
Last active March 13, 2025 16:14
Using qbasic to receive files from a modern linux computer over a serial port

Create these two programs for transferring files from a modern Linux computer to an old Toshiba T3200SX running MS-DOS over a serial connection.

Modern Linux Computer (Sender)

Here's a bash script for the Linux side that opens ttyUSB0 as a serial port and sends a file:

#!/bin/bash

if [ $# -ne 1 ]; then
@aaronsb
aaronsb / update.sh
Created October 30, 2024 17:02
Arch update script
#!/bin/bash
# Establish sudo rights.
sudo -v
# Define the log file location
LOGFILE="/var/log/system_update_$(date +'%Y%m%d_%H%M%S').log"
# Create the log file explicitly to ensure it exists and has correct permissions
echo "Creating new log file: $LOGFILE"
@aaronsb
aaronsb / readme.md
Last active March 10, 2025 13:20
Rhino3D 7 on Linux

Install Rhino 7 on Ubuntu based OS (KDE on Ubuntu Noble in this case) I used Wine 9.10 (Staging)

This assumes a non existant wine prefix or even a wine installation. If you have an existing wine prefix there may be things that interfere with this guide.

  • Start by installing wine and some required adjacent libraries.

sudo apt install wine wine32 winetricks mono-complete winbind

  • Initialize your default Wine environment (which will be located under ~/.wine
@aaronsb
aaronsb / Configure-RasPhoneDNSConfig.ps1
Created October 28, 2021 18:41
Simple configuration file editor for parameter = value config file.
function Configure-RasPhoneDNSConfig {
[CmdletBinding()] #we want to use verbose, so add cmdlet binding
param ([string]$path = (Get-Location).path,
[string]$vpnConfigName = "rasphone.pbk",
[string]$configParam = "IpDnsFlags",
[string]$configValue = "1")
#path defaults to current path or another path location.
#vpnconfigname is the name of the file to configure, defaults to rasphone.pbk
#configparam is the parameter we're updating. override it to look for another file name
#configvalue is defaulting to 1
#import some stuff
@("psreadline","posh-git","oh-my-posh","JiraPS","ConfluencePS","Microsoft.PowerShell.ConsoleGuiTools") | %{Import-Module $_}
# Shows navigable menu of all options when hitting Tab
#Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
# Autocompletion for arrow keys
#Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
#Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward
Set-PSReadLineOption -HistorySearchCursorMovesToEnd
@aaronsb
aaronsb / hostseditor.ps1
Last active July 7, 2020 18:58
Hosts management tool for linux and windows
<#
Hosts file editor: 🄯2020 Aaron Bockelie
Host Editor works on linux and windows, since my default environment is pscore on linux.
The fastest way to use this is copy-pasta the script into a ps1 file and dot source it in your session.
Get-HostEntries: Lists the host entries as objects
Remove-HostEntry: Removes a host entry by hostname or line number (use Get-HostEntries to get the line numbers)
Add-HostEntry: Appends a host entry to hosts
Notes:
@aaronsb
aaronsb / ASRock_Z390m.conf
Created June 30, 2020 03:12
lm-sensors configuration file for an ASRock Z390M-ITX/ac
# Board: ASRock Z390M-ITX/ac
# Processor: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (6/158/10)
# Board has connectors for buzzer and 3 fans (2 case + 1 CPU)
# board does not have a connector for intrusion detection
# dmesg: "nct6775: Found NCT6793D or compatible chip at 0x2e:0x290"
chip "nct6793-*"
# Cross referenced with ASRock A-Tuning Application
# Install in Windows and see /Program Files (x86)/ASRock Utility/A-Tuning/Conf/Z390MITX.xml