A piggy bank of commands, fixes, succinct reviews, some mini articles and technical opinions from a (mostly) Perl developer.

Developing on Android basics

Initial steps to take:

  • Turn on USB Debug mode
    • Old devices: Settings | Applications | Development | USB debugging (will disable SD card access)
    • New devices: Settings | About phone | Build number | Tap 7 times (yes, really). Dev settings will now appear on the menu.
  • Troubleshooting connection:
    • Verify USB cable works
    • Verify USB port works
    • Re-plug in the cable about 20 times (yes, really)
    • Windows: Run "Android SDK manager" (sdk\tools\android.bat) and install 'Google USB driver' under Extras
    • adb devices # error "???????????? no permissions usb:3-3
      • adb kill-server
      • sudo adb start-server # server must be started as root
      • adb devices
  • ADB Shell commands:

Breaking coder's block

Take a break, go for a walk, anything that doesn't involve thinking about coding.

Just start writing something, anything, the smallest step you can think of, and commit to version control as you go along. Clean up later.

Tell yourself "I am not this coding problem".

Ask a colleague for ideas.

(source, source, source)

How to sync over FTP

Don't re-invent the wheel.

1) Install rsync instead, which is designed with syncing in mind.

2) ftpsync was written a decade ago. Perhaps it has been updated since.

3) lftp syncs over FTP and is being actively maintained.

4) Perl package turbo-ftp-sync may also fit the bill.

Email gateways

I want to write my tweet in an email and have it tweet for me, because I don't like most twitter clients. Email is also available on all devices (like old blackberries) where there aren't good apps.
  • ping.fm - used to work, but it got shut down
  • ifttt.com - couldn't get it to work
  • everything else - closed

List git branches by date and author


if [[ "$1" == "-r" ]]
then
    REMOTE="-r"
else
    REMOTE=""
fi

for k in `git branch $REMOTE | perl -pe s/^..// | sed 's/.\+ -> //'`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset (%cn)" $k|head -n 1`\\t$k; done | sort

Who created an RPM?

You can get a clue by finding out the name of the host on which it was built:

    rpm -pqi foo.rpm

Vector graphics editors for linux

Vector graphics files can be saved as .svg, and stay in high resolution no matter how far you zoom in. The source data is XML/text and can be committed to version control.
  • Gimp - full graphics but no vectors
  • Karbon - vectors
  • Inkscape - vectors
  • SVG Edit - vectors. Basic, but browser-based. Can't zoom out. Things were misaligned.