Android and Linux

Sunday, May 22, 2011

No internet

Ugh, if you move into a newly constructed house, make sure to sort everything early. I ended up moving before the cable was connected, but they were scheduled to do it Saturday. When the tech got everything wired up, he found that my side if the street wasn't tapped into the cable on the main street yet, so it's going to be at least another week until I get cable/internet. I guess everyone else on my side of the street is using satellite or something.

I have at least been able to get a little home automation done. I put rope lights above the kitchen cabinets. When watching a movie in the living room, they provide a very nice faint glow in the background. I can get up and get a drink without turning on any other lights.

I'm temporarily using X10 lamp modules to control them and have a cron job on the computer turn them on at 7am so I have a gentle glow to light my way when I wake up and stumble into the kitchen. I'll probably put in X10 outlets all throughout the house later and I already have several X10 switches that I need to wire in.

Not much else to report. I just wanted to check in. With no internet, I haven't felt like doing anything cool tech-wise. It ain't cool if you can't do it remotely.


Monday, May 9, 2011

Yay, new house.

I closed on the house today and it's been a frustrating ride. The builder had to fix a few things and on the second inspection... nothing had been fixed. Last week, they were working on it and no thanks to a lender that couldn't be bothered to do anything, I had to coordinate with the title company myself to get the closing done, and in the process forgot to do a final inspection.

Oh well, I'm sure they took care of it, right? Nope, I walked in to my new home to find that they still weren't done. But I got the keys and they're going to finish tomorrow and I will move this weekend.

With a brand new house and brand new furniture, I think it's time for some brand new computing power. I'm thinking a couple wifi repeaters, a server in the closet to run X10, storage, maybe even media and an Android tablet as a remote control for everything.

Maybe.

I'll soon be moved and hopefully have something worth blogging.

Monday, April 11, 2011

Light posting

Well, that's not new, I'm not a very prolific blogger, but posting may (or may not) be light for the next month. I'm buying a new house- literally, it just got built- and will be going crazy trying to get everything done and get moved. I'm not sure when I will move, I told someone that I will probably follow the internet. Once the internet gets turned off here and on there, I'm moving that day!

On the plus side, I will finally have an excuse to go nuts with X10. The house has tray ceilings in the living room and master bedroom, so I'm planning to put in some lighting like this which just begs to be controlled with X10 and a dimmer.



Then there's the rest of the house, I'm just itching to go X10 crazy on it.

Anyway, if I don't post much for the next month, don't get alarmed and call Dog The Bounty Hunter to look for me. I'll be around.

Tuesday, April 5, 2011

Get current url from Android browser

I've been using an app called Wave Launcher, which allows you to swipe a certain area of the screen to pop up a launch bar. The launch bar contains 5 icons which you can set up to open an app or shortcut. With Folder Organizer, you can have it open a folder of apps, or, even cooler, a folder full of Tasker tasks.

I wanted to create a Tasker task to open my computer's browser to the same url that my phone's browser is on. I can do this by copying the url and running a task to share it, but that's too much work. After much digging, I found a way to extract the current url from the browser database.
sqlite3 /data/data/com.android.browser/databases/browser.db "SELECT * FROM bookmarks;" | tr '|' '\n' | grep http | tail -n1

If you go to cnn.com on the phone and run that command, the output is http://m.cnn.com/.

Using that, I can make a short script to make it open on my home computer via ssh:

#! /system/bin/sh
url=$(sqlite3 /data/data/com.android.browser/databases/browser.db "SELECT * FROM bookmarks;" | tr '|' '\n' | grep http | tail -n1)
ssh -i /PATH/TO/SSHKEY USER@IP "firefox $url"

If I'm browsing a page on the phone and want to read it on the computer instead, I can swipe Wave Launcher and select the task that runs this command. This will grab the last url visited, so it doesn't matter if the browser is open or closed.

Saturday, April 2, 2011

shell launcher for sl4a scripts

Scripting Layer for Android, or SL4A is an app which allows you to run scripts such as perl and python on your phone. The cool thing about them is that they have full access to Android API calls, unlike the Android command line. But sl4a scripts can be invoked from the command line and here's a script to do it.

Everything from "am" to the end needs to be on one line, but it's too long to post it that way here and I've always found the typical way of splitting lines on the web with a backslash confuses people, so just make sure "am...}" goes on a single line or copy it from the QR code below.

To run it, just execute the script with the name of an sl4a script as an argument. e.g., if you name the script slsh you run "slsh test.py"

#! /system/bin/sh
[ -z "$1" ] && exec echo "please specify the name of a script to run"
am start -a com.googlecode.android_scripting.action.LAUNCH_BACKGROUND_SCRIPT
-n com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher
-e com.googlecode.android_scripting.extra.SCRIPT_PATH /sdcard/sl4a/scripts/${1}

This could give you the ability to do virtually anything on the phone through the command line by invoking sl4a scripts. sl4a would do the hard work, of course, but this gives you a lower level access to it. You could, for example, probably use it to easily ssh into the phone from the computer and send a text message or get the GPS location.

Copy "slsh" to your phone's clipboard with this QR code:

Friday, April 1, 2011

New Tasker Forum

Pent has created a new discussion group called Tasker Pro in response to this thread where people lamented the lack of a good place where people could put their heads together and come up with cool Tasker solutions.

Wednesday, March 30, 2011

wget Android port

I can't take credit for it, but someone ported the real GNU wget utility to Android. I found this many months ago and have kept it on my phone. The wget that came with busybox worked great for a while, but after my upgrade to Cyanogen 7 a couple of weeks ago, I noticed several of my Tasker tasks were failing. I finally figured out that it was due to the busybox wget located in /system/xbin/wget. I deleted it and dropped this into /system/bin and everything started working again.

I uploaded it here in case anyone wants it (and so I don't lose it myself.)

Thanks to whoever originally compiled it for Android!

Followers