Skip to content

Instantly share code, notes, and snippets.

View jberkel's full-sized avatar

Jan Berkel jberkel

View GitHub Profile
@jberkel
jberkel / gist:7574502
Created November 21, 2013 01:27
simulating iOS reachability
$ host api.soundcloud.com
api.soundcloud.com is an alias for api-cdn.l.soundcloud.com.
api-cdn.l.soundcloud.com is an alias for cs97.wac.edgecastcdn.net.
cs97.wac.edgecastcdn.net has address 93.184.220.127
$ sudo route add -host 93.184.220.127 -interface gif0
add host 93.184.220.127: gateway gif0
$ scutil -r api.soundcloud.com
Reachable,Transient Connection,Connection Required
$ scutil
Pod::Spec.new do |s|
s.name = "sqlite3"
s.version = "3.7.16.2"
s.summary = "SQLite is an embedded SQL database engine."
s.homepage = "http://www.sqlite.org"
s.license = "Public Domain"
s.author = {"D. Richard Hipp" => "drh@hwaci.com"}
sqlite_version_format = "%.1d%.2d%.2d%.2d" % s.version.to_s.split('.').push(0)
@jberkel
jberkel / xctool.rb
Last active December 17, 2015 00:59
formula for xctool
# to install:
# curl https://raw.github.com/gist/5525293 > /usr/local/Library/Formula/xctool.rb && brew install xctool --HEAD
require 'formula'
class Xctool < Formula
homepage 'https://github.com/facebook/xctool.git'
head 'https://github.com/facebook/xctool.git'
def install
system "./build.sh"
Pod::Spec.new do |s|
s.name = "Mantle"
s.version = "0.3"
s.summary = "Model framework for Cocoa and Cocoa Touch."
s.homepage = "https://github.com/github/Mantle"
s.license = 'MIT'
s.author = { "GitHub" => "support@github.com" }
s.source = { :git => "https://github.com/github/Mantle.git", :tag => "0.3" }
09-06 08:56:06.278 I/System (18318): Failed to destroy process 18365
09-06 08:56:06.283 I/System (18318): libcore.io.ErrnoException: kill failed: ESRCH (No such process)
09-06 08:56:06.283 I/System (18318): at libcore.io.Posix.kill(Native Method)
09-06 08:56:06.283 I/System (18318): at libcore.io.ForwardingOs.kill(ForwardingOs.java:77)
09-06 08:56:06.283 I/System (18318): at java.lang.ProcessManager$ProcessImpl.destroy(ProcessManager.java:257)
09-06 08:56:06.283 I/System (18318): at com.nolanlawson.logcat.b.f.b(Unknown Source)
09-06 08:56:06.283 I/System (18318): at com.nolanlawson.logcat.reader.LogcatReaderLoader.<init>(Unknown Source)
09-06 08:56:06.283 I/System (18318): at com.nolanlawson.logcat.reader.LogcatReaderLoader.a(Unknown Source)
09-06 08:56:06.283 I/System (18318): at com.nolanlawson.logcat.b.l.a(Unknown Source)
09-06 08:56:06.283 I/System (18318): at com.nolanlawson.logcat.b.c.doInBackground(Unknown Source)
09-06 08:41:12.163 I/System (15258): Failed to destroy process 16141
09-06 08:41:12.163 I/System (15258): libcore.io.ErrnoException: kill failed: ESRCH (No such process)
09-06 08:41:12.163 I/System (15258): at libcore.io.Posix.kill(Native Method)
09-06 08:41:12.163 I/System (15258): at libcore.io.ForwardingOs.kill(ForwardingOs.java:77)
09-06 08:41:12.163 I/System (15258): at java.lang.ProcessManager$ProcessImpl.destroy(ProcessManager.java:257)
09-06 08:41:12.163 I/System (15258): at com.nolanlawson.logcat.b.f.b(Unknown Source)
09-06 08:41:12.163 I/System (15258): at com.nolanlawson.logcat.reader.LogcatReaderLoader.<init>(Unknown Source)
09-06 08:41:12.163 I/System (15258): at com.nolanlawson.logcat.reader.LogcatReaderLoader.a(Unknown Source)
09-06 08:41:12.163 I/System (15258): at com.nolanlawson.logcat.b.l.a(Unknown Source)
09-06 08:41:12.163 I/System (15258): at com.nolanlawson.logcat.b.c.doInBackground(Unknown Source)
$ cd $ANDROID_SRC
$ cd sdk/emulator
$ g++ qtools/post_trace.cpp qtools/trace_reader.cpp qtools/decoder.cpp -I../../external/qemu -o ../../post_trace
$ g++ qtools/q2dm.cpp qtools/dmtrace.cpp qtools/trace_reader.cpp qtools/decoder.cpp qtools/thumbdis.cpp qtools/read_elf.cpp qtools/armdis.cpp qtools/parse_options.cpp qtools/opcode.cpp -I../../external/qemu -o ../../q2dm
$ ./post_trace $TRACE
$ ./q2dm $TRACE prebuilt/android-arm/kernel/vmlinux-qemu dmtrace
# [-r $ANDROID_PRODUCT_OUT/symbols]
import static junit.framework.Assert.assertTrue;
import com.jayway.android.robotium.solo.Solo;
import android.app.Activity;
import android.app.Instrumentation;
import java.util.regex.Pattern;
trait RobolectricSuite extends Suite with FlatSpec with BeforeAndAfter {
lazy val instrumentedClass = RobolectricSuite.classLoader.bootstrap(this.getClass)
lazy val instrumentedInstance = instrumentedClass.newInstance().asInstanceOf[RobolectricSuite]
lazy val robolectricConfig = new RobolectricConfig(new File("."))
lazy val defaultDatabaseMap: DatabaseMap = new com.xtremelabs.robolectric.util.SQLiteMap()
lazy val resourceLoader = {
new ResourceLoader(robolectricConfig.getRealSdkVersion,
Class.forName(robolectricConfig.getRClassName),
trait RobolectricSuite extends Suite {
lazy val instrumentedClass = RobolectricSuite.classLoader.bootstrap(this.getClass)
lazy val instrumentedInstance = instrumentedClass.newInstance().asInstanceOf[RobolectricSuite]
lazy val robolectricConfig = new RobolectricConfig(new File("."))
lazy val defaultDatabaseMap: DatabaseMap = new com.xtremelabs.robolectric.util.SQLiteMap()
lazy val resourceLoader = {
new ResourceLoader(robolectricConfig.getRealSdkVersion,
Class.forName(robolectricConfig.getRClassName),
robolectricConfig.getResourceDirectory,