Skip to content

Instantly share code, notes, and snippets.

View philbuchanan's full-sized avatar

Phil Buchanan philbuchanan

View GitHub Profile
@marcoarment
marcoarment / Text+InlineSymbol.swift
Last active October 26, 2023 17:13
SwiftUI Text with inline SF Symbols
import SwiftUI
extension Text {
public struct InlineSymbol {
public let name: String
public let accessibilityLabel: String
public let color: Color?
public init(name: String, accessibilityLabel: String, color: Color? = nil) {
self.name = name
@merlinmann
merlinmann / sous-vide-tests.md
Last active March 17, 2023 06:16
sous vide cooking times

Sous Vide Cooking Times

Good? FOOD TIME TEMP COMMENT
CANON! pork chops, MED 1:30 143°
CANON! prime rib roast, MR 6:00 129.5 Works every time!
CANON! pork chops SUPER thick 1:45 142° solid MR+
YES ribeye, frozen, R 1:30 126° Awesome at low temp
YES thick pork chops, MR 1:30 142° SO good
XXX filet mignon, MR 1:30 130° XX
@marcoarment
marcoarment / S3.php
Last active July 8, 2025 17:39
A simple PHP class to perform basic operations against Amazon S3 and compatible services.
<?php
/*
A simple PHP class to perform basic operations against Amazon S3 and compatible
services. Requires modern PHP (7+, probably) with curl, dom, and iconv modules.
Copyright 2022 Marco Arment. Released under the MIT license:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UnifiedBar</key>
<dict>
<key>DisclosureRequired</key>
<string>ace440ac-b4f6-4b43-aade-02bba1589aef</string>
<key>Enabled</key>
<false/>
@carlodaniele
carlodaniele / kinsta_users.php
Last active December 14, 2021 21:40
A plugin for registering a custom post type with a specific set of capabilities
<?php
/**
* @package Kinsta_users
* @version 1.0
*/
/*
Plugin Name: Kinsta users
Plugin URI: http://wordpress.org/extend/plugins/#
Description: This is an example plugin
Author: Carlo Daniele
@bendc
bendc / display-fade.html
Created June 22, 2016 03:01
Transitioning the opacity of a hidden element
<!doctype html>
<meta charset="utf-8">
<title>Example</title>
<style>
div {
width: 100px;
height: 100px;
background: black;
animation-duration: .5s;
@carlodaniele
carlodaniele / custom-login-page.php
Created February 27, 2016 16:35
Switch the URL of default login page with the URL of a custom login page
<?php
/**
* Set a custom login page
*
* @param string $url Default login URL
* @param string $redirect Redirect URL on login
* @param bool $force_reauth Whether to force reauthorization
* @link https://developer.wordpress.org/reference/hooks/login_url/
*/
function frontend_login_url( $url, $redirect, $force_reauth ){
@lelandbatey
lelandbatey / whiteboardCleaner.md
Last active February 25, 2026 23:00
Whiteboard Picture Cleaner - Shell one-liner/script to clean up and beautify photos of whiteboards!

Description

This simple script will take a picture of a whiteboard and use parts of the ImageMagick library with sane defaults to clean it up tremendously.

The script is here:

#!/bin/bash
convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"

Results

@cobyism
cobyism / gh-pages-deploy.md
Last active February 17, 2026 22:18
Deploy to `gh-pages` from a `dist` folder on the master branch. Useful for use with [yeoman](http://yeoman.io).

Deploying a subfolder to GitHub Pages

Sometimes you want to have a subdirectory on the master branch be the root directory of a repository’s gh-pages branch. This is useful for things like sites developed with Yeoman, or if you have a Jekyll site contained in the master branch alongside the rest of your code.

For the sake of this example, let’s pretend the subfolder containing your site is named dist.

Step 1

Remove the dist directory from the project’s .gitignore file (it’s ignored by default by Yeoman).