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 / 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 / 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'
security find-certificate -c "Izenpe.com" -a -Z "/System/Library/Keychains/SystemRootCertificates.keychain"| grep SHA-1 | awk '{print $NF}'
sudo security delete-certificate -Z 30779E9315022E94856A3FF8BCF815B082F9AEFD -t "/System/Library/Keychains/SystemRootCertificates.keychain"
security find-certificate -c "certificatename" -a -Z | \
sudo awk '/SHA-1/{system("security delete-certificate -Z "$NF)}'
@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 / mp4togif.sh
Created July 29, 2015 17:45
convert an mp4 to gif with ffmpeg
ffmpeg -i input_file.mp4 -vf scale=320:-1:flags=lanczos,fps=30 frames/ffout%03d.png
convert -loop 0 frames/ffout*.png output_file.gif
@echohack
echohack / powershell_null_coalescing.ps1
Created July 20, 2015 19:00
Powershell Null Coalescing
($PhysicalPath, "c:\inetpub\wwwroot" -ne $null)[0] # null coalescing
# Based on the order of operations, this works in following order:
# The , operator creates an array of values to be tested.
# The -ne operator filters out any items from the array that match the specified value--in this case, null. The result is an array of non-null values in the same order as the array created in Step 1.
# [0] is used to select the first element of the filtered array.
# Simplifying that:
@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 / chef_windows_upgrade.ps1
Last active August 23, 2016 20:38
chef_windows_upgrade.ps1
# Execute this script in order to upgrade all the windows nodes in your fleet of servers to the desired version of chef-client.
# This script will requires the ChefDK to be installed and configured on your Windows machine.
$windows_nodes = knife search node 'platform:windows' -i
invoke-command -ComputerName $windows_nodes -filepath C:\Users\MyUser\invoke_upgrade.ps1 -Credential domain\user
Read-Host -Prompt “Upgrade complete. Press Enter to exit.”
@echohack
echohack / convert_flac_to_mp3.sh
Last active August 10, 2021 00:27
convert_flac_to_mp3.sh
# Recurse into all subdirectories of the working directory.
# Converts all flac into mp3 using 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"