monero-ccs-proposals/0xfffc-2024Q1.md
2024-04-09 19:11:33 +00:00

62 lines
3.8 KiB
Markdown

---
layout: wip
title: "0xfffc part-time C++ development (3 months, February, March, April, 2024)"
author: 0xfffc
date: 8 Jan 2024
amount: 45
milestones:
- name: 80 hours
funds: 15
done: 29 February 2024
status: finished
- name: 80 hours
funds: 15
done: 30 March 2024
status: finished
- name: 80 hours
funds: 15
done:
status: unfinished
payouts:
- date: 4 March 2024
amount: 15
- date: 9 April 2024
amount: 15
- date:
amount:
---
### What
I propose to spend 20 hours a week for 3 months working on Monero Core. Here are some areas, in tentative order of descending importance/specificity, that I'd work on:
- Will focus on reviewing and testing different PRs.
- Work with @selsta to fix different issues.
- Work with @hyc to fix incoming issues and improve our LMDB usage in Monero.
- Improve Doxygen documentation.
- Improve general documentation of the codebase.
- General improvements to our codebase. Like removing dead code, and simplifying the codebase, especially the [epee module](https://github.com/monero-project/monero/pull/9090).
- Investigate wallet2 API interoperability with other languages. As it comes up regularly in IRC dev channel discussions, we need to interoperability of wallet2 API. There have been suggestions like rewriting it from scratch or exposing C-style API from wallet2 C++ code. I am planning to investigate this issue and report to the community about the pros and cons of each approach and how much investment we need for each approach.
- Go through the issue tracker and look into solving existing issues, will confirm issues to work with trusted developers in the community.
- Analyze existing static analyzers (clangd-based analyzer, NASA/ikos, Facebook/infer, etc) and report to @selsta about the possibility of adding one of them as a workflow to our GitHub repository. Target will be running static analysis on submitted PR as workflow.
### Who
I am anonymous; you can call me 0xFFFC; after I finished my Master's degree in compilers, I worked as a C++ engineer (9-5) in a big-tech software company for 3 years on a product with more than 1 billion active users, chances are you are using it right now as you reading this text. But over time I realized that I wanted to work on crypto, because I believe in Monero's mission. My technical background is mostly in Compilers (GCC) and Operating Systems (Linux kernel). But I have always followed cryptography and now I am switching to cryptocurrency as my long-term career plan.
I have already finished [one bounty](https://bounties.monero.social/posts/75/6-500m-blake2b-c-dev-challenge-seraphis) and have [another bounty](https://bounties.monero.social/posts/91/1-000m-twofish-addition-to-monero) in the pipeline. Submitted different [PRs](https://github.com/monero-project/monero/pull/9090). and multiple reviews, including [9103](https://github.com/monero-project/monero/pull/9103), [9084](https://github.com/monero-project/monero/pull/9084), [9061](https://github.com/monero-project/monero/pull/9061), [7935](https://github.com/monero-project/monero/pull/7935).
Helped @hyc to close bug report LMDB side [9378](https://bugs.openldap.org/show_bug.cgi?id=9378#c14), working on [9920](https://bugs.openldap.org/show_bug.cgi?id=9920) at the moment. With the help of @selsta, I am managing labels for all the incoming PRs and issues on our repo too.
I will provide regular updates at each milestone. Including details regarding (a) how much time I have spent on each specific problem, (b) what I have done, (c) what I am currently doing, and (d) what is my plan for the next milestone. Each update will provided publicly and will be reviewed by trusted developers in the community.
### Funding
- 15xmr/mth * 3 months = 45xmr
- Schedule: 20hr/week * 12week
Freedom wins.
0xFFFC