Skip to content

Instantly share code, notes, and snippets.

@beryllium
beryllium / autosvnsync.sh
Created October 26, 2012 22:05
Automatic SVN synchronization with UUID autocopy
#!/bin/bash
# autosvnsync.sh is a tool for automatically synchronizing/mirroring SVN repositories.
# By default, the script assumes that you have configured a "syncuser" account on the SRC and DEST servers,
# and that you are running the script as "syncuser" on the DEST server (presumably behind a firewall).
#Remote SVN info
SVN_HOST="[email protected]" #User and host, for SSH - alternatively, you can use ~/.ssh/config to specialize something
SVN_LOC="data/svn"
SVN_REPO="svn+ssh://$SVN_HOST/$SVN_LOC"
@beryllium
beryllium / cert_check.sh
Created February 23, 2013 00:06
So, you've got a bunch of servers with SSL certs and you're constantly forgetting when to renew? Fret no more! Now there's one more tool you can add to the pages-long list of tools that can solve this problem.
#!/bin/bash
servers[0]=server0.example.com
servers[1]=server1.example.com
servers[2]=server2.example.com
TMP_CERT_QUIT=/tmp/check_cert_quit.tmp
TMP_CERT_CHECK=/tmp/check_cert.tmp
if [ -f "$TMP_CERT_CHECK" ]
@beryllium
beryllium / remote-diff.sh
Created March 13, 2013 22:30
So you're trying to piece together what exploded between two remote servers. You want to be able to diff files on them, but you don't want to be doing a whole bunch of manual file transfers. Enter: remote-diff.sh
#!/bin/bash
if [ -z "$1" -o -z "$2" -o -z "$3" ]
then
echo "Usage: remote-diff.sh [user@]host1 [user@]host2 path_to_file"
echo ""
echo "Note: If you need to specify a valid key or optional username for the host,"
echo " you are encouraged to add the host configuration to your ~/.ssh/config file."
exit 1
fi
@beryllium
beryllium / Night..lrtemplate
Created May 16, 2014 20:00
Lightroom? More like Nightroom!
s = {
id = "3E89CB4C-C61A-4F25-B40C-37824BF89EA4",
internalName = "Night.",
title = "Night.",
type = "Develop",
value = {
settings = {
AutoLateralCA = 0,
Blacks2012 = 0,
BlueHue = 0,
@beryllium
beryllium / components.md
Created June 12, 2014 21:10
Zero-Dependency Symfony Components

Zero-Dependency Symfony Components

These components have zero dependencies. They all require PHP > 5.3.3, but they can be integrated into projects without pulling in surprise dependencies. Some of them might not be terribly useful without a good binding component (e.g., DomCrawler and CSSSelector work best when using BrowserKit).

@beryllium
beryllium / index.html.twig
Created September 29, 2014 16:49
Breakpoints in Sculpin
...
<div>
{# Split the post into an array using explode().
Because we provide a length of 2, the remainder
of the post will be stored in the second array
element, even if there are multiple breakpoints. #}
{% set break_array =
post.blocks.content|split('<!-- break -->', 2) %}
{# Output the first element of the array in raw mode #}
@beryllium
beryllium / quick-slugify.sh
Last active December 7, 2016 07:54 — forked from oneohthree/quick-slugify.sh
Quick bash slugify
# Updated to work on OS X (convert both "-E" flags to "-r" to run on real server OSes)
echo "$STRING" | iconv -t ascii//TRANSLIT | sed -E s/[^a-zA-Z0-9]+/-/g | sed -E s/^-+\|-+$//g | tr A-Z a-z
@beryllium
beryllium / showcerts.sh
Created January 19, 2018 19:06
showcerts
#!/bin/sh
# Grab the certificate and parse out some info
# Usage:
# showcerts whateverthing.com
echo | openssl s_client -showcerts -connect "${1}:443" -servername "$1" | openssl x509 -text
@beryllium
beryllium / macros.html.twig
Created March 11, 2018 01:23
Time-Ago Twig Macro
{# Based on this StackOverflow example: https://stackoverflow.com/a/26311354/1272059 #}
{% macro time_ago(timestamp) %}
{% set lapse = date().getTimestamp() - timestamp %}
{% set units = {
'year': 31536000,
'month': 2592000,
'week': 604800,
'day': 86400,
'hour': 3600,

Sculpin on Windows

Pre-Requisites

You'll need to have:

  • PHP 7.2 installed and configured in your path (so you can run php just by typing "php").
    • You'll probably need a few extensions enabled, like curl and openssl and maybe mbstring and a few others.
  • Git installed and configured in your path (so composer can use it).
  • Composer installed and (ideally) configured with a DOSKEY alias (so it's most useful for you! :) )