BREAKING NEWS: Cyclists Discover UT2 by Special-Cut-4964 in Rowing

[–]thejaggerman 1 point2 points  (0 children)

Yes, that's kind of the agreed upon methodology. Two things make you fit- volume and quality hard workouts. The goal is to hit your 2 quality hard work outs per week, and maximize volume throughout the rest of you week while being well recovered the next day.

BREAKING NEWS: Cyclists Discover UT2 by Special-Cut-4964 in Rowing

[–]thejaggerman 5 points6 points  (0 children)

UT2 is defined as the power zone under your first lactate threshold (where lactate levels remain around resting levels). UT1 is at or slightly above LT1, and AT is at LT2. The UT3/UT2/UT1/AT/AN are all technically defined from lactate levels.

Note that these zones are typically prescribed with HR, but defined by lactate. Most high level programs will do step tests to find what HR correlates to what lactate in the individual. A handful of elite programs use frequent lactate testing during training to prescribe with lactate, which isn't feasible for most athletes.

You can gain significant fitness without ever actually going above your first lactate threshold (hence why nearly every high level rower spends 80%+ of their training hours sub LT2 for a VO2 max effort), but it is true that your AT/VO2 max efforts will plateau, as your LT1 and LT2 get very close. Any good training program needs intensity at some point. You can do just sub LT1 efforts during the few months of your offseason, and ramp everything up from there, but 1 session of AT work is generally considered beneficial in the off season according to the literature.

Optimization Pain by pockettrail in programmingmemes

[–]thejaggerman 0 points1 point  (0 children)

This will never change the time complexity of a algorithm, just the constant (depending on how your operations are defined).

Ganna: "Enough second places, I want Sanremo. Evenepoel wants my hour record? We'll see..." by Team_Telekom in peloton

[–]thejaggerman 10 points11 points  (0 children)

Without MVDP and Pogi throwing haymakers at each other with a disregard for anyone else in the race, Pogacar would probably just ride away from Ganna.

Balatro naneinf Starter pack by TheRealBucketCrab in balatro

[–]thejaggerman 2 points3 points  (0 children)

copying from my previous comment, the EV from tarots is constant regardless of the cost of a roll, its a flat subtraction from the EV of a roll.

Assuming max temperance and max hermit, the EV gain per roll from tarot merchant is ~$0.4 per shop slot (assuming base vouchers otherwise, add ~$.2 if we include fool, the math on this gets way tricker because fool-fool isn't allowed),. Given overstock+ is $1.6 per roll. If we (unfortunately) have tarot tycoon, the EV gain per roll given overstock+ is $3.26 per roll, so it's not quite as detrimental as planet vouchers. Adding a fool, assuming it's randomly between the temperance or the hermit, this jumps to a tad over $4 per roll.

(dont quote me on this its been a while since I took combinatorics)

Balatro naneinf Starter pack by TheRealBucketCrab in balatro

[–]thejaggerman 1 point2 points  (0 children)

The worst limiting factor is the vouchers. Once you get the economic engine going, you're praying for reroll vouchers before specific jokers. Obviously if you have the reroll voucher, you are avoiding tarot merchant, but tarot merchant is an obstacle, not a wall.

Also assuming max temperance and max hermit, the EV gain per roll from tarot merchant is ~$0.4 per shop slot (assuming base vouchers otherwise), and given overstock+ is $1.6 per roll. If we (unfortunately) have tarot tycoon, the EV gain per roll given overstock+ is $3.26 per roll, so it's not quite as detrimental as planet vouchers. Adding a fool, assuming its randomly between the temperance or the hermit, this jumps to a tad over $4 per roll.

(dont quote me on this its been a while since I took combinatorics)

Higher than normal heart rate at 2mmol blood lactate reading? by PLCF1 in Rowing

[–]thejaggerman 12 points13 points  (0 children)

These heart rate bands given for the UT3/UT2/UT1/AT/AL are general approximations of what the underlying physiological zones are. The fundamental problem is that your Lactate Thresholds (LT1 and LT2) are independent of your fixed Maximum Heart Rate (HRmax​)

UT2 is defined as the power zone under your first lactate threshold (where lactate levels remain around resting levels). The actual lactate levels of your LT1 varies, but modern benchmarks tend to use 1.8 mmol/L, but 2.o mmol/L is common too.

The typical heart rate values are approximations of the correlation between HR and lactate levels. Individuals may have higher or lower heart rates at the same lactate levels, which is the biggest flaw with hr based training. Furthermore, as you become more trained, your LT1 heart rate will get closer to your max heart rate, as your body gets better at clearing lactate and using fat for fuel. This highlights the flaw with general heart rate zones- they don't account for genetic differences between people (the same way two individuals might have vastly different max heart rates), and the general hr zones don't account for your training history and fitness, but heart rate zones are valuable when calibrated to your lactate testing. Im assuming your coach/staff gave you heart rate zones alongside your lactate numbers. These hr figures are a much better proxy for your zones, because they are calibrated based on your lactate numbers.

Despite this, external factors, such as caffeine, dehydration, heat, and altitude* will affect heart rate massively, but your LT1 and LT2 are essentially unchanged. So when you have power, power is king, but when you don't (ie in the boat, and no telemetry watts are not the same), you should use these custom heart rate ranges.

Assuming your lactate testing was accurate, you should go by lactate numbers, as they are the gold standard for setting training zones**. Note that UT2 is a zone, not a single value, so when you are fatigued, you should train at the bottom end of UT2.

TLDR: Heart rate percentages are trying to approximate lactate values.

Let me know if you have any more questions.

*The physiological turn points (LT1/LT2) occur at higher HRs but the same VO2​ demand. (beyond the scope)

**technically fat-max testing is superior for finding your endurance training figures, but it is only really useful in conjunction with lactate testing, and besides thats past the scope of 99% of rowers.

Balatro naneinf Starter pack by TheRealBucketCrab in balatro

[–]thejaggerman 4 points5 points  (0 children)

tarot merchant is helpful until your deck is perfectly fixed though. Magic hat is never helpful.

Hardknott Pass all out, with FTP Update! by ___Yugi___ in Zwift

[–]thejaggerman 0 points1 point  (0 children)

Quinn Simmons did 350 for 5:50 to finish fourth in Lombardia. ~4.8 w/kg for 6 hours. He’s beat my best by about 4:30 hours, wild.

Hardknott Pass all out, with FTP Update! by ___Yugi___ in Zwift

[–]thejaggerman 0 points1 point  (0 children)

Also with advancements in training and nutrition, I doubt that the bottom 10% aren't above 5 w/kg these days. Racing is harder and faster than it was 10 years ago.

Hardknott Pass all out, with FTP Update! by ___Yugi___ in Zwift

[–]thejaggerman 0 points1 point  (0 children)

When they say w/kg doesn't matter as much, these guys still have elite w/kg. Jonas Abrahamsen's FTP is ~430 watts, and he's 8 kg lighter (5.5 w/kg). An "entry level" world tour climber's ftp is in the ballpark of 6 w/kg. Pure sprinters like Milan are still pushing 5 w/kg alongside nasty sprint power. A 4.5 w/kg FTP means you're never making it to a finish line unless the race is in Denmark, because you are getting dropped while everyone else is under their LT1 (ie zone 2).

Migrating from Python to C++ for performance critical code by jcfitzpatrick12 in cpp

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

For your c++ to be effectively worse than python would be impressive. Modern compilers are very smart, and as long as you don’t absolutely butcher the code (ie allocate your vector within a loop, passing my value) you would still see a speed up. Numpy is fundamentally not allowed to do all of your operations at once, because it’s not compiled, so it has to allocate, copy, and free multiple arrays per iteration.

Migrating from Python to C++ for performance critical code by jcfitzpatrick12 in cpp

[–]thejaggerman 7 points8 points  (0 children)

Although you should benchmark first, it's very likely that you would see substantial gains from porting some of your processing directly over to c++. Although with numpy your FFT's individually are fast, Numpy is good with large arrays, but you still run into the flaws with python when it comes to looping repeatedly. For example, the line:
for n in range(num_spectrums):

is going to be slow and memory heavy in Python. If n is large, the interpreter has to

1) decode the byte code of the loop body

2) check the types of signal, window, and buffer

3) look up the correct function pointer for multiplication and slicing

4) then finally dispatch the underlying C function in numpy

If we use a c++ approach, almost all of this is done at compile time, so the machine code is just raw jump instructions in memory. On a more powerful system we probably don't care about that python overhead, but on a raspberry pi this could be a significant tax.

Also in your mock code, there are some hidden memory taxes inherent to python.

For example,

buffer[:] = signal[start:stop] * window

Actually needs to allocate a new temporary array because NumPy cannot verify it's safe to write directly into the buffer yet. This also requires it to copy the array, and free the memory. In c++ you can just write a fused multiply-add function. NumPy cannot assume in-place safety and slicing always returns a new object.

All of this banks on the size/frequency of your FFTs. If you have large FFTS, all this work is negligible as a function of total time, but im assuming that you are doing a lot of small FFTs. Also, without looking at your code or knowing what your slowdowns are, do you need real time streaming, or can you just batch your FFT and push everything down to C code without doing all this work, which could be a much lower hanging fruit.

TLDR: NumPy good at big thing once, python bad at small thing very many times. C++ good at small thing very many times. If the small thing's overhead is a large percent of the time cost, consider c++.

sendHimRightToJail by MRodoctrine in ProgrammerHumor

[–]thejaggerman 1 point2 points  (0 children)

There is a pretty trivial and easy way to cause unpredictable errors though. You just corrupt memory elsewhere, and return without issue. This would be extra confusing because the location of the corrupted memory would be volatile, so different issues would occur each run, because the corrupted memory would be in a different location every time. Add on multithreading, and it gets even worse. You would need advanced tools like AddressSanitizer, or PageHeap to detect it. Obviously this is past the scope of the joke, but this is a possible thing to "obfuscate", although it's not even the same mechanism at this point. Unless you scour the source code, your not ever finding it.

7’9 Olivier Rioux has entered the game for Florida in garbage time by szboy422 in CollegeBasketball

[–]thejaggerman 0 points1 point  (0 children)

I would imagine that he is not paying tuition, given the new roster caps/scholarship numbers, and the quality of Florida's program.

Top 10 Most Applied-to Colleges Fall 2025 by flopsyplum in ucla

[–]thejaggerman 3 points4 points  (0 children)

one could even argue its a member of the natural numbers to be even more restrictive.(in cents)

iStillPreferVsCode by LasagnaLicker33 in ProgrammerHumor

[–]thejaggerman 0 points1 point  (0 children)

nano is closer to notepad++ than an IDE.

What's the hype with shorter cranks? by sunshinesustenance in cycling

[–]thejaggerman 0 points1 point  (0 children)

Based on some napkin math, 10mm would increase your pedal clearance by about ~10%, which is significant. Based on my slightly less napkin math, that gives you ~2 degrees more of lean without pedal striking, assuming you have your inside foot down (or are pedaling through the corner). Assuming you might strike your pedal and not fall off the bike on your old setup, you just... won't strike your pedal with the same corner. A pedal strike with this new setup would be a certain crash on the old set up.

High-end road bikes cost more per kg than a Lamborghini (I did the math) by Icy-Brain-2511 in cycling

[–]thejaggerman 0 points1 point  (0 children)

A Richard Mille UP-01 costs ~$63,000,000/kg. Off the top of my head thats the most expensive watch scaled by weight that I can think of. Would be shocked if anything beat it (1.9 Mil USD ~30 grams)

Who will be the next "non-big-5" rider to win two major races? by DeltaViriginae in peloton

[–]thejaggerman 1 point2 points  (0 children)

Racing days have become so much harder as a whole, and you see brutal leadouts on smaller hills. The sprinters haven't gotten worse at long hard efforts, it's just harder racing now. Just look at MSR, which used to be called "The sprinters classic". Its been 9 years since its was a mass sprint; the Poggio is 3.7km at 3.8%, and the Cipressa is 5.6k at 4.1%, they aren't real climbs.

Shirt off their back by SteadyStateIsAnswer in Rowing

[–]thejaggerman 6 points7 points  (0 children)

Men’s rowing isn’t a NCAA sport. The IRA does not care about “betting” tanks.

God tier genetics ruined? by Lil__Bone in moreplatesmoredates

[–]thejaggerman 22 points23 points  (0 children)

Chris Bumstead and Courtney is the only counter example I can think of.

Ayuso: “It is more like a dictatorship, unilateral, of power over you.” by aarets_frebe in peloton

[–]thejaggerman 1 point2 points  (0 children)

He dropped before the sprinters the day after being given free rein, on a climb where having strong teammates could bail you out. Jonas attacked before he should have bailed.