Ecosyste.ms sponsors
An open API service aggregating public data about GitHub Sponsors.
An open API service aggregating public data about GitHub Sponsors.
Funding Links: https://github.com/sponsors/Avaq
Sometimes I feel so strongly about a project that I want to find the people responsible, and give them money. This page represents the opportunity for you to get excited about my projects, and give me money.
About me
I've been interested in open source from very early on in my now 12 year long software development career. Whenever I see an opportunity to release something as open source, I make an effort to take it. This philosophy has stuck with me, and as a result, you'll find a variety of projects that I have worked on, or am working on.
Another early interest I've had, for some reason, was higher order functions. The first project that combined my two interests was the Tuxion Framework, where the "core data" class built a lot on higher order functions. What I didn't realize at the time was that I was slowly discovering functional programming as I kept refining the libraries I was building. When, through JavaScript, I discovered functional programming, everything fell into place for me and I became hugely invested in the functional JavaScript community.
Projects and Contributions
🦋 Fluture is a functional alternative to Promises
I have been trying to improve asynchronous programming in JavaScript since 2012, which I started with by embracing jQuery's Deferred API, and later Bluebird Promises. After years of working with Promises, I became very aware of the problems plaguing them, and I created Fluture.
It's a project I work on mostly alone, with contributions from David Chambers and Diego Ceresuela. This project is currently my proudest piece, and represents my strongest views on API design and the fight against complexity.
Many related works have been created, by myself and others, which together with Fluture I spend significant time maintaining and refining. This effort is partially supported by the company I work for (wearerasonablepeople), but a lot of the time I spend is my own.
🙈 Sanctuary is a refuge from unsafe JavaScript
Not long after releasing Fluture, I became a prolific contributor to David Chambers' Sanctuary project, which I remain to this day. I work together with David on many of his Open Source projects, including some not originally related to Sanctuary. Some examples are Sanctuary Benchmark, Doctest, and the Async Problem.
🌈 Fantasy Land is a specification for algebraic JavaScript
As a maintainer or contributor to various libraries that implement the Fantasy Land specification, I have a vested interest in the betterment of Fantasy Land itself. As such, I have been, and will remain, active in some of its developments.
▶️ Oletus is a minimal ECMAScript Module test runner
When I added ESM support to Fluture and related projects, I went looking for a way to run tests against this code natively, so stack traces would be unaffected, and performance would be reasonable. I found Oletus, which at the time was one of its kind, and incorporated it into all Fluture projects. This put a few new demands on the project, which I was happy to cater to over the course of several large contributions to the project.
At the time of writing, Jest and AVA are still working on ESM support, and even though Mocha has added it since, I have grown attached to Oletus for its simplicity and speed, and will continue to use it and contribute to it as needed.
🐧 NixOS is a purely functional Linux distribution
I'm incredibly excited about this project, and have been using a NixOS based workstation for many years. My contributions to this project mainly consist of fairly minor packaging efforts, and recently an effort to improve bash completions for the nixops command.
Need to contact me about something - maybe there no right tier for you? Drop me a message on Gitter or Keybase.
🦋 Fantasy Land compliant (monadic) alternative to Promises
Language: JavaScript - Stars: 2484🙈 Refuge from unsafe JavaScript
Language: JavaScript - Stars: 3043Specification for interoperability of common algebraic structures in JavaScript
Language: JavaScript - Stars: 10131Nix Packages collection & NixOS
Language: Nix - Stars: 18384