Oct 18, 2012

Search in Mercurial project

#! /bin/bash
# grep_hg_project.sh
cd $1
hg manifest | xargs grep -nHs -E "$2" | awk -F: '{print  ENVIRON["PWD"]"/"$1":"$2":"$3}'
Usage
~/bin/grep_hg_project.sh `pwd` SomeClassToSearch

API

Django-API-Playground
django-sliver - Lightweight REST API built on top of Django's class-based generic views

Oct 16, 2012

Android

Using Android Debug Bridge (ADB) in Linux

lsusb

adb shell
adb install my.apk

ls -R /data/data/*/databases

sqlite3 /data/data/com.android.providers.contacts/databases/contacts.db
sqlite> .tables
sqlite> .schema people


adb pull /data/data/com.android.providers.contacts/databases/contacts.db

Spring for Android

Kivy

http://python-for-android.readthedocs.org/en/latest/usage/
https://docs.google.com/file/d/0B1WO07-OL50_VDNESDRUaDhXSmM/edit

./distribute.sh -m kivy -d 'dist-kivy'

./build.py --package org.hello.world --name "Hello world" --version 1.0 --dir ~/android/projects//helloworld debug installd

https://github.com/kivy/pyjnius
http://kivy.org/docs/gettingstarted/index.html#doc-examples

keytool -v -list -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android

Oct 15, 2012

How to run Selenium in background in virtual display (Xvfb)

http://en.wikipedia.org/wiki/Xvfb

In the X Window System, Xvfb or X virtual framebuffer is an X11 server that performs all graphical operations in memory, not showing any screen output. From the point of view of the client, it acts exactly like any other server, serving requests and sending events and errors as appropriate. However, no output is shown. This virtual server does not require the computer it is running on to even have a screen or any input device. Only a network layer is necessary.

Xvfb is primarily used for testing

PyVirtualDisplay - a Python wrapper for Xvfb:
#!/usr/bin/env python

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()
http://stackoverflow.com/questions/6183276/how-do-i-run-selenium-in-xvfb

Oct 3, 2012

KISS, YAGNI

KISS (англ. keep it simple, stupid — «не усложняй, тупица» или более вежливый вариант англ. keep it short and simple — «делай короче и проще») — процесс и принцип проектирования, при котором простота системы декларируется в качестве основной цели и/или ценности. За многие годы были отвергнуты разные расшифровки акронима KISS, и есть некоторые сомнения в том, которая из них является оригинальной.Эрик Рэймонд в своей книге The Art of Unix Programming, резюмирует философию Unix как широко используемый принцип KISS.

Принцип «YAGNI» (англ. You Ain't Gonna Need It — «Вам это не понадобится») — процесс и принцип проектирования, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности, — т. е. отказ добавления функциональности, в которой нет непосредственной надобности.