Skip to content

Instantly share code, notes, and snippets.

View chris-piekarski's full-sized avatar

Christopher Piekarski chris-piekarski

  • Boulder, CO
  • 01:39 (UTC)
View GitHub Profile
@chris-piekarski
chris-piekarski / debain_custom_service
Last active August 29, 2015 14:02
Debian - Add Service
sudo vi /etc/init.d/cjp
sudo chmod +x /etc/init.d/cjp
#if you want it to run at startup
sudo update-rc.d cjp defaults
#to remove
sudo update-rc.d -f cjp remove
#start and stop at will
@chris-piekarski
chris-piekarski / python_create_cert
Created May 7, 2014 16:51
Generate Self Signed Cert w/Python
import sys, os
from OpenSSL import crypto, SSL
from socket import gethostname
from pprint import pprint
from time import gmtime, mktime
from os.path import exists, join
CERT_FILE = "apache.crt"
KEY_FILE = "apache.key"
@chris-piekarski
chris-piekarski / x11_ssh
Last active August 29, 2015 13:58
Headless Ubuntu X11 SSH Tunnel
On SSH server make sure the sshd config file contains "X11Forwarding yes" (/etc/ssh/sshd_config).
On the client add -X flag to ssh command ( ssh -X myusername@myhost.com ). Then simply run X11 programs.
@chris-piekarski
chris-piekarski / aosp_pid
Last active August 29, 2015 13:57
Android Process Pid
android.os.Process.myPid()
android.os.Process.killProcess(android.os.Process.myPid())
@chris-piekarski
chris-piekarski / adb_aosp_content
Last active December 27, 2023 19:52
ADB Content Command
adb shell content delete --uri content://settings/settings/pointer_speed
adb shell content query --uri content://settings/settings
adb shell content insert --uri content://settings/secure --bind name:s:my_number --bind value:i:24
See "package com.android.commands.content;" in /frameworks/base/cmds/content/
Usese "final class ContentProviderProxy implements IContentProvider" in ContentProviderProxy.java
@chris-piekarski
chris-piekarski / android_wifi_status
Last active August 29, 2015 13:56
Properly control Android service state based on Wifi status
private void registerConnectivityChange() {
BroadcastReceiver connectionReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// When just using the ConnectivityManager you can get identical intents
// twice within one second. So we need to use the WifiManager & ConnectivityManager
// to determine true state
if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
NetworkInfo networkInfo = intent
@chris-piekarski
chris-piekarski / intent_package_name
Created January 22, 2014 21:12
Log package name of incoming Intent
import android.content.pm.PackageManager;
import android.os.Binder;
import android.content.Intent;
class {
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, context.getPackageManager().getNameForUid(Binder.getCallingUid()));
}
}
@chris-piekarski
chris-piekarski / android_timezone_listener
Created January 10, 2014 21:30
Android TimeZone Listener
public static void registerTimezoneListener() {
IntentFilter timezoneFilter = new IntentFilter(Intent.ACTION_TIMEZONE_CHANGED);
BroadcastReceiver timezoneReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent){
Log.d(TAG, "TIMEZONE CHANGED!");
}
};
Context.registerReceiver(timezoneReceiver, timezoneFilter);
@chris-piekarski
chris-piekarski / HelloWorldApp.java
Last active January 2, 2016 03:59
How does Java try/catch/finally work?
package com.cpiekarski.helloworld;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/**
* javac -d . HelloWorldApp.java
* java -cp . com.cpiekarski.helloworld.HelloWorldApp
@chris-piekarski
chris-piekarski / android_cert_paths
Created December 18, 2013 22:42
Android TrustedCertificateStore.java Cert Paths
String ANDROID_ROOT = System.getenv("ANDROID_ROOT");
String ANDROID_DATA = System.getenv("ANDROID_DATA");
CA_CERTS_DIR_SYSTEM = new File(ANDROID_ROOT + "/etc/security/cacerts");
CA_CERTS_DIR_ADDED = new File(ANDROID_DATA + "/misc/keychain/cacerts-added");
CA_CERTS_DIR_DELETED = new File(ANDROID_DATA + "/misc/keychain/cacerts-removed");