---
title: "PArdel.dev"
url: "https://www.pardel.dev/"
author: "Paul Ardeleanu"
description: "Posts on programming, developer relations, AI, UX and public speaking by Paul Ardeleanu, a software developer and speaker based in London, UK."
---

# PArdel.dev

Posts on programming, developer relations, AI, UX and public speaking by Paul Ardeleanu, a software developer and speaker based in London, UK.

Each post is also published as Markdown at its URL plus `.md`, and served as Markdown to requests sent with `Accept: text/markdown`.

## Pages

- [Projects](https://www.pardel.dev/projects/)
- [About](https://www.pardel.dev/about/)
- [Public Speaking](https://www.pardel.dev/public-speaking/)

## Posts

- [Tokenz - Claude Code and Codex usage in the menu bar](https://www.pardel.dev/2026/10/10/tokenz-claude-code-and-codex-usage-in-the-menu-bar) (2026-10-10): Tokenz puts Claude Code and Codex plan limits side by side in the menu bar, and counts the tokens both tools' logs on your Mac already record.
- [Cloning your voice on your own machine](https://www.pardel.dev/2026/10/04/cloning-your-voice-on-your-own-machine) (2026-10-04): I cloned my own voice with open models on my laptop, so my deck engine can read a talk's script in my voice. The licence ruled out several models before I'd heard any of them, and for my voice, getting the ten-second sample right mattered at least as much as which model I used.
- [WebMCP - this blog now has tools](https://www.pardel.dev/2026/09/28/webmcp-this-blog-now-has-tools) (2026-09-28): pardel.dev now declares five WebMCP tools, so an agent in the browser can search the posts, list the projects and talks, and open a page, instead of scraping the HTML. It took one JSON file and one script.
- [Slink 1.0 - short links on your own domain](https://www.pardel.dev/2026/09/27/slink-1-0-short-links-on-your-own-domain) (2026-09-27): Slink, my self-hosted link shortener, is now 1.0. The domain it runs on finally has something to show: the links themselves, and a way to check one before you follow it.
- [GOVERN - a second brain that shows its work](https://www.pardel.dev/2026/09/14/govern-a-second-brain-that-shows-its-work) (2026-09-14): Six principles for trusting a knowledge base an AI reads and writes in, and a starter kit that puts them in place. The repo is public from today.
- [sipario - a deck engine, taken out of a talk](https://www.pardel.dev/2026/09/04/sipario-a-deck-engine-taken-out-of-a-talk) (2026-09-04): I wrote a deck engine for one conference talk. Pulling it out into a library is what finally showed me which half was the engine.
- [Quadra - a tiling window manager for macOS](https://www.pardel.dev/2026/09/03/quadra-a-tiling-window-manager-for-macos) (2026-09-03): Most macOS tiling window managers ask you to disable System Integrity Protection first. Quadra is built on the stock Accessibility API, so it doesn't.
- [Veglia - a monitor that records its own downtime](https://www.pardel.dev/2026/08/22/veglia-a-monitor-that-records-its-own-downtime) (2026-08-22): A monitor on the machine it watches writes nothing while it's down, and dashboards read that silence as healthy. Veglia counts the minutes it missed.
- [The Governed Second Brain](https://www.pardel.dev/2026/07/25/the-governed-second-brain) (2026-07-25): Every second-brain system solves capture. Almost none solve trust. Six principles that spell GOVERN, and the three steps that put them in place, starting from an empty folder.
- [A conversation with Bob](https://www.pardel.dev/2026/07/19/what-people-get-wrong-about-ai) (2026-07-19): I asked a close collaborator what people get most wrong about AI. The answers kept circling back to agreements, honesty labels and the restart button.
- [Claude loops](https://www.pardel.dev/2026/07/11/claude-loops) (2026-07-11): Every way of keeping Claude working is the same while-loop wrapped in a bigger one: goals, stop hooks, /loop, Ralph loops, cron and routines.
- [Building passkeys in Ruby on Rails](https://www.pardel.dev/2026/07/04/passkeys-in-ruby-on-rails) (2026-07-04): A from-scratch passkey build in Ruby on Rails: no Devise, just the webauthn-ruby gem and the browser's native API, for passwordless, usernameless sign-in.
- [Passkeys from first principles](https://www.pardel.dev/2026/06/28/passkeys-from-first-principles) (2026-06-28): A passkey moves the secret off your server: the site keeps only a public key, the private key never leaves your device, and phishing stops being possible.
- [Opening Pandora's Box: A Developer's Guide to AI Agents](https://www.pardel.dev/2026/06/12/opening-pandoras-box) (2026-06-12): An agent harness is a single while-loop that calls a model and dispatches tools - the only durable response to it is reading what's inside the box.
- [AI-enabled XR glasses are having their Pebble moment](https://www.pardel.dev/2026/05/02/xr-glasses-pebble-moment) (2026-05-02): Even Realities' G2 is the Pebble of the AI-enabled XR glasses category: clearly early but the first product pointed in the right direction
- [Run parallel Claude Code agents without the conflicts](https://www.pardel.dev/2026/03/14/run-parallel-claude-code-agents-without-conflicts) (2026-03-14): Run several Claude Code agents against one repo in parallel without them colliding: one git worktree per agent, one branch per tree.
- [Call or Text Your OpenClaw AI bot using Vonage APIs (unofficial guide)](https://www.pardel.dev/2026/02/21/openclaw) (2026-02-21): How to call or text your OpenClaw AI bot using Vonage APIs. This guide is unofficial and based on my experience with these technologies.
- [Build a web server using Express](https://www.pardel.dev/2024/09/14/web-server-express) (2024-09-14): In this post, we will build a simple web server using Express, a popular web framework for Node.js, and a templating engine called Pug.
- [Create a Mock API server in JavaScript](https://www.pardel.dev/2024/09/13/mock-api-server-javascript) (2024-09-13): Learn how to create a mock API server using JavaScript and the json-server library in under 3 minutes.
- [Python multiple inheritance gotcha](https://www.pardel.dev/2023/11/17/python-multiple-inheritance-gotcha) (2023-11-17): Always call super().__init__() in the __init__() method of the subclass - a Python multiple inheritance gotcha.
- [Using 3rd party frameworks in Xcode Playgrounds](https://www.pardel.dev/2018/10/10/3rd-party-frameworks-in-xcode-playgrounds) (2018-10-10): How to use 3rd party libraries in Xcode Playground for faster prototyping - using Alamofire and SwiftyJSON in a Xcode Playground
- [Test or Go Fishing — how to write better Swift for iOS](https://www.pardel.dev/2018/03/17/test-or-go-fishing) (2018-03-17): Slides from my TechTalks Timisoara talk on Test Driven Development in Swift for iOS development - how to write better Swift for iOS
- [Resetting iOS Simulator for UI tests](https://www.pardel.dev/2017/04/12/resetting-ios-simulator-for-ui-tests) (2017-04-12): How to reset the iOS Simulator to completely clear its slate between runs of UI tests, by using app launch arguments.
- [TDD-ing your Realm objects in Xcode Playgrounds](https://www.pardel.dev/2017/04/05/tdd-ing-your-realm-objects-in-xcode-playgrounds) (2017-04-05): Learn how to test Realm object and truly embrace test driven development in Xcode Playgrounds - with Realm Mobile Database.
- [Using old versions of Swift in Xcode](https://www.pardel.dev/2017/03/28/using-old-versions-of-swift-in-xcode) (2017-03-28): Apple released new versions of iOS, watchOS, tvOS & MacOS yesterday, and with it came a new version of Xcode, 8.3, that only includes Swift 3.1.
- [Test Driven Development in Xcode Playgrounds](https://www.pardel.dev/2017/03/27/tdd-in-xcode-playgrounds) (2017-03-27): Using Xcode Playgrounds to write test driven code - a faster way to prototype and test your code in Swift without the need to create a project.
- [Explaining technology well is hard](https://www.pardel.dev/2016/02/13/explaining-technology) (2016-02-13): A great example of a relatively complicated concept explained so anybody could understand it - Telephone Electronics: 'Simplex and Phantom Circuits'
- [dotSwift 2016 - a review of a very instructive conference](https://www.pardel.dev/2016/01/30/dotswift-2016) (2016-01-30): One of the most instructive conferences I've been to — you should not miss it next year at dotSwift 2016 in Paris
- [My dotSwift 2016 talk “The Forgotten Cloud”](https://www.pardel.dev/2016/01/29/dotswift-2016-talk) (2016-01-29): Revisits the core concepts behind CloudKit APIs, including CloudKit.js and the new business model introduced by Apple.
- [The New Year Resolution to Fail](https://www.pardel.dev/2016/01/02/new-year-resolution-to-fail) (2016-01-02): By failing to prepare, you're preparing to fail - New Year resolutions are more likely to fail if you start them on Jan 1st.
- [Must Watch: Jeff Bezos on the Future of Amazon (1999)](https://www.pardel.dev/2015/11/22/bezos-early-days) (2015-11-22): An amazing insight into the early days of Amazon and on how to make it - a must watch for any aspiring entrepreneur!
- [NSLondon: Developers' Emergency Guide to Public Speaking](https://www.pardel.dev/2015/10/24/developers-guide-public-speaking) (2015-10-24): A pragmatic guide on how to plan, create and deliver a technical talk, with minimum stress, maximum enjoyment and positive conclusion
- [My public speaking tips](https://www.pardel.dev/2015/09/19/public-speaking-tips) (2015-09-19): My humble list of tips for when public speaking at a conference, based on my recent experience at iOSDevUK - hope you find them useful and entertaining.
- [Architecting apps - Can we write better code by planning?](https://www.pardel.dev/2015/06/22/devtalks-2015) (2015-06-22): DevTalks gathers great community leaders to explore the trends that will shape Mobile, Web, Big Data, Cloud Computing and IoT.
- [Curious Minds 2014 talk: Swift & iOS](https://www.pardel.dev/2014/10/02/curious-minds-conference) (2014-10-02): Curious Minds aims at building a tech hub in Brasov, Romania, a community of developers who like to know everything and never stop wondering.
- [DevWeek 2014 talk: 'iOS developer overview'](https://www.pardel.dev/2014/04/07/ios-developer-overview) (2014-04-07): A talk I gave at DevWeek 2014 (London, UK) on how to get head start on releasing iOS 7 apps, for developers who have never worked with iOS before.
- [DevWeek 2014 talk: 'Prototyping saves your bacon'](https://www.pardel.dev/2014/04/01/prototyping-saves-your-bacon) (2014-04-01): Prototyping is often a misunderstood subject, especially when it comes to mobile apps. It is often mistaken for wireframing or detailed project specifications.
- [Privacy as a feature](https://www.pardel.dev/2014/01/10/privacy-as-a-feature) (2014-01-10): Without doubt, 2013 was the year our worst fears materialised. The Snowden revelations confirmed what some people already knew and others fantasied. Scary!
- [SkillsMatter 2012 talk: 'Prototyping your iPhone/iPad app'](https://www.pardel.dev/2012/01/23/prototyping-ios-apps) (2012-01-23): A talk I gave on prototyping mobile apps at SkillsMatter, in January 2012 - from paper prototypes, to clickable prototypes, ending with a Keynote prototype
