Skip to content

Instantly share code, notes, and snippets.

View markcerqueira's full-sized avatar
📌
Join me! Pinterest is hiring!

Mark Cerqueira markcerqueira

📌
Join me! Pinterest is hiring!
View GitHub Profile
@markcerqueira
markcerqueira / 26.0.1.txt
Created September 15, 2017 00:27
Android Asset Packaging Tool
Android Asset Packaging Tool
Usage:
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.
aapt d[ump] [--values] [--include-meta-data] WHAT file.{apk} [asset [asset ...]]
strings Print the contents of the resource table string pool in the APK.
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
@markcerqueira
markcerqueira / pi.txt
Created March 14, 2017 21:21
31,415 digits of Pi formatted with spaces in between digits
3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 6 2 6 4 3 3 8 3 2 7 9 5 0 2 8 8 4 1 9 7 1 6 9 3 9 9 3 7 5 1 0 5 8 2 0 9 7 4 9 4 4 5 9 2 3 0 7 8 1 6 4 0 6 2 8 6 2 0 8 9 9 8 6 2 8 0 3 4 8 2 5 3 4 2 1 1 7 0 6 7 9 8 2 1 4 8 0 8 6 5 1 3 2 8 2 3 0 6 6 4 7 0 9 3 8 4 4 6 0 9 5 5 0 5 8 2 2 3 1 7 2 5 3 5 9 4 0 8 1 2 8 4 8 1 1 1 7 4 5 0 2 8 4 1 0 2 7 0 1 9 3 8 5 2 1 1 0 5 5 5 9 6 4 4 6 2 2 9 4 8 9 5 4 9 3 0 3 8 1 9 6 4 4 2 8 8 1 0 9 7 5 6 6 5 9 3 3 4 4 6 1 2 8 4 7 5 6 4 8 2 3 3 7 8 6 7 8 3 1 6 5 2 7 1 2 0 1 9 0 9 1 4 5 6 4 8 5 6 6 9 2 3 4 6 0 3 4 8 6 1 0 4 5 4 3 2 6 6 4 8 2 1 3 3 9 3 6 0 7 2 6 0 2 4 9 1 4 1 2 7 3 7 2 4 5 8 7 0 0 6 6 0 6 3 1 5 5 8 8 1 7 4 8 8 1 5 2 0 9 2 0 9 6 2 8 2 9 2 5 4 0 9 1 7 1 5 3 6 4 3 6 7 8 9 2 5 9 0 3 6 0 0 1 1 3 3 0 5 3 0 5 4 8 8 2 0 4 6 6 5 2 1 3 8 4 1 4 6 9 5 1 9 4 1 5 1 1 6 0 9 4 3 3 0 5 7 2 7 0 3 6 5 7 5 9 5 9 1 9 5 3 0 9 2 1 8 6 1 1 7 3 8 1 9 3 2 6 1 1 7 9 3 1 0 5 1 1 8 5 4 8 0 7 4 4 6 2 3 7 9 9 6 2 7 4 9 5 6 7 3 5 1 8 8 5 7 5 2 7 2 4 8 9 1 2 2 7 9 3 8 1 8 3 0 1 1 9 4 9 1 2 9 8 3 3 6 7 3 3 6 2
@markcerqueira
markcerqueira / controller.rb
Last active January 12, 2017 01:02
ACME challenge responder for Sinatra
class ApplicationController
# ACME Challenge responder. See: https://github.com/dmathieu/sabayon
# If you want to keep this code in a separate controller, remove /.well-known from
# the next line, make a new controller that inherits from ApplicationController (in
# this example ChallengeController), and put this line in your config.ru file:
# map('/.well-known/') { run ChallengeController }
get '/.well-known/acme-challenge/:token' do
data = []
@markcerqueira
markcerqueira / WKWebViewCookie.m
Last active May 15, 2020 06:20
Getting cookies into a WKWebView
// API reference: https://developer.apple.com/reference/webkit/webpolicydelegate/1536273-webview?language=objc
// Adapted from the Swift implementation: http://stackoverflow.com/a/32196541
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction
decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
if (![self requiresCookie:navigationAction]) {
decisionHandler(WKNavigationActionPolicyAllow);
return;
}
@markcerqueira
markcerqueira / TrailingClosures.swift
Created November 13, 2016 07:50
Trailing Closures in Swift
// Adapted from https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html
// Here's a function that takes a closure as an argument:
func funFunction(closure: () -> Void) {
// Do stuff and call closure when done
}
// Here's how you call this function passing the closure normally:
funFunction(closure: {
// Closure code goes in here
@markcerqueira
markcerqueira / brew.sh
Last active December 19, 2019 03:10
Bootstrapping Mac Apps with Homebrew Cask
#!/bin/sh
# chmod a+x brew.sh
# https://computers.tutsplus.com/tutorials/perfect-configurations-with-homebrew-and-cask--cms-20768
# brew packages
brew install git
brew install gradle
brew install openssl
brew install ruby
@markcerqueira
markcerqueira / ChuckPadServiceTests.m
Last active August 30, 2016 00:17
Snippet of ChuckPadServiceTests.m from markcerqueira/hello-chuckpad
// 1 - Create a new user so we can upload patches
XCTestExpectation *expectation1 = [self expectationWithDescription:@"createUser timed out (1)"];
[[ChuckPadSocial sharedInstance] createUser:user.username email:user.email password:user.password callback:^(BOOL succeeded, NSError *error) {
[self doPostAuthAssertChecks:user];
[expectation1 fulfill];
}];
[self waitForExpectations];
// 2 - Upload a new patch
ChuckPadPatch *localPatch = [ChuckPadPatch generatePatch:@"demo0.ck"];
@markcerqueira
markcerqueira / WebViewMeasuringActivity.java
Last active November 28, 2018 21:21
Android WebView Content Measuring
public class WebViewMeasuringActivity extends RelativeLayout {
public void loadHtml(String html)
WebView webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebViewResizer(), "WebViewResizer");
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView webView, String url) {
webView.loadUrl("javascript:window.WebViewResizer.processHeight(document.querySelector('body').offsetHeight);");
@markcerqueira
markcerqueira / Account.java
Created May 9, 2016 00:12
One of my earlier programming assignments for AP Computer Science circa Spring 2005
//********************************************************************
// Account.java Author: Lewis/Loftus/Cocking
//
// Represents a bank account with basic services such as deposit
// and withdraw.
//********************************************************************
import java.text.NumberFormat;
public class Account
@markcerqueira
markcerqueira / google_groups_csv_parser.py
Created September 8, 2015 20:07
"Parser" to print out only names and emails from Google Groups "Export Members" CSV file
# google_groups_csv_parse.py
# Author: Mark Cerqueira
#
# Strips out names and emails from Google Groups members list export
#
# 1. Download CSV from Export Members option in Google Groups
# 2. Name file stanfordkendo.csv and place in same directory as this script
# 3. Run it! e.g. $ python google_groups_csv_parser.py | pbcopy
import csv