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. 1608 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. 905 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. 914 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. 571 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. 784 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. 597 words. Approximately a 1 to 3 minute read.
Posted July 28, 2024 in Blog.

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

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. 235 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. 787 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. 1705 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. 1053 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. 917 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. 1000 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. 1032 words. Approximately a 3 to 6 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. 646 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. 658 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. 175 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. 1294 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. 447 words. Approximately a 1 to 2 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. 593 words. Approximately a 1 to 3 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. 1415 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. 361 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. 242 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. 1152 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. 607 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. 352 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. 867 words. Approximately a 2 to 5 minute read.
Posted March 19, 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. 610 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. 792 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. 539 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. 742 words. Approximately a 2 to 4 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. 1116 words. Approximately a 3 to 7 minute read.
Posted March 16, 2021 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. 970 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. 644 words. Approximately a 2 to 4 minute read.
Posted June 01, 2020 in Blog.

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. 240 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. 1848 words. Approximately a 6 to 12 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. 1027 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. 892 words. Approximately a 2 to 5 minute read.
Posted January 30, 2019 in Blog.

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

Read full entry...

Jordan Peterson Conspiracy Theory Generator

Just a bit of silliness on a Friday morning.

By Ryan McGreal. 707 words. Approximately a 2 to 4 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. 7831 words. Approximately a 26 to 52 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. 1888 words. Approximately a 6 to 12 minute read.
Posted June 05, 2018 in Blog.

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. 3756 words. Approximately a 12 to 25 minute read.
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. 892 words. Approximately a 2 to 5 minute read.
Posted August 23, 2017 in Blog.

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. 3620 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. 10905 words. Approximately a 36 to 72 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. 2111 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. 1566 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. 4195 words. Approximately a 13 to 27 minute read.
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. 3116 words. Approximately a 10 to 20 minute read.
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. 1098 words. Approximately a 3 to 7 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. 2614 words. Approximately a 8 to 17 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. 936 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. 613 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. 733 words. Approximately a 2 to 4 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. 791 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. 307 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. 522 words. Approximately a 1 to 3 minute read.
Posted January 18, 2013 in Blog.

Read full entry...

Bill C-38

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

By Ryan McGreal. 1141 words. Approximately a 3 to 7 minute read.
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. 643 words. Approximately a 2 to 4 minute read.
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. 866 words. Approximately a 2 to 5 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. 8319 words. Approximately a 27 to 55 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. 144 words. Approximately a 0 minute read.
Posted January 04, 2012 in Blog.

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

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

Read full entry...

Ubuntu 10.04 First Thoughts

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

By Ryan McGreal. 1280 words. Approximately a 4 to 8 minute read.
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. 2077 words. Approximately a 6 to 13 minute read.
Posted April 15, 2010 in Blog.

Read full entry...

CouchDB Working Notes

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

By Ryan McGreal. 1577 words. Approximately a 5 to 10 minute read.
Posted April 09, 2010 in Blog.

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. 122 words. Approximately a 0 minute read.
Posted February 26, 2010 in Blog.

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. 4116 words. Approximately a 13 to 27 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. 1038 words. Approximately a 3 to 6 minute read.
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. 1063 words. Approximately a 3 to 7 minute read.
Posted January 08, 2010 in Blog.

Read full entry...

Newsfeed Bug: Fixed

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

By Ryan McGreal. 37 words. Approximately a 0 minute read.
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. 679 words. Approximately a 2 to 4 minute read.
Posted December 18, 2009 in Blog.

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

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. 2360 words. Approximately a 7 to 15 minute read.
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. 1940 words. Approximately a 6 to 12 minute read.
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. 897 words. Approximately a 2 to 5 minute read.
Posted September 25, 2009 in Blog.

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

Read full entry...