Category Archives: opensource

adb install over WiFi!

Quick tip for installing android apk files – On Developer options, enable adb debugging over network. You wouldn’t need to be rooted.

Screenshot_20160110-130303

Use the following simple commands for adb install over WiFi or through an USB connection. WiFi just needs to be on the same network and doesn’t have to be over a Hot Spot between your phone and system.

sudo adb devices

sudo adb connect 192.168.1.107

sudo adb install -r <path to the apk on your PC>

Using -r in the install command will over write any previous installation of the same apk.

Cheers!

Timelapse with Intel Edison

# eddie-timelapse
[The following is pretty much the README of the git hub repository for the code of this project]

Description

This is a small weekend project that I worked on to create a time-lapse video using an off the shelf LogiTech webcam and an Intel Edison board. The Intel Edison platform can trigger camera captures at regular intervals using cron linux utility – Once there is a capture, a nodejs or python program calls Temboo middleware APIs to upload them to Drop box.

Here’s the link to the video that I could get this this. It is pretty rudimentary but you get to know what it fundamentally takes to get a time lapse video.  A lot of patience and perfection :^)

Setup Notes

For Temboo, you will need to install the temboo python or node js SDK on the Intel Edison.  SDK  Setup is pretty simple – Just download the SDK, and unzip it to a directory on the Intel Edison – You can download the SDK from the below links

nodejs - http://temboo.com/sdk/nodejs
python - http://temboo.com/sdk/python

Once the SDK is copied over, clone the https://github.com/ghanashyamprabhu/eddie-timelapse repository. From the repo, Either of the main.js or main.py can be used to trigger captures and calls to Temboo APIs to upload pictures to Dropbox.

3. Drop box and Temboo with OAuth

3.1 Create an App with Drop box

Go to https://www.dropbox.com/developers -> App Console -> Check Dropbox API app On creation of the app, it will show you the AppKey and AppSecret which you will need to note down so that you can use it in the main() function to authenticate connection to Dropbox through Temboo API calls.

3.2 Temboo

Follow the setup instructions to Authorize calls to Drop box via https://temboo.com/library/Library/Dropbox/OAuth/ . Once the InitializeOAuth and FinalizeOAuth Choreos are completed, you will see the ‘callbackID’ and ‘OAuth token secret’ that you can use in the main() function for authentication.

4. Cron Job

To set the interval, we will use cron job. On Intel Edison platform, you can use a utility called cronie to do trigger execution of scripts at a regular interval.

4.1 OPKG Install Cronie

Setup opkg repo – On Edison console, execute the following.

> echo "src all http://repo.opkg.net/edison/repo/all" >> /etc/opkg/base-feeds.conf
> echo "src edison http://repo.opkg.net/edison/repo/edison" >> /etc/opkg/base-feeds.conf
> echo "src core2-32 http://repo.opkg.net/edison/repo/core2-32" >> /etc/opkg/base-feeds.conf
> opkg update
> opkg install cronie

4.2 Cronjob

Use the crontab to setup the job using the following command

> crontab -e

This will open up an editor (possibly via vi) to add in the statement to call the script
I used the following added

*/10 * * * * /usr/bin/python /home/root/sw/temboo/temboo_python_sdk/main.py'

For more information on the cron formatsi and examples, refer
https://wiki.archlinux.org/index.php/Cron#Examples

5. Creating the video

I used avconv to create the video from the images that were uploaded to Dropbox. One of the requirements would be to have a good numbering of the images while creating the image files. I used the time of the hour to create the images, but that wasn’t suiting avconv, so once I downloaded all the images, I ran the following command which will name the files in an incremental fashion, Run it in the directory where you have the files

> ls -ltr | awk 'BEGIN{a=0}{printf "mv %s eddie_%04d.jpg\n", $0, a; a++}' | bash

You can now use avconv linux utility to convert these images into an mp4video.

> avconv -y -r 20 -i eddie_%04d.jpg -r 20 -q:v 3 timelapse.mp4

/Ghanashyam

gmail integration in emacs

i think it is fun to have emacs act as your mail client. its like when u are busy writing code, and you got to send in some snippets or a quick mail on the issue, you just don’t leave the editor!. so here is how you integrate emacs to access your gmail compose. Note, your mails sent from emacs are also stores in the “sent” label on your gmail!

pre-requisites

  1. emacs 23.2
    Use the latest version of emacs, I used emacs23.2 while i made the customization.

    download emacs from http://ftp.gnu.org/gnu/emacs/

  2. gnutls
    gnutls is the gnu transport layer security library which ensures secure client/server communication over the transport layer.

    http://www.gnu.org/software/gnutls/gnutls.html for more info on gnutls

  3. Libgcrypt
    To build gnutls, this package may be required it is provided in the gnutls download link along with gnu tls. One might have to download it separately.

The .authifo File

  1. The authinfo file stores the login information for the mail account. Create the .authinfo file
  2. Insert the following line into the .authinfo file which u can create and place in the ~/. directory

    machine smtp.gmail.com login @gmail.com password

  3. Modify the permissions of the .authinfo file as follows

    chmod go-rwx .authinfo
    chmod u+rw .authinfo

Emacs Init Config (.emacs)

Add this section to your .emacs

;; email setting for my emac
(setq send-mail-function ‘smtpmail-send-it
message-send-mail-function ‘smtpmail-send-it
smtpmail-starttls-credentials
‘((“smtp.gmail.com” 587 nil nil))
smtpmail-auth-credentials
(expand-file-name “~/.authinfo”)
smtpmail-default-smtp-server “smtp.gmail.com”
smtpmail-smtp-server “smtp.gmail.com”
smtpmail-smtp-service 587
smtpmail-debug-info t)

Sending mail
The keybinding for emacs to send mail is

  1. C-x m to compose mail
  2. C-c C-c to send mail when you are done composing the mails

Thanks

Shyam

git quick start guide

i can almost certainly assert that emacs has been the best piece of open source software, for that matter, the best software i have ever used. the reasons are simple.emacs in itself it simple, it just fits the jobs right, it isn’t troublesome and some one some where has foreseen things which you would want in an editor and when you look out for that one thing you miss badly, you find it and it works awesome. alongside emacs, i started using this piece of open source software git.git is a version control software tool and was implemented by linus torvalds. i can almost certainly assert git has been as wonderful as software as emacs. my tryst with version control starts from using a commercial clearcase to an open source cvs, to a seemingly meaning svn to an ideal git. apparently, any piece of open source software is almost always written by geeks for geeks and there is a lot of “meaningful” documentation underneath. and for many of the “just-get-the-job-done” people, i  think, this is the crux of the problem. there is no “next-click-next-click” tool flow. we all grew up playing “space commander” on “windows” you see.

to make things easier, to get as many people use git instead of svn, i thought, i should list down a quick start guide to moving from svn to git. there are numerous amounts of git tutorials on the net which are far more detailed and far more interesting. so this is by no means undermining the effectiveness and the content of all such tutorials. this is not a detailed user guide, it’s just a quick start guide, which lets you start with changing things.

read on. https://docs.google.com/View?id=dkcpzd9_10cgjbpbfj

cheers
shyam