<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
                        <id>https://sampo.co.uk/blog/feed</id>
                                <link href="https://sampo.co.uk/blog/feed"></link>
                                <title><![CDATA[Blog feed | sampo.co.uk]]></title>
                                <updated>2020-09-21T17:03:52+00:00</updated>
                        <entry>
            <title><![CDATA[How to embed YouTube videos in Laravel: The easy way]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/how-to-embed-youtube-videos-in-laravel-the-easy-way" />
            <id>https://sampo.co.uk/blog/how-to-embed-youtube-videos-in-laravel-the-easy-way</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Embed responsive YouTube videos in laravel with a single line of code.]]>
            </summary>
            <updated>2020-09-21T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Embedding media by its public URL using laravel-embed]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/embedding-media-by-its-public-url-using-laravel-embed" />
            <id>https://sampo.co.uk/blog/embedding-media-by-its-public-url-using-laravel-embed</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Learn how to embed services using their public URL using the laravel-embed package.]]>
            </summary>
            <updated>2020-08-24T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Casting request parameters to Enums using Laravel Form Requests]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/casting-request-parameters-to-enums-using-laravel-form-requests" />
            <id>https://sampo.co.uk/blog/casting-request-parameters-to-enums-using-laravel-form-requests</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Use the prepareForValidation method to cast request parameters to Enums.]]>
            </summary>
            <updated>2019-11-28T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Get push notifications for Laravel Forge deployments]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/get-push-notifications-for-laravel-forge-deployments" />
            <id>https://sampo.co.uk/blog/get-push-notifications-for-laravel-forge-deployments</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Get push notifications for your laravel forge deployments using Anvil.]]>
            </summary>
            <updated>2019-11-23T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Announcing Anvil - A deployment dashboard for Laravel Forge]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/announcing-anvil-a-deployment-dashboard-for-laravel-forge" />
            <id>https://sampo.co.uk/blog/announcing-anvil-a-deployment-dashboard-for-laravel-forge</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Anvil is a deployment dashboard. Its job is to bring all deployment information for any number of sites into one place and present it in such a way that it's super simple to get an idea of the sites' health at a glance.]]>
            </summary>
            <updated>2019-11-21T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Previewing mail notifications in Laravel just got easier]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/previewing-mail-notifications-in-laravel-just-got-easier" />
            <id>https://sampo.co.uk/blog/previewing-mail-notifications-in-laravel-just-got-easier</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[It's now easier to render mail notifications in the browser because the MailMessage class now implements the Renderable interface.]]>
            </summary>
            <updated>2019-05-18T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Manipulating request data before performing validation in Laravel]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/manipulating-request-data-before-performing-validation-in-laravel" />
            <id>https://sampo.co.uk/blog/manipulating-request-data-before-performing-validation-in-laravel</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[When using form request classes, it can be really handy to be able to manipulate the request data before running any of the validation rules.]]>
            </summary>
            <updated>2019-02-01T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Speed up relationship queries in Laravel]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/speed-up-relationship-queries-in-laravel" />
            <id>https://sampo.co.uk/blog/speed-up-relationship-queries-in-laravel</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Adding indexes to your database tables is a great way to get some extra performance out of your application, especially if you have a large amount of data in your tables.]]>
            </summary>
            <updated>2018-08-07T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Creating a decent Laravel deploy script]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/creating-a-decent-laravel-deploy-script" />
            <id>https://sampo.co.uk/blog/creating-a-decent-laravel-deploy-script</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[A good deploy script can save you time and speed up you application, and it only takes a few minutes to set one up.]]>
            </summary>
            <updated>2018-06-12T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Remaining character count in Vue.js]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/remaining-character-count-in-vue-js" />
            <id>https://sampo.co.uk/blog/remaining-character-count-in-vue-js</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Often you'll want to limit the number of characters a user can put into an input field such as a textarea. When you do this it's a good idea to show the number of characters the user has left available in real time to avoid frustration. This is a common practice and something that's really easy to achieve in Vue.js.]]>
            </summary>
            <updated>2018-06-04T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Masking IDs in URLs using hashids in Laravel]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/masking-ids-in-urls-using-hash-ids-in-laravel" />
            <id>https://sampo.co.uk/blog/masking-ids-in-urls-using-hash-ids-in-laravel</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Learn how to mask IDs in URLs for better security and a more professional looking application. We do this by using the hashids library and some Laravel knowhow.]]>
            </summary>
            <updated>2018-05-29T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Autoplay muted videos in Chrome 66]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/autoplay-muted-videos-in-chrome-66" />
            <id>https://sampo.co.uk/blog/autoplay-muted-videos-in-chrome-66</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[The latest version of Google Chrome (version 66) includes autoplay video changes that stops Chrome from automatically playing videos in some scenarios. Apparently Chrome will learn which sites you tend to play videos on and will allow autoplaying of videos for those particular sites. That sounds like a great idea to me - it's incredibly annoying when you land on a page only to be blasted with sound from an unwanted autoplaying video.]]>
            </summary>
            <updated>2018-05-26T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Simple horizontal scrolling menu in just CSS]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/simple-horizontal-scrolling-menu-in-just-css" />
            <id>https://sampo.co.uk/blog/simple-horizontal-scrolling-menu-in-just-css</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[I recently visited a site with a horizontally scrolling sub-menu which I really liked. Because of the stigma of horizontal scrolling on desktop fostered from the non-responsive days, I often immediately dismiss it as bad practice but actually I found this pattern to be very usable on my phone.]]>
            </summary>
            <updated>2018-05-24T17:03:52+00:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Using enums in Laravel]]></title>
            <link rel="alternate" href="https://sampo.co.uk/blog/using-enums-in-laravel" />
            <id>https://sampo.co.uk/blog/using-enums-in-laravel</id>
            <author>
                <name> <![CDATA[Ben Sampson]]></name>
            </author>
            <summary type="html">
                <![CDATA[Enums aren't natively supported in PHP but an equivalent is fairly easy to achieve using constants on a class. Futhermore I've created a Laravel package called laravel-enum which allows you access helper functions such as listing keys and values, attaching descriptions to values, and validating requests which are expecting enum values.]]>
            </summary>
            <updated>2018-05-19T17:03:52+00:00</updated>
        </entry>
    </feed>
