tag:quandyfactory.com,2020-5-19:/2020519 2020-5-19T12:00:00Z Quandy Factory Newsfeed - All Quandy Factory is the personal website of Ryan McGreal in Hamilton, Ontario, Canada.. http://quandyfactory.com/projects/2/pyhtmledit 2020-05-27T12:00:00Z PyHtmlEdit <p>You can download pyhtmledit from its <a href="http://github.com/quandyfactory/PyHtmlEdit/tree/master">Github repository</a>. </p> <p class="image"> <img src="/static/images/pyhtmledit_editor_window.png" alt="PyHtmlEdit screenshot" title="PyHtmlEdit screenshot"><br> PyHtmlEdit screenshot </p> <ul> <li>Current Version: 3.1 (released 2020-05-27)</li> </ul> <p>Note: PyHtmlEdit has been completely updated as of Version 3. It now runs on Python 3.x, not Python 2.x, as the latter is obsolete and is no longer being supported.</p> <p>PyHtmlEdit 3 also runs using the Tkinter GUI library, which is built into Python installations, instead of the wxPython library, which turned out to be more hassle than it was worth.</p> <p>You also need to have the python-markdown2 and html2text libraries installed.</p> <p>The features include:</p> <ul> <li>Convert between Markdown and HTML.</li> <li>Search, Replace Next and Replace All.</li> <li>Undo and Redo.</li> <li>A Clean function that removes MS Word special characters.</li> <li>HTML element formatting, including converting a tab-delimited list to an html <code>table</code>.</li> <li>Lowercase, Proper Case and Uppercase functions.</li> </ul> <p>This software is released under the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public Licence, Version 2</a>.</p> Ryan McGreal 2 http://quandyfactory.com/blog/229/some_handy_running_calculations 2019-11-08T12:00:00Z Some Handy Running Calculations <p>I've recently <a href="https://www.strava.com/athletes/47143600">signed up with Strava</a> after almost a decade using <a href="https://runkeeper.com/user/RyanMcGreal/profile">Runkeeper</a>, and I've also recently resumed a regular weekly running program after a very sketchy few months of barely getting any runs in. I decided that with Around the Bay 2020 just five months away, it would be a good idea to start tracking my runs in terms of an ATB training program, naming each run in terms of which week of training it falls in, and which consecutive run it is during that week. So the first run of the first week would be 1-1, and the third run of the second week would be 2-3, and so on.</p> <p>Strava gives you some pretty good information in its running analysis, but I'm also interested in increasing my cadence toward 180 steps per minute, since this seems to be the most fruitful opportunity to increase my cruising speed. Strava does not calculate steps (one point for Runkeeper), but my Fitbit does, and I can use that value in combination with distance and time to calculate cadence and stride length.</p> <p>This is a bit tedious to do manually, so I have created a form where you input your steps, distance and time (in hours, minutes and seconds) and it calculates the rest for you.</p> <script type="text/javascript"> function calculate_running() { var steps = parseInt($('#calc_steps').val()); logit('steps = ' + steps); var distance = parseFloat($('#calc_distance').val()); logit('distance = ' + distance); var distance_metres = distance * 1000; logit('distance_metres = ' + distance_metres); var hours = parseInt($('#calc_hours').val()); logit('hours = ' + hours); var minutes = parseInt($('#calc_minutes').val()); logit('minutes = ' + minutes); var seconds = parseInt($('#calc_seconds').val()); logit('seconds = ' + seconds); var time_hours = hours + minutes/60 + seconds/60/60; logit('time_hours = ' + time_hours); var time_minutes = hours*60 + minutes + seconds/60; logit('time_minutes = ' + time_minutes); var speed = distance/time_hours; logit('speed = ' + speed); var pace = time_minutes / distance; logit('pace = ' + pace); var pace_minutes = Math.floor(pace); logit('pace_minutes = ' + pace_minutes); var pace_seconds = Math.round((pace - pace_minutes)* 60) logit('pace_seconds = ' + pace_seconds); var pace_text = pace_minutes.toString() + ':' + padit(pace_seconds, 2); logit('pace_text = ' + pace_text); var cadence = Math.round(steps / time_minutes); logit('cadence = ' + cadence); var stride_length = (distance_metres / steps).toFixed(2); logit('stride_length = ' + stride_length); var statement = commas(steps).toString() + ' steps for a cadence of ' + cadence.toString() + ' steps/min and a stride length of ' + stride_length.toString() + ' m/step with a speed of ' + speed.toFixed(2) + ' km/h and a pace of ' + pace_text + ' min/km.'; logit('statement = ' + statement); $('#output_distance_m').html(distance_metres); $('#output_time_hours').html(time_hours.toFixed(2)); $('#output_time_minutes').html(time_minutes.toFixed(2)); $('#output_speed').html(speed.toFixed(2)); $('#output_pace').html(pace_text); $('#output_cadence').html(cadence); $('#output_stride_length').html(stride_length); $('#output_statement').html(statement); } function logit(val) { return false; } function padit(val, size) { var s = '00000000' + val; return s.substr(s.length-size); } function commas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } </script> <form> <table style="width: 400px"> <tr><th>Steps</th><td><input name="calc_steps" id="calc_steps" value="8331"></td></tr> <tr><th>Distance (km)</th><td><input name="calc_distance" id="calc_distance" value="9.5"></td></tr> <tr><th>Hours</th><td><input name="calc_hours" id="calc_hours" value="0"></td></tr> <tr><th>Minutes</th><td><input name="calc_minutes" id="calc_minutes" value="52"></td></tr> <tr><th>Seconds</th><td><input name="calc_seconds" id="calc_seconds" value="40"></td></tr> <tr><td colspan="2" style="text-align: center !important"><input type="button" name="calculate" id="calculate" value="Calculate" onclick="calculate_running(); return false" style="width: 90%; height: 2em"></td></tr> <tr><td colspan="2" style="font-weight: bold; text-align: centre !important">Calculations</td><tr> <tr><th>Dist (m)</th><td id="output_distance_m"></td></tr> <tr><th>Time (hours)</td><td id="output_time_hours"></td></tr> <tr><th>Time (mins)</th><td id="output_time_minutes"></td></tr> <tr><th>Speed (km/h)</th><td id="output_speed"></td></tr> <tr><th>Pace (min/km)</th><td id="output_pace"></td></tr> <tr><th>Cadence (steps/min)</th><td id="output_cadence"></td></tr> <tr><th>Stride Length (m)</th><td id="output_stride_length"></td></tr> <tr><td colspan="2" id="output_statement"></td></tr> </table> </form> Ryan McGreal 2 http://quandyfactory.com/blog/211/five+_years_of_running_and_fitness_part_three:_around_the_bay_again 2019-02-01T12:00:00Z Five+ Years of Running and Fitness, Part Three: Around the Bay Again <p><em>I've been trying to write up my five-year summary for several months now, and the analysis seems to keep getting bigger faster than I can finish it. So in an attempt to break the impasse, I'm publishing this review in several parts rather than all at once. This is Part Three of a series that will review of the experiences, challenges, insights, frustrations and successes of the past year.</em></p> <h3>Training for ATB 2018</h3> <p>Last year was my fourth year running the 30 km Around the Bay Road Race, and like my third time, my training was a bit spotty. I missed several training long runs, and in fact I never actually managed to complete a full 30-km training run. The longest runs I did were around 28 km. </p> <p>One particular training run was a disaster. On February 25, 2018, I got to around the halfway point in a 24 km long run and everything went to hell. My calves got sore, my knee tightened up, I got stitches in my side, and my energy just completely tanked. </p> <p>I repeatedly had to stop running and just walk for a while. I slowly shambled home feeling sick to my stomach. When I got home, I was violently ill and then slept for 14 hours. Turns out I was coming down with a rotten bug. </p> <p>Luckily, most of my long runs went better than this one.</p> <h3>Weight-Lifting</h3> <p>However, I have found over the couple of years that I've been able to achieve better running performance with less actual running. I believe a significant factor has been my regular weight-lifting sessions at the fitness centre. </p> <p>The research is clear: weight-lifting improves muscle strength, balance and posture, and makes for faster, stronger running with fewer injuries. I have had great success <a href="/blog/210/five_years_of_running_and_fitness_part_two_sitters_knee_and_hiit">mitigating my knee problem</a> with three days a week of weight-lifting. </p> <p>Look, I'm not a powerlifter hardbody getting ripped or swole or anything like that. I'm just trying to focus on developing and maintaining a more stable core, a stronger lower back, more functional day-to-day strength and a smoother, more efficient running form.</p> <p class="image"> <img src="/static/images/ryan_mcgreal_gym_2018_12_14.jpg" alt="Photo on December 14, 2018" title="Photo on December 14, 2018"><br> Photo on December 14, 2018</p> <h3>Race Day</h3> <p>My goal for ATB 2018 was to finish the race in less than two hours and 50 minutes, my finishing time from 2017. Anything beyond that would be gravy.</p> <p class="image"> <img src="/static/images/atb_2018_starting_line.jpg" alt="Around the Bay 2018 Starting Line" title="Around the Bay 2018 Starting Line"><br> Around the Bay 2018 Starting Line</p> <p>I decided to run without audible updates from my run tracking app and just go by feel, and I seemed to be making good time. Around the halfway mark I managed to catch up to the 2:45 Pace Bunny, so I just tracked him for the rest of the race. </p> <p>For the first ten kilometres, I followed a breathing pattern of inhale four steps, exhale four steps. Every fourth set, I would inhale for five in order to switch the start of the cycle to my opposite foot. (This may seem silly, but as <a href="https://www.runnersworld.com/training/a20822091/running-on-air-breathing-technique/">running coach Budd Coates points out</a>, the evidence suggests that always inhaling from the same foot can lead to imbalance injuries.) Going up hills - the overpasses on Burlington Street/Nikola Tesla Parkway - I shifted to an inhale-for-three, exhale-for-three pattern to get more oxygen.</p> <p>For the second ten kilometres, when my muscles were starting to get a bit tired and needed more oxygen, I switched to an inhale-for-four, exhale-for-three pattern to try and maintain a brisk pace. I kept my speed above 11 km/h but I was starting to feel like I wouldn't be able to maintain it for too much longer without digging into my capital reserves.</p> <p>Sure enough, my pace started to flag during the last ten kilometres, the most difficult part of the course along North Shore Boulevard in Burlington. It contains three famously punishing hills: the long climb up to LaSalle Park, the slightly smaller hill just west of LaSalle Park, and the brutal Valley Inn Road hill coming up from Grindstone Creek. </p> <p class="image"> <img src="/static/images/chart_atb_2018_elevation_change.png" alt="Chart: Around the Bay 2018 Elevation Changes (Image Source: Runkeeper)" title="Chart: Around the Bay 2018 Elevation Changes (Image Source: Runkeeper)"><br> Chart: Around the Bay 2018 Elevation Changes (Image Source: Runkeeper)</p> <p>I was really digging deep by this point but I was determined to keep up with the Pace Bunny, so I bore down to an inhale-for-two, exhale-for-two breathing pattern up the hills, and tried to get back to an inhale-for-four, exhale-for-three pattern coming down off them. </p> <p>By the last few kilometres - all downhill, thankfully, I was feeling gassed. For the kilometre after Valley Inn, my average speed fell to 10.4 km/h. Thankfully, the Pace Bunny was relentlessly upbeat and encouraging, and his optimism was infectious. We were still in good shape to finish in 2:45, despite running the next couple of kilometres in the high tens.</p> <p>As always, I was buoyed and borne along by the encouragement of the thousands of friendly strangers who lined the course, plus beloved family members and friends who were on hand to cheer me on. </p> <h3>Strong Finish</h3> <p>Around kilometre 29, a friend of mine ran out onto the course to pace me for a couple of minutes. He is an extraordinary runner, joyful and absurdly fast, and he gave me some excellent advice: "relax your body, open up your stride and pass ten or twenty people before the finish line." </p> <p>Sure enough, that last kilometre I averaged 11.15 km/h and swept into the finish line feeling strong and confident.</p> <p>In a chart of my average speed for each kilometre of the race, you can see it improve steadily for the first ten km, peter off over the second ten km, and then get increasingly erratic over the last ten km before finishing strong.</p> <p class="image"> <img src="/static/images/chart_atb_speed_per_kilometre_2018.png" alt="Chart: ATB 2018 Speed Per Kilometre" title="Chart: ATB 2018 Speed Per Kilometre"><br> Chart: ATB 2018 Speed Per Kilometre</p> <p>My finishing <em>gun time</em> (from when the race started until I crossed the finish line) was 2:46:33 and my <em>chip time</em> (from when I crossed the starting line until I crossed the finish line) was 2:44:29. That's a new personal record for me, well below my target time, and it shaved more than five minutes off my previous record last year.</p> <table> <caption>Around the Bay Race Results, 2015-2018</caption> <thead> <tr> <th></th> <th>2015</th> <th>2016</th> <th>2017</th> <th>2018</th> </tr> </thead> <tbody> <tr> <td>Bib</td> <td>1237</td> <td>228</td> <td>4296</td> <td>3730</td> </tr> <tr> <td>Guntime</td> <td>3:22:19</td> <td>2:54:45</td> <td>2:53:30</td> <td>2:46:33</td> </tr> <tr> <td>Chiptime</td> <td>3:17:11</td> <td>2:52:32</td> <td>2:50:03</td> <td>2:44:29</td> </tr> <tr> <td>Overall Place</td> <td>4325/5755</td> <td>2254/5259</td> <td>1836/4244</td> <td>1404/3921</td> </tr> <tr> <td>Overall Percentile</td> <td>75%</td> <td>43%</td> <td>43%</td> <td>36%</td> </tr> <tr> <td>Gender Place (M)</td> <td>2534/3053</td> <td>1509/2669</td> <td>1247/2224</td> <td>1032/2193</td> </tr> <tr> <td>Gender Percentile</td> <td>83%</td> <td>57%</td> <td>56%</td> <td>47%</td> </tr> <tr> <td>Age Place (M40-44)</td> <td> 414/495</td> <td>267/443</td> <td>201/327</td> <td>169/341</td> </tr> <tr> <td>Age Percentile</td> <td>84%</td> <td>60%</td> <td>61%</td> <td>50%</td> </tr> </tbody> </table> <p class="image"> <img src="/static/images/chart_atb_completion_time_by_year_2015-2018.png" alt="Chart: ATB Completion Time by Year, 2015-2018" title="Chart: ATB Completion Time by Year, 2015-2018"><br> Chart: ATB Completion Time by Year, 2015-2018</p> <h3>ATB 2019</h3> <p>I've signed up for the ATB 2019 30 km race and started my dedicated training long runs in the beginning of January. I'm determined to get in at least a couple of 30 km training runs this time, and so far my weekend long runs are in the 21-23 km range. </p> <p>I'm aiming for a 24 km long run this weekend, 25.5 km on February 10, 27 km on February 17, 28.5 km on February 24, then a couple of 30 km runs on March 3 and 10, with two weeks of tapering on March 17 and 24 and the race itself on March 31.</p> <p>On January 14, 2019 I bought a new pair of shoes. As always, I went with Mizuno Wave Riders, general-purpose neutral workhorse trainers that feel like they were custom-made specifically for my feet.</p> <p class="image"> <img src="/static/images/new_shoes_2019_01_14.jpg" alt="New Shoes, January 14, 2019" title="New Shoes, January 14, 2019"><br> New Shoes, January 14, 2019</p> <p>My only quibble with these shoes is that they don't seem to be quite as durable as previous versions of the shoe. I generally retire my shoes from running after 800 km and turn them into walking shoes, but the shoes that this pair replaced are already starting to tear in the mesh fabric around the toe box.</p> <h3>Winter Running</h3> <p>The past couple of winters I have became a bit wimpy about running outside in bad weather. This might have something to do with finally having access to dreadmills at the gym. But this week, with the polar vortex hanging over North America and temperatures dropping down to -25 Celsius, I've been spending more time on <a href="/blog/210/five_years_of_running_and_fitness_part_two_sitters_knee_and_hiit">High Intensity Interval Training</a> indoors rather than long, painful runs outside.</p> <p>That said, here's my general guide for figuring out how to dress based on the temperature:</p> <table> <caption>Running Clothes by Temperature</caption> <thead> <tr> <th>Temp (Celsius)</th> <th>Top</th> <th>Bottom</th> <th>Extra</th> </tr> </thead> <tbody> <tr> <td>Above 12</td> <td>t-shirt</td> <td>shorts</td> <td></td> </tr> <tr> <td>8 to 12</td> <td>long sleeve shirt</td> <td>shorts</td> <td></td> </tr> <tr> <td>3 to 8</td> <td>t-shirt and long sleeve shirt</td> <td>shorts</td> <td></td> </tr> <tr> <td>-1 to 3</td> <td>hoodie and long sleeve shirt</td> <td>shorts</td> <td>gloves</td> </tr> <tr> <td>-4 to -1</td> <td>winter shell and long sleeve shirt</td> <td>shorts</td> <td>gloves and hat</td> </tr> <tr> <td>Below -4</td> <td>winter shell and long sleeve shirt</td> <td>leggings</td> <td>gloves, hat, scarf</td> </tr> </tbody> </table> <p>The hardest part is pushing myself out the door. The first five minutes are chilly, then I warm up between five and ten minutes and if I've dressed properly, I feel comfortable the rest of the run. </p> <p>There are other ways to tweak my temperature. If I'm getting too warm, I can pull down the zipper on my coat, take off my hat and/or gloves, roll up my sleeves, and ease off the pace to produce less body heat. If I'm a bit too cold, I can put my had and glove back on, pull my zipper back up, and run harder to produce more body heat. </p> <p>There's something really fun about getting to the end of a hard run on a really cold day, because steam pours off my body. As my friend Adrian put it a few years ago, "I feel like a wizard!"</p> Ryan McGreal 2 http://quandyfactory.com/blog/210/five+_years_of_running_and_fitness_part_two:_sitters_knee_and_hiit 2019-01-31T12:00:00Z Five+ Years of Running and Fitness, Part Two: Sitter's Knee and HIIT <p><em>I've been trying to write up my five-year summary for several months now, and the analysis seems to keep getting bigger faster than I can finish it. So in an attempt to break the impasse, I'm publishing this review in several parts rather than all at once. This is Part Two of a series that will review of the experiences, challenges, insights, frustrations and successes of the past year.</em></p> <h3>Knee Trouble</h3> <p>Before I started running, I had trouble with my right knee. It would click painfully on stairs and I couldn't squat deeply. After I started running, I actually found that the problems mostly went away. It would still click on stairs, but not painfully. </p> <p>In some ways, my knee became the canary in the coal mine: for example, it would start grumbling once my shoes passed around 800 kilometres of use or when I was running with poor form, for example when I got tired.</p> <p>I started having more trouble with it during my training for <a href="/blog/183/my_first_marathon_or_a_supposedly_fun_thing_i_wont_do_again_until_ive_had_time_to_forget_how_gruelling_it_was">my first marathon</a> when my weekly distances crept past 60 kilometres. Fortunately, I've been able to get the situation under control and now rarely experience any pain.</p> <h3>Sitter's Knee</h3> <p>So-called runner's knee - the medical name is <em>patellofemoral pain syndrome</em> or PFPS - is something of a blanket term for inflammation and pain where the kneecap sits on the thigh bone. </p> <p>While conventional wisdom assumes it's caused by running (hence the nickname), the fact is that running merely triggers the symptoms - especially after significantly ramping up distance and/or intensity to which body is not accustomed. </p> <p>The underlying cause is usually bad running form due to poor musculoskeletal fitness - specifically, tight hamstrings, weak glutes and quadriceps, and poor core strength leading to instability. Without a network of strong, well-functioning muscles throughout the kinetic chain, the knee tends to collapse inward during impact, leading to poor tracking of the kneecap and irritation of the cartilage that holds it in place.</p> <p>These underlying muscular factors, in turn, are primarily caused by extended sitting, which leaves the hamstrings too tight and the quadriceps too weak to support good running form. (This is just one of the many reasons <a href="https://www.washingtonpost.com/apps/g/page/national/the-health-hazards-of-sitting/750/">extended sitting is extremely bad for your health</a>.) </p> <p>This condition should really be called <em>sitter's knee</em>, not runner's knee!</p> <p>Before I started running, I spent a decade and a half sitting all day at work (I'm a software programmer). In late 2014, after attending a health conference and learning more about the dangers of sitting, I transitioned to a standing desk. It took a month to get used to it and tweak the ergonomics, but I never looked back. Now I work upright rather than sitting, and in addition I try to keep moving as much as possible while I work.</p> <p>When I analyzed my running form during and after my marathon training, I noticed that when I strike the ground with my right foot, my right hip would dip a bit, causing my right knee to buckle slightly inward. That, in turn, caused my kneecap to move off-track, causing irritation and soreness.</p> <h3>Core Strength Needed</h3> <p>It seemed to me that I would get some real benefit from focusing on strengthening my core, glutes and thigh muscles to improve the tracking of my knee.</p> <p>In June of 2017, I took the logical next step and joined a fitness centre: <a href="https://mcmasterinnovationpark.ca/fitness-facility">McMaster Innovation Park Fitness Facility</a>, managed by the wonderful fitness trainer Maureen Graszat. I generally work out three times a week, focusing on fundamental movements and core strength: bicep curls, bent rows, squats, deadlifts, bench presses, shoulder presses, bench flyes, lunges, planks and so on.</p> <p>As I've gradually gotten stronger, I have found that my knee no longer troubles me. In addition, my running economy and form have steadily improved: I find I can run farther and faster with less perceived effort.</p> <h3>High-Intensity Interval Training</h3> <p>As my knee has gotten stronger and more reliable, another change I've made to my running program is that once or twice a week I do a half-hour of high-intensity interval training (HIIT) on the dreadmill at the fitness centre. </p> <p>HIIT involves ramping up to a level of aerobic intensity that repeatedly raises your heart rate up to 80-90 percent of your maximum heart rate (calculated as 220 minus your age) for a short time, then lowers the intensity for a short break before going back to the higher intensity. </p> <p>My maximum heart rate is 220 - 45 = 185, so my HIIT target heart rate is in the 150 to 167 beats per minute range (80-90 percent of 185).</p> <p>Here's a recent run in which I warmed up at around 11.25 km/h (7 mph), then alternated between bouts of 60 seconds at 14.5 km/h (9 mph) and 90 seconds at 12.5 km/h. You can see the oscillation in my heart rate in this chart from Fitbit:</p> <p class="image"> <img src="/static/images/fitbit_heart_rate_hiit.jpg" alt="Chart: heart rate during 30 minute HIIT on the dreadmill" title="Chart: heart rate during 30 minute HIIT on the dreadmill"><br> Chart: heart rate during 30 minute HIIT on the dreadmill</p> <p>An important measure of fitness is something called VO2 Max: it's the maximum rate at which your muscles can utilize oxygen while exercising. While the ultimate peak potential for your VO2 Max is determined by genetics, your performance within that potential range at any given point is largely a function of your fitness training, and HIIT is a highly effective way of increasing your fitness. </p> <p>This stuff really matters: a higher VO2 Max predicts a lower risk of cardiovascular disease, all-risk mortality and specific mortality for certain types of cancer. And of course, a lower VO2 Max predicts a higher risk of all these things. </p> <p>A higher VO2 Max also means running feels easier at any given pace, so there's a practical near-term benefit as well. </p> <p>Fitbit calculates something that it calls a Cardio Fitness Level, which is a rough proxy for VO2 max. According to my profile, I have a Cardio Fitness Level of 46, which the app describes as "Very Good for men your age". </p> <p>Still, knowing that there is an "Excellent" level beyond where I am today makes me feel a competitive drive to improve, hence my willingness to embrace HIIT.</p> Ryan McGreal 2 http://quandyfactory.com/blog/209/five+_years_of_running_and_fitness_part_one:_the_sleep_factor 2019-01-30T12:00:00Z Five+ Years of Running and Fitness, Part One: The Sleep Factor <p><em>I've been trying to write up my five-year summary for several months now, and the analysis seems to keep getting bigger faster than I can finish it. So in an attempt to break the impasse, I'm publishing this review in several parts rather than all at once. This is Part One of a series that will review of the experiences, challenges, insights, frustrations and successes of the past year.</em></p> <p>On July 27, 2013, I went for a run. A short, slow, shambling, on-and-off run punctuated by bouts of walking, to be sure - just 2.71 km at an average speed of 7.78 km/h - but a run nonetheless. It was the inauspicious start to a habit that has continued for more than five and a half years over 881 runs (as of this writing) spanning more than 10,200 kilometres and burning about a million calories.</p> <p>Since I started running, I lost 80 pounds (and then gained 15), took up weight-lifting, dramatically changed my diet and transformed my daily approach to physical activity. The reason I have been successful at making these changes is that I didn't try to do them all at once. Instead, I've made a long series of small, incremental changes that have added up over time.</p> <h3>New Fitness Tracker</h3> <p>From the beginning of my fitness journey, a central component has been the collection and tracking of key measurables. That started with <a href="/running">tracking runs</a> in mid-2013 and expanded to <a href="/stepcounts">daily stepcounts</a> after <a href="/blog/161/a_year_of_walking">I received a pedometer</a> in late 2014. </p> <p>Sadly, my pedometer - a free gift in the swag bag I received at a health conference - finally took that long walk into the sunset late last year. Happily, Santa was good to me and I received a Fitbit Charge 3 for Christmas - and the data has been a bonanza. </p> <p>In addition to tracking daily steps, the Fitbit also tracks my heart rate, automatically logs physical activities and even monitors my sleep stages.</p> <h3>Sleep Tracking</h3> <p>For the first time, I am able to quantify just how poorly I am sleeping - and it's alarming. The best evidence is that we should be getting seven to nine hours of sleep a night and that sleep deprivation, even minor, has a whole host of frightening health implications. To quote a <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5449130/">2017 paper</a> by Medic et al. published in <em>Nature and Science of Sleep</em>:</p> <blockquote> <p>Sleep disruption is associated with increased activity of the sympathetic nervous system and hypothalamic-pituitary-adrenal axis, metabolic effects, changes in circadian rhythms, and proinflammatory responses. In otherwise healthy adults, short-term consequences of sleep disruption include increased stress responsivity, somatic pain, reduced quality of life, emotional distress and mood disorders, and cognitive, memory, and performance deficits. ... Long-term consequences of sleep disruption in otherwise healthy individuals include hypertension, dyslipidemia, cardiovascular disease, weight-related issues, metabolic syndrome, type 2 diabetes mellitus, and colorectal cancer. All-cause mortality is also increased in men with sleep disturbances.</p> </blockquote> <p>Regular adequate sleep is one of the foundations of good health, along with a nutritious diet, regular physical activity and socioeconomic inclusion and stability. Insufficient sleep sabotages all of the benefits of the other determinants of health.</p> <p>How am I doing? Not great. </p> <p>Between December 26 and January 30, I have averaged just seven hours of sleep, which is at the very bottom edge of what is considered adequate. </p> <p>But seven hours is my <em>average</em>, which means I'm getting less than that around half the time. Of the 36 nights I've tracked so far, I have gotten more than seven hours on just 18 nights and less than seven the other 20. I have only gotten the recommended eight hours on four nights, or 11.11 percent of the total. </p> <p class="image"> <img src="/static/images/chart_hours_of_sleep.png" alt="Chart: Hours of Sleep, 2019-12-26 - 2019-01-30" title="Chart: Hours of Sleep, 2019-12-26 - 2019-01-30"><br> Chart: Hours of Sleep, 2019-12-26 - 2019-01-30</p> <h3>Squeezed Three Ways</h3> <p>My good night's sleep is being squeezed in three ways:</p> <ul> <li><p>First of all, my workday starts as 6:00 AM, so I need to wake up around 4:45-5:00 AM. That's unpleasantly early, and after all these years I've never really gotten fully accustomed to it. </p></li> <li><p>Second, at the other end of the day, I'm going to bed too late - usually not until 8:30 or 9:00 PM or even later. This is challenging because I want to spend as much time as I can with my family and that shared time doesn't usually start until we sit down for dinner at around 6:00 PM. </p></li> <li><p>Finally, as my sleep tracker has demonstrated, I'm taking a long time to fall asleep and then waking up several times during the night. </p></li> </ul> <p>Here's a fairly representative snapshot that shows all three constraints: on January 18, 2019, I slept a total of seven hours and 12 minutes, once you subtract the 23 times I woke up during the night, for a total of an hour and three minutes.</p> <p class="image"> <img src="/static/images/chart_sleep_cycles_2019_01_18.png" alt="Chart: Sleep Stages on January 18, 2019" title="Chart: Sleep Stages on January 18, 2019"><br> Chart: Sleep Stages on January 18, 2019</p> <p>I strongly suspect that my poor sleeping habits remain a significant drag on my health and a major suspect in the challenge I've had losing that last ten pounds and taking my fitness to the next level.</p> <p>So one of my major goals this year is to develop and maintain better sleep habits. I look forward to writing more about that in a subsequent post.</p> Ryan McGreal 2 http://quandyfactory.com/blog/206/ask_attorney_general_to_defend_rule_of_law 2018-10-13T12:00:00Z Ask Attorney General to Defend Rule of Law <p>Please consider <a href="mailto:caroline.mulroney@pc.ola.org">sending a letter to Caroline Mulroney</a>, Attorney General of Ontario, calling on her to defend the rule of law against the abuse of the premier. </p> <p>Here's the letter I just sent:</p> <hr /> <p>The Honourable Caroline Mulroney <br /> Attorney General <br /> Ministry of the Attorney General 720 Bay Street, 11th Floor <br /> Toronto, Ontario <br /> M7A 2S9</p> <p>Dear Minister:</p> <p>It is wholly inappropriate for Ontario Premier Doug Ford to invoke Section 33 of the Charter of Rights and Freedoms in order to ram through an unconstitutional ward redistricting in the midst of an ongoing municipal election campaign. </p> <p>Section 33 has never been invoked in Ontario's history, and this is an extraordinarily trifling and superficial pretext to wield the most severe and controversial tool our constitution allows. The fact that Premier Ford threatens to invoke S. 33 every time a judge overturns a piece of legislation that is found to be unconstitutional should alarm every Ontarian, and especially principled Progressive Conservatives.</p> <p>In addition, I urge you, as the Attorney General of Ontario, to defend vigorously the rule of law against political undermining. Premier Ford did your office a great insult and disservice when he falsely and slanderously accused the distinguished Superior Court Justice Edward Belobaba of putting partisanship ahead of his sworn duty to uphold the rights of Ontarians. </p> <p>You have a unique opportunity to do the right thing and defend the rule of law against this abuse. Please take the opportunity to distinguish yourself among the enablers of a Premier openly states his belief that his power should not be constrained by the fundamental legal rights of all Ontarians.</p> <p>Yours Very Truly,</p> <p>Ryan McGreal</p> Ryan McGreal 2 http://quandyfactory.com/blog/202/jordan_peterson_conspiracy_theory_generator 2018-06-15T12:00:00Z Jordan Peterson Conspiracy Theory Generator <p>Jordan Peterson is tedious. Like, really insufferably tedious. And yet his followers still somehow manage to make him seem reasonable by comparison. But stuff like this helps. Enjoy!</p> <script type="text/javascript"> var villains = [ 'Postmodern Neomarxists', 'Feminists (who secretly crave domination)', 'Leftist academics', 'Dangerous ideologues', 'Derrida and Foucault', 'Indoctrinated students', 'Social justice types', 'Radical trans activists', 'Politically correct PR departmnets', 'Actual Communists', 'The left', 'Millennials with a victimhood mentality' ]; var verb_phrases = [ 'are totally corrupting', 'have zero respect for', 'want to annihilate', 'assault the archetype of', 'don\'t bloody believe in', 'will quickly infect', 'unleash the Chaos Dragon of', 'dismiss and transgress', 'must be stopped from attacking', 'will make Gulags out of', 'feminize and weaken' ]; var favourite_things = [ 'the dominance hierarchy', 'the metaphorical substrate', 'Western values', 'the classical humanities', 'the individual', 'the Hero\'s journey', 'the fabric of Being', 'Solzhenitsyn\'s genius', 'Carl Jung\'s legacy', 'IQ testing\'s ability to determine achievement', 'the divine Logos', 'the inescapable tragedy and suffering of life', 'the humble lobster\'s quest' ]; var evil_weapons = [ 'murderous equity doctrine', 'dangerous egalitarian utopia', 'hatred of Objective Truth', 'compelled speech', 'group identity', 'Maoist pronouns', 'propaganda from "Frozen"', 'radical collectivism', 'lens of power for everything', 'disdain for Being', 'ideological bill C-16', 'low serotonin levels and poor posture', 'totalitarian ideology which I\'ve been studying for decades' ]; var ominous_conclusions = [ 'and we can\'t even have a conversation about it!', 'so just ask the Kulaks how that worked out.', 'and no one is talking about it!', 'as you can bloody well imagine!', 'just like Nietzsche prophesized.', 'so you should sign up for the Self Authoring site.', '[while still ignoring original question] so let me ask you this...', 'and you can be damn sure about that!' ]; function generate_sentence() { var sentence = villains[Math.floor(Math.random() * villains.length)] + ' ' + verb_phrases[Math.floor(Math.random() * verb_phrases.length)] + ' ' + favourite_things[Math.floor(Math.random() * favourite_things.length)] + ' ' + 'because of their ' + evil_weapons[Math.floor(Math.random() * evil_weapons.length)] + ', ' + ominous_conclusions[Math.floor(Math.random() * ominous_conclusions.length)]; document.getElementById('petersentence').innerText = sentence; return false; } </script> <p>Based on <a href="https://www.reddit.com/r/enoughpetersonspam/comments/8k3ld9/jordan_peterson_conspiracy_theory_starterpack/">this starterpack</a>.</p> <div style="text-align: center; margin: 1em;"><button type="button" id="generate" onclick="generate_sentence()" style="padding: .8em 1em; colour: darkgreen; background: #BCFEB4; font-size: 140%; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;">Generate Conspiracy!</button></p> <div id="petersentence" style="font-family: garamond, times new roman, serif; font-size: 240%; line-height: 140%; border: 2px solid #900C3F; padding: 1em; margin: 1em; color: #900C3F; background: #F6FFC1; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;"></div> Ryan McGreal 2 http://quandyfactory.com/blog/201/unofficial_ontario_2018_election_riding-by-riding_summary_table 2018-06-08T12:00:00Z Unofficial Ontario 2018 Election Riding-By-Riding Summary Table <table> <caption>Riding-by-Riding Summary</caption> <tr> <th>Riding</th> <th>Liberal</th> <th>PC</th> <th>NDP</th> <th>Green</tdh> <th>Other</th> <th>1st</th> <th>2nd</th> <th>Margin</th> </tr> <tr> <td>Ajax</td> <td>25.80%</td> <td>39.05%</td> <td>30.97%</td> <td>2.51%</td> <td>1.68%</td> <td>PC</td> <td>NDP</td> <td>8.08%</td> </tr> <tr> <td>Algoma-Manitoulin</td> <td>8.27%</td> <td>24.58%</td> <td>58.25%</td> <td>3.60%</td> <td>5.29%</td> <td>NDP</td> <td>PC</td> <td>33.67%</td> </tr> <tr> <td>Aurora-Oak Ridges-Richmond Hill</td> <td>21.60%</td> <td>56.03%</td> <td>18.04%</td> <td>2.66%</td> <td>1.68%</td> <td>PC</td> <td>Liberal</td> <td>34.44%</td> </tr> <tr> <td>Barrie-Innisfil</td> <td>12.52%</td> <td>49.99%</td> <td>28.59%</td> <td>7.19%</td> <td>1.71%</td> <td>PC</td> <td>NDP</td> <td>21.41%</td> </tr> <tr> <td>Barrie-Springwater-Oro-Medonte</td> <td>13.59%</td> <td>44.75%</td> <td>28.21%</td> <td>11.72%</td> <td>1.73%</td> <td>PC</td> <td>NDP</td> <td>16.53%</td> </tr> <tr> <td>Bay of Quinte</td> <td>14.88%</td> <td>48.05%</td> <td>31.83%</td> <td>3.43%</td> <td>1.82%</td> <td>PC</td> <td>NDP</td> <td>16.22%</td> </tr> <tr> <td>Beaches-East York</td> <td>27.01%</td> <td>18.44%</td> <td>48.21%</td> <td>4.26%</td> <td>2.08%</td> <td>NDP</td> <td>Liberal</td> <td>21.20%</td> </tr> <tr> <td>Brampton Centre</td> <td>17.34%</td> <td>38.11%</td> <td>38.37%</td> <td>3.13%</td> <td>3.05%</td> <td>NDP</td> <td>PC</td> <td>0.26%</td> </tr> <tr> <td>Brampton East</td> <td>16.62%</td> <td>33.61%</td> <td>46.85%</td> <td>1.33%</td> <td>1.59%</td> <td>NDP</td> <td>PC</td> <td>13.24%</td> </tr> <tr> <td>Brampton North</td> <td>21.22%</td> <td>36.29%</td> <td>37.55%</td> <td>3.45%</td> <td>1.49%</td> <td>NDP</td> <td>PC</td> <td>1.25%</td> </tr> <tr> <td>Brampton South</td> <td>18.89%</td> <td>41.01%</td> <td>33.85%</td> <td>3.86%</td> <td>2.39%</td> <td>PC</td> <td>NDP</td> <td>7.16%</td> </tr> <tr> <td>Brampton West</td> <td>18.47%</td> <td>39.39%</td> <td>38.09%</td> <td>2.63%</td> <td>1.41%</td> <td>PC</td> <td>NDP</td> <td>1.29%</td> </tr> <tr> <td>Brantford-Brant</td> <td>9.49%</td> <td>42.02%</td> <td>40.93%</td> <td>4.72%</td> <td>2.84%</td> <td>PC</td> <td>NDP</td> <td>1.08%</td> </tr> <tr> <td>Bruce-Grey-Owen Sound</td> <td>12.30%</td> <td>54.67%</td> <td>24.06%</td> <td>5.95%</td> <td>3.02%</td> <td>PC</td> <td>NDP</td> <td>30.60%</td> </tr> <tr> <td>Burlington</td> <td>24.60%</td> <td>40.44%</td> <td>28.64%</td> <td>4.48%</td> <td>1.83%</td> <td>PC</td> <td>NDP</td> <td>11.80%</td> </tr> <tr> <td>Cambridge</td> <td>23.25%</td> <td>36.97%</td> <td>32.49%</td> <td>6.27%</td> <td>1.02%</td> <td>PC</td> <td>NDP</td> <td>4.48%</td> </tr> <tr> <td>Carleton</td> <td>19.44%</td> <td>51.33%</td> <td>22.50%</td> <td>3.95%</td> <td>2.78%</td> <td>PC</td> <td>NDP</td> <td>28.83%</td> </tr> <tr> <td>Chatham-Kent-Leamington</td> <td>8.06%</td> <td>51.92%</td> <td>35.72%</td> <td>3.53%</td> <td>0.77%</td> <td>PC</td> <td>NDP</td> <td>16.20%</td> </tr> <tr> <td>Davenport</td> <td>18.67%</td> <td>16.09%</td> <td>60.26%</td> <td>3.55%</td> <td>1.43%</td> <td>NDP</td> <td>Liberal</td> <td>41.59%</td> </tr> <tr> <td>Don Valley East</td> <td>35.94%</td> <td>33.10%</td> <td>27.42%</td> <td>2.53%</td> <td>1.01%</td> <td>Liberal</td> <td>PC</td> <td>2.84%</td> </tr> <tr> <td>Don Valley North</td> <td>30.93%</td> <td>44.44%</td> <td>20.91%</td> <td>2.52%</td> <td>1.20%</td> <td>PC</td> <td>Liberal</td> <td>13.50%</td> </tr> <tr> <td>Don Valley West</td> <td>38.89%</td> <td>38.49%</td> <td>18.83%</td> <td>2.77%</td> <td>1.02%</td> <td>Liberal</td> <td>PC</td> <td>0.40%</td> </tr> <tr> <td>Dufferin-Caledon</td> <td>12.46%</td> <td>53.08%</td> <td>20.34%</td> <td>12.53%</td> <td>1.60%</td> <td>PC</td> <td>NDP</td> <td>32.74%</td> </tr> <tr> <td>Durham</td> <td>16.84%</td> <td>46.99%</td> <td>31.66%</td> <td>3.88%</td> <td>0.63%</td> <td>PC</td> <td>NDP</td> <td>15.33%</td> </tr> <tr> <td>Eglinton-Lawrence</td> <td>38.67%</td> <td>40.15%</td> <td>18.12%</td> <td>2.43%</td> <td>0.63%</td> <td>PC</td> <td>Liberal</td> <td>1.49%</td> </tr> <tr> <td>Elgin-Middlesex-London</td> <td>7.30%</td> <td>55.40%</td> <td>32.04%</td> <td>3.88%</td> <td>1.38%</td> <td>PC</td> <td>NDP</td> <td>23.36%</td> </tr> <tr> <td>Essex</td> <td>5.69%</td> <td>42.34%</td> <td>48.53%</td> <td>3.45%</td> <td>0.00%</td> <td>NDP</td> <td>PC</td> <td>6.19%</td> </tr> <tr> <td>Etobicoke Centre</td> <td>34.42%</td> <td>42.67%</td> <td>18.01%</td> <td>2.32%</td> <td>2.57%</td> <td>PC</td> <td>Liberal</td> <td>8.25%</td> </tr> <tr> <td>Etobicoke North</td> <td>18.20%</td> <td>52.54%</td> <td>25.39%</td> <td>2.73%</td> <td>1.14%</td> <td>PC</td> <td>NDP</td> <td>27.14%</td> </tr> <tr> <td>Etobicoke-Lakeshore</td> <td>24.28%</td> <td>38.37%</td> <td>32.84%</td> <td>3.63%</td> <td>0.87%</td> <td>PC</td> <td>NDP</td> <td>5.53%</td> </tr> <tr> <td>Flamborough-Glanbrook</td> <td>15.44%</td> <td>43.53%</td> <td>34.17%</td> <td>4.47%</td> <td>2.38%</td> <td>PC</td> <td>NDP</td> <td>9.35%</td> </tr> <tr> <td>Glengarry-Prescott-Russell</td> <td>31.68%</td> <td>40.96%</td> <td>21.78%</td> <td>2.93%</td> <td>2.66%</td> <td>PC</td> <td>Liberal</td> <td>9.28%</td> </tr> <tr> <td>Guelph</td> <td>10.12%</td> <td>21.81%</td> <td>21.57%</td> <td>45.04%</td> <td>1.46%</td> <td>Green</td> <td>PC</td> <td>23.23%</td> </tr> <tr> <td>Haldimand-Norfolk</td> <td>9.20%</td> <td>57.10%</td> <td>26.90%</td> <td>4.14%</td> <td>2.66%</td> <td>PC</td> <td>NDP</td> <td>30.20%</td> </tr> <tr> <td>Haliburton-Kawartha Lakes-Brock</td> <td>9.90%</td> <td>56.73%</td> <td>26.46%</td> <td>4.50%</td> <td>2.42%</td> <td>PC</td> <td>NDP</td> <td>30.27%</td> </tr> <tr> <td>Hamilton Centre</td> <td>10.88%</td> <td>15.67%</td> <td>65.25%</td> <td>5.75%</td> <td>2.46%</td> <td>NDP</td> <td>PC</td> <td>49.59%</td> </tr> <tr> <td>Hamilton East-Stoney Creek</td> <td>12.10%</td> <td>28.74%</td> <td>51.23%</td> <td>4.26%</td> <td>3.67%</td> <td>NDP</td> <td>PC</td> <td>22.48%</td> </tr> <tr> <td>Hamilton Mountain</td> <td>9.24%</td> <td>28.83%</td> <td>54.58%</td> <td>5.14%</td> <td>2.20%</td> <td>NDP</td> <td>PC</td> <td>25.75%</td> </tr> <tr> <td>Hamilton West-Ancaster-Dundas</td> <td>19.79%</td> <td>31.03%</td> <td>43.18%</td> <td>4.16%</td> <td>1.84%</td> <td>NDP</td> <td>PC</td> <td>12.15%</td> </tr> <tr> <td>Hastings-Lennox and Addington</td> <td>11.49%</td> <td>50.30%</td> <td>32.12%</td> <td>4.24%</td> <td>1.84%</td> <td>PC</td> <td>NDP</td> <td>18.17%</td> </tr> <tr> <td>Humber River-Black Creek</td> <td>27.93%</td> <td>30.28%</td> <td>37.41%</td> <td>1.57%</td> <td>2.81%</td> <td>NDP</td> <td>PC</td> <td>7.13%</td> </tr> <tr> <td>Huron-Bruce</td> <td>13.93%</td> <td>52.36%</td> <td>29.03%</td> <td>3.42%</td> <td>1.27%</td> <td>PC</td> <td>NDP</td> <td>23.33%</td> </tr> <tr> <td>Kanata-Carleton</td> <td>17.19%</td> <td>43.57%</td> <td>28.61%</td> <td>5.33%</td> <td>5.30%</td> <td>PC</td> <td>NDP</td> <td>14.96%</td> </tr> <tr> <td>Kenora-Rainy River</td> <td>10.57%</td> <td>48.38%</td> <td>37.45%</td> <td>3.60%</td> <td>0.00%</td> <td>PC</td> <td>NDP</td> <td>10.93%</td> </tr> <tr> <td>Kiiwetinoong</td> <td>15.21%</td> <td>26.99%</td> <td>50.11%</td> <td>6.28%</td> <td>1.41%</td> <td>NDP</td> <td>PC</td> <td>23.12%</td> </tr> <tr> <td>King-Vaughan</td> <td>23.34%</td> <td>56.62%</td> <td>15.39%</td> <td>3.41%</td> <td>1.24%</td> <td>PC</td> <td>Liberal</td> <td>33.28%</td> </tr> <tr> <td>Kingston and the Islands</td> <td>27.48%</td> <td>25.95%</td> <td>39.28%</td> <td>6.48%</td> <td>0.82%</td> <td>NDP</td> <td>Liberal</td> <td>11.80%</td> </tr> <tr> <td>Kitchener Centre</td> <td>20.10%</td> <td>27.65%</td> <td>43.39%</td> <td>6.84%</td> <td>2.02%</td> <td>NDP</td> <td>PC</td> <td>15.74%</td> </tr> <tr> <td>Kitchener South-Hespeler</td> <td>14.91%</td> <td>38.86%</td> <td>37.05%</td> <td>7.53%</td> <td>1.64%</td> <td>PC</td> <td>NDP</td> <td>1.81%</td> </tr> <tr> <td>Kitchener-Conestoga</td> <td>14.06%</td> <td>39.63%</td> <td>38.03%</td> <td>6.51%</td> <td>1.78%</td> <td>PC</td> <td>NDP</td> <td>1.60%</td> </tr> <tr> <td>Lambton-Kent-Middlesex</td> <td>6.23%</td> <td>55.34%</td> <td>33.33%</td> <td>3.29%</td> <td>1.81%</td> <td>PC</td> <td>NDP</td> <td>22.01%</td> </tr> <tr> <td>Lanark-Frontenac-Kingston</td> <td>10.64%</td> <td>52.02%</td> <td>30.48%</td> <td>4.79%</td> <td>2.07%</td> <td>PC</td> <td>NDP</td> <td>21.54%</td> </tr> <tr> <td>Leeds-Grenville-Thousand Islands and Rideau Lakes</td> <td>13.37%</td> <td>61.29%</td> <td>19.76%</td> <td>4.80%</td> <td>0.79%</td> <td>PC</td> <td>NDP</td> <td>41.53%</td> </tr> <tr> <td>London North Centre</td> <td>15.71%</td> <td>30.86%</td> <td>47.60%</td> <td>4.61%</td> <td>1.22%</td> <td>NDP</td> <td>PC</td> <td>16.74%</td> </tr> <tr> <td>London West</td> <td>9.91%</td> <td>29.04%</td> <td>55.33%</td> <td>3.75%</td> <td>1.97%</td> <td>NDP</td> <td>PC</td> <td>26.29%</td> </tr> <tr> <td>London-Fanshawe</td> <td>8.37%</td> <td>29.78%</td> <td>55.68%</td> <td>4.52%</td> <td>1.66%</td> <td>NDP</td> <td>PC</td> <td>25.89%</td> </tr> <tr> <td>Markham-Stouffville</td> <td>26.01%</td> <td>48.12%</td> <td>20.42%</td> <td>4.00%</td> <td>1.44%</td> <td>PC</td> <td>Liberal</td> <td>22.11%</td> </tr> <tr> <td>Markham-Thornhill</td> <td>24.40%</td> <td>50.45%</td> <td>21.33%</td> <td>2.29%</td> <td>1.53%</td> <td>PC</td> <td>Liberal</td> <td>26.05%</td> </tr> <tr> <td>Markham-Unionville</td> <td>18.01%</td> <td>62.44%</td> <td>16.57%</td> <td>2.12%</td> <td>0.86%</td> <td>PC</td> <td>Liberal</td> <td>44.42%</td> </tr> <tr> <td>Milton</td> <td>29.82%</td> <td>41.65%</td> <td>22.23%</td> <td>5.04%</td> <td>1.26%</td> <td>PC</td> <td>Liberal</td> <td>11.82%</td> </tr> <tr> <td>Mississauga Centre</td> <td>25.40%</td> <td>40.86%</td> <td>27.56%</td> <td>2.63%</td> <td>3.55%</td> <td>PC</td> <td>NDP</td> <td>13.30%</td> </tr> <tr> <td>Mississauga East-Cooksville</td> <td>30.23%</td> <td>41.15%</td> <td>22.74%</td> <td>3.45%</td> <td>2.42%</td> <td>PC</td> <td>Liberal</td> <td>10.93%</td> </tr> <tr> <td>Mississauga-Erin Mills</td> <td>25.30%</td> <td>41.70%</td> <td>27.59%</td> <td>2.74%</td> <td>2.67%</td> <td>PC</td> <td>NDP</td> <td>14.11%</td> </tr> <tr> <td>Mississauga-Lakeshore</td> <td>35.01%</td> <td>42.31%</td> <td>18.34%</td> <td>2.95%</td> <td>1.39%</td> <td>PC</td> <td>Liberal</td> <td>7.30%</td> </tr> <tr> <td>Mississauga-Malton</td> <td>20.78%</td> <td>39.14%</td> <td>32.85%</td> <td>1.79%</td> <td>5.43%</td> <td>PC</td> <td>NDP</td> <td>6.28%</td> </tr> <tr> <td>Mississauga-Streetsville</td> <td>25.74%</td> <td>43.53%</td> <td>25.84%</td> <td>2.81%</td> <td>2.08%</td> <td>PC</td> <td>NDP</td> <td>17.69%</td> </tr> <tr> <td>Mushkegowuk-James Bay</td> <td>14.14%</td> <td>30.16%</td> <td>51.76%</td> <td>1.78%</td> <td>2.16%</td> <td>NDP</td> <td>PC</td> <td>21.61%</td> </tr> <tr> <td>Nepean</td> <td>19.62%</td> <td>45.20%</td> <td>28.55%</td> <td>5.06%</td> <td>1.56%</td> <td>PC</td> <td>NDP</td> <td>16.65%</td> </tr> <tr> <td>Newmarket-Aurora</td> <td>23.00%</td> <td>47.34%</td> <td>23.88%</td> <td>3.63%</td> <td>2.14%</td> <td>PC</td> <td>NDP</td> <td>23.46%</td> </tr> <tr> <td>Niagara Centre</td> <td>11.79%</td> <td>37.53%</td> <td>44.25%</td> <td>3.69%</td> <td>2.74%</td> <td>NDP</td> <td>PC</td> <td>6.72%</td> </tr> <tr> <td>Niagara Falls</td> <td>9.35%</td> <td>35.58%</td> <td>50.79%</td> <td>3.46%</td> <td>0.81%</td> <td>NDP</td> <td>PC</td> <td>15.22%</td> </tr> <tr> <td>Niagara West</td> <td>10.68%</td> <td>52.74%</td> <td>29.75%</td> <td>5.58%</td> <td>1.25%</td> <td>PC</td> <td>NDP</td> <td>22.98%</td> </tr> <tr> <td>Nickel Belt</td> <td>8.73%</td> <td>21.99%</td> <td>63.50%</td> <td>3.12%</td> <td>2.67%</td> <td>NDP</td> <td>PC</td> <td>41.51%</td> </tr> <tr> <td>Nipissing</td> <td>7.93%</td> <td>49.93%</td> <td>36.87%</td> <td>2.83%</td> <td>2.44%</td> <td>PC</td> <td>NDP</td> <td>13.06%</td> </tr> <tr> <td>Northumberland-Peterborough South</td> <td>24.17%</td> <td>45.33%</td> <td>24.50%</td> <td>4.52%</td> <td>1.47%</td> <td>PC</td> <td>NDP</td> <td>20.83%</td> </tr> <tr> <td>Oakville</td> <td>35.76%</td> <td>43.72%</td> <td>16.49%</td> <td>3.51%</td> <td>0.52%</td> <td>PC</td> <td>Liberal</td> <td>7.95%</td> </tr> <tr> <td>Oakville North-Burlington</td> <td>24.40%</td> <td>46.40%</td> <td>24.38%</td> <td>3.69%</td> <td>1.12%</td> <td>PC</td> <td>Liberal</td> <td>22.01%</td> </tr> <tr> <td>Orleans</td> <td>39.05%</td> <td>35.20%</td> <td>21.94%</td> <td>2.51%</td> <td>1.30%</td> <td>Liberal</td> <td>PC</td> <td>3.85%</td> </tr> <tr> <td>Oshawa</td> <td>7.89%</td> <td>41.84%</td> <td>44.80%</td> <td>3.61%</td> <td>1.87%</td> <td>NDP</td> <td>PC</td> <td>2.96%</td> </tr> <tr> <td>Ottawa Centre</td> <td>32.77%</td> <td>16.05%</td> <td>46.07%</td> <td>3.52%</td> <td>1.59%</td> <td>NDP</td> <td>Liberal</td> <td>13.30%</td> </tr> <tr> <td>Ottawa South</td> <td>39.64%</td> <td>29.22%</td> <td>27.18%</td> <td>3.09%</td> <td>0.87%</td> <td>Liberal</td> <td>PC</td> <td>10.42%</td> </tr> <tr> <td>Ottawa West-Nepean</td> <td>29.30%</td> <td>32.82%</td> <td>32.48%</td> <td>3.83%</td> <td>1.57%</td> <td>PC</td> <td>NDP</td> <td>0.35%</td> </tr> <tr> <td>Ottawa-Vanier</td> <td>42.86%</td> <td>21.38%</td> <td>29.68%</td> <td>4.07%</td> <td>2.01%</td> <td>Liberal</td> <td>NDP</td> <td>13.19%</td> </tr> <tr> <td>Oxford</td> <td>6.92%</td> <td>55.74%</td> <td>30.43%</td> <td>4.30%</td> <td>2.62%</td> <td>PC</td> <td>NDP</td> <td>25.30%</td> </tr> <tr> <td>Parkdale-High Park</td> <td>16.98%</td> <td>18.01%</td> <td>59.42%</td> <td>4.66%</td> <td>0.93%</td> <td>NDP</td> <td>PC</td> <td>41.41%</td> </tr> <tr> <td>Parry Sound-Muskoka</td> <td>8.63%</td> <td>48.06%</td> <td>22.04%</td> <td>20.02%</td> <td>1.24%</td> <td>PC</td> <td>NDP</td> <td>26.02%</td> </tr> <tr> <td>Perth-Wellington</td> <td>10.81%</td> <td>50.67%</td> <td>30.71%</td> <td>5.86%</td> <td>1.95%</td> <td>PC</td> <td>NDP</td> <td>19.96%</td> </tr> <tr> <td>Peterborough-Kawartha</td> <td>24.57%</td> <td>37.50%</td> <td>33.92%</td> <td>3.36%</td> <td>0.65%</td> <td>PC</td> <td>NDP</td> <td>3.59%</td> </tr> <tr> <td>Pickering-Uxbridge</td> <td>20.40%</td> <td>42.20%</td> <td>32.01%</td> <td>3.96%</td> <td>1.43%</td> <td>PC</td> <td>NDP</td> <td>10.19%</td> </tr> <tr> <td>Renfrew-Nipissing-Pembroke</td> <td>9.75%</td> <td>69.19%</td> <td>16.73%</td> <td>2.98%</td> <td>1.34%</td> <td>PC</td> <td>NDP</td> <td>52.46%</td> </tr> <tr> <td>Richmond Hill</td> <td>27.92%</td> <td>51.24%</td> <td>17.27%</td> <td>2.88%</td> <td>0.69%</td> <td>PC</td> <td>Liberal</td> <td>23.32%</td> </tr> <tr> <td>Sarnia-Lambton</td> <td>4.38%</td> <td>52.76%</td> <td>37.40%</td> <td>3.65%</td> <td>1.81%</td> <td>PC</td> <td>NDP</td> <td>15.36%</td> </tr> <tr> <td>Sault Ste. Marie</td> <td>9.96%</td> <td>42.03%</td> <td>40.74%</td> <td>3.25%</td> <td>4.02%</td> <td>PC</td> <td>NDP</td> <td>1.29%</td> </tr> <tr> <td>Scarborough Centre</td> <td>22.21%</td> <td>38.42%</td> <td>33.33%</td> <td>2.31%</td> <td>3.73%</td> <td>PC</td> <td>NDP</td> <td>5.09%</td> </tr> <tr> <td>Scarborough North</td> <td>22.44%</td> <td>50.17%</td> <td>24.83%</td> <td>1.62%</td> <td>0.95%</td> <td>PC</td> <td>NDP</td> <td>25.34%</td> </tr> <tr> <td>Scarborough Southwest</td> <td>18.93%</td> <td>31.32%</td> <td>45.51%</td> <td>2.64%</td> <td>1.60%</td> <td>NDP</td> <td>PC</td> <td>14.19%</td> </tr> <tr> <td>Scarborough-Agincourt</td> <td>28.32%</td> <td>50.37%</td> <td>17.44%</td> <td>1.72%</td> <td>2.14%</td> <td>PC</td> <td>Liberal</td> <td>22.05%</td> </tr> <tr> <td>Scarborough-Guildwood</td> <td>33.35%</td> <td>33.12%</td> <td>27.62%</td> <td>2.44%</td> <td>3.46%</td> <td>Liberal</td> <td>PC</td> <td>0.23%</td> </tr> <tr> <td>Scarborough-Rouge Park</td> <td>20.91%</td> <td>38.61%</td> <td>36.32%</td> <td>2.41%</td> <td>1.74%</td> <td>PC</td> <td>NDP</td> <td>2.29%</td> </tr> <tr> <td>Simcoe North</td> <td>17.73%</td> <td>46.95%</td> <td>28.09%</td> <td>6.65%</td> <td>0.58%</td> <td>PC</td> <td>NDP</td> <td>18.86%</td> </tr> <tr> <td>Simcoe-Grey</td> <td>14.39%</td> <td>55.93%</td> <td>22.06%</td> <td>6.88%</td> <td>0.74%</td> <td>PC</td> <td>NDP</td> <td>33.88%</td> </tr> <tr> <td>Spadina-Fort York</td> <td>23.69%</td> <td>21.71%</td> <td>49.67%</td> <td>3.66%</td> <td>1.28%</td> <td>NDP</td> <td>Liberal</td> <td>25.98%</td> </tr> <tr> <td>St. Catharines</td> <td>24.53%</td> <td>33.60%</td> <td>36.61%</td> <td>3.72%</td> <td>1.53%</td> <td>NDP</td> <td>PC</td> <td>3.02%</td> </tr> <tr> <td>Stormont-Dundas-South Glengarry</td> <td>12.37%</td> <td>61.51%</td> <td>21.63%</td> <td>3.67%</td> <td>0.83%</td> <td>PC</td> <td>NDP</td> <td>39.88%</td> </tr> <tr> <td>Sudbury</td> <td>22.43%</td> <td>23.20%</td> <td>48.09%</td> <td>4.16%</td> <td>2.12%</td> <td>NDP</td> <td>PC</td> <td>24.88%</td> </tr> <tr> <td>Thornhill</td> <td>14.78%</td> <td>61.13%</td> <td>19.33%</td> <td>2.21%</td> <td>2.56%</td> <td>PC</td> <td>NDP</td> <td>41.80%</td> </tr> <tr> <td>Thunder Bay-Atikokan</td> <td>36.01%</td> <td>23.22%</td> <td>36.26%</td> <td>2.71%</td> <td>1.80%</td> <td>NDP</td> <td>Liberal</td> <td>0.25%</td> </tr> <tr> <td>Thunder Bay-Superior North</td> <td>39.86%</td> <td>17.96%</td> <td>37.14%</td> <td>2.79%</td> <td>2.25%</td> <td>Liberal</td> <td>NDP</td> <td>2.73%</td> </tr> <tr> <td>Timiskaming-Cochrane</td> <td>8.95%</td> <td>22.45%</td> <td>61.24%</td> <td>2.63%</td> <td>4.72%</td> <td>NDP</td> <td>PC</td> <td>38.79%</td> </tr> <tr> <td>Timmins</td> <td>8.81%</td> <td>29.64%</td> <td>57.43%</td> <td>1.75%</td> <td>2.37%</td> <td>NDP</td> <td>PC</td> <td>27.79%</td> </tr> <tr> <td>Toronto Centre</td> <td>27.15%</td> <td>14.12%</td> <td>53.66%</td> <td>3.12%</td> <td>1.94%</td> <td>NDP</td> <td>Liberal</td> <td>26.51%</td> </tr> <tr> <td>Toronto-Danforth</td> <td>14.07%</td> <td>15.86%</td> <td>64.25%</td> <td>4.38%</td> <td>1.44%</td> <td>NDP</td> <td>PC</td> <td>48.39%</td> </tr> <tr> <td>Toronto-St. Paul's</td> <td>33.39%</td> <td>26.30%</td> <td>35.96%</td> <td>3.23%</td> <td>1.13%</td> <td>NDP</td> <td>Liberal</td> <td>2.57%</td> </tr> <tr> <td>University-Rosedale</td> <td>22.06%</td> <td>21.11%</td> <td>49.66%</td> <td>5.37%</td> <td>1.81%</td> <td>NDP</td> <td>Liberal</td> <td>27.60%</td> </tr> <tr> <td>Vaughan-Woodbridge</td> <td>32.00%</td> <td>50.50%</td> <td>14.56%</td> <td>2.26%</td> <td>0.68%</td> <td>PC</td> <td>Liberal</td> <td>18.50%</td> </tr> <tr> <td>Waterloo</td> <td>12.16%</td> <td>31.38%</td> <td>50.49%</td> <td>4.83%</td> <td>1.14%</td> <td>NDP</td> <td>PC</td> <td>19.12%</td> </tr> <tr> <td>Wellington-Halton Hills</td> <td>12.78%</td> <td>54.00%</td> <td>24.03%</td> <td>8.64%</td> <td>0.55%</td> <td>PC</td> <td>NDP</td> <td>29.97%</td> </tr> <tr> <td>Whitby</td> <td>12.99%</td> <td>46.29%</td> <td>35.96%</td> <td>3.42%</td> <td>1.34%</td> <td>PC</td> <td>NDP</td> <td>10.33%</td> </tr> <tr> <td>Willowdale</td> <td>26.65%</td> <td>43.69%</td> <td>25.68%</td> <td>2.30%</td> <td>1.69%</td> <td>PC</td> <td>Liberal</td> <td>17.04%</td> </tr> <tr> <td>Windsor West</td> <td>14.80%</td> <td>28.44%</td> <td>52.07%</td> <td>3.58%</td> <td>1.12%</td> <td>NDP</td> <td>PC</td> <td>23.63%</td> </tr> <tr> <td>Windsor-Tecumseh</td> <td>8.14%</td> <td>27.04%</td> <td>58.41%</td> <td>4.42%</td> <td>2.00%</td> <td>NDP</td> <td>PC</td> <td>31.37%</td> </tr> <tr> <td>York Centre</td> <td>21.39%</td> <td>50.15%</td> <td>23.44%</td> <td>2.29%</td> <td>2.73%</td> <td>PC</td> <td>NDP</td> <td>26.70%</td> </tr> <tr> <td>York South-Weston</td> <td>27.83%</td> <td>32.95%</td> <td>36.08%</td> <td>2.53%</td> <td>0.62%</td> <td>NDP</td> <td>PC</td> <td>3.13%</td> </tr> <tr> <td>York-Simcoe</td> <td>13.59%</td> <td>57.26%</td> <td>23.42%</td> <td>4.82%</td> <td>0.91%</td> <td>PC</td> <td>NDP</td> <td>33.84%</td> </tr> </tbody> </table> Ryan McGreal 2 http://quandyfactory.com/blog/200/ontario_election_2018:_winnable_ridings_via_strategic_voting 2018-06-05T12:00:00Z Ontario Election 2018: Winnable Ridings via Strategic Voting <p>I downloaded the latest dataset from <a href="http://www.tooclosetocall.ca/">tooclosetocall.ca</a> and added some flags to the rows to indicate which ridings are winnable through strategic voting.</p> <p>How to read this table:</p> <p>Each row is an Ontario riding. The four columns after the riding name are the riding-level support for each party. The next column, "NDP Lead", indicates whether the NDP is leading (1) or not (0). The "PC Lead" column indicates whether the PC Party is leading. the "NDP 2nd" column indicates whether the NDP is in second place. </p> <p>The last column, "Winnable", indicates either that the NDP is leading or that the combined NDP + Liberal + Green support is higher than the PC support.</p> <p>If you are considering voting strategically, look up your riding. If the PC Lead is 1 and the Winnable column is 1, this is a riding where strategic voting makes sense. Check which party is in second place and consider casting your vote for that party's candidate as the best option to defeat the PC candidate.</p> <p>Examples:</p> <p><strong>Bay of Quinte</strong>: the PC candidate is in the lead with 44.8% support. The NDP candidate has 32.6% and the Liberal candidate has 17.2%. Liberal- and Green-leaning voters in this riding who want to defeat the PC candidate should consider voting NDP.</p> <p><strong>Don Valley West</strong>: the PC candidate is in the lead with 40.3% support. The Liberal candidate has 32.6% and the NDP candidate has 23.4%. NDP- and Green-leaning voters in this riding who want to defeat the PC candidate should consider voting Liberal.</p> <p><em>Last Updated June 6, 2018.</em></p> <table> <caption>Winnable Ridings</caption> <tr> <th></th> <th></th> <th></th> <th></th> <th></th> <th>50</th> <th>68</th> <th>53</th> <th>110</th> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Ajax</td> <td>30.3%</td> <td>36.3%</td> <td>30.2%</td> <td>3.2%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Algoma-Manitoulin</td> <td>10.3%</td> <td>23.0%</td> <td>63.5%</td> <td>3.3%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Aurora-Oak Ridges-Richmond Hill</td> <td>26.0%</td> <td>45.7%</td> <td>24.6%</td> <td>3.7%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Barrie-Innisfil</td> <td>20.3%</td> <td>44.0%</td> <td>29.7%</td> <td>6.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Barrie-Springwater-Oro-Medonte</td> <td>19.6%</td> <td>45.0%</td> <td>28.3%</td> <td>7.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Bay of Quinte</td> <td>20.0%</td> <td>44.4%</td> <td>30.3%</td> <td>5.3%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Beaches-East York</td> <td>21.6%</td> <td>20.3%</td> <td>52.4%</td> <td>5.6%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Brampton Centre</td> <td>20.4%</td> <td>32.2%</td> <td>41.3%</td> <td>6.1%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Brampton East</td> <td>14.9%</td> <td>19.6%</td> <td>63.4%</td> <td>2.1%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Brampton North</td> <td>21.6%</td> <td>31.1%</td> <td>43.7%</td> <td>3.6%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Brampton South</td> <td>25.8%</td> <td>34.4%</td> <td>36.3%</td> <td>3.4%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Brampton West</td> <td>26.7%</td> <td>30.2%</td> <td>40.5%</td> <td>2.6%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Brantford-Brant</td> <td>16.5%</td> <td>38.5%</td> <td>40.7%</td> <td>4.3%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Bruce-Grey-Owen Sound</td> <td>9.8%</td> <td>52.6%</td> <td>28.7%</td> <td>8.8%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Burlington</td> <td>23.9%</td> <td>43.8%</td> <td>28.1%</td> <td>4.3%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Cambridge</td> <td>22.0%</td> <td>39.1%</td> <td>33.0%</td> <td>5.9%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Carleton</td> <td>16.0%</td> <td>54.3%</td> <td>23.8%</td> <td>5.9%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Chatham-Kent-Leamington</td> <td>4.8%</td> <td>42.0%</td> <td>47.8%</td> <td>5.4%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Davenport</td> <td>25.7%</td> <td>14.2%</td> <td>54.8%</td> <td>5.3%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Don Valley East</td> <td>35.6%</td> <td>32.7%</td> <td>28.0%</td> <td>3.8%</td> <td>0</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Don Valley North</td> <td>30.3%</td> <td>40.0%</td> <td>26.0%</td> <td>3.7%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Don Valley West</td> <td>33.3%</td> <td>40.4%</td> <td>22.7%</td> <td>3.5%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Dufferin-Caledon</td> <td>15.0%</td> <td>44.2%</td> <td>24.6%</td> <td>16.2%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Durham</td> <td>16.4%</td> <td>39.1%</td> <td>40.4%</td> <td>4.1%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Eglinton-Lawrence</td> <td>32.0%</td> <td>41.6%</td> <td>23.0%</td> <td>3.4%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Elgin-Middlesex-London</td> <td>1.0%</td> <td>52.5%</td> <td>41.4%</td> <td>5.1%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Essex</td> <td>0.0%</td> <td>25.5%</td> <td>71.0%</td> <td>3.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Etobicoke Centre</td> <td>28.6%</td> <td>41.0%</td> <td>27.4%</td> <td>3.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Etobicoke-Lakeshore</td> <td>26.9%</td> <td>41.4%</td> <td>27.4%</td> <td>4.4%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Etobicoke North</td> <td>22.7%</td> <td>39.8%</td> <td>35.1%</td> <td>2.4%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Flamborough-Glanbrook</td> <td>16.3%</td> <td>41.6%</td> <td>37.1%</td> <td>5.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Glengarry-Prescott-Russell</td> <td>32.3%</td> <td>37.9%</td> <td>26.2%</td> <td>3.6%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Guelph</td> <td>10.1%</td> <td>28.5%</td> <td>29.3%</td> <td>32.0%</td> <td>0</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Haldimand-Norfolk</td> <td>5.4%</td> <td>56.4%</td> <td>33.1%</td> <td>5.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Haliburton-Kawartha Lakes-Brock</td> <td>18.0%</td> <td>45.2%</td> <td>32.4%</td> <td>4.4%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Hamilton Centre</td> <td>4.5%</td> <td>16.8%</td> <td>69.2%</td> <td>9.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Hamilton East-Stoney Creek</td> <td>12.6%</td> <td>22.4%</td> <td>60.8%</td> <td>4.2%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Hamilton Mountain</td> <td>10.7%</td> <td>21.7%</td> <td>63.1%</td> <td>4.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Hamilton West-Ancaster-Dundas</td> <td>23.7%</td> <td>31.5%</td> <td>39.4%</td> <td>5.4%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Hastings-Lennox and Addington</td> <td>12.7%</td> <td>45.3%</td> <td>35.9%</td> <td>6.1%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Humber River-Black Creek</td> <td>23.0%</td> <td>19.7%</td> <td>55.5%</td> <td>1.8%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Huron-Bruce</td> <td>12.2%</td> <td>45.2%</td> <td>38.8%</td> <td>3.7%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Kanata-Carleton</td> <td>21.0%</td> <td>46.7%</td> <td>25.2%</td> <td>7.2%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Kenora-Rainy River</td> <td>8.6%</td> <td>38.6%</td> <td>49.7%</td> <td>3.1%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Kiiwetinoong</td> <td>4.3%</td> <td>17.3%</td> <td>74.5%</td> <td>3.8%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Kingston and the Islands</td> <td>21.8%</td> <td>26.9%</td> <td>43.4%</td> <td>7.9%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>King-Vaughan</td> <td>30.2%</td> <td>40.5%</td> <td>26.1%</td> <td>3.3%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Kitchener Centre</td> <td>23.3%</td> <td>32.0%</td> <td>38.1%</td> <td>6.7%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Kitchener-Conestoga</td> <td>20.1%</td> <td>41.7%</td> <td>31.5%</td> <td>6.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Kitchener South-Hespeler</td> <td>20.1%</td> <td>38.8%</td> <td>34.5%</td> <td>6.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Lambton-Kent-Middlesex</td> <td>1.2%</td> <td>51.6%</td> <td>42.4%</td> <td>4.9%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Lanark-Frontenac-Kingston</td> <td>9.2%</td> <td>52.4%</td> <td>31.1%</td> <td>7.3%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Leeds-Grenville-1000 Islands & Rideau Lakes</td> <td>3.3%</td> <td>61.4%</td> <td>30.1%</td> <td>5.2%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>London-Fanshawe</td> <td>1.2%</td> <td>28.4%</td> <td>66.1%</td> <td>4.3%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>London North Centre</td> <td>10.1%</td> <td>35.6%</td> <td>48.6%</td> <td>5.6%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>London West</td> <td>4.6%</td> <td>35.2%</td> <td>55.9%</td> <td>4.2%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Markham-Stouffville</td> <td>28.0%</td> <td>41.9%</td> <td>26.2%</td> <td>3.9%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Markham-Thornhill</td> <td>30.0%</td> <td>42.9%</td> <td>24.5%</td> <td>2.6%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Markham-Unionville</td> <td>21.1%</td> <td>49.5%</td> <td>25.3%</td> <td>4.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Milton</td> <td>23.7%</td> <td>44.5%</td> <td>28.1%</td> <td>3.8%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Mississauga Centre</td> <td>30.7%</td> <td>34.8%</td> <td>31.2%</td> <td>3.3%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Mississauga East-Cooksville</td> <td>29.6%</td> <td>36.5%</td> <td>29.9%</td> <td>4.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Mississauga-Erin Mills</td> <td>29.0%</td> <td>38.1%</td> <td>30.2%</td> <td>2.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Mississauga-Lakeshore</td> <td>29.3%</td> <td>41.7%</td> <td>25.6%</td> <td>3.5%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Mississauga-Malton</td> <td>29.9%</td> <td>32.5%</td> <td>34.4%</td> <td>3.1%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Mississauga-Streetsville</td> <td>29.9%</td> <td>37.5%</td> <td>28.3%</td> <td>4.2%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Mushkegowuk-James Bay</td> <td>16.0%</td> <td>13.1%</td> <td>69.5%</td> <td>1.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Nepean</td> <td>23.4%</td> <td>45.5%</td> <td>25.4%</td> <td>5.7%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Newmarket-Aurora</td> <td>25.1%</td> <td>44.5%</td> <td>26.0%</td> <td>4.3%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Niagara Centre</td> <td>2.9%</td> <td>30.7%</td> <td>62.1%</td> <td>4.2%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Niagara Falls</td> <td>0.0%</td> <td>36.2%</td> <td>60.3%</td> <td>3.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Niagara West</td> <td>7.7%</td> <td>52.8%</td> <td>33.4%</td> <td>6.1%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Nickel Belt</td> <td>7.5%</td> <td>17.2%</td> <td>71.6%</td> <td>3.7%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Nipissing</td> <td>9.7%</td> <td>47.8%</td> <td>38.4%</td> <td>4.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Northumberland-Peterborough South</td> <td>21.7%</td> <td>42.2%</td> <td>31.6%</td> <td>4.5%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Oakville</td> <td>28.1%</td> <td>45.3%</td> <td>22.7%</td> <td>4.0%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Oakville North-Burlington</td> <td>26.0%</td> <td>44.3%</td> <td>26.1%</td> <td>3.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Orleans</td> <td>34.5%</td> <td>38.7%</td> <td>22.8%</td> <td>4.0%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Oshawa</td> <td>4.1%</td> <td>36.2%</td> <td>55.8%</td> <td>3.9%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Ottawa Centre</td> <td>34.3%</td> <td>22.8%</td> <td>34.2%</td> <td>8.7%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Ottawa South</td> <td>32.2%</td> <td>37.2%</td> <td>25.8%</td> <td>4.8%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Ottawa-Vanier</td> <td>38.2%</td> <td>27.3%</td> <td>28.7%</td> <td>5.8%</td> <td>0</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Ottawa West-Nepean</td> <td>28.1%</td> <td>38.1%</td> <td>27.1%</td> <td>6.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Oxford</td> <td>7.2%</td> <td>51.6%</td> <td>36.1%</td> <td>5.1%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Parkdale-High Park</td> <td>22.2%</td> <td>18.6%</td> <td>53.8%</td> <td>5.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Parry Sound-Muskoka</td> <td>9.0%</td> <td>45.6%</td> <td>26.0%</td> <td>19.4%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Perth-Wellington</td> <td>19.3%</td> <td>45.0%</td> <td>30.5%</td> <td>5.2%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Peterborough-Kawartha</td> <td>25.0%</td> <td>38.2%</td> <td>32.1%</td> <td>4.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Pickering-Uxbridge</td> <td>26.9%</td> <td>40.0%</td> <td>28.5%</td> <td>4.5%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Renfrew-Nipissing-Pembroke</td> <td>3.3%</td> <td>66.0%</td> <td>27.2%</td> <td>3.5%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Richmond Hill</td> <td>27.7%</td> <td>43.4%</td> <td>25.4%</td> <td>3.5%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Sarnia-Lambton</td> <td>0.0%</td> <td>45.3%</td> <td>50.0%</td> <td>4.7%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Sault Ste. Marie</td> <td>24.4%</td> <td>36.2%</td> <td>36.7%</td> <td>2.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Scarborough-Agincourt</td> <td>28.4%</td> <td>42.0%</td> <td>26.8%</td> <td>2.9%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Scarborough Centre</td> <td>29.0%</td> <td>30.4%</td> <td>37.1%</td> <td>3.4%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Scarborough-Guildwood</td> <td>29.2%</td> <td>35.7%</td> <td>32.0%</td> <td>3.1%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Scarborough North</td> <td>21.5%</td> <td>37.5%</td> <td>39.2%</td> <td>1.8%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Scarborough-Rouge Park</td> <td>27.4%</td> <td>31.9%</td> <td>38.2%</td> <td>2.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Scarborough Southwest</td> <td>28.9%</td> <td>28.4%</td> <td>38.2%</td> <td>4.4%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Simcoe-Grey</td> <td>13.0%</td> <td>51.9%</td> <td>27.1%</td> <td>8.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Simcoe North</td> <td>17.2%</td> <td>43.4%</td> <td>31.2%</td> <td>8.2%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Spadina-Fort York</td> <td>27.9%</td> <td>24.8%</td> <td>41.5%</td> <td>5.8%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>St. Catharines</td> <td>22.1%</td> <td>35.0%</td> <td>38.7%</td> <td>4.2%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Stormont-Dundas-South Glengarry</td> <td>4.3%</td> <td>58.5%</td> <td>34.3%</td> <td>3.0%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Sudbury</td> <td>24.1%</td> <td>25.1%</td> <td>46.9%</td> <td>3.8%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Thornhill</td> <td>25.5%</td> <td>50.3%</td> <td>21.7%</td> <td>2.5%</td> <td>0</td> <td>1</td> <td>0</td> <td>0</td> </tr> <tr> <td>Thunder Bay-Atikokan</td> <td>34.5%</td> <td>21.0%</td> <td>40.5%</td> <td>4.0%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Thunder Bay-Superior North</td> <td>37.7%</td> <td>14.7%</td> <td>43.3%</td> <td>4.3%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Timiskaming-Cochrane</td> <td>9.0%</td> <td>22.9%</td> <td>66.0%</td> <td>2.0%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Timmins</td> <td>6.1%</td> <td>36.7%</td> <td>55.1%</td> <td>2.1%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Toronto Centre</td> <td>37.9%</td> <td>20.4%</td> <td>36.3%</td> <td>5.4%</td> <td>0</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Toronto-Danforth</td> <td>20.8%</td> <td>15.9%</td> <td>57.8%</td> <td>5.5%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Toronto-St. Paul's</td> <td>35.7%</td> <td>32.2%</td> <td>26.4%</td> <td>5.7%</td> <td>0</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>University-Rosedale</td> <td>27.7%</td> <td>25.8%</td> <td>38.9%</td> <td>7.6%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Vaughan-Woodbridge</td> <td>35.5%</td> <td>35.9%</td> <td>26.1%</td> <td>2.5%</td> <td>0</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Waterloo</td> <td>15.5%</td> <td>32.2%</td> <td>47.2%</td> <td>5.1%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>Wellington-Halton Hills</td> <td>15.1%</td> <td>51.7%</td> <td>25.6%</td> <td>7.6%</td> <td>0</td> <td>1</td> <td>1</td> <td>0</td> </tr> <tr> <td>Whitby</td> <td>17.2%</td> <td>45.9%</td> <td>32.5%</td> <td>4.4%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>Willowdale</td> <td>30.4%</td> <td>39.3%</td> <td>26.1%</td> <td>4.2%</td> <td>0</td> <td>1</td> <td>0</td> <td>1</td> </tr> <tr> <td>Windsor-Tecumseh</td> <td>0.0%</td> <td>19.7%</td> <td>74.6%</td> <td>5.6%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <th>Riding</th> <th>OLP</th> <th>PC</th> <th>NDP</th> <th>Green</th> <th>NDP Lead</th> <th>PC Lead</th> <th>NDP 2nd</th> <th>Winnable</th> </tr> <tr> <td>Windsor West</td> <td>19.4%</td> <td>20.0%</td> <td>57.3%</td> <td>3.4%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>York Centre</td> <td>23.9%</td> <td>40.0%</td> <td>32.6%</td> <td>3.5%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> <tr> <td>York South-Weston</td> <td>27.3%</td> <td>18.1%</td> <td>52.0%</td> <td>2.7%</td> <td>1</td> <td>0</td> <td>0</td> <td>1</td> </tr> <tr> <td>York-Simcoe</td> <td>20.5%</td> <td>40.2%</td> <td>32.8%</td> <td>6.5%</td> <td>0</td> <td>1</td> <td>1</td> <td>1</td> </tr> </tbody> </table> Ryan McGreal 2 http://quandyfactory.com/human things/208/introduction_to_do_human_things 2017-11-30T12:00:00Z Introduction to Do Human Things <p>Despite living in the largest, most affluent civilization in the history of the human race, modern humans are angry, depressed, anxious and sick from an epidemic of chronic diseases. There are a number of theories to explain this, which point the finger variously at shifting cultural values, technological alienation, widespread personal moral failure, and so on. However, these elaborate theories might be overthinking things. </p> <p><strong><em>Perhaps we are miserable simply because we have gotten out of the habit of doing human things.</em></strong> It may really be that simple.</p> <h3>Uniquely Human Traits</h3> <p>All modern humans are members of <em>Homo sapiens</em>, a species of primate that emerged around 150,000 years ago and underwent a transformation in cognitive ability some 50,000 years ago. Humans share many traits with other primates, including being highly social, but there are several specific characteristics that, taken as a whole, are uniquely human.</p> <p>Humans stand upright on our hind legs and are very well-adapted to both long distance walking and endurance running. Humans consume a very wide omnivorous diet that includes plant leaves, stems, flowers, nuts, seeds, fruits, grasses, roots and tubers, as well as various edible mushrooms and fungi, insects, and the muscles and organs of animals.</p> <p>Humans have large brains that allow for abstract thought, complex communication and sophisticated, large-scale cooperation. Humans have hands with finger positioning and fine motor control that allows us to make and use various tools. Humans have an extraordinary capacity to create <em>culture</em> - a body of concepts, knowledge, techniques, artifacts and expressions that is shareable, combinable and extensible. </p> <p>Above all, humans are adaptable. In various combinations, our physical, cognitive, linguistic, cultural and social abilities have enabled us to live and even thrive in an extremely wide variety of different environments. In the past 50,000 years, _Homo sapiens _have spread out from a small region in sub-Saharan Africa to colonize and dominate every continent on earth: from sun-scorched deserts to arctic tundras, from grassy fields to forbidding mountains, from rain forests to oceanic islands, from river deltas to seashores. </p> <p>But all adaptations involve trade-offs. For example, bigger brains allow humans more cooperation and problem-solving, but they also require more energy to operate and make childbirth more difficult. On the cultural side, our inventions both give and take away. For example, shoes protect human feet from some kinds of injury but increase the risk of weak stabilizing muscles, collapsed arches and fungal infections.</p> <h3>Agricultural Revolution</h3> <p>For most of its existence, <em>Homo sapiens</em> were hunter-gatherers living in small, tight-knit nomadic communities. Starting around 12,000 years ago, an epochal cultural revolution took place: various groups of humans began to establish permanent settlements and to grow and tend their food supply, instead of foraging for it. </p> <p>This agricultural revolution brought about enormous changes in quality of life - and like all adaptations, it involved significant trade-offs. The humans who invented and adopted farming had a more reliable source of calories and were able to have more children, but the trade-off was much more physically demanding work and a much less varied diet.</p> <p>Within a few generations, humans who had adopted farming grew shorter, with smaller bones and clear signs of malnutrition. The shift to a diet heavy in starch from cereal grains resulted in an increase in cardiovascular and metabolic disorders. And the new ecological systems that farm life established fostered a tight feedback loop between humans and livestock animals that produced the ideal conditions for microbes to mutate rapidly, creating devastating new deadly infectious diseases that plagued agricultural settlements. </p> <p>Life expectancy declined dramatically, from 60-70 years among hunter-gatherers down to just half that for farmers. With permanent settlements, power hierarchies within human societies became vastly larger and more entrenched. Inequality, oppression, persecution and atrocities grew in scale with the size of the human social organizations. For literally thousands of years, most humans lived miserable lives of unending drudgery, illness, misery and mortality.</p> <h3>Industrial Revolution</h3> <p>In the past few hundred years, another cultural revolution has swept across global human organizations: new intellectual frameworks for creating and exchanging culture have emerged in science, technology and philosophy that have once again radically changed how humans live. </p> <p>Today, most humans live within a highly industrialized cultural system defined by complex, large-scale economic, political and social structures that shape our living arrangements and day-to-day activities. Humans exchange various forms of labour - skilled physical work, unskilled physical work, and cognitive work - for credits that we use to purchase food, shelter and other cultural artifacts from the same system. </p> <p>Again, this contemporary cultural revolution has produced enormous changes in quality of life, including some major trade-offs. On the one hand, the industrial economy has mostly eliminated starvation, hunger and malnutrition globally, and average human life expectancy has <em>finally</em> returned to the levels of pre-agricultural hunter-gatherers. Likewise, advances in the scientific understanding of infectious diseases have produced a truly phenomenal decline in the rate of infections and fatalities. </p> <p>On the other hand, we are experiencing a public health epidemic of <em>non-infectious diseases</em> that ought to be mostly preventable: depression and other mood disorders, cardiovascular disease, metabolic disease including diabetes and neurodegeneration, and various cancers. The problem, as it has increasingly become clear, is that our bodies are not well adapted to the lifestyle our modern culture imposes on us. We may be living in a modern industrial society, but we do so with hunter-gatherer bodies. </p> <p>Our industrial economy has rationalized and subdivided the steps involved in inventing and making things, limiting opportunities to exercise creativity. Our living and transportation arrangements strongly emphasize privacy, physical separation and convenience when we are hard-wired for mobility and social connections. Most humans walk barely a few kilometres a day and do not run at all. Instead of walking or running, we spend most of our days sitting - even while travelling from one place to another. Our industrialized diet is much heavier in highly-processed substances - refined starches, sugar and meat - than our bodies are adapted to handle.</p> <h3>Do Human Things</h3> <p>On and on it goes. In area after area of human experience, we find ourselves living within a cultural system that actively obstructs and undermines the behaviours that make us uniquely human. It is no wonder so many people are unhappy! We are human, but our culture systematically prevents us from doing human things. </p> <p>The thesis I invite you to consider is that we could go a long way toward addressing the epidemic of physical and mental distress by finding ways to restore these essential human behaviours into our lives again. In a series of posts to follow, I will explore and meditate on the various uniquely human traits to review how modern culture deters us from engaging in them and, most important, consider ways to re-integrate them into our modern lives:</p> <ul> <li>Humans Adapt </li> <li>Humans Choose </li> <li>Humans Create </li> <li>Humans Relate </li> <li>Humans Cooperate </li> <li>Humans Eat Food </li> <li>Humans Walk </li> <li>Humans Run </li> <li>Humans Explore </li> <li>Humans Play</li> </ul> <p>This is a work in progress and will almost certainly change and evolve over time. I am eager for feedback and suggestions on areas in which I have erred or am missing important knowledge.</p> <p>You can always reach me via email at <a href="mailto:ryan@quandyfactory.com">ryan@quandyfactory.com</a>, or on <a href="https://twitter.com/RyanMcGreal">Twitter</a> or <a href="https://www.facebook.com/ryan.mcgreal.798">Facebook</a>. </p> Ryan McGreal 2