This post was inspired by caring about my mental health, but also by the Writing Gaggle! Go check it out!
Also, my personal blog can be found here: https://www.catmonad.xyz/blog.
Good morning everyone!
It’s been months since I’ve posted here, and it makes me sad. I haven’t been doing nothing- I’ve actually been working just as hard, but on fewer and less visible things.
Actually, hold that thought.
Okay, maybe not less visible for some people.
Still. I started this blog to try and give myself a way to remember that I don’t do nothing with my days. But lately, I’ve been focusing too hard on things that I’ve felt I couldn’t talk about here. And that sucks.
You might have noticed in my Mid-Year Status Report last year, I had a lot of “secret” or “undisclosed” things I was working on. Well, I still do, but they’re not the same things. And it’s time to disclose them.
I actually wrote one, but I didn’t feel like I could post it. There was too much I wasn’t sure about, and too many things I had to keep secret. What I would’ve ended up posting at the time would’ve had so many pieces redacted for secrecy that it’d have lost its use to me as a way to track my progress.
This is going to be a little weird, but here goes.
I wrote a “PNG tuber” app. I didn’t actually know this was a thing until G-Rex asked me to help setup OBS with one they were trying to use. Later, I was told that the ones G-Rex could get their hands on had stopped working on MacOS (or at least the Macbook they have).
Eventually, I was motivated to solve this problem for G-Rex, after it went unrectified for long enough. So, I wrote my own.
It was an interesting project! I had exactly one client, G-Rex, and I could grill them for requirements and scope out what would be in the minimum viable product with impunity. Meanwhile, G-Rex drew more art for their character, and we got something working with the equipment they had on hand.
Basically, if something goes wrong with G-Rex’s avatar on stream, you have my permission to blame me completely for it. ;)
I am starting a business! Or, more accurately, I already have. It just hasn’t made any money yet. (And it’s not ready to sell its first product. Hopefully soon, though!) It’s been really stressful, and I wouldn’t have been able to start this so soon without a lot of support from the people in my life.
There’s a lot of cool stuff I’m doing here: analyzing technical requirements; designing data structures; studying state and federal corporate law; writing long legal documents; figuring out tax filing…
Okay, maybe not all of it’s cool, but all of it feels that way to me. There’s just something so neat about finally doing this. I’ve wanted to run a business since I was a kid, and I can barely contain my enthusiasm.
Despite my enthusiasm, it is still work.
I don’t think I’m saying anything new, but I feel compelled to note that that common adage
Find a job that you love, and you’ll never work a day in your life.
…sets an unreasonable standard. I need to take breaks, despite being absolutely enthralled by my current work on building Blue Bed Studio from the ground up.
This is something I continually have to relearn, because I get completely absorbed in every project I set my mind to. I have often wound up working on the same thing every day, from the moment I wake to the moment I sleep, with nothing else on my mind the entire time.
And, well, that way lies burnout.
So, what does taking breaks look like, for me?
A lot of things, a lot of which might look like work. It looks like writing these blogs, or working on a toy programming language, or spending time with friends and family. It looks like long walks in the city, or reading the latest Brandon Sanderson book. To avoid getting lost in the specifics, the commonality here is that all of these things are intellectually or physically refreshing for me. The key is variety, for… a lot of reasons.
This isn’t a secret, but I haven’t announced it anywhere super public.
I enjoy writing interpreters and compilers and stuff for programming languages, and I have a lot of ideas to explore. Eventually, I’m going to want to make a serious general purpose language, and I know that I’m going to want it to be easy to bootstrap.
For this reason, I have been working on a compiler and runtime for a language which I can use to write other languages. It is written in C, with an extreme focus on portability.
Caveat: It is generally easier to write portable Rust code, than to write portable C code. The specifics of why I chose to do this in C are better outlined on the project website, so I won’t get into it much here.
It is possible this language will acquire the features I want to resarch, as well as be used to implement languages which do. Most likely, a combination of both those things will happen.
I can’t work on this all the time, but it’s fun when I do. Consider it my research language for the next ten years.
I had a lot of fun doing this last year, and I don’t want to stop. But I don’t think I’m going to attempt the same monthly cadence I was doing before. I would like to get back in the habit of composing my thoughts into a form I can share like this, though. We’ll see how it goes.
:)