Skip to content

Instantly share code, notes, and snippets.

View goreilly's full-sized avatar

Garrett O'Reilly goreilly

  • San Francisco, CA
View GitHub Profile
@goreilly
goreilly / dedupe.ps1
Created May 30, 2020 02:34
Remove duplicate files with same filename but different extension in powershell
Add-Type -AssemblyName Microsoft.VisualBasic
$items = Get-ChildItem -Path . -Recurse -Name "*.opus"
foreach ($item in $items) {
#Write-Host $item
$base = $item.Substring(0, $item.LastIndexOf('.'))
$ogg = $base + ".ogg"
@goreilly
goreilly / macros.twig
Created May 19, 2015 15:39
Twig HTML Select Macro with optgroups
{% macro select (name, id, options, selected, required, includeBlank) %}
<select name="{{ name }}" id="{{ id }}" {{ required ? 'required' : '' }}>
{% if includeBlank %}
<option value=""></option>
{% endif %}
{% for key, value in options %}
{% if value is iterable %}
<optgroup label="{{ key }}">
{% for subKey, subValue in value %}
<option value="{{ subKey }}" {{ subKey == selected ? 'selected' : '' }}>{{ subValue }}</option>
@goreilly
goreilly / color.kt
Created February 1, 2018 23:22
Parse CSS colors in Kotlin
class Color(val red: Int, val green: Int, val blue: Int, val alpha: Float) {
companion object {
private val pattern = Pattern.compile("^rgba?\\((\\d+), (\\d+), (\\d+)(?:, ([\\d.]+))?\\)$")
fun fromString(string: String): Color? {
val matcher = pattern.matcher(string)
if (!matcher.matches()) return null
@mixin child-widths($widths)
@for $i from 1 through length($widths)
$width: nth($widths, $i)
&:nth-child(#{$i})
width: $width
table.fixed
th, td
@include child-widths(100px 20px 10px 20px 20px)
def code128spec(string)
lookup = %w(
\ ! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9
: ; < = > ? @
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
[ \\ ] ^ _ `
a b c d e f g h i j k l m n o p q r s t u v w x y z
{ | } ~ )
@goreilly
goreilly / dif.php
Created January 10, 2017 19:13
Generate Data Interchange Format from key value array source
<?php
$data = [
[
'hello' => 'world',
'world' => 'hello',
],
[
'hello' => '12387293871293847123894712342134',
'world' => '12387293871293847123894712342134',
@goreilly
goreilly / .my.cnf
Created October 25, 2016 22:07
Import entire MySQL databases from command live over SSH tunnel
[client]
user=root
password=password
host=127.0.0.1
port=3306
[clientremote]
user=remote_username
password=remote_password
host=127.0.0.1
port=3307
@goreilly
goreilly / Batch manage and version host keys with ansible.md
Last active October 7, 2016 16:41
Batch manage and version host keys with ansible

Batch manage and version host keys with ansible

$ ansible-playbook tool_known_hosts.yml

./tool_known_hosts.yml

---
- hosts: localhost
@goreilly
goreilly / composer.json
Last active September 22, 2016 18:10
ansible generate symfony parameters.yml
{
"require": {
"symfony/yaml": "2.2"
}
}
---
##
# Invoke any type of script to modify files. Dry-run friendly usually.
# remote_path: Path to file on server.
# script: Commands that returns altered content on stdout
##
- name: get current content
always_run: yes
register: remote