paulca / paulca.com Public

Clone
git clone https://amadan.net/paulca/paulca.com

Plain git — no account needed to clone.

1<?xml version="1.0" encoding="utf-8"?>
2<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://paulca.com/" xmlns:atom="http://www.w3.org/2005/Atom">
3 <channel>
4
5 <title>Paul Campbell</title>
6 <link>https://paulca.com/</link>
7 <atom:link href="https://paulca.com/feed.xml" rel="self" type="application/rss+xml" />
8 <description>Writing from Paul Campbell.</description>
9 <language>en</language>
10 <item>
11 <title>AI as accessibility</title>
12 <link>https://paulca.com/blog/ai-as-accessibility/</link><description>&lt;p&gt;AI has split opinion amongst my friends more than any topic. I&#39;ve really struggled with this for the past year. If we&#39;re doing brain types, mine is AuDHD: Autism and ADHD mixed. In an introvert / extrovert world, that maps to ambivert. I&#39;m undiagnosed, but I have started diagnosis for both autism and ADHD. The autism screener recommendation was: continue to diagnosis. The ADHD screener was: continue to diagnosis. ADHD Ireland has &lt;a href=&quot;https://adhdireland.ie/for-adults/do-you-show-signs-of-adult-adhd/&quot;&gt;a questionnaire&lt;/a&gt; that reads like an obvious list of attributes that I assume everyone has. Apparently they don&#39;t.&lt;/p&gt;
13&lt;p&gt;One of the attributes of this brain type, so I&#39;m told, is a strong sense of social justice. AI cuts that sensibility right to its core: a technological marvel that promises to put great power in everyone&#39;s hands. Wow! Amazing! And in the background, already wealthy people are rubbing their palms together as dollar signs light up their eyes and they scratch thousands of pesky workers off the payroll.&lt;/p&gt;
14&lt;p&gt;The problem for me with the above is ADHD. If I look back, ADHD has been fucking me over my entire life. It fucked me over when I convinced my classmates when I was 7 to be the main character in a role-play, but I never showed up to the rehearsal. It fucked me in school when I was able to coast through classes, but never &amp;quot;learned how to learn&amp;quot; and though I did well never lived up to the potential that others saw in me. It fucked me in college again when book learning was a struggle, and when I went to ask for help I didn&#39;t know what to ask for. It fucked me in my early business endeavours when colleagues would say: &amp;quot;don&#39;t give that idea to Paul, he&#39;ll just go off and start building it&amp;quot;. It fucked me in my later business endeavours when I hyperfocussed on the wrong things, burned myself out, and burned a lot of money on the process. It fucked me today when a late meeting ran into another meeting on my calendar, and I completely missed it.&lt;/p&gt;
15&lt;p&gt;ADHD, over and over, has fucked me, fucked me, fucked me.&lt;/p&gt;
16&lt;p&gt;And yet I&#39;ll still not admit that there&#39;s anything &amp;quot;wrong&amp;quot; with me. I don&#39;t want to medicate. I don&#39;t want to be different. I don&#39;t want to change. I wan&#39;t the world to change.&lt;/p&gt;
17&lt;p&gt;I wrote last week about my experience with &lt;a href=&quot;https://paulca.com/blog/ai-as-augmentation/&quot;&gt;AI as augmentation&lt;/a&gt;, but my early attempts to justify my use of it despite &lt;a href=&quot;https://freelancing-gods.com/2026/02/13/ai-is-bad&quot;&gt;the criticism I&#39;m aware of&lt;/a&gt; were that it was the first time in my life that I was experiencing what it was like for a system to pull the things I see in my head and articulate them in a way that I could share with others.&lt;/p&gt;
18&lt;p&gt;I&#39;ve always considered myself a good communicator. I think overall that has been a bit of an illusion. I&#39;ve had conversations with colleagues and folks where I would say things in as plain English as I thought I could, and yet the response would be &amp;quot;but I still don&#39;t know what you want&amp;quot; or &amp;quot;I don&#39;t know what it is&amp;quot;. The frustration levels at being able to simultaneously feel like I could see something so clearly in my mind, yet not be able to transfer that vision to another human is a recurring one I&#39;ve felt year over year.&lt;/p&gt;
19&lt;p&gt;At some point, the AI tools out there allowed me to type a few ideas into a box and the machine simply joined the dots without my having to articulate every one of them. It felt like for the first time in my life I&#39;ve been able to communicate effectively, without the need to slow down my thinking or very carefully unpick my admittedly messy mind.&lt;/p&gt;
20&lt;p&gt;I&#39;ve spoken to others who I believe have similar brain types to me. &amp;quot;It&#39;s like being on drugs&amp;quot; is the consensus, and I think an apt analogy, because it both feels like I&#39;m medicated, but also addicted. People describe AI prompting as being akin to a slot machine where you drop a coin and pull the lever. I&#39;m choosing to reject the analogy when it comes to the valuelessness aspect, but as a dopamine-collecting analogy, it&#39;s right on point.&lt;/p&gt;
21&lt;p&gt;As I dabbled and experimented with this stuff over the last year, I tried to pick an analogy that worked for me. &amp;quot;A bicycle for the mind&amp;quot;, &amp;quot;A powertool for productivity&amp;quot;, &amp;quot;plastic for software&amp;quot;, &amp;quot;a killer weapon like a gun&amp;quot;. The problem is that AI is all of the analogies, all at once. The one that I settled on that brought me any kind of moral equilibrium was that AI is an accessiblity tool the like of which we&#39;ve never seen, because it allows expressing ideas as artifacts.&lt;/p&gt;
22&lt;p&gt;A friend put it this way: &amp;quot;it&#39;s the only tool I&#39;ve ever used that can keep up with my mind&amp;quot;&lt;/p&gt;
23&lt;p&gt;That, indeed, has been my experience, and while I wish the technology didn&#39;t exist and potentially had never been invented, so that I wouldn&#39;t have to think about it, while it does exist, it appears to be an effective way for me to pull potential out of my brain that I otherwise wasn&#39;t able to access. That, for me, is a lot.&lt;/p&gt;
24</description><pubDate>Thu, 30 Jul 2026 01:00:00 +0100</pubDate>
25 <dc:creator>Paul Campbell</dc:creator>
26 <guid>https://paulca.com/blog/ai-as-accessibility/</guid>
27 </item>
28 <item>
29 <title>Memories of Glen Hansard</title>
30 <link>https://paulca.com/blog/memories-of-glen-hansard/</link><description>&lt;p&gt;Originally posted on &lt;a href=&quot;https://mastodon.social/@paulca/117004209122068404&quot;&gt;Mastodon&lt;/a&gt;&lt;/p&gt;
31&lt;p&gt;I have so many Glen Hansard memories, even though they&#39;re all from 20–30 years ago.&lt;/p&gt;
32&lt;p&gt;I remember the first Frames show I ever saw. It was in Whelan&#39;s in Dublin. Tiny venue, perfect place to see a band for the first time. It was around about the time of their second album.&lt;/p&gt;
33&lt;p&gt;Glen got on stage and for 2 hours I was mesmerised. I had been to plenty of live shows before but I didn&#39;t know that live music could be LIKE THIS. They were always a live band first and a recording band second, and the difference was Glen&#39;s presence on stage.&lt;/p&gt;
34&lt;p&gt;I remember seeing them in Simon&#39;s café, all of us tucked in like sardines. There was a chap next to me with a guitar that I had a nice little chat with. Midway through the set, Glen called out &amp;quot;is Damien Rice here?&amp;quot; and the nice chap next to me leapt on stage and delivered the most energetic version of &amp;quot;I&#39;ve Got You Back&amp;quot; by the Jackson Five.&lt;/p&gt;
35&lt;p&gt;I remember at a show in Vicar Street, by then I&#39;d listened to all of their stuff and knew the words to most of their songs.&lt;/p&gt;
36&lt;p&gt;At one point, Glen nodded to the band and the people doing the sound. The lights fell on him and they &lt;em&gt;turned off all the mics and speakers&lt;/em&gt;.&lt;/p&gt;
37&lt;p&gt;He played a song to the full theatre, 1,500 of us, just us, in silence and awe, his amazingly dinged up guitar, and his voice. I&#39;m kinda shivering just thinking about it.&lt;/p&gt;
38&lt;p&gt;Another show in Vicar Street, New Year&#39;s Eve, 2001. Glen led tribute to Mic Christopher, who had died a month earlier. I didn&#39;t know Mic&#39;s music before that, but I sang along to &amp;quot;Heydey&amp;quot; with everyone else.&lt;/p&gt;
39&lt;p&gt;And just reading that Glen dedicated every album since to Mic. 🍺&lt;/p&gt;
40&lt;p&gt;I remember seeing them at Pukkelpop in Belgium, 2006 maybe.&lt;/p&gt;
41&lt;p&gt;Glen had us all sing the &amp;quot;la da&amp;quot; part of &amp;quot;Falling Slowly”, before anyone knew the song. We were happy to oblige. It was a huge moment.&lt;/p&gt;
42&lt;p&gt;And then he went and won a fucking Oscar for that song when it was in Once.&lt;/p&gt;
43&lt;p&gt;I remember feeling sad and confused when rumours spread about his relationship with Markéta Irglová, and relief to hear an interview with her that she only wished him well.&lt;/p&gt;
44&lt;p&gt;I can only hope that whatever happened was worth those well wishes.&lt;/p&gt;
45&lt;p&gt;The final memory is the saddest of all. When I heard the opening drum beat of &amp;quot;Lay me down” and the guitar that comes in, I melted inside and something changed: that a pop song could be so expressive, so close, so personal, so Dublin.&lt;/p&gt;
46&lt;p&gt;And now here we are, his son is gonna have to listen to these lines for the rest of his life, and never get to know the joy that we knew. Such poetic cruelty.&lt;/p&gt;
47&lt;p&gt;RIP.&lt;/p&gt;
48&lt;p&gt;Lay me down In the hollowed ground
49Where my father waits, I will stay
50So lay me down&lt;/p&gt;
51</description><pubDate>Wed, 29 Jul 2026 01:00:00 +0100</pubDate>
52 <dc:creator>Paul Campbell</dc:creator>
53 <guid>https://paulca.com/blog/memories-of-glen-hansard/</guid>
54 </item>
55 <item>
56 <title>AI as augmentation</title>
57 <link>https://paulca.com/blog/ai-as-augmentation/</link><description>&lt;p&gt;One of the first &amp;quot;oh shit&amp;quot; moments for me wasn&#39;t when an AI customer support agent solved my problem (to date, I don&#39;t believe any AI agent has solved any problem I&#39;ve reported). It was when it helped me do a better job of something than I wouldn&#39;t otherwise have been able to do or able to afford.&lt;/p&gt;
58&lt;p&gt;Tito is an interesting case for this. Tito is a pretty healthy business that has grown well beyond our initial &amp;quot;€20k per month so we can quit our jobs&amp;quot; dreamline. But it hasn&#39;t grown so much that we can afford to hire anyone full-time, and that&#39;s been true for a number of years. The status quo is, for any piece of work: who will do it, and do we have time?&lt;/p&gt;
59&lt;p&gt;There&#39;s a third intangible factor though: where do we stop polishing?&lt;/p&gt;
60&lt;p&gt;Along with the enshittification of everything, gradually there has been a rising tide in expectations for how certain software works. Slowly enshittifying companies like GitHub, Stripe, and Revolut add delight to mundane things like pushing code, consuming APIs, and transferring money. And that&#39;s great!&lt;/p&gt;
61&lt;p&gt;But for a small team, the rising tide isn&#39;t always &amp;quot;download a library and it will be delightful&amp;quot;. There&#39;s still layers and layers of work required to take any one feature and polish it until it shines. For a product as rich in features as Tito, that simply means: compromise.&lt;/p&gt;
62&lt;p&gt;One such feature for me was webhooks. Tito Classic has supported webhooks since almost day one (fun aside: in 2007 I attended something in California called &amp;quot;Super Happy Dev House&amp;quot;, where one of the talks was about this idea that some guy had to allow web apps to send messages and &amp;quot;hook&amp;quot; into other web apps).&lt;/p&gt;
63&lt;p&gt;Webhooks are very clever, and very useful, but in general, the tooling around them is very bad. Most of my use of webhooks ends up just pushing buttons, catching the webhook somewhere, tweaking some code, and doing that over and over until things just about work.&lt;/p&gt;
64&lt;p&gt;Tito Classic&#39;s webhooks are very much borne of that &amp;quot;hack until it works&amp;quot; philosophy: Did the webhook send? Can I trigger a new one easily? Can I inspect the payload sender-side without catching it? Is the schema webhook-specific or does it match the REST API?&lt;/p&gt;
65&lt;p&gt;When it came to implementing webhooks in Tito Pro last year, with agentic assistance (who names this shit?), I was able to keep going on the webhooks feature until it had all the attributes that I would expect a webhook implementation to have of a service I expect. Pro&#39;s webhook implementation features previews, retries, logs, and the webhook schema exactly matches the API schema: in fact they&#39;re derived from the same implementation, so in theory they will never drift.&lt;/p&gt;
66&lt;p&gt;That was my first &amp;quot;oh shit&amp;quot; moment, with receipts. I built the Tito Classic webhooks implementation in 2016, and when it was &amp;quot;good enough&amp;quot;, I dropped it and moved on to the next thing. The programming tools I had available didn&#39;t really change between 2015 and 2025, so it was fairly like for like. What changed was my ability to keep iterating without burning out, without getting distracted by another challenge, and without procrastinating on doing something because it was &amp;quot;too hard&amp;quot;.&lt;/p&gt;
67&lt;p&gt;When working assisted allows me to a better version of myself and to close the gap between what I intend to do and what I end up doing, it&#39;s very hard to go back to working unassisted.&lt;/p&gt;
68</description><pubDate>Sun, 26 Jul 2026 01:00:00 +0100</pubDate>
69 <dc:creator>Paul Campbell</dc:creator>
70 <guid>https://paulca.com/blog/ai-as-augmentation/</guid>
71 </item>
72 <item>
73 <title>Using an LLM &quot;off-the-grid&quot;</title>
74 <link>https://paulca.com/blog/using-an-llm-off-the-grid/</link><description>&lt;p&gt;From the moment that OpenAI launched, I was very curious. I had met one of the founders, Greg Brockman, a few years before and he had given me a lot of time and attention. He had reached out to me, not the other way around, and we had a delightful conversation about the early history of Stripe, where he was founding CTO.&lt;/p&gt;
75&lt;p&gt;When ChatGPT launched, I was naturally curious, and very excited about it. I, along with the rest of the world, got a little bit caught up in the hype about the capabilities of these new AI systems, and certainly enjoyed typing things into the box and it responding in a human-like fashion.&lt;/p&gt;
76&lt;p&gt;A few months later, I stopped using it. In general, it was inferior to just finding information myself. For coding, Cursor was annoying, and it slowed me down more than it helped. GenAI was clearly an extremely impressive technical demo, but I didn&#39;t feel that it was actually making me any more productive.&lt;/p&gt;
77&lt;p&gt;The next moment where the constant, incessant, unavoidable buzz buzz buzz of AI hype hit me was Claude Code (again, me and everyone else, particularly in Silicon Valley). Here was an &amp;quot;agent&amp;quot; (hate the term) who you could give a code problem to and without directing it to the files themselves, it would figure out what to do.&lt;/p&gt;
78&lt;p&gt;At launch, Claude Code was again very impressive. It was able to figure out what to do and where to do it, and I put a good bit of time into asking it to do things in my day-to-day work. The problem was that while it was good at finding the right files, and was able to solve some problems, it wasn&#39;t particularly good at solving them properly. I found I was doing as much cleanup as I was saving time with the computer writing the code. I pretty much gave up on Claude Code at some point last summer.&lt;/p&gt;
79&lt;p&gt;Then came the autumn, and a big project arrived on my desk that had a few particularly gnarly challenges. The project required features that I knew that I personally didn&#39;t really have the engineering aptitude for, but I believed would make Tito better. With a deadline fast approaching, I described the high-level problem to Claude Code and the recently launched Opus 4.3 (I think), and while the code it produced wasn&#39;t the prettiest, we delivered the project bug-free and ready to rock, on time. Something had shifted.&lt;/p&gt;
80&lt;p&gt;Since the arrival of Opus 4.5 a few months later, I haven&#39;t hand-written a single line of code. I haven&#39;t talked publicly about it because I&#39;ve held some shame about it. The bait-and-switch non-profit to heavy-profit motives of OpenAI spooked me. The weird god-complexes of the leaders of some of these companies. The profession to be &amp;quot;open&amp;quot;, and &amp;quot;ethical&amp;quot;, but in reality being very closed. The selling of technology that works some percentage of the time and then the other non-zero percentage of the time can delete your production database. It&#39;s all a bit shady. Some of my best friends have decided that AI is simply &lt;a href=&quot;https://freelancing-gods.com/2026/02/13/ai-is-bad&quot;&gt;bad&lt;/a&gt;, and &lt;a href=&quot;https://writing.jan.io/2026/02/02/ai-veganism.html&quot;&gt;not worth even looking at&lt;/a&gt;.&lt;/p&gt;
81&lt;p&gt;I don&#39;t have those beliefs.&lt;/p&gt;
82&lt;p&gt;Nor, however, do I subscribe to the hype. There are people who believe that an AI takeover of the world is inevitable. To me it seems they would idly sit by as we become vassals of companies run by people you probably wouldn&#39;t trust to mind your dog let alone your kids. There are people (including me) who are happily feeding data, connecting a bunch of private services to these two US firms, just for convenience.&lt;/p&gt;
83&lt;p&gt;And I get it: speaking to a computer like a human and it responding is one of the most joyous ways to interact with a machine that I&#39;ve ever experienced. My whole life, I&#39;ve had to conform to how machines communicate, as programmed by someone who is not me. Now the machine conforms to how I communicate, and adapts to my preferences. It&#39;s science fiction in real life.&lt;/p&gt;
84&lt;p&gt;The past few weeks, I have gone very, very deep down the rabbit hole. I&#39;ve spent quite a lot of time (and tokens, 🤮) pulling the slot machine lever and refining the output. (Although not as much as &lt;a href=&quot;https://bun.com/blog/bun-in-rust&quot;&gt;some idiots&lt;/a&gt;). The two themes of my lever pulling have been: &amp;quot;if people insist on using AI, I want to see if I can uncover ways in which it can be used effectively, efficiently, and for the betterment of communities, not for individual gain&amp;quot;. The other theme is: &amp;quot;no engineer would be stupid enough to do this&amp;quot;. I believe I have uncovered a lot of interesting ideas worth sharing. I&#39;ll post about those separately.&lt;/p&gt;
85&lt;p&gt;For today though, I&#39;m writing this in a text editor. I&#39;m about to feed it in to an LLM, and to the best of my knowledge, it will be published on my very new and very plain website at paulca.com. [Update: it worked! I&#39;m now going to send these edits to a slower but more capable model after some &amp;quot;tuning&amp;quot; and my expectation is that I will paste the changes and the next thing I&#39;ll need to do is refresh my browser]&lt;/p&gt;
86&lt;p&gt;The kicker is that doing that will not pass through any US-owned-or-controlled LLM provider. While Anthropic, and particularly Fable, remains best-in-class at software production and I have discovered a few tricks to make very nice software very efficiently, other open source models exist that can run very fast on hardware (ergo: GPUs [and more slowly, on CPUs]) that until a few years ago would have been considered a commodity.&lt;/p&gt;
87&lt;p&gt;So that&#39;s all I have to say for now. A first blog post about AI, hand-written, but posted using a robot running in a home-office in South Dublin, powered by an open source model, where none of the data leaves my control or my jurisdiction without my consent, ironically landing on GitHub, a company whose services I once loved dearly, made by people who became some of my closest friends, that I hope to soon leave behind and never look back.&lt;/p&gt;
88&lt;p&gt;Let&#39;s. Fucking. Go.&lt;/p&gt;
89</description><pubDate>Sat, 25 Jul 2026 01:00:00 +0100</pubDate>
90 <dc:creator>Paul Campbell</dc:creator>
91 <guid>https://paulca.com/blog/using-an-llm-off-the-grid/</guid>
92 </item>
93 </channel>
94</rss>