How to mount HFS+ drive and ignore permissions

bindfs is the answer. It will take an already mounted file system and provide a view of it with whichever uid you'd like:

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

The same answer is available on this Superuser post too. Of course the "/media/diskFoo" path represents the mount point of the already mounted HFS volume.

External storage permissions in Android (up to KitKat, i.e. 4.4)

A very nice post on how the external storage permission system evolved, where did it get in KitKat and how it is implemented. For the changes in Lollipop read this:

Useful tools for Android development/tinkering

"Here are some development tools useful for working with Android."

How to find secret codes (entered via the dialer) in Android apps

"To find all "Secret Codes", special properties and other hidden phone features and settings, used in the GT-I9300. The secret codes are not so secret, but
are often used to activate and manipulate many settings, such as debug modes, network connections, factory test modes etc. It is an unfortunate choice of
words but we will stick to this definition nonetheless for simplicity, since it is also used in the source code by Samsung and AOS. Do not confuse secret
codes with VSC (Vertical Service Codes), USSD (Unstructured Supplementary Service Data) or other MMI (Man Machine Interface) codes.

Although there are many "standard" codes common to many Samsung phones, they do vary to some extent. This is because their functionality often depend on
the particular hardware, in particular the baseband processor (aka radio, DSP, BP or CP) and the multiplexer chips that switches the various internal USB paths, for example between MHL, BP and AP.

This is an informative reference thread on these features. If you have relevant additional information you'd like to share, please post it here."

How to compile tcpdump for Android 5.* (Lollipop)

The linked github project (chatch/tcpdump-android) contains a shell-script to compile libpcap + tcpdump for ARM based Android devices. However it's a bit outdated, it was never maintained after the initial commits. The source ( for the script is outdated as well. I've taken the time to update the script to the most current libpcap+tcpdump+ndk versions and added Lollipop compatiblity (i.e. PIE support).

Nocache - utility to minimize filesystem caching effects

"The nocache tool tries to minimize the effect an application has on the Linux file system cache. This is done by intercepting the open and close system calls and calling posix_fadvise with the POSIX_FADV_DONTNEED parameter. Because the library remembers which pages (ie., 4K-blocks of the file) were already in file system cache when the file was opened, these will not be marked as "don't need", because other applications might need that, although they are not actively used (think: hot standby). Use case: backup processes that should not interfere with the present state of the cache."

Mawk is the default Awk interpreter in Ubuntu 14.04

And it sux. Sad
Take this eg. ...
% echo '4001966552\n4001966552' | mawk '{sum+=$1; print $1 ", " sum}END{print sum; printf "%lu\n", sum}'
4001966552, 4.00197e+09
4001966552, 8.00393e+09

BusyBox on non-rooted Android devices

On rooted devices you can use the popular BusyBox app to set up BusyBox into /system/xbin and add this path to the default shell path.
On non-rooted devices it's a bit more complicated. Usually you can put your own stuff into /data/local/tmp and this is what I opted to do.

How to get a list of a user's (or channel's) public YouTube videos

The process is quite simple:
  1. Get an API key for the YouTube v3 Data API.
  2. Query the{user_or_channel_name}&key={your_api_key} url and substitute the channel name and api key with the proper values.
  3. Query the{playlist_id}&maxResults=50&key={your_api_key} url and substitute the playlist ID with the ID of the "uploads" playlist (fetched with the prev. query) and your API key. The result will contain max. 50 videos, but if it's so, there'll be a "nextPageToken" value that you can add to the URL in the "pageToken" parameter and request the next 50 videos, etc.

How to resume/continue file transfer over SSH/SCP

To recursively copy a directory's contents, continuing previously interrupted transfers, to/from a remote server via SSH/SCP, use rsync like this:
rsync --partial --progress -avz -e ssh <source> <destination>

where either <source> or <destination> can be a local path (eg. /directory/with/files/) or a remote path (eg.

Syndicate content Syndicate content