<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <id>https://www.euperia.com/feed/atom</id>
    <title type="text">Andrew McCombe's Blog</title>
    <subtitle type="text">RSS Feed for euperia.com - the personal blog of Andrew McCombe.</subtitle>
    <link xmlns="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="https://www.euperia.com/feed/atom"/>
    <updated>2026-07-26T14:28:46+00:00</updated>
    <rights>Copywright for all content owned by Andrew McCombe</rights>
    <generator uri="https://github.com/mitydigital/feedamic" version="3.0.10">Feedamic: the Atom and RSS Feed generator for Statamic</generator>
    <entry>
        <title type="text">RSS feed added</title>
        <link href="https://www.euperia.com/wrote/rss-feed-added"/>
        <id>https://www.euperia.com/wrote/rss-feed-added</id>
        <published>2026-07-26T00:00:00+00:00</published>
        <updated>2026-07-26T13:40:12+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvcnNzLWZlZWQtYWRkZWQucG5n/rss-feed-added.png?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;RSS feed added&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;I realised last week that the RSS feed on this site wasn't enabled.  It is now.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/rss-feed-added" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">A week off, bonding over bikes.</title>
        <link href="https://www.euperia.com/wrote/a-week-off-bonding-over-bikes"/>
        <id>https://www.euperia.com/wrote/a-week-off-bonding-over-bikes</id>
        <published>2026-07-23T00:00:00+00:00</published>
        <updated>2026-07-24T07:19:57+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzLzIwMjYwNzIwXzExMjE0OH4yLmpwZw/20260720_112148~2.jpg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;A week off, bonding over bikes.&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;A week off work spent bonding with my son, and learning a lot about mountain bikes.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/a-week-off-bonding-over-bikes" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Happy Hardcore Day</title>
        <link href="https://www.euperia.com/wrote/happy-hardcore-day"/>
        <id>https://www.euperia.com/wrote/happy-hardcore-day</id>
        <published>2026-06-11T00:00:00+00:00</published>
        <updated>2026-06-11T12:21:03+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvaGFwcHktaGFyZGNvcmUud2VicA/happy-hardcore.webp?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Happy Hardcore Day&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Today I'm raising the tempo with Spotify's Happy Hardcore Mix. It definitely has me bouncing in my chair!&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/happy-hardcore-day" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to Clear Stuck Tasks in PHPStorm</title>
        <link href="https://www.euperia.com/wrote/how-to-clear-stuck-tasks-in-phpstorm"/>
        <id>https://www.euperia.com/wrote/how-to-clear-stuck-tasks-in-phpstorm</id>
        <published>2025-06-30T00:00:00+00:00</published>
        <updated>2026-03-04T21:55:50+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL2NsZWFuc2hvdC0yMDI1LTA2LTMwLWF0LTEzLjU1LjE3LnBuZw/cleanshot-2025-06-30-at-13.55.17.png?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;How to Clear Stuck Tasks in PHPStorm&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Here's how I cleared older issues from PHPStom's Task Management.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/how-to-clear-stuck-tasks-in-phpstorm" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to hot-reload your browser on file changes without needing JS</title>
        <link href="https://www.euperia.com/wrote/how-to-hot-reload-your-browser-on-file-changes-without-needing-js"/>
        <id>https://www.euperia.com/wrote/how-to-hot-reload-your-browser-on-file-changes-without-needing-js</id>
        <published>2025-02-27T00:00:00+00:00</published>
        <updated>2025-02-27T13:36:34+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvY2hhcmxlc2RlbHV2aW8tcGphaDJheDR1d2stdW5zcGxhc2guanBn/charlesdeluvio-pjah2ax4uwk-unsplash.jpg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;How to hot-reload your browser on file changes without needing JS&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Here's how to trigger hot-reloading of your browser when you make changes in any file.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/how-to-hot-reload-your-browser-on-file-changes-without-needing-js" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Laravel File Upload fails with &quot;The file failed to upload.&quot;</title>
        <link href="https://www.euperia.com/wrote/laravel-file-upload-fails-with-the-file-failed-to-upload"/>
        <id>https://www.euperia.com/wrote/laravel-file-upload-fails-with-the-file-failed-to-upload</id>
        <published>2024-09-11T00:00:00+00:00</published>
        <updated>2024-12-13T20:41:54+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL2RlYnVnZ2luZy1sYXJhdmVsLWZpbGUtZmFpbGVkLXRvLXVwbG9hZC5wbmc/debugging-laravel-file-failed-to-upload.png?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Laravel File Upload fails with &quot;The file failed to upload.&quot;&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;How to fix &quot;The file failed to upload&quot; issues with Laravel.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/laravel-file-upload-fails-with-the-file-failed-to-upload" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Fix for mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$.&quot;number-of-buckets-specified&quot;')...</title>
        <link href="https://www.euperia.com/wrote/fix-for-mysqldump-couldn-t-execute-select-column_name-json_extract-histogram-usd-number-of-buckets-specified"/>
        <id>https://www.euperia.com/wrote/fix-for-mysqldump-couldn-t-execute-select-column_name-json_extract-histogram-usd-number-of-buckets-specified</id>
        <published>2023-05-11T00:00:00+00:00</published>
        <updated>2024-12-09T22:21:38+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzLzNoamJ1eW53NzlobGhrNXJkbXdpLndlYnA/3hjbuynw79hlhk5rdmwi.webp?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Fix for mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$.&quot;number-of-buckets-specified&quot;')...&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Recent updates to the `mysqldump`command may cause the error `SELECT COLUMN_NAME,                       JSON_EXTRACT(HISTOGRAM, '$.&quot;number-of-buckets-specified&quot;')                FROM information_schema.COLUMN_STATISTICS...` on MySQL 5.7.

Here's how to fix that.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/fix-for-mysqldump-couldn-t-execute-select-column_name-json_extract-histogram-usd-number-of-buckets-specified" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Remote Debugging Local Websites on Android Phones</title>
        <link href="https://www.euperia.com/wrote/remote-debugging-local-sites-on-android-phones"/>
        <id>https://www.euperia.com/wrote/remote-debugging-local-sites-on-android-phones</id>
        <published>2022-10-08T00:00:00+00:00</published>
        <updated>2024-12-09T22:43:44+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvbGUtYnV6ei1hbTlzajk4ZGkyYS11bnNwbGFzaC5qcGVn/le-buzz-am9sj98di2a-unsplash.jpeg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Remote Debugging Local Websites on Android Phones&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;How to test and inspect local development websites on Android phones.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/remote-debugging-local-sites-on-android-phones" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How To Get The Last Entry In A Javascript Array - The Modern Way</title>
        <link href="https://www.euperia.com/wrote/how-to-get-the-last-entry-in-a-javascript-array-the-modern-way"/>
        <id>https://www.euperia.com/wrote/how-to-get-the-last-entry-in-a-javascript-array-the-modern-way</id>
        <published>2022-09-29T00:00:00+00:00</published>
        <updated>2024-12-09T22:43:08+00:00</updated>
        <summary type="text">Getting the last item in a Javascript array can feel a bit yukky.  Luckily for us, there's now a new way of doing it.</summary>
        <content src="https://www.euperia.com/wrote/how-to-get-the-last-entry-in-a-javascript-array-the-modern-way" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Laravel: Update created_at and updated_at timestamps manually</title>
        <link href="https://www.euperia.com/wrote/laravel-update-created_at-and-updated_at-timestamps-manually"/>
        <id>https://www.euperia.com/wrote/laravel-update-created_at-and-updated_at-timestamps-manually</id>
        <published>2022-08-30T00:00:00+00:00</published>
        <updated>2024-12-09T22:28:43+00:00</updated>
        <summary type="text">Ever needed to manually set the `created_at` and `updated_at` fields in a Laravel Model?  By default the `updated_at` field will be overridden with the current date and time.  To get around this you need to pass `false` to the `timestamps` key when saving the model.</summary>
        <content src="https://www.euperia.com/wrote/laravel-update-created_at-and-updated_at-timestamps-manually" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Git Ignore File Mode</title>
        <link href="https://www.euperia.com/wrote/git-ignore-file-mode"/>
        <id>https://www.euperia.com/wrote/git-ignore-file-mode</id>
        <published>2022-08-25T00:00:00+00:00</published>
        <updated>2024-12-13T22:36:57+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvZ2l0LWZpbGVtb2RlLnBuZw/git-filemode.png?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Git Ignore File Mode&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Here's how to tell git to ignore file mode changes.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/git-ignore-file-mode" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How To Fix The Footer To The Bottom Of The Page With Tailwind CSS</title>
        <link href="https://www.euperia.com/wrote/how-to-fix-the-footer-to-the-bottom-of-the-page-with-tailwind-css"/>
        <id>https://www.euperia.com/wrote/how-to-fix-the-footer-to-the-bottom-of-the-page-with-tailwind-css</id>
        <published>2022-02-21T00:00:00+00:00</published>
        <updated>2024-12-13T22:39:32+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvdGFpbHdpbmQuanBlZw/tailwind.jpeg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;How To Fix The Footer To The Bottom Of The Page With Tailwind CSS&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Here's how I fixed the footer to the bottom of the page with Tailwind CSS.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/how-to-fix-the-footer-to-the-bottom-of-the-page-with-tailwind-css" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to install and start Mailhog on Ubuntu 20.04</title>
        <link href="https://www.euperia.com/wrote/install-mailhog-on-ubuntu"/>
        <id>https://www.euperia.com/wrote/install-mailhog-on-ubuntu</id>
        <published>2022-01-14T00:00:00+00:00</published>
        <updated>2024-12-13T22:40:00+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvZXJpY2Etc3RlZXZlcy1nX2x3YXAwdGYzOC11bnNwbGFzaC5qcGVn/erica-steeves-g_lwap0tf38-unsplash.jpeg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;How to install and start Mailhog on Ubuntu 20.04&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Testing email on development sites can be hard but we can use Mailhog to make it easier. Here's how to install and start Mailhog on Ubuntu 20.04.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/install-mailhog-on-ubuntu" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Sylius: How to add position to product images</title>
        <link href="https://www.euperia.com/wrote/sylius-how-to-add-position-to-product-images"/>
        <id>https://www.euperia.com/wrote/sylius-how-to-add-position-to-product-images</id>
        <published>2022-01-05T00:00:00+00:00</published>
        <updated>2024-12-09T22:44:18+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvY2hyaXMtemhhbmctbXBrXzhla3BmdTgtdW5zcGxhc2guanBlZw/chris-zhang-mpk_8ekpfu8-unsplash.jpeg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Sylius: How to add position to product images&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Sylius doesn't come with functionality to change the ordering of images in the admin area but it would be great if we could do it ourselves. Here's how to add a position to the product images tab.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/sylius-how-to-add-position-to-product-images" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Vue Not Updating When Changing Array</title>
        <link href="https://www.euperia.com/wrote/vue-not-updating-when-changing-array"/>
        <id>https://www.euperia.com/wrote/vue-not-updating-when-changing-array</id>
        <published>2021-07-11T00:00:00+00:00</published>
        <updated>2024-12-13T22:40:37+00:00</updated>
        <summary type="text">Today I had a problem with Vue.js not updating when I changed content in an array. Here's how I resolved it.</summary>
        <content src="https://www.euperia.com/wrote/vue-not-updating-when-changing-array" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Feature Estimation: What is the real cost of adding a feature to a website?</title>
        <link href="https://www.euperia.com/wrote/feature-estimation-real-cost"/>
        <id>https://www.euperia.com/wrote/feature-estimation-real-cost</id>
        <published>2021-01-02T00:00:00+00:00</published>
        <updated>2024-12-13T22:42:06+00:00</updated>
        <summary type="text">When a client requests a feature, how do you provide a reasonable estimate? What do you base your estimate on. How much contingency do you add?</summary>
        <content src="https://www.euperia.com/wrote/feature-estimation-real-cost" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How To Create a New User in MySQL 8</title>
        <link href="https://www.euperia.com/wrote/how-to-create-a-new-user-in-mysql-8"/>
        <id>https://www.euperia.com/wrote/how-to-create-a-new-user-in-mysql-8</id>
        <published>2020-11-27T00:00:00+00:00</published>
        <updated>2024-12-13T22:42:26+00:00</updated>
        <summary type="text">The command to create a new user on MySQL version 8 has changed.  Heres how to do it.</summary>
        <content src="https://www.euperia.com/wrote/how-to-create-a-new-user-in-mysql-8" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Solved: Installing composer V1 with Ansible</title>
        <link href="https://www.euperia.com/wrote/solved-installing-composer-v1-with-ansible"/>
        <id>https://www.euperia.com/wrote/solved-installing-composer-v1-with-ansible</id>
        <published>2020-11-12T00:00:00+00:00</published>
        <updated>2024-12-13T22:42:51+00:00</updated>
        <summary type="text">Here's how I solved installing Composer V1 with Ansible</summary>
        <content src="https://www.euperia.com/wrote/solved-installing-composer-v1-with-ansible" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento 2: How to disable the Admin Two Factor Auth (2FA) Feature</title>
        <link href="https://www.euperia.com/wrote/magento-2-how-to-disable-the-admin-two-factor-auth-2fa-feature"/>
        <id>https://www.euperia.com/wrote/magento-2-how-to-disable-the-admin-two-factor-auth-2fa-feature</id>
        <published>2020-09-17T00:00:00+00:00</published>
        <updated>2024-12-13T22:54:20+00:00</updated>
        <summary type="text">Today I installed Magento 2 for the first time in about a year.  Once installed I navigated to the admin area and was presented with a two factor auth warning.  Heres how I disabled it.</summary>
        <content src="https://www.euperia.com/wrote/magento-2-how-to-disable-the-admin-two-factor-auth-2fa-feature" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Symfony: Open file in VSCode or PHPStorm from the browser</title>
        <link href="https://www.euperia.com/wrote/symfony-open-in-ide-phpstorm-vscode"/>
        <id>https://www.euperia.com/wrote/symfony-open-in-ide-phpstorm-vscode</id>
        <published>2020-04-30T00:00:00+00:00</published>
        <updated>2024-12-13T22:43:21+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvc3ltZm9ueS1leGNlcHRpb24uZ2lm/symfony-exception.gif?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Symfony: Open file in VSCode or PHPStorm from the browser&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Did you know you can open files in your IDE direct from Symfony's exception pages?&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/symfony-open-in-ide-phpstorm-vscode" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to Set a User Agent for PHP fopen() calls</title>
        <link href="https://www.euperia.com/wrote/set-a-user-agent-for-php-fopen-calls"/>
        <id>https://www.euperia.com/wrote/set-a-user-agent-for-php-fopen-calls</id>
        <published>2020-01-21T00:00:00+00:00</published>
        <updated>2024-12-13T22:43:44+00:00</updated>
        <summary type="text">How to set a user agent when using PHP's fopen() with an URL</summary>
        <content src="https://www.euperia.com/wrote/set-a-user-agent-for-php-fopen-calls" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How To Create A Multi-Page PDF From Images</title>
        <link href="https://www.euperia.com/wrote/creating-a-multi-page-pdf-from-images"/>
        <id>https://www.euperia.com/wrote/creating-a-multi-page-pdf-from-images</id>
        <published>2020-01-14T00:00:00+00:00</published>
        <updated>2024-12-13T22:44:11+00:00</updated>
        <summary type="text">Recently I needed to send someone a PDF of a bunch of scanned documents.  Here's how I did it</summary>
        <content src="https://www.euperia.com/wrote/creating-a-multi-page-pdf-from-images" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Using Docker with Laravel</title>
        <link href="https://www.euperia.com/wrote/using-docker-with-laravel"/>
        <id>https://www.euperia.com/wrote/using-docker-with-laravel</id>
        <published>2019-07-21T00:00:00+00:00</published>
        <updated>2024-12-09T22:19:09+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvaWFuLXRheWxvci1qb3FqYnZvMXA5Zy11bnNwbGFzaC5qcGVn/ian-taylor-joqjbvo1p9g-unsplash.jpeg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Using Docker with Laravel&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;When developing on a Laravel project I've used Homebrew for my web server and database, or used a Vagrant box. Whilst these work well most of the time there's an alternative that is quickly becoming the de-facto standard: Docker. Fortunately, getting Laravel to work with Docker is quite straightforward.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/using-docker-with-laravel" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to disable a payment method on the frontend with Magento 1</title>
        <link href="https://www.euperia.com/wrote/magento-disable-payment-method-on-frontend"/>
        <id>https://www.euperia.com/wrote/magento-disable-payment-method-on-frontend</id>
        <published>2019-05-24T00:00:00+00:00</published>
        <updated>2024-12-09T22:47:42+00:00</updated>
        <summary type="text">Here's how to disable a payment method on the front-end of a Magento 1 site whilst making it available in the admin area.</summary>
        <content src="https://www.euperia.com/wrote/magento-disable-payment-method-on-frontend" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Apache: Use .htaccess to redirect http to https</title>
        <link href="https://www.euperia.com/wrote/apache-use-htaccess-to-redirect-http-to-https"/>
        <id>https://www.euperia.com/wrote/apache-use-htaccess-to-redirect-http-to-https</id>
        <published>2018-08-25T00:00:00+00:00</published>
        <updated>2024-12-13T22:44:38+00:00</updated>
        <summary type="text">I'm forever having to lookup how to use Apache's .htaccess to redirect http to https so here it is.</summary>
        <content src="https://www.euperia.com/wrote/apache-use-htaccess-to-redirect-http-to-https" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Apache: Use .htaccess to redirect non-www to www</title>
        <link href="https://www.euperia.com/wrote/apache-use-htaccess-to-redirect-non-www-to-www"/>
        <id>https://www.euperia.com/wrote/apache-use-htaccess-to-redirect-non-www-to-www</id>
        <published>2018-08-25T00:00:00+00:00</published>
        <updated>2024-12-13T22:45:36+00:00</updated>
        <summary type="text">Here's how to redirect a non-www sub-domain request to the www subdomain using Apache's .htaccess file</summary>
        <content src="https://www.euperia.com/wrote/apache-use-htaccess-to-redirect-non-www-to-www" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How To Clear Google Chrome’s 301 Redirect Cache</title>
        <link href="https://www.euperia.com/wrote/how-to-clear-google-chromes-301-redirect-cache"/>
        <id>https://www.euperia.com/wrote/how-to-clear-google-chromes-301-redirect-cache</id>
        <published>2018-05-30T00:00:00+00:00</published>
        <updated>2024-12-13T22:45:53+00:00</updated>
        <summary type="text">Ever had a dev site set up and had it 301 redirect to 'https', only to find that Google Chrome caches this and you can't get the 'http://' version after?</summary>
        <content src="https://www.euperia.com/wrote/how-to-clear-google-chromes-301-redirect-cache" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento Admin Invalid Form Key</title>
        <link href="https://www.euperia.com/wrote/magento-admin-invalid-form-key"/>
        <id>https://www.euperia.com/wrote/magento-admin-invalid-form-key</id>
        <published>2018-05-30T00:00:00+00:00</published>
        <updated>2024-12-09T22:48:01+00:00</updated>
        <summary type="text">I Recently came across a situation where I couldn't log in to the Magento admin area, getting 'invalid form key on admin'. Here's how to fix it.</summary>
        <content src="https://www.euperia.com/wrote/magento-admin-invalid-form-key" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to import a Google Sitemap into a MySQL table</title>
        <link href="https://www.euperia.com/wrote/how-to-import-a-google-sitemap-into-mysql"/>
        <id>https://www.euperia.com/wrote/how-to-import-a-google-sitemap-into-mysql</id>
        <published>2018-05-30T00:00:00+00:00</published>
        <updated>2024-12-13T23:20:04+00:00</updated>
        <summary type="text">Here's a quick snippet showing how to import a Google Sitemap file into a MySQL table.  This is useful if you need to do anything with the urls such as scrape the pages or check for 301/302/404 results.</summary>
        <content src="https://www.euperia.com/wrote/how-to-import-a-google-sitemap-into-mysql" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Google Analytics WordPress Plugin</title>
        <link href="https://www.euperia.com/wrote/google-analytics-wordpress-plugin"/>
        <id>https://www.euperia.com/wrote/google-analytics-wordpress-plugin</id>
        <published>2018-01-03T00:00:00+00:00</published>
        <updated>2024-12-09T22:20:47+00:00</updated>
        <summary type="text">I wanted to learn now to create a basic plugin for WordPress and have made this very basic WordPress plugin that adds Google Analytics tracking code to your WordPress Site.</summary>
        <content src="https://www.euperia.com/wrote/google-analytics-wordpress-plugin" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to use htaccess to password protect your website</title>
        <link href="https://www.euperia.com/wrote/how-to-use-htaccess-to-password-protect-your-website"/>
        <id>https://www.euperia.com/wrote/how-to-use-htaccess-to-password-protect-your-website</id>
        <published>2017-11-29T00:00:00+00:00</published>
        <updated>2024-12-13T22:46:14+00:00</updated>
        <summary type="text">There are many reasons why you would want to password protect your website, or a section of your website.  Here's how to setup a .htaccess file to password protect your website.</summary>
        <content src="https://www.euperia.com/wrote/how-to-use-htaccess-to-password-protect-your-website" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento: remove admin mass action for specific role</title>
        <link href="https://www.euperia.com/wrote/magento-remove-admin-mass-action-specific-role"/>
        <id>https://www.euperia.com/wrote/magento-remove-admin-mass-action-specific-role</id>
        <published>2017-08-15T00:00:00+00:00</published>
        <updated>2024-12-13T22:47:04+00:00</updated>
        <summary type="text">I had a use case where a Magento admin user was limited to viewing the orders only.  They should be able to view orders but not perform any actions on an order.  The best way to do this with Magento is to remove admin mass actions for a specific user role.</summary>
        <content src="https://www.euperia.com/wrote/magento-remove-admin-mass-action-specific-role" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento: Remove specific tabs from product edit in admin</title>
        <link href="https://www.euperia.com/wrote/magento-remove-specific-tabs-product-edit-admin"/>
        <id>https://www.euperia.com/wrote/magento-remove-specific-tabs-product-edit-admin</id>
        <published>2017-08-08T00:00:00+00:00</published>
        <updated>2024-12-13T22:47:36+00:00</updated>
        <summary type="text">Here's how to remove specific tabs from Magento's admin product edit pages.</summary>
        <content src="https://www.euperia.com/wrote/magento-remove-specific-tabs-product-edit-admin" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to upgrade Magento 2 to a later version</title>
        <link href="https://www.euperia.com/wrote/upgrade-magento-2-later-version"/>
        <id>https://www.euperia.com/wrote/upgrade-magento-2-later-version</id>
        <published>2017-06-09T00:00:00+00:00</published>
        <updated>2024-12-13T22:54:07+00:00</updated>
        <summary type="text">Here's how to upgrade Magento 2 to a later version. For example, if you are currently running 2.1.6 and you need to upgrade to 2.1.7.</summary>
        <content src="https://www.euperia.com/wrote/upgrade-magento-2-later-version" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to get the URL of a CMS page or a static block in Magento</title>
        <link href="https://www.euperia.com/wrote/get-url-cms-page-static-block-magento"/>
        <id>https://www.euperia.com/wrote/get-url-cms-page-static-block-magento</id>
        <published>2017-04-19T00:00:00+00:00</published>
        <updated>2024-12-13T22:48:14+00:00</updated>
        <summary type="text">Here's how to get the URL of a CMS page or a static block in Magento.</summary>
        <content src="https://www.euperia.com/wrote/get-url-cms-page-static-block-magento" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to use a different SSH port with rsync</title>
        <link href="https://www.euperia.com/wrote/use-different-ssh-port-rsync"/>
        <id>https://www.euperia.com/wrote/use-different-ssh-port-rsync</id>
        <published>2017-04-18T00:00:00+00:00</published>
        <updated>2024-12-13T22:48:39+00:00</updated>
        <summary type="text">I'm forever forgetting how to use a different ssh port with rsync, so here's how to do it.</summary>
        <content src="https://www.euperia.com/wrote/use-different-ssh-port-rsync" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">HEAD request with PHP</title>
        <link href="https://www.euperia.com/wrote/head-request-php"/>
        <id>https://www.euperia.com/wrote/head-request-php</id>
        <published>2017-03-30T00:00:00+00:00</published>
        <updated>2024-12-13T22:48:50+00:00</updated>
        <summary type="text">If you want to perform a HEAD request with PHP on an URL you can use the `stream` functionality...</summary>
        <content src="https://www.euperia.com/wrote/head-request-php" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Cheat Sheet: Magento Collection Snippets</title>
        <link href="https://www.euperia.com/wrote/magento-collection-cheat-sheet"/>
        <id>https://www.euperia.com/wrote/magento-collection-cheat-sheet</id>
        <published>2016-08-18T00:00:00+00:00</published>
        <updated>2024-12-13T22:49:09+00:00</updated>
        <summary type="text">A cheat sheet containing useful Magento Collection snippets.</summary>
        <content src="https://www.euperia.com/wrote/magento-collection-cheat-sheet" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento Snippet: Use a Group By clause on a collection model</title>
        <link href="https://www.euperia.com/wrote/magento-snippet-use-group-clause-collection-model"/>
        <id>https://www.euperia.com/wrote/magento-snippet-use-group-clause-collection-model</id>
        <published>2016-08-17T00:00:00+00:00</published>
        <updated>2024-12-13T22:49:25+00:00</updated>
        <summary type="text">Here's a Magento snippet showing how to use a Group By clause on a Magento collection model.</summary>
        <content src="https://www.euperia.com/wrote/magento-snippet-use-group-clause-collection-model" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Managing Homebrew Services</title>
        <link href="https://www.euperia.com/wrote/managing-homebrew-services"/>
        <id>https://www.euperia.com/wrote/managing-homebrew-services</id>
        <published>2016-08-05T00:00:00+00:00</published>
        <updated>2024-12-13T22:49:41+00:00</updated>
        <summary type="text">Homebrew is easy to use and makes installing services such as MySQL or Elasticsearch a breeze. Here's how to manage those services.</summary>
        <content src="https://www.euperia.com/wrote/managing-homebrew-services" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">I’m a Magento Certified Developer!</title>
        <link href="https://www.euperia.com/wrote/magento-certified-developer"/>
        <id>https://www.euperia.com/wrote/magento-certified-developer</id>
        <published>2016-08-04T00:00:00+00:00</published>
        <updated>2024-12-09T22:47:51+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvbWFnZW50by1jZXJ0aWZpZWQtZGV2ZWxvcGVyLmpwZWc/magento-certified-developer.jpeg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;I’m a Magento Certified Developer!&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;I'm pleased to announce that I have recently passed the Magento Certified Developer exam.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/magento-certified-developer" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Solved: Fix for PHP Composer “????%” issue</title>
        <link href="https://www.euperia.com/wrote/fix-php-composer-issue"/>
        <id>https://www.euperia.com/wrote/fix-php-composer-issue</id>
        <published>2016-07-28T00:00:00+00:00</published>
        <updated>2024-12-13T22:50:02+00:00</updated>
        <summary type="text">I've had a problem on a few older projects where composer dies with &quot;????%&quot; after running `composer update`.  Here's the fix.</summary>
        <content src="https://www.euperia.com/wrote/fix-php-composer-issue" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento Custom Variables</title>
        <link href="https://www.euperia.com/wrote/magento-custom-variables"/>
        <id>https://www.euperia.com/wrote/magento-custom-variables</id>
        <published>2016-07-12T00:00:00+00:00</published>
        <updated>2024-12-13T22:50:38+00:00</updated>
        <summary type="text">Magento provides an interface for you to define your own custom variables. You can use these in CMS pages, static blocks, email templates and phtml templates. Here's how to use them.</summary>
        <content src="https://www.euperia.com/wrote/magento-custom-variables" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">MySQL Foreign Key Tutorial</title>
        <link href="https://www.euperia.com/wrote/mysql-foreign-key-tutorial"/>
        <id>https://www.euperia.com/wrote/mysql-foreign-key-tutorial</id>
        <published>2016-07-09T00:00:00+00:00</published>
        <updated>2024-12-09T22:46:55+00:00</updated>
        <summary type="text">Here's a quick tutorial on creating foreign keys with MySQL.</summary>
        <content src="https://www.euperia.com/wrote/mysql-foreign-key-tutorial" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Testing Magento Email with Mailtrap.io</title>
        <link href="https://www.euperia.com/wrote/testing-magento-email-with-mailtrap-io"/>
        <id>https://www.euperia.com/wrote/testing-magento-email-with-mailtrap-io</id>
        <published>2016-05-26T00:00:00+00:00</published>
        <updated>2024-12-13T22:50:24+00:00</updated>
        <summary type="text">Have you discovered how hard it is when testing Magento email? Have you ever tried getting Magento to use a separate SMTP server to send emails? I have, and got very frustrated with it. My solution to testing magento email is to use Mailtrap.io.</summary>
        <content src="https://www.euperia.com/wrote/testing-magento-email-with-mailtrap-io" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to backup and restore with Magento 2</title>
        <link href="https://www.euperia.com/wrote/backup-restore-magento-2"/>
        <id>https://www.euperia.com/wrote/backup-restore-magento-2</id>
        <published>2016-03-01T00:00:00+00:00</published>
        <updated>2024-12-13T22:53:54+00:00</updated>
        <summary type="text">Magento 2 comes with built-in functionality to backup and restore the code, media, and database. You can choose to backup and restore code, media, or database separately. Here's how to backup and restore with Magento 2.</summary>
        <content src="https://www.euperia.com/wrote/backup-restore-magento-2" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Product and Breadcrumb Rich Snippets in Magento</title>
        <link href="https://www.euperia.com/wrote/product-breadcrumb-rich-snippets-magento"/>
        <id>https://www.euperia.com/wrote/product-breadcrumb-rich-snippets-magento</id>
        <published>2016-02-29T00:00:00+00:00</published>
        <updated>2024-12-13T22:34:51+00:00</updated>
        <summary type="text">Here's how to add products and breadcrumb Rich Snippets in Magento.</summary>
        <content src="https://www.euperia.com/wrote/product-breadcrumb-rich-snippets-magento" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento Snippet: How to set and get cookies in Magento</title>
        <link href="https://www.euperia.com/wrote/how-to-set-and-get-cookies-in-magento"/>
        <id>https://www.euperia.com/wrote/how-to-set-and-get-cookies-in-magento</id>
        <published>2016-02-22T00:00:00+00:00</published>
        <updated>2024-12-13T22:34:26+00:00</updated>
        <summary type="text">Here's how to get and set cookies in Magento 1.</summary>
        <content src="https://www.euperia.com/wrote/how-to-set-and-get-cookies-in-magento" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Solved: PHP Imagick ‘unable to open image’ PDF</title>
        <link href="https://www.euperia.com/wrote/solved-php-imagick-unable-to-open-image-pdf"/>
        <id>https://www.euperia.com/wrote/solved-php-imagick-unable-to-open-image-pdf</id>
        <published>2015-10-29T00:00:00+00:00</published>
        <updated>2024-12-13T22:51:25+00:00</updated>
        <summary type="text">I've recently stumbled across an issue where PHP Imagick can't open a PDF file despite the file being there and readable. This is using Mac OSX El Capitan with Homebrewed PHP5, Imagemagick, Ghostscript and the PHP55-imagick module. After a bit of searching I found the fix.</summary>
        <content src="https://www.euperia.com/wrote/solved-php-imagick-unable-to-open-image-pdf" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento Snippet: Admin grid currency type with currency symbol</title>
        <link href="https://www.euperia.com/wrote/magento-snippet-admin-grid-currency-type-currency-symbol"/>
        <id>https://www.euperia.com/wrote/magento-snippet-admin-grid-currency-type-currency-symbol</id>
        <published>2015-10-06T00:00:00+00:00</published>
        <updated>2024-12-09T22:22:25+00:00</updated>
        <summary type="text">Here's a snippet for using a currency column type with the currency symbol prefix in Magento admin grids.</summary>
        <content src="https://www.euperia.com/wrote/magento-snippet-admin-grid-currency-type-currency-symbol" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">TIL: MySQL FLUSH PRIVILEGES isn’t needed</title>
        <link href="https://www.euperia.com/wrote/til-mysql-flush-privileges-isnt-needed"/>
        <id>https://www.euperia.com/wrote/til-mysql-flush-privileges-isnt-needed</id>
        <published>2015-07-17T00:00:00+00:00</published>
        <updated>2024-12-09T22:46:38+00:00</updated>
        <summary type="text">Today I learned that `FLUSH PRIVILEGES` isn't needed by Scott Lindsey in the comments.  After double checking locally that Scott was correct I looked it up and found a great explanation why MySQL FLUSH PRIVILEGES isn't needed</summary>
        <content src="https://www.euperia.com/wrote/til-mysql-flush-privileges-isnt-needed" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Solved: MySQL fix for  &quot;Field ‘xxxx’ doesn’t have a default value&quot;</title>
        <link href="https://www.euperia.com/wrote/mysql-fix-field-doesnt-default-value"/>
        <id>https://www.euperia.com/wrote/mysql-fix-field-doesnt-default-value</id>
        <published>2015-06-22T00:00:00+00:00</published>
        <updated>2024-12-09T22:46:11+00:00</updated>
        <summary type="text">If you're using MySQL and getting the following error &quot;SQLSTATE[HY000]: General error: 1364 Field 'delivery_address_id' doesn't have a default value&quot; then this is how to fix it.</summary>
        <content src="https://www.euperia.com/wrote/mysql-fix-field-doesnt-default-value" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">20 years of PHP #20yearsofphp</title>
        <link href="https://www.euperia.com/wrote/20yearsofphp"/>
        <id>https://www.euperia.com/wrote/20yearsofphp</id>
        <published>2015-06-09T00:00:00+00:00</published>
        <updated>2024-12-13T22:51:41+00:00</updated>
        <summary type="text">On 8th June 1995, Rasmus Lerdorf announced the release of Personal Home Page Tools Version 1.0. To celebrate the 20th anniversary, Ben Ramsey has asked the PHP community to share their PHP experiences and share them on Twitter using the hashtag #20yearsofphp.</summary>
        <content src="https://www.euperia.com/wrote/20yearsofphp" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Useful Oh-My-Zsh plugins</title>
        <link href="https://www.euperia.com/wrote/useful-oh-zsh-plugins"/>
        <id>https://www.euperia.com/wrote/useful-oh-zsh-plugins</id>
        <published>2015-05-03T00:00:00+00:00</published>
        <updated>2024-12-13T22:52:05+00:00</updated>
        <summary type="text">Oh-My-Zsh describes itself as a 'community driven framework for managing your zsh configuration' and comes with lots of zsh plugins (189 currently) but none are enabled by default. Some zsh plugins are tailored for your specific operating system whilst others are aimed at helping improve developers workflow. Wether you're using Ruby, Python, PHP or Javascript as your main language or you're a systems administrator, there will be a plugin to help.  Here are the zsh plugins I'm currently using.</summary>
        <content src="https://www.euperia.com/wrote/useful-oh-zsh-plugins" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Install Beanstalkd on Ubuntu 12.04</title>
        <link href="https://www.euperia.com/wrote/install-beanstalkd-on-ubuntu-12-04"/>
        <id>https://www.euperia.com/wrote/install-beanstalkd-on-ubuntu-12-04</id>
        <published>2015-04-22T00:00:00+00:00</published>
        <updated>2024-12-13T22:52:28+00:00</updated>
        <summary type="text">A simple guide on how to install Beanstalkd on Ubuntu 12.04.</summary>
        <content src="https://www.euperia.com/wrote/install-beanstalkd-on-ubuntu-12-04" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">PHP: How to pear install HTTP2 and HTTP_Request2</title>
        <link href="https://www.euperia.com/wrote/pear-install-http2"/>
        <id>https://www.euperia.com/wrote/pear-install-http2</id>
        <published>2015-04-16T00:00:00+00:00</published>
        <updated>2022-01-23T15:46:40+00:00</updated>
        <summary type="text">Whilst working on a project recently I've found the need to install the HTTP2 package from the pear repository. I couldn't find any useful notes on how to install HTTP2 via pear so here's my notes on how to pear install HTTP2.</summary>
        <content src="https://www.euperia.com/wrote/pear-install-http2" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Staffs Web Meetup February 2015</title>
        <link href="https://www.euperia.com/wrote/staffs-web-meetup-february-2015"/>
        <id>https://www.euperia.com/wrote/staffs-web-meetup-february-2015</id>
        <published>2015-02-21T00:00:00+00:00</published>
        <updated>2022-01-23T15:46:00+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvcnViYmVyLWR1Y2stZGV2ZWxvcG1lbnQuanBn/rubber-duck-development.jpg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Staffs Web Meetup February 2015&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;On Thursday night I attended the Staffs Web Meetup, a monthly event aimed at providing an informal environment for people involved in all aspects of the web industry to meet up.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/staffs-web-meetup-february-2015" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">You may need to re-run your boot loader[grub]</title>
        <link href="https://www.euperia.com/wrote/you-may-need-to-re-run-your-boot-loader-grub"/>
        <id>https://www.euperia.com/wrote/you-may-need-to-re-run-your-boot-loader-grub</id>
        <published>2015-02-19T00:00:00+00:00</published>
        <updated>2022-01-23T15:45:22+00:00</updated>
        <summary type="text">After updating an Ubuntu server I occasionally see the message `you may need to re-run your boot loader[grub]` after updating the kernel.  Here's how to actually update Grub.</summary>
        <content src="https://www.euperia.com/wrote/you-may-need-to-re-run-your-boot-loader-grub" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Exim Command Cheat Sheet</title>
        <link href="https://www.euperia.com/wrote/exim-command-cheat-sheet"/>
        <id>https://www.euperia.com/wrote/exim-command-cheat-sheet</id>
        <published>2015-02-13T00:00:00+00:00</published>
        <updated>2022-01-23T15:44:34+00:00</updated>
        <summary type="text">I've had this Exim command cheat sheet in Evernote for a while and thought it would prove useful to others.</summary>
        <content src="https://www.euperia.com/wrote/exim-command-cheat-sheet" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to use different PHP versions on OSX with Apache and Homebrew</title>
        <link href="https://www.euperia.com/wrote/using-different-php-versions-osx-apache-homebrew"/>
        <id>https://www.euperia.com/wrote/using-different-php-versions-osx-apache-homebrew</id>
        <published>2015-02-04T00:00:00+00:00</published>
        <updated>2022-01-23T15:44:00+00:00</updated>
        <summary type="text">By default Apple's OSX (Mavericks) comes with PHP 5.4 installed but if you want to work on a different version you're pretty stuck. 
My solution to this is to use homebrew to install PHP5.3, 5.4, 5.5 and 5.6 and then simply change the PHP module loaded by apache.  Here how to do it.</summary>
        <content src="https://www.euperia.com/wrote/using-different-php-versions-osx-apache-homebrew" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Sample xdebug.ini file</title>
        <link href="https://www.euperia.com/wrote/sample-xdebug-ini-file"/>
        <id>https://www.euperia.com/wrote/sample-xdebug-ini-file</id>
        <published>2015-01-28T00:00:00+00:00</published>
        <updated>2022-01-23T15:41:52+00:00</updated>
        <summary type="text">I use Xdebug when working on PHP websites and often have to manually install it before starting and debugging. I usually find myself searching the internet for a sample xdebug.ini file to use after installing.  So here's a sample xdebug.ini file for my future self (and anyone else it may help).</summary>
        <content src="https://www.euperia.com/wrote/sample-xdebug-ini-file" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to forward a domain to a Vagrant VM with Apache on OSX</title>
        <link href="https://www.euperia.com/wrote/how-to-forward-domain-to-vagrant-vm-apache-osx"/>
        <id>https://www.euperia.com/wrote/how-to-forward-domain-to-vagrant-vm-apache-osx</id>
        <published>2015-01-27T00:00:00+00:00</published>
        <updated>2024-12-13T22:52:52+00:00</updated>
        <summary type="text">I do a lot of my development work using Virtual Machines and Vagrant. This provides an easy way for me to get a working environment up and running locally on the many projects I work on daily. However, one of the problems with this is that these VMs aren't accessible externally. This can be a problem when you need to show your work or use a third party service that needs access to the site. Here's how to forward a domain to a Vagrant VM using Apache's mod_proxy.</summary>
        <content src="https://www.euperia.com/wrote/how-to-forward-domain-to-vagrant-vm-apache-osx" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Using a Standing Desk for Work:  Week 1</title>
        <link href="https://www.euperia.com/wrote/using-standing-desk-work-week-1"/>
        <id>https://www.euperia.com/wrote/using-standing-desk-work-week-1</id>
        <published>2015-01-19T00:00:00+00:00</published>
        <updated>2024-09-09T15:38:42+00:00</updated>
        <summary type="text">Its been a week since my post last week, &quot;Using a standing desk for work: Day 1&quot; so I thought I'd write a update.</summary>
        <content src="https://www.euperia.com/wrote/using-standing-desk-work-week-1" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Using a Standing Desk for Work: Day 1</title>
        <link href="https://www.euperia.com/wrote/using-standing-desk-work-day-1"/>
        <id>https://www.euperia.com/wrote/using-standing-desk-work-day-1</id>
        <published>2015-01-13T00:00:00+00:00</published>
        <updated>2022-08-25T17:02:17+00:00</updated>
        <summary type="text">We've been toying with the idea of using a standing desk for work quite a while after we had read about them on the internet. The benefits of using them are still unproven but after experiencing back-ache, abdominal issues and muscular pain I tried using a makeshift setup to see if using a standing desk for work would improve things.</summary>
        <content src="https://www.euperia.com/wrote/using-standing-desk-work-day-1" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Scriptaculous Ajax Autocomplete callback example</title>
        <link href="https://www.euperia.com/wrote/scriptaculous-ajax-autocomplete-callback-example"/>
        <id>https://www.euperia.com/wrote/scriptaculous-ajax-autocomplete-callback-example</id>
        <published>2014-12-06T00:00:00+00:00</published>
        <updated>2022-01-23T15:38:41+00:00</updated>
        <summary type="text">Recently, whilst working on an old website at work, I found a need to add additional parameters to a Script.aculo.us Ajax.autocomplete call The documentation show that this is possible via the callback function but unfortunately there isn't an example provided.</summary>
        <content src="https://www.euperia.com/wrote/scriptaculous-ajax-autocomplete-callback-example" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Apache htaccess password authentication, optimisation, and caching</title>
        <link href="https://www.euperia.com/wrote/apache-htaccess"/>
        <id>https://www.euperia.com/wrote/apache-htaccess</id>
        <published>2014-11-30T00:00:00+00:00</published>
        <updated>2022-01-23T15:38:16+00:00</updated>
        <summary type="text">Here's a few Apache snippets for password authentication, allowing acces via an IP (else requesting password), optimising and caching assets, turning og PHP processing, and more.</summary>
        <content src="https://www.euperia.com/wrote/apache-htaccess" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Job Control Commands: fg, bg and ctrl-z</title>
        <link href="https://www.euperia.com/wrote/job-control-commands-fg-bg-ctrl-z"/>
        <id>https://www.euperia.com/wrote/job-control-commands-fg-bg-ctrl-z</id>
        <published>2014-09-16T00:00:00+00:00</published>
        <updated>2022-01-23T15:36:09+00:00</updated>
        <summary type="text">I have a script polling a Beanstalkd queue and needed to put it into the background, and bring it to the front whilst debugging it.</summary>
        <content src="https://www.euperia.com/wrote/job-control-commands-fg-bg-ctrl-z" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Solved: Fix for MySQL error Code 1217 – A foreign key constraint fails</title>
        <link href="https://www.euperia.com/wrote/fix-for-mysql-error-code-1217-a-foreign-key-constraint-fails"/>
        <id>https://www.euperia.com/wrote/fix-for-mysql-error-code-1217-a-foreign-key-constraint-fails</id>
        <published>2014-08-13T00:00:00+00:00</published>
        <updated>2024-12-09T22:45:56+00:00</updated>
        <summary type="text">If you're getting the following from MySQL: 'Error Code: 1217. Cannot delete or update a parent row: a foreign key constraint fails' - this is how to fix it</summary>
        <content src="https://www.euperia.com/wrote/fix-for-mysql-error-code-1217-a-foreign-key-constraint-fails" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Inspecting jQuery event handlers</title>
        <link href="https://www.euperia.com/wrote/inspect-jquery-event-handlers"/>
        <id>https://www.euperia.com/wrote/inspect-jquery-event-handlers</id>
        <published>2014-08-05T00:00:00+00:00</published>
        <updated>2022-01-23T15:34:12+00:00</updated>
        <summary type="text">Ever had issues finding where a JQuery click handler is defined? Got a project with LOTS of Javascript and can't find where an event is handled? Here's how to find out using Google Chrome.</summary>
        <content src="https://www.euperia.com/wrote/inspect-jquery-event-handlers" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Grep Apache access log for browser and OS version</title>
        <link href="https://www.euperia.com/wrote/grep-apache-access-log-for-browser-os-version"/>
        <id>https://www.euperia.com/wrote/grep-apache-access-log-for-browser-os-version</id>
        <published>2014-06-05T00:00:00+00:00</published>
        <updated>2022-01-23T15:32:41+00:00</updated>
        <summary type="text">Today I've needed to find out if it was worth testing a client's website with Safari 5 on Windows.  Here's some shell foo to find out from an access log</summary>
        <content src="https://www.euperia.com/wrote/grep-apache-access-log-for-browser-os-version" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Install NodeJS and Bower on Ubuntu 12.04 Precise</title>
        <link href="https://www.euperia.com/wrote/install-nodejs-and-bower-on-ubuntu-12-04-precise"/>
        <id>https://www.euperia.com/wrote/install-nodejs-and-bower-on-ubuntu-12-04-precise</id>
        <published>2014-04-29T00:00:00+00:00</published>
        <updated>2022-01-23T15:31:39+00:00</updated>
        <summary type="text">I'm using Bower on a few projects at work to manage the JavaScript dependencies and it works perfectly for my needs. The only issue is that the websites are currently deployed on Ubuntu 12.04 and the packaged version of NodeJs is too old to install Bower.</summary>
        <content src="https://www.euperia.com/wrote/install-nodejs-and-bower-on-ubuntu-12-04-precise" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Ignore PHP Strict Errors and Warnings</title>
        <link href="https://www.euperia.com/wrote/ignore-php-strict-errors-warnings"/>
        <id>https://www.euperia.com/wrote/ignore-php-strict-errors-warnings</id>
        <published>2014-03-31T00:00:00+00:00</published>
        <updated>2022-01-23T15:30:45+00:00</updated>
        <summary type="text">After upgrading to PHP5.4 on one of our older code-bases I'm finding the error logs full of PHP Strict Errors and warnings. As this code is old and not financially viable to fix all these issues I needed to ignore the errors and warnings.</summary>
        <content src="https://www.euperia.com/wrote/ignore-php-strict-errors-warnings" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How I use Git for Web Development</title>
        <link href="https://www.euperia.com/wrote/how-i-use-git-with-web-development"/>
        <id>https://www.euperia.com/wrote/how-i-use-git-with-web-development</id>
        <published>2014-03-13T00:00:00+00:00</published>
        <updated>2022-08-25T20:41:57+00:00</updated>
        <summary type="text">I have a few steps I usually follow when I find myself working on one of these websites so here's how I use Git with Web Development.</summary>
        <content src="https://www.euperia.com/wrote/how-i-use-git-with-web-development" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Quick Tip: PHPstorm Find and Replace Regex Dollar Sign ($)</title>
        <link href="https://www.euperia.com/wrote/phpstorm-find-replace-regex-dollar-sign"/>
        <id>https://www.euperia.com/wrote/phpstorm-find-replace-regex-dollar-sign</id>
        <published>2014-03-01T00:00:00+00:00</published>
        <updated>2022-01-23T15:26:51+00:00</updated>
        <summary type="text">If you need to perform a Find and Replace with a Regex in PHPStorm and want to replace a dollar sign ($) you'll need to escape it with a double slash</summary>
        <content src="https://www.euperia.com/wrote/phpstorm-find-replace-regex-dollar-sign" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Fix for PHP ‘ Warning: Invalid argument supplied for foreach() in …’</title>
        <link href="https://www.euperia.com/wrote/fix-php-warning-invalid-argument-supplied-foreach"/>
        <id>https://www.euperia.com/wrote/fix-php-warning-invalid-argument-supplied-foreach</id>
        <published>2014-02-14T00:00:00+00:00</published>
        <updated>2022-01-23T15:25:53+00:00</updated>
        <summary type="text">I'm getting lots of pages with the PHP warning &quot;Warning: Invalid argument supplied for foreach() in ...&quot;.  The warning is showing because I like to develop with error reporting turned on.</summary>
        <content src="https://www.euperia.com/wrote/fix-php-warning-invalid-argument-supplied-foreach" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Can’t find VirtualBox Guest Additions ISO?</title>
        <link href="https://www.euperia.com/wrote/cant-find-virtualbox-guest-additions-iso"/>
        <id>https://www.euperia.com/wrote/cant-find-virtualbox-guest-additions-iso</id>
        <published>2014-02-13T00:00:00+00:00</published>
        <updated>2022-01-23T15:24:33+00:00</updated>
        <summary type="text">Can't find the VirtualBox Guest Additions ISO? Here's a link to the VirtualBox downloads server.</summary>
        <content src="https://www.euperia.com/wrote/cant-find-virtualbox-guest-additions-iso" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Why NPR’s intern didn’t like Public Enemy’s ‘It Takes A Nation Of Millions To Hold Us Back’</title>
        <link href="https://www.euperia.com/wrote/why-nprs-intern-didnt-like-public-enemys-it-takes-nation-millions-hold-us-back"/>
        <id>https://www.euperia.com/wrote/why-nprs-intern-didnt-like-public-enemys-it-takes-nation-millions-hold-us-back</id>
        <published>2014-01-23T00:00:00+00:00</published>
        <updated>2024-09-09T15:42:12+00:00</updated>
        <summary type="text">Today I read a well written blog post over at NPR Music called ‘You’ve never heard Public Enemy’s ‘It Takes a Nation of Millions To Hold Us Back’ in which one of their young interns, Austin Cooper, listens to Public Enemy’s classic album for the first time, and hated it.</summary>
        <content src="https://www.euperia.com/wrote/why-nprs-intern-didnt-like-public-enemys-it-takes-nation-millions-hold-us-back" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">My Musical Journey: From Glam Rock to Hip-Hop (and Beyond) – Part Two</title>
        <link href="https://www.euperia.com/wrote/musical-journey-glam-rock-hip-hop-beyond-part-two"/>
        <id>https://www.euperia.com/wrote/musical-journey-glam-rock-hip-hop-beyond-part-two</id>
        <published>2014-01-08T00:00:00+00:00</published>
        <updated>2022-01-23T22:43:29+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvZ2hldHRvLWJsYXN0ZXIucG5n/ghetto-blaster.png?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;My Musical Journey: From Glam Rock to Hip-Hop (and Beyond) – Part Two&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;So the 1980s had introduced me to Hip-Hop - a new, exciting and fresh sound straight from the USA and I loved it. But there was a new buzz growing in the UK at the time and I'll admit that I hated it - at first.  House had been growing for a couple of years and I'd first&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/musical-journey-glam-rock-hip-hop-beyond-part-two" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">My Musical Journey: From Glam Rock to Hip-Hop (and Beyond) – Part One</title>
        <link href="https://www.euperia.com/wrote/musical-journey-glam-rock-hip-hop-beyond-part-one"/>
        <id>https://www.euperia.com/wrote/musical-journey-glam-rock-hip-hop-beyond-part-one</id>
        <published>2013-11-10T00:00:00+00:00</published>
        <updated>2022-01-23T22:37:04+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvZ2hldHRvLWJsYXN0ZXIucG5n/ghetto-blaster.png?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;My Musical Journey: From Glam Rock to Hip-Hop (and Beyond) – Part One&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;I seem to have been born at a pretty good time for music.  My parents aren’t big music fans; my Mother used to be into Glam Rock and bits of Hendrix whilst my Father used to play Country music on Sunday mornings. How that mix started my musical journey from Glam Rock to Hip-Hop and beyond is anyones guess.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/musical-journey-glam-rock-hip-hop-beyond-part-one" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to configure postfix to deliver all mail to one mailbox</title>
        <link href="https://www.euperia.com/wrote/how-to-configure-postfix-to-deliver-all-mail-to-one-mailbox"/>
        <id>https://www.euperia.com/wrote/how-to-configure-postfix-to-deliver-all-mail-to-one-mailbox</id>
        <published>2013-10-19T00:00:00+00:00</published>
        <updated>2022-01-23T15:21:27+00:00</updated>
        <summary type="text">How to configure postfix to deliver all mail to a local user account</summary>
        <content src="https://www.euperia.com/wrote/how-to-configure-postfix-to-deliver-all-mail-to-one-mailbox" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Filter Apache logs to exclude js, css and images</title>
        <link href="https://www.euperia.com/wrote/filter-apache-logs-to-exclude-js-css-and-images"/>
        <id>https://www.euperia.com/wrote/filter-apache-logs-to-exclude-js-css-and-images</id>
        <published>2013-08-07T00:00:00+00:00</published>
        <updated>2022-01-23T15:18:44+00:00</updated>
        <summary type="text">Quite often I find myself having to filter Apache logs to exclude JS, CSS and images.   I use a combination of cat and egrep to achieve this.</summary>
        <content src="https://www.euperia.com/wrote/filter-apache-logs-to-exclude-js-css-and-images" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">MySQL Create Database with UTF8 Character Set Syntax</title>
        <link href="https://www.euperia.com/wrote/mysql-create-database-with-utf8-character-set-syntax"/>
        <id>https://www.euperia.com/wrote/mysql-create-database-with-utf8-character-set-syntax</id>
        <published>2013-06-21T00:00:00+00:00</published>
        <updated>2024-12-17T13:30:42+00:00</updated>
        <summary type="text">I always forget the MySQL create database with UTF8 character set syntax, so here it is.</summary>
        <content src="https://www.euperia.com/wrote/mysql-create-database-with-utf8-character-set-syntax" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">PHP Imagick / ImagickException: &quot;no decode delegate for postscript or PDF files&quot;</title>
        <link href="https://www.euperia.com/wrote/php-imagick-imagickexception-no-decode-delegate-for-postscript-or-pdf-files"/>
        <id>https://www.euperia.com/wrote/php-imagick-imagickexception-no-decode-delegate-for-postscript-or-pdf-files</id>
        <published>2013-05-17T00:00:00+00:00</published>
        <updated>2022-01-23T15:15:23+00:00</updated>
        <summary type="text">This morning I had an issue with a PHP imagick ImagickException when converting a PDF/postscript file to a thumbnail.  I have PHP Imagick, Imagemagick and Ghostscript installed and everything verifies as OK in phpinfo output.</summary>
        <content src="https://www.euperia.com/wrote/php-imagick-imagickexception-no-decode-delegate-for-postscript-or-pdf-files" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Magento admin login problem in Chrome – with solution</title>
        <link href="https://www.euperia.com/wrote/magento-admin-login-problem-in-chrome-with-solution"/>
        <id>https://www.euperia.com/wrote/magento-admin-login-problem-in-chrome-with-solution</id>
        <published>2013-04-10T00:00:00+00:00</published>
        <updated>2024-12-09T22:22:10+00:00</updated>
        <summary type="text">Recently I've been experiencing a Magento admin login problem in Chrome which was caused by an invalid domain name and cookies.  Here's how I fixed it.</summary>
        <content src="https://www.euperia.com/wrote/magento-admin-login-problem-in-chrome-with-solution" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Routing requests to index.php with Apache</title>
        <link href="https://www.euperia.com/wrote/route-requests-to-index-php-with-apache"/>
        <id>https://www.euperia.com/wrote/route-requests-to-index-php-with-apache</id>
        <published>2013-03-25T00:00:00+00:00</published>
        <updated>2022-01-23T15:11:53+00:00</updated>
        <summary type="text">Here's how to go about routing requests to index.php with Apache.</summary>
        <content src="https://www.euperia.com/wrote/route-requests-to-index-php-with-apache" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">PHP backtick gotcha</title>
        <link href="https://www.euperia.com/wrote/php-backtick-gotcha"/>
        <id>https://www.euperia.com/wrote/php-backtick-gotcha</id>
        <published>2013-03-12T00:00:00+00:00</published>
        <updated>2022-01-23T15:11:12+00:00</updated>
        <summary type="text">I got caught out using bacticks in a PHP script.</summary>
        <content src="https://www.euperia.com/wrote/php-backtick-gotcha" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Install PHP 5.4 and Nginx on Ubuntu 12.04</title>
        <link href="https://www.euperia.com/wrote/install-nginx-and-php5-4-on-ubuntu-12-04"/>
        <id>https://www.euperia.com/wrote/install-nginx-and-php5-4-on-ubuntu-12-04</id>
        <published>2013-02-13T00:00:00+00:00</published>
        <updated>2024-09-09T15:50:23+00:00</updated>
        <summary type="text">Whilst the LAMP stack is easy to install (sudo tasksel &amp; select 'LAMP'), installing PHP 5.4 and Nginx on Ubuntu 12.04 isn't as straightforward.  For a start, the packaged Nginx is out of date and PHP5.4 isn't currently available at all out of the box.  Luckily there are PPA's for installing PHP 5.4 and Nginx.</summary>
        <content src="https://www.euperia.com/wrote/install-nginx-and-php5-4-on-ubuntu-12-04" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Developer Tools: Vim keyboard shortcuts</title>
        <link href="https://www.euperia.com/wrote/vim-keyboard-shortcuts"/>
        <id>https://www.euperia.com/wrote/vim-keyboard-shortcuts</id>
        <published>2013-01-05T00:00:00+00:00</published>
        <updated>2022-01-23T15:07:13+00:00</updated>
        <summary type="text">I regularly use Vim but have to confess that I'm not a 'power' user.  To help me learn Vim keyboard shortcuts I have noted them down here.</summary>
        <content src="https://www.euperia.com/wrote/vim-keyboard-shortcuts" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Install PHP and Mysql on OSX Mountain Lion</title>
        <link href="https://www.euperia.com/wrote/install-php-mysql-on-osx-moutain-lion"/>
        <id>https://www.euperia.com/wrote/install-php-mysql-on-osx-moutain-lion</id>
        <published>2012-12-19T00:00:00+00:00</published>
        <updated>2024-12-09T22:45:08+00:00</updated>
        <summary type="text">Here's a useful snippet to help install PHP and MySQL on OSX Mountain Lion.</summary>
        <content src="https://www.euperia.com/wrote/install-php-mysql-on-osx-moutain-lion" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to highlight keywords when using tail</title>
        <link href="https://www.euperia.com/wrote/how-to-highlight-keywords-when-using-tail"/>
        <id>https://www.euperia.com/wrote/how-to-highlight-keywords-when-using-tail</id>
        <published>2012-10-16T00:00:00+00:00</published>
        <updated>2022-01-23T15:04:04+00:00</updated>
        <summary type="text">Wouldn't it be really great if you could highlight a keyword or phrase when using `tail`? Here's How to do it.</summary>
        <content src="https://www.euperia.com/wrote/how-to-highlight-keywords-when-using-tail" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Restart Apache on Mac OS X</title>
        <link href="https://www.euperia.com/wrote/restart-apache-on-mac-os-x"/>
        <id>https://www.euperia.com/wrote/restart-apache-on-mac-os-x</id>
        <published>2012-10-15T00:00:00+00:00</published>
        <updated>2022-01-23T15:00:17+00:00</updated>
        <summary type="text">This is here for reference as I keep forgetting how to restart apache on Mac OS X.</summary>
        <content src="https://www.euperia.com/wrote/restart-apache-on-mac-os-x" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Change the cursor with JQuery</title>
        <link href="https://www.euperia.com/wrote/change-the-cursor-with-jquery"/>
        <id>https://www.euperia.com/wrote/change-the-cursor-with-jquery</id>
        <published>2012-09-24T00:00:00+00:00</published>
        <updated>2022-01-23T14:59:24+00:00</updated>
        <summary type="text">Occasionally I use JQueryUI components to display dialogs and I like to set the cursor to the 'timer' when the event is triggered and back to 'auto' afterwards. Here's how to change the cursor with JQuery.</summary>
        <content src="https://www.euperia.com/wrote/change-the-cursor-with-jquery" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Detect iPad and iPhone with PHP</title>
        <link href="https://www.euperia.com/wrote/detect-ipad-and-iphone-with-php"/>
        <id>https://www.euperia.com/wrote/detect-ipad-and-iphone-with-php</id>
        <published>2012-07-25T00:00:00+00:00</published>
        <updated>2022-01-23T14:58:20+00:00</updated>
        <summary type="text">If you ever have the need to detect iPad and iPhone with PHP, or any other mobile/tablet device, you can use the excellent php-mobile-detect library.</summary>
        <content src="https://www.euperia.com/wrote/detect-ipad-and-iphone-with-php" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to find the Magento version</title>
        <link href="https://www.euperia.com/wrote/how-to-find-the-magento-version"/>
        <id>https://www.euperia.com/wrote/how-to-find-the-magento-version</id>
        <published>2012-07-11T00:00:00+00:00</published>
        <updated>2024-12-09T22:21:57+00:00</updated>
        <summary type="text">Often you will need to know which version of Magento you are running in order to install an extension or apply a security patch. Heres how to find the Magento version you are running.</summary>
        <content src="https://www.euperia.com/wrote/how-to-find-the-magento-version" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Gzip javascript and css with NGinx</title>
        <link href="https://www.euperia.com/wrote/gzip-javascript-css-nginx"/>
        <id>https://www.euperia.com/wrote/gzip-javascript-css-nginx</id>
        <published>2012-06-29T00:00:00+00:00</published>
        <updated>2022-01-23T14:56:18+00:00</updated>
        <summary type="text">Nginx by default will only compress text/html content types. Heres how to gzip javascript and css with NGinx.</summary>
        <content src="https://www.euperia.com/wrote/gzip-javascript-css-nginx" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Sending HTML Mail via SMTP with PHP Pear Mail</title>
        <link href="https://www.euperia.com/wrote/sending-html-mail-via-smtp-with-php-pear-mail"/>
        <id>https://www.euperia.com/wrote/sending-html-mail-via-smtp-with-php-pear-mail</id>
        <published>2012-05-30T00:00:00+00:00</published>
        <updated>2022-01-23T14:55:00+00:00</updated>
        <summary type="text">Here's how to send html email via remote SMTP using PHP and Pear Mail / Mime.</summary>
        <content src="https://www.euperia.com/wrote/sending-html-mail-via-smtp-with-php-pear-mail" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to add APC cache to Magento</title>
        <link href="https://www.euperia.com/wrote/how-to-add-apc-cache-to-magento"/>
        <id>https://www.euperia.com/wrote/how-to-add-apc-cache-to-magento</id>
        <published>2012-05-10T00:00:00+00:00</published>
        <updated>2024-12-09T22:47:17+00:00</updated>
        <summary type="text">The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. It can help speed up your Magento installations.</summary>
        <content src="https://www.euperia.com/wrote/how-to-add-apc-cache-to-magento" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Speed testing your website with Siege: Part two</title>
        <link href="https://www.euperia.com/wrote/speed-testing-your-website-with-siege-part-two"/>
        <id>https://www.euperia.com/wrote/speed-testing-your-website-with-siege-part-two</id>
        <published>2012-03-29T00:00:00+00:00</published>
        <updated>2024-09-09T15:52:07+00:00</updated>
        <summary type="text">Part 2 of 2</summary>
        <content src="https://www.euperia.com/wrote/speed-testing-your-website-with-siege-part-two" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Speed testing your website performance with Siege: Part One</title>
        <link href="https://www.euperia.com/wrote/speed-testing-your-website-with-siege-part-one"/>
        <id>https://www.euperia.com/wrote/speed-testing-your-website-with-siege-part-one</id>
        <published>2012-03-28T00:00:00+00:00</published>
        <updated>2022-08-17T20:15:08+00:00</updated>
        <summary type="text">Your website performance is crucial to your business and you need tools to measure the response times and number of requests your website can handle. Siege is perfect for this. A tool to test and report on website performance.</summary>
        <content src="https://www.euperia.com/wrote/speed-testing-your-website-with-siege-part-one" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">WordPress auto update ‘Unable to locate WordPress Content directory’ or ‘Could not copy file’ fix</title>
        <link href="https://www.euperia.com/wrote/wordpress-auto-update-unable-to-locate-wordpress-content-directory-or-could-not-copy-file-fix"/>
        <id>https://www.euperia.com/wrote/wordpress-auto-update-unable-to-locate-wordpress-content-directory-or-could-not-copy-file-fix</id>
        <published>2012-02-04T00:00:00+00:00</published>
        <updated>2024-12-09T22:21:04+00:00</updated>
        <summary type="text">Here's how I fixed 'Could not copy file &amp;#8230;'  when updating WordPress via FTP.</summary>
        <content src="https://www.euperia.com/wrote/wordpress-auto-update-unable-to-locate-wordpress-content-directory-or-could-not-copy-file-fix" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Test SMTP with a dummy server in Python</title>
        <link href="https://www.euperia.com/wrote/test-smtp-with-a-dummy-server-in-python"/>
        <id>https://www.euperia.com/wrote/test-smtp-with-a-dummy-server-in-python</id>
        <published>2011-10-13T00:00:00+00:00</published>
        <updated>2022-08-17T20:12:46+00:00</updated>
        <summary type="text">Here's how to test SMTP with a dummy server in python</summary>
        <content src="https://www.euperia.com/wrote/test-smtp-with-a-dummy-server-in-python" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Viewing the PHP APC  cache in Ubuntu 10.10</title>
        <link href="https://www.euperia.com/wrote/viewing-the-php-apc-cache-in-ubuntu"/>
        <id>https://www.euperia.com/wrote/viewing-the-php-apc-cache-in-ubuntu</id>
        <published>2011-10-11T00:00:00+00:00</published>
        <updated>2022-08-25T16:56:28+00:00</updated>
        <summary type="text">APC is a great tool for caching in PHP and once installed it is very easy to use. However, what do you do about viewing the PHP APC cache in Ubuntu? Well, there is a fantastic PHP page provided by APC that allows you to inspect the cache via a web page.</summary>
        <content src="https://www.euperia.com/wrote/viewing-the-php-apc-cache-in-ubuntu" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Debugging your vimrc</title>
        <link href="https://www.euperia.com/wrote/debugging-your-vimrc"/>
        <id>https://www.euperia.com/wrote/debugging-your-vimrc</id>
        <published>2011-08-12T00:00:00+00:00</published>
        <updated>2022-01-23T14:07:32+00:00</updated>
        <summary type="text">I made some changes to my ~/.vimrc file that didn't seem to work and so I needed to see what was happening when vim loaded my ~/.vimrc file.</summary>
        <content src="https://www.euperia.com/wrote/debugging-your-vimrc" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Do PHP objects use getters and setters internally?</title>
        <link href="https://www.euperia.com/wrote/do-php-objects-use-getters-and-setters-internally"/>
        <id>https://www.euperia.com/wrote/do-php-objects-use-getters-and-setters-internally</id>
        <published>2011-07-26T00:00:00+00:00</published>
        <updated>2022-01-23T14:06:54+00:00</updated>
        <summary type="text">I just came across something that made me wonder wether a PHP object uses the magic getter and setter methods inside the object itself.</summary>
        <content src="https://www.euperia.com/wrote/do-php-objects-use-getters-and-setters-internally" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">10 Skills A Web Developer Needs To Have</title>
        <link href="https://www.euperia.com/wrote/10-skills-a-web-developer-needs-to-have"/>
        <id>https://www.euperia.com/wrote/10-skills-a-web-developer-needs-to-have</id>
        <published>2011-06-14T00:00:00+00:00</published>
        <updated>2022-01-23T14:05:37+00:00</updated>
        <summary type="text">Knowing a programming language just isn't enough these days to be a full time Web Developer.  
Here are ten other skills a modern web developer needs to have.</summary>
        <content src="https://www.euperia.com/wrote/10-skills-a-web-developer-needs-to-have" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">10 Skills A Web Developer Needs To Have</title>
        <link href="https://www.euperia.com/wrote/10-things-a-programmer-needs-to-be"/>
        <id>https://www.euperia.com/wrote/10-things-a-programmer-needs-to-be</id>
        <published>2011-06-14T00:00:00+00:00</published>
        <updated>2022-08-17T20:11:37+00:00</updated>
        <summary type="text">Knowing a programming language just isn't enough these days to be a full time Web Developer.  Here are ten other skills required to 'do the job'.</summary>
        <content src="https://www.euperia.com/wrote/10-things-a-programmer-needs-to-be" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to: Disable php processing in wordpress upload folder.</title>
        <link href="https://www.euperia.com/wrote/howto-disable-php-processing-in-wordpress-upload-folder"/>
        <id>https://www.euperia.com/wrote/howto-disable-php-processing-in-wordpress-upload-folder</id>
        <published>2011-05-18T00:00:00+00:00</published>
        <updated>2024-12-09T22:20:31+00:00</updated>
        <summary type="text">If you host a WordPress site and have enabled writeable permissions on any of the folders it is recommended that you disable php processingin those folders.  Here's how to do this.</summary>
        <content src="https://www.euperia.com/wrote/howto-disable-php-processing-in-wordpress-upload-folder" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Howto: Get the IP address of a domain in a one liner</title>
        <link href="https://www.euperia.com/wrote/howto-get-the-ip-address-of-a-domain-in-a-one-liner"/>
        <id>https://www.euperia.com/wrote/howto-get-the-ip-address-of-a-domain-in-a-one-liner</id>
        <published>2011-05-12T00:00:00+00:00</published>
        <updated>2022-01-23T13:58:37+00:00</updated>
        <summary type="text">Here's how to get the public IP address of a domain name with a simple one-line cli command.</summary>
        <content src="https://www.euperia.com/wrote/howto-get-the-ip-address-of-a-domain-in-a-one-liner" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Important cron gotcha: Cron not being updated.</title>
        <link href="https://www.euperia.com/wrote/important-cron-gotcha-cron-not-being-updated"/>
        <id>https://www.euperia.com/wrote/important-cron-gotcha-cron-not-being-updated</id>
        <published>2011-05-12T00:00:00+00:00</published>
        <updated>2022-01-23T13:54:45+00:00</updated>
        <summary type="text">I was recently caught out by a crontab running even after I had edited the crontab and commented out the line.   Here's why it happened.</summary>
        <content src="https://www.euperia.com/wrote/important-cron-gotcha-cron-not-being-updated" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Subversion TortoiseSVN menu in Ubuntu Nautilus</title>
        <link href="https://www.euperia.com/wrote/subversion-tortoisesvn-menu-in-ubuntu-nautilus"/>
        <id>https://www.euperia.com/wrote/subversion-tortoisesvn-menu-in-ubuntu-nautilus</id>
        <published>2011-05-12T00:00:00+00:00</published>
        <updated>2022-08-25T16:57:22+00:00</updated>
        <summary type="text">Windows developers using Subversion generally use TortoiseSVN to administer their repositories and when moving to Ubuntu Linux they find using the CLI (Command Line, Terminal, black box - whatever your phrase) alien. However, there is a way  to have a menu in the file manager for performing Subversion administration, just like with TortoiseSVN. 

Here's how to  install it.</summary>
        <content src="https://www.euperia.com/wrote/subversion-tortoisesvn-menu-in-ubuntu-nautilus" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Hack to play minesweeper on Amazon Kindle</title>
        <link href="https://www.euperia.com/wrote/hack-to-play-minesweeper-on-amazon-kindle"/>
        <id>https://www.euperia.com/wrote/hack-to-play-minesweeper-on-amazon-kindle</id>
        <published>2011-01-05T00:00:00+00:00</published>
        <updated>2022-01-23T13:53:02+00:00</updated>
        <summary type="text">Did you know that you can use your Amazon Kindle to play a minesweeper game?</summary>
        <content src="https://www.euperia.com/wrote/hack-to-play-minesweeper-on-amazon-kindle" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Amazon Kindle white screen of death issue (and how to fix it)</title>
        <link href="https://www.euperia.com/wrote/amazon-kindle-white-screen-of-death-crash"/>
        <id>https://www.euperia.com/wrote/amazon-kindle-white-screen-of-death-crash</id>
        <published>2010-12-31T00:00:00+00:00</published>
        <updated>2024-09-08T18:30:58+00:00</updated>
        <summary type="html">&lt;p&gt;&lt;img src=&quot;https://www.euperia.com/img/asset/YXNzZXRzL3dyaXRpbmcvamFtZXMtdGFyYm90dG9uLWdtMThrcXU5dHhxLXVuc3BsYXNoLmpwZw/james-tarbotton-gm18kqu9txq-unsplash.jpg?w=1280&amp;h=720&amp;fit=crop&quot; width=&quot;1280&quot; height=&quot;720&quot; alt=&quot;Amazon Kindle white screen of death issue (and how to fix it)&quot;&gt;&lt;/p&gt;
                                    &lt;p&gt;Whilst the Kindle is an excellent device, I have experienced a blank 'white screen of death'. Here's how to solve it.&lt;/p&gt;</summary>
        <content src="https://www.euperia.com/wrote/amazon-kindle-white-screen-of-death-crash" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Tutorial: Setting up Varnish with Apache</title>
        <link href="https://www.euperia.com/wrote/setting-up-varnish-with-apache-tutorial"/>
        <id>https://www.euperia.com/wrote/setting-up-varnish-with-apache-tutorial</id>
        <published>2010-12-24T00:00:00+00:00</published>
        <updated>2024-09-08T18:26:09+00:00</updated>
        <summary type="text">Varnish is an HTTP accelerator designed for content-heavy dynamic web sites. Here's how to set up varnish with Apache on Ubuntu.</summary>
        <content src="https://www.euperia.com/wrote/setting-up-varnish-with-apache-tutorial" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Portsmouth Tilt Shifted</title>
        <link href="https://www.euperia.com/wrote/portsmouth-tilt-shifted"/>
        <id>https://www.euperia.com/wrote/portsmouth-tilt-shifted</id>
        <published>2010-09-20T00:00:00+00:00</published>
        <updated>2022-08-25T16:53:36+00:00</updated>
        <summary type="text">Here's a picture of the dockyard at Portsmouth I took from the top of Spinnaker Tower.  I've experimented with tilt shifting and think the result is pretty good.</summary>
        <content src="https://www.euperia.com/wrote/portsmouth-tilt-shifted" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Constraining resizable textareas</title>
        <link href="https://www.euperia.com/wrote/constraining-resizable-textareas"/>
        <id>https://www.euperia.com/wrote/constraining-resizable-textareas</id>
        <published>2010-07-16T00:00:00+00:00</published>
        <updated>2022-08-17T20:06:40+00:00</updated>
        <summary type="text">The new crop of web browsers such as Safari, Chrome(ium) and Firefox 4 allow the user to resize textareas by using a handle at the bottom right.   It is possible to restrict the size that the user can resize the textarea to using css min/max width/heights.</summary>
        <content src="https://www.euperia.com/wrote/constraining-resizable-textareas" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">PHP Warning:  Xdebug MUST be loaded as a Zend extension in Unknown on line 0 Fix</title>
        <link href="https://www.euperia.com/wrote/php-warning-xdebug-must-be-loaded-as-a-zend-extension-in-unknown-on-line-0-fix"/>
        <id>https://www.euperia.com/wrote/php-warning-xdebug-must-be-loaded-as-a-zend-extension-in-unknown-on-line-0-fix</id>
        <published>2010-07-02T00:00:00+00:00</published>
        <updated>2022-01-23T13:38:15+00:00</updated>
        <summary type="text">When I upgraded my desktop to Ubuntu 10.04 (Lucid Lynx) I also upgraded my PHP version to 5.3 and got a PHP warning about Xdebug.</summary>
        <content src="https://www.euperia.com/wrote/php-warning-xdebug-must-be-loaded-as-a-zend-extension-in-unknown-on-line-0-fix" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">IDE Tip: Mouse-wheel on Netbeans tabbed pane</title>
        <link href="https://www.euperia.com/wrote/netbeans-tip-mouse-wheel-on-tabbed-pane"/>
        <id>https://www.euperia.com/wrote/netbeans-tip-mouse-wheel-on-tabbed-pane</id>
        <published>2010-03-03T00:00:00+00:00</published>
        <updated>2022-01-23T13:37:06+00:00</updated>
        <summary type="text">How to browse lots of files in Netbeans' tabbed pane.</summary>
        <content src="https://www.euperia.com/wrote/netbeans-tip-mouse-wheel-on-tabbed-pane" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Netbeans PHP Autocomplete stopped</title>
        <link href="https://www.euperia.com/wrote/netbeans-php-autocomplete-stopped"/>
        <id>https://www.euperia.com/wrote/netbeans-php-autocomplete-stopped</id>
        <published>2010-02-25T00:00:00+00:00</published>
        <updated>2022-01-23T13:36:03+00:00</updated>
        <summary type="text">I had an issue with Netbeans 6.8 where the auto-complete for PHP functions stopped working.  Here's how I fixed it.</summary>
        <content src="https://www.euperia.com/wrote/netbeans-php-autocomplete-stopped" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">CLI Autologin and autostart a program with Ubuntu 9.10 karmik</title>
        <link href="https://www.euperia.com/wrote/cli-autologin-and-autostart-a-program-with-ubuntu-9-10-karmik"/>
        <id>https://www.euperia.com/wrote/cli-autologin-and-autostart-a-program-with-ubuntu-9-10-karmik</id>
        <published>2010-02-12T00:00:00+00:00</published>
        <updated>2022-01-23T13:21:55+00:00</updated>
        <summary type="text">My old laptop is used as a music server and so I haven't installed a desktop on it. I use MPD as my music server and ncmpd as the front-end.  However, I'm finding it a pain to enter my username, password, wait (its an old, slow lappy) and then enter ncmpd, so I looked for a way to do this automatically.  And guess what? It can be done!</summary>
        <content src="https://www.euperia.com/wrote/cli-autologin-and-autostart-a-program-with-ubuntu-9-10-karmik" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Install Ubuntu from Grub over Network</title>
        <link href="https://www.euperia.com/wrote/install-ubuntu-from-grub-over-network"/>
        <id>https://www.euperia.com/wrote/install-ubuntu-from-grub-over-network</id>
        <published>2010-01-08T00:00:00+00:00</published>
        <updated>2022-01-23T13:20:44+00:00</updated>
        <summary type="text">How do you install Ubuntu if you have no external drive and no USB boot option?  Luckily for me its possible to install over the network.</summary>
        <content src="https://www.euperia.com/wrote/install-ubuntu-from-grub-over-network" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Mashups and Music</title>
        <link href="https://www.euperia.com/wrote/mashups-and-music"/>
        <id>https://www.euperia.com/wrote/mashups-and-music</id>
        <published>2010-01-06T00:00:00+00:00</published>
        <updated>2022-01-23T13:16:00+00:00</updated>
        <summary type="text">On my old site I had a couple of tracks that I have mashed up in the past and one track created with fruityloops.  Since the blog has gone in these tracks have disappeared.  Time to put 'em back.</summary>
        <content src="https://www.euperia.com/wrote/mashups-and-music" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Performing VAT calculations in PHP</title>
        <link href="https://www.euperia.com/wrote/correct-vat-calculations-in-php"/>
        <id>https://www.euperia.com/wrote/correct-vat-calculations-in-php</id>
        <published>2010-01-04T00:00:00+00:00</published>
        <updated>2022-01-23T13:12:38+00:00</updated>
        <summary type="text">Here's how to calculate VAT on a value using PHP.</summary>
        <content src="https://www.euperia.com/wrote/correct-vat-calculations-in-php" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Bulk rename files in CLI</title>
        <link href="https://www.euperia.com/wrote/bulk-rename-files-in-cli"/>
        <id>https://www.euperia.com/wrote/bulk-rename-files-in-cli</id>
        <published>2009-12-19T00:00:00+00:00</published>
        <updated>2022-01-23T13:10:55+00:00</updated>
        <summary type="text">A quick snippet showing how to bulk rename files on a terminal.</summary>
        <content src="https://www.euperia.com/wrote/bulk-rename-files-in-cli" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">PHP number_format gotcha</title>
        <link href="https://www.euperia.com/wrote/php-number_format-gotcha"/>
        <id>https://www.euperia.com/wrote/php-number_format-gotcha</id>
        <published>2009-12-19T00:00:00+00:00</published>
        <updated>2022-01-23T13:09:30+00:00</updated>
        <summary type="text">One of our client sites had an issue when a payment was attempted for over £1,000 and the problem was caused by PHP's `number_format()` function.</summary>
        <content src="https://www.euperia.com/wrote/php-number_format-gotcha" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Unicode PHP functions and files</title>
        <link href="https://www.euperia.com/wrote/unicode-php-functions-and-files"/>
        <id>https://www.euperia.com/wrote/unicode-php-functions-and-files</id>
        <published>2009-11-04T00:00:00+00:00</published>
        <updated>2022-01-23T13:07:50+00:00</updated>
        <summary type="text">One of the more useful features of the upcoming PHP6 is full unicode support throughout.  However, did you know that PHP supports unicode already and can be used for variable, method and function names?</summary>
        <content src="https://www.euperia.com/wrote/unicode-php-functions-and-files" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Set Fixed IP Address on Ubuntu</title>
        <link href="https://www.euperia.com/wrote/set-fixed-ip-address-on-ubuntu"/>
        <id>https://www.euperia.com/wrote/set-fixed-ip-address-on-ubuntu</id>
        <published>2009-08-13T00:00:00+00:00</published>
        <updated>2022-01-23T13:06:58+00:00</updated>
        <summary type="text">Here's how to set a fixed IP address in Ubunti.</summary>
        <content src="https://www.euperia.com/wrote/set-fixed-ip-address-on-ubuntu" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Timesheet Prompt</title>
        <link href="https://www.euperia.com/wrote/timesheeting-prompt"/>
        <id>https://www.euperia.com/wrote/timesheeting-prompt</id>
        <published>2009-07-31T00:00:00+00:00</published>
        <updated>2022-01-23T13:06:18+00:00</updated>
        <summary type="text">A simple script to prompt for a Timesheet entry on Ubuntu</summary>
        <content src="https://www.euperia.com/wrote/timesheeting-prompt" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Share mouse and keyboard across computers</title>
        <link href="https://www.euperia.com/wrote/share-mouse-and-keyboard-across-computers"/>
        <id>https://www.euperia.com/wrote/share-mouse-and-keyboard-across-computers</id>
        <published>2009-07-30T00:00:00+00:00</published>
        <updated>2022-01-23T13:05:29+00:00</updated>
        <summary type="text">To save me from having to switch between the Linux Desktop and my Vista laptop everytime I wanted to reload the Vista browser I use a unix utility called x2vnc. Here's how to install and use  x2vnc.</summary>
        <content src="https://www.euperia.com/wrote/share-mouse-and-keyboard-across-computers" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">MySQL Stored Procedure tutorial</title>
        <link href="https://www.euperia.com/wrote/mysql-stored-procedure-tutorial"/>
        <id>https://www.euperia.com/wrote/mysql-stored-procedure-tutorial</id>
        <published>2009-07-30T00:00:00+00:00</published>
        <updated>2024-12-09T22:44:51+00:00</updated>
        <summary type="text">An example of how to create and use a stored procedure with MySQL.</summary>
        <content src="https://www.euperia.com/wrote/mysql-stored-procedure-tutorial" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">A day in the life of Spinnaker Tower, Portsmouth</title>
        <link href="https://www.euperia.com/wrote/a-day-in-the-life-of-spinnaker-tower-portsmouth"/>
        <id>https://www.euperia.com/wrote/a-day-in-the-life-of-spinnaker-tower-portsmouth</id>
        <published>2009-07-17T00:00:00+00:00</published>
        <updated>2022-01-23T12:59:50+00:00</updated>
        <summary type="text">Here's an animation covering 24 hours of a day in the live of Portsmouth Harbour and Spinnaker tower in 2009</summary>
        <content src="https://www.euperia.com/wrote/a-day-in-the-life-of-spinnaker-tower-portsmouth" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Install PDFLib with PHP</title>
        <link href="https://www.euperia.com/wrote/install-pdflib-with-php"/>
        <id>https://www.euperia.com/wrote/install-pdflib-with-php</id>
        <published>2009-07-09T00:00:00+00:00</published>
        <updated>2022-01-23T12:44:25+00:00</updated>
        <summary type="text">Here's how to install PDFlib with PHP using pecl.</summary>
        <content src="https://www.euperia.com/wrote/install-pdflib-with-php" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Drawing an Arc in Imagick</title>
        <link href="https://www.euperia.com/wrote/drawing-an-arc-in-imagick"/>
        <id>https://www.euperia.com/wrote/drawing-an-arc-in-imagick</id>
        <published>2009-06-19T00:00:00+00:00</published>
        <updated>2022-01-23T13:14:57+00:00</updated>
        <summary type="text">Here's an example of how to draw an arc using PHP and Imagemagick.</summary>
        <content src="https://www.euperia.com/wrote/drawing-an-arc-in-imagick" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">How to use Zend_Cache to cache an object</title>
        <link href="https://www.euperia.com/wrote/zend_cache-to-cache-an-object"/>
        <id>https://www.euperia.com/wrote/zend_cache-to-cache-an-object</id>
        <published>2009-06-18T00:00:00+00:00</published>
        <updated>2022-01-23T13:14:41+00:00</updated>
        <summary type="text">How to use the Zend Framework (v1) Zend_Cache  library to cache an object.</summary>
        <content src="https://www.euperia.com/wrote/zend_cache-to-cache-an-object" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Installing and using PHP ImageMagick (Imagick) Module</title>
        <link href="https://www.euperia.com/wrote/installing-and-using-php-imagemagick-imagick-module"/>
        <id>https://www.euperia.com/wrote/installing-and-using-php-imagemagick-imagick-module</id>
        <published>2009-06-09T00:00:00+00:00</published>
        <updated>2022-01-23T13:14:33+00:00</updated>
        <summary type="text">How to install and use PHP's Imagick Module.</summary>
        <content src="https://www.euperia.com/wrote/installing-and-using-php-imagemagick-imagick-module" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
    <entry>
        <title type="text">Upload files with ncftpput</title>
        <link href="https://www.euperia.com/wrote/upload-files-with-ncftpput"/>
        <id>https://www.euperia.com/wrote/upload-files-with-ncftpput</id>
        <published>2009-05-18T00:00:00+00:00</published>
        <updated>2022-01-23T15:17:45+00:00</updated>
        <summary type="text">ncftp is a great set of command line ftp utilities. Here's how to use ncftpput to upload a file</summary>
        <content src="https://www.euperia.com/wrote/upload-files-with-ncftpput" type="text/html"/>
        <author>
            <name>Andrew McCombe</name>
        </author>
    </entry>
</feed>
