harsh3466

joined 8 months ago
[–] [email protected] 7 points 1 day ago

If you are in the US, check with your local government office and/or university. In Wisconsin, the university has extension offices and you can take your pressure cooker in to get it tested. They will tell you if it is safe, and if not what you need to do to make it safe. They do this as a free public service

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

I haven't looked at yunohost in years now. It was my first attempt at self hosting, but I realized as soon as I deployed a service with it that I wanted to learn all the details of hosting rather than use a push button sort of setup. No hate at all towards using that, I just realized I wanted to get my hands dirty right away.

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

I think CasaOS is a popular one. Another one I recall is YUNO Host

[–] [email protected] 38 points 5 days ago* (last edited 5 days ago)

The isn't snark. The answer is simply greed. The rich want to be richer. They want it all. The mentality is, "I don't care about anyone else, I want it all."

Edit: removed a redundant sentence

[–] [email protected] 15 points 5 days ago (1 children)

:shocked pikachu:

[–] [email protected] 11 points 6 days ago

🤦‍♂️

[–] [email protected] 7 points 1 week ago (1 children)

So people will get something like .25 USD?

[–] [email protected] 0 points 1 week ago

I got about halfway through the first episode before I turned it off.

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

Oh she's listened to the entire contract fulfillment garbage album.

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

My wife loves Van Morrison, and I enjoy a lot of his music as well, but we both hate how much of an asshole he is

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

Ah. Yeah. I think then you'll want to look into cloudflare tunnels. I believe that should get you through the cgnt and deal with the dynamic IP ll in one go.

[–] [email protected] 5 points 2 weeks ago (4 children)

You can deal with the non-static IP by using duckdns.org

 

Hello! I’m looking for book recommendations for learning programming fundamentals.

To be clear, I’m not necessarily looking for a book on learning language(s), but rather, programming, theory I guess you might call it?

For example, I’ve been playing around a lot in my terminal writing bash scripts, and I just implemented my first function. Another example, I know the phrase “Object Oriented programming”, but have no idea what it means.

I learn well by doing, and I’ve learned a lot just writing scripts and reading about bash scripting, but I also realize there’s a lot about programming at a higher level that I know nothing about.

8
submitted 2 months ago* (last edited 2 months ago) by [email protected] to c/[email protected]
 

Both songs have pig in the title

 

Am I crazy in thinking that the shop I was in that has CentOS 3 running their self checkouts should have a more up to date and currently supported OS? These are brand new self checkouts (the shop has had them for about a year now, but you get my point.)

It’s a genuine question. Am I wrong in thinking that using this OS on a self checkout is a terrible idea? (FWIW this shop is an international retailer)

I have no stake in the shop or anything. I just happened to be there when they had to reboot a self checkout and I noticed the OS version as I was going by.

 

Most of the switching posts are from frustrated windows users making the jump. I’m already a Linux user on my server (Ubuntu for now, going Debian at some point) and a 2014 iMac for tinkering/testing (KDE Neon), and a couple of raspberry pis (raspberry pi os headless) but our main household computer is an M1 Mac mini that my wife and I both use.

Lately I’ve been super frustrated with macOS.

  • First, macOS just refuses to mount my USB 3 drives. I have a 1T seagate ssd and a 3T WD hdd (both exFat) and it just flat out refuses to see them. The same drives are visible and mount just fine on my server and the KDE iMac. On macOS, they’re invisible. They don’t auto mount, and they don’t show up in disk utility (gui or shell), which is really fucking annoying when I’m trying to move large files between machines
  • I use Cryptomator to encrypt data on macOS, and because of their whole walled garden shtick and how they continue to lock out system extensions, macfuse routinely breaks, rendering it impossible to access my data on macOS. Again, on the KDE iMac, everything just works as it should. On the Mac It’ll throw me the enable the extension warning, so I enable it. Then it tells me I have to re-boot to actually use the extension. I reboot, and it throws the enable extension warning again. Fucking infuriating.

I hadn’t already pulled the trigger on Asahi because my wife uses the m1 more than I do, and I didn’t want to break anything she does. However today was the last straw as a task that should have taken me maybe 15 minutes took two hours of fighting with macOS. After talking with her she gave me the go ahead to install Asahi. It helps that she does most everything in the browser and that the install is a dual boot setup with macOS still available.

I used to love macOS. It felt so intuitive and while it was never flawless, it mostly just got the fuck out of my way so I could do the things I wanted and needed to do. I still love a lot about Apple hardware, but fuck that shit os. I’m happy to be running Linux on all of the computers in the house.

Now I just have to learn the Fedora differences, having used Debian derivatives up until this point.

171
submitted 5 months ago* (last edited 5 months ago) by [email protected] to c/[email protected]
 

Made delicious Moroccan spiced lamb tacos in fresh naan with:

  • onions pickled in apple cider vinegar, white vinegar, lemon juice and a touch of honey
  • thinly sliced cabbage
  • fresh made tzatziki (made this morning so the flavors could marinate)
  • tomatoes roasted with garlic, onion, salt, pepper, and oregano

UPDATE: Recipes and instructions!

These are not all original recipes, but most of them are modified, so I've included the recipes as I made them, but also links to the original recipe source.

Bread

Naan (source) (Naan can be made ahead. I made mine fresh before prepping the meat)

Ingredients:

  • 1 teaspoon sugar
  • 1/2 cup warm water
  • 1/4 oz. active dry yeast (2 1/4 teaspoons)
  • 2 1/4 cups all-purpose flour
  • 1/2 cup plain yogurt (I use whole milk greek)
  • 1/2 teaspoon salt
  • 1 Tablespoon garlic powder (approximate. I didn't measure, just dumped some in)
  • 1 Tablespoon onion powder (approximate. I didn't measure, just dumped some in)
  • 1 Tablespoon chili powder (approximate. I didn't measure, just dumped some in)
  • 1 -3 tablespoons extra virgin olive oil
  • butter for the skillet
  • salt for cooking the naan

Instructions:

  • Heat the water to around 105-110F (approx 40-43C)
  • Add the yeast and sugar to the water and whisk until blended. Let sit for appox 10 minutes to bloom the yeast. It should be foamy
  • Put the flour on a large countertop/work surface and add the spices. Mix together with your hands, and when well mixed, make a well in the middle of the flour mixture.
  • Add the yogurt, yeast mixture, and 1 Tablespoon olive oil to the well
  • Knead the mixture together. If the mixture feels a little dry, add more olive oil as needed, a little at a time until it doesn't feel dry.
  • Knead the dough for 10-15 minutes until it is smooth and shiny
  • Add a Tablespoon of olive oil to a large bowl and coat the sides and bottom of the bowl with the oil
  • Place the dough in the bowl and cover with a damp towel.
  • Place the bowl in a warm spot to rise for a minimum of one hour until doubled in size (I like to let mine rise for 2+ hours)
  • Once risen, turn the dough out onto a cutting board and divide into 8 equal pieces
  • Lightly flour your workspace and your rolling pin
  • Pre heat your skillet and add a teaspoon of butter. (I use a cast iron but any larger skillet will do, I also cook the naan as I'm rolling out the other pieces. If this is too much, roll out all the dough first, and then cook it)
  • Roll out the pieces of dough into around an 8in/20cm diameter. It will be irregularly shaped, which is fine. Flip and turn the dough frequently as you roll it out and dust with additional flour as needed to keep it from sticking to the rolling pin or your work surface
  • When cooking, lightly salt the first side of the dough and place it in the pan, and then sprinkle salt on the other side.
  • Cook for 2-3 minutes per side. The dough should bubble up nicely and brown nicely as it cooks.
  • Stack on a plate for serving.

Garnishes

Note: Highly recommended to make these ahead to allow the flavors to meld. I made all the garnishes in the morning

Pickled Onions (This is part of the Moroccan Spiced Lamb recipe below but I went rogue with this one)

Ingredients:

  • 1/2 red onion thinly sliced
  • 1-2 T white vinegar
  • 1-2 T apple cider vinegar
  • juice of one lemon
  • a touch of honey

Instructions:

  • Mix everything together in a bowl. If making day of, cover and let sit at room temp to marinate. If making day(s) ahead, cover and refrigerate until needed.

Tzatziki Sauce (source)

Ingredients:

  • 1 English cucumber
  • Salt
  • 5 to 10 garlic cloves minced
  • 1 tsp white vinegar
  • 1 tbsp Extra Virgin Olive Oil
  • 2 cups plain Greek yogurt
  • 1/2 - 1 cup dill (my wife LOVES dill, so adjust this to taste. We don't measure, she just adds handfuls of dill)
  • Fresh cracked black pepper to taste

Instructions:

  • In a large enough bowl for all the ingredients, add the vinegar, olive oil and garlic and whisk together
  • Grate the cucumbers on a box grater or with your food processor
  • Using a cheese cloth, in batches, squeeze the water out of the cucumber. There will be a lot of water. They don't need to be perfectly dry, but squeeze out a bunch of the water. Put the squeezed cucumber in the bowl
  • Add the yogurt, dill, and salt to taste (I add around 1 T salt, but I like salt), and mix everything together with a spatula. Cover and refrigerate to allows the flavors to marinate

Roasted Tomatoes (this is an original recipe)

Note: We put them on the tacos cold/room temp

Ingredients:

  • Tomatoes of choice (we sometimes use grape tomatoes, roma, whatever tomatoes we happen to have)
  • Extra virgin olive oil
  • Salt
  • Pepper
  • Dried Parsley
  • Onion powder
  • Garlic powder

Instructions:

Note: None of this is measured, so add everything to taste. If you need a starting point, if using 1 pint grape tomatoes, use approximately 1t garlic powder, 4T parsley, and 1T of the rest, and 1T olive oil to coat. Adjust as necessary depending on the volume of tomatoes you are roasting.

  • Pre heat oven to 400F/205C
  • Line a baking sheet with parchment paper
  • Cut up tomatoes. If using grape or similar, cut in half. If using roma or larger, slice around .25in/2.5cm thick
  • Place tomatoes in large bowl/tupperware that has a lid
  • Drizzle with olive oil for coating.
  • Add in all spices
  • Cover bowl and toss to thoroughly coat tomatoes with oil and spices
  • Spread tomatoes out on baking sheet, use more baking sheets as needed so that the tomatoes aren't layered on top of each other
  • Cook for approximately 50 minutes, but keep an eye on them so they don't burn. I like my tomatoes with some caramelization, so I tend to like to go an hour or longer depending on the tomatoes. (but I'm always watching them so they don't burn)

Sliced Cabbage

Ingredients:

  • small head of cabbage

Instructions:

  • thinly slice

Meat

Moroccan Spiced Lamb (source)

Ingredients:

  • 1 lb ground lamb
  • 1 tsp. sea salt
  • ½ tsp. garlic powder
  • ½ tsp. ground cumin
  • ¼ tsp. ground ginger
  • ¼ tsp. ground cinnamon
  • freshly cracked pepper
  • 1/2 jalapeno pepper de seeded

Instructions:

  • Char the jalapeno over an open flame (I do it over a gas burner). Once it reaches your desired level of char, dice finely and set aside in a small bowl
  • Add the spices to the bowl with the jalapeno
  • Brown the lamb in a skillet
  • Once browned, remove from heat and remove some of the grease (I sop it up with paper towels) so that it's not swimming in the fat
  • Return to heat on low and add the spice and jalapeno mixture to the meat and mix well. Turn off heat and set aside.

Assemble

Instructions:

  • Spread some tzatziki on the naan
  • Add the lamb
  • Add the onions
  • Add the cabbage
  • Top with tomatoes
  • Enjoy!
73
Chicken Gyros (ps.wbcld.com)
submitted 5 months ago* (last edited 5 months ago) by [email protected] to c/[email protected]
 

Made chicken gyros today, made the chicken, tzatziki sauce, and the pita bread. It all tasted fantastic.

 
 
 
 

Made pineapple coconut curry over roasted cauliflower and a fresh batch of naan. Delicious.

 

Not as much time to tinker this week, but I still had some fun and learned some things!

How to run a memory test using memtest86+

My error message is back, which means my nuke and pave approach didn’t solve the problem. So, yay to having a record of the error message?

Here’s the error:

echo 0 > / proc/sys/kernel/hung_task_timeout_secs" disables this message.
INFO: task txg_sync: 3557 blocked for more than 241 seconds.
Tainted: P 0 5.15.0-94-generic #104-Ubuntu

I decided to do a little more searching and found that the txg_sync is a zfs task. I know zfs uses a lot of RAM as part of it’s processing. As a result/starting point, I decided to do a memory test to see if I messed up any of my RAM modules when I knocked the shit out of my server.

Running a memory test was really easy. I downloaded the latest memtest86+ ISO, used balena etcher to flash it to a usb stick, booted from that stick, and let the test run.

I let it run for two full passes and got no errors.

So as of right now I know that the error is being caused by zfs writes/activity, but I don’t know why the error is happening, other than that I fucked something up when I knocked the shit out of my server.

How to set up a wireguard tunnel

This also has been on my list of things to figure out for quite awhile, and, turns out, with the wg-easy project, it is exactly as easy as the name implies. I found out about wg-easy through the Awesome Open Source YouTube channel. I’ve learned a lot from the guy that runs that channel, so I always check there when I want to learn more about something. Timing was fortuitous, since he had just dropped his video on wg-easy.

I’ve got wg-easy running on my vps, and I’m planning to connect my playground server to it so I can ssh in and play around during my breaks at work.

Grav CMS is pretty nice

I’ve kind of idly been looking for an alternative to Wordpress. I found out about Grav while bouncing around Linux YouTube looking for things to learn about/try. I’ve already tried 11ty and Hugo ssgs and neither worked for me.

Grav on the other hand was easy to get up and running, is easy to theme, (Theming was the problem I kept running into for both 11ty and Hugo), can be managed through cli or webui, and can have content added through the webui, or, more importantly for me, from markdown files on the server.

Whether or not I’ll actually use it to deploy a site remains to be seen. I’ll continue to tinker with it while I decide if I want to migrate my wordpress site over to it.

75
submitted 8 months ago* (last edited 8 months ago) by [email protected] to c/[email protected]
 

Edit: I've made an account here on lemmy.ml as I routinely can't comment or post from my account on lemmy.world.

Bit of a week! As usual, had a lot of fun tinkering. Here’s my takeaways from this past week(ish).

I finally learned how to set up a cron job with elevated privileges

This is something I've had on my , "I should really get this figured out" list for about two years now, but instead have been inconsistently typing my rsync commands (Since I've also been too lazy to set up the aliases for these commands).

I spent a couple of days rebuilding my server from the OS up (for reasons which I will explain momentarily), and since I'm up on a fresh OS with all my containers and services up and running, I figured it was time I figure out this cron job thing.

The approach I took was to write a simple bash script for my backup. The script is four lines. Three of which are sudo rsync ..., and the last of which is a curl -d ... command.

The rsync commands are to incrementally back up my server data, cache, and docker volumes.

The curl command triggers a notification through my ntfy instance, (link is to ntfy, not to my instance), to let me know the backups have successfully completed.

In order for that to run properly, I also had to learn....

How to update sudoers privileges

After reading about crontab and privileges, I know I could have just edited /etc/crontab and run my script as root, but what would be the fun in that when I could also learn about changing privileges through sudoers! So I learned how to modify sudo priviliges by creating a new file in sudoers.d with the command:

sudo visudo -f /etc/sudoers.d/name-of-my-sudoers-file

And why that and not just editing /etc/sudoers directly with nano or vim or emacs? That was my first question when I saw that command and thought, "Oh, shit, I'm going to have to brush up on my vi/m."

Turns out, if you just rando edit sudoers (or add a file to /etc/sudoers.d/) with any old editor, you can fuck up the syntax, and if you fuck up the syntax, you can fuck up your ability to use sudo, and then you can't do anything requiring sudo on your machine without going through tremendous headache to fix it.

However, if you use sudo visudo ..., you get syntax verification to prevent you from breaking sudo.

And, on Ubuntu server, visudo uses nano by default, which meant I didn't have to worry about vim just yet (vim is on my roadmap of things to learn)

(Also, you can change the default editor visudo uses, but I don't remember the command because I won't be changing it until I get a grip on vim and can make a decision about which editor I want to use.)

With all that being said, I created a file in /etc/sudoers.d and added a line to allow my backup script to run with elevated privileges without requiring a password with this syntax:

username ALL=(root) NOPASSWD: /path/to/my/script

Good documentation/notes will save you like good backups will save you

This isn’t something that’s new to me, or to linux (Arch wiki ftw) but it’s something that 100% made rebuilding my server from the OS up a pretty worry free breeze.

So why did I rebuild my server again a little over a month after rebuilding it from the OS up? Turns out when you accidentally kick a stool while carrying a heavy box and that stool knocks the fuck out of your server, your OS can get fucked up.

This happened a few weeks ago, and boy was I panicked when I first kicked that stool into the server. After putting down the boxes I turned on the monitor and the screen was freaking out. It looked like a scrambled Max Headroom. I held the power button to force a shutdown, and after rebooting the server everything came back up and I thought, ”Holy shit, I dodged a bullet!”

(Bonus lesson, I learned to not leave the stool in front of the server rack!)

But, all was not well. My server data and cache are on zfs pools, and every time I tried to bulk add some of the shows or movies I prepared to the data pool, I would get this procsys kernel panic error. I had repeatedly been checking my zpool status, and everything was good there. So I was furiously searching trying to figure out what the error meant, and I kept finding folks with the same or similar errors who talked about checking logs, but whenever I checked logs I couldn’t find anything to indicate what was actually going on.

Finally, after a few days additional searching, I ran across a comment on a thread that said this particular error (I neglected to save the error, I wish I had) was usually a hardware related issue, like a loose connector, and I thought, ”Holy shit, that makes perfect sense after knocking the shit of my server!”

So I shut it down, opened it up, and sure enough there was a loose cable on the motherboard. I reseated it, checked the rest, rebooted, and over the course of the next week, it seemed all was well.

But I kept getting these weird errors. Not actual error messages, no more kernel panics, and data wrote to the zpool just fine. It was little things not working as expected. Commands that typically ran very speedily (like ls) were lagging, opening a file in nano took multiple seconds instead of being near instant, stuff like that.

I decided to go for a nuke and pave approach, rebuilding from the OS up again, which is where the documentation comes in. Since I started messing about with self hosting 2-3 years ago, I’ve kept meticulous notes on everything I have done and learned so that if I had to re-do it, I could open up Joplin, search for whatever I needed, and proceed. This has saved my ass multiple times over the years as I tinker, break shit, and fix it using my notes.

So yeah, in addition to having a good backup system, you should also keep good documentation for yourself.

edit: removed extra 4 from post title

view more: next ›