ragingHungryPanda
- 10 Posts
- 121 Comments
ragingHungryPanda@piefed.keyboardvagabond.comOPto
Programming@programming.dev•Nuked and back again - a tale of losing and recovering a bare-metal kubernetes cluster (mostly)English
3·2 days agothe instances were an excuse for me to set up a cluster. I definitely know none of this isn’t needed. I wanted to get familiar with things that I do related to work, but never really get to get my hands dirty with. I did all of this because I wanted to learn.
ragingHungryPanda@piefed.keyboardvagabond.comOPto
Selfhosted@lemmy.world•Nuked and back again – a tale of losing and recovering a bare-metal kubernetes cluster (mostly)English
3·2 days agoit isn’t, I’m hosting a private gitea instance on a home computer.
ragingHungryPanda@piefed.keyboardvagabond.comto
Games@lemmy.world•Day 503 of posting a Daily Screenshot from the games I've been playingEnglish
4·7 days agoomg that reminds me of late nights playing left for dead 2. what a blast!
ragingHungryPanda@piefed.keyboardvagabond.comto
Games@lemmy.world•Day 503 of posting a Daily Screenshot from the games I've been playingEnglish
12·7 days agothat looks like a lot of fun to play with friends
ragingHungryPanda@piefed.keyboardvagabond.comto
Advent Of Code@programming.dev•🦆 Everybody.Codes 2025 Quest 3 Solutions 🦆English
2·8 days agoFSharp
I’m a month late, but eh. Compared to everyone else, it looks like my approach of preserving duplicates was unnecessary. I chose to use SortedSets (redundant since I sort the inputs) and cascade to the next best fit. The sorted sets also let me grab the Max/Min values and I thought that it was more in line with the intention than having a list that happens to be sorted.
I also sorted part 1 based on what I thought was the best fit, which was the same solution for part 3.
For part 2 I duplicated part 1’s logic but reversed the order to asc instead of desc, but I don’t know that that made a difference and excluded it here. The only difference is the “add if count < 20”.type Crate = int // sorted set because only one item can be in at a time. The SortedSet is unnecessary here since the inputs are already sorted type CrateSet = SortedSet<Crate> let inline newCrateSet crate = let cs = CrateSet() cs.Add(crate) |> ignore cs type Extensions() = [<Extension>] static member inline SmallestCrate (crates:CrateSet) : Crate option = match crates.Min with | 0 -> None | x -> Some x [<Extension>] static member inline LargestCrate (crates:CrateSet) : Crate option = match crates.Max with | 0 -> None | x -> Some x /// take a sorted input (not verified) and prioritize insertion into the first found list. /// This results in cascading to the "next best fit", but this approach relies on sorted inputs. let packEfficiently allCrates = allCrates |> Seq.fold (fun sortedCrates next -> // find the first crate set that can hold the next item and put it in there match sortedCrates with | [] -> [newCrateSet next] | items -> match List.tryFind (fun (i:CrateSet) -> match i.SmallestCrate() with | Some c when c > next -> true | _ -> false) items with | None -> let cs = newCrateSet next items@[cs] // appending to the end is less efficient for linked lists, but ensures that the first one gets the best goodies | Some crates -> if not (crates.Add(next)) then failwith "failed to add" // really wrong if this happens items ) [] let part1 () = parseInput "Inputs/Quest03/Q03_P01.txt" |> Enumerable.OrderDescending |> packEfficiently |> _.Max(_.Sum()) let part2() = parseInput "Inputs/Quest03/Q03_P02.txt" |> Enumerable.Order |> part2Impl |> List.filter (fun x -> x.Count = 20) |> _.Min(_.Sum()) let part3() = parseInput "Inputs/Quest03/Q03_P03.txt" |> Enumerable.OrderDescending |> packEfficiently |> _.Count()
ragingHungryPanda@piefed.keyboardvagabond.comto
Advent Of Code@programming.dev•🦆 Everybody.Codes 2025 Quest 3 Solutions 🦆English
1·8 days agoI’m so far behind on these, but it’s rare that I see a lanugage I’ve never heard before. I’ve heard of scheme. How did you come to using this language for the challenges?
ragingHungryPanda@piefed.keyboardvagabond.comto
Art Share🎨@lemmy.world•The Husk - Paint on 6" woodEnglish
5·9 days agoI think that the penguin worked out well. it’s unexpected. this looks super cool!
ragingHungryPanda@piefed.keyboardvagabond.comto
Art Share🎨@lemmy.world•Getting less and less happy with this as I keep tinkering so I'll share before scrapping itEnglish
15·12 days agoI thought it was real haha
ragingHungryPanda@piefed.keyboardvagabond.comto
Selfhosted@lemmy.world•Need some help with remote access please.English
41·13 days agoyou already have a cloud flare tunnel, so you can add a new entry for a domain and point it to another service. cloud flare handles the encryption. for docker, I have my reverse proxy on port 80 doing the routing and the docker route is http://localhost/
ragingHungryPanda@piefed.keyboardvagabond.comto
Lemmy Shitpost@lemmy.world•Zero ChillEnglish
9·14 days agoI appreciate the thought and story telling here 😂
ragingHungryPanda@piefed.keyboardvagabond.comto
196@lemmy.blahaj.zone•Goblins are ruleEnglish
8·21 days agorelevant goblins with huge asses by paperback paradise on IG https://www.instagram.com/p/DCFDaZIypTE/
ragingHungryPanda@piefed.keyboardvagabond.comto
Fedigrow@lemmy.zip•Weekly thread - how is everyone doing with their communities?English
1·22 days agoNot as much just a community, but I’m about ready to fully open up the keyboardvagabond.com fediverse services for nomads and travelers. I contracted another nomad to create a mascot character for it, which I’m quite excited about. For the last several months, I’ve mostly been letting things soak and solving issues, doing upgrades, etc. Feel free to take a look though!
ragingHungryPanda@piefed.keyboardvagabond.comto
196@lemmy.blahaj.zone•Doobie ruleEnglish
5·23 days agothis is new for me. I’m not sure if it’s propaganda or an ad 🤣
ragingHungryPanda@piefed.keyboardvagabond.comto
Fuck Cars@lemmy.world•Alexa, show me a video to illustrate cycling policyEnglish
4·23 days agowhat a day for this poor guy
ragingHungryPanda@piefed.keyboardvagabond.comto
People Twitter@sh.itjust.works•LBJ knew how to have funEnglish
11·23 days agowhile reading this, I almost said, “wow, what a dick,” before thinking that he might appear and start wagging it around, like bloody Mary, but worse.
it’s amazing how far wealth can get you in life
ragingHungryPanda@piefed.keyboardvagabond.comto
Selfhosted@lemmy.world•New(ish) to self-hosting. Question about reverse proxy setupEnglish
2·23 days agothat’s quite a long compose file.
the way that I use cloud flare is with tunnels since my ISP blocks my ports. I have cloudflared running that connects to the cloudflare tunnel, which has a map of domain name to a service name, which is how services are accessed externally.
tailscale connects to tail scales main service and that’s how I access internal systems. at least that’s how I’m running it.
ragingHungryPanda@piefed.keyboardvagabond.comto
Ask Lemmy@lemmy.world•Your task is to blow a job interview in the first 30 seconds. What do you do? English
7·23 days agoI went to an interview for a company in the west coast and I was in central time. the recruiter told me that they had core hours and I’d have some flexibility. one of the first questions was whether I was willing to work Pacific time, which I wasn’t, especially since it wasn’t the best paying job in the world. That interview lasted about 30 seconds.
ragingHungryPanda@piefed.keyboardvagabond.comto
Selfhosted@lemmy.world•New(ish) to self-hosting. Question about reverse proxy setupEnglish
2·23 days agotailscale is a vpn. you don’t need cloudflare for it. you do need to set up the tail scale container with your credentials from tail scale, which they have guides for. after that, log in on your machine and click the connect toggle and you’re in.
the exit node is if you want to look like you’re at your host computer.









Im also not able to access my home stuff from cloudflare. I think they’re having a moment again.
edit: resolved, and thank you! I didn’t see it initially because I had it cached.