Saturday, February 25, 2012

SSH (that's Secure Shell)

If you use Linux, or any Unix variant, you use SSH.

The most popular ssh client on Android is ConnectBot.  It also offers telnet and local terminal functionality, which saves you the hassle of installing and maintaining a dedicated terminal.  And it supports private keys, allowing you password-less logins; It's got everything an SSH client should have.

Looking at this the other way, SSHDroid lets you run an SSH server on your android device (which is a Linux system after all).  It supports private keys to let you login without password from your trusted PCs.

You'll need a rooted device to listen on port 22, but then you'll probably have to purchase the Pro version since it'll detect that you're using AdFree or have found another way to free your device of annoying ads.  SSHDroid is the only app I've seen that mind not being able to display it's revenue-producing visual pollution.  Or more believably it's developer is the only one that thought about checking...

The SSH client is helpful, especially if you're on call and carry a bluetooth keyboard on your faraway trips instead of a much heavier laptop plus it's costly dedicated cellular modem; but the server can be a revelation as it lets you scp files back and forth in addition to giving you a full console interface (your PC) to work on, or hack, your device.

Wednesday, February 22, 2012

Scientific RPN Calculator

Do you use an RPN calculator?  Or, to be more precise, do you have an HP48 calculator?  If you do, don't waste time and install Droid48.  It's the whole thing, free, on your phone.  Without the famous tactile feedback, but much faster than the original :)

I have a 48SX.  The brown one.  I've had it forever.  And it's the only calculator I'll use.  Problem it, it's big and I never have it on me when I need it.  But thanks to Droid48, I now have my calculator in my pocket all the time, one touch away.

Don't know what RPN means?

It stands for Reverse Polish Notation.  It's stack-based, which means you don't type "2", "+", "2", "=" but rather "2", ENTER, "2", "+".  It might be too late now to learn it and change the way you calculate, which is sad, because once used to it, it's vastly superior to the "simple" way.

Friday, February 17, 2012

Cloud Storage, and why you should care

If you're not in the know, "the could" is a term used to refer to an anonymous mass of computers connected to the Internet.  It usually also implies redundancy, meaning that what's on "the cloud" isn't on a single server somewhere (that's just "the Internet") but it's distributed across a bunch of them.

Your emails, for example, can be on your PC where they'll disappear when your hard disk crash, on an Internet server that probably better backups than you do, or on the cloud where they'll survive you.

There's a lot of services offered on the cloud, but what we're interested in now is storage.  There's a lot of cloud storage providers.  The more useful one is Dropbox.  Why?  First, because it works well on every computer and mobile platform.  And because they give you two gigabytes of free storage.  And let you share folders with other dropbox users.  But more importantly, because many Android apps support backing up and syncing their data on it.

Let's take an example: Epistle.  It's a dead simple notepad.  Open note, write text, close note.  But it supports backup to dropbox, and sync back on start.  So you can access it's folder on your PC and edit files there.  Type whatever's on your mind while you're on the PC, be it a poem, gift ideas, instructions or anything else, then read and edit them on the go from your android.  Pocket does the same with an encrypted file containing your passwords and other personal info.  Titanium Backup (Pro version) can send your apps and data backups to dropbox in case your phone's lost or destroyed.

Once you have created a dropbox account, install the official Dropbox app that'll let you access all the files you've stored on that service.  And all the files and folders other users have shared with you.

Do consider though that while most service providers do their best to protect your data, things in or out of their control can happen.  While what you store there is probably safer than what's on that PC in the living room running and old unpatched version of windows and connected to that misconfigured wireless router, it's not 100% secure either.  Your basic approach should be to store private and confidential information there only if encrypted with strong cryptography.  More on that another day

Tuesday, February 14, 2012

Notifications spam... WTF?

I just got bit by this and suffered through many seconds of intense spiritual discomfort before finding a cure.

There's a new contender for the "Most annoying stuff" award, and it's called AirPush.  There's a few implementations with different names, but that seem to be by what the idea's generally referred.

What this does is push random spam to your notification bar.  That place where you keep an eye to detect missed email, battery status and other useful tidbits gets hijacked by irrelevant crap.

Good news is, there's solutions.  The more obvious one is to figure out what application's guilty and remove it forever.  If you're kind, also take a second to put a one star rating on the market to help other users avoid getting bit.

There's a small app, Airpush Detector, that'll pinpoint the culprit.  It's free, small, and require no permission.  The kind of app that can stay on your phone forever even if you never use it.

If you absolutely must keep the guilty app, there's other less elegant means to protect yourself.  Those include Airblock and Airblocker (for rooted phones) that are supposed to filter the crap.  Or you can try AirPush's Permanent Opt Out, either through their web site or the market app.  But I fear you'll have to do something similar for every company that have it's own name and implementation.

Saturday, February 11, 2012

QR and Barcode scanners

If you're looking for something that you didn't know you needed, bar codes scanners are part of it.

There's two basic types of bar codes:

Standard bar codes are one dimensional codes that you see behind every product you buy.  They encode a short string, often a number, in a linear machine-readable format.

QR, for Quick Response, are 2D codes you now see in magazines, shop windows, web pages, T-Shirts and almost everywhere else.  They can encode much more information and are often used to give URLs or contact info.

Being able to scan those means that when you see something interesting that's got a code, pointing your phone at it will let you instantly open their web page without any typing.

And for linear codes, being able to read them can also bring huge gains... here's an example:  You're in a store and you see that expensive gizmo you've been craving.  Is there a better price online?  Maybe another store around have it on sale?  Just scan it's code and let an app like Google Shopper do the rest!

Scanner apps can offer more or less features.  1D and/or 2D scanning, opening URLs in your browser and adding contacts to your address book, using online services to find products and shop for them, etc.  Some also offer bar code generation, so you can render your contact information or the address of your favorite restaurant on your phone's screen for your friends to scan.

My pick, QR Barcode Scanner offer all of those features in a clean and simple interface.  For some reason, it also scan codes much faster that other similar apps.

Even tough you might not use it often, install it and put a link somewhere easy to reach for those times when it'll come in handy.  You'll be glad you knew about it and had it ready.

Thursday, February 9, 2012

Web browsers

There's a few browsers available for your Android.  The first one being, of course, the default one name "Browser".  I shall call it "webkit".

Others include Firefox, that you already know, Opera, Dolphin and Skyfire.

Let's start by first splitting them into two groups.  There's "standard" browsers, and "mobile-accelerated" browsers.  The latest being Skyfire and the Mini version of the Opera browser.  They're accelerated because most of the browser software isn't running on your device, but on their internet servers.  Those servers perform all of the queries for the pages you want to see and their embedded images, render the resulting page, compress it, then send it to your phone.  This gives a tremendous advantage in two situations: if you have a slow data connection, or if your hardware's older and slower.  In those cases, those two browsers should definitely be on top of your list.  Or rather, Opera Mini should be, since all I've been able to get out of Skyfire is bugs and crashes :(

And what if you've got a modern device with good internet access?

Your choices are the default webkit, Opera, Firefox & Dolphin.

Webkit's decent but have limited functionality.  Less so with the ICS (Android  4) version with it's new features and interesting thumb menus.

Dolphin is a mobile-specific browser, that's feature-full and efficient enough.

Firefox, being the PC version's counterpart, have a well-established name and good performance but it sadly dosen't work as well as it should on Android.

Opera's my favorite.  It's feature-full, the UI's pretty good, and you can enable "turbo" mode which makes it use their internet servers to pre-render your pages and reduce your bandwidth and processing requirement if you want.  It's the browser that better handle zooming and reflowing text on the pages you view, and it's handling of tabs is very good.

One last thing to consider is the browser you use on your PC.  All browsers try to sync your bookmarks and other data between your mobile and PC.  So if you prefer Firefox, Chrome or Opera on your computer, using it's Android counterpart might be the natural and logical thing to do.  Or the other way around... I'd never really used Opera before, but since I use it on Android I started using it on my PC too.

Saturday, February 4, 2012

Got root?

If you're not familiar with Unix, root is the equivalent of the windows administrator account.  If you actually are familiar with Unix, please forgive me for putting it that way :-P

What does that have to do with your phone?  Good question.  Android is based on Linux.  It's a multiuser system, with restricted user accounts and an unrestricted root account.  All applications are "sandboxed" through their user account's privileges, which roughly translates as "use the device, don't mess with it".  And that's good, as you don't want the latest Angry Bird app you installed to wipe your contact data or format your SD card.

But if you're a power user, you may want to do more than just install apps that will fill the screen and play sounds.  Maybe you want to install apps that actually require root privileges to run, like DroidWall or Titanium Backup.  Maybe you want to customize your system beyond what's available in the settings menu, like changing the splash screen, or installing a whole different ROM (that's a copy of the whole OS, that replaces the one provided by your device manufacturer). Or maybe, just being the power user that you are, you want to satisfy your curiosity, look inside those forbidden directories and tune things to your liking.  That device is yours, isn't it?  Why would you be prevented to do as you please with it?

Acquiring root privilege on your android device, or "rooting" it, can be a more or less challenging process depending on your device manufacturer, model, and firmware version.  If you're lucky, it's as simple as downloading an application to your phone, running it and pressing the magic button.  Or you may have to reboot into download mode, replace the kernel (that's the heart of the OS), put your device in debug mode and use PC software to enable the root account through it's USB connection.  And if you're really unlucky, the manufacturer just provided a firmware upgrade that breaks all know rooting methods.  Then you can either wait for some kind hacker to provide a new rooting method for it, or find a way to downgrade to a previous "unsecured" version.

What's the end result?  A new program, called su (for Switch User) controlled by a "SuperUser" application.  When an app wants to break free of it's restriction, it calls su and you'll be prompted by SuperUser to allow or deny access.

From that point on, you're free.  You can mess with your system or replace it altogether.  If you're familar with the Unix shell, you can login and play around.  I strongly advise that your first step be doing a complete backup, using an application such as ROM Manager (if your device's supported).  Then install a "normal" backup app, like Titanium Backup, and start backing up your configurations and applications data.  That way, if things turn for the worst, you'll be able to get back on your feets without pain.  I speak from personal experience here...

Want to know more? Just ask below