Kamala Harris Deserves to Win

Harris has run an extraordinary campaign with no major missteps. To the extent that doing real things in the real world still matters, she has put in the work to secure a well-deserved victory.

By Ryan McGreal

Posted November 02, 2024 in Blog (Last Updated November 02, 2024)

Read full entry...

Our Media Platforms are Failing in the Fight Against Fascism

Media institutions are supposed to get better over time at identifying and protecting against disinformation. Our prevailing media institutions are actually getting worse.

By Ryan McGreal

Posted October 11, 2024 in Blog (Last Updated October 11, 2024)

Read full entry...

The Conspiracy to Steal the 2024 Election is Hiding in Plain Sight

Authoritarian power-grab conspiracies that succeed do so because they succeed in seizing the apparatus of power, not because they manage to keep their plans a secret

By Ryan McGreal

Posted September 25, 2024 in Blog (Last Updated September 25, 2024)

Read full entry...

VP Harris Must Seize Control of Her Own Narrative

Harris is off to an excellent start but she needs to define her identity before the right wing manages to find a narrative that sticks.

By Ryan McGreal

Posted July 28, 2024 in Blog (Last Updated July 28, 2024)

Read full entry...

Modern Life is Rubbish is Not Rubbish After All

I disliked the sophomore Blur album first time I heard it and dismissed it until now. Did I ever miss out!

By Ryan McGreal

Posted May 21, 2024 in Blog (Last Updated May 21, 2024)

Read full entry...

Modern Life is Rubbish is Not Rubish

The second Blur album is a rich serving of proto-Britpop with all the hallmarks that would characterize the Blur sound for the rest of the decade.

By Ryan McGreal

Posted May 21, 2024 in Blog (Last Updated May 21, 2024)

Read full entry...

A Dog Riding a Skateboard: Some Preliminary Thoughts on Tesla’s ‘Full Self-Driving’ Feature

If they called it “driver assist”, it would be a great feature.

By Ryan McGreal

Posted May 19, 2024 in Blog (Last Updated May 19, 2024)

Read full entry...

Today's Large Language Models are Essentially BS Machines

LLMs have no way to determine whether the responses they generate are factually correct or make logical sense.

By Ryan McGreal

Posted September 07, 2023 in Blog (Last Updated September 07, 2023)

Read full entry...

Proposed Debate With Antivaxxer Just a Shameless Bid for Content

Joe Rogan wants a real scientist to debate an antivax grifter. He doesn't care about the truth, he just knows it would attract the audience he needs.

By Ryan McGreal

Posted June 20, 2023 in Blog (Last Updated June 20, 2023)

Read full entry...

We Deserve to Know Why Hamilton LRT is So Delayed

I would really love to understand exactly what Metrolinx has been up to for the past two years.

By Ryan McGreal

Posted June 07, 2023 in Blog (Last Updated June 07, 2023)

Read full entry...

We Still Don't Know the Origin of COVID-19

The lab leak hypothesis received a boost this week, but the question remains unresolved.

By Ryan McGreal

Posted March 03, 2023 in Blog (Last Updated March 03, 2023)

Read full entry...

The Scott Adams Fiasco is a Microcosm of the Right-Wing Media Ecosystem as a Whole

The entire right-wing media ecosystem exists to manufacture, inflate, recirculate and normalize hateful right-wing propaganda until it seeps into the mainstream discourse and shapes public opinion and political outcomes.

By Ryan McGreal

Posted February 28, 2023 in Blog (Last Updated February 28, 2023)

Read full entry...

Moral Panic Against 15-Minute Cities is More Fossil Fuel Propaganda

All of these policy absurdities make sense when you understand that the movement is funded and financed by fossil fuel interests.

By Ryan McGreal

Posted February 10, 2023 in Blog (Last Updated February 10, 2023)

Read full entry...

Doug Ford's Cute Health Care Privatization Game

The Ontario goverment has manufactured a crisis in health care and their solution will further enrich their well-connected friends.

By Ryan McGreal

Posted January 18, 2023 in Blog (Last Updated January 18, 2023)

Read full entry...

Conservatives Want to Preserve Some Traditions

Conservatives favour traditions that maintain inequity and oppose traditions that reduce inequity.

By Ryan McGreal

Posted November 22, 2022 in Blog (Last Updated November 22, 2022)

Read full entry...

Hospitals are Overflowing with Sick Children and We Still Won't Mask

I'm just not emotionally prepared for the knowledge that we live in a society in which our leaders and huge numbers of fellow citizens simply refuse to take even the most minimal steps to protect children from harm.

By Ryan McGreal

Posted November 17, 2022 in Blog (Last Updated November 17, 2022)

Read full entry...

No Penalty for Incitements to Violence

Right-wing politicians have a perverse incentive to continue engaging in reckless incitements to political violence.

By Ryan McGreal

Posted October 31, 2022 in Blog (Last Updated October 31, 2022)

Read full entry...

The Grift Paradox

When the victims of right-wing populists get grifted, their response is to become even more devout

By Ryan McGreal

Posted October 28, 2022 in Blog (Last Updated October 28, 2022)

Read full entry...

Canadians Are Ignoring the Rising Threat of Fascism

Canada's fascist movement is well-funded, growing steadily and encroaching into mainstream politics and media.

By Ryan McGreal

Posted September 07, 2022 in Blog (Last Updated September 07, 2022)

Read full entry...

The J6 Committee and Conspiracy Theories vs Real Conspiracies

Real conspiracies that succeed don’t succeed because they maintain absolute secrecy, they succeed because they seize control of the apparatus of power and the narrative in such a way that knowing about the conspiracy has no power to stop it.

By Ryan McGreal

Posted June 29, 2022 in Blog (Last Updated June 29, 2022)

Read full entry...

Expect Poilievre to Attack Judicial Independence

Poilievre studied carefully at the knee of his political master, Stephen Harper, and he is determined to be even more extreme in his assault on Canada’s civic institutions.

By Ryan McGreal

Posted June 24, 2022 in Blog (Last Updated June 24, 2022)

Read full entry...

Fossil Fuels and the Threat to Liberal Democracy and Human Civilization

Time is running out for liberal democracy to step up and really deliver on the promise of a more inclusive justice that can defeat right-wing extremism.

By Ryan McGreal

Posted June 13, 2022 in Blog (Last Updated June 13, 2022)

Read full entry...

We're Sleepwalking into a Slow-Motion Catastrophe of Disability

It seems unconscionable to me to let thousands or tens of thousands or hundreds of thousands of people become chronically disabled every year due to a virus that is more or less preventable with good policy.

By Ryan McGreal

Posted March 29, 2022 in Blog (Last Updated March 29, 2022)

Read full entry...

Looking Forward to Next-Generation Vaccines

The vaccines were an incredible accomplishment that saved millions of lives. Now we need vaccines that provide next-genertion protection

By Ryan McGreal

Posted March 24, 2022 in Blog (Last Updated March 24, 2022)

Read full entry...

The So-Called Pfizer Gotcha is Exactly What You Would Expect

Yes, it turns out to be reckless antivax fearmongering disinformation.

By Ryan McGreal

Posted March 19, 2022 in Blog (Last Updated March 19, 2022)

Read full entry...

What 'Learning to Live With COVID' Really Entails

If we're not actually learning from what works, we are just learning to accept preventable suffering, disability and death.

By Ryan McGreal

Posted February 16, 2022 in Blog (Last Updated February 16, 2022)

Read full entry...

'Freedom' Convoy Built on Racist Right-Wing Ideology

Right-wing ideology emphasizes a narrow, selfish sense of entitlement and grievance against a bogeyman parade of suspicious groups presented as opposed to 'real' citizens.

By Ryan McGreal

Posted January 27, 2022 in Blog (Last Updated January 27, 2022)

Read full entry...

Ford Doesn't Trust Scientific Modeling

Ontario finds itself in the same situation again and again: we don't take prudent steps early on, so we're forced to take extraordinary steps after hospitals are already filling up.

By Ryan McGreal

Posted January 03, 2022 in Blog (Last Updated January 03, 2022)

Read full entry...

Modest Antiracist Health Measure Provokes Outrage

'Reverse racism' isn't a thing. Racism is what happens when power leverages prejudice to perpetuate itself.

By Ryan McGreal

Posted April 27, 2021 in Blog (Last Updated April 27, 2021)

Read full entry...

The Real Reason Housing is Expensive in Canada

Housing is the most basic job of civilization, but our society is doing a terrible job of housing everyone.

By Ryan McGreal

Posted March 16, 2021 in Blog (Last Updated March 16, 2021)

Read full entry...

The Purpose of Conservatism is to Conserve Inequity

A better, fairer, more compassionate world is possible. This is the truth conservatism does everything it can to deny.

By Ryan McGreal

Posted August 25, 2020 in Blog (Last Updated August 25, 2020)

Read full entry...

George Floyd Protests Confronting Intolerable Systemic Anti-Black Racism

When it comes to responding to racism, there has never been a worse time to claim you don’t understand what the protests are about or that you don’t know what to do.

By Ryan McGreal

Posted June 01, 2020 in Blog (Last Updated June 01, 2020)

Read full entry...

Five+ Years of Running and Fitness, Part Three: Around the Bay Again

I've signed up for the ATB 2019 30 km race and started my dedicated training long runs in the beginning of January.

By Ryan McGreal

Posted February 01, 2019 in Blog (Last Updated February 01, 2019)

Read full entry...

Five+ Years of Running and Fitness, Part Two: Sitter's Knee and HIIT

In June 2017, I joined a fitness centre in order to focus on core-strengthening exercises to improve my running form and avoid knee pain.

By Ryan McGreal

Posted January 31, 2019 in Blog (Last Updated January 31, 2019)

Read full entry...

Five+ Years of Running and Fitness, Part One: The Sleep Factor

Insufficient sleep sabotages all of the benefits of a healthy diet and regular physical activity.

By Ryan McGreal

Posted January 30, 2019 in Blog (Last Updated January 30, 2019)

Read full entry...

Star Wars: The Last Jedi is Exactly the Reset the Franchise Needed

This movie is a profound and badly-needed course correction and de-mythologization of the Star Wars universe, attacking the series' own most troublesome conceits and continually refusing to take the easy, obvious choice in how it plays out.

By Ryan McGreal

Posted December 27, 2017 in Blog (Last Updated December 27, 2018)

Read full entry...

Ask Attorney General to Defend Rule of Law

Please consider sending an email to Caroline Mulroney, Attorney General of Ontario, calling on her to defend the rule of law against the abuse of the Premier.

By Ryan McGreal

Posted October 13, 2018 in Blog (Last Updated October 13, 2018)

Read full entry...

Jordan Peterson Conspiracy Theory Generator

Just a bit of silliness on a Friday morning.

By Ryan McGreal

Posted June 15, 2018 in Blog (Last Updated June 15, 2018)

Read full entry...

Unofficial Ontario 2018 Election Riding-By-Riding Summary Table

Summary results by riding and party for the 2018 Ontario Election.

By Ryan McGreal

Posted June 08, 2018 in Blog (Last Updated June 08, 2018)

Read full entry...

Ontario Election 2018: Winnable Ridings via Strategic Voting

The PC Party is projected to win Thursday's election. However, with strategic voting, it's still possible to stop this from happening.

By Ryan McGreal

Posted June 05, 2018 in Blog (Last Updated June 05, 2018)

Read full entry...

A Fourth Year of Running: The Victory Lap that Wasn't

After completing my first marathon, I found myself caught in the grip of a kind of running ennui that has sapped my enthusiasm.

By Ryan McGreal

Posted November 01, 2017 in Blog (Last Updated November 06, 2017)

Read full entry...

It's Past Time to Remove Civic Artifacts Celebrating White Supremacists

Most Confederate artifacts were installed during the long backlash after the Reconstruction era in order for white supremacists to send an unmistakable message to emancipated slaves: we are still in charge.

By Ryan McGreal

Posted August 23, 2017 in Blog (Last Updated August 23, 2017)

Read full entry...

My First Marathon, Or: A Supposedly Fun Thing I Won't Do Again Until I've Had Time to Forget How Gruelling it Was

The marathon occupies a sweet spot in human achievement: it is a difficult physical and mental feat that requires months of training, but is accessible to almost anyone who decides they really want it.

By Ryan McGreal

Posted November 07, 2016 in Blog (Last Updated November 25, 2016)

Read full entry...

A Third Year of Running, Plus Various Other Experiments

In my third year, I have finally internalized and accepted the lessons of my second year, which has allowed me to return to something akin to the accomplishments of my first.

By Ryan McGreal

Posted July 26, 2016 in Blog (Last Updated July 28, 2016)

Read full entry...

What You Need to Know to Start Running

There is so much information out there about running that it can be overwhelming. Here are the basics of what you need to know to get started.

By Ryan McGreal

Posted January 08, 2016 in Blog (Last Updated April 06, 2016)

Read full entry...

A Year of Walking

A pedometer made walking into a game: the goal of increasing my count came to overrule my default work-avoidance setting.

By Ryan McGreal

Posted October 23, 2015 in Blog (Last Updated January 20, 2016)

Read full entry...

A Second Year of Running, Plus Some Not-Running and Other Stuff

After injury struck, I was forced to take a broader and more sustainable approach to fitness.

By Ryan McGreal

Posted July 28, 2015 in Blog (Last Updated July 30, 2015)

Read full entry...

Designing a RESTful Web Application

This blog entry is my attempt to get all the concepts of RESTful web service design straight.

By Ryan McGreal

Posted June 21, 2010 in Blog (Last Updated December 23, 2014)

Read full entry...

Hamilton Ward Councillor Election Ward Councillor Summary

For each Hamilton ward, this table calculates the winning candidate's vote as a percent of eligible voters.

By Ryan McGreal

Posted October 29, 2014 in Blog (Last Updated October 29, 2014)

Read full entry...

A Year of Running

In summer 2013, I was an obese 39-year-old on the threshold of middle age. Here's an update a year later.

By Ryan McGreal

Posted July 28, 2014 in Blog (Last Updated July 28, 2014)

Read full entry...

Some Unexpected Benefits of Running

I started running four months ago. I expected to lose weight and improve my aerobic fitness, but I've also noticed several additional benefits.

By Ryan McGreal

Posted November 27, 2013 in Blog (Last Updated November 27, 2013)

Read full entry...

Stand Your Ground or Last Man Standing

The controversial law returns us to a state in which mutual distrust spirals into needless violence.

By Ryan McGreal

Posted July 31, 2013 in Blog (Last Updated July 31, 2013)

Read full entry...

Why Bloomberg is Wrong About Terrorism Response

The appropriate way to respond to terrorism is the same as it has always been: through effective, targeted law enforcement measures that do not violate the civil liberties of innocent citizens.

By Ryan McGreal

Posted April 23, 2013 in Blog (Last Updated April 23, 2013)

Read full entry...

Adria Richards and the Allocation of Outrage

The tech community whipped itself into a firestorm of outrage when a woman complained about inapproprate behaviour at a a conference, but at best shrugged and at worst said she deserved it when that very firestorm overflowed into a forward panic of abuse and death threats.

By Ryan McGreal

Posted March 28, 2013 in Blog (Last Updated March 28, 2013)

Read full entry...

Misogyny in the Tech Industry

Today, I am ashamed to work in an industry in which unconscious misogyny is still the norm.

By Ryan McGreal

Posted March 21, 2013 in Blog (Last Updated March 25, 2013)

Read full entry...

On Crimes and Punishments: The Cruel and Unusual Threat against Aaron Swartz

A prosecutor forcing someone to admit guilt by threatening a life-destroying cruel and unusual punishment if they do not admit it - why, that is the very essence of using torture to extract a confession!

By Ryan McGreal

Posted January 18, 2013 in Blog (Last Updated January 18, 2013)

Read full entry...

Bill C-38

I sent a letter to the Senate about Bill C-38.

By Ryan McGreal

Posted June 27, 2012 in Blog (Last Updated June 29, 2012)

Read full entry...

The Appification of Computing

It appears that the relentless drive to simplicity in user interface has had the-side effect of serving as a disincentive for students to bother learning more about how computers work.

By Ryan McGreal

Posted June 27, 2012 in Blog (Last Updated June 28, 2012)

Read full entry...

My Second Baguette

Cooler temperatures and better oven steam action helped produce a better batch of baguettes.

By Ryan McGreal

Posted April 30, 2012 in Blog (Last Updated April 30, 2012)

Read full entry...

Services-First: A Better Way to Build a Web Application

When you're building a web application, it's a powerful design heuristic to build a REST web service API, and build your application on top of your service.

By Ryan McGreal

Posted February 02, 2012 in Blog (Last Updated February 02, 2012)

Read full entry...

Python String Formatting With Dictionaries

In Python, you can use dictionaries instead of tuples to populate values via classic string formatting.

By Ryan McGreal

Posted January 04, 2012 in Blog (Last Updated January 04, 2012)

Read full entry...

CHCH Report on LRT in Hamilton

Light rail transit advocates are reeling at the news that the city of Hamilton is redirecting its resources to all-day GO train service instead. Does this mean that Hamilton's LRT is completely off the rails?

By Ryan McGreal

Posted July 22, 2011 in Blog (Last Updated July 22, 2011)

Read full entry...

My First Baguette

After a month of reading about how to make baguettes, I finally took the plunge today.

By Ryan McGreal

Posted July 11, 2011 in Blog (Last Updated July 11, 2011)

Read full entry...

Tenn. Passes Controversial Lawnmower Theft Bill

The lawnmowing industry has successfully lobbied the Tennessee State Government to pass a groundbreaking law making it a criminal offence to loan your lawnmower to a neighbour.

By Ryan McGreal

Posted June 02, 2011 in Blog (Last Updated June 02, 2011)

Read full entry...

How to Write a Blog Post

Provide value for your readers. Valuable writing is personal, informative, instructional, revelatory, entertaining, and engaging.

By Ryan McGreal

Posted July 26, 2010 in Blog (Last Updated July 26, 2010)

Read full entry...

Ubuntu 10.04 First Thoughts

I just upgraded my netbook to Ubuntu 10.04. So far, so good.

By Ryan McGreal

Posted April 30, 2010 in Blog (Last Updated May 01, 2010)

Read full entry...

Shared Awareness: A Better Way to Manage Comment Trolls

If we understand what motivates trolls, we can manage their disruptions by removing their incentive to comment.

By Ryan McGreal

Posted April 15, 2010 in Blog (Last Updated April 15, 2010)

Read full entry...

CouchDB Working Notes

I've decided to learn CouchDB, and I'm taking notes as I go.

By Ryan McGreal

Posted April 09, 2010 in Blog (Last Updated April 09, 2010)

Read full entry...

MPAA and Piracy

The MPAA is lashing out against piracy by punishing its legitimate customers, which will only push more of them to piracy.

By Ryan McGreal

Posted February 26, 2010 in Blog (Last Updated February 26, 2010)

Read full entry...

Review: Mark Pilgrim's Dive Into Python 3

If you're an experienced programmer, you want to learn Python 3, and you don't have a lot of time to waste, skip this review and just go straight to the book.

By Ryan McGreal

Posted February 08, 2010 in Blog (Last Updated February 08, 2010)

Read full entry...

Top 10 Programming Lessons in 10 Years

Here's my top 10 (plus one bonus) list of programming lessons I've learned over the last ten years.

By Ryan McGreal

Posted January 14, 2010 in Blog (Last Updated January 25, 2010)

Read full entry...

The Virtue of Forgiving HTML Parsers

Most of the time, you want code to fail fast if it receives junk data. HTML on the early web is a powerful counterexample.

By Ryan McGreal

Posted January 08, 2010 in Blog (Last Updated January 08, 2010)

Read full entry...

Newsfeed Bug: Fixed

Links in the main newsfeed for this site don't work. Update: Fixed

By Ryan McGreal

Posted December 18, 2009 in Blog (Last Updated December 20, 2009)

Read full entry...

Confused About CanChild

How can it cost $100,000 a year to host a website?

By Ryan McGreal

Posted December 18, 2009 in Blog (Last Updated December 18, 2009)

Read full entry...

Challenging the MLS Monopoly

I propose an Open-Source Listing Service (OSLS) with the express purpose of killing the MLS monopoly and highlighting the earned value of truly competent real estate agents, while preventing under-performing agents from continuing to extract unearned value from their role as gatekeepers.

By Ryan McGreal

Posted November 25, 2009 in Blog (Last Updated November 25, 2009)

Read full entry...

Software as a Model for Government

The way software developers approach software may be instructive in helping us to think more constructively about politics and governance.

By Ryan McGreal

Posted October 31, 2009 in Blog (Last Updated November 19, 2009)

Read full entry...

Productivity and Procrastination

I wrote this essay as a way of not completing another, more pressing task.

By Ryan McGreal

Posted September 09, 2009 in Blog (Last Updated October 29, 2009)

Read full entry...

An Open Letter to Lily Allen

File-sharing is an opportunity, not a problem.

By Ryan McGreal

Posted September 25, 2009 in Blog (Last Updated September 25, 2009)

Read full entry...

Installing gtk-gnutella on a clean install of Ubuntu 9.04 in 29 Easy Steps

An object lesson in the difference between developer-oriented Linux distributions and consumer-oriented Linux distributions.

By Ryan McGreal

Posted May 29, 2009 in Blog (Last Updated May 29, 2009)

Read full entry...