I am a full-stack developer and avid contributor to Open Source since 2012. I am the author of Aura. As a former teacher, I am skilled at public speaking and give conference presentations in both English and Japanese.
2022 September - Present
2020 May - 2022 June
Private contracting work in a variety of fields and technologies.
2018 August - 2020 May
Core developer of the Kadena Public Blockchain.
ncurses
.2016 May - 2017 December
Open-source developer on the GeoTrellis project. Author of VectorPipe.
2014 May - 2016 April
Full-stack Scala developer.
2010 August - 2013 July
English Teacher (ALT) for the Sasebo Board of Education
2013 September - 2016 April
An accelerated undergraduate Diploma program for university graduates.
Requirements completed 2016 April. Diploma awarded 2020 May.
2008 September - 2009 August
A one-year exchange program for international students.
2006 September - 2010 April
A four-year degree, majoring in Asian History and Languages.
Year | Project | Role | Language | Description |
---|---|---|---|---|
2024 | applying | Author | Rust | Apply functions in method position. |
nonempty | Author | Common Lisp | Non-empty collections for Common Lisp | |
filepaths | Author | Common Lisp | Modern, consistent filepath manipulation | |
sly-overlay | Author | Emacs Lisp | Evaluation overlays for Common Lisp in Emacs | |
2023 | transducers | Author | Emacs Lisp | Ergonomic, efficient data processing |
fn-macro | Author | Common Lisp | A lambda shorthand for Common Lisp | |
faur | Author | Clojure | Fast data mirror for the AUR (Clojure port) | |
Falldown | Author | Fennel | A classic TI-83 game revived | |
Snake | Author | Fennel | A simple implementation of Snake. | |
nonempty-collections | Author | Rust | Correct-by-construction non-empty collections | |
transducers | Author | Fennel | Ergonomic, efficient data processing | |
transducers | Author | Common Lisp | Ergonomic, efficient data processing | |
2022 | faur-supervisor | Author | Elixir | Data refresh and watchdog for a faur server |
faur | Author | Rust | Fast data mirror for the AUR | |
disown | Author | Rust | Drop ownership via a method | |
r2d2-alpm | Author | Rust | R2D2 resource pools for ALPM connections | |
2021 | Love Letter Tracker | Author | Rust/WASM | Knowledge tracking tool for Love Letter |
validated | Author | Rust | The cumulative sibling of Result and Either | |
streak | Author | Emacs Lisp | A minor mode for tracking "streaks" | |
2020 | linya | Author | Rust | Simple Concurrent Progress Bars |
totp | Author | Go | Time-based One-Time Password library | |
totp-lite | Author | Rust | Time-based One-Time Password library | |
credit | Author | Rust | Tool for measuring Github contributions | |
cargo-aur | Author | Rust | Tool to release Rust projects on Arch Linux | |
versions | Author | Rust | Rust port of my versions library | |
kanji | Author | Rust | Rust port and update of my kanji library | |
active | Author | Go | Tool to keep Github CI Actions up-to-date | |
skylighting-lucid | Author | Haskell | Lucid support for skylighting | |
org-mode | Author | Haskell | Parser for Emacs Org Mode files | |
chainweb-data | Core Dev | Haskell | Data ingestion tool for Chainweb | |
2019 | Chainweb | Core Dev | Haskell | Multi-chain Proof-of-Work Blockchain |
bag-of-holding | Author | Haskell | An ncurses terminal wallet for Chainweb | |
bounded-queue | Author | Haskell | Bounded queue data structure library | |
chainweb-miner | Author | Haskell | A mining client for Chainweb | |
streaming-events | Author | Haskell | Client-side consumption of EventStream | |
2018 | MapAlgebra | Author | Haskell | Efficient, polymorphic Map Algebra |
fosskers.ca | Author | Purescript | My personal website | |
streaming-pcap | Author | Haskell | Stream packets via libpcap | |
servant-xml | Author | Haskell | Servant support for XML Content-Type | |
streaming-attoparsec | Maintainer | Haskell | Attoparsec integration for streaming | |
streaming-bytestring | Maintainer | Haskell | Effectful sequences of bytes | |
2017 | VectorPipe | Author | Scala | VectorTile processing through GeoTrellis |
draenor | Author | Haskell | Convert OSM PBF files into ORC format | |
axe | Author | Haskell | Split large OSM XML files | |
streaming-osm | Author | Haskell | Stream OpenStreetMap protobuf data | |
scalaz-and-cats | Author | Scala | Benchmarks for Scalaz and Cats | |
scala-benchmarks | Author | Scala | Benchmarks for common Scala idioms | |
2016 | GeoTrellis | Core Dev | Scala | Geographic data batch processing suite |
pipes-random | Author | Haskell | Producers for handling randomness | |
vectortiles | Author | Haskell | GIS Vector Tiles, as defined by Mapbox | |
2015 | MyShroom | Core Dev | Scala | AI-based image recognition of mushrooms |
crypto-classical | Author | Haskell | Samples of classical encrytion schemes | |
microlens-aeson | Author | Haskell | Law-abiding lenses for Aeson | |
opengl-linalg | Author | C | OpenGL-friendly Linear Algebra | |
Tetris | Author | C | A 3D Tetris game using OpenGL | |
versions | Author | Haskell | Types and parsers for software versions | |
2014 | elm-touch | Author | Elm | Extended Touch library for Elm |
2048 Game | Author | Elm | The 2048 game in Elm (play) | |
2013 | Hisp | Author | Haskell | A simple Lisp |
2012 | Aura | Author | Haskell | Package Manager for Arch Linux |
kanji | Author | Haskell | Analyse Japanese Kanji | |
2011 | Sudoku | Author | Python | A sudoku solver |
tgrep | Author | Python | A search tool for Reddit's log files |
Certification | Level | Year |
---|---|---|
Goethe-Zertifikat German Language Proficiency | B1 | 2015 |
Japanese Kanji Proficiency Test | 2 | 2024 |
Japanese Language Proficiency Test | N1 | 2012 |
Topic | Date | Venue | Location | Language |
---|---|---|---|---|
Fortran and Doom Emacs | 2022 Feb | DoomConf | Online | English |
Terminal Progress Bars in Rust | 2021 Feb | Vancouver Rust Meetup | Vancouver | English |
Haskell in Production | 2019 June | LambdaConf | Boulder | English |
Beauty and Correctness in Code | 2019 May | Polyglot Unconference | Vancouver | English |
Pact Basics | 2018 Nov | NODE Tokyo | Tokyo | Japanese |
Introduction to Chainweb | 2018 Nov | Neutrino Meetup | Tokyo | Japanese |
How not to Write Slow Scala | 2018 June | LambdaConf | Boulder | English |
Tips on Scala Performance | 2018 May | Polyglot Unconference | Vancouver | English |
Extensible Effects | 2016 Apr | Vancouver Haskell Meetup | Vancouver | English |
Applicative Functors | 2014 Apr | Vancouver Haskell Meetup | Vancouver | English |
Thoughts on Japanese Education | 2012 Feb | Arkas Sasebo | Sasebo | Japanese |
I prefer Lead Climbing, but also do Top Rope and Bouldering both outdoors and indoors.
Year | Sport | Competition | Venue |
---|---|---|---|
2020 | Top Rope | The Flash | Cliffhanger |
2018 | Bouldering | BC Bouldering Provincials | North Van Hive |
I specialize in Japanese, but have also studied German, Italian, and Esperanto.
Group | Date | Position |
---|---|---|
VVGO: FF7 Opening Bombing Mission | 2024 March | Electric Bass |
Tokyo Embassy Choir | 2022 Fall - Ongoing | Voice |
VVGO: Skyword Sword | 2022 Summer | Electric Bass |
SFU Choir | 2019 Fall | Voice |
SFU Choir | 2013 Fall - 2016 Spring | Voice |
Haiki PTA Chorus | 2010 - 2013 | Voice |
Westwood Collegiate Jazz Band | 2002 Fall - 2006 Spring | Tenor Sax |