Charles Reid
49e76ddb0f
|
5 years ago | |
---|---|---|
LICENSE | 7 years ago | |
README.md | 5 years ago |
README.md
charlesreid1-awesome
I am awesome. Here is a list of my awesome stuff.
Code
@charlesreid1 on Github
I am user @charlesreid1 on Github.
I also maintain the @data-engineering-scenarios organization on Github, which illustrates the implementation of various data engineering pipelines.
git.charlesreid1.com
Self-hosted Github clone (gitea) at git.charlesreid1.com.
More info about gitea, a Go-based Github clone:
Repositories:
- flight-aware - Installation script for FlightAware USB stick, and other related notes/software/scripts.
- nosecleaner - A suite of tools for wireless security, OSI Levels 1 and 2.
- code-jam - Solutions to programming problems from Google Code Jam.
- icpc - Solutions to programming problems from the International Competitive Programming Competition World Finals.
- lfw_fuel - Labeled Faces in the Wild dataset, converted to fuel.
- tsp - Solve, time, and profile programs solving the traveling salesperson problem in various languages. Solution relies on use of graph object.
- openvpn - OpenVPN server configuration files.
- n-queens - Solve, time, and profile programs solving the N queens problem in various languages. Solution relies on built-in integer array types.
- yargwid - Yet Another Repository in Git with Dotfiles.
- hello-world - Simple "hello world"-style template programs. These will get you started writing programs in various languages.
- hello-data-structures - Some "hello world"-style data structure objects. Helps with inane tech interview questions and/or teaching computer science - whichever comes first.
- hello-oop - Some "hello world"-style object oriented programs. These will get you started writing object oriented programs in various languages.
- dang-streamgraph - D3 + Angular + Pelican for visualizing data using streamgraphs.
- cyborg-pelican - My first Python Pelican repository.
- mnemonia - Repository containing mnemonics I have known, used, and loved.
- java-packet-sniffer - A Java packet sniffer that uses jNetPcap to sniff packets and examine headers.
- pantera - A toolset for using and extending Cantera in Python.
- atom-hammer-theme - A Pelican theme for the Asmodeus project (https://github.com/charlesreid1/asmodeus)
- kenwood-ts570s - Scripts for interfacing with a Kenwood TS-570S radio via serial.
- magic-johnson - This is a robot that scrapes the web for mp3s, turns them into videos, and uploads them to YouTube.
- michael-morse - A simple time-based morse code library in Python, written for Raspberry Pi applications.
- tony-gwynn - A robot that creates a Twilio menu to play audio files.
- john-stockton - A robot that scrapes MP3s from a website, and transcribes them using the Google Text-to-Speech API.
- archimedes-pelican - Pages using Angular.js MVC to serve D3.js visualizations, with files managed by Python Pelican.
Raspberry Pi repositories
Repositories containing scripts for Raspberry Pis from the 2015-2016 undergraduate reserach project at South Seattle College, which focused on collecting and analyzing wifi data from wireless sensor networks.
Raspberry Pi repositories:
- pi-aircrack-batch - Put a wifi device into monitor mode and use aircrack to dump CSV files at specified intervals.
- pi-process-wifi-data - Scripts for processing directories full of aircrack data from Raspberry Pis, extracting AP and client data, and populating a MongoDB document collection with the results.
- pi-stunnel - Raspberry Pi stunnel client configuration files.
- pi-startup-services - Info and scripts for setting startup services on the raspberry pi.
- pi-setup - Setup for Raspberry Pi computers.
- pi-transmission - Scripts for transmission of data from Raspberry Pi to external server, via rsync and/or scp.
- pi-join-wifi - Scripts to help Raspberry Pis join wifi networks.
Docker repositories
Repositories containing scripts and Dockerfiles for various Docker containers.
@docker on git.charlesreid1.com
Docker:
- d-deep-learning - Files for the Docker Deep Learning pod. See https://charlesreid1.com/wiki/Docker/Pods/Deep_Learning for details.
- d-oui - A Docker container to wrap the IEEE OUI lookup table. See https://charlesreid1.com/wiki/OUI for more information and script. See http://standards-oui.ieee.org/oui.txt for raw data.
- d-jupyter - Files for creating a Jupyter notebook docker container.
- d-stunnel - Dockerfile to build an stunnel docker container.
- d-mongodb - Files for building MongoDB docker container.
- d-mongoexpress - Dockerfiles for building a Mongo Express container. See https://github.com/mongo-express/mongo-express
- d-rsync - Docker container running an rsync daemon to listen for rsync requests.
Github Blog
Blog for miscellaneous research and teaching notes and writeups.
Charlesreid1.com Wiki
Software Engineering
-
Programming Problems and Puzzles:
-
APIs:
Graphs
- Notes on Graph Theory
- Graphs - First Theorem of Graph Theory - the first theorem of graph theory is, you do not talk about graph theory...
- Graphs - Breadth-First Traversal - algorithms and code related to breadth-first traversal
- Graphs - Depth-First Traversal - algorithms and code related to depth-first traversal
- Graphs - Directed Acyclic Graphs - directed acyclic graphs (graphs that are trees)
- Graphs - Abstract Data Type - graph abstract data types
- Graphs - Connectivity - computing connectivity of a graph
- Graphs - Cycles - finding cycles in a graph
- Graphs - Data Structures - data structures for storing graphs
- Graphs - Definitions - definitions related to graphs
- Graphs - Dijkstra - Dijkstra's depth-first search algorithm
- Graphs - Euler Tour - implementations of an Euler Tour on a graph
- Graphs - Floyd Warshall - page on the Floyd Warshall algorithm
- Graphs - Guava - implementing graphs using Google's Guava library
- Graphs - Java Adjacency Map - implementation of graphs using the adjacency map data structure
- Graphs - Matching - matching algorithms on a graph
- Graphs - Shortest Path - finding the shortest path from one vertex to another on a graph
- Graphs - Transitive Closure - finding the transitive closure of a graph (another graph that replaces a connection between two vertices with an edge between those vertices)
- Graphs - Traversal - algorithms, implementations, links, and code related to traversal of graphs
Mathematics
-
Pages of Mathematical Constants (Most to 1,000 Digits):
-
Prime Numbers:
-
Sequences:
-
Special Numbers:
-
Big Numbers:
- 3 Tetrated - a really big number.
- 4 Tetrated - a really, really big number.
- Tetration - an operation to compactly write extremely large numbers
- Shannon Number - estimate of number of possible chess game outcomes (via Claude Shannon)
- Eddington Number - estimate of number of protons in the known universe (via Arthur Eddington)
Numerical Methods and Simulation
- Fipy - library for solving partial differential equations on a grid using Python
- Fipy and Cantera - combining Fipy (PDE solver) and Cantera (thermochemistry library)
- Fipy and Cantera/1D Diffusion - Fipy and Cantera to solve 1D diffusion problems
- Fipy and Cantera/Simple Transient Problem - Fipy and Cantera to solve transient reacting flow problems
Puzzles
-
Mathematics Puzzles:
- Four Fours - a puzzle for writing numbers as a combination of four fours
- Five Fives - extending the four fours puzzle to five fives
-
Rubik's - notes on Rubik's cube and other related puzzles
- Rubik's Cube - notes on the 3x3 Rubik's Cube
- Rubik's Revenge - notes on the 4x4 Rubik's Cube
Hacking and Networking
Notes on hacking tools, networking tools, and all-around security.
-
Stunnel - tool for creating SSH tunnels (useful for punching through firewalls)
- Stunnel/Installing - installing stunnel
- Stunnel/Certificates - setting up SSL certificates for stunnel
- Stunnel/Client - running an stunnel client
- Stunnel/Server - running an stunnel server
- Stunnel/Debugging - techniques for debugging faulty stunnel connections
- Stunnel/Troubleshooting - see above
- Stunnel/Docker - how to set up a docker container to run an stunnel server
- Stunnel/Rsync - running rsync connections over stunnel
- Stunnel/SCP - running scp connections over stunnel
- Stunnel/SSH - running ssh connections over stunnel
- Stunnel/Scp - running scp connections over stunnel
- Stunnel/OpenVPN - making stunnel work over a VPN connection
-
Networking
-
Metasploitable - a vulnerable virtual machine for learning and practicing security tools
-
Kali Linux - the ultimate security Linux distro
- Kali/Annoyances
- Kali/Anonymous Browsing
- Kali/Attack Layers
- Kali/Change Mac Address
- Kali/Custom ARM Image
- Kali/Dual Boot OS X
- Kali/Fixes
- Kali/HackRF
- Kali/Installing
- Kali/Layer 1 Attacks
- Kali/Layer 2 Attacks
- Kali/Layer 3 Attacks
- Kali/Layer 4 Attacks
- Kali/Layer 5 Attacks
- Kali/Live USB
- Kali/Moving Root Partition
- Kali/Moving Usr Partition
- Kali/Nethunter
- Kali/Persistent USB
- Kali/Post Install
- Kali/RaspberryPi
- Kali/Shortcuts
- Kali/Upgrading
- Kali/WEP Cracking
- Kali/Wireless
- Kali/Wordlists
- Kali/Workflow
- Kali 2.0/John the Ripper
- Kali 2.0/Wireless Debugging
- Kali Fixes
- Kali Live USB
- Kali Network Debugging
- Kali Top 10
- Kali Wireless Debugging
- Kali Wireless Debugging Part 2
- Kali Wireless Debugging Part 3
-
Devices
-
Docker - containerized systems and virtualized operating systems (no hardware)
- Docker/Basics
- Docker/Boats
- Docker/Boats/Wifi
- Docker/Deep Learning
- Docker/Dockerfiles
- Docker/Dockerfiles/Git
- Docker/Dockerhub
- Docker/Installing
- Docker/MachineLearning
- Docker/Network Debugging
- Docker/Networking
- Docker/Pods
- Docker/Pods/Deep Learning
- Docker/Pods/Wifi
- Docker/Removing Images
- Docker/Rsync
- Docker/UGR Wifi Boat
- Docker/Volumes
MiniPwners
MiniPwners are tiny, pocket-sized computers that can be used as hacking devices.
Widy:
- Widy - wireless TP-Link 3040 pocket router running OpenWrt
- Widy/Access Point - turning a Widy pocket router into a (secure) wireless router access point
- Widy/Access Point/SSH - Create a wireless network with the Widy, called OpenWrts. From machine A, connect to OpenWrts network. Obtain IP address 10.0.0.140. From machine B, connect to OpenWrts network. Obtain IP address 10.0.0.228. Create an active and working network connection between machine A and machine B.
- Widy/Aircrack - installing and configuring the aircrack-ng suite to work on Widy
- Widy/Bridging - creating a bridge between network connections (wired and wireless)
- Widy/Configuration - how to use the web interface and command line interface to set configuration options for Widy
- Widy/Installing - how to flash the router with the OpenWrt image
- Widy/Post-Install - what to install and how, once you've flashed the router with the OpenWrt image
- Widy/Redux - getting Widy up and running
- Widy/Scapy - installing Scapy (to manipulate packets via Python) on Widy
- Widy/Serial - connecting to Widy over serial connection (requires soldering and disassembly)
- Widy/Startup Services - setting startup services to run on boot when Widy is started
- Widy/Tcpdump - installing tcpdump (to dump network traffic) on Widy
- Widy/Toolbox - installing various tools (tcpdump, aircrack, scapy, stunnel, etc.) on Widy
- Widy/Tricks - how to use the Widy pocket router
Raspberry Pi:
- Kali Raspberry Pi - installing Kali Linux on a Raspberry Pi
- Kali Raspberry Pi/Headless - connecting to a headless installation of Kali Linux running on a Raspberry Pi
- Kali Raspberry Pi/Headless Walkthrough - A step-by-step walkthrough of connecting to a headless Raspberry Pi running Kali 2.0 via a crossover cable.
- Kali Raspberry Pi/Installing - installing Kali Linux on a Raspberry Pi using an SD card
- Kali Raspberry Pi/Post-Install - procedure after you install Kali Linux on the Raspberry Pi (MUST DO!!! ABSOLUTELY NECESSARY!!!)
- Kali Raspberry Pi/SD Card - the Kali Linux SD card
- Kali Raspberry Pi/SSH - setting SSH configuration settings on Raspberry Pi post-install and on boot
- Kali Raspberry Pi/Startup Services - setting startup services to run on boot in Raspberry Pi running Kali Linux
- Kali Raspberry Pi/Tcpdump - using tcpdump to turn the Raspberry Pi into a network tap
- Kali Raspberry Pi/WirelessRouter - turning the Raspberry Pi into a wireless router using hostapd
Radio
Notes related to ham radio and software defined radio.
-
- General - Notes from studying for general class ham license.
- Radio/Digital Modes - digital modes for ham radio.
- SSTV - Slow scan TV
-
- SDR - Software defined radio
- Fldigi - Polyglot package for digital modes
- Flmsg - Backend for fldigi
- Digital Modes on Raspberry Pi - running digital modes using a Raspberry Pi
Twitter bots
Twitter bot flocks.
Apollo Space Junk Bot Flock
- apollospacejunk - Apollo Space Junk Twitter Bot Flock. Tweeting fake Apollo radio chatter.
Paradise Lost Bot Flock
- milton - Perpetually tweeting John Milton's Paradise Lost on Twitter.
Ginsberg Bot Flock
- ginsberg - Perpetually tweeting Allen Ginsberg poems on Twitter.
This Is Watergate Bot
- watergate - A Watergate White House tapes dialogue generator.
Code
Twitter bots code at git.charlesreid1.com:
- apollospacejunk - Apollo Space Junk Twitter Bot Flock. Tweeting fake Apollo radio chatter.
- milton - Perpetually tweeting John Milton's Paradise Lost on Twitter.
- ginsberg - Perpetually tweeting Allen Ginsberg poems on Twitter.
- watergate - A Watergate White House tapes dialogue generator.
- rainbow-mind-machine - An extendable framework for running Twitter bot flocks.
Reading
My record of what I've read over the last 10 years: My Reading List
My record of what I've highlighted over the last 7 years on my Kindle: My Kindle Clippings
My list of quotes, most extracted from books: Quotes
Compiled list of book notes from the Charlesreid1 wiki:
- Ulysses (Joyce)
- The Idiot (Dostoyevsky)
- Philosophical Remarks (Wittgenstein)
- Vietnam (Karnow)
- Wars of Watergate (Kutler)
- Watergate (topic page)
- Basic Writings of Bertrand Russell (Russell)
- D-Day (Beevor)
- The Gun (Chivers)
- Rise and Fall of the Third Reich (Shirer)
- Dead Sea Scrolls (topic page)
Jams
Favorite Spotify playlists, compliments of yours truly.
Hapiness And/Or Death By Sevens