Hello 👋
My name is Colin Ihrig, and I am a software engineer based out of Pittsburgh, PA in the United States. I have worked for small startups with a handful of employees as well as large enterprises such as Samsung, Walmart, and Amazon.
I have been developing open source software since 2013. I have created or contributed to manyprojects since then. Here are some of the highlights:
Node.js is a popular cross-platform JavaScript runtime. I began contributing toNode.js in 2014, and joined itsTechnical Steering Committee in early 2015. Some of my past contributions include:
- Initial author of Node'stest runner. This includes the
node:test
core module, the CLI runner, mocking, snapshot testing, and code coverage. - Initial author of Node'sSQLite integration.
- Initial author of Node'sWebAssembly System Interface (WASI) integration.
- Significant contributions to the
child_process
,cluster
,dns
,fs
,os
, andreport
modules. - Initial author of the
lts
module used to generate the Node.js long term support (LTS) schedulegraphic. - Maintaining Node'spostmortem debugging metadata, including sending appropriatepatches to the V8 project. I also updated thellnode tool to supportV8's TurboFan optimizing compiler.
- Past member of theRelease working group,Diagnostics working group, andSecurity working group.
libuv is a C library that provides cross-platform asynchronous I/O and an event loop. It has been used by projects such as Node.js,BIND,CMake, theJulia programming language,Neovim, andmany more.
I have been alibuv maintainer since 2016 and handled many of its releases. I have also worked on APIs for native file copying, streaming directory iteration, retrieving storage volume information, working with environment variables, and retrieving user information, to name a few. I have alsospoken about libuv at a number of conferences and meetups.
I createduvwasi, one of the first WebAssembly System Interface implementations. uvwasi was built on top of libuv to maximize platform support. It was donated to the Node.js project, and has been integrated into the following projects:
- Node.js
- Thewasm3 WebAssembly runtime.
- WABT: The WebAssembly Binary Toolkit.
- TheGrain programming language.
- Thefizzy WebAssembly interpreter.
- TheWebAssembly Micro Runtime (WAMR).
gRPC is a cross-platform, cross-language Remote Procedure Call (RPC) framework. It was originally developed at Google, and is now a project of theCloud Native Computing Foundation (CNCF).
I createdgrpc-server-js, the first pure JavaScript gRPC server implementation that I am aware of. I also rewrote the server in TypeScript and upstreamed it to the officialgRPC project. I have alsospoken about gRPC at several conferences, including gRPConf.
hapi.js is a Node.js web framework that originally gained fame at Walmart for successfullyhandling Black Friday traffic.
I have been involved in the hapi ecosystem in various capacities as a contributor, maintainer, andTechnical Steering Committee member since 2014.
If the problem persists, check theGitHub status page orcontact support.