Skip to content

Instantly share code, notes, and snippets.

View willvincent's full-sized avatar

Will Vincent willvincent

View GitHub Profile
@willvincent
willvincent / Phosphoric.php
Created May 1, 2025 10:28
Import Phosphor Icons as flux icons
<?php
declare(strict_types=1);
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Filesystem\Filesystem;
use function Laravel\Prompts\confirm;
@willvincent
willvincent / PhpDocHeaderExtension.php
Last active March 1, 2025 20:57
Laravel Scramble - Arbitrary Request Headers
<?php
namespace ...;
use Dedoc\Scramble\Extensions\OperationExtension;
use Dedoc\Scramble\Support\Generator\Operation;
use Dedoc\Scramble\Support\Generator\Parameter;
use Dedoc\Scramble\Support\Generator\Schema;
use Dedoc\Scramble\Support\Generator\Types\StringType;
use Dedoc\Scramble\Support\RouteInfo;
#!/bin/bash
mkdir converted
for i in *.mp3
do
sox "$i" -e u-law -r 8000 -D -c 1 "converted/$(basename "$i" .mp3).wav"
done
@willvincent
willvincent / hotfix.sh
Created January 7, 2022 03:21
Cherry-pick and execute a hotfix release
#!/bin/bash
set -e
# Important note: this will add a new patch release AND deploy
if [ $# -lt 2 ]; then
git fetch --all --tags
# Interactively get info
LATEST=$(git describe --tags production)
read -e -p "Enter the version to patch, or press return for default [$LATEST]: " VERSION
@willvincent
willvincent / laravel-init
Last active February 9, 2020 08:50
Bash script to setup a reasonable base install of laravel with inertiajs + vue
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: laravel-init app_name"
exit 1
fi
### GLOBAL COMPOSER PACKAGES
composer global require hirak/prestissimo friendsofphp/php-cs-fixer
@willvincent
willvincent / escapeQuery.js
Last active June 30, 2019 22:30
Reformat a query string so it's safe to use with tsquery() in postgres
const magic_terms = {
and: '&',
or: '|',
not: '!',
OR: '|',
AND: '&',
NOT: '!',
'&': '&',
'|': '|',
'!': '!',
@willvincent
willvincent / mrc_client
Last active March 16, 2019 17:33
init.d start/stop script for mrc client
#!/bin/sh
### BEGIN INIT INFO
# Provides: myservice
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Put a short description of the service here
# Description: Put a long description of the service here
### END INIT INFO
@willvincent
willvincent / ddns.sh
Last active December 11, 2018 18:33
DDNS with a Linode domain
#!/bin/sh
# Linode DDNS Updater script
# By Will Vincent <[email protected]>
#
# Requirements:
# - A Linode account (obviously)
# - A domain record already created to update with the script
# - curl & jq
#
@willvincent
willvincent / RulerGrid
Created April 27, 2017 02:45
custom plugin code for sketch
var doc = context.document;
var page = doc.currentPage();
var current_artboard = page.currentArtboard();
var grid_width = [[doc askForUserInput:"How wide do you want your grid to be?" initialValue:"960"] integerValue]
var column_count = [[doc askForUserInput:"How many columns do you want?" initialValue:"12"] integerValue]
var gutter_width = [[doc askForUserInput:"How wide do you want your gutters to be?" initialValue:"20"] integerValue]
if (grid_width != 0 && column_count != 0 && current_artboard != null) {
var horizontal_rulers = [current_artboard horizontalRulerData]
var gutter_count = column_count + 1;

Keybase proof

I hereby claim:

  • I am willvincent on github.