32 Followers
72 Following
206 Posts

Hey there! I'm Campbell, an 18yo software developer doing some Python, Swift, Kotlin, or whatever else is asked of me, and a DSi/3DS/Wii/Wii U modder.

Currently studying CompSci @ #RIT

@DamiDoop <3

PronounsHe/They
Websitehttps://ninjacheetah.dev
GitHubhttps://github.com/NinjaCheetah
Ko-fihttps://ko-fi.com/ninjacheetah

Tora-Con is this weekend! I don't actually have tickets because I waited too long deciding whether or not I wanted to go and they sold out, but it's still fun to wander the public areas of campus and see all the awesome cosplays since yknow I live here and I can still at least do that.

I also got to see a few cool fursuits! Someday I shall join their ranks.

I've also started to finally draft that article about TigerDine because it has been many many months at this point and I still haven't made one solid formal writeup of why and how I made it. I've told the story a bunch of times in a bunch of places, but I'd really like to consolidate all of that into one solid blog article I can point to in the future (maybe even to ITS if they're still interested in hiring me :p)

Okay I need to be honest, the libWiiPy history and future articles were massively rushed lol. I wrote them sequentially in the same afternoon while recovering from being sick, and that clearly showed.

To remedy this, I have revised both of them! The future article is more or less a brand new piece, and so I would absolutely recommend that you go and re-read it here: https://ninjacheetah.dev/2026/03/11/the-future-of-libwiipy.html The history article was also revised, but it wasn't changed quite as drastically.

#Wii #programming #rust

The Future of libWiiPy, WiiPy, and NUSGet

The winds are changing, and libWiiPy has an uncertain future ahead.

ninjacheetah.dev

Sometimes i like these very fast paced drawings where I just keep moving the pencil without thinking at all, its like therapy


#Furry-art #furry #traditional-art #art

TIL that the NES "blacker than black" palette entry 0d is not just blacker than black, but imitates a sync pulse that can cause TVs and scalers/capture devices to lose sync.

What's more, The Immortal on NES used it to gain 1 more shade of grey. I've yet to be able to run it.

aforementioned blog article out now!!!

I'd suggest you first read https://ninjacheetah.dev/2026/03/11/the-history-of-libwiipy.html to get the libWiiPy and co lore, and then from there read https://ninjacheetah.dev/2026/03/11/the-future-of-libwiipy.html to get a picture of where I'm going with all of these projects in the future, as there are some pretty major changes ahead.

libWiiPy is dead, long live rustwii!

#Wii #programming #rust #python

The History of libWiiPy, WiiPy, and NUSGet

NUSGet is undoubtedly the most well known thing I've made, but where exactly did it and its dependencies start?

ninjacheetah.dev

As of today, rustwii has officially reached feature parity with libWiiPy/WiiPy!

...I'm pretty sure at least.

I have a whole lot of testing to do now to ensure that rustwii behaves as expected, but hopefully soon WiiPy will be officially deprecated and replaced by rustwii. More on that soon in a blog post!

I wanted to write more but every idea I have will be too disjointed if I try to split it up to post it here so just read the blog post when it comes out lol

#Wii #programming #rust

“Caller must set this bit. This bit must be set before every operation. Ensure this bit is set.”

you can’t tell me what to do

I have more plenty more improvements where that came from on the way!

I want the rustwii API to make a lot more sense than the libWiiPy API, because that’s not exactly the most friendly thing to work with. I have contact with people that know how to make good libraries now which should hopefully aid me in making something people will like using :D

Massive refactors for how titles are handled in rustwii are underway!

This removes the duplicate instance of the content records stored in the ContentRegion struct, and actually entirely removes that struct because it was mostly useless. Content is now stored in and managed by the Title struct, which removes the middle man and makes managing content a lot easier. More to come soon!

https://github.com/NinjaCheetah/rustwii/commit/326bb56ecedb44b746a1dd21253de4a610de28c2

#programming #rust #Wii

Refactored entire way that title content is handled · NinjaCheetah/rustwii@326bb56

The ContentRegion has been entirely dissolved. Its fields were not particularly useful, as the content records were just a duplicate from the TMD, the file data itself, and then two integers that w...

GitHub