Brayden Rayner

Computer Science Student / Programmer

About Me

I am a computer science student who is passionate about systems programming, open-source software, and has a deep, insatiable curiosity about how everything works under the hood.
For the past four years, I have mostly worked in C and Java, but I have recently started writing projects in Rust. My main interests span systems programming, embedded systems, computer graphics, and language development, however I also enjoy trying out new areas of computer science.
Outside of programming I enjoy golfing on the weekends during the summer, and I am passionate about natural languages and linguistics. I currently speak English, French, and Italian, and I study Spanish, German, Neapolitan, Old Norse, as well as some other languages I have studied previously. I find it interesting that there is overlap between computer science and linguistics, and would like to learn more about Natural-Language Processing because of that.

Skills & Tools

  • Rust
  • C (Programming Language)
  • Kotlin
  • Java
  • REST & MVC
  • MySQL
  • Linux
  • Front End Development
  • Power BI
  • Text Parsing

Projects & Work

This section features a list of some of my best projects. For any project on the list, click the data_object to see the project's source code.

  • So you want to write a parser?

    data_object
    • Communication
    • Text Parsing
    • Problem Solving

    A LinkedIn article I wrote, in which I explain how to take raw text, convert it into a stream of tokens, and then use that stream of tokens to construct an abstract syntax tree. The article features code examples, and two exercises at the end for the reader to try out.

  • PXPR/pxpr (Parse Expression)

    data_object
    • Rust
    • Problem Solving

    An open-source command line expression evaluator supporting arithmetic and C-style boolean expressions. pxpr seeks to act as a more advanced calculator that allows for not only complex arithmetic operations, but also boolean expressions.
    I created pxpr because I always found myself starting a terminal, and running the Python shell whenever I wanted the value of an expression quickly. I always wished I could just find a program that could compute an expression without needing to use a REPL, so I decided to make it myself.

    Compute an expression

    • To compute an expression with pxpr, simply pass it as a string to the pxpr CLI:

      pxpr "true && false"
    • And pxpr will compute the expression and output the result.

      	 = false
  • c8emu - CHIP-8 Emulator

    data_object
    • C (Programming Language)
    • Problem Solving

    A virtual machine emulating the CHIP-8 architecture, complete with 4096 bytes of memory, 16 8-bit registers, and a scaled 64x32 graphical display using SDL2.

  • jpeg2ascii - .jpeg to ASCII art converter

    data_object
    • Java
    • Problem Solving
    • Clean Code

    A program I wrote that can convert a JPEG image into an ASCII art representation. It makes use of the Luma grayscale algorithm to first convert the image to grayscale from which each pixel is assigned a character based on its shade of grey.

Languages

My entire life I have been interested in learning foreign languages, and have studied quite a few. Currently, my strongest languages are:

  1. English → Native
  2. Italian → Proficient
  3. French → Proficient

though I regularly study several other languages such as Old Norse, German, Spanish, and Neapolitan.

Why Old Norse?

Old Norse — the language of 'the Vikings'— interests me because it was used ~1000 years ago but shows so much similarity to modern Germanic languages such as English and German. Studying Old Norse has helped me with other languages because it requires the study of several grammatical features that are not present in Modern English.