Skip to content

Instantly share code, notes, and snippets.

@LarryRuane
Last active October 8, 2021 05:45
Show Gist options
  • Save LarryRuane/272feb3cacb45fbfb213a16dd7f044f7 to your computer and use it in GitHub Desktop.
Save LarryRuane/272feb3cacb45fbfb213a16dd7f044f7 to your computer and use it in GitHub Desktop.

The Brink grant beginning on 11 June 2021 allowed me to reduce my commitment to my full-time job with The Electric Coin Company (ECC) from 40 to 32 hours per week, freeing 8 hours per week to dedicate to the advancement of Bitcoin, especially Bitcoin Core. As I did not make a request to work on a specific project, most of my efforts have been contributing to PR review.

Most of my time has involved reviewing the Review Club PR for the week. I hosted Review Club once, during which I demonstrated (in a video meeting) how use of the standard debugger, gdb, can be helpful in PR review (I had routinely been doing this myself.) This session was recorded and will be (or has been) used in an educational series that Adam Jonas (Chaincode Labs) is creating to onboard new Bitcoin Core developers.

I've participated in nearly every Review Club meeting, and preparing well has allowed me to be an active contributor to the discussion. I've also reviewed and commented on 20 or so Bitcoin Core PRs.

I did spend a limited amount of time on my own PRs; #22577 was merged during the Brink grant period. This PR arose while reviewing a different PR.

John and I have been meeting every 2 weeks on video chat, which has been great for coming up to speed in this community.

A couple of years ago, I wrote what I called a POW mining simulator to model the subtle aspects of block propagation by a set of mining nodes over a network with various latencies. Adam Jonas recently asked to use this simulator as part of their onboarding training, and he asked me to write some discussion questions. I used some of my Brink time to do this, as well as make improvements to the simulator.

ECC requested that I attempt to direct my review efforts, when possible, to PRs that may be helpful to Zcash, which is the main project of ECC, and is a software fork of Bitcoin Core. Understanding gained through review would make porting (cherry-picking) these PRs into Zcash easier and with better quality.

So far, I haven't been successful in abiding by this request, mainly because the PRs that most need review (and are the subject of the Review Club meetings) are not applicable to Zcash, as it's become quite far behind Bitcoin Core in many areas (Zcash was forked from Core in 2015). But ECC understand this, and continues to support me working on Bitcoin Core.

One of the best outcomes of the Brink grant for me has been that I'm able to make several good connections with other developers, especially Gloria and Sebastian, and a few others. Not surprisingly, and even if it's not entirely fair, the fact is that the rest of the developer community (even beyond Brink) looks slightly differently at developers who are known to be supported by a grant; this has been evident in my experience.

Over the next 6 months, I'd like to continue mostly on review, which is so critical, and also provides the best avenue for learning, and maybe eventually contributing significant PRs or proposing on a project. There is one PR I definitely plan to do, and have already started on, the mempool witness replacement project that Gloria asked me to do.

I'm not a good multitasker, so I'd like to eventually move to working on Bitcoin Core full-time. This project is a good fit for me; I enjoy its anarchical nature. I'm a true Bitcoin zealot -- this is a world-changing project. I can't say strongly enough how grateful I am for the Brink grant!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment