If I look at it through the lens of the last 10-years of "science-based" strength/bodybuilding training, there's nothing surprising there.
# On rest intervals
His description is pretty spot on. The rest times mostly affect the amount of volume you can do (volume is generally defined as #reps x #sets, though I prefer #reps x #sets x weight).
That's actually something really useful to know because it allows you to get the required stimulus when you are in an inadequate situation.
For example, imagine someone generally trains their legs with barbell back squats and hacks squats. The weight would be fairly high for those lifts. But if you find yourself in a situation where you don't have access or can't use those lifts (injury), you can leverage the lower rest periods to hammer the shit out of your quads with leg extensions or lunges and get the stimulus you need.
It doesn't mean you should only do that though.
It's pretty well accepted that at some point movements become "stale": your body doesn't recover that well after performing the same movement for long periods (e.g. >6 months), so you need to rotate them out. Not because "the muscle got used to it", but because your joints are aching.
Again, understanding how to manipulate rest periods can aid in this rotation.
Another thing is time availability. Doing squats and resting 5 minutes might be fine for muscle growth, but you only have so much time you can spend at the gym. So you need to balance that out as well when you are training.
# On training frequency
Nothing to say there, targeting a muscle more than once a week is pretty much a given.
Even ignoring the need for frequent growth stimuli, you can reason about hitting the same body part multiple times a week this way: Say your chest max recoverable volume (MRV) is around 15 hard (0-3 reps from failure) sets a week.
If you only train chest once a week, how good can your chest session possibly be when you have to do so much work?
0-3 reps from failure is extremely hard. If you do 4 sets on the incline bench, 4 sets on the flat bench, you still got another 7 sets to go on other exercises. The accumulated fatigue throughout the session makes it highly unlikely you'll really be able to push your chest significantly for the remaining sets.
Why not split your training between 2 sessions? 8 sets on one day, and then another 7 sets later in the week.
You'll get much higher quality sessions like that because fatigue won't be crushing you.
# On training intensity / failure
Again, nothing revelatory there. It's well accepted that you want to train close to failure but not necessarily go to failure.
That's why auto-regulated training talks about 0-3 reps in reserve (RIR).
I've alluded to this in the previous section but I should make it clear: Every exercise you pick has a signal-to-fatigue ratio (referred to as SFR in the literature). Going to failure may be a good way to drive muscle growth, but it's extremely fatiguing. You can't possible survive a 5 week training block if you're going to failure in every single session and exercise.
Once you understand that and that multiple rep-ranges work, you can pair exercises that are high-signal and high-fatigue (e.g., barbell squats, deadlifts) with exercises that are high-signal and low fatigue (e.g., leg extensions, leg curls). If you're dieting down and are energy depleted, it would then make sense to avoid high-fatigue exercises like squats (or at least minimize the amount of volume dedicated to them).
A common approach is to increase closeness to failure as you progress through the training block, reserving failure or at least 0 reps in reserve to the last week of the cycle. After that you hop on a deload week and drop fatigue to start a new block.
You may also want to vary rep ranges and RIR targets because after a while training in the same ranges may get boring :)
# What I disagree with Menno
I don't agree with the part about getting a pump and soreness. I agree that their presence is NOT necessary to cause muscle growth, but in my experience (and other people in the industry like the folks at Revive Stronger and Renaissance periodization), pumps and soreness are good indicators that a training session was stimulative enough.
Ubiquiti Dream Router and a couple of WiFi 6 Access Points. Excellent WiFi is so underrated and not as common as we might think. It has allowed me to work comfortably in all corners of the house as well as outside when the weather is nice, all without skipping a beat during calls. Highly recommend setting up a proper WiFi network and looking into this more prosumer level hardware which has been rock-solid for me.
You can make links or forms submit but not cause browser navigation by having your server respond with a 204 No Content.
I feel like this is a completely forgotten technique, but we used this a ton pre-AJAX for little one off things to shoot a message to the server without interruption.
I've posted this before, but a key feature that can help with falling back to sleep and/or insomnia is recognizing that we fall asleep when we warm up, not (necessarily) when we are warm. So if you aren't falling asleep, take off the blankets, make sure the room is as cold as possible/practical and then let yourself get really cold. Like shivering cold. When you can't stand it anymore, then cover yourself up lightly. You'll have a much better chance of falling asleep. This approach has helped several people I know, although not everyone that I've told, as we are all different and insomnia comes from many sources.
Also, try a sleep study! Sleep apnea is not just something that affects people that are overweight - I had it for nearly all my life, turns out, as do my siblings. It isn't a magic cure but my sleeping is probably 3x better with a cpap.
To avoid the issue of queries with IN() polluting pg stat statements, one can in most of the case replace
WHERE a IN()
With
WHERE a = ANY()
No matter the number of options in the ANY operator, it'll hash to the same query id.
Semantics between ANY and IN are very slightly different, but 95% of the case it'll get the job done and provide better stats (by having all queries analyzed together).
Rather than substituting vegan alternatives in traditional meat meals (like mushroom burger instead of hamburger) I'd personally rather be exposed to more great vegan/vegetarian recipes that were intended to be vegan/vegetarian by the cultures that have great veggy dishes like in South Asia.
One way I've gotten more exposed already is watching Rick Stein shows on Amazon like Far Eastern Odyssey and India. Before watching that I thought things like curries were too hard or annoying to make. On the contrary his simple approaches made it clear some of these spicy veggy dishes are the easiest and tastiest to make with whatever veggies you have laying around.
pretty vile race baiting. no single argument in the first 4 paragraphs, just hissing implications of racism levelled generically towards people based on their race.
> Adding a timestamp to each message is an easy way for consumers to discard any out-of-order messages.
Not correct, but it's very easy to think timestamps will solve this. Timestamps aren't good because system times aren't synced across different computers precisely. Meaning if Producer A creates the first event, and Producer B creates a second event 50ms after (imagine a single row gets updated very quickly twice), but the system time on Producer A is 100ms ahead of Producer B and the event from Producer B gets to the consumers first (variable network latency), the event from Producer A will look like the latest event from a timestamp perspective and overwrite the Producer B event.
One way to solve is it to use not use timestamps, but use a monotonically increasing version number associated with a row that gets updated for every event/update or whatever and is sent along with the event message payload. The book, Designing data intensive systems, goes into this problem a whole lot. Recommend it to anyone discussing architecture. Issues like this will seem obvious to you after reading
You might think this is trivial -- but SERIAL creates an "owned" (by a certain user) sequence behind the scenes, and so you run into massive headaches if you try to move things around.
Identity columns don't, and avoid the issue altogether.
Anecdotally, I had something similar happen to me. Someone was critiquing my rowing form at the gym. I was doing ~28 strokes per minute and my pace was about 2:05m per 500m.
"Explode when you push, but slow your overall pace to 20 strokes per minute. Take time to breathe and rest on the way back in."
After finding the new cadence, my pace was now 1:55m per 500m. A 30% reduction in stroke rate improved my pace by 8%.
The data gets serialized (but still human readable) in the url fragment, so its shareable, but server never sees it. You can also just download and run, or see the code for "jedahan's first and only Vue app" on https://github.com/jedahan/saltpeanuts#readme , which is the only user guide.
It has not helped my wrangle my time or focus at all.
Similar story. I had a year where I was so productive that I typed my way into cubital tunnel syndrome. Felt like getting stabbed by needles at random points in the day. Doc said I needed surgery. Instead I changed my routine dramatically for a few months.
2. When typing, hold my hands out limp like a zombie and move my whole arms and torso to hit the keys with limp middle fingers.
3. 2 keyboards. 2 mice. One set in the normal placement. Another keyboard in my lap. Another mouse on a pedestal to the left of my chair. Switch which device I'm using every few minutes.
In a few months the pain was gone and hasn't come back. I still get a bit tingly a decade later if I type a lot. But, besides that one year, I've always spent way more time reading code and thinking about code than actually typing code.
If anyone is on the fence about learning to ride a motorcycle, I highly recommend it. One of my favorite hobbies. However, it does get expensive if you get serious about it like doing trackdays
As a noob who owns some bitcoin and ethereum (both stored on an exchange), how does tether being a scam (which I do believe in) affect me? I don't hold any tether myself.
Recently updated, it's a comprehensive history and map of electronic music. It's been around since 2000, played a big role in my life. Highly recommended.
For a simple, easy to understand overview of git, nothing beats The Git Parable [1]. Every time I talk to someone starting out with Git I recommend they read it first. Once they understand Git through that lens, usually I find the rest falls into place.
I agree. Having flexible but well understood roles is key for good team management. This seems to be lacking in many orgs.
Product Manager: responsible for technical and commercial product-market fit. Getting Voice of Customer. Understanding market size. Setting pricing.
Electrical/hardware/software Engineer: technical producer of the code/hardware/etc.... unit that is used in the product.
Systems Engineer: responsible for ensuring requirements of the project and product are met, tested, and giving confidence to the business that they have tested product, that will meet the user needs, will work in the environment where the product is used, and is ready for production.
Product Owner: Ultimate decider for product features in real-time. Ensures during development that the right product is being built, everyone knows what should be known.
Core team lead/ Project Manager: the person enabling the project to proceed. Manages business, timeline, requesting headcount, enabling critical path to move forward, etc...
Engineering Manager: responsible for hiring and training engineers, ensuring engineers have appropriate workloads, ensuring engineers have desired career development.
Depending on the size of the team and project, people may wear more than one hat. In many software shops they usually just split out Product Manager, People Manager, and Software Engineer. Thus the "glue" pieces are those roles missing above.
PBS SpaceTime has a treatise on relativity. There are a dozen videos worth watching on this topic alone. The video about “the speed of causality” is the one that caused me to level up:
Some time back, I read all I could on procrastination, and watched dozens of videos on it, and by far the best thing I found on it was this video by Tim Pychyl: [1]
It focuses particularly on procrastination in graduate school, but is widely applicable elsewhere.
One of the key insights that Pychyl, a psychologist who studies procrastination, had is that procrastination is not (as is commonly believed) a time management problem but a problem with managing negative emotions.
He has lots of really useful, practical tips for overcoming procrastination in the video, which I highly recommend.
I am a senior software architect. My job is to balance performance against complexity.
If my system is slow, it's my fault.
If debugging or expanding the system is too difficult, it's my fault.
If someone wants to know how the system or business works in depth, I am the one that they should come to.
I spend the majority of my time chasing down, enforcing, and simplifying the universal theory of our business (the core of our software solution).
The universal theory of our business is a living collection of concepts, designed to accurately model non-virtual concerns in virtual space. If there are too many edge cases, it is a sign that the universal theory is inaccurate, or not robust enough in some areas. If there are too many bugs, it is a sign that the universal theory has not been communicated or enforced well enough, is inaccurate, or is too complex in some areas. As our business grows, or our understanding of the business expands, the universal theory will change; at times dramatically. Malleability (the ability to adapt our software to these changes effectively and efficiently) is one of my top two concerns; the other is latency (how long it takes for any one request to get a complete response).
The theory shrinks and becomes better documented as it evolves; the goal is to move from describing behaviors as correlation to describing them as accurate causation. To fill in the blanks.
I should mention here that this does not mean every line of code in my projects is easy to understand. Writing a fast system of high complexity requires at least some components that are written exclusively for the computer's benefit (that is, highly optimized and inherently difficult to read). These components should be written with clear documentation, clearly defined public members, written discussions of why it works the way it does (and common ways to accidentally break it), redundant ownership, and regular auditing to ensure code rot is avoided.
I have yet to meet another architect that sees their job the way I see mine.
If the system you're working on defies complete understanding, you can probably blame your architect.
I don't take the point as slander. It's that, while the husband goes against Amish convention by using modern technology to have fun, the wife is stuck at home using dated technology to expend time and energy cleaning up after him.
In other words, it's easy for the husband to sneak a drone among his belongings to have fun. It's impossible for his wife to sneak a washing machine among hers to make her life less difficult.
Sounds like you have an introvert trait (in the Myers Briggs sense), which does not mean despising human interaction but that even though you enjoy it, it’s taxing at some level (but you get some benefit at another level). If this is the case, the rejection comes from energy being exhausted (no one enjoys being exhausted) and you have to recharge your social interactions batteries.
At some point you may have intuitively associated meeting with people with that exhaustion and balanced your NN towards “not meeting” by default, hence the doominess feeling.
Active, conscious steps I took to get me out of that:
1. Recognise that being social brings you something internal (mood improvements)
2. Recognise that being social costs you some energy (depletes a battery)
3. Stop self-bashing for “not being social” at times (battery needs topping up)
4. Create a positive feedback loop instead of a negative one, by having less long/intense social interactions but more frequent, so that the battery never truly runs out and has time to recharge quickly
This takes time as the NN has to be retrained to break the default fight or flight reaction of staying in the safe zone at home.
It’s a bit like enjoying running a marathon and have a happy and relaxed mind following that, but the body is exhausted and certainly doesn’t want to run again back to back as it needs time to recover.
The introvert trait will not go away but the battery can be trained and improved in capacity, and end up looking forward to meeting people as long as it’s properly managed.
# On rest intervals
His description is pretty spot on. The rest times mostly affect the amount of volume you can do (volume is generally defined as #reps x #sets, though I prefer #reps x #sets x weight).
That's actually something really useful to know because it allows you to get the required stimulus when you are in an inadequate situation.
For example, imagine someone generally trains their legs with barbell back squats and hacks squats. The weight would be fairly high for those lifts. But if you find yourself in a situation where you don't have access or can't use those lifts (injury), you can leverage the lower rest periods to hammer the shit out of your quads with leg extensions or lunges and get the stimulus you need.
It doesn't mean you should only do that though.
It's pretty well accepted that at some point movements become "stale": your body doesn't recover that well after performing the same movement for long periods (e.g. >6 months), so you need to rotate them out. Not because "the muscle got used to it", but because your joints are aching.
Again, understanding how to manipulate rest periods can aid in this rotation.
Another thing is time availability. Doing squats and resting 5 minutes might be fine for muscle growth, but you only have so much time you can spend at the gym. So you need to balance that out as well when you are training.
# On training frequency
Nothing to say there, targeting a muscle more than once a week is pretty much a given.
Even ignoring the need for frequent growth stimuli, you can reason about hitting the same body part multiple times a week this way: Say your chest max recoverable volume (MRV) is around 15 hard (0-3 reps from failure) sets a week.
If you only train chest once a week, how good can your chest session possibly be when you have to do so much work?
0-3 reps from failure is extremely hard. If you do 4 sets on the incline bench, 4 sets on the flat bench, you still got another 7 sets to go on other exercises. The accumulated fatigue throughout the session makes it highly unlikely you'll really be able to push your chest significantly for the remaining sets.
Why not split your training between 2 sessions? 8 sets on one day, and then another 7 sets later in the week.
You'll get much higher quality sessions like that because fatigue won't be crushing you.
# On training intensity / failure
Again, nothing revelatory there. It's well accepted that you want to train close to failure but not necessarily go to failure.
That's why auto-regulated training talks about 0-3 reps in reserve (RIR).
I've alluded to this in the previous section but I should make it clear: Every exercise you pick has a signal-to-fatigue ratio (referred to as SFR in the literature). Going to failure may be a good way to drive muscle growth, but it's extremely fatiguing. You can't possible survive a 5 week training block if you're going to failure in every single session and exercise.
Once you understand that and that multiple rep-ranges work, you can pair exercises that are high-signal and high-fatigue (e.g., barbell squats, deadlifts) with exercises that are high-signal and low fatigue (e.g., leg extensions, leg curls). If you're dieting down and are energy depleted, it would then make sense to avoid high-fatigue exercises like squats (or at least minimize the amount of volume dedicated to them).
A common approach is to increase closeness to failure as you progress through the training block, reserving failure or at least 0 reps in reserve to the last week of the cycle. After that you hop on a deload week and drop fatigue to start a new block.
You may also want to vary rep ranges and RIR targets because after a while training in the same ranges may get boring :)
# What I disagree with Menno
I don't agree with the part about getting a pump and soreness. I agree that their presence is NOT necessary to cause muscle growth, but in my experience (and other people in the industry like the folks at Revive Stronger and Renaissance periodization), pumps and soreness are good indicators that a training session was stimulative enough.