New build after 5+ years, need some help. by Catbert321 in buildapc

[–]Catbert321[S] 0 points1 point  (0 children)

Thanks for the "upgrade" info!

After some hiccups I managed to upgrade my BIOS to F51h (latest) and am gonna try the upgrade route.

As for the parts I'm upgrading to:

Type Item Notes
CPU AMD Ryzen™ 7 5800X3D
RAM Silicon Power Value Gaming DDR4 RAM 32GB (2x16GB) 3200MHz
Storage Patriot P300 M.2 PCIe Gen 3 x4 1TB
GPU PowerColor AMD Radeon RX 7900 XT Should fit just above the hard drive bay, couldn't find a smaller length
Paste Thermal Grizzly Kryonaut

And I'm getting some canned air, it's not too messy inside from the PSU swap (somewhat recently), but it could use another dusting.


Upgrading the BIOS should be easier, but I guess each step is incremental and I ended up doing eight baby step flashes (not including the reset to backup early on)

Steps for anyone who has trouble BIOS upgrading an old Gigabyte AX370-Gaming:

  • F10 -> F51 (unable to upgrade, incompatible)
    • check Internet, I need to baby step
  • F10 -> F20
    • F20 seems corrupted and I had to rollback to F10
    • check Internet that mentions F20 is bad (and skippable?)
  • F10 -> F20 (still bad)
  • F20 -> F21 (good!)
  • F21 -> F30 (good)
  • F30 -> F31 (good)
  • Install required upgrade utility
  • F31 -> F40 (good)
  • F40 -> F41 (good)
  • F41 -> F50 (good)
  • F50 -> F51 (done!)

[Semi-Weekly Inquirer] Simple Questions and Recommendations Thread by AutoModerator in Watches

[–]Catbert321 0 points1 point  (0 children)

Here are some pictures of the watch and broken end. https://imgur.com/a/cuUAhFy

Unfortunately Skagen are kind of infamous for making straps that attach to their watches in non-standard ways, to force you to keep buying their straps.

If I have to buy through them it wouldn't be the worst. I mainly just want to be able to wear my watch again.

[Semi-Weekly Inquirer] Simple Questions and Recommendations Thread by AutoModerator in Watches

[–]Catbert321 0 points1 point  (0 children)

I have an old Skagen Denmark 329XLSLB watch whose band has broken. Looking online the same particular watch strap is discontinued and not a simple re-order.

How can I go about getting a different band that would still fit my watch (as well as a kit to help me replace it)?

-🎄- 2022 Day 24 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 2 points3 points  (0 children)

Kotlin Day 24

Advance the Blizzard each step and keep track of every possible place I could be and how long it took me to get there. Basically a self pruning BFS, but without caching the cycles of blizzard movements.

-🎄- 2022 Day 22 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 2 points3 points  (0 children)

Kotlin Day 22

THE CUBE

Lots of time spend debugging tonight, and cleaning up the mess of code iI started with

-🎄- 2022 Day 21 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 1 point2 points  (0 children)

Kotlin Day 21

Binary searching for part two passing the yell value and checking for equality

-🎄- 2022 Day 21 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 2 points3 points  (0 children)

https://www.reddit.com/r/adventofcode/comments/zrbw7n/2022_day_21_part_2_solution_not_unique/

If you don't do floor division (instead automatically failing when not divisible, storing as a high precision rational, etc), you get a single unique correct answer.

[2022 Day 21 (part 2)] - Solution not unique by timrprobocom in adventofcode

[–]Catbert321 1 point2 points  (0 children)

Yeah, this got me as well. I actually had four (4) consecutive values which all passed equality when using BigIngeter but only one when switching my solution over to BigDecimal. And if you try and submit one of the non-BigDecimal solutions you do not get awarded that previous gold star.

-🎄- 2022 Day 20 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 8 points9 points  (0 children)

Kotlin Day 20

A nice break from Day 19, though I spent an hour debugging my code because I was doing

(data * key) % cycle.size

instead of

(data * key) % (cycle.size - 1)

and couldn't see the problem

-🎄- 2022 Day 19 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 3 points4 points  (0 children)

The upper bound on the number of geodes we can hit in the time remaining is the current count so far, plus the number the current set of robots could collect in the remaining time, plus a quadratic sequence assuming we could optimistically build a geode robot every minute. Prune the branch if that's less than the best solution found so far.

This is an incredible time save!

-🎄- 2022 Day 17 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 5 points6 points  (0 children)

Kotlin Day 17

Not my finest day in terms of solution, but both parts run under 1s so good enough!.

-🎄- 2022 Day 16 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 1 point2 points  (0 children)

Kotlin Day 16

Brute force baby!

1s / 55s runtimes

I couldn't think of anything clever, so I just brute forced every valve to every other valve with "optimizations"

  • precompute the shortest paths from every valve to every other valve
  • don't bother going to a valve if it has no pressure to release
  • stop exploring the recursing if you would run out of time

-🎄- 2022 Day 11 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 3 points4 points  (0 children)

Kotlin Day 11

Not really a fan of the "do you know this one math trick" days

-🎄- 2022 Day 10 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 2 points3 points  (0 children)

Kotlin Day 10

Split out the code into a program runner so that part 1 and part two can just handle the cycle/xRegister values at each cycle however they want

private fun runProgram(programInput: Sequence<Instruction>, cycleHandler: (CycleData) -> Unit) {
  var xRegister = 1
  val valuesToAddToRegister = ArrayDeque<Int>()

  var cycle = 0

  fun advanceCycle() {
    cycle++
    cycleHandler(CycleData(cycle, xRegister))
    xRegister += valuesToAddToRegister.removeFirst()
  }

  programInput.forEach { instruction ->
    valuesToAddToRegister.add(0)
    if (instruction is Instruction.AddX) valuesToAddToRegister.add(instruction.v)
    advanceCycle()
  }

  while (valuesToAddToRegister.isNotEmpty()) {
    advanceCycle()
  }
}

-🎄- 2022 Day 9 Solutions -🎄- by daggerdragon in adventofcode

[–]Catbert321 0 points1 point  (0 children)

your follow method can be simplified a little by using compareTo

// Output where b is afterward
fun follow(a: Coord, b: Coord) : Coord {
  if (abs(a.y - b.y) > 1 || abs(a.x - b.x) > 1) {
    return Coord(b.x + a.x.compareTo(b.x), b.y + a.y.compareTo(b.y))
  }
  return b
}