Holly's Briars

There are 21 entries to read containing the #slice-of-life tag, with the newest being first. Have fun!


Click on a #tag to jump to that post category, or go here to visit the archive.


Looking Back

  • 2023-12-31
  • 15:32

Wrapping up 2023, I'm taking a look at the projects I've done or worked on and things that I've learned this year.

LiveJrnl

LiveJrnl was the original iteration of this blog. It started out as a journal written with jrnl.sh. I found this project that would display the journal as a website and was absolutely in love with the idea, with one caveat. The javascript. Those who know me know that I have no love for javascript. I don't even want it in my desktop applications if I can help it. Using that was off the table, so that brings me to LiveJrnl.

The first version of LiveJrnl was written in Python. It was published on my former GitHub account, under my dead-username. For a fleeting moment, it served its purpose. All of my posts, on one page. Easily indexed, easily searched. Have I achieved perfection? It sure felt like it.

Being in the middle of a move, I wanted to be able to write on my tablet or laptop, so I eventually moved towards using Obsidian for writing. I know, I know, its not open source, and its javascript backed... more on that later in another post... From there, LiveJrnl kind of outgrew itself. Before long, I was stitching together journal entries written in Obsidian to append to the jrnl journal. That worked for a while, then I wanted to be able to edit new articles from Obsidian. That led to writing a one-off Python script to chop up the jrnl journal into individual entries, and I would just use jrnl to search my posts offline. After a certain number of posts, the posts page became a bit long and it started to take a while to render the website.

Of course, I was also learning Rust at the time (still am, really), and what better way to learn a language than to re-implement something you've already done before? Enter, livejrnl-rs. I learned a good amount of Rust with that project. It was eye-opening how simple the language can be, even though it is ugly as fuck. I finished that, and still had the same limitations as the Python version. There was no pagination, and the posts page was long. I couldn't figure out how I wanted to export the pages, and eventually landed on using Zola for a static site generator. One quick one-off Python script later, and I had my LiveJrnl posts imported.

With that said, LiveJrnl and livejrnl-rs (and their respective template repos) are both considered abandoned. If you, my dear reader, find a bug, let me know and I will fix it for you if its serious enough.

Bitwarden SSH Agent

Sometime in July I started writing a Rust port of bitwarden-ssh-agent. The link to the Rust version can be found here. At the time of writing, commit ce3b075b9b195ee5ee5a1ec8c9784cf076592e84 is the latest version. It is at 1:1 feature parity with the original, with some personal changes.

As is, the project is functional and complete. There is one unresolvable bug, such as getting stuck in a login loop if BW_SESSION is invalid. I may revisit this in the future to fix that if I can ever figure it out. At the moment I would rather re-write the thing from scratch, using the Bitwarden API itself.

Unnamed First Person Shooter

Between January and August I would work on-and-off on an unnamed FPS in Godot. The graphics were a bit primitive, and were originally made in both MagicaVoxel and Blockbench. I eventually learned how to model in Blender to make better assets. I have not yet published that, as I don't exactly know how to license the assets in way that prevents certain people (see also: evil commercial interests) from downloading, compiling, and selling the game without any modifications. From my understanding, AGPL doesn't cover media. I also don't have any sort of git history, as bouts of working on it came from intense hyperfocus sessions.

What works:

  • Day/night cycle
  • Lifts/moving platforms
  • Sliding doors
  • Door keys
  • Quake 3 style movement
  • Aiming
  • Shooting
  • Reloading
  • Weapon pickups
  • Jump pads
  • TrenchBroom map loading
  • Menu system
  • Dialogue system
  • Themed GUI elements

What needs refactoring:

  • See all of the above

What's missing:

  • Enemies
  • Vendors
  • Swimming
  • Portals
  • Mirrors
  • A story
  • Level design of any kind
  • Speed boost pads
  • An actual art direction

Do I have plans for this project? Yes and no. My Obsidian notebook has several ideas written down, nothing concrete. I may turn this into an RPG instead. A boomer shooter RPG sounds pretty good, to be honest. It would give the speedrunners and minmaxers something to do.

From this project, I've learned that I'm capable of writing modular code. Most of the components in the game can be reused in other games after a slight refactoring. I'd say that went fairly well and is worth a revisit.

sparkle-git

This is probably my favourite project of the year. sparkle-git is my soft-fork of rgit where I'm adding features, and will eventually migrate towards a fully self-hosted git solution.

Throughout this project I have learned how:

Link to the repository

Final Thoughts

All in all, it was a productive year for code. I wonder what 2024 will bring. πŸ’–


Whoops

  • 2023-03-24
  • 21:38

It's been... a while, hasn't it? I didn't die or anything. I've been pretty busy with the move and not really being able to catch my breath and put down my feelings. On one hand, I feel a lot better mentally now that we're starting to get settled in and I'm not being viciously attacked by one pile of mess after another from the very moment I step foot into my home... On the other, I haven't had a chance to truly relax, you know? Like, at the moment I'm sitting in my little computer corner with a box of stuff that needs to be put away and my LED curtain on the floor for some sort of ambient light.

Back to the mental health thing. Things haven't exactly been going to plan as of late, and I've kind of sort of gone with the flow without too much trouble, and that is a feat. I forgot my keyboard, so I'm using a terrible Logitech membrane, the LAN server decided to give me the middle finger (more on that later), I forgot one of my monitor power supplies, and also forgot the power cable to the server, it was a bunch of bumps. That sentence went on for a long time. Whatever. You figure it out.

SOOOOooo... The LAN server kind of bit the dust thanks to NVIDIA fucking up their Linux drivers again. To make a long story short, the kernel was unsupported, I couldn't even upgrade the kernel without uninstalling NVIDIA, and all of that resulted in a server not being able to boot. I decided it was time to grow up and stop using Arch based distros for a server. Back to good ol' Debian that hasn't fucked me in any way other than having a docker-compose package that couldn't do compose v3 files. I liked Manjaro, and daily drive Garuda on my desktop, but JFC having to stay on top of updates like it is my religion is extremely tedious.

It's taken me about a week to get the server back up and running again, and I couldn't have done it without Storj DCS. I wrote a little bit about my server backup system in this post and I'm happy to say that in spite of some hiccups, the restore was largely successful. I identified some flaws in my backup system, and will be fixing them going forward. I'll be talking about those in this post.

One of the major flaws was that I needed to use Duplicati to restore the server configs because I used Duplicati to backup the server configs. Stack overflow yet? It was a bit of an annoyance to download the config archives manually from the bucket using a web browser, and then use a temporary Duplicati instance to extract the backup. From there I was able to restore They're now hosted on a private GitLab repo. It isn't ideal, but it is the best solution I have at the moment. If I had a job, I'd be paying for a VPS. A VPS also wouldn't have gone to sleep in the middle of the restore process. I had to do the whole thing twice to make sure I got everything.

Another one of the major flaws was that Duplicati did not save dotfiles. I was unable to bring back the Minecraft server and the File Browser instance. I kept the Minecraft world files, and may be able to repair them by opening them in single player. I will have to test that theory. As for the File Browser instance, I replaced it with Pure-ftpd which allowed me to mount individual data directories so that I can upload directly rather than upload to File Browser, and then copy the files from within via SSH.

...I'm aware I have a lot of manual stuff going on here. I really don't care. I'm very particular about how I do things, and this is how I'm doing it, so theeeeere. Mwah.

The good news is, my data directories and my host OS are on completely separate drives, so any OS issues going forward will not affect me in any way.

In the non-tech sphere, I've been playing a lot of bit of Disney Dreamlight Valley and just absolutely love it. I love it so much that I've commissioned a profile picture from my dear friend Maru that just... looks like me and I'm in freaking love with it and can't wait to use it on every platform that I'm actually active on.

Anyway, I'm going to cut this short and this sentence serves as a note to myself to continue the post in the morning. πŸ’–


Home Again

  • 2023-02-18
  • 15:43

🎡 Music: Nirvana - Something In The Way

Hello there, I'm back from the new apartment for a few days. I brought my laptop but forgot to install and setup the journaling toolchain before leaving. I could have written on my iPad, but I really really hate the iPad keyboard, and typing out posts via touch is just atrocious. Instead, I took the time to relax, take in my new surroundings, and just be.

It didn't really work at first. I had a massive inflammation flare-up in my left foot that left me pretty much crippled for the first two days. That affected my mood big-time. Once I was able to move again, my mood quickly improved.

That's where the fun began.

Every morning from that point on, I started my day with a cup of coffee and an hour of YouTube videos and reading news. I walked S to the train station, at 08:00 and then walked from the station to the river, and around back to the apartment. Afterwards, I cleaned. I dusted, swept the floors, and washed the dishes.

At noon I would workout. It was a combination of yoga and the exercises given to me by my physiotherapist. I felt amazing after each workout. Also tired. My foot would stop hurting halfway into my workout, which felt amazing. I really needed that.

After the workout, I'd have ramen for lunch. It wasn't very healthy, but it was cheap. Money is kind of tight right now (I have an addiction to spending money on stupid shit like makeup and fashion like a dumbass) so I decided to cut back on my food spending. #priorities.

Around late afternoon, S was on her way home. I went to the grocery store to pick up stuff we needed for dinner and the household, and then I met S at the train station.

After we got home, we ate dinner. Over the course of the week we watched Secrets of the Whales, Django Unchained, Extremely Wicked, Shockingly Evil and Vile, and we started to watch The Rings of Power. The LOTR show was alright, but not my cup of tea. I could not help but continue watching, though. I think it was just morbid curiosity of how much more I could tolerate.

Friday came and then it was time to go home.

We came back home last night to finish packing. The official move in date is the first of March, so we've got a little bit over a week to get this stuff done. I really should be packing, but I kind of wanted to write down my thoughts and chronicle my adventures a little bit more. It really is time to get back to work though.

I'll come back in a little bit ta-ta for now, lovelies. ❀️


Neocities Down?

  • 2023-02-11
  • 11:29

Huh! I was about to upload the latest post, and got this when I went to Neocities

Neocities is temporarily unavailable

Neocities is currently undergoing maintenance (or is experiencing an outage), we will be back shortly! Check @neocities for status updates.

Our apologies for the inconvenience.

At the time of writing, the Twitter hasn't been updated. The public version of this journal is still online. I see they have a semi competent backend team. That's refreshing.

Anyway, I'm off to do some stuff until this gets resolved. Until then, these posts remain... IN LIMBO!!!


Relaxation

  • 2023-02-10
  • 13:03

🎡 Music: Nirvana - About A Girl

Wednesday was my last day at work. It came and went as any other day. I'm glad I didn't get emotional like I thought I would. I've been relaxing for two days now, and I feel amazing. I had language lessons early this morning at 09:00, and woke up at 06:00 for them because I felt well enough mentally to fully put on my makeup. I did it all. Foundation, eyeshadow, eyeliner, mascara, lips. I look absolutely fuckin' fantastic.

I went on Mastodon to post my pics, and my goodness. There was so much hate and vitriol towards a video game and those who want to play it, or even towards server admins who won't ban people who play the game. I thought that I was in some Twilight Zone shit. The overall atmosphere was tense and unwelcoming, so I just didn't post anything and logged out instead. I did make a post addressing how I felt a little bit ago.

In short, I probably won't be back on there for a while. The amount of bulllying is just... wow. I'm without words.

Anyway... we're going to the new apartment on Monday, and I'll be staying there for a few days. I plan to install Linux on a laptop and then get LiveJrnl functional so that I can write on the go.

That's all I have for right now. πŸ˜„

Edit: (2023-10-28 23:00) The link to the post I made on Mastodon is no longer available due to a failed server migration to Blahaj Zone. Removed.


Clean

  • 2023-02-07
  • 17:09

I finally got around to clearing off some of the things that were constantly nagging me every time I started Obsidian. Washed the pots and pans, and other dishes. Tried my new makeup by LancΓ΄me (I'm in love, btw), and emptied the food waste bin.

While all of that doesn't sound like very much, they're small victories for me. Depression has been very hard, it's hit both myself and S, and we've been struggling. I'm glad I can finally see some light. And for the first time in a while, it isn't because I just spent money on something and am waiting for that sweet feel-good-brain-chemical-boost that comesl with retail therapy. Stuff's getting expensive, man.


More Productivity

  • 2023-02-07
  • 15:33

I didn't exercise but I did publish the build script that I use for this site. You can find that here.

My mental health has been getting so much better now that I've allowed myself some time to relax. I do need to start the job search soon, but that will come once we are properly moved in. I can't do a 3 hour commute one way just yet.



I'm On A Plain

  • 2023-02-06
  • 18:30

🎡 Music: Silverchair - Shade

...I can't complain. Today has been rather good. Productive. There was a bit of a mishap with groceries because I forgot to actually press the "order" button last week, so we had to go out and buy some. Oops. 😡

The bath I had earlier was fantastic. By the time I got out of there, you couldn't see in the room due to all of the steam. I pretty much looked like a lobster. I do need to buy some more bar soap, my lavender scented one is almost completely gone.

The plan for the rest of the night is just relax and play Cyberpunk 2077. I love that game so much. Oh, Night City. How I've missed you. I'm coming home~ ❀️


Absolutely Nothing

  • 2023-02-05
  • 19:51

🎡 Music: Nirvana - Paper Cuts

Today, I did absolutely nothing. Abso-lutely. Nothing.

And I liked it. I really needed this after so long. My creativity is starting to come back. I'm happier. I'm more... sharp.

It's lovely. ❀️

Oh, in case you haven't noticed, I now have a user script that calls mpc current to give me that old school LiveJournal feel with my current music... πŸ˜„ I'm geekin' out! πŸ€“

Edit: (2023-02-05 20:11) Stuff about MPC and injecting the music into the template.

Edit: (2023-02-05 22:02) Wanted to clarify that the MPC stuff is only fully functional on PC. If I want to include music on mobile, it will have to be manually typed in.


Something Different

  • 2023-02-02
  • 20:07

Let's try something different.

Good things about today. I had kibbeling. S and I had fun exploring the Alien expanded universe rabbit hole. That was a good hour of fun and cheered me up a bit.

Tomorrow, we go to the new apartment and spend the night. It's going to be lit. I can't wait. We're picking up a cake because her birthday was earlier this week and we were both too sick to celebrate. Her dad is going to come over and we're also going to break in the new couch. Yay! 😻

I'm hoping to do a little bit of shopping. We coooould use a new standing mirror, and some bath rugs, a shower curtain, some candles, oh yes. I think I've got a shopping list to create.

-scampers off-


Frustration

  • 2023-02-02
  • 12:28

Just a small warning, this post is mostly whining. You've been warned.

Today feels like it was a wash. My interpreter couldn't come to the appointment with the psychiatrist that I see about ADHD, and the backup one couldn't either, so it was just overall fucked up because I lose out on care. We could have done it with pen and paper, but the doctor said that he hadn't received the results of my bloodwork from my primary care doctor so there was no point in having the appointment. S called our primary care doctor, and they had sent the results in November, so someone is either lying or not doing their job. Either way, we're picking up the paperwork on Monday and then hand delivering them, so even though I'm on vacation from work, I'm still doing someone else's fucking job for them. I just want my ADHD meds, man. 🀷 Its not like I'm asking for mental stability, peace of mind, or the ability to be alone with my thoughts in absolute silence and not a neverending cacophony of mental sewage, or anything like that. Ya know?

I also kind of want to address the fact that even though this doctor frequently works with the Deaf and hard-of-hearing, he doesn't know any fucking sign language? Like none. What in the goddamned ever loving fuck kind of shit is that? πŸ‘Ž

Meeting with my psychologist after also wasn't really productive, either and I feel like I wasted half of my day and €25 in train fare. I've been feeling a lot dysphoric lately, and feel like there's nothing that I can do to address it and she shrugged it off saying that I can just make do with what I have. She's not wrong, but the nonchalance was very off-putting. There is also the fact that her office really cannot manage appointments very well. I'm often scheduled on days that they know I can't attend, and it brings me a lot of anxiety when I have to deal with changing the appointments. I'm just going to cancel our next appointment and find a new one after the move. 😿 I'll be sad to go, because she's Deaf, just like me and I liked having someone to talk to that I could absolutely relate to. I can't see her anyway, because then the train fare would be almost €40 and I really can't afford that. Thanks, NS, you fucking greedy clowns! 🀑

Just ugh.


Productivity

  • 2023-02-01
  • 21:06

I think Obsidian is doing its job! I looked over at the Reminders and took care of some outstanding things (sorry, still no LiveJrnl release) like ordering groceries, hearing aid batteries, and the like. I then got a pretty decent overview of what I had to do today, how much I have accomplished (almost all of it!), seeing that my mood today was overall positive, and that feeling is pretty good. I'm confident that I can make this work and fit in some exercise, house cleaning, and even programming.

Basically, today, I am feeling fulfilled for the first time in a really really REALLY long time.

Fuck. Yes.


Hell's Bells

  • 2023-02-01
  • 18:26

I am now FREEEEEEEEE!*~ for a week πŸ˜„

The very first thing I'm doing is making a delicious dinner for S and then prepare my clothes and train ride for tomorrow's appointment. Hopefully I get meds to calm down my brain.

Afterwards, I'll probably do some more tweaking on LiveJrnl to get it ready for release. I'm really happy with the system I've got going on right now and hope to continue using it for a long time. My Journal folder is getting kind of long, so I probably need to put things in folders like year/num-month to keep it a little more organised, but we will see how that goes.

Last night, I wondered if it was posible to do the RSS feed with Markdown. It's somewhat possible but the client has to support it. Unfortunately for me, NetNewsWire and Raven Reader don't have support for <source:markdown> in RSS. I did, however, allow escaped HTML back into the RSS feed, and no longer truncate the individual posts so that they may be fully read via a feed reader. Of course, this means the RSS feed will be a lot larger, and the XML less human-readable. I could always add another template and call it feed_latest.xml or something like that with the last 5 posts. #idea

Edit: (2023-02-01 20:00) Added section about the RSS feed.


Two

  • 2023-02-01
  • 10:46

Two shifts remain. It is windy as hell outside and I have to leave in an hour for work. That would be leaving early. After today, I'm off for a week. I plan to do some much-needed cleaning, exercising, and recharging of my social battery.

Tonight, we're ordering groceries because its 2023 and most grocery chains here have finally caught up. This should take some of the pressure off of S because I still can't drive. I can answer a door, though!

I did have a file loss situation earlier today with Obsidian due to a user error. The Reminders plugin edits the date and time that a reminder is shown when you dismiss it, updating the last edited file time. If I make a change on my phone, then the reminder comes up on the PC before syncing, and I dismiss the prompt on the PC, the remote sync (correctly) thinks the PC is the latest version. I need to make a mental note to not dismiss any reminders that pop up, but to mute them. I think that doesn't change the last edited time. I will find out later today. πŸ˜… I would rather there not be a popup at all for the reminder since I have the sidebar open at all times.

This post will also be my first one that I'm not publishing in its entirety until later tonight. I want to see how well Obsidian works for journaling on-the-go.

Until later, my lovelies 😻