#let fontsize = 10.2pt
#let typeface_text = "Fira Sans"
#let typeface_math = "STIX Two Math"

#set text(font: typeface_text, size: fontsize)
#show math.equation: set text(font: typeface_math, size: fontsize)

#let inlineFrac(a, b) = [$#super([#a]) #h(-1pt) slash #h(-1pt) #sub([#b])$]

#set smartquote(enabled: false)

#show heading: q => {
  if q.depth != 1 {
    v(fontsize / 5)
  }
  text(q, weight: "bold")
  if q.depth == 2 {
    v(-0.7em)
    line(length: 100%, stroke: (thickness: 0.7pt))
    v(0.5em)
  }
}

#let head = {
  align(center)[
    = Alexander Lucas
    #set text(font: "Fira Code")
    #text([alexander.clay.lucas\@gmail.com], size: fontsize * 0.9)
    #linebreak()
    #text([(+1) 347-644-9265], size: fontsize * 0.8)
  ]
}

#set page(margin: (x: 0.9in, y: 0.35in))

#head

== Summary
I am a computer science enthusiast with an inclination for harnessing computer science
theory to tackle practical challenges as cleanly as possible. I believe strongly in the
importance of codebase health and quality, maintaining those values over time as programs and projects evolve.

== Skills
#let skills = [
  *Languages*: Javascript/Typescript, Java, Python, Rust, Haskell, OCaml, F\#, Ruby, C\#, C, C++, Lean 4, HTML/CSS, LaTeX, Typst
  #linebreak()
  *Platforms*: Ten years using GNU/Linux including Debian and Redhat, QEMU, Google Cloud
  #linebreak()
  *Technologies*: Buildroot, WebGL, Numpy/Pytorch/Sklearn, Matplotlib, Git, Gitlab/Github, PostgreSQL, Node, Slurm
  #linebreak()
  *Soft Skills*: Technical Writing, Software Documentation, Presentation
]

#skills

#let interline() = {
  box(width: 1fr, inset: fontsize / 4, line(length: 100%, stroke: (thickness: fontsize / 10, dash: "loosely-dotted")))
}

== Experience
#let experience = [
  *Embedded Software Engineer, Jr.* #interline() #text(weight: "semibold")[Trusted Microelectronics, KBR, 01/2025-05/2025 (End of Funds)]
  - Continuing to work with the same great team, tools and software as during my internship.
  - Developing QEMU virtual hardware devices for building/testing platform-specific applications.

  *Linux Driver Development Intern* #interline() #text(weight: "semibold")[Trusted Microelectronics, KBR, 05/2024-08/2024]
  - Learned Linux kernel subsystems and developed device drivers for custom "system on a chip" hardware, including GPIO/pin controllers and an AES encryption accelerator module.
  - Worked with team members to develop testing and assurance methodologies including coverage profiling and input fuzzing for Linux drivers while porting Linux to our boards.
  - Automated common tasks, writing scripts to handle OS installations and code restructuring.
  - Presented project status and details to large, cross-functional and interdisciplinary groups.

  *Teaching Assistant* #interline() #text(weight: "semibold")[James Madison University, 08/2022-12/2023]
  - Took questions and led review sessions in proofs, programming, tooling, debugging code.
  - Maintained a calm and encouraging environment while helping students with difficult problem sets against a deadline.
]

#experience

== Education
#let degrees = [
  *B.S. Computer Science* (3.8 GPA) #interline() #text(weight: "semibold")[James Madison University, 12/2023]
]
#degrees
#let courses = [
  - Programming Languages, Compiler Construction
  - Independent Study in Constructive Logic, Symbolic Logic
  - Applied Algorithms, Data Structures
  - Parallel and Distributed Systems, 3D Graphics
]
#courses
*Study Abroad, London, UK* #interline() #text(weight: "semibold")[JMU at Florida State Study Center, Summer 2023]
#let cw = [
  - Rigidity Theory
  - Independent Study in Computational Geometry
]
#cw

*Academic Awards*
#let awards = [
  - "President's List" #interline() #text(weight: "semibold")[JMU, 2023]
  - "Alonzo Church Award for Theory" #interline() #text(weight: "semibold")[JMU CS Department, 2024]
]
#awards

== Personal Projects
#let projects = [
  *Aasam* (on #underline([#link("https://hackage.haskell.org/package/aasam")[Hackage]])) is a Haskell implementation of the CFG-generation algorithm $#math.cal([M])$ from Annika Aasa's paper "Precedences in specifications and implementations of programming languages".
  #linebreak()
  *Randall* (on #underline([#link("https://gitlab.com/mobotsar/randall")[Gitlab]])) is a Discord bot for executing dice-notation, making it easy to play TTRPGs remotely. It uses a recursive descent parser and tree-walk interpreter on the backend and the .NET Discord library up front.
]

#projects
