Skip to content

Instantly share code, notes, and snippets.

@karltaylor
karltaylor / ffmpeg-resize-convert-compress-all.sh
Last active June 19, 2018 20:26
Bash script to scale, convert and compress videos within a directory to .webm
for file in *.mp4; do ffmpeg -i "$file" -filter:v scale=1080:-1 -acodec libvorbis -ac 2 -b:v 5000k "${file%.mp4}".webm; done
@karltaylor
karltaylor / resizeImg.sh
Created August 9, 2016 11:42
Bash script to resize multiple images at once.
for i in *.jpg; do convert $i -resize 1472x983 $i; done
@karltaylor
karltaylor / convertImg.sh
Created August 12, 2016 16:52
Convert image to different format.
for i in *.png; do convert -verbose $i ${i%%.png}.jpg; done && open .
@karltaylor
karltaylor / UIBorderedLabel.swift
Created December 1, 2016 14:46 — forked from karloscarweber/UIBorderedLabel.swift
UILabel subclass that makes setting padding really easy.
//
// UIBorderedLabel.swift
// standToMake
//
// Created by Karl Oscar Weber on 9/13/14.
// Copyright (c) 2014 Karl Oscar Weber. All rights reserved.
//
// Thanks to: http://userflex.wordpress.com/2012/04/05/uilabel-custom-insets/
import UIKit
@karltaylor
karltaylor / ffmpeg-compress-mp4
Last active July 26, 2021 20:21
Compress MP4 for online content.
ffmpeg -i input.mp4 -codec:v libx264 -preset slow -b:v 1000k -maxrate 1500k -bufsize 1500k -vf scale=1080:-1 -threads 0 -codec:a libfdk_aac -b:a 128k output.mp4
@karltaylor
karltaylor / social-network-metadeta.pug
Last active February 8, 2022 03:04
Meta data for Facebook OpenGraph and Twitter cards in .pug format.
//- Facebook Open Graph Meta Data
meta(property="og:url" content="")
meta(property="og:type" content="")
meta(property="og:title" content="")
meta(property="og:description" content="")
meta(property="og:image" content="")
//- Twitter Meta Data
meta(name="twitter:card" content="summary_large_image")
meta(name="twitter:site" content="")
@karltaylor
karltaylor / handle-input-change.js
Last active August 2, 2018 15:33
Handle Input Change React
handleChange = e => {
const {name, value} = e.currentTarget
this.setState({
[name]: value
})
}
// Make sure you've set a 'name' attribute on the input.
@karltaylor
karltaylor / compress-images.sh
Last active July 3, 2017 10:40
Compress image
convert -strip -interlace Plane -sampling-factor 4:2:0 -quality 85% part-1.jpg result.jpg
@karltaylor
karltaylor / split.js
Last active July 7, 2017 11:28
Split string but keep delimiter
function split(string) {
return string.match(/\w+(?:\s\w+)*\W?/g)
}
console.log(split("string one, string two, thing three, four four."))
// ["string one,", "string two,", "thing three,", "four four."]
// https://regex101.com/r/1mn4J9/1/
@karltaylor
karltaylor / main.code-snippets
Created June 21, 2018 10:57
Visual Studio Code Snippets
{
// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",