Become a sponsor to Colin Ihrig
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.
Current and past open source projects
I have been developing open source software since 2013. I have created or contributed to many projects since then. Here are some of the highlights:
Node.js
Node.js is a popular cross-platform JavaScript runtime. I began contributing to Node.js in 2014, and joined its Technical Steering Committee in early 2015. Some of my past contributions include:
- Initial author of Node's test runner. This includes the
node:test
core module, the CLI runner, mocking, and code coverage. - Initial author of Node's WebAssembly 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) schedule graphic. - Maintaining Node's postmortem debugging metadata, including sending appropriate patches to the V8 project. I also updated the llnode tool to support V8's TurboFan optimizing compiler.
- Past member of the Release working group, Diagnostics working group, and Security working group.
libuv
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, the Julia programming language, Neovim, and many more.
I have been a libuv 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 also spoken about libuv at a number of conferences and meetups.
uvwasi
I created uvwasi, 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
- The wasm3 WebAssembly runtime.
- WABT: The WebAssembly Binary Toolkit.
- The Grain programming language.
- The fizzy WebAssembly interpreter.
- The WebAssembly Micro Runtime (WAMR).
gRPC
gRPC is a cross-platform, cross-language Remote Procedure Call (RPC) framework. It was originally developed at Google, and is now a project of the Cloud Native Computing Foundation (CNCF).
I created grpc-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 official gRPC project. I have also spoken about gRPC at several conferences, including gRPConf.
hapi
hapi.js is a Node.js web framework that originally gained fame at Walmart for successfully handling Black Friday traffic.
I have been involved in the hapi ecosystem in various capacities as a contributor, maintainer, and Technical Steering Committee member since 2014.
Featured work
-
nodejs/node
Node.js JavaScript runtime ✨🐢🚀✨
JavaScript 107,993 -
libuv/libuv
Cross-platform asynchronous I/O
C 24,394 -
cjihrig/grpc-server-js
Pure JavaScript gRPC Server
JavaScript 61 -
cjihrig/node-v8-inspector
Chrome extension for launching V8 Inspector for Node.js debugging
JavaScript 52 -
cjihrig/credit-card
Credit card validation
JavaScript 105 -
cjihrig/jsparser
An ECMAScript 5.1 parser, written in JavaScript. The ECMAScript grammar was created using Jison.
JavaScript 97
$100 a month
SelectI will offer prioritized support on any of my personal repos.
$250 a month
SelectOne hour of support/consulting via Hangouts/Zoom/etc per month.
Your name and optional company logo will be added to the Top Sponsors section of https://github.com/cjihrig/sponsors.
$500 a month
SelectThree hours of support/consulting via Hangouts/Zoom/etc per month.
Your name and optional company logo will be added to the Top Sponsors section of https://github.com/cjihrig/sponsors.