“Man is drawn between two paths...”

“Man is drawn between two paths: One drags him downwards towards fulfillment of desires and sense gratifications, leading to bondage and destruction; the other guides him upwards towards purity and realization of his inner Self. Desires fog his mind and veil his true Self. It is the mind alone which leads to bondage or to liberation. It is his reason which either controls his mind or allows itself to be dominated.”

~ from the book, Light on Pranayama

Linux: How to get the basename from the full filename

As a quick note today, if you’re ever writing a Linux shell script and need to get the filename from a complete (canonical) directory/file path, you can use the Linux basename command like this:

$ basename /foo/bar/baz/foo.txt

A worthy struggle has its own rewards

Working with yoga is often interesting. You stretch and twist and focus, trying to be very conscious of your movements, and then one day in the middle of a twisting pose you see your left foot coming out from behind your right ear. At first that’s a real surprise, a shock. You think, “Well, that can’t be my foot over there,” and then you realize it is your foot, and with that comes a strong sense of accomplishment, and maybe a little smile.

Then you do the same pose in the opposition direction, but twist and stretch as you might, your right foot doesn’t come out from behind your left ear. You know you can’t push it any more, at least not while doing the pose properly, so you realize there’s a bit of an imbalance. You accept that there’s still more work to do, but it’s a good thing, so you push on.

I think life is like that too, or can be like that. If you enjoy the struggle, if it’s a worthy struggle — a path with heart — the effort comes willingly, and with its own rewards.

The Android “adb shell list files permission denied” error

As a brief note, today I tried to list the files in my Android application, which was running on a physical Android device — a Nexus 9 — with this adb shell command:

adb shell com.alvinalexander.mybrowser ls /data/data/com.alvinalexander.mybrowser

When I did that, I got an Android/ADB “permission denied” error.

The short story is that a solution to this problem is to run the same command, but with the run-as argument, like this:

How to copy the macOS Terminal path to the clipboard

If you want to copy the current macOS Terminal path to the clipboard, you can do it with this simple command:

$ pwd | pbcopy

pwd prints the path to STDOUT, and pbcopy reads that and copies it to the macOS clipboard. Once the path is on the clipboard you can paste it into your other applications.

Of course you can also create an alias, like this:

alias path="pwd | pbcopy"

“The path I have followed has been dangerous”

“The path I have followed has been dangerous, destabilizing more than calm, excruciating more than pleasant, and hard to integrate (into ‘normal’ everyday life). It has also been profound, amazing, and glorious. Surfing the ragged edges of reality has been easier than slowing the thing down.”

~ A quote from the book, Mastering the Core Teachings of the Buddha, by Daniel Ingram.