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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
'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.
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.
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.
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.
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.
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.
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)
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.
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.
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.
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)
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.
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)
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)
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.
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.
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.
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)
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)
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.
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)
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)
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.
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.
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.
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)
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)
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)
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.
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)
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)
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)
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.
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)
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.
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)
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)
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)
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)
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)
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)
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)
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.
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.
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.
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.
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.
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.
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.
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)
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.
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)
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)
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.
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.
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.
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.
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)
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.
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.
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.
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)
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.
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.
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)
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.
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)
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)
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)
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.
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.
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.
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)
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)
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.
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.
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)
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.
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)
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)
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.
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.
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.
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.
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)
Elizabethan Insult Generator
Exactly what it sounds like.
By Ryan McGreal.
4 words. Approximately a 0 minute read.
Posted December 14, 2009 in Projects.
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)
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.
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.
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)
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)
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.
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.
Home
By Ryan McGreal.
150 words. Approximately a 0 to 1 minute read.
Posted September 14, 2009 in Site.
(Last Updated November 13, 2024)
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.
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)
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.
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.
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)
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.
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)
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)
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)
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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.