<pclass="py-1"><strong>Software Engineer</strong> with over 14 years experience architecting, implementing, and shipping secure, cross-platform applications & APIs. Proficient in functional and object-oriented programming paradigms; delivering clean, maintainable code; utilizing modern, standards-based web technologies.
<pclass="py-1"><strong>Software Engineer</strong> with over 15 years experience architecting, implementing, and shipping secure, cross-platform applications & APIs. Proficient in functional and object-oriented programming paradigms; delivering clean, maintainable code; utilizing modern, standards-based web technologies.
<spanclass="tooltip tooltip-accent"data-tip="I'd choose TypeScript for any new projects, but I still like good old JavaScript">JavaScript</span> /
<spanclass="tooltip tooltip-accent"data-tip="And Deno. Loving the Typescript support in Deno. I'll try Bun next, it looks promising">NodeJS</span> /
HTML /
<spanclass="tooltip tooltip-accent"data-tip="I ♡ CSS. Flexbox has increased my quality of life in a big way. I've also used a few preprocessors like Sass & Less, and I tried out Tailwind for the first time on this page - I think I like it!">CSS</a>
</li>
<li>
<spanclass="tooltip tooltip-accent"data-tip="I built our video conferencing web application using WebRTC. For the first few years it was a constant battle with Browsers changing their APIs every version, but that has mostly settled down. Safari is still awful, of course.">WebRTC</span> /
<spanclass="tooltip tooltip-accent"data-tip="I'd choose TypeScript for any new projects, but I still like good old JavaScript">JavaScript</span> /
<spanclass="tooltip tooltip-accent"data-tip="And Deno. Loving the Typescript support in Deno. I'll try Bun next, it looks promising">NodeJS</span> /
HTML /
<spanclass="tooltip tooltip-accent"data-tip="I ♡ CSS. Flexbox has increased my quality of life in a big way. I've also used a few preprocessors like Sass & Less, and I tried out Tailwind for the first time on this page - I think I like it!">CSS</a>
</li>
<li>
<spanclass="tooltip tooltip-accent"data-tip="I built a video conferencing web application using WebRTC. For the first few years it was a constant battle with Browsers changing their APIs every version, but that has mostly settled down. Safari is still awful, of course.">WebRTC</span> /
<spanclass="tooltip tooltip-accent"data-tip="I did Advent of Code 2020 in OCaml (see my Git repo), and it was SO GREAT">OCaml</span> /
<spanclass="tooltip tooltip-accent"data-tip="Then I did AoC 2021 in Racket. I didn't find it as easy as OCaml. I think I just need more practice with Lisps">Racket</span> /
<spanclass="tooltip tooltip-accent"data-tip="Still (constantly) learning Rust. I did AoC 2022 in Rust and it was a bit.. painful">Rust</span> /
<spanclass="tooltip tooltip-accent"data-tip="I've just started my Zig journey. I'm doing AoC 2023 in Zig, and it's not as bad as I thought so far!">Zig</span>
</li>
<li>
<spanclass="tooltip tooltip-accent"data-tip="Huge fan of Nix. I've replaced Homebrew on MacOS with Nix, I run NixOS on my VMs, and I use home-manager to manage my dotfiles. So good!">NixOS</span> /
<spanclass="tooltip tooltip-accent"data-tip="I've been using vi since I can remember. I used Emacs for a few years (mostly for Org-mode), but came back to vi when Neovim started getting good. I'm also excited about a few other editors: Helix, Kakoune, Lapce.. so many good ones out there!">Neovim</span> /
<spanclass="tooltip tooltip-accent"data-tip="I did Advent of Code 2020 in OCaml (see my Git repo), and it was SO GREAT">OCaml</span> /
<spanclass="tooltip tooltip-accent"data-tip="Then I did AoC 2021 in Racket. It was my first real Lisp. I'm a fan">Racket</span> /
<spanclass="tooltip tooltip-accent"data-tip="Still (constantly) learning Rust. I did AoC 2022 in Rust and it was.. painful. Steep learning curve">Rust</span> /
<spanclass="tooltip tooltip-accent"data-tip="And most recently, I tried AoC 2023 in Zig. What a nice little language!">Zig</span>
</li>
<li>
<spanclass="tooltip tooltip-accent"data-tip="Huge fan of Nix. I've replaced Homebrew on MacOS with Nix, I run NixOS on my VMs, and I use home-manager to manage my dotfiles. So good!">NixOS</span> /
<spanclass="tooltip tooltip-accent"data-tip="I've been using vi since I can remember. I used Emacs for a few years (mostly for Org-mode), but came back to vi when Neovim started getting good. I'm also excited about a few other editors: Helix, Kakoune, Zed.. so many good ones out there!">Neovim</span> /