Ξ Notes

Recent Notes

Created byvoodooon September 21, 2014 14:54:22
Last update: September 21, 2014 22:29:56

Find out the wireless interface name: # ifconfig I don't know if this helps, but it doesn't hurt: # ifconfig wlan0 up Just to see if wifi works, scan for available wireless networks: # iwlist wlan0 scan Connect (replace SSID with actual id and WIFI_KEY with actual key): # iwconfig wlan0 essid <SSID> key s:<WIFI_KEY> This command failed for me with error: Error for wireless request "Set Encode" (8B2A) : ... The reason being that iwconfig expects a WEP key, but my wifi runs WPA. So, I need to run wpa_supplicant . With no patience to find out how to do it the Ubuntu way, I created a conf file for wpa_supplicant : network={ ssid="example" proto=WPA ... But before running my wpa_supplicant , I...

Created byfreyoon September 09, 2011 11:43:36
Last update: September 09, 2011 11:45:45

When you run automated Android tests with Eclipse or from the command line, you get text output, which isn't good for reporting purposes. If you run a large set of test cases with automated build, the text report isn't very helpful. Fortunately, Android CTS generates test reports in XML with accompanying XSL to make it look nice in a browser. To run your own tests with Android CTS: Download Android CTS Make a new directory MyRepository under android-cts , alongside the existing repository directory. Copy host_config.xml from repository to MyRepository Create directory plans under MyRepository , add a test plan ( MyTests.xml ): <?xml version="1.0" encoding="UTF-8"?> <TestPla... Create directory testcases under MyRepository . Copy TestDeviceSetup.apk from repository/testcases to MyRepository/testcases Under MyRepository/testcases , create a test...

Created byfreyoon September 07, 2011 16:46:14
Last update: September 07, 2011 19:23:00

The Android unit test framework is based on JUnit 3 , not JUnit 4. Test cases have to extend junit.framework.TestCase or a subclass (such as android.test.InstrumentationTestCase ). Tests are identified by public methods whose name starts with test , not methods annotated with @Test (as in JUnit 4). An Android test suite is packaged as an APK, just like the application being tested. To create a test package, first you need to identify the application package it is testing. Google suggests to put the test package source in a directory named tests/ alongside the src/ directory of the main application. At runtime, Android instrumentation loads both the test package and the application under test into the same process. Therefore, the tests can invoke methods on...

Created byfreyoon August 17, 2011 12:29:46
Last update: August 17, 2011 12:29:46

In Android.mk , you can define LOCAL_JARJAR_RULES like this:
LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.t...
and in jarjar-rules.txt define a rule like this:
rule org.bouncycastle.** com.android.@0
The build will change all org.bouncycastle to com.android.org.bouncycastle . Therefore, in your classes which are dependent on the library produced, the import statements should look like:
import com.android.org.bouncycastle...
Help for the jarjar utility (in prebuilt/common/jarjar/ ):
$ java -jar jarjar-1.0rc8.jar
Jar Jar Links - ...

Created byfreyoon June 30, 2011 11:15:48
Last update: June 30, 2011 11:15:48

Install APK with adb :
$ platform-tools/adb install out/target/product/ge...
Error message in logcat:
D/PackageParser( 60): Scanning package: /data/ap...
The error was created by android.content.pm.PackageParser , which compares the android:minSdkVersion and android:targetSdkVersion attributes of the uses-sdk element of AndroidManifest.xml in the APK file against the SDK version of the device or emulator. The SDK version on the device has to be greater than that required by android:minSdkVersion .
In my case, since I built the package with AOSP, the target emulator has to be AOSP also. This is the relavant section in AndroidManifest.xml :
<uses-sdk android:minSdkVersion="AOSP"
...
And the relevant section in android.content.pm.PackageParser :
if (minCode != null) {
if (!minCode.equals(...

Created byDr. Xion March 28, 2011 11:11:33
Last update: March 28, 2011 11:13:21

grep is a versatile command with many variations (grep, egrep, fgrep, then various implementations). It uses a regula expression (regex) pattern to filter input. But then there are basic and extended flavors of regex - leading to even more confusion. And, beware that there are lots of bad examples of regex in the wild... There are two critical questions to ask when you use grep: which grep implementation are you using? what is the flavor of the regex? Here are some examples for gnu grep v2.7: # Find all numbers (no decimal point), basic regex... Use the -o flag to show only the matching part instead of the whole matching line: grep -o -E '\b[0-9]{2}\b' The good thing about the gnu grep is that it...

Created byJameson October 11, 2009 21:15:53
Last update: October 11, 2009 21:19:39

Many techniques for making rounded corners do not work well when the element being rounded is displayed on a background with a different color (or multiple colors).
Example 1: Nifty Cube with JavaScript
<html>
<head>
<base href="http://www.html.i...
Example 2: modx Simple Rounded Corner Box
<html>
<head>
<title>Round Corner</title>
...
Example 3: CSS3 (does not work in IE)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ...
Example 4: This is one that actually works ! The nifty corner technique can be tweaked to be background friendly, although the JavaScript version didn't work for some reason.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ...

Created byDr. Xion September 29, 2008 23:05:12
Last update: September 29, 2008 23:06:16

These variables are set or used by the Unix shell to modify its behavior. Variable Description ENV=file Name of script that gets executed at startup; Usually, ENV=$HOME/.kshrc FCEDIT=file Editor used by fc (fix command) command. If $FCEDIT is not defined, use $EDITOR, otherwise use the default (vi or ed). FPATH=dirs Directories to search for function definitions; undefined functions are set via typeset -fu . FPATH is searched when these functions are first referenced. HISTFILE=file File in which to store command history. Default is $HOME/.sh_history for Korn shell, $HOME/.bash_history for Bash. If not set, history is lost after logout. HISTSIZE=n Max number of commands to keep in history. HOME=dir Home directory; set by login from passwd file. IFS='chars' Internal field separators. Default is space, tab, and...

Created byDr. Xion September 10, 2008 03:37:17
Last update: September 10, 2008 15:48:31

Suppose you have a file with these lines: -- contents of update_contact.sql update co... You can execute this script from the SQL prompt by entering: @update_contact.sql And it would execute fine. Now you get the contents of the script into the SQL buffer by: GET update_contact.sql and use the / command to execute the buffer, you get ORA-00911 invalid character error for the semicolon at the first line. Confusing, right? It turned out that the semicolon is used by SQL*Plus to signify the end of a SQL command. When you enter SQL commands into SQL*Plus, it strips the trailing semicolon before sending the SQL command to the database. But when you import the contents of a file with the GET command, the semicolon is...

Created byDr. Xion May 05, 2007 19:23:39
Last update: May 05, 2007 19:25:11

DOS files end a line with <CR><NL>, Unix files end a line with <NL> only, Mac files end a line with <CR>. When you edit a DOS file on Unix, you see the annoying ^M's at the end of each line. If you edit a Mac file on Windows, there'll be no line breaks - all lines are displayed as one line!
You can use the "e" command to specify the file format:
:e ++ff=dos
which interpretes the line ending acording to the file format specified but does not alter the file.
If you want to change a UNIX file to a DOS file, use this instead:
:set ff=dos
which would change all \n to \r\n.