Skip to content

Instantly share code, notes, and snippets.

View marshall's full-sized avatar

Marshall Culpepper marshall

View GitHub Profile
@marshall
marshall / .bash_profile
Created December 1, 2010 17:52
Environment variables and functions that speed up testing and building Titanium Mobile
#!/bin/bash
# Add this to your ~/.bash_profile
for a in `ls $HOME/.bash_profile.d/*.sh`; do
source $a
done
@marshall
marshall / desktop_perf_results.txt
Created January 17, 2011 06:50
Various V8 perf test results
SunSpider tests - higher is better
Rhino (Interpreted)
-------------------
Score: 362
Richards: 425
DeltaBlue: 340
Crypto: 369
RayTrace: 535
@marshall
marshall / app.js
Created January 27, 2011 23:07
Sample proguard configuration for a basic Titanium App
var win = Ti.UI.createWindow({
backgroundColor: 'white',
top: 0, left: 0, right: 0, bottom: 0,
layout: "vertical"
});
var button = Ti.UI.createButton({
title: "click me"
});
win.add(button);
@marshall
marshall / adb_kill.py
Created February 1, 2011 08:52
kill a running android process without eclipse
#
# Kill a running Android JDWP (debuggable) process without Eclipse
#
import sys
import socket
import struct
import uuid
import random
import subprocess
@marshall
marshall / ClassLoaderActivity.java
Created February 22, 2011 17:16
A reflection hack to override the APK ClassLoader so you can launch Activities in an external JAR.
//
// !!WARNING: Not recommended for production code!!
//
public class ClassLoaderActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
// file.jar has a dex'd "classes.dex" entry that you can generate with "dx" from any number of JARs or class files
ClassLoader dexLoader = new DexClassLoader("/path/to/file.jar", getCacheDir().getAbsolutePath(), null, getClassLoader());
setAPKClassLoader(dexLoader);
@marshall
marshall / activity1.js
Created February 22, 2011 17:24
Native Titanium + Android example code
var activity = Ti.Android.currentActivity;
var win = Ti.UI.currentWindow;
activity.addEventListener("create", function(e) {
var button = Ti.UI.createButton({title: "Hello world"});
button.addEventListener("click", function(e) {
activity.finish();
});
win.add(button);
});
@marshall
marshall / app.js
Created October 26, 2011 19:36
V8 1.8.0 vs Rhino 1.7.3 perf results
var win = Ti.UI.createWindow({
backgroundColor: 'blue',
top: 0, left: 0, right: 0, bottom: 0
});
var view = Ti.UI.createView();
win.add(view);
var createButton = Ti.UI.createButton({
top: 0, right: 0, height: "5%",
@marshall
marshall / mozilla_profile.sh
Created June 8, 2012 19:04
mozilla_profile.sh
bz_create_patch() {
rev=HEAD^
if [ "$1" != "" ]; then
rev=$1
fi
git format-patch -k --no-stat --no-signature $rev --stdout | git patch-to-hg-patch
}
@marshall
marshall / test_mobile_networks.js
Created June 13, 2012 15:08
test_mobile_networks.js
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
// getNetworks() can take some time..
MARIONETTE_TIMEOUT = 60000;
const WHITELIST_PREF = "dom.mobileconnection.whitelist";
let uriPrePath = window.location.protocol + "//" + window.location.host;
SpecialPowers.setCharPref(WHITELIST_PREF, uriPrePath);
@marshall
marshall / networkSelectionModes.patch
Created June 18, 2012 22:41
networkSelectionModes.patch - v4
# HG changeset patch
# User Marshall Culpepper <marshall@mozilla.com>
Bug 759637: Initial implementation of MobileConnection network selection APIs. r=philikon sr=sicking
diff --git a/dom/network/interfaces/nsIDOMMobileConnection.idl b/dom/network/interfaces/nsIDOMMobileConnection.idl
index 1df7131..ef434cd 100644
--- a/dom/network/interfaces/nsIDOMMobileConnection.idl
+++ b/dom/network/interfaces/nsIDOMMobileConnection.idl
@@ -31,17 +31,52 @@ interface nsIDOMMozMobileConnection : nsIDOMEventTarget