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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
'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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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)
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.
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.
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.
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.
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)
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.
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)
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)
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)
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)
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)
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)
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.
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.
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.
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.
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.
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.
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)
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.
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)
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)
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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.
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)
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.
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)
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.
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.
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)
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)
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.
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.