tko

joined 1 year ago
[–] [email protected] 11 points 1 week ago (3 children)

I'm having a hard time imagining an accident caused by not wearing a seatbelt... I guess maybe being thrown from the vehicle and hitting a passenger in another car who was wearing a seatbelt?

[–] [email protected] 2 points 3 weeks ago

Cheers to that!

[–] [email protected] 8 points 3 weeks ago (2 children)

There is legitimately good wine at just about every price point... You definitely should not write off a wine just because of the price.

And conversely, there's lots of BAD wine that's expensive.

Try everything and keep track of what you like! Your wine drinking experience will improve, and it'll probably cost you less to boot!

[–] [email protected] 1 points 3 weeks ago* (last edited 3 weeks ago) (2 children)

How do you counter the arguments about strategic votes in Cardinal voting systems? Those arguments are explained here: https://betterchoices.vote/Cardinal

Put simply, Approval is still subject to strategic voting that undermines the purpose of the system. In practice, nobody is going to approve of a centrist candidate from the other party because that approval vote might be the only reason that their party loses.

[–] [email protected] 2 points 1 month ago

I'm so glad I found this site! I think I've been converted to a Consensus Voting proponent instead of Instant Runoff.

You can read more about it here: https://betterchoices.vote/ConsensusVoting

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (5 children)

Do you have a link that explains what you're talking about? I'm having a hard time reconciling my understanding of Ranked Choice (with instant runoff) with the downfalls you describe.

Edit: I came across this: https://betterchoices.vote/Cardinal It explains the spoiler problem with Ordinal voting systems, but also illustrates problems with Cardinal voting systems. Interesting stuff.

[–] [email protected] 3 points 1 month ago (1 children)

Gotcha... as long as you understand that any device that receives that traffic can see exactly what's in it! (no sarcasm intended at all... if you're informed of the risk and OK with it, then all is well!)

[–] [email protected] 5 points 1 month ago (3 children)

What's your reason for using HTTP? That seems like a really bad idea this day in age, ESPECIALLY if that's something you're going to make available on the internet.

[–] [email protected] 2 points 1 month ago (3 children)

A reverse proxy is basically a landing place that acts as a middle man between the client and the server. Most people set it up so that all traffic on 80 or 443 go to the reverse proxy, and then the reverse proxy gets the correct website based on the host header of the request.

If you are currently serving multiple websites on your server, then that means you are serving each website on a different port.

So, just make sure that the reverse proxy is serving on a port that is not used by your other sites. It will only respond on it's own port, and it will only serve the site(s) that you have configured in the proxy.

You'll be fine!

[–] [email protected] 3 points 2 months ago

I run a Nextcloud instance on my Unraid server.

[–] [email protected] 5 points 2 months ago (1 children)

I hear you... it's definitely not about one tasting better than others, but maybe more about the eating experience. I do think there's a legitimate argument about how different pasta shapes encourage different pasta to sauce ratios, but at the end of the day it's just the two elements coming together and the taste is what it is. We should all enjoy it the way we want to! I just wanted to explain why some people talk about certain sauces and certain pasta shapes "belonging" together.

[–] [email protected] 6 points 2 months ago (9 children)

It has everything to do with the consistency of the sauce and how well it sticks to the pasta. For example, spaghetti with a meat sauce isn't a great choice because the meat won't actually stick to the pasta and you'll have to scoop up that meat "manually." Better is pappardelle, which has a huge surface area that causes the meat to stick to the pasta.

 

The release notes for 0.19.4 mention that this version requires an upgrade to both pictrs and postgres, but there isn't any information about what versions of those are supported. Is there someplace else I should be looking for this information? Or should I just YOLO with the latest version of each?

 

I'm a little confused as to how the "report" function works. I'm an instance admin, but if I report a post on another instance, that report shows up in MY report queue. If I mark that report as "resolved" to get rid of the notification count, does it resolve it on the home instance?

 

I'm curious what everyone thinks about the posts that have shown up here that are simply a link to purchase an item on Amazon?

These posts are coming from users that don't have any other engagement other than these posts. This does not seem like a good-faith effort to engage with the community, but rather a cheap attempt to generate clicks and sales.

I would like to see these posts banned, but I'm curious how the rest of the community feels.

 

cross-posted from: https://tkohhh.social/post/4829

Unfortunately, the official documentation on theming lemmy is severely lacking. I made some progress on getting it figured out today, so I wanted to share that with you all.

This is by no means meant to be an exhaustive guide, but my hope is that it will at least get you going. I'm sure that I will say things that are incorrect, so please correct me if you know better!

Background

Lemmy uses Bootstrap-compatible theming. As far as I can tell, this means that it uses a pre-defined set of CSS classes. This is important because if you provide a CSS file that doesn't have all of the correct classes defined, it will break the layout of your lemmy.

Your custom CSS needs to be saved in the bind mount for your lemmy-ui container. If you followed the install instructions on join-lemmy.org, the location will be /lemmy/volumes/lemmy-ui/extra_themes/.

Prerequisites

In order to generate the correct CSS, you need a couple of things:

  • your customized Bootstrap variables, saved in an scss file
  • the Bootstrap scss files
  • the SASS compiler

Let's go through each of these (last to first):

The SASS compiler

The SASS compiler needs to be installed on the machine you will use to generate your CSS files (it doesn't NEED to be the computer that lemmy is installed on, but it can be). Follow the install instructions relevant to you. I used the "Install Anywhere (Standalone)" instructions and installed SASS on the Ubuntu machine that is running my lemmy instance.

The Bootstrap scss files

These files need to be saved on the same machine as the SASS compiler. The Bootstrap download page has a button to download the source files ("Download source"). This will give you a zip folder, so unzip it. Within the unzipped files, the only directory you need to keep is /bootstrap-5.3.0/scss. Save that folder in a place that makes sense for you. I put it in my home directory, so the path looks like ~/bootstrap-5.3.0/scss. You'll need to reference this directory when you're creating your custom scss file.

Your customized Bootstrap variables, saved in an scss file

This is the fun part... you define your Bootstrap variables. I'm still a little unclear on which version of Bootstrap lemmy is using (and therefore which variables are valid), so I chose to start with one of lemmy's default themes as a starting point. I grabbed _variables.litely.scss and litely.scss from the lemmy-ui github repo as a starting point.

You'll notice that litely.scss is just importing variables.litely as well as the Bootstrap scss files. You'll need to change the path of the Bootstrap scss files to the path where you saved your copy of the files. However, leave bootstrap at the end of the file path, as this is actually referring to the bootstrap.scss file within the Bootstrap scss directory.

It wasn't obvious to me initially, but you can also add your own CSS styles at the bottom of your scss file. These will be merged with the styles defined in the Bootstrap files. For instance, I wanted my navbar to have a different font from the body, so I added this:

#navbar {
  font-family: sans-serif;
}

Generating the CSS file

Once you have all of the prerequisites satisfied, you can generate your CSS files using the SASS compiler. Go to the directory where your customized scss file(s) are saved, and run this command (you added the SASS install directory to your PATH, right??):

sass [inputfile.scss] [outputfile.css]

This will generate a CSS file. However, pay attention, as there might be errors. If so, fix the errors until you can run SASS without any errors.

Finally, drop the generated CSS file into your "extra_themes" directory. You'll now see your theme show up in the list of themes on your profile (it'll be the filename of your CSS file).


And that's it! I hope somebody finds this helpful. Please let me know if there's anything I can clarify!

 

I'm hoping one of the developers can help point me in the right direction.

I'm trying to create a theme, and I started by downloading the litely.scss and _variables.litely.scss files from the github repo. I renamed the files and made some changes, and then used https://bootstrap.build to generate a css file. I dropped that file (along with my scss files) into the extra_themes directory on my server.

Sure enough, my new theme was available in the list of available themes. However, when I applied the theme, I found that the layout was broken (see screenshot).

So, my question is: how can I generate the css file in the proper manner so as not to break the layout? Is there a specific Bootstrap tool that we should be using to generate the css? Are there additional input files that need to be included in order to generate the correct css?

Thanks for any help you can provide!

4
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 

My favorite new feature of 6.12 is the "Exclusive Shares" concept. Here's a rundown:

Background

Unraid user shares are a FUSE, which allows data on multiple drives to be presented as a single file system. This idea is at the heart of Unraid's Array, as well as the concept of "Cache Pools" (now known as Named Pools). Any time you see a path that starts with /mnt/user in Unraid, that's a FUSE (prior to 6.12, that is).

FUSE is great for giving us this transparent way to view our files without having to worry about which physical drive those files reside on. However, this comes at a cost... and that cost is reduced performance for applications running on an SSD Named Pool.

This performance penalty wasn't always noticeable, but it would sometimes rear it's ugly head in unexpected ways (exampes: graylog and duplicati). There was a workaround, assuming your appdata user share was stored entirely on one Named Pool: you could update your docker bind mounts to /mnt/[poolname]/appdata instead of /mnt/user/appdata. This bypassed the FUSE.

Exclusive Shares

With Unraid 6.12, Limetech introduced "Exclusive Shares" as part of the Share Storage Conceptual Change. This gives us a built-in way to bypass FUSE on an entire user share.

In order for a share to be designated an Exclusive Share, the following must be true:

  • "Primary Storage" must be a Named Pool
  • "Secondary Storage" must be set to none
  • Files for that share must exist entirely on the Primary Storage device

Setup

In order to use Exclusive Shares, you first have to enable them. Go to Settings > Global Share Settings and change the Permit Exclusive Shares setting to Yes. You'll have to stop your array in order to make this change.

Next, make sure that your appdata share is stored entirely on the Named Pool. Go to Shares and click Compute in the Size column for your appdata share. This will tell you how much data for this share is saved on each drive. If the only drive reported is your Named Pool, you're all set. If you've got more than one drive, you'll need to disable docker in settings, and then run the mover.

Once your sure that your entire appdata share is saved on your Named Pool, you need to change your appdata share settings. On the Shares tab, click on appdata to bring up the settings. Change the Secondary Storage option to None.

If you did it correctly, after you Apply the changes you will see the Exclusive Access field on the appdata share change from No to Yes.

Finally, if any of your docker container bind mounts use mnt/[poolname]/appdata/..., you can change those to mnt/user/appdata/....

I hope this helps anybody who might have been frustrated with the appdata FUSE performance in the past! If you have any questions, let me know!-

view more: next ›