41554 blogs · [ { "id": "01a0d867-fa9c-735e-8cf1-ce8c7e878946", "title": "From FTP to CI/CD: Modernising a Pharmacy's Release Process Without Breaking the Business", "url": "https://www.garybell.co.uk/blog/from-ftp-to-cicd/", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a0b0d2-e868-71bb-8c46-4acc5d2798fa", "title": "The Form That Worked Fine", "url": "https://www.garybell.co.uk/blog/the-form-that-worked-fine/", "published_at": "2026-09-17T00:00:00+00:00" }, { "id": "01a08ca2-c68f-7269-b91e-43f298278722", "title": "Inheriting the Mess: A Pattern I keep Finding", "url": "https://www.garybell.co.uk/blog/inheriting-the-mess/", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07545cb55", "title": "The Kind Of Manager I never Want To Be", "url": "https://www.garybell.co.uk/blog/the-kind-of-manager-i-never-want-to-be/", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb075f0e0f6", "title": "It Worked on My Machine: A JSON Library, a Holiday, and an Angry Client", "url": "https://www.garybell.co.uk/blog/it-worked-on-my-machine/", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0767273a0", "title": "What Your Development Team Costs Your Non-Tech Business", "url": "https://www.garybell.co.uk/blog/what-your-development-team-costs-your-non-tech-business/", "published_at": "2026-08-20T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb076d19506", "title": "Nobody Asked Me: What I Would Have Said Before the Redundancies", "url": "https://www.garybell.co.uk/blog/nobody-asked-me/", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb076dea2ad", "title": "The Day I Already Knew: Leading a Team Through Redundancy", "url": "https://www.garybell.co.uk/blog/the-day-i-already-knew/", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0777c7c19", "title": "Empty Your Head First, Edit Later", "url": "https://www.garybell.co.uk/blog/empty-your-head-first-edit-later/", "published_at": "2026-07-30T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb077a550e8", "title": "Why I'm Back", "url": "https://www.garybell.co.uk/blog/why-im-back/", "published_at": "2026-07-23T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb078370c76", "title": "How to start blogging with ChatGPT", "url": "https://www.garybell.co.uk/blog/how-to-use-chatcpt-to-help-write-a-blog/", "published_at": "2023-03-16T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0785fa3dc", "title": "Using GitLab CI to deploy via SSH", "url": "https://www.garybell.co.uk/blog/using-gitlab-ci-to-deploy-via-ssh/", "published_at": "2023-02-21T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb078f335f1", "title": "Setting Up RabbitMQ on a Raspberry Pi", "url": "https://www.garybell.co.uk/blog/setting-up-rabbimq-on-a-raspberry-pi/", "published_at": "2023-02-09T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb078fc1748", "title": "Cheap web hosting: The Roundup", "url": "https://www.garybell.co.uk/blog/cheap-web-hosting-roundup-2023/", "published_at": "2023-01-23T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0794ad6af", "title": "Cheap hosting with IONOS", "url": "https://www.garybell.co.uk/blog/cheap-hosting-with-ionos/", "published_at": "2023-01-20T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb079bf6d44", "title": "Cheap hosting with DigitalOcean", "url": "https://www.garybell.co.uk/blog/cheap-hosting-with-digitalocean/", "published_at": "2023-01-19T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb079f97204", "title": "A look at cheap hosting with Hostinger", "url": "https://www.garybell.co.uk/blog/cheap-webhosting-with-hostinger/", "published_at": "2023-01-18T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07ac5c1cb", "title": "Are SiteGround a good cheap hosting option?", "url": "https://www.garybell.co.uk/blog/siteground-cheap-hosting/", "published_at": "2023-01-17T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07bc197f0", "title": "A look at Bluehost for cheap website hosting", "url": "https://www.garybell.co.uk/blog/bluehost-cheap-website-hosting/", "published_at": "2023-01-16T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07cb1942e", "title": "A quick look at cheap web hosting", "url": "https://www.garybell.co.uk/blog/cheap-web-hosting/", "published_at": "2023-01-12T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07d7848fd", "title": "Managing your own website hosting", "url": "https://www.garybell.co.uk/blog/managing-website-hosting/", "published_at": "2023-01-05T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07e770922", "title": "Looking Ahead to 2023", "url": "https://www.garybell.co.uk/blog/looking-ahead-to-2023/", "published_at": "2022-12-29T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07e7e4035", "title": "Group Level Templates", "url": "https://www.garybell.co.uk/blog/gitlab-group-level-templates/", "published_at": "2022-01-18T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07f1306e9", "title": "Plausible - An alternative to Google Analytics?", "url": "https://www.garybell.co.uk/blog/an-alternative-to-google-analytics/", "published_at": "2022-01-06T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb07fc76b76", "title": "Revisiting my stance on 4k monitors", "url": "https://www.garybell.co.uk/blog/revisiting-my-stance-on-4k-monitors/", "published_at": "2021-12-02T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08096b118", "title": "Creating draft posts with Sculpin", "url": "https://www.garybell.co.uk/blog/creating-draft-posts-with-sculpin/", "published_at": "2021-11-25T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0813672ac", "title": "The down side of Static Site Generators", "url": "https://www.garybell.co.uk/blog/the-down-side-of-static-site-generators/", "published_at": "2021-11-18T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0822f7905", "title": "Updating my home network", "url": "https://www.garybell.co.uk/blog/updating-my-home-network/", "published_at": "2021-11-11T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0826e4f98", "title": "Migrating your Magento 1 users", "url": "https://www.garybell.co.uk/blog/migrating-your-magento-1-users/", "published_at": "2021-10-14T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0828a2285", "title": "Lessons from my time away", "url": "https://www.garybell.co.uk/blog/lessons-from-time-away/", "published_at": "2021-09-23T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb083875b2d", "title": "Reflecting on my 2021 goals - Q1 edition", "url": "https://www.garybell.co.uk/blog/2021-goals-q1-reflection/", "published_at": "2021-04-01T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0846e57d1", "title": "Why I use PHP for CI tasks", "url": "https://www.garybell.co.uk/blog/why-i-use-php-for-ci-tasks/", "published_at": "2021-03-25T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb084a9d7ef", "title": "Commenting on designs in issues", "url": "https://www.garybell.co.uk/blog/commenting-on-designs-in-issues/", "published_at": "2021-03-23T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb085671662", "title": "Horizontally scaling your Ghost blog on DigitalOcean", "url": "https://www.garybell.co.uk/blog/horizontally-scaling-ghost-blog-digitalocean/", "published_at": "2021-03-18T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0863853c0", "title": "GitLab vs GitHub: 2021 Edition", "url": "https://www.garybell.co.uk/blog/gitlab-vs-github-2021-edition/", "published_at": "2021-03-16T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0863875dc", "title": "I used a MacBook for the first time", "url": "https://www.garybell.co.uk/blog/i-used-a-macbook-for-the-first-time/", "published_at": "2021-03-11T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0865d40b9", "title": "Issue Board Configuration", "url": "https://www.garybell.co.uk/blog/issue-board-configuration/", "published_at": "2021-03-09T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb086736025", "title": "Why you should keep an eye on the job market", "url": "https://www.garybell.co.uk/blog/one-eye-on-the-job-market/", "published_at": "2021-03-04T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb086ca736a", "title": "Project vs Group Labels in GitLab", "url": "https://www.garybell.co.uk/blog/project-vs-group-labels-in-gitlab/", "published_at": "2021-03-02T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08716e7fe", "title": "Alternatives to LastPass", "url": "https://www.garybell.co.uk/blog/alternatives-to-lastpass/", "published_at": "2021-02-25T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08795c401", "title": "Using GitLab's built-in IDE", "url": "https://www.garybell.co.uk/blog/gitlab-built-in-ide/", "published_at": "2021-02-23T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb087b149a2", "title": "PHP Static Site Generators (Twig Templates)", "url": "https://www.garybell.co.uk/blog/php-static-site-generators-twig-templates/", "published_at": "2021-02-18T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb088731fc8", "title": "GitLab Issue Dependencies", "url": "https://www.garybell.co.uk/blog/gitlab-issue-dependencies/", "published_at": "2021-02-16T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0893ff805", "title": "Test and Trace - A failure in IT procurement?", "url": "https://www.garybell.co.uk/blog/test-and-trace-a-failure-in-it-procurement/", "published_at": "2021-02-11T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08988c300", "title": "Project Wikis - Share knowledge from the start", "url": "https://www.garybell.co.uk/blog/project-wikis-in-gitlab/", "published_at": "2021-02-09T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08a70f864", "title": "Using Gitpod to start a new project", "url": "https://www.garybell.co.uk/blog/using-gitpod-to-start-a-new-project/", "published_at": "2021-02-04T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08aea3aea", "title": "Using Keyboard Shortcuts in GitLab", "url": "https://www.garybell.co.uk/blog/using-keyboard-shortcuts-in-gitlab/", "published_at": "2021-02-02T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08aed82ee", "title": "Static Site Generators", "url": "https://www.garybell.co.uk/blog/static-site-generators/", "published_at": "2021-01-28T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08b37757f", "title": "Password Validator 2.2.0 Released", "url": "https://www.garybell.co.uk/blog/php-password-validator-2-2-0/", "published_at": "2021-01-27T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08b9c4b9c", "title": "Merge Request Templates", "url": "https://www.garybell.co.uk/blog/merge-request-templates/", "published_at": "2021-01-26T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08c1b1758", "title": "Are mobile workstations dead?", "url": "https://www.garybell.co.uk/blog/are-mobile-workstations-dead/", "published_at": "2021-01-21T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08d13e664", "title": "Quick Actions in GitLab", "url": "https://www.garybell.co.uk/blog/quick-actions-in-gitlab/", "published_at": "2021-01-19T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08e10c101", "title": "Upgrading CI/CD pipelines to PHP 8", "url": "https://www.garybell.co.uk/blog/upgrading-ci-cd-pipelines-to-php-8/", "published_at": "2021-01-14T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08f0b4ab7", "title": "GitLab Scoped Labels", "url": "https://www.garybell.co.uk/blog/gitlab-scoped-labels/", "published_at": "2021-01-12T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08f5182fc", "title": "How to start blogging", "url": "https://www.garybell.co.uk/blog/how-to-start-blogging/", "published_at": "2021-01-07T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb08fc0d3cf", "title": "GitLab Issue Templates", "url": "https://www.garybell.co.uk/blog/gitlab-issue-templates/", "published_at": "2021-01-05T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0907afa10", "title": "My Goals for 2021", "url": "https://www.garybell.co.uk/blog/my-goals-for-2021/", "published_at": "2020-12-31T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0915da5ae", "title": "PHP Password validator 2.1.0", "url": "https://www.garybell.co.uk/blog/php-password-validator-2-1-0/", "published_at": "2020-12-03T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb09188e43a", "title": "December Downtime", "url": "https://www.garybell.co.uk/blog/december-downtime/", "published_at": "2020-12-02T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb091d68925", "title": "Resolve npm depends on node-gyp on Ubuntu 20.04", "url": "https://www.garybell.co.uk/blog/resolve-npm-depends-on-node-gyp-ubuntu-20-04/", "published_at": "2020-11-25T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0920d4eec", "title": "Everything you know (about security) is (probably) wrong!", "url": "https://www.garybell.co.uk/blog/everything-you-know-about-security-is-probably-wrong/", "published_at": "2020-11-18T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb09231d20e", "title": "Upgrading to Composer 2 using Ansible", "url": "https://www.garybell.co.uk/blog/upgrading-to-composer-2-using-ansible/", "published_at": "2020-11-11T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0931a6020", "title": "Password Validator 2.0.0 released", "url": "https://www.garybell.co.uk/blog/password-validator-2-0-0-released/", "published_at": "2020-11-06T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0932c6e19", "title": "Upgrading to Composer 2", "url": "https://www.garybell.co.uk/blog/upgrading-to-composer-2/", "published_at": "2020-11-04T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb093e18a08", "title": "Beware (and prepare for) the Black Friday Sales", "url": "https://www.garybell.co.uk/blog/beware-the-black-friday-sales/", "published_at": "2020-10-28T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0941c9237", "title": "Why you should avoid virtual machines for development", "url": "https://www.garybell.co.uk/blog/why-you-should-avoid-virtual-machines-for-development/", "published_at": "2020-10-21T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0946f7404", "title": "DigitalOcean Droplet unable to resolve mirror locations?", "url": "https://www.garybell.co.uk/blog/digitalocean-droplet-unable-to-resolve-mirror-locations/", "published_at": "2020-10-14T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb094b7b1fe", "title": "Getting started with GitLab's Cloud Development Kit", "url": "https://www.garybell.co.uk/blog/getting-started-with-gitlabs-cloud-development-kit/", "published_at": "2020-10-08T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb094fdaf2b", "title": "Creating a release with GitLab CI and Composer", "url": "https://www.garybell.co.uk/blog/creating-a-release-with-gitlab-ci-and-composer/", "published_at": "2020-10-07T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0955fc4f4", "title": "Configure PHP and Apache on DigitalOcean with Ansible", "url": "https://www.garybell.co.uk/blog/configuring-php-web-servers-with-ansible/", "published_at": "2020-09-30T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb09578ea10", "title": "How I got to number 1 on Google (and how you can too)", "url": "https://www.garybell.co.uk/blog/how-i-got-to-number-1-on-google/", "published_at": "2020-09-23T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb095bd8ae3", "title": "GitLab CI - Minimum requirements for PHPUnit", "url": "https://www.garybell.co.uk/blog/gitlab-ci-minimum-requirements-for-phpunit/", "published_at": "2020-09-16T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb09627c24d", "title": "Fixing GitLab pipeline stuck on tzdata configuration", "url": "https://www.garybell.co.uk/blog/fixing-gitlab-pipeline-stuck-on-tzdata-configuration/", "published_at": "2020-09-09T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb096b7d53a", "title": "NPM del task forgets to signal async completion", "url": "https://www.garybell.co.uk/blog/npm-del-task-forgets-to-signal-async-compeltion/", "published_at": "2020-09-02T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0970402c5", "title": "Remove unused plugins", "url": "https://www.garybell.co.uk/blog/remove-unused-plugins/", "published_at": "2020-08-26T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0977b9c86", "title": "Why you should use custom exceptions", "url": "https://www.garybell.co.uk/blog/why-you-should-use-custom-exceptions/", "published_at": "2020-08-19T00:00:00+00:00" }, { "id": "01a0877b-c02c-7323-90f0-5fb0985c7f16", "title": "Why a MacBook might be the perfect development device", "url": "https://www.garybell.co.uk/blog/are-macbooks-the-perfect-development-device/", "published_at": "2020-08-12T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba5eafef4", "title": "Cula.io limiting password lengths", "url": "https://www.garybell.co.uk/blog/cula-io-limiting-password-lengths/", "published_at": "2020-08-05T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba64eae81", "title": "Disk space is cheap, data breaches are not!", "url": "https://www.garybell.co.uk/blog/disk-space-is-cheap-data-breaches-are-not/", "published_at": "2020-07-29T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba68b5410", "title": "User Experience? Consider your users", "url": "https://www.garybell.co.uk/blog/user-experience-consider-your-users/", "published_at": "2020-07-22T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba6db1521", "title": "Installing Pi Hole on Ubuntu", "url": "https://www.garybell.co.uk/blog/installing-pi-hole-on-ubuntu/", "published_at": "2020-07-15T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba6f0083b", "title": "Raspberry Pi for Backups with IDrive", "url": "https://www.garybell.co.uk/blog/raspberry-pi-for-backups/", "published_at": "2020-07-08T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba7c0439f", "title": "Commits are your backup", "url": "https://www.garybell.co.uk/blog/commits-are-your-backup/", "published_at": "2020-07-01T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba88d6314", "title": "How to fix the Symfony web profiler in Apache", "url": "https://www.garybell.co.uk/blog/symfony-profiler-not-working-on-apache/", "published_at": "2020-06-24T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba8cda54c", "title": "Not all developers need a 4K monitor", "url": "https://www.garybell.co.uk/blog/not-all-developers-need-a-4k-monitor/", "published_at": "2020-06-17T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cba9c7463a", "title": "Writing a good technical test", "url": "https://www.garybell.co.uk/blog/writing-a-good-technical-test/", "published_at": "2020-06-10T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbaa030f60", "title": "Why you should use Virtual Machines in development", "url": "https://www.garybell.co.uk/blog/why-you-should-use-virtual-machines-in-development/", "published_at": "2020-06-03T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbaac5f462", "title": "Why I use Ubuntu", "url": "https://www.garybell.co.uk/blog/why-i-use-ubuntu/", "published_at": "2020-05-27T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbab39d78b", "title": "In defence of technical tests", "url": "https://www.garybell.co.uk/blog/in-defence-of-technical-tests/", "published_at": "2020-05-20T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbabf8a97a", "title": "Why I use GitLab", "url": "https://www.garybell.co.uk/blog/why-i-use-gitlab/", "published_at": "2020-05-10T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbacf32856", "title": "Symfony unit tests with Redis on GitLab", "url": "https://www.garybell.co.uk/blog/symfony-unit-tests-with-redis-on-gitlab/", "published_at": "2020-02-05T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbad67b559", "title": "Why should you blog?", "url": "https://www.garybell.co.uk/blog/why-should-you-blog/", "published_at": "2020-01-29T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbad8e7b44", "title": "Clear out unused apps for security", "url": "https://www.garybell.co.uk/blog/clear-out-unused-apps/", "published_at": "2020-01-22T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbae3f6cd5", "title": "How to configure your CI pipeline environments", "url": "https://www.garybell.co.uk/blog/how-to-configure-your-ci-pipeline-environments/", "published_at": "2020-01-15T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbaf290344", "title": "Test your deployment tasks", "url": "https://www.garybell.co.uk/blog/test-your-deployment-tasks/", "published_at": "2020-01-08T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbb01f482c", "title": "Doctrine DBAL and the LIKE operator", "url": "https://www.garybell.co.uk/blog/doctrine-dbal-and-the-like-operator/", "published_at": "2019-11-18T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbb0979908", "title": "Replacing a drive in Buffalo LS441D after a drive failure", "url": "https://www.garybell.co.uk/blog/replacing-a-drive-in-buffalo-ls441d-after-a-drive-failure/", "published_at": "2019-11-11T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbb0b67ddb", "title": "Fixing Magento Invalid attribute name issue after SUPEE-11219", "url": "https://www.garybell.co.uk/blog/fix-magento-invalid-attribute-error-supee-11219/", "published_at": "2019-11-04T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbb0ba68d8", "title": "Magento patching frustrations", "url": "https://www.garybell.co.uk/blog/magento-patching-frustrations/", "published_at": "2019-10-29T00:00:00+00:00" }, { "id": "01a0877b-c02d-731a-b87e-a8cbb14c271e", "title": "HTTP status codes and their uses", "url": "https://www.garybell.co.uk/blog/http-status-codes-and-their-uses/", "published_at": "2019-08-23T00:00:00+00:00" } ] posts Claim your blog
Back to garybell.co.uk
Blog · corpus.blog/blogs/garybell.co.uk/posts

garybell.co.uk

garybell.co.uk

2026

2023

2022

2021

2020

2019