Skip to content

Instantly share code, notes, and snippets.

View echohack's full-sized avatar
🎥
twitch.tv/echohack

echohack echohack

🎥
twitch.tv/echohack
View GitHub Profile
@echohack
echohack / chef_env.sh
Last active August 29, 2015 14:06
Shell script for quickly changing which chef server your toolset points to
#! /usr/bin/env bash
# Only tested on Mac OSX 10.10
if [ -d ~/.chef_pp ]; then
echo "Changing to Pre-Production Chef Environment."
mv ~/.chef ~/.chef_sandbox
mv ~/.berkshelf ~/.berkshelf_sandbox
mv ~/.chef_pp ~/.chef
mv ~/.berkshelf_pp ~/.berkshelf
# Convert all flac files in all subdirs to mp3 with ffmpeg
find . -type f -name "*.flac" -print0 | while read -d $'\0' a; do
< /dev/null ffmpeg -i "$a" -qscale:a 0 "${a[@]/%flac/mp3}"
done
@echohack
echohack / lcm.rb
Created February 20, 2015 19:25
Set DSC LocalConfigurationManager with Chef
# Apply the Local Configuration Manager for DSC.
# DSC by default runs a consistancy check once every 15 minutes.
# We disable this because it causes collisions with chef-client runs.
powershell_script 'apply_lcm' do
code <<-EOH
configuration LCM
{
LocalConfigurationManager
{
ConfigurationMode = "ApplyOnly"
@echohack
echohack / why_rubocop.rb
Created May 19, 2015 22:09
why_rubocop.rb
def virtual_disk_for(vm, options)
if options[:datastore].to_s.empty?
raise ":datastore must be specified when adding a disk to a cloned vm"
end
idx = vm.disks.count
RbVmomi::VIM::VirtualDeviceConfigSpec(
:operation => :add,
:fileOperation => :create,
:device => RbVmomi::VIM.VirtualDisk(
:key => idx,
@echohack
echohack / fuck_twitter_spammers.sh
Last active September 19, 2015 03:10
A shell script to kill twitter spammers and puppet accounts.
#!/bin/sh
# See: https://github.com/sferik/t on installation instructions
spammer_list=$(t search all SEARCH_QUERY | awk '/YOUR REGEX HERE, MATCH TWEET TEXT/{print x};{x=$0}')
for spammer in $spammer_list; do
#echo $spammer # test first before reporting everyone in the world
t report_spam $spammer
done
@echohack
echohack / samba_share_recipe.rb
Created October 1, 2015 19:40
Install a nuget package from a Windows Samba share
# Use this to mount a samba share on windows and install a nuget package
# Mounting samba shares sucks. Use an artifact repository to store binaries.
# But sometimes you don't have a choice...
include_recipe 'chocolatey'
mount 'n:' do
device '\\\\fqdn\\remotepath'
password 'password'
domain 'my_domain'
@echohack
echohack / dsc_script.rb
Last active October 7, 2015 20:29
dsc_script example
iis_ws_config = "#{node['app']['file_cache_path']}\\iis_ws_config.ps1"
template iis_ws_config do
source 'iis_ws_config.ps1.erb'
variables(
ws_pool_user: env_credentials['ws_pool_user'],
ws_pool_pswd: env_credentials['ws_pool_pswd'],
site_name: ws['site_name'],
site_path: ws['site_path'],
formservice_path: ws['formservice_path'],
formsetservice_path: ws['formsetservice_path'],
@echohack
echohack / iis_ws_config.ps1.erb
Last active October 7, 2015 20:33
iis_ws_config
configuration iis_ws_config
{
Import-DscResource -Module xWebAdministration
xWebsite DefaultWebSite
{
Name = "<%= @site_name %>"
Ensure = "Present"
PhysicalPath = "<%= @site_path %>"
State = "Started"
@echohack
echohack / dsc_gotchas.rb
Last active October 7, 2015 20:43
dsc gotchas
if (platform_family? 'windows') && (node['kernel']['name'] == 'Microsoft Windows Server 2012 R2 Standard')
# Apply the Local Configuration Manager for DSC.
# DSC by default runs a consistancy check once every 15 minutes.
# Disable this because it causes collisions with chef-client runs.
powershell_script 'apply_lcm' do
code <<-EOH
configuration LCM
{
LocalConfigurationManager
@echohack
echohack / myprint.py
Created January 13, 2013 05:14
A short bit of code to test a SublimeText Python developer environment.
class MyPrint:
def __init__(self):
pass
def myPrint(self):
for item in range(10):
print("This is the item at " + str(item) + " .")
return True