I'm currently pursuing a master's degree in comparative Indo-European linguistics at the University of Vienna. I got my B.A from the University of California, Berkeley in mathematics and linguistics.
I'm particularly interested in historical linguistics, computational phonology and semantics. We do all three in the Reconstruction Engine project (with John B. Lowe and Martine Mazaudon).
I've also worked on several compilers and have professional experience working with quantum computers. I was a compiler engineer programming low-level control devices for decoherence-free subsystem (DFS) based qubit systems at HRL Laboratories. I have also worked for ThirdLaw Molecular LLC working on compiler performance, IR design, and bytecode machine design for the Clasp project in support of computational chemistry systems used for the development of molecular recognition technology. At Sony Interactive Entertainment, I was an intern working on the LLVM project, where my principal project was porting a new pass manager to be used for codegen passes. I also ported the Rust language to platform devices as another project there.
Charles Zhang. 2019 'Experiences in porting SBCL to RISC-V'. In: SBCL20's 20th Anniversary Workshop Vienna. Austria 9 – 10 December 2019. [Conference or Workshop Item]
John Lowe; Alex François; Martine Mazaudon and Charles Zhang. 2019 'Automatic recognition of semantic proximity for cognate detection'. In: 53rd Societas Linguisticas Europas. Leipzig University, Leipzig, Germany 21 – 24 August. [Conference or Workshop Item]
I started the project sbcl-librarian while at HRL Laboratories and added the necessary support to sbcl to allow creating shared libraries. At the 2022 European Lisp Symposium in Porto, I gave a talk about this functionality. More on my blog.
I worked on a large text processing and typesetting system for the volume Window to a Vanished World: Lahu Texts from Thailand in the 1960's by Jim Matisoff, published by Aquiline Press, documenting the Lahu language. Code here,
For my final project in a Slavic linguistics class taught by Darya Khavitskaya at UC Berkeley, I came up with a novel approach for computationally representing Havlík's law and tested the feasibility of reconstructing Proto-Slavic with an algorithmic implementation of the comparative method. I present my results in a peper titled 'Computational considerations for the reconstruction of Proto-Slavic'.
Eventually I'll get to writing more random stuff to link here or post on my blog.
Here is a poor, barely-started attempt of mine at a Folksprak. I may update it, some day...