Skip to content

Instantly share code, notes, and snippets.

Andy Fowler andyfowler

Block or report user

Report or block andyfowler

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
andyfowler /
Last active Aug 29, 2015
Frustrating landscape of PHP mocking

Why are PHP's mocking libraries so weak?


Kludgy, disgusting syntax.


Seems to have the most momentum, but I don't like its DSL, which seems more complex than 95% of cases need. Bad docs: a 1,600-line README?


Keybase proof

I hereby claim:

  • I am andyfowler on github.
  • I am andyfowler ( on keybase.
  • I have a public key whose fingerprint is C729 E43A BE22 52BA 67E8 08E5 D1E2 5574 B09F C6E9

To claim this, I am signing this object:

andyfowler / gist:10068879
Created Apr 7, 2014
testing a libssl update in vagrant for heartbleed
View gist:10068879
vagrant@vagrant:~$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Wed Jan 8 20:45:51 UTC 2014
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"
vagrant@vagrant:~$ sudo apt-get update
View gist:3a25f905e51308a71d7b
$response = $aboutmeApi->get();
$response->getPage(); // returns `Aboutme_Page` created from API response JSON
// no API consumer needs to know about AboutMe's API structure, only your own implemented methods.
// in testing
$page = Aboutme_Page::createFromResponse($yourfixture);
andyfowler / merge_post.feature
Created May 23, 2014
Nutshell REST API merge spec
View merge_post.feature
Feature: Merging entities
Given a Nutshell with an account
Scenario: Basic JSON API compliance
When the client requests POST /accounts/1-accounts/merge with the body:
{"accounts": ["336-accounts","337-accounts"] }
View mac apps.mdown

Now I'm Trapped Here

  • MacPorts
  • QuickSilver
  • TextMate
  • Xcode
View @TODO post-commit idea
// creates a ticket with a reference to this revision, file, line # and author
// by default, the ticket is assigned to the author who committed it
$temporaryCode = 'hack'; // @TODO Add official code when x module completed....
// optionally assign the ticket to somebody else
$temporaryCode = 'hack'; // @TODO ( Figure out the best way to handle this
// looks for references to other tickets to add dependencies
$temporaryCode = 'hack'; // @TODO Can't fix this until #207 is resolved
View ip_route_match.rb
#!/usr/bin/env ruby -wKU
def UBER_ip_route_match(command, regex)
command.split("\n").select { |l| l =~ regex }.first.to_s[/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/] || ''
c = ' dev eth1 proto kernel scope link src dev lo scope link
default via dev eth1'
# c = %x{/sbin/ip route list match #{ip}}
View gist:260692
afowler@owlhouse en $ port installed
The following ports are currently installed:
apache2 @2.2.14_0+darwin+preforkmpm (active)
apr @1.3.9_0 (active)
apr-util @1.3.9_0 (active)
aquaterm @1.0.1_5 (active)
autoconf @2.65_0 (active)
autoconf213 @2.13_1 (active)
automake @1.11.1_0 (active)
bash-completion @1.1_2 (active)
View gist:318935
(a poem my little brother posted on his facebook)
I long every day just to see you
Just to talk to you
you don't have to be there boyfriend or girlfriend but always being
there for somone to talk and to listen
Love is amazing
Love is forever
Love is just being a friend
Love is careing
You can’t perform that action at this time.