MayVaneDay: Latest Updates https://mayvaneday.art/feed.xml Vane Vander vanevander@mayvaneday.art exhausted https://mayvaneday.art/blog/2021/december/exhausted.html 2021-12-17

I've taken up drinking lately.

It's not as bad as it sounds. I'm not crumpled over my kitchen counter at three in the morning, chugging tequila straight out of the bottle to try to cope with my life. Just a splash of rum- I've tried all sorts of kinds of alcohol, courtesy of my mother, and I've found rum is the only one I can tolerate- in a wine glass of fruit juice mixed with ice to mask the rubbing-alcohol-esque scent. The proverbial kitchen counter is instead the dining room table, cleared of paperwork to be littered with weekly crafting supplies, and it's early evening instead of the middle of the night. The neighbors that live in the house behind us are over for craft night, and, even if not actually making anything myself, I'm sitting with them, with my mother, talking about life instead of holing up in my room finding new and creative ways to self-harm via the internet.

One time I mentioned, the day after a huge wind storm, that I'd found their trampoline a block over on the way to work, and we spent ten minutes rolling it back to their yard in the pitch-black dark.

One time we were playing with the neighbor lady's Cricut machine (a computerized vinyl cutter) and my mother, unprompted, cut out a heart with some of the spare golden iron-on vinyl and stuck it to the pocket of my black hoodie, the one she'd embroidered a small pixel art of my girlfriend on half a year ago, and giggled, "Someone must love you very much."

Some times I even laugh.

For a campaign of trying to reconcile with my parents, a last-ditch attempt to create a life I don't want to run away from, a buying of time for Jett to get done as much of her own college studies as possible before my eventual inevitable death and arrival in Sablade, it's not as painful as I thought it would be. Some part of me is beginning to believe that maybe I deserve a happy life after all.

I'm exhausted.

I'm tired of strangers on the internet calling me pathetic for not being able to convince my youngest brother to not be a misogynistic piece of shit. (Yes, because someone would totally listen to a person from a demographic they hate.) I'm tired of males on the internet acting homophobic or sexually predatory or otherwise uncomfortably "close" towards me and then not taking my resulting discomfort seriously. (There's a certain IRC channel, and its ringleader, I'm thinking of right now.) I'm tired of strangers on the internet emailing me in the middle of the night to ask me to do free labor for them, whether that's writing articles for them or helping shill their cryptobro-esque "web3" project using what little reputation I've managed to garner or consulting them on programming matters when I can barely hack together a Bash script myself without looking up every little thing on whatever search engine I'm using to mooch off Google that week.

I'm exhausted.

As I write this, I've finally made it to winter break in college. The semester will be over the minute before midnight tomorrow, and two of my classes end tonight. Unless I've somehow managed to bomb my research essay- I got an almost perfect score on the first two essays in the class, although they weren't weighted as heavily as this one will be- I've successfully finished what I hope is the last formal English class of my life. The months of my body waking me up at three in the morning on Mondays, where that week's English assignments had been published online right after midnight, to write in ways I never would have done unprompted, are finally behind me. I have two weeks to relax at home before I do the last two classes of my college career, one of them not even required for my degree: I needed six credits in spring semester to stay eligible for work-study, and the mandatory class was only three, so I took another one on. No working hectic business hours in a shitty retail store like I was a year ago, no dealing with entitled customers using essential workers as emotional punching bags, no obligations beyond what I put on myself and... whatever curveballs my family members throw my way come Christmas Day.

And I'm exhausted.

I've been trying to move as much as I can offline to give myself less and less incentive to flip the wireless switch on my ThinkPad to "on". (Well, if it wasn't half-disassembled in the corner of my room, its parts in a different laptop for the time being. I took a few tumbles off my bike one day on the way home from work, and the screen shattered. I'm waiting for a sale to order a replacement part, because I'm not spending ninety dollars on a new screen.) The last week I've spent several hours a day moving my, ah, "datasets" from Pinry, a self-hosted Pinterest, to Hydrus, a desktop application, since Pinry takes around ten minutes to reload a page of thumbnails after editing one pin due to the sheer amount of "data" I have in there. Hydrus, in comparison, takes about two seconds to load six times the amount of thumbnails on a page. As for other data, I've always preferred OsmAnd to Google Maps, and Kiwix is good... when the wikis I want are packaged for download or play nice with website scrapers to package my own .zim archives, and all of the games I want to play nowadays are offline anyway. I won't bore you with the details of the rest of my setup like so many other tech bloggers out there. This site a friend runs details it all better than I care to anyway.

Once my USB-to-SATA cable comes in the mail, I can resurrect my Raspberry Pi that's been languishing behind the family router and pull some more stuff off my server as well. I don't need RSS Bridge running with a public IP if I'm the only one using it. (I'd probably be rate-limited less on a residential IP, too.) I'd feel safer with my Tor/I2P/Yggdrasil/IPFS private keys physically at home, especially if I'm trying to force my way to a home life where I don't feel like I'm three steps from being made homeless at any given moment.

And while I'm downsizing, I'd like to reduce my email addresses to one domain for both private and "public" life and just have everything else forward to it. Disroot's "donate once and get email hosting for life" offer looks pretty attractive compared to a subscription. Codeberg now supports custom domains for their static Git-based web hosting. It's all ultimately someone else's computer in the end, unless it's on my Raspberry Pi...

Ah, maybe I have become one of those annoying tech bloggers after all.

The less I am online and venturing outside my local WLAN, I've found, the more stable my mental health. Not because of "muh screen time!!1!" or any other reason you'll find on minimalist-worshipping blogs, but because, well, I have a tendency to self-harm using the unsolicited opinions of strangers who only know me in short bites of sound and disembodied snippets of text, if at all. I keep forgetting that the internet will continue to churn in a mass of gore and blood without me, that I don't have to pay attention to it, to any of it, to even care. I don't have to pay attention to drama between celebrities and obvious scams disguised as donation posts from strangers who've never created anything in their lives and Twitter's outrage of the week.

I don't want to pay attention to it. But it's there everywhere I turn, unless I turn to the offline, unless I take drastic measures to keep myself offline as long as possible. I could continue working on The Eschaton Eminence, which will be my last book ever if I end up failing my mission to repair my home life and dying shortly after I graduate next year... or I could doomscroll on social media and have misogynists dogpile me in my notifications for daring to exist.

I'm exhausted.

]]>
Copyright Accelerationism https://mayvaneday.art/blog/2021/december/copywrong.html 2021-12-04

Since my post on non-fungible tokens last month, I've come to the radical and totally shocking conclusion that I personally don't care if corporations start using NFTs as a Digital Restrictions Management scheme to further lock down their products. Actually, I take that back: I hope they do, and quickly, because the more restricted their products are, whether software or music or games, the less appealing said products will be for the end consumer and thus the less money said companies will make.

I follow a great deal of Tumblr accounts without having an account myself due to this funny little thing called RSS. Over the past month, one of them, which I followed for the occult memes, has been throwing a shitfit over the public backlash from their planned NFT collection. It turns out that almost nobody actually wants to pony up large chunks of money for the privilege of... accessing a full-quality GIF in a digital locker.

And why should they? It's not as if the art, from what the preview GIFs show me, is of high artistic merit. Why would someone go through the hassle of setting up a crypto wallet, paying the money, and figuring out what convoluted authentication scheme the digital locker uses to access the art just to... claim ownership over a chunk of ones and zeros? Thanks to the analog hole, either the value would tank when the buyer tried to show off the GIF they'd bought as it would be the full-quality one and now available to everyone to see and steal, or whatever site they uploaded it to would compress it, in which case there would be no point to having bought it as they could have just used the preview one to get the same end quality.

This person losing a large chunk of their followers from what they perceived to be as "selling out" is, to me, a microcosm of what is to come if corporations start trying to use NFTs as a DRM mechanism. Any PC gamer knows what a hassle existing DRM methods like Denuvo are, especially when trying to get games working on any operating system that isn't Microshaft Wangblows. There comes a point where the software's attempts to ensure it isn't an "unauthorized" copy are so intrusive- remember the Sony rootkit?- that it becomes more of a hassle to tolerate it than to learn how to use a less-restrictive alternative. Even the most dedicated "bugman" has a limit. (That is, when one is aware an alternative exists...) I originally learned how to use Linux because my Windows install had found a way to break itself, and fixing it every day would have been more effort than just learning how to run Ubuntu, even though I was terrified of breaking my computer at the time due to my then-incompetence. The more opaque and DRM-ridden a product is, the closer to "path of least resistance" a pirated version of said product with the DRM removed or an alternative that never had the DRM becomes.

Rejecting intrusive DRM need not mean a loss of revenue for artists. Before my parents finally allowed me access to my bank account in 2019 (which had existed before then, but they hadn't allowed me to withdraw any money...?) and I got my first real job later that year, my consumptive habits were limited to whatever I could squeeze past my parents' censors or what I could acquire on my own for free. Any music that I could not torrent, any video games that I could not find an emulator (or, later, a hacked console) for, any books I could not find on eBook Bike (which later went to shit when they required registration to download) or Z-Library, I had to go without. This restriction led me to places like Bandcamp, which had a plethora of music free to download from every genre I could possibly think of. There was (and still is) no DRM to be had, just an optional prompt to donate whatever money one thought the album was worth.

And, as it turned out, many of those albums which were free to me ended up becoming some of my favorites:

As soon as I had access to my money, I made sure to give some to these artists in appreciation for the many hundreds upon hundreds of hours I'd spent listening to them over the years. And although many of them have fallen into hiatus, I am still finding new music, new books, new games for free to this day. And as for the games and books I had pirated? The ones I ended up liking, I bought physical copies of, money they would have never received if I hadn't had the opportunity to experience them for free first.

There is a world of art that exists outside DRM, outside the purview of corporations. There is a Second Realm waiting to destroy the First by making it obsolete and irrelevant. And it exists now. And if corporations, and the occasional indie artist, want to shoot themselves in both feet with NFTs thinking them an impenetrable form of DRM, I say: let them. Let them lock down their works so tightly that they become utterly inaccessible. Let them miss out on the money they would have earned from now-disgruntled customers. Let the corporations destroy themselves in building a dam to maximize every dollar flowing to them only to find their river is drying up. Let that money flow instead to those who respect computing freedom, to those not hamstrung by corporate interests. I would rather live in a creative culture with millions upon millions of indie artists who make a few things out of love than a single corporate powerhouse with a monopoly, a monoculture.

]]>
How to run Oasis, a Secure Scuttlebutt client, on a remote server https://mayvaneday.org/tutorials/oasis.html 2021-11-13

This tutorial assumes you already have a functioning Node.js and Caddy installation.

  1. Install Oasis.
git clone https://github.com/fraction/oasis.git
cd oasis
npm install

Test the installation by running node . (yes, including the period).

  • If the output stops after a few lines and isn't an obvious Node error, hit Control and C at the same time to exit; you're ready for the systemd file.
  • If you get an error about port 3000 already being in use, use the command node . --port PORTNUMBER instead, where PORTNUMBER is any open port you want.

If your instance immediately throws an error about ssb.friends.get:

git checkout 4e8f7426a4eb1d95f6e55cf894a3168f523f8af8
rm -rf node_modules
npm install
  1. Prepare the systemd daemon file.

Edit /lib/systemd/system/oasis.service as root with your favorite text editor. Paste the following:

					[Unit]
					Description=Oasis client for Secure Scuttlebutt
					After=network.target
					
					[Service]
					User=YourUsername
					Group=YourUsername
					ExecStart=/path/to/your/node/binary . --port 8787
					WorkingDirectory=/path/to/where/you/cloned/oasis/
					TimeoutStopSec=5s
					LimitNOFILE=1048576
					PrivateTmp=true
					ProtectSystem=full
					
					[Install]
					WantedBy=multi-user.target
				

Replace /path/to/your/node/binary with whatever comes up when you run which node. You may need to change this if you update Node.

  1. Edit your Caddyfile. (This will probably also require root.)
yourdomain.tld {
	reverse_proxy 127.0.0.1:PORTNUMBER {
		header_up Host 127.0.0.1
		header_up Referer http://localhost
	}
	basicauth * {
		AnyUsernameYouWant EXTREMELYLONGCADDYHASHHERE
	}
}
				

EXTREMELYLONGCADDYHASHHERE is used instead of an actual password so you don't have cleartext credentials hanging around. Generate this with caddy hash-password. Make sure you save your actual password in a password manager, as you can't reverse a hash!

The header_up lines are there to trick Oasis into thinking it is running on a local machine, as it (very aggressively) wants to be. Normally this would be true, as Secure Scuttlebutt is peer-to-peer and intended to be run on a personal device that may see intermittent internet connectivity. However, if you're looking at this tutorial, you probably want to host a public peer as an actually functioning alternative to a pub or room.

  1. Get everything running.
sudo systemctl daemon-reload
sudo systemctl restart caddy
sudo systemctl start oasis && sudo systemctl enable oasis
]]>
Analog Hole https://mayvaneday.art/blog/2021/november/nft.html 2021-11-05

The "analog hole" is the last inevitable loophole in DRM. We humans (or those stuck in human bodies) are analog creatures whose brains cannot run DRM, and so anything digital must be somehow converted into analog signals- music to soundwaves, pictures to an array of pixels on a screen- before it can be experienced. And as long as we remain analog without computer chips in our brains, this hole will never be patched, meaning any (noninterative) piece of media can be copied in some form. Maybe it means plugging a phone playing Spotify or some other streaming service into an aux cord and that into a computer's microphone port. Maybe it means pulling out a cheap old point-and-shoot camera and taking a picture or video of one's screen. There may be some loss of fidelity or quality along the way, but something can always be extracted beyond the reach of DRM.

This is the main problem with NFTs as they stand today. Because an NFT is essentially a line in a blockchain somewhere that says that a particular wallet holds a particular integer. And someone, somewhere, one day decided to make this integer represent the hash of a file, because blockchains usually don't have the capacity to hold the raw image data in a single entry. This means the file has to be hosted elsewhere in order for anyone to see or care about it. And, to be seen, the file has to be converted into an... analog format. Meaning, if I don't give a shit about the "ownership" of an NFT, I can just right-click the image or video or whatever, or take a screenshot or recording of it, and have a copy of it on my hard drive without having to spend any money.

The value of an NFT isn't in the JPEG or whatever in and of itself because of the analog hole. They're just JPEGs on a screen. And no sane person is going to buy an image that they can right-click and reproduce to infinity. The "value" comes from what the NFT represents: a tradeable asset. However, almost all of the NFTs I've ever seen don't actually seem to have any... function beyond being a reference to an image that one can waste Ethereum gas money moving around to other people. And I, and I suspect most of the people reading this, don't put any monetary value on a JPEG in and of itself. But what about a JPEG that was a token, a proof of ownership, of... an account slot in an online game? A tradeable item in an MMORPG? Because games are interactive, they are immune to the analog hole, and thus an online game would be a perfect medium for using NFTs to supplant its in-game economy. Due to the append-only nature of every blockchain I've ever seen, the NFTs would be nigh-immune to hacks to duplicate items or save editing or other methods of cheating.

The uses of NFTs could extend well beyond the gaming sphere. What about proof of holding a ticket to a conference or concert? An alternative to traditional notaries for real-world contracts between people? Land deeds or other proof of purchases that would benefit from being publicly auditable? Anything that needs artificial scarcity or cryptographic proof of having happened or being owned by a person in a transferrable format could theoretically be made into an NFT. Only once more applications of NFT technology like this are made as accessible to the average layperson as "JPEG trading platforms" like OpenSea are will NFTs grow beyond their reputation of blatant ape-themed Picrew knockoffs.

]]>
No Simp September https://mayvaneday.art/blog/2021/september/nosimp.html 2021-09-28

I was going to title this post "'Dying makes you gay' and other sayings my brothers insist aren't homophobic", but this one is funnier, if only because it's the excuse I've been using throughout this month to try to get my youngest brother to shut up about his video game waifu. "It doesn't make any sense," I keep reminding him. "Don't you think it's a little hypocritical to constantly call me a degenerate and tell me to kill myself, and then copy all my spiritual beliefs while still calling yourself a Christian? How do you think your God feels about your imaginary girlfriend?"

His only reply, of course, is a "joke" about ejaculation.

The radical feminist in me wants me to give up. He is unlikely to ever change, the sweet boy he was in elementary school gone forever. I bought him a computer because his shitty Chromebook couldn't emulate N64 games, and he still persists in his abhorrent behavior. I took him out on myriad bike rides and bought him ice cream, and he still persists in his abhorrent behavior. I spent three days working on his birthday present: I installed homebrew on his Wii U and set up a modding environment for Sm4sh (on his second hard drive, which has the only copy of Windows 10 between us) so that he could play as... a shopping cart, an Oreo, a literal island straight out of the sea, and a penguin who always seems to be high on marijuana. Along with others.

An Oreo, a shopping cart, King Weedede, and my girlfriend attempt to kill each other on a vaporwave stage

And he still persists in his abhorrent behavior.

Normally, I would not have bothered. Unless there are "funny meme" mods installed, said brother hates Sm4sh (and, really, any game I've ever expressed even the slightest interest towards) with a burning passion, and would rather play the next entry in the series where he can start a private online lobby with his friends and bang on my door to taunt me about how he's purposely excluding me. (Of course, most of the time, I am busy with something else anyway, and so I barely notice.) But Sm4sh is where I met my girlfriend, almost... seven years ago? (Has it really been that long since Christmas Eve 2014? Where has the time gone?) Having to suffer through the millionth Mario joke gleaned from an overrated YouTube video is a small price to pay for also being able to shove in whichever mods I want. Which means, finally, better skins for The Person Who Is Definitely Not My Girlfriend.

Having to endure my brother complaining that I am not slaving away for his memes fast enough is a small price to pay for spending time with the person I love (ah, good old technomancy) and also having something to distract me from my downward spiral.

When I started MayVaneDay, I made a rule for myself to not discuss my "consoom"ing hobbies beyond maybe a passing comment or two. I did not want it to turn into a "fan site" for anything. I wanted it to only be about me and the things I had done, not to be beholden to someone else's creation for a sense of identity. But this is the Eschaton, after all, the Grand Downward Spiral... So now, for myself and no others, I shall recount all the little oddities I've found while compiling a family modpack.


Wow, I sure wish I knew how to count

This stupid game takes forever to dump to a microSD card, even when using specialized programs that generally run faster than traditional methods of dumping Wii U discs. The reason for this is because the game is just shy of sixteen gigabytes large, and about half of that is taken up by two files, dt00 and dt01. These contain basically any files that aren't DLC, background music, or sound clips for the various Easter eggs on certain stages. And after that, one needs to dump the patch files as well. The DLC doesn't need to be dumped; the actual models and textures live in the patch data, since all Smash games since Super Smash Bros. Brawl for the Wii have had an online play feature and DLC users need to be able to play with those only using the base game. The DLC basicaly amounts to a piece of paper saying "the player can use this". Not useful for modding.

Then one has to extract the files in dt00 and dt01. The only way I know of is with Sm4shExplorer. The developers only supply Windows binaries, and I couldn't figure out how to compile things in Visual Studio Code (which I only installed for the purpose of trying to compile this). After backing up the entire dump onto a spare flash drive I had in case my brother somehow managed to delete everything on accident and copying the dumped patch folder into the base folder, Sm4shExplorer "unzipped" (no actual extraction happened; it's a purely virtual file system) dt00 and dt01 and gave me access to the files.

Most character mods consist of two parts: the texture (sometimes a model comes along in the same folder), and the character selection portraits (hereafter referred to as CSPs). The texture goes in data\fighter\FIGHTERNAME\model\body, where FIGHTERNAME is the name of the character in lowercase and occasionally in some halfway localization with the original romaji. (For example, the files for Charizard live in "lizardon", and Jigglypuff in "purin".) CSPs live in data\ui\replace\chr and use the same names as above, just with the first letter capitalized.

Most characters have eight costume slots available for shoving mods into. But knowing which slot to put a mod into can get tricky, because for whatever godforsaken reason CSP numbering starts at one while the model numbering starts at zero. It also doesn't help that some characters have special models optimized for "eight player mode" (the standard is up to four players in a room) and so, if playing in a room with more than four players or a singleplayer mode that would use eight player mode's engine (like Classic or All-Star), the mods might just not show up anyway.

CSP numbering starts at one and goes to eight Model slots start at zero and usually go to seven Some characters have special 8-Player Smash models

(The green parts in the above screenshots are how Sm4shExplorer indicates which files have been modded.)


Oh boy! Paying more money for worse graphics!

Super Smash Bros. Ultimate came out on December 7, 2018. I only remember this date because I was so desperate to get my hands on a copy of the game that I concocted an elaborate scheme to call in sick from my work-study (as I was at Hell College at the time) and convince my father to bring me home that weekend, as normally I would come home every other weekend due to work and that was the weekend I was scheduled to work. He was resistant at first, mocking me for not just buying a digital copy until I informed him that he had given me an ATM card, not an actual debit card, and I had no way of getting off campus to buy eShop gift cards.

Of course, as I was the only one in the family who owned a Switch at the time, we had to stick to the Wii U version if we wanted to play online with each other. Given this was at least twice a week, I am surprised it took as long as it did for me to realize that the Switch version seems to run at an abysmal resolution given its predecessor.

Take, for instance, this sample screenshot from my Switch, henceforth deemed "The Funny Butt Picture":

Gwenview says this image is 1280x720 pixels. That makes 0.9 megapixels. The actual resolution of the screen being played on doesn't seem to affect what size the Switch outputs screenshots at. Nor would an unusual aspect ratio affect it: the TV downstairs appears to have a perpetual overscan, whereas the one in my room (which I only ever use as a computer monitor) doesn't, meaning I have to constantly switch between 95% and 100% screen size for TV mode. (At least, until the USB port in my Switch got damaged and it lost the ability to connect to docks. Still charges with my phone cable, though.)

Now, for science, let's attempt to recreate this picture in Sm4sh. Because this is a Totally Legitimate science experiment, we have to keep as many variables constant as possible: the Battlefield stage, healing items enabled, playing team mode as Pyra accompanied by a purple Person Who Is Definitely Not My Girlfriend.

"Come on! We gotta recreate The Funny Butt Picture!"

"No."

"Please?"

"No. I thought you said we were going to play games together, not have you pause every five seconds to take a picture of me."

"Please?"

"Stop looking at me so much. Are we going to play or not?"

Gwenview says this image is 1920x1080 pixels, which comes out to 2.1 megapixels. This means, if my calculator isn't malfunctioning, the Sm4sh screenshot has more than twice as many pixels in it as the supposed "upgraded" Switch version is. But raw pixels alone doesn't determine which system takes more visually pleasing screenshots. Ultimate has a rather... overbearing art style, which I personally dislike because it makes cartoony characters edge too close to the uncanny valley of realisticness. It also makes much heavier use of shadows and other visual effects than its predecessor, and the characters have a wider range of facial expressions. If it output at the same resolution, it would make for superior screenshots, but the lack of visual clarity bothers me too much.

There is, of course, the minor issue that Pyra in the Sm4sh screenshot is an alternate costume over Shulk, and the model seems to have some rigging issues. But let's not focus on that.

My little brother comes downstairs while I'm screenshot farming. He starts chanting. "I love rings, rings, rings! I love rings, rings, rings! I love..." His voice suddenly drops an octave. "Divorce papers."


Death Of A Thicc Luigi

The only character mods I've found usable come with textures, models, and CSPs. For whatever reason, the textures also need to be "TexID fixed", an arcane process which I don't understand and don't bother with as every skin I want seems to already be "fixed" and functional. However, some mods only seem to come with a model. Which means, unless one goes through the process of "TexID fixing", said model doesn't mesh with the pre-existing textures and appears as a red blob. This makes me very sad, as I can't plunder skins from other modpacks I like.

But sometimes I put up with the red blobs anyway, because the end result is too funny to trash.

Thicc Luigi isn't looking so good

"Damn, boi! He thicc!"


Instant Death Minecraft Island

Nearly everything in Sm4sh can be modded, not just the characters. One of my favorite stage mods is what my brothers and I have come to affectionately refer to as "Instant Death Minecraft Island". "Instant Death" because it goes over the DLC stage Pirate Ship, and the ship has two stage hazards that can result in a character getting thrown off the stage: a little... flip thing that pops out on occasion, and a cannonball shot from another ship in the distance. Instant Death Minecraft Island hides both of these, but doesn't remove them, meaning, while the original Pirate Ship stage might make one have to jump back onto the ship or take a little damage, Instant Death Minecraft Island will just randomly make a player zoom off the screen at Mach 5, resulting in an instant death.

I was going to record some gameplay to prove this, but it turns out replays can only be ripped off a Wii U by uploading them to YouTube first or using an HDMI capture card, and I've already put too much effort into this post.


In conclusion

Clown. That is all I have to say.

]]>