Make Infinite Gmail Addresses For One Inbox

by Liam Hammett · 3 minute read · #productivity

Google’s Gmail allows people to get a free email account—but it seems that a lot of people aren’t aware that this gives you access to almost unlimited unique email addresses that will all point to the same inbox, just by making a couple of simple tweaks to it.

Here’s how you can make use of this yourself:

Read more…

My MacOS Shortcuts

by Liam Hammett · 6 minute read · #macos #productivity

I use shortcuts on my devices all the time. Shortcuts are great, they let you perform complex actions in a fraction of the time — time that adds up a lot over time when you’re using the device for 10 hours a day.

In this post, I’ll be going over some of the typical shortcuts I have set up and use on a daily basis, and some of the applications I use to get them working.

Popups & Modals

Read more…

Laravel Blade Helpers

by Liam Hammett · 3 minute read · #open-source #laravel

Laravel’s Blade templating engine offers a ton of convenient directives you can use to make your view files beautiful and abstract anything that may be too complex or verbose to live inside HTML. It even gives a really handy way to add your own custom directives using the Blade::directive(…) method.

However, the callback in custom directives only receives a single parameter - the raw string expression from the view file. It seems to be rare that developers actually parse the contents of the expression itself within the directive, opting instead to pass the entire expression as arguments to a helper function or a method on another class. For example:

BladeHelper::directive('uppercase', function($expression) {
    return "<?php echo strtoupper($expression); ?>";
});

Read more…

Black Friday 2018 Deals for Laravel Developers

by Liam Hammett · 6 minute read · #laravel

It’s that time of the year again, and over the next few days there will be some awesome deals in all sorts of areas - retail and tech especially. As a Laravel developer, there’s a lot of goodies to get your hands on for some insanely discounted prices!

Here I’ll try to sum up some of the great deals you might want to get your hands on.

Laravel Nova - 30% off

Read more…

Why I Prefer Discord Over Slack

by Liam Hammett · 8 minute read · #opinion #discord #slack #chat

I’ve used more than my fair share of chat apps and solutions in the past, for both personal and professional use. AIM, MSN, Skype, IRC, Pidgin, HipChat, and Mattermost — to name the few that I’ve used for at least a year.

But over the years, they’ve all mostly faded away with two standing at the forefront: Slack for professional use, and Discord for gaming and casual use.

I use both on a daily basis, but strongly prefer Discord out of these two options, for both general use and coding discussion. Here I’m going to explain why Discord is better.

Read more…

CSS Filter Utility Classes

by Liam Hammett · 4 minute read · #css

(Ab)using CSS variables to apply multiple filters with one utility

Note: This article has a CodePen demo with inline examples, check it out towards the end.

The filter property is a bit of an oddity when it comes to CSS.

Read more…

Catching an exit(); in PHP

by Liam Hammett · 1 minute read · #php

What do you do when something goes wrong in your PHP application? Probably throwing an exception, so it can be caught at a higher level and handled appropriately.

What happens when instead of throwing an exception, an exit(); is executed? Can you catch it?

Read more…

Bitmask Constant Arguments in PHP

by Liam Hammett · 6 minute read · #php

PHP has a handful of core functions that can accept boolean arguments in the form of constants that have a binary value.

These can be combined together in a single function argument, essentially passing multiple boolean flags in a very compact manner.

They work a bit differently to how most people implement options in their userland functions, so let’s take a look at how they work.

Read more…

Throttle Simultaneous API Requests with Laravel

by Liam Hammett · 2 minute read · #open-source #php #laravel

Laravel comes with a handy ThrottleRequests middleware out-of-the-box that blocks users of an API from being able to send more than a particular amount of requests within a defined amount of time.

This is extremely useful for preventing an API from being abused by spammed requests, but isn’t suitable for every use case.

What about an API call that takes a lot of limited processing power, or performs an action that simply can’t be running twice at the same time?

Read more…

Use Operator on Any Website

by Liam Hammett · 3 minute read · #typography #css

Operator is a beautiful monospaced typeface that took the world by storm as it proved that coding typefaces can be both elegant and functional.

One way it helped stand out from the crowd is how certain italic glyphs take inspiration from script typefaces, making them distinct from the ordinary characters.

Improve it again by adding coding ligatures to it with Operator Mono Lig and you’ve got one swish font to code in!

Read more…

PHP Shareable Social Media Links

by Liam Hammett · 2 minute read · #open-source #php

I recently had the need to generate various “shareable” links to help share a particular URL to different social media platforms. The problem is that every platform requires information in a slightly different way.

Lo and behold, just a few days later, Dennis Smink shared their method of doing so in their article “Laravel Shareable Trait” that covers the few biggest platforms.

Read more…

Cenafy For Bash

by Liam Hammett · 2 minute read · #open-source #bash

Based on the wonderful Chrome extension of the same name that lets you know who the champ is, this is a version for Bash that lets an unsuspecting victim who left their terminal open know about the champ via the magic of ASCII art (and even some killer singing, if they have the say command like on Mac OS).

You can install it as a command with wget:

Read more…

PHP Function Chaining with Pipes

by Liam Hammett · 11 minute read · #php

Back in December 2016, freelance developer Sebastiaan Luca wrote a post on their blog inspired by an RFC proposal for PHP core about chaining functions, and here I am going to be responding to that blog post.

I highly recommend reading the aforementioned post and RFC to get an understanding of what function piping is as they do an amazing job at explaining the benefits it brings.

In short; it’s syntactic sugar to help make code more readable.

Read more…

jQuery.scrollup.js Plugin

by Liam Hammett · 1 minute read · #javascipt #jquery #open-source

A jQuery plugin to recreate the commonly used “pull-to-refresh” found in mobile devices, but this time for the desktop browser.

The “pull-to-refresh” pattern and similar variations are commonly used all over mobile devices to perform a variety of functions such as refreshing a web page, checking for new mail and loading old chat messages as you’re scrolling through, but rarely makes its way over to desktop devices for one reason or another.

Read more…