Wave

Profile

Mia Rose Winter

Software Developer / Project Manager. Full-time cat Woman and bisexual menace. Really not liking tech these days, I have more fun writing stories and books. Developer of GeeksList, Just Short It and Wave.


Biography

I develop software when I got time for it. Most of my stuff is freely available on GitHub.

I created a blogging engine to compel myself to write more, and write more about the stuff I know, and I also got other people to do the same.

I self host a lot, apart from this blog, there is also some matrix instance, some websites, some web tools, some other infra and who knows what I have going by the time you read this. Ask me about my 1000+ line docker compose file.

Projects

If you're reading this from the fediverse (mastodon if you will) say hi, the AP implementation is very experimental rn.


Articles

The Quest for Ethical AI: Actually saving time with generated commit message bodies

Mia Rose Winter 11/11/2025

The Total Hatred For AI in Tech If you have existed on the planet earth in the last 36 months you have been undoubtedly been exposed to a slew of AI tools and integrations, half of which are questionably executed and the other half is questionable if it even is AI. With all of that, coming right off of the crypto boom especially the tech-savvy have immediately questioned this hype and over the months grew to hate it with a fury. I do not except myself from that, I was there. For the first months what I previously followed as promising new tech got turned on its head overnight by capitalist pieces of shit at openAI and friends and completely soured my mood for anything that has proclaimed itself AI, and I myself got caught in the rumor hate mill: AI uses 200 quadrillion times more power than a google search, AI uses oceans of water, we need to double data centers because of AI, AI will kill us all, AI stolen my bicycle. As I do not like blindly hating and I also started to distrust how

AITutorial

Electrical Engineering for the Layperson

Mia Rose Winter 9/23/2024

After a long day of nerding on fedi about new chargers that can handle 160W charging in a really small casing I decided to write down some general purpose.. things about how electricity works. Since I've done some explanations to some people and they said they found that info very useful here something made for people not good at math and without a degree in electronics engineering. I will try to explain everything in simpel terms and with analogies, but the last time I done the math was six years ago during my A-Level exams, so any more educated person is free to weight in, just write me on a Platform of your choosing. Whats a Watt When looking at a charger or power supply, or talking about what comes out of a power socket, you will have seen or heard about Volts and Amps and Watts but how does this all go together. Well, basically, W is just V times A, and if you are in the EU your socket always gives you 230V. Doing simple math that means if you want 230W to, for example, charge yo

OtherInfodump

If it has Text, it is Pain

Mia Rose Winter 5/1/2024

I've been meaning to write tests for Wave for a while. Honestly, in my 12 years of dev I never actually wrote one outside of the odd academic homework assignment, so I had no idea how to approach it. After a couple of videos and video presentations about general unit tests, TDD and stuff, I actually got intrigued, and with a bug discovered just today by a coworker in Wave I was baffled by I thought, okay, let's dissect this little Käfer. Prerequisites: What does Wave do here actually If you have not authored an article on Wave before, let me give you some background. When you want to load a specific article in the article view, there are three methods, two actively used and one historical, to find it. The first and most direct, the “permalink” if you will, is going to /article/{id}, with the UUIDv4 ID of the article. This is used for stuff like the article editor and during the draft and review process when the other method doesn't work, and maybe one day there will be a &l

ITTutorialInfodumpC#

Stupidity as Fundamental Property of Reality

Mia Rose Winter 4/21/2024

Apologies in advance. My brain, fueled by ADHD and whatever else mental shenanigans I have going on, is almost unable to retain memories of events, but craves knowledge. I have multiple fields of knowledge I try to absorb as much as my abilities allow me to, and some of these fields are stuff like quantum physics and the like. I don't know the math, but I absorb the concepts and the theories around it, and with my vast array of too much stuff for a single threaded brain to handle, my multi threaded one sometimes chomps through them when I infodump to someone, and today I came up with a theory about the nature of reality. You can't change humanity On the topic of capitalism, the question arose why humanity is like this. Why are we putting off things until they absolutely need doing, or sometimes even past that? We are acting against a fundamental thread to humanity, climate change and other dangers, incredibly slow and only as much as we perceive we need. We observe this on an individua

Science FictionInfodump

Balatro - My New Vampire Survivors

Mia Rose Winter 3/17/2024

As someone with ADHD and a lot of other issues, my way to engage with games is something probably somewhat similar to many people, but more extreme in some ways. I love games, I wanna make them too, but my way to actually play them is a bit.. weird I feel. I sometimes don't play games for weeks or months, only to discover a new one that hits just right, and I binge it for 50h to 100h (pretty much that amount every time) and then completely drop it. No matter how far I got, it is rare I can really complete anything. As such, the open world game is a genre I've been avoiding for years, as well as other big budget games. The stuff that hit me in recent memory was Divinity: Original Sin 2 (I am not getting into Baldurs Gate until I have summer break) or Vampire Survivors. The Neurospicy gaymer Vampire Survivors is a special game, as you will probably have heard from other people, especially the ones with exploitable character traits like me. The way it is set up, with the combination of it

ReviewGames

My First Game In Godot

Mia Rose Winter 3/7/2024

Last Sunday I decided to finally take a shot at using Godot. I only looked a bit at the getting started section of the documentation but haven't looked at anything past that or even tried using it past myself, past downloading it. As I used many engines before, and tried to make my own, a lot of it was very familiar, but many things were also easier to do than in other engines I know. As I do, I noted in a group chat that I still don't know how to make the 404 page of Wave more interesting, when Nyx suggested “dino minigame but with shork”. As I was a bit kaputt that morning I thought “yea let's go” and opened up Godot. Well, first I needed my main character, so I crudely copied a blahaj design from a sticker Rain gave me a while ago. With that set, I opened up the editor and looked around YouTube and the Godot documentation for all the little pieces of Information I needed. This “Godot 4 Crash Course for Beginners” gave me a good start. In it the c

Game DevelopmentShowcase

Depth Ordering in GameMaker 2

Mia Rose Winter 2/29/2024

At some point during your usage of GameMaker 2 you will very likely encounter a very classical issue in game development, how do I ensure my sprites are drawn in the right order? Anything 2D with movement will still have a sense of hierarchy, some things are in front of others, but how do you do that with GameMaker? When you will look into your trusty search engine, you will most likely find either this blog about using a technique called z-tilting, and if the following doesn't satisfy you, definitely check it out, or you may find the YouTube channel FriendlyCosmonaut with this tutorial video, which is a bit older but still teaches some valid techniques. As someone with more background in different engines and other areas of software techniques, I want to elaborate on some of my strategies to solve this issue, including the one I used in my student project game fairy-strategy, a turn based 2D strategy game. The classic depth = -y The oldest and easiest way to get this working. Things l

Game DevelopmentTutorial

Effectively Serving a Large Amount of Images

Mia Rose Winter 2/18/2024

When you build an app, especially a web app, you will inevitably think about how to serve the user your images. In a static setting, that's easy, put them into a folder and add a relative link to it in your page, maybe with an async flag if you are fancy, done, the browser does the rest. But in a dynamic setting, you don't have that luxury, you usually want users to upload images… and now you need to decide how those images get to your server, and later, get to every visitor needing it. Image processing first, some general advice. When people can upload images, you first have to ensure their security. Never just put their upload anywhere reachable by outsiders, it may be a JPEG with Exif data containing the location the image was shot, the people in it and that's a big privacy no-no. You also need to protect your other users, whatever just got uploaded may, somehow, alter the behavior of your page or even execute malicious code (hello GitHub). Lastly, there is also the aspect of

ITTutorial

Designing User Experience for Inexperienced Users

Mia Rose Winter 2/11/2024

Studying media information technologies while working and designing software at a financial company, I have made observations I feel are rarely, if ever, talked about, and it is actively harming many companies. When you study something with IT that isn't just building Mainframes and backends, you will inevitably run into user experience and accessibility lectures. The flow of information, the way you should lay out things, the colors and contrasts you need, what you should avoid, what you need to implement, these kinda things are essential for an application to be “User friendly”. A lot goes into the study of user experience, UX; not only what ratios of colors are the most readable to people with bad eye sight, or how to structure a website to be best navigable with accessibility software like screenreaders, there is also a lot psychology, how to guide a persons gaze, convey information in a coherent and efficient manner. Looking at the products of many big companies, you w

ITOpinion

My Time with GameMaker 2

Mia Rose Winter 2/5/2024

Now, since I worked with GameMaker 2 on a proper project, for four months, I want to put down some of my thoughts about it. I have dabbled with it in the past a bit but nothing major, so going into it with two other people and the target of developing a game in a semester at uni was quite the jump, but that's kinda how I roll best. The Project I worked on For our Project we wanted to make a small, turn-based strategy game. We already had the game concept worked out, so it really was mostly about game design and implementation, which made a lot of it easier. In the beginning I worked out the MVP with the others, laid out a project timeline, assigned task, and from there on managed it when I didn't code myself. Getting into it was a bit of a hassle in the beginning, Game Maker Language really was not intuitive to me, the way it kinda does a bit of jsdoc, and the difference between functions and methods was really confusing, and left quite some code smell. After some task were done and so

Game DevelopmentOpinion

Compose 5000 lines deep, or how to Containerize responsibly

Mia Rose Winter 1/27/2024

If you are like me, and you have just learned how docker and docker compose worked, you will probably head out to rebuild your own little server, or start one anew, watch some tutorials, look for some tools, and end up with a little compose file to start your infrastructure. It probably has a reverse proxy like nginx, traefik or Caddy, a little static website and maybe something for fun, a little self made project, a node app, a lil' blazor app, maybe just some open source link shortener you found (obligatory Just Short It! mention). A total of a hundred lines, not bad, manageable. But it doesn't stay like that, does it? Rise of the stacks Now, you may get interested in some more advanced tech. Like, let's say, a blogging engine (like Wave), but that doesn't just take a container for a website, it also comes with a postgres database, a redis cache, maybe even more (at point of writing, Wave is still in alpha), so there goes another block in your compose, another 80 lines or so, now we

ITTutorial

Setting up a new Linux Server

Mia Rose Winter 11/22/2023

Every goddamn time I create a new VPS or something and install ubuntu I have to google together all the little steps and commands I need to run to give it a baseline of security, I am writing this one down now. Creating a custom user Script kiddies love pinging random servers with root and see where they can get in, I once ordered a new server but didn't configure it until the next day, and when I logged in with root it told me there had been 900 logging attempts (over night!). So yea, let's create our own account: Add a new user $ sudo useradd -m -G sudo rose -m is to also create a home directory for that user (we put our ssh key there), -G sudo adds them to the sudoers group Set up a password: $ sudo passwd rose now open another terminal, ssh with that new user into the server and see if you can run commands with sudo ls or something. When you have valiated your newly created user works and can use sudo, you can exit that root-user terminal. Transfer SSH keys You always wanna use

ITTutorial
Powered by Wave