My Favourite Songs of 2025

Here's a list of my top 30 songs from this year.

By Ryan McGreal. 1761 words. Approximately a 5 to 11 minute read.
Posted December 29, 2025 in Blog.

Read full entry...

New Single: Crunch Time

I have just released my second single.

By Ryan McGreal. 157 words. Approximately a 0 to 1 minute read.
Posted December 23, 2025 in Blog.

Read full entry...

New Single: Bots (Demo)

I have released a song into the world.

By Ryan McGreal. 642 words. Approximately a 2 to 4 minute read.
Posted December 02, 2025 in Blog.

Read full entry...

Kamala Harris Was a Fundamentally Strong Candidate

Harris closed a double-digit support deficit but just ran out of time.

By Ryan McGreal. 836 words. Approximately a 2 to 5 minute read.
Posted September 25, 2025 in Blog.

Read full entry...

Canadians are Freaked Out - and Furious

Annexing Canada may have started out as a joke, but Trump’s army of intellectual Zambonis have formulated his rants into an actionable ideology.

By Ryan McGreal. 525 words. Approximately a 1 to 3 minute read.
Posted March 12, 2025 in Blog.

Read full entry...

Anything Can Happen

Authoritarians hate liberal democracy, with its deliberate diffusion of powers throughout the society.

By Ryan McGreal. 510 words. Approximately a 1 to 3 minute read.
Posted March 11, 2025 in Blog.

Read full entry...

Trump Turns Hanlon’s Razor on its Head

When it comes to MAGA, the stupidity serves the malice.

By Ryan McGreal. 575 words. Approximately a 1 to 3 minute read.
Posted March 07, 2025 in Blog.

Read full entry...

One Lesson the Centre-Left Needs to Learn from the Right

The centre-left would benefit from adopting a culture of rapid prototyping to learn what resonates and breaks through.

By Ryan McGreal. 391 words. Approximately a 1 to 2 minute read.
Posted March 06, 2025 in Blog.

Read full entry...

It’s Not Even Good Coding Practice

Musk’s assault on the US government isn’t just reckless abuse of power, it’s also reckless software development practice.

By Ryan McGreal. 499 words. Approximately a 1 to 3 minute read.
Posted February 08, 2025 in Blog.

Read full entry...

Try Additive Approach to Climate Policy

Incentivizing big investments in clean energy may be both more politically popular and more effective than pricing emissions.

By Ryan McGreal. 585 words. Approximately a 1 to 3 minute read.
Posted January 19, 2025 in Blog.

Read full entry...

No, Trudeau is Not a Hypocrite For Proroguing Parliament

The recent proroguing of parliament is different from the infamous 2008 prorogue in every important respect.

By Ryan McGreal. 415 words. Approximately a 1 to 2 minute read.
Posted January 08, 2025 in Blog.

Read full entry...

My Favourite New Songs of 2024

A list of my top 30 new songs from this year.

By Ryan McGreal. 1376 words. Approximately a 4 to 9 minute read.
Posted December 30, 2024 in Blog.

Read full entry...

AI Code Assistants and the Future of Software Development

AI code asssistant make coding faster and hence cheaper. We can either destroy software development jobs or increase the range of areas where software development is a cost-effective investment.

By Ryan McGreal. 1632 words. Approximately a 5 to 10 minute read.
Posted November 23, 2024 in Blog.

Read full entry...

RIP Thomas E. Kurtz, Co-Creator of BASIC

My life would have been much different had I not been introduced to programming as a kid.

By Ryan McGreal. 921 words. Approximately a 3 to 6 minute read.
Posted November 20, 2024 in Blog.

Read full entry...

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. 935 words. Approximately a 3 to 6 minute read.
Posted November 02, 2024 in Blog.

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. 583 words. Approximately a 1 to 3 minute read.
Posted October 11, 2024 in Blog.

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. 793 words. Approximately a 2 to 5 minute read.
Posted September 25, 2024 in Blog.

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. 605 words. Approximately a 2 to 4 minute read.
Posted July 28, 2024 in Blog.

Read full entry...

Introducing CatGPT

Finally, the large language model for communicating with cats that you've been waiting for.

By Ryan McGreal. 200 words. Approximately a 0 to 1 minute read.
Posted May 22, 2024 in Projects.

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. 242 words. Approximately a 0 to 1 minute read.
Posted May 21, 2024 in Blog.

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. 799 words. Approximately a 2 to 5 minute read.
Posted May 19, 2024 in Blog.

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. 1727 words. Approximately a 5 to 11 minute read.
Posted September 07, 2023 in Blog.

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. 1063 words. Approximately a 3 to 7 minute read.
Posted June 20, 2023 in Blog.

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. 933 words. Approximately a 3 to 6 minute read.
Posted June 07, 2023 in Blog.

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. 1014 words. Approximately a 3 to 6 minute read.
Posted March 03, 2023 in Blog.

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. 1061 words. Approximately a 3 to 7 minute read.
Posted February 28, 2023 in Blog.

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. 661 words. Approximately a 2 to 4 minute read.
Posted February 10, 2023 in Blog.

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. 674 words. Approximately a 2 to 4 minute read.
Posted January 18, 2023 in Blog.

Read full entry...

Conservatives Want to Preserve Some Traditions

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

By Ryan McGreal. 180 words. Approximately a 0 to 1 minute read.
Posted November 22, 2022 in Blog.

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. 1330 words. Approximately a 4 to 8 minute read.
Posted November 17, 2022 in Blog.

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. 459 words. Approximately a 1 to 3 minute read.
Posted October 31, 2022 in Blog.

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. 604 words. Approximately a 2 to 4 minute read.
Posted October 28, 2022 in Blog.

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. 1457 words. Approximately a 4 to 9 minute read.
Posted September 07, 2022 in Blog.

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. 368 words. Approximately a 1 to 2 minute read.
Posted June 29, 2022 in Blog.

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. 248 words. Approximately a 0 to 1 minute read.
Posted June 24, 2022 in Blog.

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. 1187 words. Approximately a 3 to 7 minute read.
Posted June 13, 2022 in Blog.

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. 615 words. Approximately a 2 to 4 minute read.
Posted March 29, 2022 in Blog.

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. 359 words. Approximately a 1 to 2 minute read.
Posted March 24, 2022 in Blog.

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. 871 words. Approximately a 2 to 5 minute read.
Posted March 19, 2022 in Blog.

Read full entry...

Shoveling Does Not Work: A Very Serious Argument Against Mandates

Every time I shovel, it just snows again a week or two later. The only obvious solution is to stop shoveling altogether.

By Ryan McGreal. 330 words. Approximately a 1 to 2 minute read.
Posted March 12, 2022 in Blog.

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. 615 words. Approximately a 2 to 4 minute read.
Posted February 16, 2022 in Blog.

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. 817 words. Approximately a 2 to 5 minute read.
Posted January 27, 2022 in Blog.

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. 526 words. Approximately a 1 to 3 minute read.
Posted January 03, 2022 in Blog.

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. 764 words. Approximately a 2 to 5 minute read.
Posted April 27, 2021 in Blog.

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. 1149 words. Approximately a 3 to 7 minute read.
Posted March 16, 2021 in Blog.

Read full entry...

Vowels to Oob

Takes text and replaces vowels with 'oob'.

By Ryan McGreal. 26 words. Approximately a 0 minute read.
Posted March 10, 2021 in Projects.

Read full entry...

AlTeRnAtInG CaPs gEnErAtOr

Simple script to turn regular text into AlTeRnAtInG cApS for maximum sass.

By Ryan McGreal. 28 words. Approximately a 0 minute read.
Posted March 05, 2021 in Projects.

Read full entry...

Hamilton COVID-19 Outbreaks

Map and data for active COVID-19 outbreaks in Hamilton.

By Ryan McGreal. 19 words. Approximately a 0 minute read.
Posted December 01, 2020 in Projects. (Last Updated January 30, 2021)

Read full entry...

Bullies Are Nothing Without Enablers

The grandiose bully's reality distortion only works insofar as there are enough shameless sycophants to play along.

By Ryan McGreal. 496 words. Approximately a 1 to 3 minute read.
Posted September 18, 2020 in Blog.

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. 972 words. Approximately a 3 to 6 minute read.
Posted August 25, 2020 in Blog.

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. 648 words. Approximately a 2 to 4 minute read.
Posted June 01, 2020 in Blog.

Read full entry...

Ontario COVID-19 Data

Tracks daily Ontario COVID-19 test results since the start of the pandemic.

By Ryan McGreal. 34 words. Approximately a 0 minute read.
Posted March 15, 2020 in Projects. (Last Updated January 30, 2021)

Read full entry...

Some Handy Running Calculations

Takes distance, time and steps and calculates speed, pace, cadence and stride length.

By Ryan McGreal. 545 words. Approximately a 1 to 3 minute read.
Posted November 08, 2019 in Projects.

Read full entry...

City File: Truck Route Reboot

Hamilton's Designated Truck Route prioritizes the convenience of businesses over the safety of pedestrians and this needs to change says Ryan McGreal.

By Ryan McGreal. 939 words. Approximately a 3 to 6 minute read.
Posted May 01, 2019 in Essays. (Last Updated 00, 0000)

Read full entry...

Right-Wing Populist Limits Ability to Sue Government for Misfeasance or Negligence

Most Ontarians remain blase about how quickly the Ontario Government is moving to shut down mechanisms of independence and accountability

By Ryan McGreal. 247 words. Approximately a 0 to 1 minute read.
Posted April 15, 2019 in Blog. (Last Updated April 05, 2019)

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. 1717 words. Approximately a 5 to 11 minute read.
Posted February 01, 2019 in Blog.

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. 1047 words. Approximately a 3 to 6 minute read.
Posted January 31, 2019 in Blog.

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. 910 words. Approximately a 3 to 6 minute read.
Posted January 30, 2019 in Blog.

Read full entry...

City File: Risky Business

The Ford Government took Greenbelt development out of Bill 66. Don't let that distract you from what's still on the table.

By Ryan McGreal. 941 words. Approximately a 3 to 6 minute read.
Posted January 01, 2019 in Essays. (Last Updated 00, 0000)

Read full entry...

City File: Ticket to Ride

The anti-LRT gang insisted on making this election a referendum, and I say we hold them to it.

By Ryan McGreal. 945 words. Approximately a 3 to 6 minute read.
Posted November 01, 2018 in Essays. (Last Updated 00, 0000)

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. 271 words. Approximately a 0 to 1 minute read.
Posted October 13, 2018 in Blog.

Read full entry...

City File: Passion Project

Hamilton needs a passionate leader with a vision for change.

By Ryan McGreal. 951 words. Approximately a 3 to 6 minute read.
Posted September 01, 2018 in Essays. (Last Updated 00, 0000)

Read full entry...

City File: Time to Vote

Everything you need to know about the upcoming municipal election.

By Ryan McGreal. 940 words. Approximately a 3 to 6 minute read.
Posted July 01, 2018 in Essays. (Last Updated 00, 0000)

Read full entry...

Jordan Peterson Conspiracy Theory Generator

Just a bit of silliness on a Friday morning.

By Ryan McGreal. 396 words. Approximately a 1 to 2 minute read.
Posted June 15, 2018 in Blog.

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. 1458 words. Approximately a 4 to 9 minute read.
Posted June 08, 2018 in Blog.

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. 1899 words. Approximately a 6 to 12 minute read.
Posted June 05, 2018 in Blog.

Read full entry...

City File: Balancing Act

Gentrification is a complex problem lacking knee-jerk solutions.

By Ryan McGreal. 959 words. Approximately a 3 to 6 minute read.
Posted May 01, 2018 in Essays. (Last Updated 00, 0000)

Read full entry...

City File: Out of Service

The HSR has been starved for decades and it shows.

By Ryan McGreal. 933 words. Approximately a 3 to 6 minute read.
Posted February 01, 2018 in Essays. (Last Updated 00, 0000)

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. 1156 words. Approximately a 3 to 7 minute read.
Posted December 27, 2017 in Blog. (Last Updated December 27, 2018)

Read full entry...

Introduction to Do Human Things

Perhaps we are miserable simply because we have gotten out of the habit of doing human things.

By Ryan McGreal. 1213 words. Approximately a 4 to 8 minute read.
Posted November 30, 2017 in Human Things.

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. 3385 words. Approximately a 11 to 22 minute read.
Posted November 01, 2017 in Blog. (Last Updated November 06, 2017)

Read full entry...

City File: Gerrymandering

Elected representatives should never have the power to decide their own constituency boundaries.

By Ryan McGreal. 966 words. Approximately a 3 to 6 minute read.
Posted November 01, 2017 in Essays. (Last Updated 00, 0000)

Read full entry...

City File: Taking the Wheel

Eleventh-hour push to have HSR operate Hamilton’s LRT comes with big risks

By Ryan McGreal. 935 words. Approximately a 3 to 6 minute read.
Posted September 01, 2017 in Essays. (Last Updated 00, 0000)

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. 902 words. Approximately a 3 to 6 minute read.
Posted August 23, 2017 in Blog.

Read full entry...

City File: A Taller Tale

Intensification didn't cause our affordable housing crisis, but it could help solve it.

By Ryan McGreal. 963 words. Approximately a 3 to 6 minute read.
Posted July 01, 2017 in Essays. (Last Updated 00, 0000)

Read full entry...

The Perverse Modern Diet and Lifestyle

We have created and aggressively maintain an environment that makes it almost impossible for a typical person to resist the various social and cultural defaults that produce chronic non-infectious disease.

By Ryan McGreal. 2015 words. Approximately a 6 to 13 minute read.
Posted June 27, 2017 in Human Things.

Read full entry...

City File: Stuck in Neutral

Master plans sound nice, but annual budgets tell the truth about our priorities.

By Ryan McGreal. 908 words. Approximately a 3 to 6 minute read.
Posted January 01, 2017 in Essays. (Last Updated 00, 0000)

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. 3745 words. Approximately a 12 to 24 minute read.
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. 10961 words. Approximately a 36 to 73 minute read.
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. 2183 words. Approximately a 7 to 14 minute read.
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. 1619 words. Approximately a 5 to 10 minute read.
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. 4339 words. Approximately a 14 to 28 minute read.
Posted July 28, 2015 in Blog. (Last Updated July 30, 2015)

Read full entry...

Tracking Movement

Tracking daily/weekly running and stepcounts.

By Ryan McGreal. 20 words. Approximately a 0 minute read.
Posted April 17, 2015 in Projects. (Last Updated June 14, 2015)

Read full entry...

Recipes

New section on the site to store recipes I often use.

By Ryan McGreal. 21 words. Approximately a 0 minute read.
Posted April 17, 2015 in Projects.

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. 326 words. Approximately a 1 to 2 minute read.
Posted October 29, 2014 in Blog.

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. 2700 words. Approximately a 9 to 18 minute read.
Posted July 28, 2014 in Blog.

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. 961 words. Approximately a 3 to 6 minute read.
Posted November 27, 2013 in Blog.

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. 626 words. Approximately a 2 to 4 minute read.
Posted July 31, 2013 in Blog.

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. 752 words. Approximately a 2 to 5 minute read.
Posted April 23, 2013 in Blog.

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. 811 words. Approximately a 2 to 5 minute read.
Posted March 28, 2013 in Blog.

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. 339 words. Approximately a 1 to 2 minute read.
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. 530 words. Approximately a 1 to 3 minute read.
Posted January 18, 2013 in Blog.

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. 659 words. Approximately a 2 to 4 minute read.
Posted June 27, 2012 in Blog. (Last Updated June 28, 2012)

Read full entry...

Bill C-38

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

By Ryan McGreal. 1169 words. Approximately a 3 to 7 minute read.
Posted June 27, 2012 in Blog. (Last Updated June 29, 2012)

Read full entry...

My Second Baguette

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

By Ryan McGreal. 950 words. Approximately a 3 to 6 minute read.
Posted April 30, 2012 in Blog.

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. 7867 words. Approximately a 26 to 52 minute read.
Posted February 02, 2012 in Blog.

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. 157 words. Approximately a 0 to 1 minute read.
Posted January 04, 2012 in Blog.

Read full entry...

Site-Specific Google Search for Hamilton.ca

The hamilton.ca website search engine is awful. Do a site-specific google search instead.

By Ryan McGreal. 82 words. Approximately a 0 minute read.
Posted September 16, 2011 in Projects.

Read full entry...

HAMILTON NEXT: Good ideas come from urban focus

Ryan McGreal writes in our regular series by Hamilton's community leaders about the future of the city.

By Ryan McGreal. 819 words. Approximately a 2 to 5 minute read.
Posted September 09, 2011 in Essays. (Last Updated March 23, 2015)

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. 11 words. Approximately a 0 minute read.
Posted July 22, 2011 in Blog.

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. 588 words. Approximately a 1 to 3 minute read.
Posted July 11, 2011 in Blog.

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. 138 words. Approximately a 0 minute read.
Posted June 02, 2011 in Blog.

Read full entry...

Solitaire

I made a basic Solitaire game using HTML, CSS and JavaScript with jQuery.

By Ryan McGreal. 58 words. Approximately a 0 minute read.
Posted April 01, 2011 in Projects. (Last Updated May 08, 2013)

Read full entry...

URL Shortener

This URL shortener uses the Google URL Shortener API

By Ryan McGreal. 28 words. Approximately a 0 minute read.
Posted January 10, 2011 in Projects.

Read full entry...

Light rail delivers investment

LRT is about transforming neighbourhoods, not merely carrying passengers from A to B.

By Ryan McGreal. 804 words. Approximately a 2 to 5 minute read.
Posted November 24, 2010 in Essays.

Read full entry...

KeywordTweets

KeywordTweets is a simple script that returns recent tweets with a given keyword.

By Ryan McGreal. 32 words. Approximately a 0 minute read.
Posted August 26, 2010 in Projects. (Last Updated August 30, 2010)

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. 1201 words. Approximately a 4 to 8 minute read.
Posted July 26, 2010 in Blog.

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. 2423 words. Approximately a 8 to 16 minute read.
Posted June 21, 2010 in Blog. (Last Updated December 23, 2014)

Read full entry...

Ubuntu 10.04 First Thoughts

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

By Ryan McGreal. 1319 words. Approximately a 4 to 8 minute read.
Posted April 30, 2010 in Blog. (Last Updated May 01, 2010)

Read full entry...

MakeChart

This script takes a list of (x,y) coordinates and generates an HTML bar chart.

By Ryan McGreal. 104 words. Approximately a 0 minute read.
Posted April 20, 2010 in Projects. (Last Updated April 27, 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. 2156 words. Approximately a 7 to 14 minute read.
Posted April 15, 2010 in Blog.

Read full entry...

PyCouchContacts

Web application in Python, web.py and couchdb to manage contacts.

By Ryan McGreal. 2 words. Approximately a 0 minute read.
Posted April 12, 2010 in Projects.

Read full entry...

CouchDB Working Notes

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

By Ryan McGreal. 1305 words. Approximately a 4 to 8 minute read.
Posted April 09, 2010 in Blog.

Read full entry...

Gitiot

The one-click git commit GUI.

By Ryan McGreal. 42 words. Approximately a 0 minute read.
Posted April 06, 2010 in Projects. (Last Updated April 07, 2010)

Read full entry...

Download Tweets

Download all the tweets for a given Twitter username.

By Ryan McGreal. 130 words. Approximately a 0 minute read.
Posted March 31, 2010 in Projects. (Last Updated April 01, 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. 128 words. Approximately a 0 minute read.
Posted February 26, 2010 in Blog.

Read full entry...

Lost opportunities can tell us much

'Survivorship bias' means giving LRT say to those who are risk-adverse

By Ryan McGreal. 845 words. Approximately a 2 to 5 minute read.
Posted February 22, 2010 in Essays.

Read full entry...

Hamilton Spectator PDF Downloader

Quick and dirty form + Javascript to download a PDF page from the Hamilton Spectator website.

By Ryan McGreal. 218 words. Approximately a 0 to 1 minute read.
Posted February 15, 2010 in Projects. (Last Updated March 23, 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. 4229 words. Approximately a 14 to 28 minute read.
Posted February 08, 2010 in Blog.

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. 1061 words. Approximately a 3 to 7 minute read.
Posted January 14, 2010 in Blog. (Last Updated January 25, 2010)

Read full entry...

PyToc

PyToc generates a table of contents for an HTML document based on headings, with anchor links from the TOC to specific headings.

By Ryan McGreal. 643 words. Approximately a 2 to 4 minute read.
Posted January 11, 2010 in Projects. (Last Updated April 15, 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. 1082 words. Approximately a 3 to 7 minute read.
Posted January 08, 2010 in Blog.

Read full entry...

PyCalendar

A calendar class to be included in Quandy once it's ready.

By Ryan McGreal. 8 words. Approximately a 0 minute read.
Posted January 05, 2010 in Projects.

Read full entry...

Wayne MacPhail's URL Lengthener

Sometimes, longer is better.

By Ryan McGreal. 40 words. Approximately a 0 minute read.
Posted December 22, 2009 in Projects.

Read full entry...

Confused About CanChild

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

By Ryan McGreal. 697 words. Approximately a 2 to 4 minute read.
Posted December 18, 2009 in Blog.

Read full entry...

Newsfeed Bug: Fixed

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

By Ryan McGreal. 38 words. Approximately a 0 minute read.
Posted December 18, 2009 in Blog. (Last Updated December 20, 2009)

Read full entry...

Elizabethan Insult Generator

Exactly what it sounds like.

By Ryan McGreal. 4 words. Approximately a 0 minute read.
Posted December 14, 2009 in Projects.

Read full entry...

Stack Trace for hnsh.py on proxy

hnsh.py is a console application to browse Hacker News articles, but it didn't work behind a proxy server. Here's the error.

By Ryan McGreal. 288 words. Approximately a 0 to 1 minute read.
Posted December 07, 2009 in Projects. (Last Updated January 07, 2010)

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. 855 words. Approximately a 2 to 5 minute read.
Posted November 25, 2009 in Blog.

Read full entry...

10 Tough Questions with Raise the Hammer's Ryan McGreal

Ryan answers 10 Tough Questions (+1) on Cal DiFalco's The Hamiltonian blog.

By Ryan McGreal. 3530 words. Approximately a 11 to 23 minute read.
Posted November 10, 2009 in Essays.

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. 2411 words. Approximately a 8 to 16 minute read.
Posted October 31, 2009 in Blog. (Last Updated November 19, 2009)

Read full entry...

RTH Codebase Redesign

Brand-spankin-new codebase for raisethehammer.org, written in Python, web.py, SQLAlchemy and quandy.

By Ryan McGreal. 29 words. Approximately a 0 minute read.
Posted September 30, 2009 in Projects. (Last Updated December 20, 2009)

Read full entry...

An Open Letter to Lily Allen

File-sharing is an opportunity, not a problem.

By Ryan McGreal. 918 words. Approximately a 3 to 6 minute read.
Posted September 25, 2009 in Blog.

Read full entry...

PyGithubApi

A series of Python functions for interacting with the GitHub API.

By Ryan McGreal. 87 words. Approximately a 0 minute read.
Posted September 24, 2009 in Projects.

Read full entry...

Home

By Ryan McGreal. 150 words. Approximately a 0 to 1 minute read.
Posted September 14, 2009 in Site. (Last Updated November 13, 2024)

Read full entry...

Hamilton 350 Campaign Website

A group of volunteers in Hamilton is organizing events to promote the 350.org campaign. I agreed to put together a website for them.

By Ryan McGreal. 233 words. Approximately a 0 to 1 minute read.
Posted September 10, 2009 in Projects.

Read full entry...

Quandy

Quandy: a sweet, simple library to help you create web applications with Python.

By Ryan McGreal. 50 words. Approximately a 0 minute read.
Posted September 10, 2009 in Projects. (Last Updated September 14, 2009)

Read full entry...

PyTweeter

PyTweeter lets you post status updates to twitter. That's pretty much it for now.

By Ryan McGreal. 111 words. Approximately a 0 minute read.
Posted September 10, 2009 in Projects.

Read full entry...

FormatSql

This library takes SQL and returns (wait for it) formatted SQL.

By Ryan McGreal. 140 words. Approximately a 0 minute read.
Posted September 10, 2009 in Projects.

Read full entry...

Transit Vision

A grassroots vision for public transit in Hamilton in the 21st century.

By Ryan McGreal. 154 words. Approximately a 0 to 1 minute read.
Posted September 10, 2009 in Projects. (Last Updated November 25, 2009)

Read full entry...

Doctypes

Table of common HTML/XHTML doctypes so I don't have to look them up all the time.

By Ryan McGreal. 71 words. Approximately a 0 minute read.
Posted September 10, 2009 in Tools.

Read full entry...

About

About Ryan McGreal, Quandy Factory and the various pages contained herein.

By Ryan McGreal. 990 words. Approximately a 3 to 6 minute read.
Posted September 10, 2009 in Site. (Last Updated November 13, 2024)

Read full entry...

Links

Links to my other online haunts, as well as shout-outs to friends and collaborators.

By Ryan McGreal. 226 words. Approximately a 0 to 1 minute read.
Posted September 10, 2009 in Site. (Last Updated October 13, 2009)

Read full entry...

Productivity and Procrastination

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

By Ryan McGreal. 1986 words. Approximately a 6 to 13 minute read.
Posted September 09, 2009 in Blog. (Last Updated October 29, 2009)

Read full entry...

PyHtmlEdit

PyHtmlEdit is a simple Python text editor optimized for the kinds of HTML formatting that I commonly do.

By Ryan McGreal. 160 words. Approximately a 0 to 1 minute read.
Posted September 09, 2009 in Projects. (Last Updated May 27, 2020)

Read full entry...

Open Source City

The open source city is a combination of new technologies and processes to put municipal governance into the hands of residents.

By Ryan McGreal. 206 words. Approximately a 0 to 1 minute read.
Posted September 09, 2009 in Projects.

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. 232 words. Approximately a 0 to 1 minute read.
Posted May 29, 2009 in Blog.

Read full entry...

City councillors have wrong-way thinking on two-way streets

Why are downtown neighbourhoods uniquely expendable patches of the city fabric?

By Ryan McGreal. 531 words. Approximately a 1 to 3 minute read.
Posted July 19, 2008 in Essays.

Read full entry...

Rapid transit study misses big picture

The Rapid Transit Feasibility Study is an important contribution to the public discussion, but we need to move beyond its limited criteria to appreciate the full benefits of a modern transit system.

By Ryan McGreal. 888 words. Approximately a 2 to 5 minute read.
Posted April 16, 2008 in Essays.

Read full entry...

Time for a change of consciousness

If we are to live up to Earth Hour, why more highways and air flights?

By Ryan McGreal. 1018 words. Approximately a 3 to 6 minute read.
Posted April 02, 2008 in Essays.

Read full entry...

Downtown is for living, not driving

The answer to core problems is density and diversity, not suburban values of separation and speed.

By Ryan McGreal. 1035 words. Approximately a 3 to 6 minute read.
Posted March 30, 2007 in Essays.

Read full entry...

No two ways about it

City streets should foster the connections and interactions between people that add up to city life.

By Ryan McGreal. 836 words. Approximately a 2 to 5 minute read.
Posted November 21, 2005 in Essays.

Read full entry...

Plugging the Leaks

Hamilton can make significant improvements to transportation sustainability without massive capital outlays, simply by leveraging the infrastructure we already have.

By Ryan McGreal. 829 words. Approximately a 2 to 5 minute read.
Posted April 30, 2005 in Essays.

Read full entry...

Filling in the doughnut: a Plan to Revitalize Hamilton

We can’t treat Hamilton’s ailments without knowing what constitutes good health.

By Ryan McGreal. 1590 words. Approximately a 5 to 10 minute read.
Posted January 10, 2004 in Essays.

Read full entry...

A Great Idea at the Time, Doughnut Politics Reasserts Itself

Citizens committed to the suburbs demanded a city that allows them to continue driving everywhere. That means more expressways, more lanes, and more sprawl.

By Ryan McGreal. 926 words. Approximately a 3 to 6 minute read.
Posted November 22, 2003 in Essays.

Read full entry...

Imagine utopia without automobiles

Maybe we can move just a little bit towards communities that are designed for humans and not for machines.

By Ryan McGreal. 776 words. Approximately a 2 to 5 minute read.
Posted June 21, 2003 in Essays.

Read full entry...