Home Artists Posts Import Register

Content

I got a lot off my chest last month when I wrote about my money problems. I wanted to extend a sincere thank you for listening, reading, commenting, and supporting financially. I'm just a guy here making a VTuber website on the internet and I'm uplifted by what you do. Thank you.

When I'm stressed, I can't do good work. I lose sight of big picture objectives and end up building brittle things. Since last month, my stress levels are way down. I'm focusing on what matters and not sweating the small stuff.

Again, thank you for the support. The past few years have been difficult, but that's not stopping me from pressing forward on my mission to create the Galaxy's Best VTuber Hentai Site. I'm grateful that I'm not alone in this effort and there are hundreds of patrons wanting to see the project succeed.

Data integrity

Data integrity is Futureporn's design requirement number one. I've identified some weak points there. Futureporn has backups, but the backups don't adhere to the 3-2-1 rule. That rule is 3 backups, using 2 storage mediums, where 1 of the backups is off-site. Until now, Futureporn had something like a 2-2-? backup strategy, with 2 backups on 2 storage mediums (IPFS and S3,) both of which are off-site. I bought a HDD for use as an on-site backup which will bring us to the ideal 3-2-1.

Tiny successes

Futureporn uses Strapi which is a, "headless content management system." Strapi handles user accounts, VOD records, tags, etc. It's an important piece of Futureporn's system and it needed some maintenance lately.

An update needed to be applied, but I was not confident about the process. I have updated Strapi many times before, but it had been awhile. I felt rusty and afraid of all the potential disasters that could occur.

To prepare myself, I set up an isolated test environment where I was safe to make every mistake without any of the risk. In this test environment, I simulated my worst fear-- a catastrophic loss of the database. I wanted to prove to myself that I had everything I needed to recover if this happened in production.

I took my time to get all the pieces in place. Then, the rehearsal of recovering from backup validated my backup strategy. After that, I applied the Strapi update in the test environment. Feeling experienced and confident, I applied the Strapi update in production which went without a hitch.

Time

One of the lessons I learn again and again is that it's really hard to estimate how long things are going to take. Ego kicks in and I think, "I could do that in a day." That's what I had in mind for the Strapi update, but in reality, the project took two weeks to complete. There were unknown snags that appeared only once I started on the task. There were emotional hurdles that took days to work through.

We're going to get there, the only question is when. And we can't be sacrificing sustainability for quick results. The thing we're building is meant to last, so we want to build solid foundations and move to the next layer only when the base layers are ready to take the load.

Overcoming challenges

futureporn-scout is a system component which detects when a CB stream goes live. Scout sends a signal to futureporn-capture which uses ffmpeg to record the stream. Scout breaks every few months when CB changes things on their end, and it's a big time drain to get it working again. It broke the other day on a day when Mel was streaming and thus my software wasn't ready to automatically capture.

Scout breaks because it's design requirements never specified that it mustn't break. I only designed it to work with CB in the state it existed in the past. This is starting to sound like "the missile knows where it is" meme, but maybe that's a good thing. Maybe I'm thinking more and more like a systems engineer, and that's great for building anti-fragle software that is reliable.

I did some brainstorming with Futureporn moderators and we came up with some ideas on how to simplify the design and keep it running longer without interruption.

Strength in numbers

It's easy for me to get stretched too thin because I want to do too much. Lately I'm re-thinking how I choose what to work on. Instead of choosing the feature I think is coolest, I'm now considering what will have the most positive impact.

People have voiced that they have VODs to contribute. At the moment, there's a limiter on what can get added and how quickly. It's me; I'm the bottleneck.

I think the most impactful missing feature is outside contributions. I want Futureporn's improvement limiters unlocked, where visitors will be able to share VODs they have recorded themselves, or add vibrator FunScripts to existing VODs.

Eventually my role will become less about recording VODs, and more about doing sexy cool things with VODs that other people recorded. Tags, toys, vibrator integration, NUT buttons, clipping/sharing, etc.

Learning never stops

I'm learning new ways to create scalable systems and reduce friction in the developer experience. It takes time and patience, but I think the skills I learn will be invaluable for growth. Sometimes it feels like Futureporn is in a state of chaos, where every other thing is broken and nothing works. But one day all the work I'm doing behind the scenes is going to click together and we'll have a well-lubricated research machine.

Going Forward

Lots of big things in the works! As always, thank you for joining me in this journey. I'd love to hear your thoughts in the comments below or over on Futureporn Discord. https://discord.gg/wrZQnK3M8z

Comments

Cray Shay

Great to see you still progressing on the site! By the way, I noticed the tagging feature on the vods was not working correctly. I assume you'll work on fixing it after you have more vods saved and finish up other stuff, but I wanted to let you know, just in case.

@CJ_Clippy

Thank you for mentioning that, Cray! It's a bug that slipped past me. I'm going to get the tags fixed up for the next update.