~groovestomp/personal_website

2b5f559b9c0f6cf3e0d0a7ccff253e19b3df098f — Aaron Oman 1 year, 3 months ago b285a39
Various personal site updates - mostly CV
7 files changed, 60 insertions(+), 38 deletions(-)

M code/index.html
M cv/index.html
R cover_letter_2020-12.pdf => media/cover_letter_2020-12.pdf
R cover_letter_2021-10.pdf => media/cover_letter_2021-10.pdf
A media/modern-software-development-gotta-follow-rules-20057934.mp4
R resume_2020-12.pdf => media/resume_2020-12.pdf
R resume_2021-10.pdf => media/resume_2021-10.pdf
M code/index.html => code/index.html +49 -35
@@ 34,62 34,76 @@

      <ul>
        <li>
          <p><a href="https://github.com/GrooveStomp/chip8-zig">CHIP-8 Emulator (Zig)</a><br/>
            A basic CHIP-8 emulator written from scratch in Zig.<br/>
            This is a complete rewrite of the CHIP-8 emulator below that I wrote in C11,
            benefitting from lessons learned writing a NES emulator in C11.</p>
          <p><a href="https://git.sr.ht/~groovestomp/gsgb">GameBoy Emulator</a><br/>
            This is the Nintendo GameBoy emulator I am in the process of writing. C++.
          </p>
        </li>
        <li>
          <p><a href="https://github.com/GrooveStomp/chip8-zig">CHIP-8 Emulator</a><br/>
            CHIP-8 emulator written in Zig.
          </p>
        </li>
        <li>
          <p><a href="https://git.sr.ht/~groovestomp/gsnes">NES Emulator</a><br/>
            NES Emulator written in C11.</p>
            <a href="https://www.youtube.com/c/javidx9">javidx9</a>'s NES emulator rewritten in C.</p>
        </li>
        <li>
          <p><a href="https://github.com/GrooveStomp/chip8">CHIP-8 Emulator</a><br/>
            A basic CHIP-8 emulator written from scratch with a built in graphical debugger, written in C11.</p>
            The first emulator I wrote. C.
          </p>
        </li>
        <li>
          <p><a href="https://github.com/GrooveStomp/3dsw">3D Software Renderer</a><br/>
            This is my latest realtime 3D software renderer, based off of the work done by <a href="https://onelonecoder.com/">OneLoneCoder / javidx9</a>.
            It&rsquo;s not an exact copy as it&rsquo;s written in C11 instead of C++11.
            I have written a few software renderers, now:<br/></p>
            <a href="https://www.youtube.com/c/javidx9">javidx9</a>'s Realtime 3D software renderer rewritten in C.
          </p>
          <ul>
            <li><a href="https://github.com/GrooveStomp/tiny-renderer">Tiny Renderer</a><br/>
              An offline renderer I wrote in Go, partially to learn Go, based off the project of the same name, linked in the repo.</li>
            <li><a href="https://github.com/GrooveStomp/software-renderer">Software Renderer</a></br>
              A &ldquo;clean room&rdquo; realtime implementation with only mathematical resources to work from.</li>
            <li><a href="https://github.com/GrooveStomp/raytracer/tree/master/in_one_weekend">Raytracer</a><br/>
              An offline implementation based off of the book mentioned in the repo.</li>
            <p>
              I've written a few software renderers; three are linked below, but there have been several
              more over the years that I've long since lost the source code for.
            <p>
            <li><p><a href="https://github.com/GrooveStomp/tiny-renderer">Tiny Renderer</a><br/>
              Software renderer in Go.</p></li>
            <li><p><a href="https://github.com/GrooveStomp/software-renderer">Software Renderer</a></br>
              A &ldquo;clean room&rdquo; realtime implementation with only mathematical resources to work from. C.</p></li>
            <li><p><a href="https://github.com/GrooveStomp/raytracer/tree/master/in_one_weekend">Raytracer</a><br/>
              Raytracer in C.</p></li>
          </ul>
        </li>
        <li>
          <p><a href="https://git.sr.ht/~groovestomp/gsgb">GameBoy Emulator</a><br/>
            A Nintendo GameBoy emulator I am in the process of writing.<br/>
            Temporarily on hold.<br/>
            Started in C++11, but will be re-written in Zig and/or Odin.</p>
        </li>
        <li>
          <p><a href="https://git.sr.ht/~groovestomp/c-parser">C Parser</a><br/>
            HandmadeHero and The Jeff and Casey Show motivated me to start exploring
            making my own language and development tools.  This is the first bit of that
            exploration.  I decided to start designing a new language based on a
            foundation of C.  This is my hand-written recursive-descent parser written in
            C. Currently it only builds a debug parse tree and outputs that in the
            terminal.  There is no code generation.</p>
            Abandoned attempt at writing a C compiler. This is just the C parsing front-end. Output is a debug
            parse tree.
          </p>
        </li>
        <li>
          <p><a href="https://github.com/GrooveStomp/gslibc">Personal C Library</a><br/>
            I started doing a lot more hobby programming in C.  C has a really weak
            standard library, so you always end up rolling your own.  This is intended to
            be along the lines of <a href="https://github.com/gingerBill/gb">gingerBill&rsquo;s
              libraries</a> or the <a href="https://github.com/nothings/stb">stb
            Personal standard library. Single header file ala <a href="https://github.com/gingerBill/gb">gingerBill&rsquo;s
              libraries</a> and <a href="https://github.com/nothings/stb">stb
              libraries</a>.</p>
        </li>
        <li>
          <p><a href="https://github.com/GrooveStomp/gscfg">Config-file Precompiler</a><br/>
            For one project I really wanted to have a yaml-style configuration file but
            not have to do dynamic memory allocations or runtime parsing of the config
            file to use the data.  My solution was to build a precompiler which generates
            a .c file for inclusion into your source tree.</p>
            Convert a yaml-like file into C sourcecode you can embed in your program.  By definition, no
            dynamic memory allocations or runtime parsing of the config file.
            </p>
        </li>
        <li>
          <p>
            <a href="https://github.com/GrooveStomp/go-debugger">Go Debugger</a></br>
            Abandoned attempt at writing a Go debugger. Partial functionality.
          </p>
        </li>
        <li>
          <p>
            <a href="https://github.com/GrooveStomp/go-agenda">Go Agenda</a></br>
            Abandoned standalone org-mode-like program for the CLI.
          </p>
        </li>
        <li>
          <p>
            <a href="https://github.com/GrooveStomp/ruby-stack-trace">Ruby Stack Trace</a></br>
            Abandoned rewrite of <a href="https://jvns.ca/about/">Julia Evan</a>'s Ruby Stack Trace program for debugging a live running ruby process.
          </p>
        </li>
      </ul>


M cv/index.html => cv/index.html +11 -3
@@ 19,12 19,17 @@
      <h1>Curriculum Vitae</h1>
      <p>I'm Aaron Oman, a software craftsman hailing from British Columbia, Canada.</p>
      <p>I've been a software professional since 2005, with my roots in game development.</p>
      <p>My interest is in systems programming. I'm interested in using tech stacks involving C, C++, Zig and Go.</p>

      <p>
        My interest is in systems programming. I'm particularly interested in GC-less environments like C,
        C++, Zig and Odin.  Go is an acceptable compromise for high level programming where performance is not
        important.
      </p>

      <ul>
        <li><a href="https://www.linkedin.com/in/aaronoman">LinkedIn</a></li>
        <li><a href="/cover_letter_2021-10.pdf">Cover Letter</a> (October 2021)</li>
        <li><a href="/resume_2021-10.pdf">Resume</a> (October 2021)</li>
        <li><a href="/media/cover_letter_2021-10.pdf">Cover Letter</a> (October 2021)</li>
        <li><a href="/media/resume_2021-10.pdf">Resume</a> (October 2021)</li>
        <li><a href="https://git.sr.ht/~groovestomp">SourceHut</a></li>
        <li><a href="https://github.com/groovestomp">GitHub</a></li>
      </ul>


@@ 141,6 146,9 @@
      <h2 id="accomplishments">Accomplishments & Events</h2>

      <ul>
        <li>2021 - Resumption of GameBoy emulator project.</li>
        <li>2021 - Commitment to C++ for personal projects.</li>
        <li>2021 - Recommitment to pure software development for future career moves.</li>
        <li>2021 - Switched to permanent full-time devops role</li>
        <li>2021 - Returned to Mogo as split devops/developer</li>
        <li>2020 - Joined Commit as full-time devops (Go, Docker, Kubernetes, Terraform)</li>

R cover_letter_2020-12.pdf => media/cover_letter_2020-12.pdf +0 -0
R cover_letter_2021-10.pdf => media/cover_letter_2021-10.pdf +0 -0
A media/modern-software-development-gotta-follow-rules-20057934.mp4 => media/modern-software-development-gotta-follow-rules-20057934.mp4 +0 -0
R resume_2020-12.pdf => media/resume_2020-12.pdf +0 -0
R resume_2021-10.pdf => media/resume_2021-10.pdf +0 -0