Ego will have you believe you need a barbell or full gym to build muscle, but “you can be soaked and have every muscle in your body thoroughly worked with just a pair of medium dumbbells,” says Joel Seedman, PhD, owner of Advanced Human Performance. Seriously, even advanced lifters will be challenged by the following dumbbell workout, created by Seedman.

Dumbbells are arguably the most versatile piece of equipment because you can move with greater fluidity. Unlike the rigid, fixed patterns of machines and barbells, you have the flexibility to change the positioning and angle to mitigate pain from injuries or immobility, and a greater capacity to work unilaterally to address muscle imbalances.

Because of that, “you don’t have to go as heavy to create a strong intramuscular stimulus, which is crucial when training from home,” Seedman adds. Ready to light up your whole body with free weights? This dumbbell workout will challenge your unilateral strength and coordination in ways a barbell never could.

 

(function() {
var checkJWReady = setInterval( function() {
if (“undefined” !== typeof jwplayer) {
if(typeof(jQuery)==”function”){(function($){$.fn.fitVids=function(){}})(jQuery)};
var el = decodeURIComponent( ‘jwplayer_kpqvImMR_eEkK759I_div’ );
var mHash = ‘ami’ + decodeURIComponent( ‘kpqvImMR’ );
window.jwpDef[mHash] = JSON.parse( decodeURIComponent( ‘%7B%22advertising%22%3A%7B%22admessage%22%3A%22This%20video%20will%20resume%20in%20xx%20seconds%22%2C%22adscheduleid%22%3A%22CHQMmOtW%22%2C%22autoplayadsmuted%22%3Atrue%2C%22bids%22%3A%7B%22bidders%22%3A%5B%7B%22id%22%3A%22264049%22%2C%22name%22%3A%22SpotX%22%7D%5D%2C%22settings%22%3A%7B%22buckets%22%3A%5B%7B%22increment%22%3A0.25%2C%22max%22%3A60%2C%22min%22%3A5%7D%5D%2C%22floorPriceCents%22%3A500%2C%22mediationLayerAdServer%22%3A%22dfp%22%7D%7D%2C%22client%22%3A%22googima%22%2C%22cuetext%22%3A%22Advertisement%22%2C%22preloadAds%22%3Afalse%2C%22rules%22%3A%7B%22startOnSeek%22%3A%22pre%22%2C%22timeBetweenAds%22%3A0%7D%2C%22schedule%22%3A%5B%7B%22offset%22%3A%22pre%22%2C%22tag%22%3A%22https%3A%5C%2F%5C%2Fpubads.g.doubleclick.net%5C%2Fgampad%5C%2Fads%3Fsz%3D320x240%26iu%3D%5C%2F4216%5C%2Fmensj.channels%5C%2Fpreroll%26impl%3Ds%26gdfp_req%3D1%26env%3Dvp%26output%3Dvast%26unviewed_position_start%3D1%26url%3D%5Breferrer_url%5D%26description_url%3D%5Bdescription_url%5D%26correlator%3D%5Btimestamp%5D%26cust_params%3Dad%253D__item-tags__%2526playerwidth%3D__player-width__%2526playerheight%253D__player-height__%26mediaID%3D__item-mediaid__%26mediaTitle%3D__item-title__%26mediaURL%3D__item-file__%22%2C%22type%22%3A%22linear%22%7D%5D%2C%22skipmessage%22%3A%22Skip%20ad%20in%20xx%20seconds%22%2C%22vpaidcontrols%22%3Afalse%2C%22vpaidmode%22%3A%22enabled%22%7D%2C%22aspectratio%22%3A%2216%3A9%22%2C%22autoPause%22%3A%5B%5D%2C%22autostart%22%3A%22viewable%22%2C%22controls%22%3Atrue%2C%22displaydescription%22%3Afalse%2C%22displaytitle%22%3Afalse%2C%22flashplayer%22%3A%22%5C%2F%5C%2Fssl.p.jwpcdn.com%5C%2Fplayer%5C%2Fv%5C%2F8.19.0%5C%2Fjwplayer.flash.swf%22%2C%22floating%22%3A%5B%5D%2C%22height%22%3A270%2C%22key%22%3A%22CjC%5C%2F680l0%2B7exc3LuJayODMlCv1qExD50wSxBRqdwDLRDW7qkqWyCQ%3D%3D%22%2C%22mute%22%3Atrue%2C%22ph%22%3A2%2C%22pid%22%3A%22eEkK759I%22%2C%22playbackRateControls%22%3Atrue%2C%22preload%22%3A%22metadata%22%2C%22repeat%22%3Afalse%2C%22skin%22%3A%7B%22controlbar%22%3A%7B%22background%22%3A%22rgba%280%2C0%2C0%2C0%29%22%2C%22icons%22%3A%22%23ffffff%22%2C%22iconsActive%22%3A%22%23eb212e%22%2C%22text%22%3A%22%23ffffff%22%7D%2C%22menus%22%3A%7B%22background%22%3A%22%23333333%22%2C%22text%22%3A%22%23ffffff%22%2C%22textActive%22%3A%22%23eb212e%22%7D%2C%22name%22%3A%22five%22%2C%22timeslider%22%3A%7B%22progress%22%3A%22%23eb212e%22%7D%2C%22tooltips%22%3A%7B%22background%22%3A%22%23FFFFFF%22%2C%22text%22%3A%22%23ffffff%22%7D%7D%2C%22stagevideo%22%3Afalse%2C%22stretching%22%3A%22uniform%22%2C%22visualplaylist%22%3Atrue%2C%22width%22%3A%22100%25%22%2C%22setTimeEvents%22%3Atrue%2C%22playlist%22%3A%22https%3A%5C%2F%5C%2Fcontent.jwplatform.com%5C%2Ffeeds%5C%2FkpqvImMR.json%22%2C%22plugins%22%3A%7B%22https%3A%5C%2F%5C%2Fsb.scorecardresearch.com%5C%2Fc2%5C%2Fplugins%5C%2Fstreamingtag_plugin_jwplayer.js%22%3A%5B%5D%2C%22https%3A%5C%2F%5C%2Fovp.iris.tv%5C%2Fplugins%5C%2Fjwplayer%5C%2Fv2%5C%2Firis-jwplayer8.adaptive.min.js%22%3A%7B%22settings%22%3A%7B%22client_token%22%3A%225KRCGIZC9EUT4VN%22%2C%22platform_id%22%3A%22kpqvImMR%22%2C%22player_id%22%3A%22jwplayer_kpqvImMR_eEkK759I_div%22%2C%22end_up_next%22%3Atrue%2C%22ssl%22%3Atrue%2C%22campaign_tracking%22%3Atrue%2C%22disable_mobile_upnext%22%3Afalse%7D%2C%22iris_buttons%22%3A%7B%22thumbs_up%22%3Afalse%2C%22thumbs_down%22%3Afalse%2C%22skip_forward%22%3Afalse%2C%22skip_back%22%3Afalse%2C%22skip_on_thumbs_down%22%3Afalse%7D%2C%22global%22%3A%22iris%22%2C%22jwCMS%22%3Atrue%7D%7D%2C%22nextUpDisplay%22%3Afalse%7D’ ) );
var videoParams = JSON.parse( decodeURIComponent( ‘%7B%22advertising%22%3A%7B%22admessage%22%3A%22This%20video%20will%20resume%20in%20xx%20seconds%22%2C%22adscheduleid%22%3A%22CHQMmOtW%22%2C%22autoplayadsmuted%22%3Atrue%2C%22bids%22%3A%7B%22bidders%22%3A%5B%7B%22id%22%3A%22264049%22%2C%22name%22%3A%22SpotX%22%7D%5D%2C%22settings%22%3A%7B%22buckets%22%3A%5B%7B%22increment%22%3A0.25%2C%22max%22%3A60%2C%22min%22%3A5%7D%5D%2C%22floorPriceCents%22%3A500%2C%22mediationLayerAdServer%22%3A%22dfp%22%7D%7D%2C%22client%22%3A%22googima%22%2C%22cuetext%22%3A%22Advertisement%22%2C%22preloadAds%22%3Afalse%2C%22rules%22%3A%7B%22startOnSeek%22%3A%22pre%22%2C%22timeBetweenAds%22%3A0%7D%2C%22schedule%22%3A%5B%5D%2C%22skipmessage%22%3A%22Skip%20ad%20in%20xx%20seconds%22%2C%22vpaidcontrols%22%3Afalse%2C%22vpaidmode%22%3A%22enabled%22%7D%2C%22aspectratio%22%3A%2216%3A9%22%2C%22autoPause%22%3A%5B%5D%2C%22autostart%22%3A%22viewable%22%2C%22controls%22%3Atrue%2C%22displaydescription%22%3Afalse%2C%22displaytitle%22%3Afalse%2C%22flashplayer%22%3A%22%5C%2F%5C%2Fssl.p.jwpcdn.com%5C%2Fplayer%5C%2Fv%5C%2F8.19.0%5C%2Fjwplayer.flash.swf%22%2C%22floating%22%3A%5B%5D%2C%22height%22%3A270%2C%22key%22%3A%22CjC%5C%2F680l0%2B7exc3LuJayODMlCv1qExD50wSxBRqdwDLRDW7qkqWyCQ%3D%3D%22%2C%22mute%22%3Atrue%2C%22ph%22%3A2%2C%22pid%22%3A%22eEkK759I%22%2C%22playbackRateControls%22%3Atrue%2C%22preload%22%3A%22metadata%22%2C%22repeat%22%3Afalse%2C%22skin%22%3A%7B%22controlbar%22%3A%7B%22background%22%3A%22rgba%280%2C0%2C0%2C0%29%22%2C%22icons%22%3A%22%23ffffff%22%2C%22iconsActive%22%3A%22%23eb212e%22%2C%22text%22%3A%22%23ffffff%22%7D%2C%22menus%22%3A%7B%22background%22%3A%22%23333333%22%2C%22text%22%3A%22%23ffffff%22%2C%22textActive%22%3A%22%23eb212e%22%7D%2C%22name%22%3A%22five%22%2C%22timeslider%22%3A%7B%22progress%22%3A%22%23eb212e%22%7D%2C%22tooltips%22%3A%7B%22background%22%3A%22%23FFFFFF%22%2C%22text%22%3A%22%23ffffff%22%7D%7D%2C%22stagevideo%22%3Afalse%2C%22stretching%22%3A%22uniform%22%2C%22visualplaylist%22%3Atrue%2C%22width%22%3A%22100%25%22%2C%22setTimeEvents%22%3Atrue%2C%22playlist%22%3A%22https%3A%5C%2F%5C%2Fcontent.jwplatform.com%5C%2Ffeeds%5C%2FkpqvImMR.json%22%2C%22plugins%22%3A%7B%22https%3A%5C%2F%5C%2Fsb.scorecardresearch.com%5C%2Fc2%5C%2Fplugins%5C%2Fstreamingtag_plugin_jwplayer.js%22%3A%5B%5D%2C%22https%3A%5C%2F%5C%2Fovp.iris.tv%5C%2Fplugins%5C%2Fjwplayer%5C%2Fv2%5C%2Firis-jwplayer8.adaptive.min.js%22%3A%7B%22settings%22%3A%7B%22client_token%22%3A%225KRCGIZC9EUT4VN%22%2C%22platform_id%22%3A%22kpqvImMR%22%2C%22player_id%22%3A%22jwplayer_kpqvImMR_eEkK759I_div%22%2C%22end_up_next%22%3Atrue%2C%22ssl%22%3Atrue%2C%22campaign_tracking%22%3Atrue%2C%22disable_mobile_upnext%22%3Afalse%7D%2C%22iris_buttons%22%3A%7B%22thumbs_up%22%3Afalse%2C%22thumbs_down%22%3Afalse%2C%22skip_forward%22%3Afalse%2C%22skip_back%22%3Afalse%2C%22skip_on_thumbs_down%22%3Afalse%7D%2C%22global%22%3A%22iris%22%2C%22jwCMS%22%3Atrue%7D%7D%2C%22nextUpDisplay%22%3Afalse%7D’ ) );
jwplayer(el).setup(videoParams).on(‘ready’, (e) => {
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
if ( window.jwpDef[vHash].advertising ) {
if ( window.jwpDef[vHash].advertising.schedule ) {
if ( window.jwpDef[vHash].advertising.schedule[0].tag ) {
if ( typeof window.jwVastTag[vHash] === “undefined” ){
window.jwVastTag[vHash] = window.jwpDef[vHash].advertising.schedule[0].tag;
var vastURL = new URL( window.jwVastTag[vHash] );
var vastParams = new URLSearchParams( vastURL.search );
var ui = vastParams.get( “iu” ).split( ‘/’ );
window.prerollTag[vHash] = vastParams.get( “iu” );
window.jwpBids[vHash] = {};
console.log(“AMI jwp prerolltag”, window.prerollTag[vHash]);
console.log(“AMI jwp GAM Tag”, window.jwVastTag[vHash]);
}
}
}
}
}).on(‘beforePlay’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
// skip if the video was paused and trying to resume
if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) {
return;
}
if ( window.jwpDef[vHash].advertising ) {
if ( window.jwpDef[vHash].advertising.schedule ) {
var utms = {};
if ( adsParseUrlParams( “utm_source” ) || typeof getCookie(“utm_source”) !== “undefined” ) {
var utm_source;
if(adsParseUrlParams( “utm_source” )){
utm_source = adsParseUrlParams( “utm_source” );
setCookie(“utm_source”, utm_source, {expires:1800, path: “/”});
} else {
utm_source = getCookie(“utm_source”);
}
utms.utm_source = utm_source;
}

if ( adsParseUrlParams( “utm_medium” ) || typeof getCookie(“utm_medium”) !== “undefined” ) {
var utm_medium;
if( adsParseUrlParams( “utm_medium” ) ){
utm_medium = adsParseUrlParams( “utm_medium” );
setCookie(“utm_medium”, utm_medium, {expires:1800, path: “/”});
} else {
utm_medium = getCookie(“utm_medium”);
}
utms.utm_medium = utm_medium;
}

if ( adsParseUrlParams( “utm_campaign” ) || typeof getCookie(“utm_campaign”) !== “undefined” ) {
var utm_campaign;
if(adsParseUrlParams( “utm_campaign” )){
utm_campaign = adsParseUrlParams( “utm_campaign” );
setCookie(“utm_campaign”, utm_campaign, {expires:1800, path: “/”});
} else {
utm_campaign = getCookie(“utm_campaign”);
}
utms.utm_campaign = utm_campaign ;
}

if ( typeof utms.utm_source !== “undefined” || typeof utms.utm_medium !== “undefined” || typeof utms.utm_campaign !== “undefined” ) {
var vastURL = new URL( window.jwVastTag[vHash] );
var vastParams = new URLSearchParams( vastURL.search );
var keys = Object.keys( utms );
if ( vastParams.has( “cust_params” ) ) {
var custParams = new URLSearchParams( vastParams.get( “cust_params” ) );
} else {
var custParams = new URLSearchParams();
}
for ( var key of keys ) {
custParams.set( key, utms[key]);
}
vastParams.set( “cust_params”, decodeURIComponent( custParams.toString() ) );
vastURL.search = vastParams.toString();
window.jwVastTag[vHash] = vastURL.toString();
}

console.log( “AMI jwp GAM tag with UTM”, window.jwVastTag );
}
}
}).on(“ready”, function(){
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var playerInstance = jwplayer(el);
ns_.StreamingAnalytics.JWPlayer( playerInstance, {
publisherId: “6036076”,
labelmapping: “ns_st_pu=”AMI”, c3=”Mens Journal”, ns_st_ge=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ia=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ce=”” + decodeURIComponent( “1” ) + “”, ns_st_ddt=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_tdt=”” + decodeURIComponent( “%2Anull” ) + “””,
});
}).on(‘adsManager’, (e) => {
var vHash = ‘ami’ + decodeURIComponent( ‘kpqvImMR’ );
const { adsManager, videoElement } = e;
const iasConfig = {
anId: ‘928572’,
campId: `${jwplayer().getWidth()}x${jwplayer().getHeight()}`, // This is dynamic based on player dimensions, but can be hard coded
chanId: window.prerollTag[vHash],
placementId: ‘Open Auction’,
pubOrder: ‘Video’,
pubId: ‘Direct’
};
if (googleImaVansAdapter) {
googleImaVansAdapter.init(window.google, adsManager, videoElement, iasConfig);
}
}).on(‘beforePlay’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
window.jwpBids[vHash].ix = false;
window.jwpBids[vHash].ixBids = {};
console.log( “AMI jwp IX Bidding init”, new Date().getTime() );
// skip if the video was paused and trying to resume
if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) {
return;
}
if ( window.jwpDef[vHash].advertising ) {
if ( window.jwpDef[vHash].advertising.schedule ) {
headertag.cmd.push( function() {
headertag.retrieveVideoDemand( [{“htSlotName”: “preroll”}], function( demand ) {
console.log( “AMI jwp IX callback”, demand );

if ( “undefined” !== typeof demand.preroll && demand.preroll.length ){
window.jwpBids[vHash].ixBids = demand.preroll[0].targeting.price;
console.log( “AMI jwp IX Bids”, new Date().getTime(), demand.preroll[0].targeting );
}
window.jwpBids[vHash].ix = true;
} );
} );
}
}
}).on(‘beforePlay’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
window.jwpBids[vHash].iristv = false;
window.jwpBids[vHash].iristvBids = {};
console.log( “AMI jwp IrisTV Bidding init”, new Date().getTime() );
// skip if the video was paused and trying to resume
if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) {
return;
}

if ( window.jwpDef[vHash].advertising ) {
if ( window.jwpDef[vHash].advertising.schedule ) {
// Get main item context data
window.irisContext.getContext(jwplayer(el).getPlaylistItem().mediaid).then(function(data) {
// Encode the context data
var context = encodeURIComponent(`iris_context=${data.context.join(‘,’)}`);
console.log( “AMI jwp IrisTV callback”, context );
console.log( “AMI jwp IrisTV Bids”, new Date().getTime(), data.context );
// Replace the server url with the context data (this is for simple ad requests),
// If you have the serverUrl dynamically configured, then you will need to append the context data
// under cust_params, so this is just for testing purpose
window.jwpBids[vHash].iristvBids = data.context;
window.jwpBids[vHash].iristv = true;
});
}
}
}).on(‘beforePlay’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
window.jwpBids[vHash].amazon = false;
window.jwpBids[vHash].amazonBids = “”;
console.log( “AMI jwp amazon Bidding init”, new Date().getTime() );
// skip if the video was paused and trying to resume
if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) {
return;
}
if ( window.jwpDef[vHash].advertising ) {
if ( window.jwpDef[vHash].advertising.schedule ) {
apstag.fetchBids({
slots: [{
slotID: window.prerollTag[vHash],
mediaType: ‘video’
}]
}, function( bids ) {
console.log( “AMI jwp amazon bid callback”, new Date().getTime(), bids );
window.jwpBids[vHash].amazon = true;
if ( bids.length > 0 ) { //If we have received any bids back
try {
console.log(“AMI jwp amazon bid request ad”, bids[0].encodedQsParams);
window.jwpBids[vHash].amazonBids = bids[0].encodedQsParams;
} catch ( e ) {
console.log(e);
}
} else {
console.log(“AMI jwp amazon no bids”);
}
});
}
}
}).once(“play”, function(){
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var playerInstance = jwplayer(el);
loadIrisPlugin(playerInstance, playerInstance.getConfig().plugins[“https://ovp.iris.tv/plugins/jwplayer/v2/iris-jwplayer8.adaptive.min.js”])
}).on(‘play’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );

var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());
// skip if the video was paused and trying to resume
if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) {
return;
}

window.permutive.track(“VideoPlay”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language:”English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});

console.log(“Permutive video play”);

}).on(‘complete’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );

var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());
// skip if the video was paused and trying to resume
if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) {
return;
}

window.permutive.track(“VideoComplete”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});
console.log(“Permutive video event:”, e);
window.lock_25 = false;
window.lock_50 = false;
window.lock_75 = false;
window.lock_100 = false;
}).on(‘time’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());
var progress = (e.currentTime/e.duration).toFixed(2);

if (
(0.25 === progress && false === window.lock_25) ||
(0.5 === progress && false === window.lock_50) ||
(0.75 === progress && false === window.lock_75) ||
(100 === progress && false === window.lock_100)
) {
window.permutive.track(“VideoProgress”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
progress: Number(progress),
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});
if ( 0.25 === progress ) {
window.lock_25 = true;
}
if ( 0.5 === progress ) {
window.lock_50 = true;
}
if ( 0.75 === progress ) {
window.lock_75 = true;
}
if ( 1 === progress ) {
window.lock_100 = true;
}
console.log(“Permutive video play progress ” + progress);
}

}).on(‘mute’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );

var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());

window.permutive.track(“VideoEvent”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
event: (e.mute) ? “sound off” : “sound on”,
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});

console.log(“Permutive video event:”, e);

}).on(‘fullscreen’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );

var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());

window.permutive.track(“VideoEvent”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
event: (e.fullscreen) ? “fullscreen on” : “fullscreen off”,
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});
console.log(“Permutive video event:”, e);
}).on(‘ready’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );

var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());
console.log(jwInfo);
window.lock_25 = false;
window.lock_50 = false;
window.lock_75 = false;
window.lock_100 = false;

window.permutive.track(“VideoLoad”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});
console.log(“Permutive video load event”);
}).on(‘adPlay’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );

window.adInfo = e;
var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());

window.adlock_25 = false;
window.adlock_50 = false;
window.adlock_75 = false;
window.adlock_100 = false;

window.permutive.track(“VideoAdPlay”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
ad: {
duration: window.adInfo.duration,
creative_name: window.adInfo.adtitle,
ad_id: window.adInfo.adId,
title: window.adInfo.adtitle,
video_type: “instream” //outstream
},
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});
console.log(“Permutive video ad play”);
}).on(‘adClick’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );

var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());

window.permutive.track(“VideoAdClick”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
ad: {
duration: window.adInfo.duration,
creative_name: window.adInfo.adtitle,
ad_id: window.adInfo.adId,
title: window.adInfo.adtitle,
video_type: “instream” //outstream
},
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});
console.log(“Permutive video ad click”);
}).on(‘adTime’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex());
var progress = (e.position/e.duration).toFixed(2);

if (
(0.25 >= progress && false === window.adlock_25) ||
(0.5 >= progress && false === window.adlock_50) ||
(0.75 >= progress && false === window.adlock_75) ||
(0.95 >= progress && false === window.adlock_100)
) {

window.permutive.track(“VideoAdProgress”, {
play_id: el, //this will stay constant for all of the events emitted during the same video play
progress: Number(progress),
ad: {
duration: window.adInfo.duration,
creative_name: window.adInfo.adtitle,
ad_id: window.adInfo.adId,
title: window.adInfo.adtitle,
video_type: “instream” //outstream
},
video: {
duration: jwInfo.duration, // in seconds
name: jwInfo.title,
video_id: decodeURIComponent( “kpqvImMR” ),
description: jwInfo.description,
published_at: new Date(jwInfo.pubdate).toISOString()
},
enriched_data:{
tvchannel: decodeURIComponent( “Men%26%23039%3Bs%20Journal” ), //tv channel name
language: “English”, //language of the content
type: “video”,
keywords: jwInfo.tags.split(“,”), //keywords for the page
}
});
if ( 0.25 >= progress ) {
window.adlock_25 = true;
}
if ( 0.5 >= progress ) {
window.adlock_50 = true;
}
if ( 0.75 >= progress ) {
window.adlock_75 = true;
}
if ( 0.95 >= progress ) {
window.adlock_100 = true;
}
console.log(“Permutive video ad progress ” + progress);
}
}).on(‘beforePlay’, (e) => {
var el = decodeURIComponent( “jwplayer_kpqvImMR_eEkK759I_div” );
var vHash = “ami” + decodeURIComponent( “kpqvImMR” );
// skip if the video was paused and trying to resume
if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) {
return;
}
if ( window.jwpDef[vHash].advertising ) {
if ( window.jwpDef[vHash].advertising.schedule ) {
var adTag = window.jwVastTag[vHash];
setTimeout( function(){
if ( window.jwpBids[vHash].ix || window.jwpBids[vHash].amazon || window.jwpBids[vHash].iristv ) {
if ( window.jwpBids[vHash].amazonBids ) {
adTag = adTag + “&scp=” + window.jwpBids[vHash].amazonBids;
}

if ( window.jwpBids[vHash].ixBids ) {
var vastURL = new URL( adTag );
var vastParams = new URLSearchParams( vastURL.search );
if ( vastParams.has( “cust_params” ) ) {
var custParams = new URLSearchParams( vastParams.get( “cust_params” ) );
} else {
var custParams = new URLSearchParams();
}
var keys = Object.keys( window.jwpBids[vHash].ixBids );
for ( var key of keys ) {
custParams.set( key, window.jwpBids[vHash].ixBids[key][0]);
}
vastParams.set( “cust_params”, custParams.toString() );
vastURL.search = vastParams.toString();
adTag = vastURL.toString();
}

if ( window.jwpBids[vHash].iristvBids && Object.keys( window.jwpBids[vHash].iristvBids ).length ) {
var vastURL = new URL( adTag );
var vastParams = new URLSearchParams( vastURL.search );
if ( vastParams.has( “cust_params” ) ) {
var custParams = new URLSearchParams( vastParams.get( “cust_params” ) );
} else {
var custParams = new URLSearchParams();
}
custParams.set( “iris_context”, window.jwpBids[vHash].iristvBids.join(‘,’));
vastParams.set( “cust_params”, decodeURIComponent( custParams.toString() ) );
vastURL.search = vastParams.toString();
adTag = vastURL.toString();
}

if ( localStorage._pdfps ) {
var playerSegsPerm = encodeURIComponent(‘&permutive=’ + encodeURIComponent(JSON.parse(localStorage._pdfps || ‘[]’).slice(0,250).join(“,”)));
adTag = adTag.replace(/(cust_params[^&]+)/, ‘$1’ + playerSegsPerm);
}
console.log( “AMI jwp adTag with Bids”, adTag );
}
jwplayer(el).playAd( adTag );
}, 1000 );
}
}
});
clearInterval(checkJWReady);
}
}, 500);
})();

 

Expert Tip: To up the intensity if you don’t have adjustable dumbbells, add a heavy band, do more reps, slow the movement down to create more time under tension, or hold the contracted position of the exercise.

Directions: Add this dumbbell workout to your weekly regimen once per week; do it twice per week with cardio on opposing days if you need a new program. Complete the exercises in Part 1 for the prescribed number of reps, taking 20 to 30 seconds rest between moves, and 30 to 45 seconds between sets. Once you’ve completed all 3 sets in Part A, rest for 60 to 90 seconds, then complete the triset in Part 2. Complete the exercises for the prescribed number of reps, taking 20 to 30 seconds rest between moves, and 30 to 45 seconds between sets for 3 total sets. Beginners should use 20- to 25-pound dumbbells, intermediate lifters can do 30- to 40-pound dumbbells, and advanced can go 45 pounds and higher.

dumbbell side planks

The Dumbbell Row Side Planks That Will Make Your Abs Sore as Hell

Read article

The Most Effective Dumbbell Workout of All Time

PART 1: DUMBBELL SUPERSET

A. Single-Arm Eccentric Push Press

Stand with feet at shoulder width, holding a dumbbell in right hand with a neutral grip at shoulder height, elbow bent at 90 degrees. Lower into a quarter-squat, then explode up, driving through legs to press the dumbbell overhead. Pause, then slowly lower to start position. Complete 4-5 reps, then switch sides.

Single-Leg Renegade Row With Eccentric Isometrics
Single-Leg Renegade Row With Eccentric Isometrics Marius Bugge for Men’s Journal

B. Single-Leg Renegade Row With Eccentric Isometrics

Get in a plank with dumbbells under each hand. Activate your core and keep hips square as you extend left leg, foot flexed. Slowly row the dumbbell in your right hand toward rib cage; pause, then slowly lower toward the ground without letting it touch, maintaining constant tension. Complete 5-6 reps, then switch sides.

Dumbbell Woodchop

The Most Creative Dumbbell Workouts to Build Muscle and Burn Fat at Home

Read article

Single-Leg Squat and Curl
Single-Leg Squat and Curl Marius Bugge for Men’s Journal

PART 2: DUMBBELL TRISET

A. Single-Leg Squat and Curl

Stand with feet hip-width apart, holding dumbbells in both hands, elbows bent at 90 degrees with palms facing your face. Shift weight onto your left leg, lifting your right leg behind you, knee bent. Hinge at hips to lower into a single-leg squat. Hold at the bottom, then lower the weights and curl twice before pushing through your heel to rise. Complete 2-3 reps, then switch sides.

Dumbbell Squeeze Press Marius Bugge for Men’s Journal

B. Dumbbell Squeeze Press

Lie on a bench, holding dumbbells at chest, palms facing each other. Squeeze weights together as hard as you can, then press up. Loop a resistance band under your back and around dumbbells for a greater challenge. Complete 8-10 reps.

Single-Leg Bridging Dumbbell Pullover
Single-Leg Bridging Dumbbell Pullover Marius Bugge for Men’s Journal

C. Single-Leg Bridging Dumbbell Pullover

Line upper back against bench, and bridge hips up, holding dumbbells with palms facing each other. Lift left leg off floor—knee bent, foot flexed, hips level. Lower dumbbells to bench (pullover). Complete 4-5 reps, then switch sides.

Dumbbell Chest Press

The 30 Best Dumbbell Exercises of All Time

Read article

The post This Might Be the Hardest Dumbbell Workout You Ever Try appeared first on Men's Journal.



Article link