Skip to content

Instantly share code, notes, and snippets.

View keybase.md

Keybase proof

I hereby claim:

  • I am paulgalow on github.
  • I am paulgalow (https://keybase.io/paulgalow) on keybase.
  • I have a public key whose fingerprint is FAB2 F3EF EC6C C5D4 A9BF 4AB3 B90D B0E9 29F1 E4C6

To claim this, I am signing this object:

View generateMacIcon.swift
#!/usr/bin/swift
import AppKit
func generateMacIcon(dimension: CGFloat, name iconName: String) {
// Make sure our maximum rendering size does not exceed 512 px
guard dimension <= 512 else {
print("Error: Maximum dimension allowed is 512")
return
@paulgalow
paulgalow / awscreds-lpass.sh
Last active Jan 3, 2020
Get AWS CLI IAM credentials from LastPass CLI. Blog post: https://paulgalow.com/securing-aws-credentials-macos-lastpass
View awscreds-lpass.sh
#!/bin/bash
# Get AWS CLI IAM credentials from LastPass CLI
# Blog post: https://paulgalow.com/securing-aws-credentials-macos-lastpass
# ##############################################################################
# Please adjust those properties
readonly lastPassEntry="REPLACE-ME" # Name of LastPass entry that stores your IAM credentials
readonly lpass="/usr/local/bin/lpass" # Path to LastPass CLI
# ##############################################################################
@paulgalow
paulgalow / FirefoxExtensions.mobileconfig
Last active Dec 29, 2018
Example configuration profile to install the uBlock Origin Firefox extension and set domains that can install extensions
View FirefoxExtensions.mobileconfig
<?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>PayloadContent</key>
<array>
<dict>
<key>EnterprisePoliciesEnabled</key>
<true/>
<key>Extensions</key>
@paulgalow
paulgalow / rename-photos-videos-timestamp.sh
Last active Apr 15, 2020
macOS Automator script to rename photos/videos based on creation date. Blog post: https://paulgalow.com/macos-quick-action-rename-photos-videos-timestamp
View rename-photos-videos-timestamp.sh
#!/bin/bash
# macOS Automator script to rename photos/videos based on creation date
# Blog post: https://paulgalow.com/macos-quick-action-rename-photos-videos-timestamp
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Create subfolder to store renamed files
createDestination() {
readonly destination="$(dirname "$file")/sorted"
@paulgalow
paulgalow / checkHTTP.js
Last active Dec 31, 2019
Check for internet connectivity using HTTP
View checkHTTP.js
const { parse } = require("url");
function checkHTTP(url) {
return new Promise((resolve, reject) => {
const { protocol } = parse(url);
const lib = protocol === "https:" ? require("https") : require("http");
const request = lib.get(url, response => {
console.log(`HTTP Status Code:`, response.statusCode);
resolve(response);
@paulgalow
paulgalow / checkTCP.js
Last active Dec 31, 2019
Check for internet connectivity using TCP
View checkTCP.js
const { createConnection } = require("net");
function checkTCP(host = "1.1.1.1", port = 53) {
return new Promise((resolve, reject) => {
const client = createConnection({ host, port }, () => {
console.log(`TCP connection established on port ${port}`);
client.end();
resolve();
});
You can’t perform that action at this time.