RSS.Social

Paul Conroy

follow: @[email protected]

Posts

From Smile to Receipt: Stripe Terminal Payments and Printing

Smile for 10% Off: Private Face Detection in the Browser

Hello Stavanger 2026

Making My Website Agent-Friendly: A WebMCP Field Test

Reduce AWS SDK Bundle Size in PHP with Composer

Reduce AWS SDK Bundle Size in PHP with Composer

Charging AI Agents Per Request: A Practical Guide to the Machine Payments Protocol

PHP[tek] 2026: Practical PHP, Chicago Hot Dogs and All The Elephpants

phpday Verona 2026

Stripe Sessions 2026: The Year the Bot Became the Customer

Custom Stripe Payment Notifications with Workflows - No Code Required!

Dutch PHP Conference 2026: Notes from a Cinema Full of PHP Developers

Screen Portal: sharing a partial screen region in Google Meet

ConFoo 2026, Montréal

Migrating Subscriptions to Stripe Billing: A Guide to the Migration Toolkit

From Tailwind CDN to Production: Generate an Optimised CSS Bundle

Build Stuff 2025, Vilnius, Lithuania

Predictable Cross-Currency Payments with Stripe's FX Quotes API

How to Change YouTube Playback Speed with a Simple Bookmarklet

Why Your Average Position in Google Improved But Your Traffic Didn't

Turning Off LinkedIn's "Missed Notification" Alert

Redirecting Test Emails Safely in Laravel

Automated Takedowns, Manual Headaches: When DMCA Bots Go Bad

Creating favicons from emojis and SVGs

Avoiding Déjà Vu: Building Resilient APIs with Idempotency

International PHP Conference, Berlin 2025

Exporting Google Slides to PDF on Mac without losing Emojis or Custom Images

CyberwiseCon / DevDays Europe, Vilnius, May 2025

Project Yellow Brick Road: Fighting Scrapers with 10 Downing Street, the White House, and Some Mildly Plausible Nonsense

Stripe Sessions 2025 Review

Creating Animated Gifs from MP4 and WebM files using ffmpeg

Upgrading Chrome in Ubuntu - Fixing the "Dependency is not satisfiable: libglib2.0-0" error

Stripe Is My DNS Provider Now: When Good APIs Meet Bad Ideas

Solving AWS Lambda's "Cannot find module 'index'" Problem

Dutch PHP Conference, Amsterdam 2025

Running Ollama on Ubuntu with an Unsupported AMD GPU: A Performance Guide

Avoiding 'Route [filament.admin.auth.login] not defined' when customising Filament root

Fixing 'A Facade Root Has Not Been Set' when testing Laravel with Pest

Serverless caching and proxying with Cloudflare Workers

Using Google Sheets as a RESTful JSON API

International PHP Conference, Munich 2024

Persistent WiFi failure on Ubuntu 24.04

PHPers Summit 2024

The Price of Privacy: How Paywalled Cookie Banners are Redefining Digital Revenue Streams

Monitoring Domain Expiration Dates using Laravel's Process Facade

Upgrading PHPUnit - "metadata in doc-comments is deprecated [...] use attributes instead"

From Backend Dev to Front and Center: A First-Time Speaker's Journey to PHP UK 2024

Slack Mobile Problems After Enabling 2FA

Idempotency - what is it, and how can it help our Laravel APIs?

Juggling Databases When Testing With Laravel: Tackling the Lock Wait Timeout Error

Navigating the Shift from Developer to Leader - Decrypt Podcast Round-up

Streamlining YouTube Integration: Icon Techniques & Best Practices for Optimised Video Loading

Building Resilient Code: Harnessing the Power of Value Objects

Streamline SEPA Bank Detail Collection: A Serverless Approach with Stripe and Cloudflare Workers

A/B testing your content on social media

Calculating rolling averages with Laravel Collections

Lazy loading background images to improve load time performance

Using a TV-style background blur to showcase portrait images in landscape layouts

Adding tenancy-awareness to Laravel queues and artisan commands

Attack of the clones - removing copied websites from the internet

Embedding Google Drive videos

Font Subsetting - shrink down font files to speed up page loads

First World Cup - Celebrations Cut Short

Minimising Cumulative Layout Shift (CLS) When Loading Responsive Ads

Diagnosing a sudden jump in "Direct" traffic in Google Analytics

Avoiding The Google Ads Two-Click Penalty

Improving Page Speed - Optimising for Core Web Vitals

Using the Measurement Protocol API to find the impact of a Consent Management Platform

Toolbar colour customisation in Chrome with theme-color

Internet connection problems with eircom efibre fixed

Jumping off the waterfall - lessons learned from an agile transition

Picture perfect – useful code visualisation tools

Mailcatcher, Vagrant & Laravel: Email testing made easy

Schrödinger’s Mysql table – does it exist?

Encoding a euro symbol in email subject lines

Mysqldump syntax error fixed

CSS & Javascript truncated by nginx

Symlink shenanigans - node.js, npm, express and vagrant

Share and share alike – Facebook Tags and Twitter Cards

The Daft.ie Property Tax Calculator – how does it work?

Talking to Joe: What’s a mention by Joe Duffy worth?

Will valid markup now help your Google ranking?

Geeks on the run

What's the best time to renew an ad on Daft.ie?

Bookmarklets – a quick introduction!

DeCluttering Twitter, Part Deux

DeClutter Twitter