Skip to content

Instantly share code, notes, and snippets.

@jespada
Last active April 9, 2026 14:03
Show Gist options
  • Select an option

  • Save jespada/0bca297d383ecf0c3b20effebe283360 to your computer and use it in GitHub Desktop.

Select an option

Save jespada/0bca297d383ecf0c3b20effebe283360 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
@page { size: A4; margin: 12mm; }
* { box-sizing: border-box; }
body {
font-family: Helvetica, Arial, sans-serif;
color: #1a1a1a;
margin: 0;
font-size: 10.5pt;
line-height: 1.35;
}
.header {
border-bottom: 4px solid #000;
padding-bottom: 8px;
margin-bottom: 10px;
}
.title {
font-size: 26pt;
font-weight: 900;
letter-spacing: -0.5px;
margin: 0;
text-transform: uppercase;
}
.subtitle {
font-size: 10pt;
color: #555;
margin: 2px 0 0 0;
letter-spacing: 1px;
text-transform: uppercase;
}
.meta {
display: table;
width: 100%;
margin-top: 6px;
}
.meta-cell {
display: table-cell;
font-size: 9pt;
color: #333;
}
.meta-cell.right { text-align: right; }
.meta-cell b { color: #000; }
h2 {
background: #000;
color: #fff;
padding: 4px 8px;
font-size: 11pt;
margin: 10px 0 6px 0;
text-transform: uppercase;
letter-spacing: 1px;
}
.block {
border: 1.5px solid #000;
padding: 8px 10px;
margin-bottom: 6px;
}
.block-title {
font-weight: 900;
font-size: 11pt;
text-transform: uppercase;
margin-bottom: 4px;
}
.block-sub {
font-size: 9pt;
color: #666;
margin-bottom: 6px;
}
table.ex {
width: 100%;
border-collapse: collapse;
font-size: 10pt;
}
table.ex td {
padding: 3px 6px;
border-bottom: 1px dotted #999;
}
table.ex td.num {
font-weight: 900;
width: 28px;
background: #f0f0f0;
text-align: center;
}
table.ex td.name { font-weight: 700; }
table.ex td.reps { text-align: right; white-space: nowrap; }
table.ex tr:last-child td { border-bottom: none; }
a { color: #0047ab; text-decoration: none; }
a:hover { text-decoration: underline; }
.video-link {
display: inline-block;
font-size: 8pt;
font-weight: 700;
color: #fff;
background: #c00;
padding: 1px 5px;
border-radius: 2px;
text-transform: uppercase;
letter-spacing: 0.3px;
margin-left: 4px;
}
.article-link {
display: inline-block;
font-size: 8pt;
font-weight: 700;
color: #fff;
background: #444;
padding: 1px 5px;
border-radius: 2px;
text-transform: uppercase;
letter-spacing: 0.3px;
margin-left: 4px;
}
.two-col {
display: table;
width: 100%;
border-spacing: 6px 0;
margin-left: -6px;
}
.two-col > div {
display: table-cell;
width: 50%;
vertical-align: top;
}
.standards {
width: 100%;
border-collapse: collapse;
font-size: 9.5pt;
}
.standards th, .standards td {
border: 1px solid #000;
padding: 4px 6px;
text-align: center;
}
.standards th {
background: #000;
color: #fff;
text-transform: uppercase;
font-size: 8.5pt;
letter-spacing: 0.5px;
}
.standards td.lbl {
text-align: left;
font-weight: 700;
background: #f0f0f0;
}
.principles {
font-size: 9pt;
padding-left: 16px;
margin: 4px 0;
}
.principles li { margin-bottom: 2px; }
.footer {
margin-top: 8px;
border-top: 2px solid #000;
padding-top: 5px;
font-size: 8pt;
color: #555;
font-style: italic;
text-align: center;
}
.timing-box {
background: #000;
color: #fff;
padding: 6px 10px;
font-size: 9.5pt;
margin-top: 4px;
}
.timing-box b { font-size: 10.5pt; }
</style>
</head>
<body>
<div class="header">
<h1 class="title">Simple &amp; Sinister</h1>
<p class="subtitle">Pavel Tsatsouline · Minimalist Kettlebell Protocol · ~25–30 min</p>
<div class="meta">
<div class="meta-cell"><b>EQUIPMENT:</b> 1 kettlebell &nbsp;·&nbsp; <b>FREQUENCY:</b> 4–6 days / week</div>
<div class="meta-cell right"><b>STYLE:</b> Practice, not a smoker</div>
</div>
</div>
<h2>① Warm-Up · 3 rounds</h2>
<div class="block">
<table class="ex">
<tr><td class="num">1</td><td class="name">Prying Goblet Squat <a class="video-link" href="https://www.youtube.com/results?search_query=prying+goblet+squat+strongfirst">▶ video</a></td><td>Hold bell by horns, squat deep, pry knees open with elbows</td><td class="reps">× 5</td></tr>
<tr><td class="num">2</td><td class="name">Hip Bridge <a class="video-link" href="https://www.youtube.com/results?search_query=kettlebell+hip+bridge+simple+sinister">▶ video</a></td><td>Knees 90°, squeeze glutes, 3s hold at top</td><td class="reps">× 5</td></tr>
<tr><td class="num">3</td><td class="name">Halo <a class="video-link" href="https://www.youtube.com/results?search_query=kettlebell+halo+strongfirst">▶ video</a> <a class="article-link" href="https://www.strongfirst.com/proper-swing-grip-kettlebell-halo/">article</a></td><td>Bell upside-down, circle slowly around the head</td><td class="reps">× 5 each way</td></tr>
</table>
</div>
<h2>② Main Work · The Two Movements</h2>
<div class="two-col">
<div>
<div class="block">
<div class="block-title">A. One-Arm Swing
<a class="video-link" href="https://www.youtube.com/results?search_query=strongfirst+hardstyle+kettlebell+swing+tutorial">▶ video</a>
<a class="article-link" href="https://www.strongfirst.com/is-there-a-perfect-swing-or-the-quest/">article</a>
</div>
<div class="block-sub">10 sets × 10 reps · alternating hands</div>
<table class="ex">
<tr><td class="num">R</td><td>10 reps right hand</td></tr>
<tr><td class="num">L</td><td>10 reps left hand</td></tr>
<tr><td class="num">…</td><td>Repeat until 100 total</td></tr>
</table>
<div class="timing-box">
<b>TIMING:</b> 1 set every 30–60s.<br>
Rest = "conversation pace" between sets.
</div>
</div>
</div>
<div>
<div class="block">
<div class="block-title">B. Turkish Get-Up
<a class="video-link" href="https://www.youtube.com/results?search_query=mark+wildman+turkish+get+up+primer">▶ video</a>
<a class="article-link" href="https://programs.wildmanathletica.com/blog/3-simple-drills-to-learn-the-turkish-get-up">article</a>
</div>
<div class="block-sub">10 reps total · 5 per side · one at a time</div>
<table class="ex">
<tr><td class="num">R</td><td>1 rep right side</td></tr>
<tr><td class="num">L</td><td>1 rep left side</td></tr>
<tr><td class="num">…</td><td>Repeat until 10 total</td></tr>
</table>
<div class="timing-box">
<b>TIMING:</b> 1 rep per minute.<br>
Slow, controlled, deliberate. No rushing.
</div>
</div>
</div>
</div>
<h2>③ Progression Standards</h2>
<table class="standards">
<tr>
<th>Level</th>
<th>Men — Swing</th>
<th>Men — Get-Up</th>
<th>Women — Swing</th>
<th>Women — Get-Up</th>
</tr>
<tr>
<td class="lbl">Start</td><td>16 kg</td><td>16 kg</td><td>8 kg</td><td>8 kg</td>
</tr>
<tr>
<td class="lbl">Simple</td><td>32 kg</td><td>32 kg</td><td>24 kg</td><td>16 kg</td>
</tr>
<tr>
<td class="lbl">Sinister</td><td>48 kg</td><td>48 kg</td><td>32 kg</td><td>24 kg</td>
</tr>
</table>
<div style="font-size: 8.5pt; color: #555; margin-top: 3px;">
<b>Timed standard:</b> 100 swings in 5 min · 1 min rest · 10 get-ups in 10 min · all unbroken at target weight.
</div>
<h2>④ Principles &amp; Cool-Down</h2>
<div class="two-col">
<div>
<div class="block" style="min-height: 95px;">
<div class="block-title">Rules of Practice</div>
<ul class="principles">
<li><b>Train, don't drain.</b> Leave the session with energy in the tank.</li>
<li><b>Form over fatigue.</b> Stop a set if technique breaks.</li>
<li><b>Step-load weight.</b> Master current bell before jumping up.</li>
<li><b>Breathe behind the shield.</b> Brace the core on every rep.</li>
<li><b>Light day when tired.</b> Reduce weight, never skip.</li>
</ul>
</div>
</div>
<div>
<div class="block" style="min-height: 95px;">
<div class="block-title">Cool-Down (3 min)</div>
<ul class="principles">
<li><b>90/90 stretch</b> — hips, both sides</li>
<li><b>QL straddle</b> — low back decompression</li>
<li><b>Chest opener</b> — doorway or floor</li>
<li>Walk &amp; breathe until heart rate settles</li>
</ul>
</div>
</div>
</div>
<div class="footer">
"A workout should give you more than it takes out of you." — Ivan Ivanov<br>
Based on Pavel Tsatsouline's <i>Kettlebell Simple &amp; Sinister</i> (2nd ed.) &nbsp;·&nbsp;
Full notes: <a href="https://sarr.is/books/ss/">sarr.is/books/ss</a> &nbsp;·&nbsp;
Beginner guide: <a href="https://www.strongfirst.com/beginners-start-here/">strongfirst.com/beginners-start-here</a>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment