200 stars?! =0/,..,O= #151
ZZ-Cat
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
HOLY SHIT, FOLKS!!!
This is quite the milestone for me. This is literally the first successful project I have ever posted to GitHub. I wanna say a huge thank you to you all good folks out there for using CRSF for Arduino in your projects, it means the world to me—especially considering that it hasn't been an easy road for me, and I got 🤏 this close to discontinuing and shutting down CRSF for Arduino (including deleting its repository) on several occasions throughout its lifecycle.
That said, CRSF for Arduino is here to stay. I made that decision when I saw it cross the 100 star threshold, and now we're at 200 stars? CRSF for Arduino is taking off (pun intended), and all you good folks out there cloning and forking CFA and using it in your projects, y'all are the ones what help keep this project alive. If it weren't for you, I would have shut CFA down a long time ago. But it looks like CFA has found its place in the community, and I'm genuinely impressed to see this happen, and it's all thanks to you.
Now, as you all know, this year I have had to step away from working on CFA to look after myself and focus on some other aspects of my personal life. That's still ongoing, and it doesn't mean that I have forgotten about CFA.
Over time, I have found my entire approach to coding was what was burning myself out. Every waking second of every day, I was working on CFA and forcing myself through things like fatigue, brain fog, sleep deprivation, and all 'round trying to keep writing code when my brain was being like "Ugh! Are we done now? Can we do something else now?"—it was like I was trying to put out the same work quantity and go at the same pace as an entire team of developers (CFA is owned and maintained by one developer—me).
During my break, I have realised how unsustainable that was for me.
Now... I have reached out on several occasions, and have had folks come-and-go with helping me out on a couple of things and I am very grateful of that. The troubles still remain with people ghosting the project, and/or they may help out with one thing and once that one thing is said-and-done, I don't hear from them since that. For a time, I fixated on that to the point where it was getting me depressed and causing me to have a fair amount of avoidance and animosity toward my own project—something I originally started up as not only a fun thing for me, but also being like "I need this thing in my own personal projects, but rather than keep it to myself, I wanna share it with the world as my way of giving back to two otherwise seemingly unrelated communities that helped get me through the roughest times of my life."
...and those two "seemingly unrelated communities" is the Arduino maker community and the drone community... and I lost sight of that... until recently.
When I decide to come back, I'll do it on my terms, and when I do, I'm coming back to CRSF for Arduino's founding principle and that's bringing The Crossfire Protocol to the Arduino ecosystem.
I'll be doing a lot of clean-up in the code-base, as well as closing all the old issues and pull requests. Now, I'm aware some of you are still waiting on that Serial Transmitter Interface, and I have a wee bit of bad news for you folks...
...and that's to say I bit off more than I could chew with that. It was requested to me by the developers of a VSCode plug-in called Atopile, and my initial excitement of having my first legitimate company chime in on my project got the better of me and I over-estimated what was involved (as they themselves had greatly over-simplified their feature request). It's also out-of-scope with the current state of CRSF for Arduino, as CFA currently enables compatibility with your development board and your CRSF-enabled receiver—hence the Serial Receiver Interface.
I'm looking at moving away from doing point releases too, as I found this was a contributing factor to my workload and over-all stress related to CFA.
Point release is shit like "Version 0.1.0", "Version 1.0.0", "Version 1.1.0", "Version 2.0.0" etc.
From my perspective, it's tedious to maintain. I forget what I have actually committed to CFA between releases (and that is why I sometimes leave out vital changes in my release notes... because I forgot they were even there to begin with. =</.>=), and searching through my commit history to find things I have actually done is more time consuming than working on my code-base.
In its place, I am taking a leaf out of The Linux Way™️ and replacing my point release model with the rolling release model. When I do this, I will make it compatible with how both Arduino and PlatformIO do version tracking. So, version releases as they stand will be no more. In their place, you may see something along the lines of "2025.06.06" in the version tracking files, which implies the date of the latest code.
This also means updates themselves will inevitably be incremental with a handful of commits (or even as little as one commit), and the frequency of new releases will become more sporadic as I am only doing new releases as and when needed and regardless of the current state of the Main-Trunk. This will help me keep CFA well-balanced with the rest of my personal life without sacrificing the quality of the project.
Now for the inevitable rant... people wanna be like "More testing is needed", but very few folks are willing to put their time and effort into doing precisely that (and submitting constructive feedback that isn't harsh levels of negative about the project).
I rely on you to test CFA on your development boards. With a theoretical compatibility of over 300+ boards, it is unrealistic to expect me to do all the testing myself. I would not be able to get through the first 50 of those boards—even if I kept going at my previously unsustainable pace.
Not only that, what kind of testing would you do? Compile-and-flash, then bind-up and wiggle your control sticks and see if you get any output in your Serial Monitor? Or... dare I say... unit testing? =o/.O=
In all seriousness, CFA is not much different from any other FOSS project here on GitHub. The XZ Utils Backdoor Incident of 2024 highlighted that very well. I keep referencing that, because the original maintainer (before Jia Tan) was in similar circumstances to me—overwhelmed, burnt out, and absolutely done with what they started out as a wee passion project, to which they lost interest in... only to get taken advantage of by a rat bag. Fortunately, I didn't get taken advantage of by any rat bags. That said, the XZ Utils Backdoor Incident was a supply chain attack and I don't ever want that becoming of CFA, that's why since that incident, I got real anal about security and tightening shit up in my own project... and I have been studying cybersecurity and psychology since then, so that I can spot shit like social engineering before someone thinks they're clever enough to pull the wool over my eyes.
Anyway, that's my rant done. I'm trying to do fewer of these too, so that I can write more of what really matters to CFA, and that's making the code-base reliable and keeping my work-life balance in check, so that I can continue to give you good quality code you can use in your project(s).
Beta Was this translation helpful? Give feedback.
All reactions