{
  "version": "https://jsonfeed.org/version/1",
  "title": "Aaron Vegh's Blog",
  "home_page_url": "https://aaron.vegh.ca",
  "author": {
    "name": "Aaron Vegh"
  },
  "items": [
    {
      "id": "",
      "url": "https://aaron.vegh.ca/2026/05/lets-indigo",
      "title": "[✉️] Let’s Indigo",
      "content_html": "\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/619072977853536011_large.png\" alt=\"Indigo for iOS\"\u003e\nToday, Ben McCarthy and I are launching \u003ca href=\"https://soapboxsoftware.net\"\u003eIndigo\u003c/a\u003e. It’s a full-featured client for both Mastodon and Bluesky, available on iPhone, iPad and macOS. \u003ca href=\"https://apps.apple.com/us/app/indigo-for-bluesky-mastodon/id6763755310\"\u003eGo get it on the App Store\u003c/a\u003e!\u003c/p\u003e\n\u003cp\u003eAt the time we began work on this app in the fall of 2024, there was a consensus opinion that you couldn’t combine these two networks. Two text-based social networks, each with their own distinct \u003cem\u003echaracters\u003c/em\u003e (both in terms of the people and features!), could not help but fall apart under scrutiny.\u003c/p\u003e\n\u003cp\u003eBut Ben and I disagreed with that consensus. With enough thoughtful application, we really felt we could represent the best each service has to offer. For me personally, the motivation was powerful: I was fully invested in Mastodon, but I keenly missed the people I’d followed on Twitter who had migrated to Bluesky instead. I was never going to use two apps to follow both networks. Especially since, while we have truly terrific Mastodon apps, the Bluesky app landscape is barren, missing vital features like cross-client timeline sync.\u003c/p\u003e\n\u003cp\u003eWith Indigo, I really do feel like we’ve nailed the tension between services. Ben’s design makes clear what network you’re viewing in a combined timeline. And where you follow the same person on both services, we show their crossposts with a native group that streamlines your viewing experience, and allows you to respond to both posts jointly. Over a year-and-a-half of development, we came across and resolved so many of those rough edges that cropped up; too many to mention here. The result is, I truly feel, a unique and powerful client that looks great, and will hopefully be loved by many people!\u003c/p\u003e\n\u003cp\u003eBecause making it damn near killed me. I’ve been shipping indie software for almost 20 years, and Indigo has been, by far, the greatest technical challenge I’ve ever faced. I’ve been working on it daily for this time almost without pause, on top of my full-time day job. There were moments where I felt I had to give up on it because I couldn’t reach an acceptable quality standard. I took so many approaches to The Timeline Problem™ that I’ve lost count, writing thousands of lines of code, then tweaking, tweaking, and then throwing it out to try a different approach.\u003c/p\u003e\n\u003cp\u003eThe Indigo we’re shipping today is going to be the worst version; this is what I keep telling myself. It works very well overall, but my eye spots issues even now. It prompts the age-old question of “how good is good enough?”, and I deeply hope the answer is “this good”. It’s time to put my keyboard down and find out.\u003c/p\u003e\n\u003cbr\u003e\n",
      "date_published": "2026-05-12T14:00:09Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/2026/01/a-modest-proposal",
      "title": "[✉️] A Canadian's Call to Arms, Being Totally Pissed Off At the State of Computing in the 21st Century",
      "content_html": "\u003cp\u003eI can’t explain to you how angry I am right now.\u003c/p\u003e\n\u003cp\u003eThey’ve taken the thing I love most and perverted it. They’ve perverted \u003cem\u003eeverything.\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eThe computers. The Internet. The glorious pocket computer. They used to be loaded with possibility. Now they’re a hard-wire, extracting cash from every spare waking moment. And for those of us who build software, we’ve found ourselves increasingly at the mercy of an oligarchy of companies who constrain the possibilities of the platforms, gatekeeping the relationship we have with customers and limiting the kinds of things we can do on those platforms.\u003c/p\u003e\n\u003cp\u003eBut it’s even worse than that. These companies have used their power and influence to centralize the fabric of digital society and the economy, tying it all up in Office 365 and Amazon Web Services. You can choose between Microsoft’s increasingly ad-ridden Windows OS, Apple’s locked-down macOS, or the even-more constrained iOS and Android on mobile.\u003c/p\u003e\n\u003cp\u003eIf you want to have a digital life — and let’s face it, you don’t have a choice — it has to be through the platforms mediated by the wealthiest companies ever known in the history of the Earth.\u003c/p\u003e\n\u003cp\u003eFine, this isn’t news. But here we are in 2026, and it’s become shockingly clear that while the United States is hosting these companies, that country’s policies look increasingly antagonistic to the liberal world order (such as it is). The principles of individual freedom, privacy, human rights, are all under threat. And that’s a funny position to be in, when we’re using their computers, hosting our email on their servers, executing code on their web services, storing our data in their databases.\u003c/p\u003e\n\u003cp\u003eMost governments in Canada and around the world rely on Microsoft’s software. Most businesses route their applications through AWS. Most people tap away their lives on devices built and sold by American businesses, running American operating systems.\u003c/p\u003e\n\u003cp\u003eIt’s like waking up and finding yourself ensnared. And it makes me mad as hell!\u003c/p\u003e\n\u003cp\u003eWe sleep-walked into this. To go parenthetical for a moment, there’s no guiltier party here than the generations of Canadian governments, and so-called captains of industry, who constantly chose to play small-ball because we could rely on the markets and protection of the US juggernaut beneath us. We made ourselves subsidiary, took the short-term gains over the long-term growth path, and now we’ve well and truly fucked ourselves. Go read \u003ca href=\"https://www.dougsaunders.net/maximum-canada/\"\u003eMaximum Canada\u003c/a\u003e to get more of this argument.\u003c/p\u003e\n\u003cp\u003eIs it too late? Probably. But what if something could be done? What would “something” even look like?\u003c/p\u003e\n\u003ch3 id=\"fine-lets-build-it-ourselves\"\u003eFine, Let’s Build it Ourselves\u003c/h3\u003e\n\u003cp\u003eIt looks like a strategy to make our own, better versions of all that shit.\u003c/p\u003e\n\u003cp\u003eSeriously.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eOperating System.\u003c/strong\u003e We need an operating system that can run on any computer. Linux exists, and we can use the parts that make sense. Let’s actually have a Year of Linux on the Desktop. And it needs to work on phones and tablets.\u003c/p\u003e\n\u003cp\u003eThat OS needs to have a development story that makes apps incredibly easy to build. I’m imagining the intentions of SwiftUI, but with greater simplicity and higher-level UI components. The OS would be customizable and hackable, but would eschew the need to fiddle with a baroque set of APIs to achieve smooth scrolling or just the right effect — it would just work. I feel like Apple should’ve built this out years ago, but they’ve lost their way thanks to the iPhone.\u003c/p\u003e\n\u003cp\u003eAll applications should prefer plain text formats, and maximize compatibility to share data among applications. I’m inspired by the original vision for UNIX, which built out a system of pipes to process data with many small tools, but the atomic element was text.\u003c/p\u003e\n\u003cp\u003eThe operating system isn’t enough, of course. There’s a whole suite of services out there that make up the oligarchic web in which we twist.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBusiness Communication.\u003c/strong\u003e Office 365 and Google Apps, the two big heavyweights in business software, including document storage and collaboration, messaging and email services. These should all be replaced by open source alternatives with their data hosted by sovereign resources (domestic hosting providers). \u003ca href=\"https://www.opendesk.eu/de\"\u003eGermany is doing this now\u003c/a\u003e, for example.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWeb Services\u003c/strong\u003e. Amazon Web Services is a massive suite of different services, and it’s the backbone of applications used the world over. S3 stores data, EC2 is hosted compute, Lamba is functions as as service, RDS is database-as-a-service, and the list goes on. There are replacements for all the pieces of this system, but they need to be packaged and marketed as a viable alternative, again, with soverign data. Looks like Switzerland is doing this too.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSocial Network.\u003c/strong\u003e This is the scariest one, because Facebook and TikTok have already won: they’ve hypnotized the masses to swipe, swipe swipe. I don’t know if it’s even possible to sever that connection, but I think it’s critical that we try. Let’s at least get the federal and provincial governments off X.com (Twitter is dead, damn you, stop calling it that), and onto an open platform that has no corporate ownership. \u003ca href=\"https://joinmastodon.org\"\u003eMastodon\u003c/a\u003e is the most-appropriate option, but \u003ca href=\"https://bsky.social/about\"\u003eBluesky’s ATProto\u003c/a\u003e network could fill this roll too. The OS we build could have first-class support for this social network, providing key integrations that make it easy to make a part of its users’ lives.\u003c/p\u003e\n\u003cp\u003eThere’s so much more to think about: identity, payments, participation in public services, voting? And building the platform to do all this, from the ground-up, is a massive undertaking. But the pieces are all just lying around, waiting for us to pick them up and put them together.\u003c/p\u003e\n\u003cp\u003eSo how do we do that? That’s why I wrote this. I want to find out if there’s anyone out there who’s as angry as I am, and who wants to do something about it. Alone, I can gesture wildly and rave like a madman. But with a dozen steely-eyed comrades and some financial support…\u003c/p\u003e\n",
      "date_published": "2026-01-06T01:12:40Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/2025/05/theyre-not-going-to-change",
      "title": "[✉️] They're Not Going to Change",
      "content_html": "\u003cp\u003eI was listening to the \u003ca href=\"https://overcast.fm/+AAB7NDj0-rU\"\u003elatest episode of The Talk Show\u003c/a\u003e, where John Gruber and Stephen Hackett were discussing the way Apple treats developers on its platforms. In the final segment of the podcast, they were talking about Fortnite’s return to the App Store, and segued to a larger dicussion of developers’ increasingly fraught relationship with Apple.\u003c/p\u003e\n\u003cp\u003eIt was particularly amusing to hear this chat because they appeared to talk themselves into the idea that Apple might use WWDC — or the week leading up to it — to launch a \u003cem\u003erapprochement\u003c/em\u003e with developers, to show somehow that they are valued and not treated as feedstock for their services revenue.\u003c/p\u003e\n\u003cp\u003eThis is a particularly momentous time for Apple and its developer community, I think. Vision Pro launched to very little fanfare: a brand-new developer platform that caused a collective yawn among the indies and corporations alike who have realized they exist only to enrich Apple. The Epic court case appears to have reached a sort of resolution, with some \u003ca href=\"https://www.theverge.com/2024/5/28/24158911/apple-v-epic-evidentiary-hearing-app-store-payments\"\u003eprofoundly disturbing findings out of the discovery process\u003c/a\u003e that prove how brazenly, nakedly corrupt Apple is about advantaging themselves over developers. And the very public stance Apple has taken in the way it’s implemented the Digital Markets Act in Europe, a clear case of “malicious compliance”.\u003c/p\u003e\n\u003cp\u003eDo developers think less of Apple in 2025? I can’t speak for anyone else, of course, but to say it myself: hell yeah I do. Back in 1986 when I gazed upon my first Mac, I was a raving fanatic for Apple, so much so that I tied my career to them.\u003c/p\u003e\n\u003cp\u003eNowadays, I grimace when I use Xcode, and in my spare time, I dream of building a new operating system to replace my reliance on the Mac and iOS. Seriously. I have thoughts on this.\u003c/p\u003e\n\u003cp\u003eWhat would Apple have to do to swing me back? I doubt there’s much, but if I were looking for positive signs, here’s a list:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eLower the App Store commision\u003c/strong\u003e, if only for non-games. This actually isn’t that big a deal for me, because there’s so little revenue to be had that another 5-10% isn’t going to move the needle. But it would send a clear signal that Apple is respecting developers more than their goddamn services revenue.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFree the platforms\u003c/strong\u003e. Stop locking shit down, stop all this bullshit about controlling every dollar spent, every link tapped, every API used. Before iPhone, a Mac developer could create any app they wanted using any API. Today, you can’t distribute your app without their tightly-controlled rule-passing, totally arbitrary gatekeeping gestapo saying it’s okay. They control what you can say, what features you can offer, and how you can get paid. In 2025, developers don’t have customers: they are service providers and wholesalers while Apple has the customer relationship. The paid one, anyway: we still get the support email!\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMake developers part of the process\u003c/strong\u003e. Many devs have complained about the Feedback system, an opaque, one-sided black box where our bugs get filed, never to be heard from again. Others have written volumes on this topic, so I’ll let you read that, but Apple should open that system up for greater transparency.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eChange the App Store, somehow\u003c/strong\u003e. Either open it right up (see above) or really smash down hard on quality, letting only the best shit through. I would actually be really excited to see an App Store as curated as what Apple talks about, where the approved titles are of the finest quality, no scams, respected developers, etc. It might be the only thing that might turn the economics of the indie developer around, because you wouldn’t be competing with thieves and scammers, and users might actually be willing to spend money on the good stuff.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’m fully anticipating a WWDC where Craig Federighi does some sick performance art video, and watch Tim Cook talk about how much Apple loves developers, and here’s a heart-warming video about how software changes lives (it does). And then here’s a new OS — now with a third dimension! — and a pile of new AI features that may or may not ever appear, and a bunch of other APIs, and people might get a bit excited about that shit...\u003c/p\u003e\n\u003cp\u003eBut I won’t. I’ll be the one watching it stone-faced.\u003c/p\u003e\n",
      "date_published": "2025-05-28T19:57:31Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/2024/12/this-should-work-better",
      "title": "[✉️] This Should Work Better",
      "content_html": "\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/544034364019758859_large.png\" alt=\"The compiler is unable to type-check...\"\u003eI hate to complain, but I hit a breaking point tonight. While working on my app in Xcode, I ran into this super-common error (in case the image above is broken or something, it’s the \u003cem\u003e“The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions”\u003c/em\u003e error). Again. And the thing you need to know about this error is that it’s a red herring: the problem is almost never that there are too many “sub-expressions” (whatever the hell that means).\u003c/p\u003e\n\u003cp\u003eThis error happens when there’s a genuine syntax error inside the body of the SwiftUI \u003ccode\u003ebody\u003c/code\u003e. The best and easiest way to solve this error is to remove the most recently-added code. Then, carefully scrutinize that code manually until you determine what you’ve done wrong. Fix that, and this error goes away.\u003c/p\u003e\n\u003cp\u003eI want to be patient, but I’m at the end of my rope on this stuff. Back when I wrote apps in Objective-C, error messages made sense, and everything was super-fast. Now, we’ve had Swift for 10 years, and SwiftUI for five years. And as far as I can tell, nothing I do on my $5,000 top-of-the-line M4 Pro chipped computer is challenged quite as much as when it’s chewing on Swift code.\u003c/p\u003e\n\u003cp\u003eSwift is \u003cem\u003eslow\u003c/em\u003e. The compiler is farcically slow. SwiftUI previews are a joke; I learned the keyboard shortcut to close the preview window when it periodically shows up in Xcode (it’s Command-Option-Return, in case you have any \u003ccode\u003ePreview\u003c/code\u003e blocks), because the previews almost never work.\u003c/p\u003e\n\u003cp\u003eI’m only half-kidding when I suggest that Swift is an Apple conspiracy to sell MacBooks Pro to developers who will do anything to shave a few seconds off the compile time.\u003c/p\u003e\n\u003cp\u003eAnd you know it’s bad, because if you do any other kind of development — such as web development in Go, or script programming — that shit is \u003cem\u003eblindingly fast\u003c/em\u003e on this computer. It’s instant. And I could program for days on a single charge. With Xcode, my battery is burned to the ground in 4 hours.\u003c/p\u003e\n\u003cp\u003eSo what’s going on here? I don’t care anymore. I just want it to be better.\u003c/p\u003e\n",
      "date_published": "2024-12-10T02:54:16Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/2024/12/dear-elon",
      "title": "[✉️] Dear Elon",
      "content_html": "\u003cp\u003eHey Elon. It’s me, Aaron Vegh.\u003c/p\u003e\n\u003cp\u003eYou won’t read this, but I’m going to write it anyway. You are the wealthiest human on the planet. You will appear in history books. I am a modest technologist living a normal life in a mediocre country. I will be forgotten shortly after I die.\u003c/p\u003e\n\u003cp\u003eSo this is a silly exercise; the asymmetry between us is colossal.\u003c/p\u003e\n\u003cp\u003eBut here’s the thing. You were doing so well! And now, you’re just not.\u003c/p\u003e\n\u003cp\u003eI remember the old days, when you seemed so incredible, so superhuman. You bought Tesla, and made electric cars real. You bought SpaceX, and you made space so much more accessible. You clearly felt the mandate to improve humanity, fighting climate change, and giving us a vision for a future beyond the earth. You were doing something almost nobody else gets to do as a private citizen: you moved the needle.\u003c/p\u003e\n\u003cp\u003eAnd I admired you for it. You don’t know this about me, but I resist admiring people I don’t know personally. But your work is too great to ignore. Technological optimism, whether we were ready for it or not. I am always ready for it. Bring on the future! You used to do that.\u003c/p\u003e\n\u003cp\u003eI don’t know what happened to that Elon. Tesla’s stalled. Tunnels weren’t a thing. Hyperloops were a pipe dream. SpaceX seems to be doing well, though. I think that’s Gwynne Shotwell running things there now.\u003c/p\u003e\n\u003cp\u003eBut you’ve been focused on other stuff. You turned into an online presence, I guess. Maybe there’s something corrupting about all that money, and all the adulation from people like me. Maybe you’re surrounded by people who never push back. Maybe there’s a part of you that wants to see how crazy you can sound before someone waves you off. Maybe you’re finding there is no end.\u003c/p\u003e\n\u003cp\u003eYou shouldn’t have purchased Twitter. That’s a distraction from your important work. You shouldn’t be online shouting about conspiracy theories. You shouldn’t be on Joe Rogan smoking pot. You shouldn’t be slagging trans people, especially and including your daughter. That’s vile.\u003c/p\u003e\n\u003cp\u003eYou should most definitely \u003cem\u003enot\u003c/em\u003e be connecting yourself to Donald Trump. He’s a narcissistic fascist, and you don’t need to be a commandant in the White House to get what you need to do the important work. I don’t know why you think you need to spread hate and sow division.\u003c/p\u003e\n\u003cp\u003eYou need to be back at Tesla, making the next generation of electric cars. Figuring out the chemistry for cheaper batteries. Ramping up assembly lines of thorium-powered molten salt fusion reactors. Midwifing the green technlogies that are actually going to improve things on this planet for the most people.\u003c/p\u003e\n\u003cp\u003eSo I don’t know who you need to hear this from, but you need to shake off the sickness and get back to work.\u003c/p\u003e\n\u003cp\u003eCheeers,\u003c/p\u003e\n\u003cp\u003eAaron.\u003c/p\u003e\n",
      "date_published": "2024-12-02T01:09:37Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/539648308285593355",
      "title": "[µ] Croissant 1.2 just submitted for App Review. Here ",
      "content_html": "\u003cp\u003eCroissant 1.2 just submitted for App Review. Here comes the share extension that I was whining about the last couple weeks! Thanks to all for the help (but especially @maxgoedjen@maxtodon.lol)\u003c/p\u003e\n",
      "date_published": "2024-11-09T20:44:16Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/539481058031228683",
      "title": "[µ] Low-key terrified that if I step into an Apple Sto",
      "content_html": "\u003cp\u003eLow-key terrified that if I step into an Apple Store now, I’m gonna be forced to walk out with a sweet l’il new Mac mini and I’ll name it Hippo and put little googly eyes on it. \u003ca href=\"https://www.macrumors.com/2024/11/08/new-macs-now-available-for-apple-store-pickup/?utm_source=dlvr.it\u0026amp;utm_medium=mastodon\"\u003ehttps://www.macrumors.com/2024/11/08/new-macs-now-available-for-apple-store-pickup/?utm_source=dlvr.it\u0026amp;utm_medium=mastodon\u003c/a\u003e\u003c/p\u003e\n",
      "date_published": "2024-11-08T17:02:48Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/539477800868960011",
      "title": "[µ] New M4 Pro in the house! ",
      "content_html": "\u003cp\u003eNew M4 Pro in the house!\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/539477804224403211_large.jpeg\" /\u003e",
      "date_published": "2024-11-08T16:30:31Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/539359142649845515",
      "title": "[µ] Apple: your MacBook Pro is shipping! You’ll have i",
      "content_html": "\u003cp\u003eApple: your MacBook Pro is shipping! You’ll have it tomorrow. Here’s a tracking link!\nUPS: We don’t have the package yet.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/539359143203493643_large.jpg\" /\u003e",
      "date_published": "2024-11-07T20:52:23Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/2024/11/i-cant-even-with-this-guy",
      "title": "[✉️] I Can't Even With This Guy",
      "content_html": "\u003cp\u003eThe whole world knows the news by now. Donald Trump is going to be president of the United States. Again.\u003c/p\u003e\n\u003cp\u003eAs a Canadian, I had no say in that decision, and at the same time, I’m going to be affected by the outcome. All of us will.\u003c/p\u003e\n\u003cp\u003eIt hardly needs to be said, but this guys is simply unfit to lead an after-school intramural soccer team, never mind the most powerful country in the history of the world. \u003ca href=\"https://www.nytimes.com/interactive/2024/11/02/opinion/vote-harris-2024-election.html\"\u003eYou know all this\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eSo I’m actually not that angry at Trump directly. We know who he is. He is nothing if not consistent.\u003c/p\u003e\n\u003cp\u003eBut I’m \u003cem\u003elivid\u003c/em\u003e. Like, \u003cem\u003escintillating, stars-in-my-eyes\u003c/em\u003e outraged at the approximately 51% of voters who chose that guy. \u003cem\u003eHow?\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eMy best, most generous take, is this: young people in particular are looking at the world they’re inheriting, and they’re simply getting priced out of existence. Rent is too high, home prices are stratospheric, and any hope of having the kind of reasonable, middle-class life their parents had sounds like a fantasy.\u003c/p\u003e\n\u003cp\u003eI am super-sympathetic to this. Democrats in particular, and “the left” world-wide, have not taken this seriously at all. The Liberal Party of Canada, to whom I donate every month, makes a token gesture at solving the real estate crisis while coming nowhere close to the scale of the problem. I’m furious at them. Meanwhile, the gap between the wealthiest and everyone else only widens. Our society has become unequal and un-just.\u003c/p\u003e\n\u003cp\u003ePeople like Trump (and in Canada, Pierre Poillievre, damn his eyes) are promising to fight for the people most disadvantaged by those forces. But they are fucking lying. When they get into office, they’re going to forget who put them there, and they’re going to fall back on the same old small-C conservative tropes: enriching themselves and their wealthiest buddies in the corporate world. And they’ll distract the masses with red meat: blaming immigrants, the gays, and the “deep state” (code for the competent bureaucracy that keeps the government running). And things will get immeasurably worse.\u003c/p\u003e\n\u003cp\u003eSo when I was watching CBC’s coverage of the election, I was equal parts horrified and furious at the young people in particular: the cute blonde 21-year-old college student who likes Trump because “he believes in family”, or the dudebros who say Trump will fight for them (yup, they were white). They are all being sold a bill of goods.\u003c/p\u003e\n\u003cp\u003eMeanwhile, actual important, grown-up shit is going to get broken. The kind of stuff that twenty-somethings don’t know or care about: the post-war alliance of liberal democratic nations, the moral leadership of a great country around the world, the blazing bonfire of innovation at the core of America’s power, soon to be doused at universities and government labs.\u003c/p\u003e\n\u003cp\u003eThrowing Ukraine to the wolves. Standing aside as China runs roughshod over Taiwan. Letting the Palestinians burn.\u003c/p\u003e\n\u003cp\u003eLeaving women subjugated to their insecure, violent, petty men. Waging war on anyone not born white and straight.\u003c/p\u003e\n\u003cp\u003eGiving up on fighting climate change, consigning all of humanity to catastrophe.\u003c/p\u003e\n\u003cp\u003eSo when I saw those stupid kids on TV, the only words I could muster were “you stupid fucks. You dumb fucking fucks, shut your stupid fucking mouth.\u0026quot;\u003c/p\u003e\n\u003cp\u003eWhat do I say to my daughter, also a cute 21-year-old college student, who looks at what’s happening with despair? There’s nothing I can offer that would meet this moment. The tragedy is, she’s going to suffer, \u003ca href=\"https://knowyourmeme.com/photos/1870771-leopards-eating-peoples-faces-party\"\u003ejust like her ignorant fellow gen-zedders\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eStay tuned.\u003c/p\u003e\n",
      "date_published": "2024-11-07T19:31:26Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/538516535749170955",
      "title": "[µ] I hate these “What’s New” views with the fire of a",
      "content_html": "\u003cp\u003eI hate these “What’s New” views with the fire of a thousand suns.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/538516537426892555_large.jpg\" /\u003e",
      "date_published": "2024-11-02T01:21:10Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/538459164985317131",
      "title": "[µ] Love this review of Croissant by @jhpot on Lifehac",
      "content_html": "\u003cp\u003eLove this review of Croissant by @jhpot on Lifehacker! Thank you! 🥐❤️ \u003ca href=\"https://lifehacker.com/tech/croissant-app-posts-to-mastodon-threads-bluesky-at-once\"\u003ehttps://lifehacker.com/tech/croissant-app-posts-to-mastodon-threads-bluesky-at-once\u003c/a\u003e\u003c/p\u003e\n",
      "date_published": "2024-11-01T15:51:12Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/538456423638554379",
      "title": "[µ] My god, I *love* love the Mac mini ad. https://www",
      "content_html": "\u003cp\u003eMy god, I \u003cem\u003elove\u003c/em\u003e love the Mac mini ad. \u003ca href=\"https://www.youtube.com/watch?v=JjpGvjy0Gxk\"\u003ehttps://www.youtube.com/watch?v=JjpGvjy0Gxk\u003c/a\u003e\u003c/p\u003e\n",
      "date_published": "2024-11-01T15:23:58Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/538219301916694283",
      "title": "[µ] Does this sort of problem go away if I have an M4?",
      "content_html": "\u003cp\u003eDoes this sort of problem go away if I have an M4? 👀😡\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/538219303359534859_large.png\" /\u003e",
      "date_published": "2024-10-31T00:08:41Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/538072234804172555",
      "title": "[µ] Happy New MacBook Pro Eve to all who celebrate.",
      "content_html": "\u003cp\u003eHappy New MacBook Pro Eve to all who celebrate.\u003c/p\u003e\n",
      "date_published": "2024-10-29T23:47:23Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/537491772406814475",
      "title": "[µ] The AT Protocol is the worst. They really said to ",
      "content_html": "\u003cp\u003eThe AT Protocol is the worst. They really said to themselves: how can we put as much onus on the client as possible? Here they are saying the quiet part out loud when it comes to link embedding. Thanks dudes.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/537491773681882891_large.png\" /\u003e",
      "date_published": "2024-10-25T23:42:03Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/537365703070635787",
      "title": "[µ] I’ve looked at Yomu, Kortext, FBReader, EPUB Reade",
      "content_html": "\u003cp\u003eI’ve looked at Yomu, Kortext, FBReader, EPUB Reader, Omnireader… omg they gonna make me build another app help me\u003c/p\u003e\n",
      "date_published": "2024-10-25T02:48:38Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/537365335934818059",
      "title": "[µ] So I’ve just done a survey of ebook reader apps fo",
      "content_html": "\u003cp\u003eSo I’ve just done a survey of ebook reader apps for Mac and iOS. I want an app that can automatically parse my books and put them into series. It’s crazy to me that every reader app is just a wall of book covers. Books is awful but still the best.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/537365336991782667_large.jpg\" /\u003e",
      "date_published": "2024-10-25T02:45:21Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/537322095663699723",
      "title": "[µ] Love this little review of Croissant from the grea",
      "content_html": "\u003cp\u003eLove this little review of Croissant from the great @Steven_aquino! \u003ca href=\"https://sfba.social/@steven_aquino/113364019988395328\"\u003ehttps://sfba.social/@steven_aquino/113364019988395328\u003c/a\u003e\u003c/p\u003e\n",
      "date_published": "2024-10-24T19:35:26Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/536888967472142091",
      "title": "[µ] After sending these messages in the work chat, col",
      "content_html": "\u003cp\u003eAfter sending these messages in the work chat, colleague suggested I get a t-shirt made with this. Strong Aaron Vegh Energy™ there\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/536888968227116811_large.jpg\" /\u003e",
      "date_published": "2024-10-21T19:53:27Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/536427194398856971",
      "title": "[µ] It’s hard to believe there are still users on X wh",
      "content_html": "\u003cp\u003eIt’s hard to believe there are still users on X who would care about this awful policy choice, but hey, more people on other platforms is great. \u003ca href=\"https://mastodon.social/@verge/113329098002360395\"\u003ehttps://mastodon.social/@verge/113329098002360395\u003c/a\u003e\u003c/p\u003e\n",
      "date_published": "2024-10-18T15:25:23Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/535898018507970315",
      "title": "[µ] My dad would’ve been 72 today, and it’s been four ",
      "content_html": "\u003cp\u003eMy dad would’ve been 72 today, and it’s been four years and I miss him pretty much every day. 🍻\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/535898022517724939_large.jpeg\" /\u003e",
      "date_published": "2024-10-14T23:49:28Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/534880789561661195",
      "title": "[µ] Well that’s it, folks. Shut it all down because th",
      "content_html": "\u003cp\u003eWell that’s it, folks. Shut it all down because the best thing has happened! 🤩 \u003ca href=\"https://mastodon.social/@daringfireball/113268192993329363\"\u003ehttps://mastodon.social/@daringfireball/113268192993329363\u003c/a\u003e #croissant\u003c/p\u003e\n",
      "date_published": "2024-10-07T23:23:14Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/534829631266674443",
      "title": "[µ] My Ash doesn’t blog often these days, but then pro",
      "content_html": "\u003cp\u003eMy Ash doesn’t blog often these days, but then proceeds to NOT MISS. \u003ca href=\"https://tenforward.social/@ashfurrow/113266690028534603\"\u003ehttps://tenforward.social/@ashfurrow/113266690028534603\u003c/a\u003e\u003c/p\u003e\n",
      "date_published": "2024-10-07T14:55:01Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/534687593007208203",
      "title": "[µ] A thousand times this. \nhttps://fosstodon.org/@Bre",
      "content_html": "\u003cp\u003eA thousand times this.\n\u003ca href=\"https://fosstodon.org/@Brendanjones/113260691500644989\"\u003ehttps://fosstodon.org/@Brendanjones/113260691500644989\u003c/a\u003e\u003c/p\u003e\n",
      "date_published": "2024-10-06T15:24:00Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/534383311804487435",
      "title": "[µ] And there it is again: Xcode’s lost all my recent ",
      "content_html": "\u003cp\u003eAnd there it is again: Xcode’s lost all my recent projects. Love to see my most-used and relied-upon app regressing over time.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/534383312593016587_large.jpg\" /\u003e",
      "date_published": "2024-10-04T13:01:54Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/533981985413060363",
      "title": "[µ] It’s only been over four hours, but I’m completely",
      "content_html": "\u003cp\u003eIt’s only been over four hours, but I’m completely blown away by the response to Croissant! Seeing it meet a real need is incredibly inspiring. With not a pastry pun in sight, I want to thank everyone who’s shared the news. 🥐\u003c/p\u003e\n",
      "date_published": "2024-10-01T18:34:25Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/2024/10/say-hello-to-croissant",
      "title": "[✉️] Say Hello to Croissant",
      "content_html": "\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/532645110958053131_large.png\" alt=\"Croissant imagery\"\u003e\u003c/p\u003e\n\u003cp\u003eI’ll give you the news fast, then slow. I’m making two announcements today:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eI’m working with \u003ca href=\"https://obscura.camera\"\u003eBen McCarthy\u003c/a\u003e to launch a new app, \u003cstrong\u003eCroissant\u003c/strong\u003e. It’s a super-fun, super-easy way to cross-post your social media posts to Threads, Bluesky and Mastodon. \u003ca href=\"https://croissantapp.com\"\u003eHit the web site\u003c/a\u003e for more info, or \u003ca href=\"https://apps.apple.com/us/app/croissant-cross-posting/id6670288979\"\u003ejust head to the App Store\u003c/a\u003e to get it on your iPhone.\u003c/li\u003e\n\u003cli\u003ePupperPost, my easy-to-use blog platform with apps for Mac and iOS, is being completely re-imagined as a new app, \u003cstrong\u003eSoapbox\u003c/strong\u003e.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eThis all started last spring. Not long after I launched \u003ca href=\"https://aaron.vegh.ca/2024/05/welcome-to-pupperpost\"\u003ePupperPost\u003c/a\u003e, I hired Ben McCarthy to perform an audit of my app. Ben is a great developer \u003cem\u003eand\u003c/em\u003e designer; you may know them best for their iPhone camera app, Obscura. Finicky photographers who choose Ben’s app love it for a package that delivers great power with terrific taste. That’s what drew me to Ben’s work!\u003c/p\u003e\n\u003cp\u003eTheir screen-by-screen analysis of my app proved what the market was already telling me: PupperPost has a problem to solve, but this is not the best app to solve it. In a true \u003cem\u003ethis is how they get you\u003c/em\u003e moment, Ben proposed a vision for my app that I think is the clearest expression of a blog-posting solution: simpler, more focused, better-looking. And they even had a name for it: Soapbox.\u003c/p\u003e\n\u003cp\u003eI hired Ben to flesh that idea out into a completely new app for iPhone, iPad and Mac, and I’ve been working on it ever since. It’s been a long road, but I’m getting pretty close, and hope to launch Soapbox later this year.\u003c/p\u003e\n\u003cp\u003eBut Ben had another idea too. During their audit of PupperPost, Ben identified the ability to cross-post as something that was interesting all by itself! They imagined an app that would solve a gnarly problem that is oh-so-2024; with all these new social networks rising in the wake of X’s demise, how can we post to them all? \u003cem\u003eCroissant\u003c/em\u003e, an app just for cross-posting, was born.\u003c/p\u003e\n\u003cp\u003eThis app is a real partnership. Ben and I are 50-50 on this one, and working with them to design and build Croissant has been an amazing experience: passing control of the Git repo back and forth between Dublin and Whitby as each works while the other sleeps. Lobbing ideas over iMessage in my mornings. Overall, the app came together very quickly.\u003c/p\u003e\n\u003cp\u003eHere’s a quick tour of what Croissant is, and how it works.\u003c/p\u003e\n\u003ch4 id=\"wire-up-your-accounts\"\u003e\u003cstrong\u003eWire Up Your Accounts\u003c/strong\u003e\u003c/h4\u003e\n\u003cp\u003eFirst, of course, you need to tell Croissant what services you want to post to. There’s an account management system that lets you pick your service, and log in. Your credentials are saved in the iOS Keychain so it’s secure.\u003c/p\u003e\n\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/532650882823673611_large.jpeg\" width=\"250\"\u003e\n\u003cp\u003e\u003cstrong\u003eCompose Your Posts\u003c/strong\u003e\nThis is where you’ll probably spend all your time in Croissant. The post composer is a familiar environment for social media users, giving you a character count, image insertions, content warnings, alt text editing, and the ability to build a chain of posts into a thread.\u003c/p\u003e\n\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/532650956509206283_large.jpeg\" width=\"250\"\u003e\n\u003cp\u003e\u003cstrong\u003ePost Where You Want\u003c/strong\u003e\nWhen you’re ready to fire, the post button reveals your connected services; choose any or all to send your posts off. For each service you’ll get a progress bar and indication when it’s done.\u003c/p\u003e\n\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/532650997764380427_large.jpeg\" width=\"250\"\u003e\n\u003cp\u003e\u003cstrong\u003eDraft For Later\u003c/strong\u003e\nFinally, you can collect posts that you aren’t ready to send as drafts. We provide a list of draft posts that you can re-hydrate and continue editing.\u003c/p\u003e\n\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/532651038784673547_large.png\" width=\"250\"\u003e\n\u003cp\u003eCroissant is iPhone-only at launch. But we’re looking forward to bringing it to more platforms as we becomed overwhelmed by its success. We’re excited to see what you think of it!\u003c/p\u003e\n",
      "date_published": "2024-10-01T18:34:25Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/532644246176454411",
      "title": "[µ] The final hurdle, we got through Meta app review. ",
      "content_html": "\u003cp\u003eThe final hurdle, we got through Meta app review. We’re gonna launch this week! Stay tuned. #BakedGoodsNeedNoContext\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://pupper-storage-prod.us-east-1.linodeobjects.com/media-attachments/4/487036226193381131/532644247216641803_large.jpg\" /\u003e",
      "date_published": "2024-09-22T13:05:55Z",
      "author": {
        "name": "Aaron Vegh"
      }
    },
    {
      "id": "",
      "url": "https://aaron.vegh.ca/532272897348130571",
      "title": "[µ] How cute, you think Apple’s App Review is capricio",
      "content_html": "\u003cp\u003eHow cute, you think Apple’s App Review is capricious. Let me introduce you to Meta’s app review for Threads. 😡\u003c/p\u003e\n",
      "date_published": "2024-09-19T23:36:09Z",
      "author": {
        "name": "Aaron Vegh"
      }
    }
  ]
}