10/12/2014

Nexus 5, map bluetooth control to camera app, zoom and shutter

A small Bluetooth shutter release can pair with Android and send button or key scan codes to a camera app.

Camera apps may come preconfigured to listen for scancodes that map to special Android Keycode_Events.

Like "Camera" or "ZoomIn" or they may not. Some camera apps permit settings to redefine the purpose of certain scancodes it receives from the operating system.. Like the scancodes for the Volume keys VolumeUp and VolumeDown.

These can be repurposed as ZoomUp and ZoomDown.

The task then becomes discovering the scancodes being sent by the Bluetooth remote, and configuring the app to use the keycode_events for VolumeUp and VolumeDown as Zoom controls.

First listen for scancodes and map them into key code_events... Root access is needed.

Then an app like Enhanced Keyboard Helper need to be installed to perform the mapping.

Finally a suitable Camera app like Camera FV-5 needs to be installed an its ViewFinder controls configure to respond to Volume controls.

Nexus 5, mounting a 1 TB external NTFS hdd read/write

It might come as no surprise the Google Nexus 5 phone can power and mount a 1 Terabyte WD hdd over its OTG USB port.  But


Paragon Software has also released a free APK for read/write access to existing NTFS and HFS+ partitions. This makes it possible to mount drives formatted on Windows or OSX computers directly on the device. The only barrier of entry is the filesystem auto-mounter needs to have root access to the phone.
 
NTFS & HFS+ for Android
 

Be sure to backup your data if you choose to root your phone, and consider installing an app to grant and deny root privileges to apps as needed. This is to preserve the secure access rights for only those apps that need root access.

The same 32 bit file size limits will apply at 2 GB, but the partition volume limits should be 2 TB, so mounting the entire space as one partition is possible. It might be hard to see but the NTFS auto-mounter in the preceding picture says 931.5 GB of space is now available to the phone.



I used Helium to backup my phone, but be aware it doesn't backup system preferences or any generic data that isn't directly associated with an app laying around in the file system.

Contrary to popular opinion, Helium "will" backup to a PC and restore from a PC over WiFi.

Once the Helium app is installed on the phone and the latest USB drivers from Google are installed on the desktop and the phone is set to PTP not MTP [Settings][Storage][Options][USB computer connection] > [Camera (PTP)].  The Helium desktop application will grant the Helium app on the phone developer rights to access not only the apps but their associated data for backup.

Though you might want to switch back to [Media device (MTP)] so that the phone appears as a USB storage device to your computer to copy things not associated with apps for a 'file' backup after the 'app + data' backup.

Ironically a good reason to root your phone is so that you can then perform a complete 'developers' type backup using something in a boot recovery environment, like TWRP or CWM using Nandroid that includes everything without performing multiple 'types' of 'split purpose' backups.

Additional things to consider when installing Helium so that it can backup both apps and data, is you will need to enable the developer 'menu' in settings by repeatedly tapping on the [About] menu until it makes the [ { } Developers ] menu appear to offer turning on [ USB debugging ]. This is the channel through which extra privileges will be granted to Helium for backing up the phone.

Normally the 'sandbox' security between apps and their app data, prevents one app from 'seeing' the data of another app.. so for the Helium backup app to work on the phone, it needs permission, which the USB connected Android Developer application on the Desktop 'grants'.

Backups are always good to take, but when 'rooting' .. for Personal Security sake.. before allowing 'rooting' the phone will [wipe] all personal data from the phone. If you don't have a backup to restore after the [wipe] the data will be gone.

When using the Helium app on the phone the App Options menu (upper right corner, vertical dots) offers [PC Download].

[PC Download] starts a webserver on the "phone" and presents a URL where the website can be reached by an ordinary browser on a PC connected to the WiFi network the phone is currently attached to, for example [ http://192.168.2.187:5000/ ]

Traveling there with a browser will present a web application in the browser for choosing and starting a backup of [apps and their data] or [app data (only)] keep in mind this does not include the System settings and is not a 'Total' backup. Any files uploaded to folders on the phone file system that are not app owned or created will not be backed up. To backup those files, you will need to switch back to MTP mode and access the phone as if it were an external flash or hard drive over USB and copy the files to your PC.

Helium backups can take quite a few minutes, the result is a .Zip file in the PC web browser [Downloads] folder on the PC.

The same process can be used to [Upload] a backup file for a Restoring Apps and their data to the phone, after it is "rooted".

The single biggest data risk, is that a user unaware or unaccustomed to backing up their phone data, will rush to root their phone and discover all of their data gone with no means to recover.

With a proper backup recovery plan, the next obstacle is that a freshly "rooted" phone will need much of a users attention to "recustomize" it since it has been "Reset" back to factory defaults.

Best practice is to probably "root" your phone early, if you think you might root it in the future, decide upon a backup strategy and be prepared to execute a recovery of personal data, and to re-personalize the phone after it is rooted. Since a "fresh" phone will have few differences from the factory defaults, it will require less labor while it is "fresh" than months after it has been in use.

Justifying this "procedure" may on the surface seem difficult, but there are legitimate reasons for needing access to large storage space when faced with no Internet or Network access.

Photographers and various types of people who generate or need access to historical data on-demand would find this particularly useful in the field.









10/01/2014

MySQL, format output to no-wrap


The MySQL client defaults to  stdout. If the pager ENV is set to a command with arguments it will forward the results to that command and return after it exits. The following example will truncate the columns of output to match the size of the terminal screen, the PuTTY window was resized after each query to demonstrate the effect:

mysql> pager cut -c -$COLUMNS
PAGER set to 'cut -c -$COLUMNS'





This can also be placed in ~/.my.cnf

[mysql]
pager=
cut -c -$COLUMNS