14 Characteristics of Fascism: Umberto Eco on Ur-Fascism

Let’s try to define (or at least describe) fascism, shall we? Fascism: “a populist political philosophy, movement, or regime (such as that of the Fascisti) that exalts nation and often race above the individual, that is associated with a centralized autocratic government headed by a dictatorial leader, and that is characterized by severe economic and social regimentation and by forcible suppression of opposition” (Merriam-Webster) Notoriously difficult to define, Umberto Eco nevertheless highlighted 14 aspects of what he called “Ur-Fascism” (PDF): ...

June 10, 2025 · 2 min · joshuapsteele

198 Ways to Fight Tyranny: Methods of Nonviolent Action from Gene Sharp

The following 198 methods of nonviolent action are taken from Gene Sharp’s The Politics of Nonviolent Action. (For more information and resources along these lines, make sure to visit my /resist page.) The Methods of Nonviolent Protest and Persuasion Formal Statements Public Speeches Letters of opposition or support Declarations by organizations and institutions Signed public statements Declarations of indictment and intention Group or mass petitions Communications with a Wider Audience Slogans, caricatures, and symbols Banners, posters, and displayed communications Leaflets, pamphlets, and books Newspapers and journals Records, radio, and television Skywriting and earthwriting Group Representations Deputations Mock awards Group lobbying Picketing Mock elections Symbolic Public Acts Displays of flags and symbolic colors Wearing of symbols Prayer and worship Delivering symbolic objects Protest disrobings Destruction of own property Symbolic lights Displays of portraits Paint as protest New signs and names Symbolic sounds Symbolic reclamations Rude gestures Pressure on Individuals “Haunting” officials Taunting officials Fraternization Vigils Drama & Music Humorous skits and pranks Performances of plays and music Singing Processions Marches Parades Religious processions Pilgrimages Motorcades Honoring the Dead Political mourning Mock funerals Demonstrative funerals Homage at burial places Public Assemblies Assemblies of protest or support Protest meetings Camouflaged meetings of protest Teach-ins Withdrawal and Renunciation Walk-outs Silence Renouncing honor Turning one’s back The Methods of Social Noncooperation Ostracism of Persons Social boycott Selective social boycott Lysistratic nonaction Excommunication Interdict Noncooperation with Social Events, Customs & Institutions Suspension of social and sports activities Boycott of social affairs Student strike Social disobedience Withdrawal from social institutions Withdrawal from the Social System Stay-at-home Total personal noncooperation “Flight” of workers Sanctuary Collective disappearance Protest emigration (hijrat) The Methods of Economic Noncooperation: Economic Boycotts Action by Consumers Consumers’ boycott Nonconsumption of boycotted goods Policy of austerity Rent withholding Refusal to rent National consumers’ boycott International consumers’ boycott Action by Workers & Producers Workmen’s boycott Producers’ boycott Action by Middlemen Suppliers’ and handlers’ boycott Action by Owners & Management Traders’ boycott Refusal to let or sell property Lockout Refusal of industrial assistance Merchants’ “general strike” Action by Holders of Financial Resources Withdrawal of bank deposits Refusal to pay fees, dues, and assessments Refusal to pay debts or interest Severance of funds and credit Revenue refusal Refusal of a government’s money Action by Governments Domestic embargo Blacklisting of traders International sellers’ embargo International buyers’ embargo International trade embargo The Methods of Economic Noncooperation: The Strike Symbolic Strikes Protest strike Quickie walkout (lightning strike) Agricultural Strikes Peasant strike Farm Workers’ strike Strikes by Special Groups Refusal of impressed labor Prisoners’ strike Craft strike Professional strike Ordinary Industrial Strikes Establishment strike Industry strike Sympathetic strike Restricted Strikes Detailed strike Bumper strike Slowdown strike Working-to-rule strike Reporting “sick” (sick-in) Strike by resignation Limited strike Selective strike Multi-industry Strikes Generalized strike General strike Combination of Strikes & Economic Closures Hartal Economic shutdown The Methods of Political Noncooperation Rejection of Authority Withholding or withdrawal of allegiance Refusal of public support Literature and speeches advocating resistance Citizens’ Noncooperation with Government Boycott of legislative bodies Boycott of elections Boycott of government employment and positions Boycott of government depts., agencies, and other bodies Withdrawal from government educational institutions Boycott of government-supported organizations Refusal of assistance to enforcement agents Citizens’ Alternatives to Obedience Removal of own signs and placemarks ...

June 9, 2025 · 4 min · joshuapsteele

20 Ways to Fight Tyranny: Lessons from Timothy Snyder

The following 20 “lessons” are taken from Timothy Snyder’s On Tyranny: Twenty Lessons from the Twentieth Century. Here’s a video of John Lithgow reading the 20 lessons: https://www.youtube.com/watch?v=cXR5HLodsT8. (For more information and resources along these lines, make sure to visit my /resist page.) 1. Do not obey in advance Most of the power of authoritarianism is freely given. In times like these, individuals think ahead about what a more repressive government will want, and then offer themselves without being asked. A citizen who adapts in this way is teaching power what it can do. ...

June 9, 2025 · 5 min · joshuapsteele

14 Youtube Channels I Like

Here are 14 YouTube channels that I really enjoy. Do you have any other YouTube channels you think I might enjoy? Budget Mechanic ChrisFix Essential Craftsman First Class Amateur Grand Roofing Home RenoVision DIY The Honest Carpenter Practical Engineering Project Farm Silver Cymbal Smarter Every Day Stumpy Nubs This Old House Veritasium P.S. For more lists, visit my Lists page!

May 15, 2025 · 1 min · joshuapsteele

The Bible Is Clear about the Poor, Oppressed, and Marginalized

“The Bible is clear…” “The Bible says…” “The Bible is for/against…” How often—especially within American evangelicalism—do these phrases become rhetorical battering rams for partisan talking points? Let’s be honest: the Bible is not a monolith. It is a library of ancient, inspired texts written across centuries, cultures, and genres. “What the Bible says” on any given topic often depends heavily on who’s reading, how they’re reading, and what they bring to the text. ...

May 5, 2025 · 3 min · joshuapsteele

Real-World Authorization Lessons with OpenFGA? I’d Love to Hear Them

Are you using OpenFGA or another Google Zanzibar-inspired authorization engine in the wild—not just for a side project or proof of concept, but in a production environment with real users and systems? If so, I’d love to learn from your experience. My Interest I’m currently working on a centralized authorization system prototype based on OpenFGA. The design is aiming to support fine-grained, relationship-based access control (ReBAC) for multiple business units—each with its own data domain, developer team, and authorization needs. ...

May 5, 2025 · 2 min · joshuapsteele

When the Government Can Kidnap Without Trial, None of Us Are Safe

Imagine waking up to find out that your neighbor—a legal immigrant who works hard, pays taxes, and has never been charged with a crime—was taken away in the middle of the night by government agents. No warrant. No lawyer. No hearing. No chance to defend themselves. Just gone. Then imagine the government claims they’re a danger—but refuses to show any real evidence. And instead of bringing them to a courtroom, they ship them off to a prison in another country. ...

April 18, 2025 · 5 min · joshuapsteele

Devs: How Does Your Personal Laptop Compare to Your Work Laptop?

How does your personal machine compare to your work laptop? If you were going to get a new personal computer/laptop today, what would you go with? Just curious as I consider replacing my aging 2016 MacBook Pro as my personal laptop (especially since costs might go up soon for electronics, due to tariffs). For work, I’ve got a 2019 MacBook Pro. More details below: Personal machine: 2016 MacBook Pro 13-inch 2 Thunderbolt ports 2 GHz Dual-Core Intel Core i5 processor 16 GB memory 250 GB storage Work machine: 2019 MacBook Pro 16-inch 4 Thunderbolt ports 2.6 GHz 6-Core Intel Core i7 processor 32 GB memory 500 GB storage Essentially, I’m thinking of a MacBook Air or MacBook Pro. Not quite sure which specs to go with. I don’t need crazy capabilities at this time for personal hacking/development, but I’d like to be able to build and run stuff locally using stuff like LangGraph to build AI tools. ...

April 9, 2025 · 1 min · joshuapsteele

Saw Updates

The Table Saw I know you’ve all been waiting for (lol) updates on my vintage 1947 Craftsman 113 table saw. I’m happy to report that, after disassembling and cleaning the saw, I was able to put it back together and get it running again! In the process, I installed: A new power toggle switch on the motor housing A safety ON/OFF switch for the front of the saw (where you stand) An 8-inch thin-kerf combination blade A 6-inch motor pulley to replace the original 3-inch pulley (this was recommended in the manual since the motor is a 1750 RPM motor, not a 3450 RPM motor) An adjustable linked v-belt Some larger caster wheels for the base of the saw The rip fence provided some extra challenges, mainly because I accidentally broke the cam/clamp handle that holds the fence in place. I originally repaired the handle with some J-B Weld “SteelStik” epoxy putty, which seemed strong and promising at first. ...

April 1, 2025 · 3 min · joshuapsteele

My Vintage 1947 Craftsman 113 Table Saw

I finally got my first table saw! A 1947 Craftsman 113.22400 8-inch table saw, for $40 on Facebook Marketplace. To Do List I’m excited to start using it, but first I want to do the following: ✅ Disassemble Clean (in progress) Remove Rust (in progress) Lubricate (in progress) Replace faulty power toggle switch (in progress) Replace blade Reassemble Manuals Thanks to the folks over at Vintage Machinery, it was easy enough to find the following manual PDFs for the saw and for the 1/2 HP motor: ...

March 20, 2025 · 2 min · joshuapsteele

Bonhoeffer on Stupidity

In his “Letters and Papers from Prison,” Dietrich Bonhoeffer made some remarkably insightful observations about the nature of stupidity and its dangers to society. These reflections, perhaps more relevant today than ever, deserve our careful attention. Here they are in full. On Stupidity (DBWE 8:43-44) Stupidity is a more dangerous enemy of the good than malice. One may protest against evil; it can be exposed and, if need be, prevented by use of force. Evil always carries within itself the germ of its own subversion in that it leaves behind in human beings at least a sense of unease. Against stupidity we are defenseless. Neither protests nor the use of force accomplish anything here; reasons fall on deaf ears; facts that contradict one’s prejudgment simply need not be believed—in such moments the stupid person even becomes critical—and when facts are irrefutable they are just pushed aside as inconsequential, as incidental. In all this the stupid person, in contrast to the malicious one, is utterly self-satisfied and, being easily irritated, becomes dangerous by going on the attack. For that reason, greater caution is called for when dealing with a stupid person than with a malicious one. Never again will we try to persuade the stupid person with reasons, for it is senseless and dangerous. ...

March 10, 2025 · 4 min · joshuapsteele

Authorization, Continued: Experimenting with OpenFGA, Topaz, and Permify

As I mentioned in my previous post, “Devs, Let’s Talk Authorization!”, I’m working on a new, exploratory work project related to authorization. Specifically, we’re gathering authorization requirements from various orgs across our company and building 1-3 proofs-of-concept of a centralized, fine-grained approach to authorization. Right now, each org handles authorization in its own, usually coarse-grained and role-based way. Clarify Current Requirements The first thing I did was gather and clarify my org’s current authorization model/requirements. We’re heavily role-and-permission-based when it comes to authorization, with a touch of attribute-based access control mixed-in (to make sure that, for example, a user can only view resources related to their company, and not other companies). So, RBAC (role-based access control) with a bit of ABAC (attribute-based access control). ...

March 7, 2025 · 5 min · joshuapsteele

This Shouldn't Be Controversial

The following statements should not be controversial, but they sadly are. What would you add to this list? Donald Trump lost the 2020 election. January 6th, 2021, was an insurrection. Congress, not the President (and much less the President’s unelected adviser), holds the power of the purse. The Judicial branch, and not the Executive branch, interprets the law and the Constitution. No one, not even the President, is above the law. ...

February 19, 2025 · 1 min · joshuapsteele

Devs! Let's Talk Authorization

Calling all software developers! As I embark on a new, exploratory work project, I’d like to hear your thoughts on authorization. How have you designed and implemented authorization in your applications? To get into the weeds a bit, have you opted for RBAC (Role-Based Access Control), ABAC (Attribute-Based Access Control), ReBAC (Relationship-Based Access Control), or something else entirely? What tools or libraries have you found most useful in your work? Have you built everything from scratch, or have you relied on existing frameworks? Open source or commercial solutions? ...

January 23, 2025 · 1 min · joshuapsteele

Stay Woke! Ephesians 5:11-14

With fascism on the rise in the United States of America and around the world, and with many so-called “Christians” gladly supporting the rise of the far-right and attributing it to the will of God, I was struck by these words from Ephesians 5 (which were assigned as one of the readings for Morning Prayer today). Ephesians 5:11-14 (New Living Translation, NLT) 11 Take no part in the worthless deeds of evil and darkness; instead, expose them. 12 It is shameful even to talk about the things that ungodly people do in secret. 13 But their evil intentions will be exposed when the light shines on them, 14 for the light makes everything visible. This is why it is said, ...

January 22, 2025 · 2 min · joshuapsteele