Skip to content

Instantly share code, notes, and snippets.

// https://twitter.com/skabber/status/449702060049457153
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
struct card {
int rank;
std::string suit;
} c = {3, "clubs"};
@skabber
skabber / strip.sh
Created December 3, 2013 00:23
Strip a symbol from a fat library
#!/bin/bash
#
# Usage ./strip.sh libGoogleAdMobAds.a GAD_GTMStringEncoding.o
LIBRARY=$1
SYMBOL=$2
mkdir -p ./archs/
LIPO_OUTPUT=($(lipo -info $1))
ARCHS=()
@skabber
skabber / xcconfigFromProfile.py
Last active December 22, 2015 14:58
.xcconfig from Provisioning Profile
#!/usr/bin/env python
from M2Crypto import SMIME, X509, BIO, m2
import plistlib
import sys
if len(sys.argv) < 3:
print "Usage: %s [Provisioning Profile] [Out .xcconfig]" % __file__
exit()
from M2Crypto import X509, SMIME, BIO
ca_cert = X509.load_cert('ca_cert.pem')
ra_cert = X509.load_cert('ra_cert.pem')
stack = X509.X509_Stack()
stack.push(ca_cert)
stack.push(ra_cert)
an_smime = SMIME.SMIME()
@skabber
skabber / ca_cert.pem
Created August 25, 2013 21:02
Test CA and RA Certs
-----BEGIN CERTIFICATE-----
MIICSzCCAbSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBZMRMwEQYDVQQKDApNeSBD
b21wYW55MUIwQAYDVQQDDDlNeSBDb21wYW55IFJvb3QgQ0EgKGNkMDFiYjRlLTkw
MDAtNDBkNi1iMDkxLTJhYjVkMzNjY2M5OSkwHhcNMTMwODI1MjAzNjA0WhcNMTQw
ODI1MjAzNjA0WjBZMRMwEQYDVQQKDApNeSBDb21wYW55MUIwQAYDVQQDDDlNeSBD
b21wYW55IFJvb3QgQ0EgKGNkMDFiYjRlLTkwMDAtNDBkNi1iMDkxLTJhYjVkMzNj
Y2M5OSkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOFE7Eso/vfdCDxEwZuM
Utn1P/Frpi4sK0f33RV6yHc1aHKlDl59hnssHWM3DzqpioLtTru77YBTIDG/RQKq
LJ3JIc+LMmf4wMORVYV5JPHHEB+876BQ6d3pmdBoPKkDk1qtLrZsRRRbZN0fEy51
znUd/fADAwdQs0PvOy/OURwlAgMBAAGjIzAhMA8GA1UdEwEB/wQFMAMBAf8wDgYD
@skabber
skabber / hockeyCrashes.py
Created April 10, 2013 23:22
A Python script to graph all your production app crashes in Status Board
#!/usr/bin/env python
import requests
import json
import StringIO
import datetime
hockeyToken = 'getyourowndamnkey'
appsEndpoint = 'https://rink.hockeyapp.net/api/2/apps'
crashesEndpoint = 'https://rink.hockeyapp.net/api/2/apps/%s/crashes/histogram?api_token=%s&format=json&start_date=%s&end_date=%s'
@skabber
skabber / gist:5343641
Created April 9, 2013 07:15
CFUUID Example
CFUUIDRef cfuuid = CFUUIDCreate(kCFAllocatorDefault);
NSString *cfuuidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));
@skabber
skabber / project.pbxproj.diff
Last active December 10, 2015 14:50
Diff produced when changing from one Provisioning Profile Code Signing Identity to another.
- PROVISIONING_PROFILE = "D8F8CD60-CD85-4FEA-BF87-CD5D67FDC3EA";
+ PROVISIONING_PROFILE = "9B44F36C-328F-45C0-BC62-4A272CB9DAD7";
@skabber
skabber / MassivelyOverrated_cert_info.txt
Created January 4, 2013 06:13
MassivelyOverrated certificate info.
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
0e:57:f1:77:d3:1b:d3:e8
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=Apple Inc., OU=Apple Worldwide Developer Relations, CN=Apple Worldwide Developer Relations Certification Authority
Validity
Not Before: Aug 3 21:34:41 2012 GMT
Not After : Aug 3 21:34:41 2013 GMT
@skabber
skabber / MassivelyOverrated.pem
Created January 4, 2013 06:07
Certificate extracted from the KeyGrinder Provisioning Profile.
-----BEGIN CERTIFICATE-----
MIIFnTCCBIWgAwIBAgIIDlfxd9Mb0+gwDQYJKoZIhvcNAQEFBQAwgZYxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBs
ZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBw
bGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkwHhcNMTIwODAzMjEzNDQxWhcNMTMwODAzMjEzNDQxWjCB
kDEaMBgGCgmSJomT8ixkAQEMClc1OFo3OVc4WDkxMjAwBgNVBAMMKWlQaG9u
ZSBEZXZlbG9wZXI6IEpheSBHcmF2ZXMgKEU2TDg3NlFGTTYpMRMwEQYDVQQL
DAo5SzlGOUxDVjc0MRwwGgYDVQQKDBNNYXNzaXZlbHkgT3ZlcnJhdGVkMQsw
CQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANdD