Blog

  • How To Save BC Public Schools: My Presentation to the Burnaby Board of Education, April 16, 2025

    I made a presentation to the Burnaby Board of Education (SD41) at their public meeting presenting the proposed 2025/26 budget. The budget proposes more than $4 million in cuts to education programs and critical staff to in what can only be described as a desperate act to deal with the structural deficit.

    Similar situations are playing out across the province as the Provincial Government continues a 30-year practice of chronically underfunding public education while forcing board and districts to stay under budget even when it means cutting into the bone of public education

    Here’s a PDF version of the full 2025/26 budget report from SD41.

    Presentation to the Burnaby Board of Education, April 16, 2025

    My name is Morten Rand-Hendriksen. I’m an immigrant to this country, I am neurodivergent, and I am the proud parent of an 8-year-old in French immersion who already knows more french than I will ever learn thanks to the services provided by the Burnaby School District.

    What we have before us is a budget that doesn’t just cut to the bone: it cuts into the bone of public education. 

    The Burnaby School District faces a financial crisis with long-term cuts that will directly impact our children’s education. This crisis exists despite comprehensive documentation showing exactly how much funding is needed to maintain reasonable educational standards, the consequences of chronic underfunding, and the long-term effects on our society.

    Everyone in the system knows that underfunding schools creates a net negative for our children and ultimately for our society. Yet it persists.

    Whenever education cuts are discussed, the first to be blamed are frontline workers: teachers, principals, and support staff. The public conversation often devolves into questions like: “Why do teachers get so much vacation?” or “Why are they paid so much for doing so little work?”

    In reality, teachers are chronically underpaid, overworked, and undersupported. Any teacher will tell you they spend their own money buying classroom supplies. They work through holidays to prepare lessons. They remain fiercely dedicated despite inadequate funding.

    Like healthcare workers, educators are so passionately invested in their work that they carry on despite economic conditions that would cause normal businesses to collapse. Tragically, this dedication is being exploited through continued funding cuts. The commitment education workers give to our children is being used against them and against our children!

    On first blush it may appear as if our district’s financial crisis and the resulting cuts to education stem from negligence or overspending or mismanagement. This is not the case. The financial crisis we see today has been growing for a long time and is the direct result of underfunding. The cuts we feel – to everything from infrastructure and maintenance to educational programs – are symptoms of a bigger systemic issue. 

    Every year the School District administrators are faced with an impossible task: to allocate insufficient resources as effectively as possible. The Board is in the same situation: They must stay within this inadequate budget by law, even while recognizing its inadequacy. 

    This creates a terrible contradiction: the Board’s role as advocates is undermined by their legal obligation to operate within whatever budget they’re given, regardless of its sufficiency.

    The public sees balanced budgets and assume everything must be ok. Behind the scenes, those budgets are balanced through careful cuts to the education our children deserve and our society needs them to get.

    The ultimate responsibility for where we are today doesn’t sit with teachers, principals, support staff, district administrators, or even the Board. The responsibility sits squarely at the provincial level – with our elected representatives who choose to underfund education. 

    The people we elected to represent our best interests and those of our children are systematically underinvesting in our future.

    Our district’s untenable financial situation is mirrored across the province. The reason you don’t hear about it is likely because regardless of underfunding, the schools still open and kids still get an education. The underfunding is out of sight, out of mind, and left to continue largely unchallenged. Except now we are at a tipping point. If the underfunding continues, schools will no longer stay open. Our kids will be sent home for online learning. Teachers will leave. And we will all pay the price of a generation deprived of proper education.

    To every parent and community member in Burnaby: If we don’t invest in our children today, we add uncertainty to an already profoundly uncertain future. Our children are struggling in the environment we’ve built for them, and underfunding their education only creates further hardship.

    You might hear the argument: “When I went to school, conditions were worse, and I turned out fine.” To this, I say first: I’m sorry you experienced that. And second: your past suffering doesn’t justify our children’s present suffering. Our children deserve better. It’s our job to provide better.

    This is a different world. Our children face enormous challenges, many incomprehensible to us, many not yet fully materialized. We must equip them as best we can to build a society where everyone can flourish.

    Speak to your neighbours and friends, ask questions at your school about how underfunding affects them. And most importantly, speak to your MLA – your elected representatives – and ask what they are doing to reverse this trend and properly invest in our future through public education.

    To the board I have three questions:

    • What have you done to raise awareness among our elected officials about the detrimental impacts of chronic underfunding on our school district?
    • Why hasn’t this advocacy been effective? Why do we face a funding shortfall again this year despite presenting these facts to provincial authorities?
    • Most importantly: What will you do differently moving forward to change this narrative? How will you ensure we aren’t meeting again next year to discuss further dismantling our children’s education?

    Thank you for your time.

  • Breaking the Web

    Breaking the Web

    When the message becomes fascism, the medium is no longer viable.

    I deleted my X (Twitter) account today, erasing +70,000 Tweets and 2.9GB of images and videos dating back to 2008. This broke a small part of the web, severing thousands of threads, conversations, and links far beyond the platform. When future archaeologists sift through the digital sediments of our interactions, they’ll find only gaps and broken links where my Tweets used to be. 

    To prevent impersonation, I created a new account and transferred my old handle. That way I could deactivate my old account and erase all its contents with a single click.

    Link: How to Delete Your X/Twitter Account – a Step-by-Step Guide

    I hate that I have to do this, but my values, morals, and ethics demand it. I believe every person has inalienable rights to justice, equity, and dignity. What X has become is antithetical to all these things and I can no longer comply or stand idly by. So I leave, and take my history with me. 

    I deleted my X account and I urge you to do the same. Here’s why:

    X is playing a pivotal role in the global shift to the far-right and fascism. Our global digital town square has been mutilated into a radicalization engine for far-right anti-democratic extremism. From where I stand, continued use of the platform, no matter how benign, is not only complicity but active participation in this project.

    When Elon Musk bought Twitter in April 2022 I said he would turn the bird app into a nesting ground for far-right ideologies and wield the power of the platform to shape the world to his distorted vision.  What I didn’t expect was the speed and depth of his self-radicalization to its extreme outer fringes. The guy who used to talk about the need for more electric cars now spends his time blasting unhinged conspiracy theories and extremist far-right ideology to his millions of followers.

    X – the thing that lives in the reanimated carcass of Twitter – is a breeding ground for hate and societal collapse masquerading as a global digital town square. Unless you align with these ideologies, there is no argument strong enough to stay. 

    Sticking around means others will too. Leaving your Tweets on the platform means others will go there to read them. Using the platform because that’s where your community is, or where your customers are, or the best way to reach the public in an emergency is baking extremist ideology into our public infrastructure. There is no shelter here. Nor is there neutrality.

    Find your people on Mastodon or Bluesky or some other platform. And make sure you own your own content, so people with terrible ideas can’t use it against you!

    On January 20th 2025, X effectively becomes state media and propaganda apparatus for the Trump government. Musk is using the power of his platform to influence elections all over the world. Whether you’re an individual like me, a business, organization, or government, a journalist, or a media outlet, using and contributing content to X means exposing yourself and your users to that propaganda and submitting to that power and influence.

    Fascism and genocidal far-right ideologies have no place in our society. When hate enters the chat, we must refuse to comply and collectively walk away. If we wait, it’ll soon be too late.

    ¡No pasarán!

  • How to Delete Your X / Twitter Account – A Step-by-Step Guide

    How to Delete Your X / Twitter Account – A Step-by-Step Guide

    Here’s how I deleted my X/Twitter account while retaining control over my handle so nobody else can take it. 

    Caution: Following this step-by-step guide will break the web by removing all your Tweets and any images, videos, and other media files you’ve uploaded. Links to your Tweets will go to a “404 Not Found” page, embeds of your Tweets will no longer work, and searches for your Tweets will return nothing. This is probably what you want, but I’m saying it anyway to make sure you are aware of the consequences.

    NOTE: When you deactivate an X/Twitter account, you have a 30-day grace period during which you can re-activate your account. Once that grace period is over, your account, your Tweets, and your media is permanently erased.

    How to Migrate Your X/Twitter Handle (Username) to Avoid Impersonation

    When you delete your X/Twitter account, your username becomes immediately available, so if someone wants to impersonate you, they can grab that handle and start using it right away. To avoid this:

    1. Grab your computer and open your regular browser.
    2. Log in to your current X account.
    3. Open a separate incognito browser window or a different browser.
    4. Create a new X account with a random throwaway name.
      NOTE: You need a different email account from the one you used for your original Twitter account to do this.
    5. In both browsers, go to https://x.com/settings/screen_name (More -> Settings and Privacy -> Your Account -> Account Information -> Username).
    6. In your original account, change the username to something else, for example [your-handle]OLD. 
    7. In your new account, immediately change the username to your original handle.
      NOTE: When you release an X username, it becomes available immediately so do this right away.

    If everything went right, you now have a new empty account with your old username, and your old account has a new throwaway name. The URL to your old username now points to the new account. 

    How to Deactivate and Delete Your X/Twitter Account

    Once you’ve either migrated your original X username or decided to abandon it, it’s time to deactivate and delete your account.

    1. In your browser, make sure you’re logged into the account you want to deactivate.
    2. Navigate to https://x.com/settings/deactivate (More -> Settings and Privacy -> Your Account -> Deactivate your account).
    3. Press “Deactivate”.
    4. Enter your password when prompted.
    5. Press “Deactivate” again if prompted.

    Once this process is done, you get a drastically reduced UI with the message “Your account is deactivated. Sorry to see you go. #GoodBye.”

    From now, you have a 30-day grace period during which you can re-activate your account. 

  • As the Mask Drops, It’s Time to Face the Politics of Tech

    As the Mask Drops, It’s Time to Face the Politics of Tech

    “Is it really?” She gestured at my hoodie and the bold text across my chest reading “Code is Political.”

    “Profoundly so,” I answered. “When designers and developers build the apps and services, they decide what capabilities and agency other people get to have. Technology is political because it shapes how people act, what people know, and what futures we build.”

    I designed the hoodie to spark conversations like this. When I wear it at tech conferences, people often approach me—sometimes amused or confused, sometimes annoyed—saying, “Stop trying to make everything political! Software is neutral; it has nothing to do with politics.” I respond to them as I did to my friend, adding:

    “The apps and services we build shape how people find information, who they talk to, where they work, play, and relax. We measure the success of technology by how much it influences our behaviour. In just a few decades, our work has transformed society, so much so it’s now impacting the outcomes of elections!”

    At this point, one of three things happen: some people realize they’re not ready for this conversation and change the subject, others walk away, and many respond like my friend did: “Wow. I never thought of it that way. That’s a lot of power—and responsibility!”

    “Life is political, not because the world cares about how you feel, but because the world reacts to what you do.”

    Timothy Snyder, On Tyranny

    Technology happens when someone sees the world, has a vision of how to make it better, and builds that future through augmenting the capabilities of other people. The more successful the technology is, the more closely the future aligns with that original vision.

    This begs three vital questions:

    1. Whose visions shape our future?
    2. Do their visions include all of us?
    3. Are their values in line with our own?

    If the last few days (and years, and decade) have taught us anything, it’s that technology and the online spaces it creates directly influence us—as individuals, communities, nations, and a global society. The mask of value neutrality, worn by tech workers and billionaires as a shield against critique, is now off, leaving us to face the truth:

    Technology is a political project, and we need to start treating it as such.

    Social media, podcasting, ad tech, health apps, facial recognition, deepfakes, AI—all of these technologies profoundly impact our lives. Yet unlike other industries that chose to self-regulate as their influence grew, the tech industry has resisted any meaningful regulation, claiming neutrality while in the same breath warning that regulation would result in competitive disadvantage (and usually pointing at China as the most imminent threat).

    It’s time we do what doctors and machinists and lawyers and engineers and psychologists and every other profession that impacts the lives of people have done: Set ethical standards and practices for our work and urge our peers to join us.

    If I don’t clearcut this forest, someone else will.

    The stories we tell shape our shared intersubjective realities. Today, those stories are broadcast on platforms controlled by billionaire oligarchs with political ambitions, on podcasts by men with ideologies that actively promote the stripping away of rights and dignity for entire groups of people, and in chat-based echo chambers where only aligned voices are heard.

    Technology reflects the values and vision of its creators, and many of the technologies we rely on today manifest futures that serve those closest in power and appearance to their creators, at the cost of everyone else.

    It’s easy to feel that technology is inevitable. It’s not.

    Technology is a choice.

    Today, those of us who work in tech have a choice to make: Do we keep perpetuating the mask of value neutrality, or do we step into our power as the means of production and take responsibility as designers of our collective future?

    I choose the latter, and I urge you to join me. Here’s how we get started:

    1. Build and use tech that align with your values. Invest your time and work in building futures you believe in, and protect your values as you do so.
    2. Make Privacy by Design the standard. Privacy is a fundamental right and an essential protection against personal, corporate, and government overreach.
    3. Work under a Veil of Ignorance. Tech workers the privileged one percenters of technology. To anchor your work in the real world of your users, assume you may become the one most disadvantaged by your own work, the one whose data will be used against them by a corporate or authoritarian government. Design and build solutions that protect everyone’s rights and dignity. 
    4. Listen to people when they tell you their truth. When your work creates conflict, harm, or injustice, your users will feel it before you do. So talk to them, and inform your empathy by listening and learning and accepting their truth.
    5. Approach your power with humility. In the words of philosopher Michael J. Sandel, meritocratic hubris is “the tendency of winners to inhale too deeply of their own success, to forget the luck and good fortune that helped them on their way.”

    As you do these things, understand them as steps to making ethics part of your practice. To make this more explicit, challenge your work using these four frames:

    The Privilege of Action

    Embracing the politics of technology starts with speaking up: naming your concerns, highlighting threats and possible harms, and proposing better solutions. We’ve seen what technology can do, and many leaders are now ready to listen when we raise issues.

    But remember: Ought does not imply can no matter how much it should.

    For many of us, speaking out or stepping away from harmful projects is not an option. Our social safety nets have been systematically unraveled, and speaking up can mean career setbacks, safety concerns, even job loss and loss of access to essential services like healthcare. Being able to speak up is a privilege, and the burden of action falls on those who have that privilege. So as you push ahead against the forces of unregulated utopian techno-solutionism, grant yourself the same empathy, compassion, and grace you extend to those you love. Hold yourself accountable to your own values, keep true to what you believe is right, and forgive yourself when you’ve done what you can and that wasn’t enough. 

    We are social creatures. We shape the world by building community and society and telling stories where everyone is included. We owe it to ourselves to use hope as a catalyst as we work toward a future where everyone is valued and every person’s dignity is upheld.

    Be the enemy of oppression. Keep your candle burning.


    Some of the work that inspired, got quoted or referenced in this article:

    Cross-posted to LinkedIn.

  • Rubicon

    Rubicon

    On Saturday October 12, 2024, a line was crossed in the WordPress open source project that I fear will have a lasting and irrevocable impact on open source as a whole.

    After locking out developers from rival hosting company WP Engine over a trademark dispute, project lead Matt Mullenweg announced the “Advanced Custom Fields” plugin had been forked and a new version titled “Secure Custom Fields” substituted into the supply chain to be automatically installed on every site running the plugin.

    As a result, some 2 million websites, through no action of their own, now potentially run a new plugin maintained by an unknown group of developers unfamiliar with its design and function, while the original developers desperately try to reach their customers to ensure they get the latest updates from the original plugin. For some website owners, the change will cause confusion: They installed “Advanced Custom Fields,” and now they find a new plugin called “Secure Custom Fields” in its place. For others, the change will manifest as a security alert, or a function change, or even a system error. And for most, the change will be invisible – a silent substitution of a trusted product for an untrusted one.

    In any other context, this would be considered a supply chain attack, and for many enterprise, institution, and government users of WordPress it will be read as such.

    In my opinion, this action sets an indefensible precedent for WordPress and open source:

    Expropriating an actively maintained plugin breaks any reasonable trust open source developers can have in distributing their plugins and themes through supply chain services like WordPress.org that are not under transparent and accountable management.

    Forcibly replacing a plugin on millions of websites is contrary to the reasonable expectations of users that the software they are using is provided and maintained by their creators or appointed successors.

    When one person can unilaterally block access to any developer, carbon copy their work, take over the software’s primary location and associated history (support forums, reviews, etc.), and then distribute the new version to existing users, no one can have a reasonable expectation that code posted to that service is safe.

    These actions are the very behaviours open source adherents so deeply despise in closed-source platforms: the claiming of other people’s content and work as their own. This is the richest kid in the neighbourhood saying he alone decides who gets to play in the sandbox, and if he takes your toy, it is your fault for not playing the way he likes. This is the community waking up to the real tragedy: They were never in a commons, they were on private land, and the owner has decided he no longer sees value in keeping up the pretence.

    In the oft cited (and too seldom read) book “The Cathedral and the Bazaar,” open source ideologue Eric S. Raymond uses the ill-fated Maginot Line as a metaphor to describe how traditional software development approaches are too rigid and static to adapt to the fast-moving and dynamic environment software operates in. Raymond proposes open source as a more adaptable and decentralized alternative. What Raymond did not predict was a new Maginot Line forming within open source, manifested as centralized control of the commons by project creators turned “Benevolent Dictators For Life”.

    Open source is at an inevitable crossroad: It won the battle for web supremacy, but lost the plot when it comes to who gets to extract financial value from the work. As a result of the resulting massive inequity, the supply of people willing and able to volunteer their time and work to open source software is dwindling, and open source projects have become dependent on corporate support – the exact thing Raymond and his ideological compatriot Stallman said open source would rid the world of.

    Meanwhile, open source project founders have built vast wealth and power on their creations. They extract massive amounts of capital from the volunteer labor of unpaid contributors, and invest some of it back into the project, often by populating central positions with paid staff that steer the direction of the project in ways that ensure continued corporate benefit for the founder and their friends.

    At the BDFL-level it appears conflict of interest is considered a virtue.

    The future of open source depends on what those with power choose to do with that power. Do they build an equitable system of governance where those who do the work are consulted about and compensated from the riches extracted from their work? Or do they submit to the allure of chokehold capitalism by crushing what is left of their communities with the iron fist of a dictator who no longer sees benevolence as a worthwhile investment.

    The Usurping of ACF may set in motion events beyond the control of the WordPress community and even the greater web community. Ignored by the owner of .org and .com and his ilk, there are wolves at the doors to the open web and they are itching to get in. Big Tech platforms and their lobbyists invest billions to convince lawmakers that the wild and open web is a threat to the safety of children and stability of society. They say only their walled gardens can be trusted, and lawmakers listen.

    Internal chaos in open source already has real-world impact outside the community: Mess with critical infrastructure, and you invite deep scrutiny. Both WordPress and ACF have become critical infrastructure, powering sites for enterprise level businesses, educational institutions, and government entities small and large. To lawmakers informed by Big Tech lobbyists the solution is obvious: Outside corporate control.

    For WordPress, what happens next is largely in the hands of a single man who is increasingly isolating himself and consolidating his power. His choice: Tighten the grip, or let governance in.

    Time will tell if the Rubicon has been crossed. I fear we are past the point of no return, but I have hope and faith in the open source community and in their mutual solidarity.

    And to me, hope is a catalyst. I know it can be for you too.

    Stay true to your values my friends, and build the world you want to live in.

  • As We Break Surface – The AI Transmutation of Web Dev

    As We Break Surface – The AI Transmutation of Web Dev

    “Hey AI, build me a website.”

    It’s a matter of time – probably months, before we get here. I’m surprise we’re not here already:

    Prompt:

    Build me a website based on the documents and images in this Google Drive folder. Make it accessible and usable on all devices. Make it an app users can pin to their phone. Add a text-to-voice feature on every page. Pull in my videos from YouTube and TikTok. Style it to be modern and make the styles easy to change later. Give it a robust back-end API for all the data. And an RSS feed for all users. I want to be ready for the future beyond rectangular screens. Please.

    If I was in any product related to web hosting or code, I’d be building this right now. I’m sure someone is. I’m sure many are. I’ll be roughly -100% surprised when this drops from a major cloud provider or version control service or CMS within the next few months. Actually, I’d be shocked if it didn’t.

    All the automations and frameworks and templates and tools already exist – have for a long time. We’ve been using them to build the modern web. All the back-end hooks and CLIs and CI integrations to do this with any major framework, using any major build process, served from any major host, with any integration, already exists.

    All that’s needed is a sprinkling of AI for harmonization; to boot up a repo, spin up a virtual dev environment, pull the necessary dependencies, set up the configs to match user specs and keys, configure the setup, populate the components and styles and pages, run the build, and push it to the host.

    And once the project is built, in-browser live visual editing with immediate code updates is also already here.

    Builder.io has been close for a while. Cursor and Replit are almost there. Others are hot on their heels.

    This isn’t a future prediction—it’s a future certainty. We are already here, we just haven’t realized it yet. Because nobody has pulled the pieces all the way together. Yet.

    We built our processes for this moment – we just didn’t realize it.

    Building modern websites required knowing frameworks and build processes and optimization and CI and serving strategies, and knowing how to put them together and make them sing. That was where developer expertise came in; In the cryptic knowing and intricate wiring together and alchemic configuration of the pieces to make up the whole. That was the gate. And we kept it closed by building more complex and streamlined developer experiences.

    This, through a different lens, is AI project management. This is already possible – it just needs an interface and the right permissions.

    This is what’s next. And for the web dev industry, it’ll be upending, revolutionary, a transmutation.

    This is also coming for every other software dev field, it’ll just take a bit longer.

    Devs will still have work, plenty of it. It’ll be different work. More demanding, and interesting, and challenging, and human work.

    When AI makes coding and project management cheap, when throwaway software becomes ubiquitous and sufficient for the task, when one-size-fits-all becomes one-experience-for-every-user, the value of a skilled developer shifts – from coding and management to product design, and accessibility, and internationalization, and user experience, and data management, and privacy, and security, and serving the user the data and interaction they need, in their context, in their moment, at their convenience and control.

    And all this at the end of the web as a screen-based platform where the same website serves every user.

    Are you ready for what comes next?

    Cross-posted to LinkedIn.

  • It’s time to abandon reckless oil propagandists

    A response to Dan McTeague’s Financial Post opinion piece “It’s time to abandon reckless EV mandates” published July 03, 2024.

    With his head firmly buried in the Athabasca oil sands, fossil fuel advocate Dan McTeague brought his anti-progress bullhorn to the Financial Post today, rehashing anti-EV arguments as outdated and divorced from reality as the industry he plays mouthpiece for.

    By McTeague’s reckoning, the Canadian taxpayer will be “on the hook for generations to come” for the “Electric Vehicle Availability Standard” that mandates all new vehicles sold in Canada must be electric by 2035.

    Never mind that Canada is joining the EU in this effort and that global car manufacturers are following suit; were we to believe McTeague’s description of reality, a transition to EVs in Canada would “disproportionately harm Canadian workers and families” and “do serious damage to our economy.”

    Good news then that his arguments fall flat when exposed to the most basic scrutiny.

    Let’s look at them one by one:

    Claim number one: “the technology is simply not there for electric vehicles to be a reliable source of transportation in Canada’s climate.” 

    Reality check: While it’s true battery electric vehicles lose some of their charge and performance in colder climates, this concern is blown out of proportion for anything except long-haul driving. EV adoption in countries with comparable climates to Canada including Norway and Finland shows that battery EVs are a viable alternative even in colder climates. The main challenge here isn’t lack of reliable EV technology; it’s lack of sufficient charging infrastructure. We’ll get to that later.

    Claim number two: “the EV market relies heavily on government subsidies.”

    Reality check: This is true, and for good reason: Subsidies work, as proven by the estimated $4.8 billion Canada spends on fossil fuel subsidies every year. To bring forward a just energy transition, the government should invest at least as much on subsidies for technology that weans us off fossil fuels as it does propping up the fossil fuel industry. The good news here is unlike fossil fuel subsidies, EV subsidies are a temporary measure. EV incentives in Norway have been so successful the country has started the process of phasing them out, and we can expect the same to happen in Canada over time. Meanwhile, the fossil fuel industry remains dependent not only on subsidies, but on outright bailouts from taxpayers. If McTeague is concerned about the cost of subsidies, I have a glass house to sell him.

    Claim number three: “EVs are prohibitively expensive.” 

    Reality check: Battery electric vehicles are a relatively new technology, and with new technology comes higher cost at the onset. That said, the average price of an EV in Canada is going steadily down, and new cheaper models and brands are coming to market on a monthly basis.
    EV technology is also in its infancy where ICE technology is mature. We have a long way to go with EVs, and new better technologies will bring prices down and quality up for a long time.

    There’s another mechanism at play here too that puts an additional kink in McTeague’s argument: He says, “at a fundamental level the government’s push for electric vehicles encroaches on the operation of the free market,” suggesting that subsidies are keeping EV prices artificially low. In reality, the Canadian government is actively working to suppress that free market in the opposite way; by leveling heavy tariffs on new cheaper EVs from Asia. This move is meant to protect the North American car industry, but European car manufacturers say such tariffs will harm them and their American counterparts. If McTeague truly wants to protect the free market and lower the cost of EVs, his beef isn’t with the subsidies; it’s with the tariffs.

    Claim number four: “the costs of maintaining an EV are high.”

    Reality check: According to a comprehensive breakdown by Forbes UK, while the maintenance cost of an EV is higher than an ICE, the need for maintenance is much lower. And because EVs have fewer moving parts, don’t need oil changes, etc, servicing costs of these cars is significantly lower than comparable ICEs. McTeague’s specific example of battery replacement is a red herring since such replacements typically fall under warranty or insurance.

    Claim number five: “our electrical grid isn’t ready for the excess demand that would come with widespread EV adoption.”

    Reality check: This is absolutely true, and it has nothing to do with EVs and everything to do with aging infrastructure. The world is in an energy crisis brought on by the disparity between our ever-increasing demand for electricity and our aging energy production and transmission infrastructure. We have a major challenge on our hands to drastically build out energy production and transmission over the next decade to support everything from EVs to AI, and demand for high-efficiency EV chargers may be the boost we need to get that process started. Alongside our transition to EV’s, both federal and provincial governments are investing in bringing energy production home via solar panels and power walls. And realizing you can charge your EV for free from home with solar panels is a major incentive in itself. Rather than point at our aging infrastructure as a reason to stall the EV transition, McTeague should join the calls for new building codes that require solar panels on every roof, neighborhood energy storage, and upgrades of our electrical grid including transitioning from 120V to 240V as a standard.

    Claim number six: “The sheer number of new charging stations required by wholesale adoption of EVs will strain our distribution networks.”

    Reality check: Our society spent the past century building elaborate distribution networks to power ICEs. No matter what road you are on in Canada, you are a reasonably short drive away from a gas station. Meanwhile, the buildout of EV charging networks in Canada has only just begun and those networks are already extensive. Here it’s important to look at the much wider picture. Unlike gas stations, EV chargers have minimal environmental impact, are cheap and easy to install, and can be installed anywhere. There are already networks in place where homeowners can rent out their EV chargers to anyone at a rate they set themselves, and combined with other green energy initiatives like solar panels on every roof, we are moving towards a future where we can create a new viable industry of small scale charging providers without the long-term environmental remediation efforts associated with gas stations.

    Claim number seven: “the federal government is operating under the assumption that if you somehow create a supply, that will inspire a demand. This hasn’t worked in any of the countries where it’s been attempted, which is why nations around the world have started to tap the brakes on EV mandates.”

    Reality check: This claim is taken straight out of the fossil fuel lobby playbook, and is demonstrably false. In Norway, 82% of new vehicle sales are EVs. Germany, the USA, and most other markets are seeing a steady and rapid rise in EV sales. When Republican lawmakers put this claim to United States Secretary of Transportation Pete Buttigeg he spent a solid 3 minutes debunking it with stats. I encourage McTeague to listen to what he had to say.

    A final reality check: We are all suffering the festering sores of the bed the oil sector has made for us. McTeague is right in one respect: Canadians can’t afford to keep buying new expensive cars; not because the cars are expensive but because our society can’t sustain our dependency on cars. What we need is a drastic rethink of how we get to where we live, work, and play and how we make our communities and our societies more sustainable. While Europe and Asia built elaborate public transit systems and high-speed intercity rail, the North American oil industry spent the past 100 years ensuring we built our communities around the personal car. The result is congested roads, endless commutes, and nighttime streets that look like industrial parking lots. 

    It is time we abandon the reckless oil propaganda that wrought us the climate crisis, dysfunctional transportation infrastructure, and our dependence on the personal car. EVs play a part in that transition but the main job we need our elected officials to do is stop propping up a destructive industry and stop listening to their apologists. 

    Oil companies had their century and made a killing on the back of our climate. Now their chokehold on our economy is slipping, so they lash out at anything that doesn’t drip hydrocarbons. It’s time for them to clean up the mess they made and step aside so we can all get the just energy transition we deserve.

  • AI Training and the Slow Poison of Opt-Out

    AI Training and the Slow Poison of Opt-Out

    Asking users to opt-out of AI training is a deceptive pattern. Governments and regulators must step in to enforce opt-in as the mandated international standard. In my opinion.

    In May 2024, European users of Instagram and Facebook got a new system message informing them all their public posts would be used for training AI starting June 26th. To exclude their content from this program, each user (and each business account) would have to actively opt-out – a process that requires knowing where to go and what to do. Additionally, even if you do opt out, and even if you don’t even have a Facebook account, Meta grants itself generous rights to use any content it can get its hands on for AI training. From their How Meta uses information for generative AI models and features page:

    “Even if you don’t use our Products and services or have an account, we may still process information about you to develop and improve AI at Meta. For example, this could happen if you appear anywhere in an image shared on our Products or services by someone who does use them or if someone mentions information about you in posts or captions that they share on our Products and services.”

    Bottom Trawling the Internet

    Meta is not alone in this. The established standard for acquiring AI training data has been to scrape the internet of any publicly available data and use it as each AI company sees fit. And as with bottom trawling, the consequences to privacy, copyright, and the livelihoods of many creators are severe.

    Historically, AI scraping has been done by default, without warning or even acknowledgement, often as part of general web scraping to support search indexes. As awareness of this practice has grown, some companies like Automattic (WordPress.com, Tumblr, etc) and now Meta now offer opt-out features so users can exclude their content from AI scraping, but this often comes with direct consequences to visibility and functionality. My cynical hunch is the platform companies are aware of the public pushback around these practices and they are now covering themselves legally. My hope is platforms offering an explicit opt-out potion means they have realized the wholesale scraping of the web is ethically problematic and they are at least trying to do something about it.

    Here’s the thing: The opt-out is part of the problem!

    Power and the Principle of Least Privilege

    A few years ago I attended a conference where each attendee was given a choice to attach a black or red lanyard to their badges. Black meant the event had permission to take photos and videos of the attendee, red meant they did not. If you didn’t choose (or like me didn’t listen when it was explained) they gave you a red lanyard.

    This is a real-world implementation of the Principle of Least Privilege: Photographers were only allowed to create images of people who gave explicit permission; the attendees who opted in.

    At a different conference that same year I saw the reverse of this approach: Scattered around the venue were posters reading as follows:

    “The [Conference] reserves the right to photograph any attendee for use in promotional materials. If you do not wish to be in the pictures, please notify the roaming photographers.”

    Here, the attendees were opted in by default, and it was up to each attendee to actively opt out at each interaction with a photographer. Needless to say this is not feasible, and as a result everyone at the conference either relented to having their pictures taken or left.

    I think most will agree the first conference acted ethically towards the attendees, the second did not. In fact, the second conference experienced a major backlash after the event, and the following year they handed out “NO PHOTO” stickers for attendees to put on their badges if they so desired.

    There are two important takeaways here:

    First, when it’s a real-world situation, most people immediately see the ethical missteps of the second conference. And second, even so most attendees stayed at the conference knowing they might be photographed against their will.

    The conference created a power dynamic where people who didn’t want to be photographed were left with bad options: Constantly be on guard for photographers to tell them they did not want their picture taken, or leave the conference they paid and probably travelled to attend. It’s unethical, but it’s not explicitly illegal, and in the end it means they get more promo shots to use. So be it if some attendees are uncomfortable.

    AI scraping and the current opt-out strategy falls squarely in the same category as the second conference. While the obvious ethical choice is to let people opt-in to AI scraping, an opt-out option provides just enough cover to not get sued while ensuring broad access to content because most users won’t go through the trouble of opting out – especially if you make the feature hard to find and hard to use.

    My Content, My Choice

    Platforms have long argued they can do what they will with user content. In fact, using user content to meet business needs is the economic basis for most platforms, and this is the bargain we’ve collectively agreed to.

    Building on this premise, platforms and AI companies now want to extend this principle to AI training, claiming both that they have a right to use the data without explicit permission because it’s public, and that not being able to use it without explicit permission would make it impossible for them to operate at all.

    I think it’s high time we to question both these stances:

    Letting platforms do what they wish with our content was always a Devil’s bargain, and we’re now acutely aware of how bad of a deal it really was. The negative effects of surveillance capitalism, filter bubbles, and ad-driven online radicalization engines (nee “recommendation algorithms”) are plain to see and play a significant part in the erosion of everything from privacy to democracy.

    The claim that an entire business category can’t be competitive unless it has free access to raw materials is one we’ve heard before, and again we know the consequences. Bottom trawls and overfishing has depleted our oceans, pollution chokes our air and waters, the exploitation of cheap labour in the global south keeps billons of people in chronic poverty. To say these are false equivalences is to ignore the reality of what we’re talking about. While the actual bits and bytes collected during an AI scrape are not a finite resource, the creative energy that went into creating them are. And the purpose of scraping data from any source is to train a machine to mimic and otherwise use that data in place of a human mind.

    Opt-out is a slow poison because it puts choice just far enough away that becomes out of reach for most people. It makes a choice on our behalf and then forces us to negate it. It’s exactly opposite of how it should be.

    The Choice is Ours

    We are at the very beginning of a new era of technology, and we’re still figuring it all out. This means right now we have the power to make decisions, and the responsibility of making the right decisions.

    This is the moment for us to learn from our mistakes with surveillance capitalism and take bold steps to build a more just and equitable world for everyone who interacts with technology.

    One of the first, and most straightforward steps we can take right now is to make a simple regulation for all tech companies dealing with user data:

    Users must opt-in to any change in how their data is handled.

    And to protect users:

    Choosing not to opt in must not impact the user experience of existing features.

    This puts the onus on the AI companies to get consent when collecting data to train their models, and gives users agency to choose what if any AI training they want their data included in.

    If I wanted to make a name for myself in the political realm, this is where I’d start: With a self-evident regulation protecting the rights of every person to own their own work.

    We shall see.


    Originally published in my newsletter.

  • Ten Questions for Matt Mullenweg Re: Data Ownership and AI

    Ten Questions for Matt Mullenweg Re: Data Ownership and AI

    Dear Matt. 404 Media tells me you’re in the process of selling access to the data I’ve published on WordPress.com and Tumblr to the AI companies OpenAI and Midjourney and that I have to actively opt-out if I don’t want my data included.

    I have ten questions for you regarding this that I think most of your users would also like to hear your answers to:

    The Ten Questions

    1. Why do users have to opt-out of sharing their data with AI companies? This assumes most users agree to share their content with AI services. What data and/or reasoning backs up this assumption?
    2. Who gets the revenues from this data sharing, and how much are those revenues? Specifically, are creators being compensated for their data being sold to a third party?
    3. Who decides on behalf of abandoned sites or sites whose creators are no longer with us? Not everyone has the capability of opting out. Who speaks on their behalf and protects their interests?
    4. How were the affected users consulted on this? And what was their feedback?
    5. What professionals were consulted, and what did they say? Did you consult with legal? Did you consult with your ethics officer (I’m assuming you have one)? Who else were involved in this decision?
    6. How does selling this data line up with your open source principle of users owning their own content? Who do you believe own and have the right to profit from user content hosted on your platforms?
    7. Is the data being sold only from free sites, or does it also include sites the user pays you to host on your platform? If the latter, how do you justify “double-dipping” in the revenue stream?
    8. Why do you believe this is the right decision to make on behalf of your users? And how do you respond to those who say it is not?
    9. How did you pick these commercial AI companies over open source alternatives? Reporting indicates you are in talks with OpenAI and Midjourney. Neither is open source.
    10. Why should we trust you with our data going forward? See The Five Questions of Tony Benn.

    Please respond with a post of your own and link it back here.

    Best regards,

    Morten

  • AI Coding Assistants Made Me Go Back to School

    AI Coding Assistants Made Me Go Back to School

    The introduction of graphing calculators didn’t remove the need to understand math; they removed the need to do rote math and elevated the need to know what to do with it.

    AI coding assistants like GitHub Copilot make the highly specialized and until now in-demand skill of code writing cheap and accessible, shifting the skill demand from knowing how to write code to knowing what the code is for and how to evaluate its quality.

    In other words your AI coding assistant is only as good as your knowledge of software design and development.

    To use AI coding assistants effectively, it’s imperative that you know not only what you want done, but how to do it and how not to do it.

    AI coding assistants can quickly conjure up semantically correct code snippets based on their training data, but have no knowledge or understanding of how to actually build code, let alone what the purpose of the code is for.

    They are spicy autocomplete for code. Nothing more, nothing less.

    With an AI coding assistant at your fingertips, a coding task that previously would take hours to complete can be done in minutes. This has enormous implications for you as a software developer and for anyone getting into the industry today:

    It’s no longer enough to learn to code or know how to code well. You need to learn why how to validate and optimize the code, how to ensure the code is up to latest standards and best-practices, etc. But more importantly, you need to learn how to design the software you’re building and then provide the necessary instructions for the AI coding assistant to do the rote work of writing the code for you. It’s a massive step up in skill and scope, and it means many people in the industry need to retrain to avoid becoming obsolete.

    I myself am not immune to this. Which is why I, a 20 year industry veteran and senior tech educator, have gone back to school to take basic Data Science classes at the University of British Columbia.

    And it’s already paying off:

    This past week I was tasked to build an AI-powered app for my colleagues. But before I could even get to the AI part I had to do a metric tonne of data processing. The project involved taking data from several different sources, conforming it to a consistent format, connecting the various data together to reflect their relationships, paring it all down leaving only the pieces I needed, converting it to tidy data, and then generating embeddings from the data.

    Six months ago I would not have known where to start or even that I needed to do any of this work. And more importantly for our current context, I would not know how to instruct my AI coding assistant to do these things, because I didn’t have the necessary language and understanding to formulate the correct prompts.

    However, thanks to my newly acquired and rapidly developing skills I was able to work with my AI coding assistant to process the data and get to a point where the actual AI work could begin.

    That “work with my AI coding assistant” was about 80% telling it what I wanted done, it getting it fundamentally wrong, or going off the rails, me iterating over multiple ideas to narrow down the scope until the assistant finally generated some meaningful code, then running the new code, moving on to the next step, and starting the process over again.

    Which sounds like a colossal waste of time but was actually enormously helpful. The AI coding assistant saved me hours of work by eliminating the need to look up specific code syntax and functions and evaluating edge cases. It also enabled me to rapidly experiment and iterate over different approaches, and debug the code as I implemented it.

    The process often went like this:

    Me: I have [some code/data structure]. I want this [desired output]. Give me only the code.
    AI: [Code]
    Me: This outputs [incorrect output]
    AI: Oh, sorry. My bad. Try this instead [new code]
    Me: That works. Now I want to add [new thing]
    AI: Here's the same code, with [new thing] added.
    Me: This outputs [incorrect output]
    AI: Oh, sorry. My bad. Try this instead [new code]
    etc

    For this to be an effective process, two conditions need to be met:

    1. I need to know what I’m doing
    2. I need to know how to work with the AI system

    Condition 1 is met by me upskilling to expand my understanding not only of coding languages (this project required advanced Python for data science) but also higher-level design and thinking about what I’m actually trying to do.

    Condition 2 is met by me spending a lot of time working with AI systems to find their fences, cliffs, tracks to nowhere, and inherent biases. For example: If you use ChatGPT or a custom GPT to write large bulks of code and you keep iterating over the same code, the system will start outputting incorrect code. This happens because with every new prompt the system re-ingests its own old (often incorrect) code and starts repeating the bad patterns. To get around this problem, after a few cycles of iteration start a new chat with the latest version of your code. Now the AI “memory” won’t get muddled by past mistakes.

    From all of this, take away these three things:

    1. AI coding assistants are here to stay. Learn to use them or be replaced by someone who does.
    2. Invest in upskilling and re-skilling. Your job is now less about coding than managing someone (an AI coding assistant) who does the coding work at a … somewhat passable level.
    3. Learning to code is no longer enough: You also have to learn why to code and how to check the work of your AI coding assistant. That’s a whole new level of skills and expertise.

    This is the future, already here in front of us. Join me in upskilling to push humanity and software development forward!

  • Is OpenAI imposing a Token Tax on Non-English Languages?

    Is OpenAI imposing a Token Tax on Non-English Languages?

    Is OpenAI imposing a token tax on non-English languages? The token count on international languages are significantly higher than English. This is a serious accessibility and equity issue for the global majority who use languages other than English.

    I did an experiment using OpenAI’s Tokenizer: Get the token count for the same text in different languages, adjusted for character count. Here are the results:

    • ?? English: 105 tokens
    • ?? Spanish: 137 tokens
    • ?? French: 138 tokens
    • ?? German: 138 tokens
    • ?? Dutch: 144 tokens
    • ?? Norwegian: 157 tokens
    • ?? Hungarian: 164 tokens
    • ?? Arabic: 286 tokens

    For ChatGPT users this means international users will hit the token window limit faster resulting in higher risk of “hallucinations,”, reduced response quality in longer conversations, and reduced ability to process larger volumes of text.

    For OpenAI API users this also means significantly higher cost for every prompt and response as they are charged per token.

    For English, the tokenizer counts most words as one token. For non-English languages, most words are counted as two or more tokens. This is likely because English dominates the training data GPT was built on, and results in an effective token tax on non-English languages, especially smaller and more complex languages.

    As AI becomes an ever more present component of our lives and work, this token tax poses a significant equity problem disadvantaging the global majority and anyone not using English as their primary language.

  • The children on the ground

    The children on the ground

    I remember my mom crying to the evening news. When I asked her why, she answered “the children.” The screen she was watching told the story of a young child, unaccompanied and unidentified, carrying an even younger sibling across a desert to escape a war. I was a child myself back then, and all I understood was how wrong this was – so wrong it made my mother cry.

    Since then I’ve seen the image repeated again and again. The scenery changes, as do the children, but the story remains the same: Across deserts and fields, rivers and oceans, roads and railroad tracks, children walk towards the unknown because anywhere and anything is better than the atrocities they’ve witnessed and the violence their bodies have endured in what was once their home.

    I remember terror in the eyes of a Romanian boy when the Norwegian army showed up to drop off sleeping bags for an upcoming island excursion at our summer camp. I think it was 1990. A delegation of four kids from Bucharest had joined 45 other 11-year-olds from around the world for a month of cross-cultural activities in Kristiansand, Norway. As the army truck pulled up, the Romanian kids shrunk into the background. Later I learned they thought they’d be taken away. “Why?” I asked. “Because some of their family members were taken by the military,” a camp leader explained. “And they never came back.”

    I remember confusion when Yugoslavian refugee kids started arriving at our school. They came alone or in pairs, at random times, always without assistance. I was in 7th, or maybe 8th grade. They were airlifted from war and ethnic cleansing in their homeland to bucolic lethargy on a peninsula outside the frozen capital of Norway and sent to school knowing nothing of the local language or what had become of their families. The pull-down maps in our classroom were old. They showed a Germany split in two, a Yugoslavia still intact. A teacher told us to welcome our new friends and invite them to play. We tried. We didn’t know how. They lived in an asylum centre. They wore hand-me-down clothes from our own families. They were angry, and confused, and depressed. They were just kids, but they’d already endured events even adults can’t handle. Yet somehow they were expected to adapt: plug in and normalize. Some were there one day and then gone the next – sent off to other asylum centres in the country or, if they were lucky, reunited with their families in a proper new home. Others were sent back to their old homes, and a fate unknown.

    I remember friends at university, home from UN peacekeeping missions in Lebanon, Somalia, and the former Yugoslavia, haunted by what they’d seen. All of them talked about the children. “So many of them were born into conflict,” one explained. “Their entire lives lived under the boot of war. They suffered from malnutrition, injuries, and treatable illnesses. They had no access to education or healthcare or even food. They would hang out outside our base looking for handouts. Food, money, toys, whatever we would give them. And then they died, from a stray bullet or a rocket or an infected cut or some easily curable disease. And if they somehow survived, they were picked up by the war machine and turned into weapons.”

    I remember a child lying face down in the surf off the coast of Greece. “It’s terrible what is happening over there,” someone said in the mall food court in Vancouver, Canada, and their lunch companion responded “Come on! Nobody forced them! They chose this, and now they are paying for it. You don’t see me on a refugee boat crossing the Mediterranean!” That same week a high school friend texted me from another beach in Greece. She’d gone there on vacation and ended up staying on for weeks helping with the relief effort. “I have to leave,” she said. “I can’t watch another child die.”

    Faced with the atrocities of the world our minds bring the curtains down on our empathy.

    Not my kin. Not my war. Nothing I can do.

    But they are our children; maybe not from flesh and blood or culture and creed or nationality, but from humanity. They did not choose to live through war; they were plunged into it by forces they have no control over and decisions they have no say in.

    We owe it to ourselves to pull those curtains back up. There, as the saying goes, but for the grace of luck and good fortune, go we all. 

    In my 45 years I have never felt war on my body. That is an extraordinary privilege not afforded to hundreds of millions of people around the world. And while I can’t resolve the conflicts of the world, I can lend a hand to those on the ground who are doing the work of making life livable for the people who have been displaced and turned refugees by conflict and war.

    According to the Norwegian Refugee Council (NRC), at the end of 2022 there were 108 million people around the world displaced from their homes by conflict, violence or persecution – the highest figure ever recorded. By the end of 2023, that number will be significantly higher.

    Today, I see my son’s face in every child fleeing from and victimized by conflict and war. Now, I understand why my mother wept. Every child hurt by conflict is our child hurt by conflict. Every child hurt by conflict is one too many. We can, and we must, do better: for the children, for their families, for ourselves. When a child is forced to flee a conflict, or is harmed or even killed by it, we have failed in our most basic duty as human beings and as a society: To care for those who can’t care for themselves.

    To help children displaced by conflict and war, consider supporting one of these international relief organizations or a child-focused relief organization of your choice: