Stop Fighting About Getters and Setters

Part of tinkering with SNES music development has been brushing up on C++, a language I haven't spent any meaningful time with since college, and it turns out that things have changed in the C++ world since 2008, largely for the better, as far as I can tell (hurray for auto). But as I've been skimming StackOverflow posts on what the hell constexpr is, when to use inline, why it's good practice for every line of code to contain the keyword const no fewer than thirty times, and so on, I've encountered a lot of people fighting over the use of getters and setters (accessors and mutators, for the pendantic).

So let's talk about that.


Let's Try This Again

Something about the imminence of spring has got me all kinds of motivated. Either that, or the potential horrors I might find if I allowed myself a retrospective on one year of living during COVID-19 were enough to spur me to action.

In any case, I'm doing stuff again.

In fact, I have so much stuff that I want to do that I'm actually finding it difficult to manage my time adequately, which is not really an issue I've struggled with before. The struggle in the past has always been doing anything in the first place, because my crippling self-esteem issues are very quick to remind me that I'm awful at everything, so there's no point in doing it at all. But a couple helpful things have happened recently.

The first is almost laughably pathetic. I have a YouTube channel with a few piano videos on it from a few years ago. I recently, on a whim, logged into the email account associated with that channel, and saw a bunch of emails alerting me to comments made on my videos. So I flipped through them, and they were universally positive, and it made my heart swell a little bit. My "Nocturne of Shadow" arrangement even jumped from 30 to 1,400 views -- a rounding error, by YouTube standards, but surprising to me, nonetheless. A couple people were even looking for sheet music!

And it just got me thinking: why didn't I ever finish notating these? Why did I stop recording? I have nearly 30 more arrangements and original compositions to record. The answer, of course, is that I hate everything I've ever created, and so hide it from public view out of embarrassment. (Also video game music is for nerds and nerds are lame and I don't want people to think I'm lame, do I?) Something about discovering that even a handful of random people out there liked something I composed enough to want to learn to play it themselves really made me do a sudden 180 on all that, as bizarre as it sounds. External validation shouldn't function as a motivator when it comes to creative hobbies. On some level, I understand this, but I also understand that, to someone with self-esteem issues, external validation can be extremely useful. Combine that with my own personal brand of weirdness (I seek criticism from those close to me and praise from strangers), and, well...

All that to say, I'm writing music again, and notation and recording are back on the table.

The second thing is that I've found myself a long-term side-project that combines my love of music, programming, video games, and learning stuff into one. I've been playing and watching some Super Mario World kaizo ROM hacks recently, and thought it might be fun to try my hand at making my own. I scrapped that idea after about ten minutes on the SMW Central forum/Discord once I discovered how people port/create custom music for Super Nintendo ROM hacks. I won't go into it overly much here, but it's bad. It involves hand-typing musical notes into a text file, and there's nothing even resembling instant aural feedback.

The developer in me won't stand for it, so I've begun work on a project I've codenamed "Stickerbrush" (after David Wise's iconic Stickerbrush Symphony) for now. It aims to be a lightweight digital audio workstation (DAW) specifically for writing authentic Super Nintendo music, using an emulated SNES audio processing unit and digital signal processor. And I'm pretty sure I can do it.

I want to chronicle its development over time, since it's probably going to take me at least a year, if not longer, given the limited amount of time I have to drop into it. But when I came to my website for the first time in over a year, I was floored by how hideous it is. What the hell was I thinking? So busy, so many unnecessary hover effects, too many fonts, too many colors, too many images, etc. Awful.

This site's built in Django, and I happen to be in the middle of a Django project at work, so I'm in full Python/Django brain right now, and figured I could whip something up very quickly, and I figured correctly. So I (backed up and) killed the database, simplified the back-end, rebuilt the database, and redid the front-end with a focus on maximal simplicity. Easy. I don't hate looking at this place anymore. Let's try this again.

All right, I'm out. It's 60 degrees outside and I'm training for a half-marathon, so I should run before I waste the rest of my Sunday looking for the lamp in this Link to the Past randomizer seed I'm working through.

The music part of the site's gonna be empty for a bit, since I wiped the database. I'll start putting things back there as I notate the scores.