I am a 25 year old university student at Grand Canyon University, majoring in Information Technology and an amateur Linux kernel and LLVM hacker.

I am interested in performance analysis, compilers, security, and operating systems.

Below are links to some of my open source contributions. If you have any questions about them, feel free to reach out to me with the links on the home page.

ClangBuiltLinux

ClangBuiltLinux is a collaborative organization between several engineers across different companies like Google, Linaro, and IBM to improve building the Linux kernel with the LLVM tools such as clang and lld. I have contributed various fixes to the mainline Linux kernel and LLVM, helped triage and debug issues on the issue tracker, improved the continuous integration setup through a set of build scripts, boot scripts, and Docker images, and developed a set of toolchain build scripts for myself and others to use for consistent testing/developing.

Flash Kernel

I supported the Pixel 2 (XL) [walleye/taimen], Pixel (XL) [sailfish/marlin], OnePlus 6 (enchilada), OnePlus 5/T (cheeseburger/dumpling), and Nexus 6P (angler).

All of my kernels focused on stability/security by merging in the stable updates from kernel.org, any relevant updates from Qualcomm, and building with newer compilers to fix warnings during compilation. Below are the highlights for each kernel.

  • Pixel 2 (XL): First to merge in linux-stable and build with up to date versions of Clang. Added EAS 1.5 from kernel/common.

  • Pixel (XL): First standalone custom kernel to be compiled properly with Clang, fixing the vast majority of warnings.

  • OnePlus 6: I recieved this device as part of OnePlus’s developer program. I was the first to merge in linux-stable and the updates from Code Aurora Forum, build with Clang, and port over the 32-bit vDSO for arm64 from the Pixel 2 kernels (initially created on a 4.4 base).

Miscellaneous open source contributions

  • android-linux-stable: Several Android kernel trees with the latest stable tags from kernel.org merged into them, along with conflict resolution notes and a how-to process for other developers and information for users to understand the process. Testing includes merging into my own Flash Kernel repositories linked above and building with all of the relevant defconfigs/compilers. I report results back to the stable tree maintainers, receiving praise for my efforts on a couple occasions (one and two). I streamlined the maintenance of these repos into a script.

  • android-kernel-clang: Collected the core Clang patchset for Android kernels from the Pixel 2 and Chromium kernel repositories, supplementing them with fixes for warnings from out of tree code.

  • AnyKernel3: A kernel flashing utility for TWRP, responsible for unpacking the boot image, applying any requested ramdisk changes, repacking the files, and flashing them to the boot image partition.

  • kernel/common: Google’s common Android kernel.

  • sonyxperiadev/kernel: The Linux kernel used for Sony’s Open Devices program.

Miscellaneous interesting personal repos

  • My scripts: The scripts I use for my workflow and personal configuration files, focusing on increasing productivity by decreasing manual intervention needed to doing repetitive tasks.

  • WSL2-Linux-Kernel: My personal kernel for Windows Subsystem for Linux 2.