I'm a recent graduate from Virginia Tech, having taken several courses in mathematics and computer science. I've coded in several languages, including Java, C (POSIX and Win32), C++, Python, JavaScript, Go, and Rust. I have covered several topics as detailed below, but my most passionate interests are:
- Cryptography (low-level primitives and applied cryptography, i.e. OpenSSL/libcrypto)
- Kernel space development in Linux and Windows, as well as embedded C development (FreeRTOS, bare metal)
- Network traffic analysis (libpcap, Scapy) on protocols such as HTTP, TLS, and broadly TCP/IP
- Process tracing (ptrace, Frida)
- Concurrent programming (multithreading, async/await pattern and futures)
- Network programming (at the socket level)
- Foreign function interfaces (calling C/C++ code from other languages and environments, including WebAssembly and iOS and Android apps)
- Unit testing, code coverage, CI/CD (GitLab CI/CD and GitHub Actions)
In general, I enjoy low level development (C, C++, Rust, assembly) for Windows, macOS, Linux, and Android. I frequently write Python scripts for prototyping. I'm also very familiar with the Linux terminal, including commands like curl
, ssh
, tcpdump
, lsof
, and others.
Virtualization technologies interest me, including virtual machines (VirtualBox, VMware, QEMU) and containers (Docker).
Topics that I've covered:
- Machine learning (admittedly an older course)
- Low level cryptographic primitives
- Applied cryptography
- Various build tools including CMake, Make, and Maven
- A little bit of iOS and Android app development
- Both of them include foreign function interfaces to C code
- JSON and XML encoding and decoding
- Built-in de/serialization methods
- SQL and MongoDB
- HTTP requests
- Compression with zlib/gzip
- Regex
- The full SDLC process with various languages here
- Also covers data structures and algorithms
- Packet capture and analysis with libpcap and Scapy
- Also covers a little bit of full-stack development
- GitHub Actions and GitLab CI/CD
- Multithreaded socket programming
- Async/await pattern
- Foreign function interfaces
- Remote procedure calls
- Also includes a little bit of Frida
- Device drivers with user space clients in Linux and Windows
- Process tracing in Linux, macOS, and Windows
- Bare metal C coding for an Arduino Mega 2560 Rev3 board
- Serial/UART echo server in Python as well as clients in C and Python
- Inline assembly for x86-64 and AArch64
- Direct system calls in Linux/macOS and Windows
- Low level memory management in Linux/macOS and Windows
- Web scraping