Skip to content

Instantly share code, notes, and snippets.

Guy Elsmore-Paddock GuyPaddock

Block or report user

Report or block GuyPaddock

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@GuyPaddock
GuyPaddock / resurrect.php
Last active Sep 18, 2019
Resurrecting an Unsaved Drupal 8 Node from the Database using Devel
View resurrect.php
<?php
// NOTE: Node previews expire after 7 days. Be sure to use this method to extract the desired data before then.
// IMPORTANT: Set this to the user ID of the person who was creating/lost the node.
$user_id = 1;
// IMPORTANT: Set this to the UUID that appeared in the node preview URL.
// This value is from a URL that looked like this:
// https://my-site/node/preview/ed4eaac0-3c32-427e-860f-6ce8fc79c3b2/full
$preview_id = 'ed4eaac0-3c32-427e-860f-6ce8fc79c3b2';
@GuyPaddock
GuyPaddock / array_contains.sh
Created Jul 2, 2019
Check if a value is in an array in Bash
View array_contains.sh
##
# Determine if a given element exists in an array.
#
# Based on:
# https://stackoverflow.com/a/11525897/4342230
#
# @param string $1
# The value to look for (the "needle").
# @param string... $2...
# The array of values to search (the "haystack").
@GuyPaddock
GuyPaddock / instructions.md
Last active Jun 10, 2019
Creating default Windows Theme
View instructions.md

Introduction

This is a brief snippet for Windows 10 admins that want to make a Windows theme the default for new users without enforcing it via Group Policy.

Instructions

  1. Download and install the desired theme from the Windows Store (or create your own).
  2. Find the theme under %USERPROFILE%\AppData\Local\Microsoft\Windows\Themes\.
  3. Move .theme file to %SystemRoot%\Resources\Themes.
  4. Move backgrounds into %SystemRoot%\Resources\Themes\THEME_NAME\DesktopBackground. Any other theme files (like sounds, etc) should be copied to appropriate folders under %SystemRoot%\Resources\Themes\THEME_NAME.
  5. Open .theme file up for editing.
  6. Remove ImagesRootPIDL setting under Slideshow section of the file.
@GuyPaddock
GuyPaddock / print-time-and-checksum.sh
Created May 3, 2019
Calculate checksum over kubectl bash without timing out
View print-time-and-checksum.sh
#!/usr/bin/env bash
(while true; do date; sleep 1; done) &
sha1sum * | tee checksums.txt
@GuyPaddock
GuyPaddock / split_zip.sh
Last active Mar 18, 2019
Split a ZIP archive for Drupal Feeds Fetcher Archive + CSV into separate archives < 100 MB each (needed for Pantheon)
View split_zip.sh
#!/usr/bin/env bash
##
# @file
# Asset Zip Splitter
#
# Splits a ZIP archive containing the following file structure into separate
# archives that contain no more than 100 MB each:
# - *.csv (CSV files that reference image files)
# - images/ (a folder of images referenced by the image files)
@GuyPaddock
GuyPaddock / backup.sh
Last active Dec 11, 2018
Crude HP Touchpad WebOS Backup Script (run with `nohup` for best results over SSH; errors appear in errors.log)
View backup.sh
#!/usr/bin/env sh
cd /media/cryptofs
tar -cvpjf webos-backup.tbz2 \
--exclude=/proc \
--exclude=/media/internal \
--exclude=/tmp \
--exclude=/dev \
--exclude=/sys \
--exclude=/var/run \
--exclude=/media/cryptofs/webos-backup.tbz2 \
@GuyPaddock
GuyPaddock / HOWTO.md
Last active Jun 9, 2019
WIP: Configure RRAS on Server 2016 when Anywhere Access VPN is Enabled
View HOWTO.md

If you enable Anywhere Access VPN in WSE 2016, you will no longer be able to access RRAS admin UI. The message "Legacy mode is disabled" appears. This is because Access Anywhere configures the VPN in WS in a way that cannot be represented in the legacy UI. This makes it nearly impossible to setup other RRAS functionality like NAT or RAS, and there does not appear to be PowerSell cmdlets to address these gaps.

As a workaround, do not use Anywhere Access VPN. Instead, configure VPN manually in the RRAS admin UI. If you need to enable NAT + VPN, you will need to take special care to configure NAT first. For some reason, configuring NAT + VPN in one step leads to the NAT not functioning properly.

@GuyPaddock
GuyPaddock / HOWTO.md
Created Nov 16, 2018
WIP: Installing FileMaker Server 17 on Windows Server Essentials 2016
View HOWTO.md

Two services conflict with FileMaker Server 17 on ports 80 and 443:

  • IIS Web Site for Windows Server Essentials Connect (i.e. http://YOURSERVER/connect and https://YOURSERVER/remote) is bound on *:80 and *:443.
  • BranchCache (part of Windows Server) is bound on *:80 (and somehow is able to share that port with IIS).

Need to:

  • Move Windows Server Essentials to a different set of ports (temporarily), via IIS Admin Console.
  • Stop BranchCache (temporarily)

The goal is to trick the FileMaker Server installer into proceeding with install, so we can then tweak the IIS config AFTER install.

@GuyPaddock
GuyPaddock / render.sh
Created Nov 6, 2018
2017-10-19 - Render PHP Files to HTML in Bulk through CLI
View render.sh
#!/bin/env bash
for f in $(find . -maxdepth 1 -name '*.php'); do
directory=$(dirname "${f}");
basename=${f%.*}
mkdir -p "../rendered/${directory}";
php -f "${f}" > "../rendered/${basename}.html";
done
@GuyPaddock
GuyPaddock / filter.sh
Created Nov 6, 2018
2017-10-19 - Eliminate Zero-width Spaces (\u200b) from PHP Source Files
View filter.sh
#!/bin/env bash
for f in $(find . -name '*.php'); do
directory=$(dirname "${f}");
mkdir -p "../processed/${directory}";
cat "${f}" | tr "$(printf %b '\u200b')" " " > "../processed/${f}";
done
You can’t perform that action at this time.