New Year Update
Update on changes leading into 2025. Its been a wild ride and a quiet time at work.
2025 has been a crazy year.
Farkt
I separated the Ark community from Oceania Gamers into a new community called “FARKT”. Retrospectively, not a great idea but it’s made managing the people easier.
We have a PVP cluster going which has been incredibly active. We’ll release a PVE cluster very soon; it’s created, just needs settings checked for compliance with PVP.
It has kept the activity in OG down a little which is nice. I’ll need to re-align the gaming presence soon, but free time is a luxury and there are grander plans afoot.
Dxcker
I’ll be renewing efforts to complete Dxcker this year.
It’s a standardized image library that contains really simple to use containers for anyone. It has proven to be an interesting challenge because you’re always hit with conflicting choices.
For example, consider a “Wordpress” container. You want to just run it and have Wordpress appear but you also want to allow people to map their own custom files. This logic requires a start script as an entrypoint, which contravenes the no-start-scripts directive.
Base configurations have also been a challenge; should we force users to provide their own configurations or should we offer a base configuration to get them going? If we offer a base configuration; how do we deploy it without, A) a start script with logic to handle the check, or B) negating full user control over the configuration directory?
This was a major issue with Apache. Not only is it infeasible to provide a container without a base configuration, but Apache also requires root permissions to start so that it can bind to ports 80 and 443. This means that the Apache container had to ship with base configurations which reference /config for any customizations.
Lesser so is the issue of certain PHP applications whose configuration can be split between Apache, PHP and the PHP app itself. For example; you need configuration control over Nextcloud, but you also need to volume mount the data directory, and often you need to change the configuration of Apache to allow larger file uploads (seriously nextcloud:latest wtf were you thinking).
Some solutions to these do exist:
- Introduce subcategorization of configurations; ie
/config/{apache,wordpress}, to allow configuration of each component - Rework apps to comply with dxcker standards; adds complication to image and app configuration, but could work. Needs testing
- Take the L and switch to start scripts
We also ran into a wall basing off of Alpine. Using helper images to build glibc libraries and running them in the musl environment was becoming entirely too challenging. We’ve had to switch to Debian 12, which was always the preference if I’m being honest.
This does add the complication of clean up actions in children, but sadly that’s the compromise to being able to actually run most of the software we’re covering.
All up it’s coming along well. Should hopefully have something squared up for more mainstream advertising eventually. Hopefully people like it.
I’ve deployed a Pelican Panel server recently. I can definitely see Dxcker images transitioning into Eggs very nicely, and I can see some great room for improvement in that space.
It’s all unpaid though, so it’s like a P5 to me.
Phone
The Pixel Watch 3 45mm came up on special during Black Friday sales so I purchased that to experiment.
JB HIFI then had Pixel 9 sales during the lead up to Christmas. The Pixel 9 was extremely cheap however I have a rule of only buying smaller phones with full camera clusters. It’s personal preference. The Pixel 9 Pro was not discounted, and about $1800, while the Pixel 9 Fold was discounted to about $2100.
I caved and bought the Fold.
I had already switched to my Pixel 7 Pro. I couldn’t handle the iPhone. It has come a long way but it had so many jank decisions in the UI that I never really felt fluent using it, and I really missed that back button.
I’ve so far kept within the Google ecosystem, ie not running GrapheneOS. Google is way worst than Apple for privacy but features are about parity. Google Messages doesn’t seem to work on the watch while the phone isn’t connected but that’s likely a me-issue.
YouTube Music on WearOS is phenomenal though. I downloaded a playlist using just the watch - while it was connected to the phone - and have been doing my evening walks/runs with just the watch. Running without holding my phone is all that I’ve ever wanted since I was 18.
All functions work better on PW3 over the AWU2, however UI flow leaves a little to be desired. Messages doesn’t have finger-tapping to navigate which I miss, and apps can run hidden in the background. Eg/ you open the workout app, start a workout, switch to YTM, play a song then try to open the Fitbit app again. You’ll be running two separate Fitbit apps because the first just spawns a second.
Apart from the quirks it works great.
The Pixel 9 Fold is a terrible option over the Samsung Fold. Samsung has nailed their product and it’s extremely durable. The Pixel 9 Fold has been scratched to shit from my pocket. The form factor of the P9F is fantastic though.
If they added floating windows then I think it would be a winner. It’s a lot less bloated - UI wise - than the Samsung. Surprisingly more net-apps pre-installed but I imagine a Graphene install would be phenomenal on it.
General Project
General projects are not going well.
Ghost - the Golang docker deployer - has become stagnated. GSA has become stagnated. HXST has become stagnated. OSTAC has become stagnated.
I want to put efforts into a Wordpress alternative given the current drama. I also think there’s a space for a Nextcloud alternative. I don’t see a way to profit off of either though, unless I pull an Automaticc.
I have an idea for a single-binary Nextcloud replacement, which would just run basic WebDAV, CalDAV and CardDAV functions on a port or ports. It would just need a simple phone app for sync.
The app would need SAML or OpenID integration to be sellable to the corporate marketplace. It would start great as a home alternative just running large passphrases providing access to the user of that passphrase … sorry.. token… but the SAML would complicate it.
The Wordpress replacement could have a standardized marketplace. IE open source efforts towards a single catch-all E-Com platform, instead of a fragmented sea of overpriced, poorly coded subscriptions.
I also really want to put some time into developing a message application. A cross between IRC, Weechat and Discord. It’s been in my brain for years now but learning towards it has been slow going. Seeing things like Matrix and the FediVerse miss the mark is just really frustrating to that end as well.
On that topic, I am considering a paid social network setup. I feel like people are starting to accept paying towards privacy, and I feel that a market could open for smaller family social networks that link into the fediverse. This could also be useful for corporate, especially if their internal social networks link into the fediverse.
Disk space will be the biggest pain point however customers would just pay a markup on averaged infrastructure costing. The markup would cover managed configuration. A two products are viable imo; pay for ‘basic’ which has limtiations on file upload size and other adjustments to reduce OPEX, and a PAYG tier that is open but lets them post high res images or high volume traffic while billing them for excess usage.
Finally, Ghost could come into play here but it needs some scope refinement.
The idea of Ghost is to deploy Docker containers to hosts. I have dropped Proxmox and OPNSense from my env due to the complexity it added. Unfortunately, that means I don’t have a good automated way of deploying specific things.
The scopes pretty well defined but should be expanded to virtual machines on contemplating.
Infrastructurally, I am a little unsure. We would need an API gateway and a deployer, with an agent on each host. Decisions like push vs pull are paralyzing, because it requires so much consideration.
I’m starting at the base right now; figuring out directory heirarchy, working out the final system state that I’m expecting. Working on some basic Go modules, structuring, etc.
It’s my first major Go project so it’s been a little challenging chasing best practices and the like.
If all of that isn’t enough, I’m also working on my own Bootstrap version.
Bootstrap has gone too far and become a little too opinionated. I’m working on a CSS reset bundled with a Sass based CSS framework that is customizable with variables. The aim is to provide basic layout blocks while keeping the HTML “vanilla” (ie defaults for all).
The developer could still use functions like .row and .col, but would need to provide theming for things like button. The use of !important is something that I’m trying to mitigate, and I’m hoping that developers could ideally just provide variable overrides for pretty much everything included in the framework.
Typography has never been my strong suit and this project has challenging me a lot. It’s surprising how long it takes to make something like this tbh.
I’m doing some custom Wordpress themes and it is absolutely disgusting what ThemeForest developers have been allowed to get away with.
I’m working on getting the CSS framework defined and exportable. I want it to be CSS only however I’m already running into some blockers with view heights and the like. I won’t be providing modules like drop-downs and the like, which is the whole idea.
Cars
Honestly, fuck cars.
My new LC105 just blew it’s head gasket. I can’t find a mechanic willing to pick up the job. I can’t work on it myself because my carport is too open, and it’s also filled with the WRX and the Jeep.
Funds are limited right now. It’s hard to prioritize fixing the Jeep enough for sale, and it’s hard to justify registering it if it will not sell. Cars are not really moving right now, so it’s a bit of a shit situation.
The WRX is just not a priority. It’s a luxury and one that I want to look into later in 2025, but blockages like the 105 don’t help towards this goal.
The bikes need to be offloaded too or they’ll erode into dust.
It’s just been a whole thing.
Binnis
Watson is still humming along. That’s the DL360. It’s been relegated to Minecraft and web sadly.
Hawke is being built and drops the traditional convention that I established a few years ago. This is a docker-only host, which allows me to use Wings to deploy game servers and eventualyl Ghost to deploy customer data.
I have the next iteration of Watson at home now. I haven’t had a chance to rebuild, and I don’t have a
I’ve picked up a few customers but I’m limited by my presence.