Clearwater
@Clearwater@lemmy.world
- Comment on What CI/CD tools are you guys using? I have Forgejo but I need a simple way of running automation. 4 days ago:
I agree. Forgejo itself is stable and I love it. Gitea never gave me trouble and that carried over.
Actions is just a bit hard to setup, at least for me, when I tried. We’ll get there one day. (I believe the big thing is really just documentation.)
- Comment on What CI/CD tools are you guys using? I have Forgejo but I need a simple way of running automation. 5 days ago:
First of all, I actually do prefer Forgejo Actions over Woodpecker. Once set up, my only problem with it (so far) is almost certainly caused by my infrastructure and isn’t inherent to FA itself. Pecker, on the other hand, is quite a bit easier to set up and better documented, but I had that issue where it would disconnect from Forgejo and need a few buttons pressed to fix.
This one is just FA being weird:
If you want to deploy the Runner using Docker, the documentation is poor at best. From both a security and documentation standpoint, having it in its own VM is better, but you can do Docker. You just have to read and figure out more on your own. Reading through the example deployments from the documentation will eventually lead you to something along the lines of this (which I copy-pasted from my deployment rather than search for again):
forgejo-runner: image: code.forgejo.org/forgejo/runner:6.3.1 restart: always user: 1000:1000 environment: - DOCKER_HOST=tcp://dind:2376 volumes: - runner_cache:/data depends_on: - dind command: >- bash -ec ' forgejo-runner create-runner-file --name runner --instance https://${DOMAIN} --secret ${RUNNER_SECRET}; sed -i -e "s|\"labels\": null|\"labels\": [\"docker:docker://docker.io/node:22-bookworm\", \"ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest\"]|" .runner ; forgejo-runner generate-config > config.yml; sed -i -e "s|^ network: \"\"$| network: host|" config.yml ; sed -i -e "s|^ envs:$$| envs:\n DOCKER_HOST: tcp://dind:2376\n CONTAINER_HOST: tcp://dind:2376|" config.yml ; forgejo-runner --config config.yml daemon '
You don’t actually need to do this since you could edit the two config files yourself and bind them to the container. This is just how you automatically generate those files… And it’s dumb, but it works and it means you don’t have to keep track of those files.
This one is probably just my infrastructure: lemmy.world/comment/16093731
If you do go for FA in Docker (or Podman) and need some help, just ask. I’ll post more of my compose and explain my decisions.
- Comment on What CI/CD tools are you guys using? I have Forgejo but I need a simple way of running automation. 5 days ago:
I run Forgejo and had issues with woodpecker’s hooks breaking causing workflows to not start. Moved to Forgejo Actions which had it’s own different set of quirks (really just depends on your exact deployment method), but I’m happy with it.
- Comment on Nextcloud (PHP) vs OpenCloud (Rust) 1 week ago:
While I do not make heavy use of these two, I like having my contacts and calendar synced and accessible on both my PCs and phone.
I actually use the notes app, and have a yubikey. For notes, I could just use the regular markdown editor, but I like way the app lays everything out. For the yubikey, NC by default uses yubikeys for passwordless login. I use an app which uses them for 2FA instead. I also use apps which allow me to view hashes and metadata from the files tab.
All that makes me not want to switch yet. We’ll get there eventually since none of the features I want are ultra complex or super uncommon.
OCIS, last I tested it (a while ago), also lacked the ability to right click files, requiring you to select it with the checkbox and then select the operation at the top of the screen. I sure hope that they’ve added that feature by now.
- Comment on Nextcloud (PHP) vs OpenCloud (Rust) 1 week ago:
I actually did not know this. Thank you! That was one of my more major gripes.
- Comment on Nextcloud (PHP) vs OpenCloud (Rust) 1 week ago:
Nextcloud is more featureful (more apps like notes and hardware 2fa support). That is currently holding me to NC.
OpenCloud (fork of OCIS not original OC) is very similar when it comes to core functionality, but is missing those few apps I do not want to let go of.
Also note that nextcloud stores files in a very natural manner, where your file names and directories are stored the exact same on disk as on the interface. Opencloud does not do that. This is particularly handy if one day the app just explodes and refuses to run. NC can just copy the files off the disk. Not so easy with OC.
- Comment on Basic networking/subnetting question. 2 weeks ago:
As a heads up, almost all OpenWRT routers function as managed switches with vlan capabilities. Not truly all, but a very good number.
- Comment on Organic Maps migrates to Forgejo due to GitHub account blocked by Microsoft. 3 weeks ago:
I agree that it is quite possibly related to the version of Podman moreso than an inherent issue. I am currently satisfied, however, and have no desire to fiddle with it any more… Or at least until Debian 13 gets released.
My use of PinP is almost entirely for cleanliness. It allows me to more easily for me to wipe clean the build environment (clear out space, troubleshooting). It also mildly improves security as the ‘untrusted’ actions containers run on a separate environment from the important Forgejo container.
- Comment on Organic Maps migrates to Forgejo due to GitHub account blocked by Microsoft. 3 weeks ago:
Forgejo Actions is definitely not a turnkey idential-to-GitHub solution, but it’s quite similar and for most not-super-complicated setups it’s basically the same (for better or worse, depending on if you like GH’s Actions).
As far as I remember, everything that I need works out of the box, except for Docker. In fact, just about everything Docker is somewhat quirky in Forgejo Actions.
-
One mildly annoying quirk of Forgejo is that as of current, the token generated for each Actions run is not quite the same as GitHub’s token. For my specific use case, if you want to upload a Docker Image to the package repository, you can not use the standard auto-generated token, which GitHub does allow you to use. Forgejo instead currently requires you generate your own app token and use that instead, as the auto-generated one lacks permissions over packages. (codeberg.org/forgejo/forgejo/issues/3571)
-
Depending on your infrastructure, it might just be impossible to make the various Docker-related actions (such as code.forgejo.org/docker/build-push-action) work. As an example, my infrastructure outlined below is one such case where those actions simply do not work.
Bare Metal (Debian 12) / ├─ Rootless Podman/ ├─ Forgejo ├─ Forgejo Runner ├─ Podman-in-Podman (Inner Podman also Rootless)/ ├─ <Actions Containers Run Here> * If you use rootful Docker with Docker-in-Docker, those actions will then work as expected. It is just that attempting to make them work with Rootless Podman (at least the version that ships with Debain 12) currently seems to be impossible.
-
- Comment on Just got my OpenWrt switch - what configurations / preparations should I do? 4 weeks ago:
For all intents and purposes, “gateway” just means “router,” especially in consumer/home networking. Routers act as a gateway, routing traffic from one network to another network. On one end of the router is your WAN (ISP / internet at large / etc.), and on the other end if your LAN.
Switches on the other hand are “dumb” and only act to expand a network. They basically act like a power strip does: What was one port is now more. (This example will probably upset someone for reasons, but they’ll also understand that it works well enough.)
Thought exercise: What happens if you plug the WAN cable from your ISP into a dumb switch (like www.amazon.com/dp/B00A128S24), and from there you plug in several devices (PC, printer, etc)? I am not answering that question because just about anything can actually happen. It depends on how your ISP is configured and will almost certainly not work 100% correctly.
Now onto the actual response: For the most part, every consumer router is a router/switch/wifi AP combo box, and are capable of being used for all or any combination of those features.
If you’re not planning to use your device as a router, then we’ll ignore the routing functionality. All prior points where I say “this happens at the router, not the switch” still apply. (Your device can still be called a router, as that’s what it’s sold as, but you’d be using it with the all routing functionality disabled, only using the switch and possible WiFi features)
If you do plan to use your device as a router, then the prior points where I say that now apply.
Anyway, you’re in luck since the switch built into your device is almost certainly VLAN-capable (it’s quite rare, but some devices are not capable of it). If you’re not using the device as a router, that’s where things probably end, since (at the switch level) VLAN support is pretty much the only thing of note.
I spent so long writing this I actually forgot what I was trying to say initially. I’ll likely draw a diagram to explain some things for you.
- Comment on Just got my OpenWrt switch - what configurations / preparations should I do? 4 weeks ago:
Building on the advice others gave:
- Make a list of the precise goals you want to achieve. Even if you don’t know precisely what you’re trying to do, if you can describe the intent well, someone who does know can point you in the right direction.
- Networking is not super hard, but it is not easy. You should take note of every configuration change from stock, and you should optimally have an understanding of what a majority of those do. Ticking boxes at random will have results varying from “nothing happens” to “nothing happened… yet” to “the network is suddenly down” to “my switch is on but I can’t even ping it anymore.”
- Comment on [deleted] 1 month ago:
Seagate’s error rate values (IDs 1, 7, and 195) are busted. Not in that they’re wrong or anything, but that they’re misleading to people who don’t know exactly how to read them.
ALL of those are actually reporting zero errors. This calculator can confirm it for you, but s.i.wtf
It is likely that GSmartControl is simply reading either the normalized or raw values, seeing a non-100/non-0 value respectively, and reporting that as an error.
- Comment on Valve pinch a little code from Godot for Half-Life 2, Counter-Strike: Source, Day of Defeat: Source, Team Fortress 2 2 months ago:
Reference: developer.valvesoftware.com/wiki/Lightmap
Skipping over some details and simplifying this to (hopefully) make it something anyone can reasonably understand: For Source in particular (as other engines may do things differently), maps start out as being fully bright without shadows. Here is an image I stole off a google search showing what that looks like:
When the map is being compiled (or exported or whatever term resonates with you the best), the lights placed within the map as well (and probably sky information too) are used to determine what parts should be covered in shadow and what should be brightly lit. The result is called the lightmap. (The lightmap itself doesn’t have any texture of, say concrete. It only stores data along the lines of “this light brightness here is 50%”). By taking the texture of the surface (concrete, asphalt, stucco) and darkening / lightening it according to the lightmap, you then end up with a lit version of the map which does have shadows.
Now on to the bicubic part: To keep the size of map files down, and reduce the resources required to load it, lightmaps by default render at a resolution of one pixel per (approximately) 40 cm or roughly one pixel per 1.5 ft. This low resolution is perfectly fine since the shadow of a building or highway overpass doesn’t need to be especially detailed beyond just “it’s dark over there”. Where required, the map author can increase the resolution in the spots that require additional detail. However, there is still one problem: When rendering a frame for you to view, the low texture lightmap is “scaled up” to cover the entire surface and you don’t want pixelated shadows. The fast way of handling this is linear scaling, where to find the value of a “scaled up” pixel, you just take the values of the nearest “original pixels” and simply average them (with more weight given toward nearer “original pixels” than farther). While extremely fast, this leads to stair-stepping as shown in the top-left panel:
Bicubic is just a fancier method of finding the value of that “scaled up” value. It’s a slower method than linear, but it resolves the stair-stepping problem.
- Comment on See something you like? 2 months ago:
I have one hen who is a cross of buff orpington, barred rock, and various random breeds. She is a pretty bird but that is a gorgeous one.
- Comment on USA | Bird flu detected in raw milk sold in California as fears rise of virus spreading 4 months ago:
Several years ago I had raw milk on a farm and it tasted incredible. I imagine that has more to do with the fact that that it gone from cow to mouth in about 30 second than with pasturization, right?