I'm William Pearson.
I'm a Computer Engineering graduate. My primary focus is on software. I am really excited by both operating systems and compilers.
I am currently employed by Microsoft as a Software Engineer II in Azure Compute. While interning at Google, I worked on the memory management subsystem of the Linux kernel. Before that, I interned twice at Amazon.
The views I express on this website are solely my own. They do not reflect the views of my current employer, nor do they reflect the views of any of my past employers. But you already knew that, didn't you? My hobby projects are also solely my own.
On a computer, I spend most of my time in Terminal and Emacs. The only activity which I have found to demand a GUI is web browsing due to images and video not displaying at all in edbrowse. I prefer open source software and generally use Debian GNU/Linux or Arch Linux. I release most of my code under the GNU GPL v3 or later although a couple of my projects — such as my toml library — are underneath the MIT License.
My hobbies outside of programming include chess, hiking, board games, and reading. I've been hiking to a number of places within Washington state, the Oregon coast, and in the San Francisco Bay Area. I do not have a chess elo rating. Before COVID-19 shut down the library, I was reading a new book every two or three weeks.
fffll[Git Repo on Github] — Interpreter for js/lisp/python inspired language written in C. Work In Progress compiler targetting x86-64 assembly on Linux
fyc[Git Repo on Github] — Container runtime in Rust
I give my friends burrito recommendations when they go to San Francisco.
English letter frequency order goes something like "ETAOINSHRDLCUMWFGYPBVKJXQZ". Figuring that infrequently used letters were as good a source for a domain name as any, I picked xqz and found the .ca to be open.