Skip to content

Instantly share code, notes, and snippets.

Setting my status

Sander van Dragt svandragt

Setting my status
View GitHub Profile
svandragt /
Last active Oct 29, 2020
Basic upgrade script
set -euo pipefail
do_upgrade() {
if [ ! -f $VERSION_FILE ]; then
svandragt /
Last active May 28, 2020
countdown cli
#!/usr/bin/env bash
# v3 - 2020-05-28
if [ $# -eq 0 ]; then
echo " <seconds> \"<message>\""
exit 1
msg=${2:-$1 seconds passed.}
while [ $secs -gt 0 ]; do
echo -ne "$secs\033[0K\r"
svandragt / stream_zip.php
Last active Mar 10, 2020
Zip files in a streamable way, with a 2MB memory footprint.
View stream_zip.php
// composer init; composer require maennchen/zipstream-php
require_once __DIR__ .'/vendor/autoload.php';
function stream_zip( array $files, string $out_file ) {
$out = fopen( 'file://' . $out_file, 'w' );
$options = new ZipStream\Option\Archive();
$options->setOutputStream( $out );
svandragt / composer.json
Last active Dec 12, 2019
Replace plugin with non-packagist composer version, in custom location.
View composer.json
"repositories": [
"type": "vcs",
"url": ""
"require": {
"oomphinc/composer-installers-extender": "^1.1",
"fusioneng/shortcake": "dev-master#0.7.4"
svandragt / .bashrc
Last active Oct 29, 2019
Git Helper
View .bashrc
alias git-create=" $1 $2"
svandragt /
Last active Oct 23, 2019
Convert (Instapaper) CSV to Netscape Bookmark File
#!/usr/bin/env python
Convert CSV to Netscape Bookmark File
Works for files exported by Instapaper.
author: Sander van Dragt <>
version: 2019-10-23.01
import csv
from sys import argv
svandragt /
Last active Oct 13, 2020 — forked from jazzsequence/
How I Like to Work posts (2020-10)

How I work

This is my own interpretation of how I like to work, feedback welcome! If this doesn't match your experience of how I like to work, let me know! ;)

When I work

I'm almost always in the UK. I operate from the BST/GMT timezone ( I follow a 9am-5pm working hours format, this is best for my family. Occasionally I might take a nap and work late to compensate.

I tend to work 7 hours a day with ideally the last hour of the day for email and next-day planning.

Where I work

I work from home. My dog might walk in on our meeting!

svandragt /
Last active Aug 26, 2019
Known CMS upgrade automation (
#!/usr/bin/env bash
rm -rf old
cp -R html old
pushd html
git stash
git pull
composer update
cd ..
ln -sf `pwd`/config.ini `pwd`/html/config.ini
ln -sf `pwd`/Uploads `pwd`/html/Uploads
svandragt / variety-of-files.php
Last active Jul 10, 2019
WordPress Theme Feature Setup
View variety-of-files.php
// mu-plugins/theme-features.php
require_once( FEATURES_DIR . '/myfeature.php' );
// mu-plugins/theme-features/myfeature.php
function features_myfeature_init() {
if ( current_theme_supports( 'myfeature' ) ) {
add_action( 'some_hook', 'features_myfeature' );
svandragt /
Last active May 6, 2019
Upload latest screenshot in ~/Pictures and notify URL and send to clipboard
# v1 - 2019-05-06
# Upload latest screenshot in ~/Pictures and notify URL and send to clipboard
# requires a domain to upload; xclip to send to clipboard; and gnome to notify.
FILE=$(ls -t ~/Pictures/Screenshot*.png | head -1)
if [ ! -z "$FILE" ]; then
HASH=$(md5sum "$FILE"| head -n1 | awk '{print $1;}')
mv "$FILE" "/tmp/${HASH}.png"
You can’t perform that action at this time.