Hello, my name is Vlad Faust.

I'm a passionate developer currently working on my own programming language.

You can follow me on Twitter and GitHub and also send nudes to mail at vladfaust.com

Sponsoring Onyx

, Moscow, Russia


Standardizing and implementing a system programming language is hard, but you can help! Find out how you can sponsor the future, and how many hours does it take to create a language mascot, in this post.

TL; DR;

I wAnT yOuR mOnEy! 🤑 Pledge to my will on Patreon or buy me a coffee at BMC! 😂😂😂


Table of Contents

Introduction

I’ve been working on the Onyx programming language full-time for the past year. The work includes standardization and implementation. The process is near to completion, and there is a substantial chance for you to write your name in history.

In this post, I’ll try to justify my eager will to grab your money with some proof of work.

By the way, I assume you’ve read my recent post on System Programming, there is a section regarding to the open-source sustainability; as long as all my work is open, I’m also, um, an open-source engineer and thus need financial support.

Deeds Already Done

The onyxlang.org domain name was registered on June 20th 2019. As I have a sin of registering domains as soon as I have a solid idea, the day may be treated as the Onyx birthday.

Today is August 27th 2020, and I’ve already spent a plethora of time on Onyx. You can see it for yourself in NXSF and FancySoft organization repositories!

Tracked Time

From June 20th 2019 until August 27th 2020, this is the total time I’ve spent on coding Onyx specification, reference(s) and implementation(s):

1043 hrs 34 mins

I’ve had hard time on maintaining a single project across machines, so there is a lot of them (projects). You may click on a project’s name to see a detailed timing per file.

Due to WakaTime limitations, I have to split the periods.

From June 20th 2019 until June 20th 2020:

Project name Time spent Notes
onyx 362 hrs 28 mins Three generations of compilers. There even was one written in Lua!
onyxlang 237 hrs 47 mins The Specification
lang 109 hrs 25 mins A mix of specification and references
onyxsoftware 29 hrs 21 mins Specification, again
kaleidoscope 25 hrs 32 mins Well, I’ve been learning how to fight dragons!
ref 18 hrs 9 mins Some reference
reference 15 hrs 10 mins Duh
onyxstd 14 hrs 45 mins An attempt to implement a standard library… in Onyx
onyxcontrib 10 hrs 7 mins Some Onyx code like HTTP server implementation
onyxc 9 hrs 58 mins Another work put in a compiler
code 9 hrs 29 mins The Visual Studio Code extension
compiler 7 hrs 36 mins A compiler?
Total 849 hrs 2 mins

From June 20th 2020 until August 27th 2020:

Project name Time spent Notes
onyxlang 106 hrs 1 min The Specification
nxc 47 hrs 56 mins The C++ Compiler, finally
onyx-quickref 19 hrs 29 mins The “quick” reference
onyx 14 hrs 31 mins Mostly reference
onyxlang.com 2 hrs 44 mins The website
quickref 2 hrs 42 mins Also reference
fancyx 1 hr 9 mins Some parts of the C++ compiler
Total 194 hrs 32 mins

Untracked Time

One shall not forget that designing a language does not equal constantly slapping keyboard strokes. In fact, implementing before giving a good thought may lead to tragic results.

Shower is the general sponsor of Onyx

I’ve destroyed several notebooks while deciding on either using do / end or tabs. There has been a double of them throughout the year, but who’s gonna believe in it? Would you dare to calculate the number of sleepless hours I’ve spent on thinking?

Time Tracked in Real… Time

WakaTime is awesome, because it allows to embed recent coding statistics, so you can see how much I wasted my youth coded during the last 30 days!

Coding activity in the last 30 days (updates daily)
Languages used in the last 30 days (updates daily)

Sponsoring the Development

So, the idea is simple: I want to be able to pay my bills while working on a thing both I enjoy working on and being useful for humanity.

Later on, I’m planning to make NXSF an official 501 (c) non-profit organization, so donations made to it would be tax-exemptive, and I will have an official salary (finally!). However, this would only happen when the language moves to the alpha stage (see the roadmap at nxsf.org).

Right now, Onyx is in the pre-alpha stage. Nothing is publicly stable, work-in-progress etcetera. But I still need to pay my bills. And as I haven’t got a real job for a long, long time, my financial cushion is relatively thin.

As a copyright holder, I’m planning on licensing the specifications I’ve been working on with a free, open-source license requiring attribution.

That said, I can offer you, a potential sponsor, a perpetual* attribution in the Onyx programming language standard specification. Your name or company logo with an optional link will be put into the according Early Backers section of the Standard.

* As long as my attribution is required. For example, if the Standard is rewritten from scratch by an NXSF committee without infringing my patent rights, it then stops being a derivation of my work.

The Dark Scheme

According to the roadmap, during the Pre-alpha stage no donations are accepted by NXSF. Instead, you can donate directly to me, Vlad Faust, as I am effectively being the single developer thereof. Note that these donations would not be tax-exemptive.

Also, note that the Pre-alpha stage implies no code contributions accepted officially. Of course, you’re free to pitch your ideas informally (e.g. via Twitter or the forum), but you will not have any voting rights in any of standards development during this time.


Donations made to me during this period accumulate, and the resulting sum defines the tier of your attribution.

  1. From $25. You’re attributed with your name in the Early Individual Backers section.

  2. From $100. You’re attributed with a custom link in the Early Individual Backers section.

  3. From $500. Your company’s logo and link are attributed in the Early Business Backers section.

Individual tier backers are listed separately from Business tier backers.


I also want to incentivize early backers, so the pyramind scheme is as follows.

I learned the hard way that estimating time on completing such a big project as a language specification is quite hard. Nonetheless, I’m planning to move on to the alpha stage in 3-5 months from today (August 27th 2020).

The earlier you donate, the more belief you have in me, the more you shall be rewarded. And higher reward means higher placement in the backers list!

The placement of your attribution depends on your donation score, which is based on the amount you’ve donated. Each month from today until the alpha stage, the score multiplier is reduced proportionally. The multiplier stays the same for you throughout the months if you donate sequentially, i.e. without cancellations.

An example

Let’s imagine that alpha stage comes December 13th 2020. That means that since September 1st 2020, 3 full months passed. The donations are made 1st of each recurring month.

Month a donation was made Donation score multiplier
September 1
October (1 - 1/4) = 3/4
November (1 - 2/4) = 2/4
December (1 - 3/4) = 1/4

If Jake began their sponsorship in September with $100 per month without cancellations, his final score would be 100 * 1 + 100 * 1 + 100 * 1 + 100 * 1 = 400.

If John donated $100 once in October, then skipped November and donated the same $100 in December (as the hype grows), his final score would be 100 * (3 / 4) + 100 * (1 / 4) = 100.

As a result, John’s placement would be lower than Jake’s in the backers list.

In case of argument, the day a donation was made matters: making a donation on 3rd gives more score than on 5th.

My Soundcloud

You’re welcome to become my patron on Patreon or buy me a coffee at BuyMeACoffee.

Donations made on Patreon imply exclusive Forum and Discord roles, and Onyx Visioner merch. BMC donations do not have those benefits but can be smaller and one-time. Ideal if you want to just tip me a couple of times.

Direct Bitcoin donations are also accepted, but they are not eligible for listing.

Everlasting Dev

I want to assure you that I have no long-term plans on living on these sponsorships. I’m neither a YandereDev nor some Alex Medvednikov. The sponsorship opportunity is in effect exclusively during the pre-alpha stage.

Once the Foundation is established, you’ll be guided to put your money there instead, in the form of donations, which implies tax exemption and proper voting rights.

Fancy Software LLC is a for-profit company and I as no other else want Onyx to be complete, so I can start working on my premium packages, self-hosted, gaming and AI products. No Patreon sponsorship or non-profit salary can buy me a house.

Unless I am a Mozilla Foundation manager

Until then, I want to be able to pay my bills and maybe purchase a newer graphics card. In return, you get a chance to be immortalized as a visioner invested in a better future.

Follow me on Twitter and GitHub, join the conversation on the forum and also follow NXSF and FancySoft to stay updated about the progress made.

Oh yes, there is also an official (i.e. NXSF-governed) standard planned on the language’s mascot. It will be a panther-girl named Onyx-chan. Nya! 🐾