Skip to content

Instantly share code, notes, and snippets.

@cfg
cfg / gist:3b7ebf47d0b6189bb0d95a7a7c880344
Created April 28, 2016 15:19
Excel: Format inches as Feet' Inches"
=FLOOR(A1/12,1) & """ " & ROUND( 12*((A1/12)-FLOOR(A1/12,1)), 1) & "'"
@cfg
cfg / tinymce_replace_hidden_nbsp.js
Created June 16, 2016 20:14
Simple/hacky bookmarklet to replace hidden nbsp (\u00A0) characters in a WordPress tinymce editor
javascript:(function() {
if( !window.tinymce ) { alert('tinymce was not found, aborting.' ); return; }
var el = tinymce.get('content');
if( !el ) { alert('Unable to find the WP Edit box - aborting.' ); return; }
var matches = el.getContent().match( /\u00A0/g );
if( ! matches || matches.length === 0 ) { alert('No hidden non-breaking spaces were found.' ); return; }
if( matches && matches.length >= 1 ) {
if( confirm( 'Found ' + matches.length + ' non-breaking space character' + ( matches.length === 1 ? '' : 's' ) + ' replace them with a normal space?' ) ) {
el.setContent( el.getContent().replace( /\u00A0/g, ' ' ) );
alert('Done - save the post and run this again.');
@cfg
cfg / vaultpress_import_sql.sh
Last active July 22, 2016 15:15
Import individual MySQL .sql files that weren't dumped using --opt or --extended-insert (like from a VaultPress dump. Show some *very* basic detail about file size, number of lines (correlates roughly to # of rows), and timing.
#!/usr/bin/env bash
VP_DB="set_to_your_dbname"
[[ ! -d "done" ]] && mkdir done
[[ ! -d "error" ]] && mkdir error
echo "To prevent any writes to the database during the import, you should disable the site. Add this to your wp-config.php:"
echo "if( DB_NAME == '$VP_DB' ) die( 'This site is is disabled during import.' );"
read -p "Press Enter to continue. "
time for VP_SQL_FILE in *.sql ; do
@cfg
cfg / sshkey.bash
Created July 22, 2016 18:57
Attempt to locate the SSH public and private key used for a host/user@host.
#!/usr/bin/env bash
HOST="$1"
[[ -z "$HOST" ]] && (>&2 echo "Usage: $0 [user@]hostname") && exit 1
OUT="$(ssh -o ConnectionAttempts=1 -o ConnectTimeout=2 -o StrictHostKeyChecking=no -o "PreferredAuthentications=publickey" -T "$HOST" -v true 2>&1 | grep -B3 "Authentication succeeded (publickey)" )"
RET="$?"
if [[ "$RET" -ne "0" ]] ; then
(>&2 echo "ERROR (errno: $RET): Unable to connect or authenticate to $HOST")
@cfg
cfg / floatsign.sh
Created July 25, 2016 15:35 — forked from mediabounds/floatsign.sh
A small bash script to re-sign iOS applications.
#!/usr/bin/env bash
# Copyright (c) 2011 Float Mobile Learning
# http://www.floatlearning.com/
# Extension Copyright (c) 2013 Weptun Gmbh
# http://www.weptun.de
#
# Extended by Ronan O Ciosoig January 2012
#
# Extended by Patrick Blitz, April 2013
// Browse to https://my.slack.com/team#active and open the developer console
x=[];
jQuery('#active_members_list .team_list_item.member_item.active').each( function(ix, el) {
el = jQuery(el);
if( el.find('.member_image.bot').length ) {
return; // skip bots
}
var details = {
name: el.find('.member_name').text(),
tel: el.find('.member_data_table a[href^=tel]').text(),
@cfg
cfg / print_stormchat.js
Created September 13, 2016 19:19
Make a StormChat print friendly
jQuery('#bottom-bar').remove();
jQuery('#contact-list').remove();
jQuery('html').css('overflow', 'auto');
jQuery('#chat-room').css({ 'height': 'auto', 'width': '100%', 'overflow-y': 'auto' });
@cfg
cfg / WWDC Line hax
Created November 9, 2016 15:38 — forked from b3ll/WWDC Line hax
// June 11, 2012
// https://twitter.com/b3ll/status/212169466665111552
-(BOOL)isBlocked
{
return false;
}
-(int)epicWWDCLineHacks
{
@cfg
cfg / compile_futurerestore.sh
Created January 1, 2017 19:39
Compile futurerestore from @tihmstar on OS X
brew install openssl
git clone --recursive git@github.com:tihmstar/futurerestore.git
cd futurerestore/
export PKG_CONFIG_PATH=/usr/local/share/pkgconfig:/usr/local/lib/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig
./autogen.sh
make
./futurerestore/futurerestore
@cfg
cfg / gist:4585f041cd069d3f2639e53fc33ae281
Created April 4, 2017 18:17
Extracting 2FA seeds from Authy
Open chrome://extensions, debug Authy main.html
Set a breakpoint in Authy app.js in this function:
d.prototype.getOtp = function() {
return this.isEncrypted() ? "------" : this.otpGenerator.getOtp(this.decryptedSeed, this.digits)
}
Can use a conditional breakpoint, where this.getName() == 'your.account.display.name'
console.log( "otpauth://totp/%s:%s?secret=%s&issuer=%s", encodeURIComponent( this.getAccountName() ), encodeURIComponent( this.getName() ), encodeURIComponent(this.decryptedSeed), this.getAccountName() );