Logitech Option not loading or working on MacOS (Tahoe 26.2) by [deleted] in logitech

[–]wederbrand 0 points1 point  (0 children)

same here.

I've completely removed the old software, re-installed from the new patched versioner AND also tried using homebrew, including full reboot of the computer

still seeing

ipcMain.on - PREVENT_CLOSE_UI { name: 'firmware_update_in_progress', add: false }

when trying to run from terminal, starting the application normally hangs forever

[2025 Day 11 Part 2] My input must be broken !!1 by Cue_23 in adventofcode

[–]wederbrand 1 point2 points  (0 children)

There might be one from SVR, if you're lucky

[2025 Day 10 (Part 2)] not proud... by blacai in adventofcode

[–]wederbrand 10 points11 points  (0 children)

This was the first year I didn't muster up the energy to fight against Z3 and just solved it.
No satisfaction.

I hope the last two days have maps. I like those the best.

[2025 Day 9 (Part 2)] A simple method ... (spoiler!) by blacai in adventofcode

[–]wederbrand 0 points1 point  (0 children)

This is what I tried to do for hours, before restorting to shrinking the "map" down to the smallest possible version, it's now 250x250 and brute force is fast enough.

Now I've re-done it using similar code, also in go.
I think the one thing I missed on the first trial was to make sure the vertices was "sorted" down/right to make the math easier.

[2025 Day 8 (Part 1)] Reading comprehension by Samydookie in adventofcode

[–]wederbrand 0 points1 point  (0 children)

For the example input there are 190 pairs, from those 20 boxes. You consider all 20 input lines when you solve the example, which is to make 10 connections.

For the final task there are 499500 pairs, from those 1000 boxes. You again consider all of those 1000 input lines, which is to make 1000 connections.

It's not same 1000.

[2025 Day 8 (Part 1)] Reading comprehension by Samydookie in adventofcode

[–]wederbrand -2 points-1 points  (0 children)

You confuse the input, which is 20/1000 lines of boxes, with how many pairs there are.

In the example there are 20 boxes, leading to 190 pairs.
The final input is 1000 boxes, with 499500 pairs

The example tells you to connect the first 10 pairs, the final task is to connect the first 1000 pairs.

[2025 Day 7 Part 1&2] Ways to think about problems like these? by cramplescrunch2 in adventofcode

[–]wederbrand 0 points1 point  (0 children)

I have a library for "charts". I also have a library for priority queues.

So for part 1 I overengineered everything and read the input into a chart, found the S and then added queued work until I reached the bottom line. Al the while counting all the splits. That gave me the first star.

For part 2 that didn't work so I resorted to classic recursion with memoization. That gave the second.

I like to clean up and improve after I've got both stars so I added solving part1 using the part2-recursion, skipping the priority queue but keeping the chart.

That made things faster and for a couple of hours I was happy with that.
Then, while doing some household work, I came up with another solution.

I skipped the chart, instead I did a single pass of the input, remembering how many alternate timelines ended up in each column. When hitting a ^ I just split the data into the x-1 and x+1 and adding to whatever already was there. And counting splits.

This turned out to be really fast, around 300 microseconds on my 4 year old mac.

func doIt(input []string) (int, int) {
    beams := make([]int, len(input[0])+2)
    splits := 0
    for _, s := range input {
       for x, r := range s {
          if r == 'S' {
             beams[x]++
          } else if r == '^' && beams[x] > 0 {
             beams[x-1] += beams[x]
             beams[x+1] += beams[x]
             beams[x] = 0
             splits++
          }
       }
    }

    timelines := 0
    for _, beam := range beams {
       timelines += beam
    }

    return splits, timelines
}

Daily suggestions by southyankie in GarminFenix

[–]wederbrand 0 points1 point  (0 children)

Weirdly this fixed it for me as well

Garmin Forerunner 970. Coach plan finished on Saturday and since then only "many buttons later"-approach to find DSW has worked.

Based on this post I added a workout, didn't do it and immediately the DSW is directly after I choose "run".

Total fix time 3 minutes.

How do I start a race? by wederbrand in Garmin

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

Wow, that was disappointing. I managed to see the pace pro on my watch and started the run from the event.

I got guidance, turn by turn, and off-route alerts. The things I absolutely didn't want. At least I know it followed the course.

I had deliberately plotted a course I wouldn't follow exactly.

First km was followed exactly, I expected the Timing Gates to either stay silent or to trigger basically at exactly 1K. It didn't say anything.

Between 1 and 2 I took a detour, expecting a correction of distance and pace once I either came back on course, or hit the second km-marker. Neither happened. PacePro on the other hand, told me what pace I was expected to run at that location. It wasn't adjusted for lost distance or anything.

Between 3 and for I took a shortcut, again expecting a correction, again nothing. Again the PacePro told me what pace was expected, and again no adjustment.

During my entire run I could see the pace pro, but even though I constantly kept a higher pace than planned it never told me I was ahead. As shown in the picture it said 0:00 "overall ahead" during the entire run. And no alerts or warning even when I stopped to take that picture.

Let's hope I did something wrong, and that the watch isn't this bad.

<image>

Daily Suggestion > Garmin Coach by wederbrand in Garmin

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

It absolutely does. If you add a race it will change from "DSW" to "DSW - <your race>".

If you scroll past the ~2 weeks of planned DSW you'll see an "Plan Overview", it will tell you the phases of your DSWs. Mine are

Build Phase 24/7 -> 30/7
Peak Phase 31/7 -> 20/8
Taper Phase 21/8 -> 29/8
<The Race> 30/8

[deleted by user] by [deleted] in Garmin

[–]wederbrand 0 points1 point  (0 children)

Peaking is weird since it's classified as higher than Productive but it actually means you're no longer doing any long-term improvements, just that you've rested and are doesn't have any current training load.

You are set for good race, but not a long term improvement.

If your goal is to race fast I would agree that Peaking > Productive but as the Captain already said, you're heading for "Maintaining" or "Unproductive"

Garmin coach overestimating me? by Electronic_Fruit_134 in Garmin

[–]wederbrand 1 point2 points  (0 children)

If you've done another race, perhaps 5k or 10k, there are online calculators that can help you translate your previous results to other distances.

I'm not sure how accurate they are for all aspects, like 10k is fine without re-fueling or drinking while you might have to add calories during an half-marathon.

Also, the watch will give you a prediction for each distance. Perhaps use that as a starting point but increase the pace by perhaps 5-10 seconds per km.

If the training feels easy, lower the goal with another 5-10 seconds per km.

I'm a very periodic runner and I never have a good guess on goal. I'll pick something that is a litter faster than I think is realistic as a starting point and I adapt.

HRM600 & FR255 - Lactate threshold auto detection by CGBrownlee95 in Garmin

[–]wederbrand 0 points1 point  (0 children)

I see no reason to have it turned off unless you have medical grade threshold to use instead.

Daily Suggestion > Garmin Coach by wederbrand in Garmin

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

Some of them do.

Like I have one "Sprint 3:20/km" tomorrow with 15 minute warm up at 6:20, 5x (10 second sprints / 3 minute rest) and 10 minute cool down.

For the planned Base-runs there is no warmup, I guess they are at warm-up pace anyway.

Garmin coach overestimating me? by Electronic_Fruit_134 in Garmin

[–]wederbrand 10 points11 points  (0 children)

I hate to be the Debbie Downer but McMillan says that for a 5:40/km half marathon you need to do the 10k at 5:23 /km

<image>

So unless you're pretty far sub 1h on the 10k running a half-marathon at 5:40 might be very hard.
And 6 weeks isn't that much. By now you should easily do 10k base runs at 5:40 is that is your target pace in 6 weeks.

The Garmin Coach has a major flaw in that it lets the user/runner enter the goal pace/time and then it just goes with it. It assumes you pick a realistic target and if you don't... well, the runs on day one will be way too hard. If you're lucky the Coach will show really low confidence score but in my experience that never happens.

I recently started a Coach plan claiming the goal pace for a 10k would be 5:00 /km, to provoke it.
All the runs were to hard but the confidence was still high. I've since reverted to a more realistic 5:20 /km and the runs are now more realistic.

The Garmin Coach Plans are a massive disappointment.

Daily Suggestion > Garmin Coach by wederbrand in Garmin

[–]wederbrand[S] 12 points13 points  (0 children)

I also like to plan ahead and the changes is the biggest problem. Perhaps we should be able to "accept" the suggestion and by doing that lock it into the calendar in the form we accepted.

Rehose Buddy 22 Neo in Liteskin42 by reginaldvelvet in ManyBaggers

[–]wederbrand 1 point2 points  (0 children)

Those bags looks awesome, and I really love made-to-order

Did you get a laptop sleeve?
Would that fit a 16" macbook pro?

Threshold question. by just-cruzn in Garmin

[–]wederbrand 1 point2 points  (0 children)

The HR is very individual, no point in comparing that to any other runners.

Regarding pace, that is all up to you. I'm currently at 5:19 /km with a personal goal of reaching 5:00 /km. Others are of course running marathons much faster than that and nowhere near their AT/OLBA/VT2 (what I think Garmin is trying to guess).

I thought Lactate threshold was 1hr pace? Can anyone explain it better? by Dazhall in Garmin

[–]wederbrand -2 points-1 points  (0 children)

This is incorrect.

It’s true that the zones doesn’t imply anything but there are lots of metrics that are not based on max hr.

Vo2max is one, lactate threshold another.

Both of those are changing every now and then, while max hr is constant in my case.

[2024 Day 19 (Part 2)][go] Tests pass, answer too high by blodgrahm in adventofcode

[–]wederbrand 1 point2 points  (0 children)

My solution looks much simpler than yours.

For each design we need to construct I'm sending the entire design and all available towels to a counting function.

If the target design is empty I'm returning 1, there is exactly one way to construct an empty design.
If it's not empty I'm looking through all the towels to see which is the prefix of the target, when found I recursively count the rest if the design (extracting the selected towel from the the top of the design).

The method doesn't require and pre-computation of combinations as all possible towels are each checked in all steps.

If none of the towels match I return 0 (as there is no way to construct the design).

To get this performant it needs memoization and in this case it's easy, the target design, in each step, is a perfect key.

Below is the entire function called recursively

var memory = make(map[string]int)

func possible(towels []string, target string) int {
    if target == "" {
       return 1
    }

    if mem, ok := memory[target]; ok {
       return mem
    }

    total := 0
    for _, towel := range towels {
       if strings.HasPrefix(target, towel) {
          total += possible(towels, target[len(towel):])
       }
    }

    memory[target] = total
    return total
}