eleboog.com

journal search

newest / archive / journal / more

Journal Search - meta

← back
| page 1 |  next →

November 10, 2025

Hey! I just wanted to let y’all know that I started a gemlog over at tilde.town’s capsule. You can find it by going to the user ~kebokyo . I’m going to post some stuff on there as well as the stuff I already post on here, at least until I get a Geminispace mirror of eleboog.com up and running.

For example, today, I made a response to another gemlog to play a very silly game: Name three reasons why KDE is better than Xfce.

Also, you know how there’s a song called Black Sabbath by Black Sabbath on their album Black Sabbath? Here’s another song like that. ooookayyyy byyyyeeeeeeee

November 8, 2025

This is just an update to see if I made my “poor man’s CD” script work properly. Carry on. :3

August 13, 2025

I am currently working on a new blog post that should go into more detail on most of this stuff, but I figured now would be a good time to break the news:

I’M BACK ON HETZNER, BITCH!!!!!!!!!!

…because I would much rather pay $7/mo to keep this site up than $14/mo, especially when I’m still looking for a tech job.

With the switch of VPS hosts (again), I figured now would be a good time to start working on Dockerizing Everything™, sooooo now all of my services run off of Docker Compose, including this website! I still haven’t figured out a good CI/CD solution yet, but it seems like moving from Docker Compose to something like Ansible would be a good place to start.

Again, most of the discussion about this will come in a blog post that I am currently writing up and should be live shortly-ish-maybe-i-hope.

I am also in the process of finally moving my desktop over to Linux full-time. I’m split between just making it a home server with Proxmox VE and trying out Omarchy. Vote now on your phones (by shooting me a message yelling at me about how both of these options suck ass and your setup is the objectively superior one).

Finally, because I am eternally bored being at work and following the YouTube boycott, I decided to finally add tags to my journal entries. Now, each journal entry has one or more tags associated with it, and clicking on one will bring up all of the entries with that tag. For example, if you want to see all of the journal entries where I actually talk about myself for once, look up dox. Why is it called that? I wonder :3

Since I’m participating in the YouTube blackout (more for my own sanity than anything else), I have to use an even worse service for today’s song. Whoops! You ever imagine if Metallica was a prog rock band from Australia? No? Well, imagine this. cyaaaaaa

July 7, 2025

Did y’all survive Independence Day weekend? I think I did. I hope.

I think it may be time in the next few days to perform my server move from Vultr to Hetzner… again. I switched back to Vultr because I was not very impressed with the performance I was getting from Hetzner. Notably, I would have to shut down my webserver in order to rebuild the site when I was still using Next.js. There is a trade-off for better performance, though… I am paying double what I paid Hetzner per month for the privilege. Ouch.

So, considering I still don’t have a job, I should have made this move before I moved (which is another thing to add to the “things I should have thought about before I graduated and moved multiple states away” list) — but now that I am actively coming up on a situation where I need multiple separate VPS’s in order to do what I want, it would be much more cost-effective to go back to Hetzner. So… that’s what I’m going to be doing soon.

If y’all have any tips on how to build a CI/CD system for sites like mine (Astro + NGINX reverse proxy) or how to Dockerize Astro sites, specifically as part of a Forgejo Action (i swear to god it has been a lot harder than it needs to be to make a containerized setup work), please reach out . I am just a widdle gal and I don’t know what the fuck I’m doing and everything is just way too confusing.

Finally, right now I am writing this journal entry in iA Writer , but I think for my next entry I should be crazy and write it using a Neovim Markdown extension… Technically, since they’re written in Lua, I could make my own extension to add basic MDX parsing for the components I use (for example, making MDXCallouts look a little more like they would in the browser)… which would also be a good excuse to start thinking about how I could represent these components in plaintext or Geminispace (remind me to make a blog post about Geminispace one day like I’ve wanted to for a whole year now lmao).

oh and pick up the phone, show me it was real for me okay? thanks

July 5, 2025

updated July 5, 2025

note

Whoops, never mind, it still doesn’t update dynamically. I’m going to screm

Good news: the sharefeed is now an Astro content collection! Thanks to the recent upgrade, it was a lot easier to turn it into a content collection.

Bad news: due to the re-formatting of sharefeed entries I had to do in order for this to work, I might have made your RSS readers see all the entries as new items. Whoops.

More good news: I’ve now got a basic Micropub implementation going that can create, update, and delete journal entries as well as create new sharefeed entries. Using Postman to test the API, it just works!

More bad news: turns out if I want to make the Micropub implementation work the way I want it to, I need to make sure that both the journal and sharefeed pages server-rendered pages instead of prerendered static pages. I don’t think this will impact performance too much, but if I didn’t do this, just an endpoint on the webserver wouldn’t be enough to automatically update the site.

Eventually, I would want to make this stuff more “isolated”, possibly with a separate Express worker… but the main concern I have right now is setting up proper OAuth2 Bearer Token authentication. Ideally, I would set up a completely different server for authentication… which costs money. Right now, I just want to get everything else working, then put the project on the back-burner until I get the auth system figured out (since I’ll also need that auth system for the comments section I plan on implementing).

Finally, fun fact: This post was actually written in iA Writer , transferred to Postman, then sent to my dev server through the Micropub protocol. Yay!

Here’s the obligatory song link . byyyyeeeeeeeee

July 3, 2025

important

Whoops, I forgot to update the RSS feed to work with the new content collection system. So I did that.

…and I also updated it to now

  • include journal entires, and
  • include both the published date and the updated date (since apparently date on the library I use is put into the updated field on the Atom feed because OF COURSE IT DOES).

So that’s fun! Hopefully I didn’t break your feeds too bad. I also hope that sending the rendered HTML of each entry actually works… we’ll see! 0:3

A day later and I did the tedious part: converting the big journal page into a series of individual .mdx files in an Astro content collection. That was… fun.

It turns out that Astro slipped an overhaul of their content collection system right under my nose when I wasn’t looking. In their 5.0 update, they upgraded the system into a full-fledged “content layer” ( heyyyyyy ) that supports processing all sorts of #content and #data from literally anywhere you want. Part of this update was literally giving you the freedom to process the data however you want, replacing the weird type attribute with a new loader attribute that you can slot either the two built-in functions (representing the two old type’s) ooooooor your own bespoke function for whatever content you want to work with. It’s actually really cool… and slightly breaking compared to the old system. Whoops. So, just to be on the safe side for the future, I migrated from the old system to the new system.

After that, it was pretty simple to get the new journal set up… it was just really tedious to make all the new individual files and copy all of the content over. Honestly, it kinda made me wish I had a generative AI agent handy, but I would rather move slowly and ensure that everything works right than move fast and break everything with AI slop. I also decided to make the now and todo sections of the journal their own files for later use with Micropub . This way, I can (eventually) not only make new journal entries outside a code editor, but I can also update those journal entries and the now & todo sections outside a code editor!!! How sick would that be???

Now that I’ve done all that, though… look!!! Pages!!!!! It isn’t just one giant page anymore!!!!!! Currently, I’ve got it set to display 10 entries on each page, but I might tweak that later. I’ve also got it set up to only display the now and todo sections on the first page, and only display the really old entries section on the last page. Pretty slick, huh?

My main worry when implementing this was that all of the async stuff I had to add to get this to work would mean excess loading, but I think I can solve that by making this page static instead of server-rendered (the pages are precompiled with all of their content, so when the browser requests the page, all the server needs to do is hand the browser that precompiled page instead of having to go and fetch all of the content it needs first). All of the blog posts are handled this way, so I figured it would be worth it to do it for the journal page as well.

Also, while I haven’t started implementing it yet (I’m waiting for the weekend to do that), I have started looking at the Micropub specification… and it seems like a really good “baby’s first protocol implementation project”. Everything is very straightforward & well laid-out, and both the h-entry and h-cite microformats seem great for what I am personally looking for. The Micropub protocol itself seems pretty loose when it comes to what you can do through it: as long as the client and the server agree, you can exchange whatever data you want. So, for instance, I can staple a note field to my h-cite entry for use with the sharefeed and hope none of the IndieWeb people get mad at me for sacrilege. Alternatively, I could make the in-reply-to field in my h-entry its own h-cite object so I use the same base microformat for both journal entires and sharefeed posts, but I think that might be a bit too tryhard… I’ll figure it out once I get a base implementation going for journal entries.

Finally, I made some other miscelaneous changes lately. For example, I got rid of that stupid external link icon and replaced it with a more subtle change: all links (within markdown, at least) now have underlines, and they are dashed if they are internal links and dotted if they are external. Will anyone notice this? Probably not. Do I need a better solution? Yes. But that’s for later me.

also here’s a cool raggae song kbyyyyeeeeeeee

July 2, 2025

I think I’m finally starting to get to the point where editing a big long Markdown document for my journal is starting to make less sense. The way I’ve got things set up right now, it’s hard for me to publish my journal entries in my RSS feed, as I would need to scrape this document for date headings. However, if I use Astro’s built-in “content” system instead (like I already do with all of my blog posts), I will be able to parse those MDX files just like I do with my blog posts when it comes to RSS. It will also mean I will finally be able to build pagination into this page very easily: since each journal entry would be its own “object” instead of a part of one massive document, I can make the actual journal page whatever I want and process each entry however I want.

It would also mean I could technically build some sort of API to automatically submit journal entries to my site whenever I want, like through Micropub. Since MDX is just plain text when you boil it down to its bare elements, it would be trivial to send that plain text through Micropub, save that text to a new .mdx file, then recompile the site to serve that new entry within a few minutes. It would also also mean that I can use Micropub to produce sharefeed entries as well, but that may require wrangling JSON file editing (unless I also times 3 migrate the sharefeed into its own content collection and unify every type of #content on this site under one spaceship roof).

I’ve added my plans to the todo list up top so we can all keep track of what I’m doing… which reminds me, I should probably finish that unlisted article I linked up there, huh? I’m also not sure exactly what I’m supposed to do with the now section… I mostly use it for shitposting or random status updates whenever I touch this page. I get the feeling that I’m supposed to do more with that section, like listing out the books I’m reading (none atm) or what projects I’m working on (this site, trying not to starve)… but I don’t really have much to put in there other than. whatever.

Anyways, I got this indie rock song that I think I first heard in 2018-ish stuck in my head again so I wanted to share it.

Finally, if you have read this journal entry, you are legally required to email me with the word “pookie” somewhere in the message. If you do not do so within 24 hours, I will be very cross with you. Thanks! :3

March 4, 2025

Welp, that didn’t work.

I tried creating a CI/CD system with Docker containers and Forgejo Actions… and it worked once. Now it doesn’t work.

I’m going to revert back to my old method, which involves a local node server managed with PM2, and figure out why Docker refused to cooperate later. I made this system so I didn’t have to think about pushing changes, but since I clearly have to think about this a lot more with this system, it just isn’t worth it.

In other news I just had to spend $600 to make my car usuable so if anyone wants to send me a few bucks on Ko-fi I would appreciate that so much <3

This entry and the entry below it are both new now since the update that contained it never went live. Feel free to read that one too!

Finally, here’s a deep cut from a legendary rock band’s lesser-known albums. ktnxbye

February 18, 2025

Today I learned that NetNewsWire added an extension to Safari that puts a little RSS button to the left of the address bar. When you click it, it auto-magically finds the RSS feed for the website you’re currently on and opens the “New Feed” dialog on NetNewsWire w/ the feed’s URL already copy-pasted into the dialog box. Found a new blog that you think is neat? Two clicks ( philip ) and that blog can be added to your RSS reader, ready to view on both your laptop and your phone whenever you want (remember, this app has iCloud sync! :3).

I immediately went through my sharefeed and added as many blogs as I could to NetNewsWire. I doubled the amount of blogs in my “Blogs” folder. I feel like a god.

…But I also realized how neglected my sharefeed has become lately. The last entry to it before today was in August. Of last year. Ouch.

Have I just run out of content to regurgitate? Nope. I’m still glued to my Hacker News Telegram bot , saving articles that look cool. I just haven’t read many of them to the point where I feel comfortable doing my blog equivalent of a retwskeet yet. I save, but I do not engage. I hoard instead of currate.

I’m not sure how to fix this other than… doing the freakin’ thing more often. I’ve thought about automating the process of adding new entries a little more, maybe with a tiny wizard script that asks for each field and then adds that object to the JSON array… but I feel like making that whole thing work would be overengineering, as opening up the JSON array itself and adding the object myself is just as easy.

Hopefully, this little button in Safari will help me keep tabs on sites I like better. I’ve really enjoyed the thought of using RSS readers, but I keep running into little issues with them. NetNewsWire has solved most of them, but even then I get more outside problems like “oh god why did I add this news website, now I get like 100 new articles a day about things I don’t care about and half of them are ads and I can’t keep track of all of these posts aaaaaaaaaaa”. The more I replace these big news sites with a bunch of smaller blogs, the better my RSS experience will be, I think.

note

This is my call-to-action: If YOU use RSS readers to subscribe to blogs and other websites you enjoy, please email me with what sites you subscribe to! I would love to hear about more cool places on the internet from other like-minded people.

Oh, and I’ve decided it would be a cool idea to make a blogroll to more explicitly recommend sites and people I find cool. I’m still wanting to flesh it out a little more before I publish it for real, but I hope it will be a good resource when it is released.

Finally, here’s a song that feels very thematically appropriate regarding current events . ok bye

January 22, 2025

Oh my god!!! It’s another year!!!!

In fact, it has officially been six-ish months since this version of my website has been around (yes, it’s only been two since I switched to Astro, but since that was more of a technical migration rather than a whole website redesign, I’m not counting that lol).

On one hand, it is really cool that I’ve settled on something that I can feel proud of every time I look at it. On the other hand, my god do I need to put more stuff on here.

So, here’s the current plan:

  • Make an editing pass on the last blog post (FINALLY) so I can stop worrying about it.
  • Just. Write. Goddammit.
  • Theeeeeen maybe we can worry about that fancy comments system I keep fantasizing about.

Heck, if you want to leave me a note on one of my blog posts, there’s a great way to do so: email me! Or fedi me!! Or bsky me (ok maybe dont do that because i rarely use bsky)!!! The main reason I want to implement a comments system is to build a community… but I can’t really do that if there are no people to fill it. So if you want to be a part of that, let me know.

…Completely unrelated question, does anyone want to see an eleboog.com IRC chatroom?

oh and obligatory song link

| page 1 |  next →
contact —   |  tips appreciated!

The writing contained within this site may contain the author's personal opinions. These opinions do not represent any of the author's employers or other organizations the author is a part of — past, present, or future.

© 2023-2025 kebokyo — All Rights Reserved