Skip to content
View cgarey2014's full-sized avatar
💭
Tinkering
💭
Tinkering

Block or report cgarey2014

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cgarey2014/README.md
Chris Garey

chris@cgarey2014:~$ whoami

Cybersecurity · Linux · Firmware tinkering

Pinellas, FL  ·  St. Petersburg College — A.S. Cybersecurity  ·  CompTIA Network+ (in progress)

profile views

🔐 What I do

  • Cybersecurity, in training and in practice — securing systems, finding vulnerabilities, and closing them. Currently studying for my A.S. in Cybersecurity at St. Petersburg College.
  • Linux, 10+ years — Ubuntu, Debian, Arch and Mint. Comfortable in the shell, in config files, and in a machine that will not boot.
  • Network troubleshooting — from a dead link to a DNS answer that goes to the wrong place. If it is supposed to talk to something and does not, I want to know which layer broke it.
  • Firmware and hardware — flashing, recovering and rewriting the firmware on my own security hardware, microcontrollers and all.
  • Bash scripting — because the second time I do something by hand, it should have been a script the first time.

🧰 IT experience

area what that looks like in practice
Linux systems 10+ years across Ubuntu, Debian, Arch and Mint — installs and re-installs, package and dependency breakage, drivers, permissions and users, storage, and boot loaders that stopped cooperating
Shell and scripting Bash for automation: repetitive fixes become one-liners, then scripts, then something I forget about until it saves me an afternoon
Networking TCP/IP, addressing and subnetting, switching and routing basics, DNS, DHCP, wireless. Reading a packet capture to find out what actually happened instead of what should have
Hardware and firmware Microcontrollers (ESP32 family), serial and USB debugging, flashing devices over the wire, and recovering ones that will not come up
Security work Wireless surveying, packet capture and review, vulnerability scanning, log review, and hardening what I find

🔎 How I troubleshoot network and technical problems

The short version: find the layer, prove it, and only then change something.

  1. Reproduce it and write down what "broken" means. "The network is down" is not a symptom. "This host cannot resolve that name but can ping the IP" is.
  2. Work the stack in order — physical and link, then addressing and routing, then name resolution, then the application. A cable or a dead access point explains more outages than anything clever does, and it is the fastest thing to rule out.
  3. Change one variable at a time. Two changes at once means I have learned nothing about which one mattered.
  4. Read the logs before guessing. journalctl, dmesg, ip a, ip route, ss, tcpdump. The device is usually already explaining itself.
  5. Bisect when it is complicated. Halve the path, test, and repeat until the break is undeniable — then fix that and only that.
  6. Prove the fix with the smallest test that fails before it and passes after it. "It works now" is not evidence; something that failed a minute ago and passes now is.
  7. Write it down. The note I take on the third time I hit the same problem is the one that becomes a script.

For firmware, the same loop just moves down a level: confirm it is really the firmware, flash the smallest change, keep the serial console open, and check the flash layout before blaming the code.

⚡ Vibe coding firmware

I love vibe coding new firmware for my cybersecurity devices — taking a device I already own, working out how its display, radios and storage actually fit together, and then rebuilding the parts that annoy me: fitting text to a small screen, a theme that is actually readable, a boot screen with some personality.

The one on GitHub right now is Marauder Mini v3 — Cyberpunk Edition: a neon retheme and 128 px text-fitting rebuild of the ESP32 Marauder firmware for the ESP32-C5 Mini v3, plus a browser flasher to install it. It is a fork of justcallmekoko's ESP32 Marauder — his work, my paint.

🎓 Education and credentials

  • A.S. in Cybersecurity — St. Petersburg College (in progress)
  • Phi Theta Kappa Honor Society — inducted for academic achievement
  • CompTIA Network+ — studying (in progress)

🛠️ Tech stack

Linux Ubuntu Debian Arch Bash Git ESP32 Networking Security

📊 Stats

Chris's GitHub stats Top languages
Contribution streak

WDGWars

📫 How to reach me

Email LinkedIn GitHub

root@localhost:~# stay curious · break it in the lab · document the fix

Pinned Loading

  1. shell_notes shell_notes Public

    A lightweight command-line notebook for Linux users to save and manage terminal sessions, review and search logs, and delete logs.

    Python

  2. BadUSB-Scripts BadUSB-Scripts Public

    A collection of BadUSB payloads designed for Flipper Zero and other HID attack devices, focused on password extraction and offensive security tasks.

    9 1

  3. Bash-Scripts Bash-Scripts Public

    A repository of scripts and tools I have both written and collected

    Shell

  4. Pi-Wazuh-Agent-Installer Pi-Wazuh-Agent-Installer Public

    An installation script for installing both Wazuh-Agent and Suricata on a Raspberry Pi.

    Shell 1

  5. Python Python Public

    A collection of python scripts

    Python 1