Skip to content

Instantly share code, notes, and snippets.

diff --git a/Library/Formula/wine.rb b/Library/Formula/wine.rb
index 69990e7..442b8c0 100644
--- a/Library/Formula/wine.rb
+++ b/Library/Formula/wine.rb
@@ -90,6 +90,8 @@ class Wine < Formula
# 64-bit builds of mpg123 are incompatible with 32-bit builds of Wine
args << "--without-mpg123" if Hardware.is_64_bit?
+ args << "--without-x" if build.without? 'x11'
+
@codebutler
codebutler / gist:5945443
Last active December 19, 2015 11:09
Brainstorming a better Facebook Login API for Android.
public class MyLoginActivity {
private static final int REQUEST_FB = 1;
@Override
public void onCreate(Bundle bundle) {
setContentView(R.layout.activity_login);
findViewById(R.id.facebook_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@codebutler
codebutler / crashlytics_orgs.rb
Last active April 10, 2022 07:32
Crashlytics requires an IDE to "onboard" an Android app for no good reason. This prevents you from setting up a new app using a command line build tools such as Maven, Gradle or unsupported IDEs such as Android Studio. Turns out all you really need is your org's api key, which you can get using this script. Then just add this to your AndroidMani…
require 'httparty'
require 'json'
class Crashlytics
include HTTParty
base_uri 'https://api.crashlytics.com/api/v2'
def session(email, password)
self.class.post('/session.json',
body: {email: email, password:password}.to_json,
@codebutler
codebutler / gist:5681044
Created May 30, 2013 20:43
Crash with OkHttp + Google Analytics
I/DEBUG ( 157): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 157): Build fingerprint: 'google/occam/mako:4.2.2/JDQ39/573038:user/release-keys'
I/DEBUG ( 157): Revision: '10'
I/DEBUG ( 157): pid: 5786, tid: 5811, name: GAThread >>> com.codebutler.topsecret <<<
I/DEBUG ( 157): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
I/DEBUG ( 157): r0 7481ab1c r1 ffffffff r2 00000008 r3 6fd19065
I/DEBUG ( 157): r4 6fd19065 r5 6fd19066 r6 00000000 r7 6fd19065
I/DEBUG ( 157): r8 00000020 r9 6fd19065 sl 00000000 fp 7481ab1c
I/DEBUG ( 157): ip 709d3da0 sp 7481aa98 lr 709bc3c7 pc 40a17430 cpsr 00000030
I/DEBUG ( 157): d0 312e312f70747468 d1 61342f7964707308
@codebutler
codebutler / MySocketFactory.java
Created May 13, 2013 03:26
Socket factory for Android supporting SSLSessionCache and custom TrustManager.
import android.net.SSLCertificateSocketFactory;
import android.net.SSLSessionCache;
import android.os.Build;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.params.HttpParams;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.TrustManager;
import java.io.IOException;
@codebutler
codebutler / Gemfile
Created September 23, 2012 18:05
Import Markdown posts from Posterous into Jeykll
source :rubygems
gem 'rest-client'
gem 'nokogiri'
@codebutler
codebutler / BetterContentProvider.java
Created May 15, 2012 20:41
The missing ContentProvider base class.
import android.content.*;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteQueryBuilder;
import android.net.Uri;
import android.provider.BaseColumns;
import android.text.TextUtils;
public abstract class BetterContentProvider extends ContentProvider {
@codebutler
codebutler / BetterAsyncLoader.java
Created May 10, 2012 21:32
Extension of AsyncTask that provides loading/error dialogs.
import android.support.v4.content.AsyncTaskLoader;
import android.content.Context;
import android.os.Handler;
import android.text.format.DateUtils;
public abstract class BetterAsyncLoader<T> extends AsyncTaskLoader<T> {
private T mData;
private long mPollInterval;
private Handler mRepeatHandler;
@codebutler
codebutler / FieldValidator.java
Created May 10, 2012 21:16
Simple helper to validate android form fields
import android.app.Activity;
import android.content.Context;
import android.text.InputType;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import com.humaorie.dollar.Dollar;
import static com.humaorie.dollar.Dollar.$;
@codebutler
codebutler / install-tapchat-irssi.sh
Created May 2, 2012 21:40
TapChat for Irssi installer
#!/bin/bash
# TapChat for Irssi Installer
#
# Authors:
# Eric Butler <eric@codebutler.com>
#
# See http://tapchatapp.com for more information
APT_PACKAGES="libanyevent-http-perl libnet-ssleay-perl libuuid-tiny-perl liburi-query-perl libauthen-passphrase-perl libdbd-sqlite3-perl libdbix-class-perl libcrypt-generatepassword-perl libcrypt-cbc-perl libcrypt-rijndael-perl libmime-base64-urlsafe-perl liburi-encode-perl"