Skip to content

Instantly share code, notes, and snippets.

Kevin Boyd beryllium

Block or report user

Report or block beryllium

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
@beryllium
beryllium / tiles.md
Created May 3, 2019 — forked from veltman/tiles.md
Making a big image zoomable
View tiles.md

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 Dec 10, 2018
Legacy Redirector for Sculpin 3
View LegacyRedirector.php
<?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;
View Sculpin-on-Windows.md

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 Mar 11, 2018
Time-Ago Twig Macro
View macros.html.twig
{# 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,
View showcerts.sh
#!/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 Dec 7, 2016 — forked from oneohthree/quick-slugify.sh
Quick bash slugify
View quick-slugify.sh
# 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 / index.html.twig
Created Sep 29, 2014
Breakpoints in Sculpin
View index.html.twig
...
<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 / components.md
Created Jun 12, 2014
Zero-Dependency Symfony Components
View components.md

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 / Night..lrtemplate
Created May 16, 2014
Lightroom? More like Nightroom!
View Night..lrtemplate
s = {
id = "3E89CB4C-C61A-4F25-B40C-37824BF89EA4",
internalName = "Night.",
title = "Night.",
type = "Develop",
value = {
settings = {
AutoLateralCA = 0,
Blacks2012 = 0,
BlueHue = 0,
@beryllium
beryllium / remote-diff.sh
Created Mar 13, 2013
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
View 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
You can’t perform that action at this time.