Skip to content

Instantly share code, notes, and snippets.

@beryllium
beryllium / Doc.md
Created November 11, 2022 21:35
Sculpin article excerpts

Sculpin Article Excerpts

The Breakaway

This method uses a special string, <!-- break -->, to denote a breakpoint in index.html:

{# Split the post into an array using explode().
   Because we provide a length of 2, the "rest"
 of the post will be stored in the second array
@beryllium
beryllium / tiles.md
Created May 3, 2019 16:55 — forked from veltman/tiles.md
Making a big image zoomable

Making a big image zoomable

When you have a giant image and you want to make it easy to pan and zoom without downloading the whole 50MB image into someone's browser, a nice workaround is to cut that image into tiles at different zoom levels and view it as it were a map. An example where I've used this technique is The "Snowpiercer" Scenario.

One way to cut your big image into the requisite tiles is with gdal2tiles.py.

Alternatively, this Node script will do the cutting after you install node-canvas and mkdirp:

const fs = require("fs"),
@beryllium
beryllium / LegacyRedirector.php
Last active December 10, 2018 16:47
Legacy Redirector for Sculpin 3
<?php
namespace Beryllium\Whateverthing;
use Sculpin\Core\Event\SourceSetEvent;
use Sculpin\Core\Output\FilesystemWriter;
use Sculpin\Core\Output\OutputInterface;
use Sculpin\Core\Permalink\Permalink;
use Sculpin\Core\Permalink\PermalinkInterface;
use Sculpin\Core\Sculpin;

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! :) )
@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,
@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 / 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 / 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 / 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 / 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="syncuser@example.com" #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"