Blåhaj Pen

Reader

Read the latest posts from Blåhaj Pen.

from The GNU/Linux Diary

An excerpt from my my diary, from the 17th of February, 2024.

Today, I got a request from a family member to create a DVD, from several short videos of him playing on the guitar. I figure this shouldn’t be a big deal, but I was incorrect. Apparently, authoring DVDs is a giant pain in the ass—at least with the media I was given. All of these clips were in some strange AVI formatted video, which was massive, and didn’t even want to play properly in some media programs. I imagine the best course of action would be to just re-encode this mess, maybe into MP4 with ffmpeg, and just be done with it, especially as I wasn’t confident it’d fit on the DVD without modification. Okay, so let’s hop into the terminal and get ffmpeg installed. What’s even nicer about this, is it’s very easy to just open a terminal right in the directory, and modify my existing scripts. I probably should just make my batch files bash ones instead sometime, but whatever, it’s running! Nice and simple—or so I thought—as when I checked the converted output, the audio just became a wall of white noise.

Okay great, something must be wrong with the GNU/Linux installation...I guess? I try I few different encoding and re-encoding settings, they all fail the same way, I decide this isn’t my project anyway, and just boot back into Windows. I run ffmpeg again, it still fails miserably; honestly, that’s a huge relief. The files are just awful, thank god it’s not an OS related issue. This is where I find out some video programs fail to play it, and that Audacity imports the track as white noise too. Lovely, so how the heck will I be able to cut and convert this stuff into a proper format then? Strangely enough, it was Microsoft’s proprietary video clip tool that actually managed to do it, after messing with it a bit to make it think the entire video was a clip to convert. I have no idea why that worked, but oh well, at least I can use some free DVD authoring software. This isn’t really related to GNU/Linux any further, but let’s just say this was an absolute nightmare, and it took five burns to get a single usable configuration. It was like a balancing act of preserving re-encoding failures and successes, along with DVD commands which I guess weren’t added by default.

Okay, shows over, back to Pop!_OS, that’s the point of this, after all! Well actually, wait, since I’m here, now would be a great time to export my MusicBee ratings into a simple playlist format like .m3u. After that, I could look for a proper music app for my new system! I got my playlists ready, so it’s time to jump back in. Now I’m looking for something free and open source, something which has automatic playlists for ratings, the ability to rate music, and ideally has some customization features. Looking around online, it seems like the most popular one that fits this bill is Clementine. Oddly, they seemingly haven’t had an official release for several years, despite very recent active work in the GitHub repository. Not really sure what’s up with that, but I could grab some prerelease installation if necessary.

I do see a flatpak from not too long ago on the Pop shop, and figure that should be more than enough to evaluate if it will work for me. It can recognize my library no problem, though tag embedded ratings seem to differ from MusicBee, which is fine, as I could simply import the playlists...right? Well no, they just don’t function properly at all. This is a problem, .m3u files are pretty basic, it’s literally just directories isn’t it? I took some random album, saved an .m3u playlist in Clementine, and well—it’s a mess. There’s so much extra baggage saved here, which would make conversion unreasonable between what I have from MusicBee, and this. It’s a pretty big deal, and unfortunately a deal breaker, but I did see a fork of Clementine with far more recent releases from this month! It’s called Strawberry, and little did I know, it would actually bridge the gap I needed, saving the day.

Strawberry is similar as you might imagine; it feels a little nicer, and has some extra features, but otherwise I figured this might be pointless. My thought was maybe the .m3u playlists would differ, because the info preserved in Clementine was pretty needless. To my actual shock, the Hail Mary I wagered was dead on. The playlists here and from MusicBee are identical, aside from a single line at the top for external directories, #EXTM3U, which is trivial to append. Now we’re getting to business, so I alter the directories to match my new drives, import the playlist, and...there are broken entries. Thankfully, I pick up almost immediately what happened, but unfortunately there’s no automated way to resolve the conflict. The problem is that MusicBee isn’t case sensitive, while Strawberry is, so any song I updated capitalization for in the folder structure, never updated the data within MusicBee. This seems like a Strawberry oversight more than anything, but whatever, I can deal with this type of problem.

I pop open the native text editor, and get to work replacing capitalization for a number of songs, in literally every rating playlist. After deleting and importing a couple times, all of the errors are resolved, I can select all, and then set every single song’s rating to the correct value! Fantastic stuff, and then I can make auto playlists if I need to export the data in the future. It took a number of hours, but thousands of entries are all imported, meaning my local favorites and rated tracks are all ready to go now! This is extremely important, because it means I can now ditch my Windows music collection, and progress it entirely with free software utilizing GNU/Linux. I do have some issues to resolve, mainly revolving around other satellite tools and tagging, but at the very least, the biggest hurdle has been crossed! Also—added bonus—my FiiO hardware works better than it did before. It has special modes for higher res audio playbacks (e.g. 24bit / 96khz), which never worked in Windows, but are plug and play here. I found this out by listening to a recent album I got called Jet Flight, and seeing the green color I should when such audio is passed through the DAC.

 
Read more...

from reilyh

I take content warnings and spoilers very seriously. I think they protect the user themselves, and not just the users around them. I've had many times where I vented about something traumatic, or said some bad news, only for my eyes to slightly go up and read that all over again. So by having spoilers, I was able to protect myself from re-reading sensitive content.

The key thing about content/trigger warnings I think is “Readiness”. Yes, sure, it is to protect some folks from being triggered by the content due to having bad past experiences with it. But I also think that it's there to give users a choice, do you want to read something that might upset you or not? Like you might not have any bad past experiences with X, Y, and Z, but what if you just woke up, and the first thing you were greeted with was a bad case of X, Y, or Z? Or if you expected to see a wholesome chat room with kitty cuddles and meows only to see unspoilered sensitive content. That surprise, that shock, I don't like that.

Here's a post on how to spoiler things on Matrix chatting clients, and the last two sections cover the internet in general.

 
Read more...

from reilyh

Spoilers!

For spoilering you could use the following format:

Double Pipes

If your client support this syntax ||spoilered text|| you should write like this: CW/TW: Description Of The Warning ||Actual Content||

The /spoiler Command

If your client does not support that syntax, check if your client provides a /spoiler command: in that case you should send a message that details the CW/TW then reply to it using the /spoiler command

Long Text and Other Forms of Media

An excellent way would be to use https://trggr.link/ you could write CW/TWs for any kind of media: images, videos, large text, etc.

Although keep in mind that trggr isn't a file hosting service, it only supports text. To send sensitive media, upload to an external file host, like https://catbox.moe or other file hosting services.

Stickers

I am known as the sticker girl, I've been mostly collecting images on the internet, cropping them, sometimes editing them slightly to fit my needs. I even drew some stickers. So here's what I learned:

[This section is under construction]

 
Read more...

from The GNU/Linux Diary

An excerpt from my my diary, from the 16th of February, 2024.

You know, it’s been a few days since I’ve installed this system, and I only just now realized something: hibernation actually works on my device perfectly. I always, and I mean always, have issues with hibernation on my desktop Windows systems. Clearly it works for a lot of people— because I don’t hear about this being an issue—but for me, across multiple versions and computers, hibernation breaks. I’ve always opted to either leave my stuff running, or turn it off entirely, because I will basically have to restart the device anyway if I try to use hibernation mode. On Pop!_OS though? Oh wow, it works flawlessly, boots back up in a few seconds, and everything is just excellent; I am honestly stunned.

I figured I’d have to disable it, but it’s worked properly a few times already, and it’s just everything I could ever hope for. Also, can I talk to you about my lord and savior: integrated dark mode? Holy hell, everything is dark, and it is amazing. I was waiting for literally over a decade just for partial integration of dark mode into native Windows apps. I cannot stress enough how much I love this. Everything integrated is dark, everything I download is dark—I am in heaven.

Alright, so I downloaded OBS a couple days ago, right? There’s another bit of hardware I need to set up: my AVerMedia capture card. Let’s plug that bad boy in and set up a scene. Oh wait, nothing is detected; I suppose I need some drivers or something. Let’s do some digging! Several minutes of digging later and...well, shit. This hardware company gives no fucks about GNU/Linux systems, and also has some proprietary nonsense going on I guess. Only lead I have is a GitHub project which is years out of production, that modifies a specific no longer hosted driver, that is related, but not actually for the 4k card I purchased. Okay, let’s check the repository—oh, no releases. I guess I could follow the compilation instructions, it says it should just work. Shocker to no one, the years out of date un-compiled code failed to build, seemingly citing several unaccounted for variables (not missing dependencies).

It did say if it fails to try the Fedora branch. Alright, I’m on Ubuntu, but what the heck, ./build.sh go ahead and make my day. Oh, never mind, it already broke. I’m not in a position to resolve whatever issues these are, and a slightly less out of date fork mentioning kernel changes, makes me even more wary. I’m in way over my head here. For completion sake, I download the fork and see if it compiles, though alas, it also fails. But hey, I tried dang it, that accounts for something right? Man, this card was like $150, I guess I’ll just have to look for something that actually respects my freedom in the future. Considering it was plug and play with Windows though, I’m honestly surprised this was my first hardware casualty. More unconventional stuff I literally had to download drivers for works out of the box, but this was a bridge too far. Honestly, much better this than my audio gear; I’m happy, all things considered.

 
Read more...

from Foxfire

In early January of 2026, the communications tech giant Discord posted a survey regarding various types of AI integration on their platform. The questions posed included several invasive monitoring ideas, such as analysis of audio and video chats, seemingly in real time, with no distinction for private servers—or direct messages.

Seemingly due to overwhelming backlash, the survey was taken down a mere several hours after it initially launched. In the free form section at the end, I wrote a couple paragraphs airing my concerns. While I've entirely moved to Matrix now, I still felt it worthwhile to respond, and also to mirror this text elsewhere.

As a large, centralized corporation housing an enormous amount of personal data of users—including that of minors—I am incredibly concerned with any AI integration into Discord whatsoever. The thought of any person having the ability to offload data, particularly from private servers or private messages, into some other company's data centers for processing, is a privacy nightmare. With some of the features considered within this very survey, it sounds like even voice and video chats may become rife with direct processing to such companies. I cannot imagine whoever you partnered with would sit idly by while such massive natural human data streams come in, without harvesting them for who knows what.

Even if you hypothetically added an opt-out, and I were to trust that this genuinely prevented the transfer of data, the vast majority of people will leave settings as default—having the effects of this without necessarily even realizing the ramifications. It may also violate the consent of others, dependent on if someone who chooses to have AI highlights or summaries, have information included from participants who have chosen to opt-out. This would defeat the entire purpose of turning it off, beyond a veneer of a few hidden buttons; this would obviously be very problematic.

Additionally, I fundamentally am tied to Discord for communication between people, and only people. AI generated stickers, emoji, messages, or any other sort of non-human output, are directly at odds with the only thing I care about doing on the platform: talking to actual people. Groups of friends or communities create their own in-jokes and memes, and it is this human interaction which spurs the creation of things which we collectively enjoy. When I use a custom emoji or sticker, there is a story as to why it's there, and who created it. If there are people who wish to use generative models in spite of that, I would encourage them to use a local only, open weight, generative model they have full control over on their own computer.

I certainly don't want to further platform and normalize the generative models of the multi-trillion dollar AI market bubble, which is almost certainly what would be the case for any AI integration that is done by Discord. This bubble is causing lots of problems currently, and I expect those problems to get worse before they get better. Look no further than the gaming demographic Discord used to be aimed at; SSD and RAM prices are at astronomical levels right now, purely because of backroom AI data center deals. I am appalled by the prospect of further rewarding this behavior as it continues to put strain on the general populace, with deep pocket investors begging us to take part in their self-serving, prospective profiteering.

 
Read more...

from The GNU/Linux Diary

An excerpt from my my diary, from the 15th of February, 2024.

After taking a bit of a break to just watch some videos, and get more comfy with the environment, I figured it was time to get back into it. First off, I still have absolutely no idea if my webcam will work. With no built in way to check, I figure some software off the Pop Shop would work just fine. Grab some program literally just called Camera, which seemed simple enough, but couldn’t recognize the device; no idea why. Maybe it’s expecting a different type of equipment, but regardless, there are other options. Perhaps I needed some controller application first—like the proprietary Logitech software on Windows—but obviously something free instead. Quickly found Cameractris, which was exactly what I was looking for, and it absolutely recognized my camera! The other Camera app still couldn’t, so I also found Webcamoid...but the package release was from 2016. Alright, well clearly there’s something else up here.

I head over to Github, and find the project does prebuilt releases behind a tiny paywall. Could try my hand at compiling, but I still have no idea what I’m doing. Frankly, neither that, nor sending off my credit card information for something I’ve never used, feels particularly great right now. So, I decide I may as well try out the ancient package, see if it works at all, and if so, if it’s at all useful first. I download it, and it does indeed recognize the webcam, and take pictures! Though, in that moment, I had a pretty obvious reminder that Open Broadcaster Software exists, and I use it rather regularly. Download that, works like a charm instantly, and it has many other uses for local recordings too! Also, now seems like a good time to get dedicated audio editing software, and as I know Audacity had that buyout a while back, I figure now’s a great time to check out Tenacity! No sense in sticking around on my final 2.X version, when I can grab that right this second after all! Boot it up, recording works great, and that’s another problem solved!

Perhaps now it’s time for something more personal: let’s finally change my desktop background! Yeah, I’m gonna throw my Foxfire art on one monitor, and some fan art a super kind person recently made of him on the other monitor! Oh wait, what? I can’t have a unique background for each monitor, seriously‽ Of all the things to have a snag on, this is certainly not one of them I was expecting. It’s really not that big of a deal, but at the same time it was driving me a bit crazy; like, surely I was doing something wrong—right? Well, actually no; after some digging, I find that by default, you legitimately cannot do this action. I checked the System76 FAQ, and did find some info on theme customization through GNOME Tweaks, but it didn’t seem like it covered unique monitor backgrounds. Thankfully, the years old Reddit comment search result history gods provided me with the sweet nectar of a solution...kind of.

I install GNOME Tweaks, and while it has no multi image support, you can set a home and lock screen background with different fit options. For whatever reason, changing the image did nothing, and altering the fit options of the lock screen, changed the fit options of the desktop. Okay, whatever, it was stated it wasn’t exactly supported in System76’s documentation; I can still work with this! The image that comment had showed a spanned fit, which, okay wow, my Foxfire is a WIDE boy now. Excellent, so all I have to do to have two images on my monitors is: create a single image. Straightforward, except the fan art one is not 1920x1080 like the other background. So, it’s time to open Krita, and scale it down so it’s exactly that, for parity with the other image in a 3840x1080 frame. Quick math has that at 72%, so I transform it, save the thing, set it as a background, hit span and—it works! Ah, first world problems, but I solved it!

Two images of foxfire, an anthro fox, as a background for two monitors.

“Dual monitor backgrounds in Pop!_OS”

Also, as an aside, I love the built in email app Geary. God, it’s so simple and sleek, literally exactly what I need, and nothing more. I was rocking Thunderbird for Windows recently since, well, Mozilla and free software, but I might honestly just stick with Geary on GNU/Linux. Not only that but, wow, the integration if you allow it. You can straight up integrate anything from Google you want, most notable is direct connection to Google drive from within the file explorer. I know I really shouldn’t be excited about proprietary connections, and I didn’t enable anything outside of drive mounting, but it’s just really cool how responsive it is. I still unfortunately use Google drive a lot, and this is legitimately a better way to access it than through Google itself. No extra non-free nonsense needed, aside from the servers themselves, which I’ll accept for now. Only issue seems to be that clicking links in emails takes a long time to open in Firefox. No clue why—it’s not Firefox itself—I can literally copy and paste the link, and load the page instantly; an odd little caveat.

 
Read more...

from reilyh

I did an oopsie again and forgot my password for “reilyh” for pen.blahaj.zone. Oh well :P

 
Read more...

from Foxfire

I barely noticed you by the window sill at my workplace. I was surprised a creature as large as you could be so inconspicuous; I'm so used to your vigor and curiosity. You weren't moving, and I had thought you already passed away. Instead, you were so weak, I accidentally flipped you over from a puff of air, to check that very thing. The inside of a building is an insidious place for insects—a prison beyond understanding. You were succumbing to its uncaring walls, and my guilt weighed more than my fear.

I found a small piece of wood, and placed it just above you. As if you understood the instruction, you quickly moved your legs upward, and stuck to it. I took you outside to some flowers; you seemed curious, but didn't wish to leave the wood after a few minutes of facing them. Perhaps you just needed more time to rest, more time away from the sun-baked windows which were cooking you alive. I gave you shade nearby, and found some small rain puddles to coat my hands with, hopefully to give you some hydration. Just some small droplets and flicks of the fingers, hoping you might ingest some beads of water, as you gained more strength.

I wasn't sure if you'd make it, but I saw you breathing—I saw you holding on. Earnestly, I just hoped that whatever happened was better than the uncaring hand you were dealt until this point. When I checked on you after my lunch, you were nowhere to be seen. I'm holding on to hope that you regained your strength, and eventually flew away. We all live and die, but the pointless cruelty of dehydrating on a window sill is too much. You just wanted to live and forage, and instead we trapped you in a labyrinth of suffering. Who would've even cared if your corpse were there instead, had I missed you today? Why do we often feel so little for the countless other inhabitants of our world?

I hope you got your second chance.

 
Read more...

from The GNU/Linux Diary

An excerpt from my my diary, from the 13th of February, 2024.

My initial thoughts about switching, was that it would be a bit over my head until I changed my hardware. I have some atypical peripherals, but my biggest concern was my NVIDIA graphics card. I had heard that this was a company notorious for being unfriendly with GNU/Linux development, and that people have problems using their components. I had my heart set on some hypothetical time in the future, where I’d get a new PC with AMD components, and hop to GNU/Linux Mint Debian Edition. I started looking into a distribution I heard about called Pop!_OS however, because it seemed like it might be possible for me to install it easily on my current system, without modification. It’s based on Ubuntu—which I had heard rather mixed things about—but it seemed to deviate a bit in certain places, like utilizing flatpak containers, and having its own shop. I heard Snap was bad I guess; also, proprietary? To reiterate, I have no idea what I’m doing. Anyway, the most important thing, is that this OS has a compiled bundle of proprietary NVIDIA drivers directly in the ISO. I’m not exactly thrilled by the prospect of running to non-free software to get my free software running, but surely some binary blobs are way farther up the freedom ladder, than sitting around twiddling my thumbs on Windows 10 forever. So I decide this is my calling; let’s get it going—today.

Alright, instructions seem simple enough; just download the OS, some free software to create a live disk (balenaEtcher), and reboot to freedom. The first steps did work out that way; popped out my favorite 16gb stick, let Etcher do its thing, and then went to reset the PC. After some silliness with my bios settings, I get to the install screen. Oh man is it slow. I chalk it up to the fact it’s on a USB stick, and just vibe for a bit chugging through the install wizard. Finally, the time comes when it asks me if I want to do a normal or custom install, and of course I want to do a custom one, because I’m a very cool guy. The reality is, I wasn’t in the mood to format one of my storage drives to install a small operating system. I figured I’d simply make a 250GB partition on a drive that Windows wasn’t on, and call it a day. I’ve heard trying to install on the same drive as an existing operating system can cause problems, and Windows could just mess with the boot table which, well—that doesn’t sound like a fun time.

I’m told to make a /home/ directory, which defaults to formatting as...EXT4? Can’t say I’ve ever formatted as anything beyond FAT32 or NTFS before, and I don’t really know if it will be cross compatible, but I suppose that doesn’t matter much. The goal is really just to have a partition large enough to install applications, and handle temporary files. My personal data will be on all my other drives anyway, to prevent issues. Okay, so great! I make the partition, I ask it to use it, I get the option to start the install, and then...it fails, after some files try to copy over. I try again, it fails, and again, then reboot the thing—no dice. Okay, well maybe if I look at the very scary typical clean install button (please don’t format my personal files, god there surely has to be multiple confirmations right) something will come up. It does give me a lead though, all my SSDs are over 2TBs, and apparently that’s a problem. If I try to work around it by mounting them, I get a no object for D-Bus interface error.

Alright, well I at least have some text I can copy, and I figure something out! Apparently, I need to utilize a mode called UEFI in my bios settings, in order to install on drives over 2TB, instead of legacy boot options. I hop into the settings, see a way to force UEFI only and think, “yeah that’s a great idea, let’s close compatibility so it has to go through UEFI,” except now my USB stick isn’t detected at all anymore. Well, crap. Okay, maybe I should grab my more recent 64GB one, which I know is USB 3, and surely should go into forced UEFI no problem right? Boot back into Windows, reopen Etcher, nuke the drive, and get it going, and it is going! Things load up, screen flashed once—oh, back to the command line. Pop!_OS instance 5 initiated, instance 20, 45, 70, 100...okay, I think the routine is busted here.

Ctrl+Alt+Del—oh, it fails far before there now despite being a live cd, then again, so I power down the whole thing. Guess something failed with the Etching software? Regardless, I put my settings to on instead of forced, and re-enable some unrelated legacy things. Maybe if the other drives worked properly, I could salvage something. Maybe install somewhere else and move it later? I dunno. But now it decides there are two boot options for the drive, where one is actually UEFI! Okay great, it’s running! Oh god, the command line is huge now, but I’m in, and I can mount the drives! So anyway, back to custom, and I realize something absurd must’ve happened. In tinkering with the on and off boxes for trying to install the OS, I think I must‘ve managed to idiot savant my way through some fail safe. Apparently, I need to at minimum have two partitions for my install, a, /home/, and a /boot/. I make the second partition, I define them as the partitions to use, and timidly hit the install button expecting failure. Installation...successful! Well holy hell, let’s get this show on the road then!

I restart, I have my boot configured incorrectly so it immediately threw me into Windows, I restart again and use the boot menu—ah two Pop!_OS choices! No, I don’t mean one from the stick, they’re both on the drive, but one says UEFI, so I wager it’s just different compatibility for booting? Had enough trouble with not using UEFI, we’re clicking the UEFI version. Wow, that boots fast, very sleek! Now comes my next biggest fear: not having any ability to use my audio equipment. It’s been suspiciously quiet through the entire install, but in actuality, there really were just no sounds playing at all. Sure enough I head to the sounds and, well actually, how the heck do I even change audio devices? Apparently, it’s in a settings context menu; fair enough, and all my devices are surprisingly just already there.

Main speakers, check; external DAC/amp, check. My XLR USB mic input I had to install drivers on Windows for? Yup, working out of the box. Huge weight off my chest there, as that stuff was not cheap, and I use it very often. Next hurdle: I need my VPN. Technically, I could scrap my current VPN provider if I had to, but they have done very well by me with their old lifetime plan, so I’d vastly prefer to keep them. I figured considering it’s a no logs VPN service, that a GNU/Linux package would be far more likely than an average proprietary service. I was right, though it was on their website, as opposed to in Pop’s special store. Easy install, quick to connect and—actually, wow, that connection was way faster than I’m used to. It usually takes like several seconds, yet this gets it done in less than one. Double checked the IPs on web searches because it was so fast, but it’s totally working as expected. Again, another good sized hurdle taken care of rather easily.

Okay, so now I need to resolve the issue of password management. I know there are a number of free software projects based around KeePass, so I’m expecting such a project to exist for GNU/Linux. KeePassXC comes to my rescue on the shop, it works excellently, and now I can begin logging into all of my web services and extensions I need on Firefox. Services are going well, everything seems fine, even watched some videos for good measure! I checked out my files, everything seems good, though I’m not the biggest fan of having to mount my internal SSDs every time I boot my PC, and them being icons on my task bar. Speaking of that taskbar, it’s kind of a big boy, so I guess I should fiddle with the settings. Turns out it’s very configurable; I was going to do a full tiny bar, but then I realized I can hide the taskbar on hover, and went back to the rounded floating one at a small size. Finally, screen real estate is mine again! I can also have it on both monitors, yes please, and it’s very snappy. Now there’s just one more thing to do before I call it a day, I gotta open the terminal and do that thing. All the cool kids show off their operating system with that built in program neofetch! Oh wait, it’s not built in? I just thought because well...okay, I guess it’s not like I can’t just sudo apt get neofetch. Oh hey there we go, it worked! Alright, time to take a screenshot!

Terminal window with a neofetch command shown.

“Baby's first Neofetch.”

 
Read more...

from The GNU/Linux Diary

Diary of my switch to GNU/Linux An excerpt from my my diary, from the 12th of February, 2024.

Preface I’ve been sent on a journey since the middle of 2023, that has entirely turned my Internet and software habits on their head. My perception of using large, proprietary providers of any service, went from complacent and unquestionably necessary, to incredibly hesitant, and begging for serviceable alternatives. As I sought out more free and open source applications, replaced the proprietary software I could, and began using and financially supporting federated Activity-pub servers, there was still an elephant in the room: Windows. The very operating system I used every single day—for everything—is entirely proprietary.

Windows is non-free software, which is what my entire life’s understanding of computing and compatible software is based upon. From when I first navigated through Windows ME at home as a small child, to 2000 and XP in schools for computer classes, Vista and 7 at home in my teens, and 10 for the last several years too. This is all to say that I have absolutely zero experience with any GNU/Linux platform, and trying to make a switch that actually mattered seemed very daunting. I have no idea what I’m doing, and I’m not exactly adept at coding either. I’m just a man with the ability to web search, open to some change, and a desire to push through some friction. With that said, this will act as a diary for various days I work on my transition to a freer operating system. Observations, successes, failures, frustrations—all the sort of fun that comes from the voyage.

 
Read more...

from Foxfire

As I've been using WriteFreely, I've found that the dark mode support oddly starts—and stops—on the blog writing page. While there is technically a toggle for dark mode on the instance reader page, you can only make out a few sentences before you're whisked away to another unforgiving flash-bang. While I'm not exactly sure why this is the case, I do know that I have some power to change it; more power than expected, actually. This brings us to where the magic happens, assuming you know what you're doing: custom CSS rules. The thing is, I have absolutely no idea what I'm doing, and the things I want to do are seemingly uncharted territory. How; genuinely how‽

My absurd requests:

  • A simple dark mode layout.
  • Justified post body text.

I imagined that doing something like justifying text would be simpler than an entire theme, so I set off looking for answers. Digging through the writer guide brought up nothing, so I fervently clacked away, until I came across a several year old forum post on the matter. Not knowing what I was doing, I was happy to copy what seemed like a complete answer from Matt, the founder of Write.as. There was a warning about single spaces not functioning, but I figured “I separate paragraphs with multiple line breaks anyway, it'll be fine!” It was not fine; my entire blog post turned into a single rectangular mass. Additional line breaks did not help stave the amalgam, and I was left a bit conflicted. On the one hand, it's very evident I can justify text, but on the other, I can't really justify keeping it in this state.

If that was going to give me trouble, perhaps I can spend more time looking into dark themes. The first place I go to check is the Write.as themes page, to where I am greeted with a surprisingly limited selection. Out of everything, only one theme even seemed to resemble a dark palette at all: Painkiller Bullet. It's in the ballpark, so I do try it out, but gives off a bit of hacker type vibes, which isn't really the style I want personally. I did try changing some colors, but it feels like there's a number of things here I don't understand. Perhaps I could've sat with it longer, but I figured that if I was going to understand anything, I'm going to have to throw the baby out with the bathwater, and make changes—one at a time.

Enter: Duct Tape

Carl Sagan once said, “If you wish to make an apple pie from scratch, you must first invent the universe.” If you want to do that with a dark theme for someone else's website, I guess you have to stare at inspect element until you can't keep your eyes open. Between the very basic style info in the writers guide, pulling variables in inspect element, and consulting with W3Schools, I slowly managed to cobble together my custom theme. My vision was heavily inspired by one of the templates from System76's COSMIC dark mode, which has an umber background, along with yellow links, and an off-white base text. Surprisingly, I was able to get pretty far along, and I feel like I've (mostly) gotten to the point where basic stuff is presentable now. I even added some additional rules to match some personal tastes, like having titles be sans-serif, with the body being serif type. Also yes, I've fixed my justify problem, and can finally sleep at night knowing my margins are nice and orderly.

That being said, not only have I run into some limitations, but I also have already managed to create quite the mess of code. Things are not ordered in a sensible way, my comments are outdated, and I'm sure I'll need to add even more rules before I actually begin to clean it up. I intend to use this blog entry to help with figuring that out, since I won't know something is broken, until I try to actually use it. Once I do manage to clean up everything I feasibly can, my intent is to make variants of this theme for other blogs. Perhaps one inspired by KDE Plasma's dark breeze theme, or maybe one of the Dracula style dark themes I've seen in programs such as Voyager would be a good second version. As for the limitations, there seems to be some oddly hard-coded problems I can't work around with my custom style sheet. For example, this little bugger is jammed right into the webpage directly, so no matter what I do, it overwrites all style rules:

.post-byline .byline-author {
display:inline-flex;
align-items:center;
gap:0.5rem;
text-decoration:none;
color:#666;
font-size:0.9rem;
}

Most of this stuff isn't too big of a deal, but seriously, I'm forced to have a specific color of gray text for my author name‽ In order to make this not an absolute contrast nightmare, I had to turn my name into a faux button; a button far darker than anything else in the theme too. It doesn't look awful, but it does absolutely stick out in a way I'm not particularly keen on. I also can't for the life of me find a way to change my context menu icons from dark to light. Thankfully that's something only I can see, though I did manage to give them a background, and reduce their opacity to blend it better. Also, I ran into a roadblock you didn't even notice, despite it still impacting me as of this writing: blog avatars are broken. You might be saying to yourself “but I saw your avatar at the top of this article,” and you'd be fair to say that—but you're wrong.

Hacking In An Avatar

Assuming it's still broken when you read this, try right clicking and opening my avatar in a new tab. You probably noticed it threw a lovely 404 not found error, and tries to find an image called default.png. This is because I am totally unable to upload an avatar, but more than that, the default fallback avatars are broken too. Now, of course I brought this to the attention of the kind hosts of this instance, but in the interim, I was determined to prod at this until I made something happen. I have a feeling that I can hypothetically pull this off, because I can see that images can load through CSS, and there are a few tutorials on it through W3Schools too. Also, I'll need a reasonably reliable host to service the image as well. I figure since it's an avatar anyway, that I could just source it from one of several sites I use this exact image for the same purpose. Let's get a better look at our objective, shall we?

foxfire-pfp-optimised.webp

“The mission is simple: get me in there.”

I ended up choosing my profile from Etterna Online, a website for a FOSS rhythm game. I went with it because I know the owner, and I know full well this is exactly the place which won't care whatsoever, that I'm hot-linking a small image to an even smaller blog. When I added it as the background for the the property which controls the avatar, I suddenly see nothing but blue—fantastic! That means it's loaded the image at full size inside the circle, and now I simply need to reduce it to the correct value. This turned out to be 28px by 28px, and was very simple to append to the image properties. So with that, I managed to hack my way to a faux profile picture, effectively indistinguishable from a normal one. On top of that, I can do this for any blog independently, meaning they can all have different faux avatars for as long as necessary. Realistically, even if it were never resolved, I still won; I feel really good about that.

I suppose I need to test tables too:

Status Action
Working Relax
Broken Resolve
 
Read more...

from Foxfire

Two statements uttered countless times since the dawn of the Internet, and once again at the helm of ushering in an indie web project. As the bells chime, and the customary heavy equipment is waved into position for their role as a two frame GIF, we come together and welcome to the world: another blog. This serves as both an intro and a test post—and before you start carving the headstone—I assure you, I have plenty of writings to the void on the horizon. The thing is, I already do this entirely on my own in LibreOffice, so a lot of this will actually be me reviewing, and posting those words here over time! You might be wondering how much I've written, and what that'll translate to as far as blog entries. I can tell you for sure, that I have well over 100 pages of journal entries and notes from the last couple of years, which I imagine would be several dozen blog posts by the time I posted them all. By far, my largest writing is the GNU/Linux diary, which as of this post sits at a beefy 94 pages long. It's large enough that I created a separate blog for it here, so it'll be more organized. You might be inclined to think something so large would contain intimate knowledge, or at least something esoteric, but it's actually the opposite. Back when I started this journal, I always felt like everyone who wrote about GNU/Linux endeavors, actually seemed to know what they were doing. So many folks have absolutely no idea what they're doing, and also have zero experience. I thought writing from the prospective of someone who's never touched this stuff their entire life, would be a neat niche to fill, and also help me see how I grow over time.

Beyond that, I intend to purpose this blog (not the GNU/Linux one), with various writings; old, and likely new too. There have been many times where I feel like writing something, but end up succumbing to the combined weight of my unending tiredness, and feeling that the write-up has no place to go anyway. I think what I realistically want is a personal website, but it will take me ages to get one up and running. I let perfect get in the way of good too often, preventing me from getting started on things I actually want to do. That being said, when I happened upon a WriteFreely—a simple FOSS blog platform—my interest was piqued! It's pretty much what I'm looking for: a simple way to write to no one, on my own little corner of the Internet. Something publicly accessible, but with no metrics, or assumptions that anyone will ever read it. A website, if that website was basically just a markdown file. It's so simple, so empty; it's a call to the void—and I'm ready to answer it.

 
Read more...

from reilyh

I was planning to finish Gojira's discography. I may update this page in the future to flesh things out a bit.

Intro To Metal

So Gojira was my first introduction to metal. I think I was looking for jawharp metal tracks, and “Amazonia” showed up, I said “fuck it we ball” and listened to the whole album. I then listened to “Magma”, and I liked my “Silvera” and my “Stranded”. I also listened to “The Way Of All Flesh” and only liked “Oroborus”. But after a whole year, after I listened to so much more metal, I really like “The Way Of All Flesh”. And so I started to crave earlier Gojira, and I found out about “From Mars To Sirius” <3

Favorite Tracks

If I have to to choose ~one~ ~three~ tracks from each album it would be:

From Mars To Sirius:

This album is great, has beautiful lyrics, I have so much to say about it! Granted I listened to it without reading the lyrics, so my only impression of this album is the riffs.

  • Ocean Planet: The intro, and especially the part at 3:50, “Whyyyyy do they call me there!!!!” I teared at that part. I kinda feel like that whale being stuck alone.

  • Backbone.

  • Unicron: Because it has really beautiful whale songs, and just a good break for what is to come.

L'Enfant Sauvage:

  • Explosia: Really shines at 0:35 and and 4:05, especially the ending of the song, with these beautiful, I think they're called gallops. Anyway they're cool and I like them.
  • The Axe
  • Planned Obsolescence
  • Pain Is a Master
  • Born In Winter

The Way Of All Flesh

This is the album that I a most familiar with.

  • Oroborus: This track, holy fuck. That haunting part at 3:08? Fucking liquid gold.
  • Toxic garbage Island: Other than the bad ass name, the intro is really poweful. Part at 0:52 <3. Also “PLAAAASTIC BAG IN THE SEEAAAAAAA”
  • A sight to behold: Now this is a track that deserves a place in the hall of lyrics. I mean: The way I see things is so simple The fact I'm walking standing on this land Exhausted is the realm of nature, friends are dying The living creatures on our side The way I see myself so confused so sophisticated I have to stay away from me But I still don't get the point What's worth destroying all the worlds Try not to get it anymore
The way I see things is so simple
The fact I'm walking standing on this land
...
The way I see myself so confused so sophisticated

That right there, is what I will take to my grave.

This track is truley, a sight to behold.

  • Yama's messengers: “I'm scared to death when I see them arrive!” Part at 0:46, 2:14. “I've killed so many, I don't want to count”!
  • The silver cord: Always love some instrumental metal that I can play loudly and no one would complain.
  • Adoration for none: Baddass title, amazing vocal style at the start. The part from 0:54 all the way for like a minute, is fucking, wow. Also: Nature is my only master I will bow to no one ... Crave for freedom build my own life Adoration for none

Words of. Fucking. Power.

And 2:08!

This track is just so differenet from the rest of the album, I adore it so much.

  • The art of dying: :) sick ass drum work. Really beautiful opening riffs, 4:12? I won't bring no material in the after life *Riff goes crazy* Take no possessions, I would rather travel light

Then “AAAAAAART OF DYING!!!!!!”

  • Esoteric surgery: “You have the power to heal yourself.”
  • Gojira – Vacuity
  • Gojira – Wolf down the earth
  • The way of all flesh: Is this what dying feels like?

So in search of something more similar to Gojira's early albums, I turned to the bands that they take their inspiration from: Mastodon and Meshuggah.

But more on that later, as I still have “Magma” and “Fortitude” and I'm not that eager to do them. Don't get me wrong, “Stranded” was one my favorite earlier metal tracks, and maybe it still is. Idk.

I also need to learn about song structure and general metal terminology, “riff” and “part” are absolutely not a proper way to describe songs.

 
Read more...

from reilyh

Here's a cool dragon creator on itch.io

This page will be updated a lot in the future as I make more dragons, or like, find more dragon creators.

Vampire Dragon.png Black Hole Dragon.png Midnight Carp Dragon.png Giraffe Dragon.png

Human Dragon.png

Radioactive Dragon.png

Satan Dragon.png

Snow Dragon.png

Cthulu Dragon.png

Cthulu Dragon - Alt Color.png

Suzie Dragon.png

Kris Dragon.png

4 Color Dragon.png

2 Color Dragon - Black and White.png

Human Dragon - Mark 2.png


and here's the code for these designs:

110q&Nw04J00000200000f0000c08D000068000V00040J001000000000000000000000008gTkTk0000Tk00%%XLX-X_zDzDPPPPD-K5D-8fPP00f8PP0000f8PP008gTkTk0000TkD-0000f8PP00TkTk0000TkD-0000f8PP00TkTk0000TkD-PPPP8gTkTk0000Tkf8XL8gTkTk0000Tkf8XLppTkTk0000TkTkTk00 | Vampire Dragon
12cv&md39MJ0G3kw11110kHX2xx0;mJtV0.4;m3TGV0.w:00fc02h000Jfhh00J0c41JJ40000J?~40000J?00_-00NPJ?sg4Nsg~44Nsg8N4Nsg004N~40000f8PP0000sg00000000~400008Nsg00sg00000000~400008Nsg00sg000000008N00jL008NTk0000Tk8Nsg00sgTk0000Tk8Nsg008N000000TkJdsg00 | Black Hole Dragon
12cd8m051J00000t000000QJ01w0000H41p6&J6nv41r8:003c00JS4w0c003468D20c0J00J5xXxX0000xX44G&9!xX~r~rf8PPPPf8PPPPf8PP00f8PP0000f8PP00J5J5xX0000J544000044PP00J5xX0000J544000044PP00J5xX0000J5J59!c&4444Tk0000Tkf8PP4444Tk0000Tkf8PPJ5xXxX00004444Tk00 | Midnight Carp Dragon
110c:-0M4J00S600000000Pr00K08009B000hm009B040z053D0N00000000000000000000y,Ddp40000Y04000Y2JLP5%~Dd40PPDd8JPPf8PP00f8PP0000f8PP00y,Y2Nx0000Y0zD0000DJp400Y2Nx0000Y0zD0000DJp400Y2Nx0000Y0f8PPPPy,,8Y20000Nxf8PPy,,8Y20000Nxf8PPppTkTk0000TkTkTk00 | Giraffe Dragon
1106JN0545S0J40200030f52008080J5D000Nw005D0409w13d0000000000000000000000.R43Jf0000Tk436%%%x5_l%~f8PPPP~R~6PPJfNf00NfJf0000f8PP00DKDKDK0000TkzD0000JfPP00DKDK0000TkzD0000JfPP00DKDK0000Tkf8PPPPDK%%.R0000,D80PPDK.R,D0000DK80PPppTkTk0000TkTkTk00 | Human Dragon
11cc8XK39JS0D34B03030fPX2xn80cS000120004c004J;05Mh0Pk01:M0!D00J0c471yJ00ZhRcRc0000RcRcRcRcx5_l%~vlRcRcRcPPRcf8PP00RcRc0000f8PP00VKTkTk0000TkDh0000ZhRc00TkTk0000TkDh0000ZhRc00TkTk0000TkVKPPRcVKZhZh0000RcRcRcVKZhZh0000RcRcRcZhDhRc0000RcTkvl00 | Radioactive Dragon
110v&Ndv5MSfP5JZ01210f221S;09m1F0064-00TF0048xJ1c7020000LwccL0N0m010J000c0DLc00000DLDzr0r0DPJg,DDL_P_PDLc0c0DL_P00DLPP0000DL_P00c0DLTk0000Tk_P0000DL_P00DLTk0000Tk_P0000DL_P00DLTk0000TkDLPP_Pc0DLw00000,DDL_Pc0DLDL0000,DDL_PppTkTk0000TkTkTk00 | Satan Dragon
10cs&Sdv43039fVv30300f9X1rd0880FG0m4-:2dFG0rNB030m0D00000000000000000000FZfs8M00008M%:FZFZx5_l%~fs%%PPFZfsPPfs%%00f8PP0000f8PP00FZFZFZ0000fsfs0000FZfs00FZFZ0000fsfs0000FZfs00FZFZ0000fsFZPPfszZ%%FZ0000fsf8PPzZ%%FZ0000fsf8PPppTkTk0000TkTkTk00 | Snow Dragon
11cc:JwhC0S0006.03030pHB04!c0c9t0004:001G0050:J0Md01V&08d0000000080000009PL8L80000TkL8L8L89PL8Ph9PL8Ph9PPPL8f8PP009PL80000f8PP009PL8Tk0000TkzD00009PF.00L8Tk0000TkzD00009PF.00L8Tk0000TkY_PhPP9PL8Ph0000Tk9PL89PL8Ph0000Tk9PL89PPhPh0000TkL8Ph00 | Cthulu Dragon
11cc:JwhC0S0006.03030pHB04!c0c9t0054:00PG0050:J0Md01V&08d000000008000000PhL8L80000TkL8L8L89PL8PhPh9PPhPhPP9Pf8PP009PL80000f8PP00PhY_Tk0000TkY_00009PF.00Y_Tk0000TkY_00009PF.00Y_Tk0000TkY_PhPPPh9PL80000Tk9PL8Ph9PL80000Tk9PL8PhL8L80000TkL8Ph00 | Cthulu Dragon - Alt Color
110h:SJK4J81Ggm010100f2S10-c1001G0144:051G041;c17k0400000000000000000000~FhR0d0000~F0d~.0dN:hR~.hRhRPPhRPPhRhRhR00hRPP0000f8PP000d~FhR0000N:N:0000hRhR00~FhR0000N:N:0000hRhR00~FhR0000N:~.PPPP0d~.~F0000~.f8PP0d~.~F0000~.f8PPppTkTk0000TkTkTk00 | Suzie Dragon
110jN8c080S1Ggm010100f7k08J00800B0k00m2S0B0h0p0B060N000000000000000000004Pb~b~00004P00%000T&:9zv4PPPPP4PPPPP03PP004PPP0000f8PP004PT&030000:9zv00004PPP00T&030000:9zv00004PPP00T&030000:9f8PPPP4Pzvzv0000b~f8PP0303zv0000T&f8PPppTkTk0000TkTkTk00 | Kris Dragon
110c8hK_1NJ1Ggrp12120fQN1fN008J0V0641m0T0V05J&01gw0600000000000000000000XMFlJ70000J7J7KxKxJ7XMKxJ7XMKxf8PPPPJ7XM00J7XM0000f8PP00XMJ7J70000KxKx0000J7XM00J7J70000KxKx0000J7XM00J7J70000KxJ7XMXMXMJ7Fl0000KxJ7XMXMJ7Fl0000KxJ7XMXMTkTk0000TkTkTk00 | 4 Color Dragon
120smJcg1MJ1Kh0410100fPQ0Mn008JG00K4:015G00QN!013m04lN4c0000000000000000?FD_D_0000D_D_?FD_D_?F?FD_?FPPf8PPPPD_?F00D_?F0000f8PP00D_?FD_0000?F?F0000D_?F00?FD_0000?F?F0000D_?F00?FD_0000?FD_?F?F?FD_D_0000?Ff8PP?FD_D_0000?Ff8PPD_?FD_0000D_Tk?F00 | 2 Color Dragon - Black and White
1105JJJc8403J4S213230f941w04:80GG004::01GG040;w1gl0600000000000000000000!!!nJJ0000!n00jf%~x5_l%~JJPPSdJJSdPPJJSd00f8PP0000f8PP00!!x.JJ0000Sd!n0000JJSd00x.JJ0000Sd!n0000JJSd00x.JJ0000Sdf8PPPP!!jNx.0000?tJJSd!!jNx.0000?tJJSd!!TkTk0000TkTkTk00 | Human Dragon - Mark 2
 
Read more...