RandomSequence

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Saturday, December 10, 2011

viva la xsnow!

Posted on 4:24 PM by Unknown
In the late 1990's, my friend Doug introduced me to `xsnow`, its a simple little program that makes it snow on your desktop.  Ever since, around Christmas time, I have waxed nostalgic and run `xsnow` in honor of the on-set of winter and Advent.  I was surprised this year when I ran `apt-get install xsnow` and was bluntly told that there was no installation candidate for xsnow! 

I did a little digging and discovered that `xsnow` is still in the source repository!  w00t!  Unfortunately, it's VERY infrequent that I actually build a package from source, so I had to  do a bit of reading to help me do it.  I figured, if I had to look it up, it might be of value to others if I provided the synopsis of how to build the package.

First, make sure your /etc/apt/sources.list file includes the following:

cjs@hp8540w:~$ cat /etc/apt/sources.list | grep deb-src
deb-src http://http.us.debian.org/debian stable main contrib non-free

Next, run `apt-get update` followed by `apt-cache showsrc xsnow | grep Build-Depends`, which will reveal:

Build-Depends: debhelper (>= 7), dpatch (>= 2), libx11-dev, libxext-dev, libxpm-dev, libxt-dev, xutils-dev

Now you'll need to make sure these dependencies are installed, with `apt-get install debhelper dpatch libx11-dev libxext-dev libxpm-dev libxt-dev xutils-dev`. 

Now you should be ready to build from source.  You build the source via `apt-get -b source xsnow`.  This will build a .deb and dump it in /var/cache/apt/archives.

You can install the .deb via `dpkg -i /var/cache/apt/archives/xsnow*.deb`. 

Note: I had to build from source because in Sid there's only an i386 binary for xsnow.  If you're running Sid on a 32-bit x86 box, you should just be able to do an `apt-get install xsnow`, provided you have the non-free repositories in your apt sources.list. 

You can run xsnow from an `xterm` OR, whatever means of launching you prefer (e.g. synapse or gnome-do, etc.)
Read More
Posted in geekery, howto, linux | No comments

Saturday, September 24, 2011

Gingerbread 2.3.6 on Nexus One and Link2SD

Posted on 12:23 AM by Unknown
Just got an OTA update on my Nexus One for Gingerbread 2.3.6. Reboot to install. Oops, what's that? Lost my root. No problem. Reboot into recovery and reinstalled su.zip.

Oops, what's that again? Link2SD gave a mount warning and requested a quick reboot. After the quick reboot, the warning was gone and all linked apps were working well, but I don't relish having to reboot twice every time from now on!

After some mucking around, here's how to fix it. I had to uninstall Link2SD, reinstall it, run and select the filesystem type of the second partition, then reboot. This reinstalls the mount script correctly in the new ROM and everything works fine after that.
Read More
Posted in android, link2sd | No comments

Thursday, September 22, 2011

Freeing up phone storage with Link2SD

Posted on 6:56 AM by Unknown
Another more powerful way of freeing up phone storage is with Link2SD. Using this method requires you to have a rooted phone. If you don't, either root your phone or there isn't really much else you can do.

The idea behind Link2SD is simple. Remember Android is basically a modified version of Linux and the application files resides in /data (where '/' , or the root directory, is your phone storage). When more and more files are created in /data, your phone storage is slowly eaten up and very soon you will see the "Phone storage low" warning.

Link2SD lets you move some of the files in /data to the SD storage but retain a pointer or symbolic link in /data. This is a legitimate filesystem sleight-of-hand that retains the directory structure that Android expects, but with the bulk of the data moved to the SD card.

For example, after moving Angry Bird using Link2SD, the affected files are:

/data/app/com.rovio.angrybirds-1.apk -> /data/sdext2/com.rovio.angrybirds-1.apk
 

/data/data/com.rovio.angrybirds/lib/libangrybirds.so -> /data/sdext2/data/com.rovio.angrybirds/lib/libangrybirds.so
 

/data/dalvik-cache/data@app@com.rovio.angrybirds-1.apk@classes.dex -> /data/sdext2/dalvik-cache/data@app@com.rovio.angrybirds-1.apk@classes.dex

As you can see, the symbolic links point to a special partition on the SD card that is mounted as /data/sdext2.

Installing Link2SD is very simple. Before installing, create a second partition on your SD card. You can use a non-destructive partition manipulation tool such as MiniTool Partition Wizard to create the second partition. Depending on your needs, a partition size of 512MB to 1024MB should be sufficient. You can always increase the partition size later if necessary.

Now find Link2SD on the market and install it. After installation, reboot your phone. This will allow Link2SD to mount the partition. Now you are ready to use Link2SD. Launching Link2SD will bring you to a list of all the applications on your phone:


From there, you can choose which apps to link to the SD card. Apps which are already moved using Froyo's native A2SD method cannot be moved. You need to move them back to phone storage before you can run Link2SD on them.

I find a couple of menu functions rather useful. Under "Filter", you can choose to see only those apps that have not been linked ("Not Linked User"). Sorting that list in decreasing order of "Apk+Dex+Lib Size" using the "Sort" function will give you the top candidates for linking to the SD card (i.e. those apps that are using the most phone storage).

I also like to use Link2SD exclusively, so by using Move2SD Enabler to set the default installation location to "Internal", I don't have to deal with Froyo's A2SD mechanism again. You can also enable the "Auto link" function under Link2SD's "Settings", which will automatically link any newly installed app to the SD card. However, I did not enable this because I like to have more control over which apps I link to the SD card. Also remember that you should not link widgets, input methods, live wallpapers etc. to the SD card.

The limitation with Link2SD is that you cannot link system apps to the SD card. However, the author is working on this and this should be possible in a future release. Also, a future version may allow you to disable A2SD directly without using another app.

In summary, Link2SD is a pretty powerful tool for freeing up phone storage by linking application files to the SD card. You get a nice GUI for linking/unlinking application files, fine-grained control over which files to link (apk, dalvik cache, library files) if you wish, a set-and-forget option to automatically link applications to the SD card. All you need is a rooted phone, a few minutes to create a second partition on your SD card, and a few more minutes to install Link2SD, reboot and do a bit of linking. With minimal effort, you should never have to see the "Phone storage low" warning again.
Read More
Posted in android, link2sd | No comments

Sunday, August 7, 2011

Something to be aware of when booking with Jetstar

Posted on 9:54 PM by Unknown
This is my personal experience with Jetstar, but it might apply to other low budget airlines as well.

During the checkout process, after you enter your PayPal or credit card details and enter "Submit", if you encounter a timeout error or any other error, DO NOT TRY AGAIN! Call the airline to confirm if the order has been placed or not, or you may be left with a duplicate booking.

Now if you end up with a duplicate booking, you can always call up the airline and get them to refund one of them. But the refund can take a looooonnnnng time. In my case, it took 1 month for them to approve the refund, and another week for the money to be refunded.

I guess I was lucky to get my money back. Some people weren't so lucky.

And did you know that 50% of Jetstar profit comes from people who buy a ticket and don't fly? I wonder what percentage of that is non-refunded duplicate booking?
Read More
Posted in travel | No comments

Sunday, July 24, 2011

Using "pm setInstallLocation" to free up phone storage

Posted on 8:09 AM by Unknown
If you are running Android 2.2 and above, there is a simple way to free up more phone storage without rooting the device.

First you need to download and install the Android SDK. Now this is not as scary as it sounds. It is actually a pretty standard installer, and it will come it handy later if you plan on doing more hacking on your Android device. The reason for installing the Android SDK is to use a command-line utility in the SDK called "adb".

Next you need to download and install the USB driver for your device. If you using an Android device from one of the major manufacturers, this page should help you locate the driver.

Now select "Settings" on your Android device, then "Applications", then "Development", then make sure "USB debugging" is checked. After you have done that, plug the device into the USB port on your computer and make sure all necessary drivers are properly installed.

Open a command prompt and "cd" to the Android SDK folder. Then type "adb devices":

> cd \android-sdk-windows\platform-tools
> adb devices

You should see your device in the list of attached devices. If not, the USB driver for your device is not properly installed.

Now, issue this command:

> adb shell pm setInstallLocation 2

This lets you move applications that do not have A2SD support to external storage. The usual caveats apply i.e. you should not attempt to move widgets, input methods, live wallpapers etc. to the SD card. And system apps like Google Map etc. cannot be moved. But otherwise, eveything else is game, and you can free up quite a bit of phone storage by moving previously unmovable apps. In addition, every app you install from now on will go automatically to external storage (some of which you may have to manually move back to phone storage).

The nice thing about this method is you can easily revert the changes by issuing:

> adb shell pm setInstallLocation 0

The permissible values are:

0 - auto (default; OS decides where to install)
1 - force internal (forces apps to install on phone storage)
2 - force external (forces apps to install on external storage)

In fact, if your phone is already rooted, there is a free app called Move2SD Enabler in the market that does this in a nice GUI.

The limitation to this approach is that you are constrained by what you can move. Android's native A2SD only move application files, not library and data files, so some phone storage will still be used. However, for most users, this approach should free up enough phone storage with a minimum of fuss and complexity.
Read More
Posted in android | No comments

Thursday, July 21, 2011

How to check "Phone storage" usage?

Posted on 5:34 AM by Unknown
If you are getting the "Phone storage low" warning from your Android device, the easiest way to find out how much phone storage is left and what is taking up all that space is to use DiskUsage.

When you first run it, it will ask if you want to view "App Storage", or "Storage Card". Select "App Storage", and it will scan and display a simple but effective visualization of your phone storage.


The above is a visualization of my Nexus One phone. It shows that I have 196.2MB internal storage, of which 13.6MB is taken up by system data, 140MB is taken up by applications, and I have 42.7MB free. When the free space reaches 10+MB, you will start getting "Phone storage low" warnings.

A click on the second or third columns lets you zoom into further so that you can explore the storage utilization of the various applications:


This shows you the applications that are taking up the most storage. So they should be the first ones to target when trying to increase the amount of free phone storage.
Read More
Posted in android | No comments

Tuesday, July 19, 2011

Why do I get "Phone storage low" warnings on my Android device?

Posted on 2:30 PM by Unknown
On an Android device, there is internal storage and external storage.

Internal storage is non-volatile NAND memory built into the device itself. It is also referred to as "ROM" on some spec sheets. Think of it as the "C:" drive on the PC where the Windows OS is located, and all other applications are installed. As such, not all internal storage is freely available to the user. After accounting for the system files (i.e. Windows OS), only the remainder can be used by applications. This free space is known as "Application storage" or "Phone storage". For example, the Google Nexus One has 512MB internal storage, but only 190MB phone storage.

External storage is the microSD card that you plug into the device. This can be as large as 32GB on most devices.

The "Phone storage low" warning occurs because earlier Android devices typically come with very low internal memory (192MB~512MB). Every application (and the data it creates) goes into phone storage and very soon it gets filled up, even though the external storage is practically untouched.

From Android 2.2 (Froyo), an application can write to a new API (A2SD) to let the OS move parts of it to external storage. However only parts of the application is moved, leaving substantial portions of it (libraries, data, cache) in phone storage. So over time, phone storage still gets clogged up.

The Apple iPhone decidedly does not have this problem because it comes with large internal storage (and does not support external memory cards anyway). With the latest Android devices (eg. Nexus S), Google seems to be moving in this direction as well. With 8 or 16GB of internal storage, phone storage low warnings should be a thing of the past.

For older devices, there are a few workarounds which I will explore in later posts. They range from the simplest (running a simple command) to the most difficult (flashing a custom ROM). Alas, from a user's point of view, these workarounds do not help achieve the holy grail, which is fully automatic and transparent storage management. But they will have to do for those of us struggling with low phone storage.
Read More
Posted in android | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • 110GB+ worth of photos/videos on a microSD memory card #2
    In my previous post, I talked about wanting to write a script to see how far I can squeeze 110GB worth of media (photos and videos). I wrote...
  • Looking for the perfect car MP3 player/FM transmitter
    I have bought quite a number of car MP3 player/FM transmitters from DealExtreme and other similar websites. A car MP3 player/FM transmitter...
  • Freeing up phone storage with Link2SD
    Another more powerful way of freeing up phone storage is with Link2SD . Using this method requires you to have a rooted phone. If you don...
  • Children - The ultimate test in anger management
    Having just spent two full holiday weeks with my kids, it occurred to me this morning that raising young children is the ultimate test in an...
  • Coding the Liturgical Calendar
    For a long time, I've wanted to integrate the Roman Breviary into a couple of projects (nothing public) but have never been able to find...
  • Ubuntu: WebDAV + DAVfs2 + FUSE == Thunar Goodness
    One of the corner-stones of any *nix utility is that it should do a simple job and do it well. Every piece of software that I can think of ...
  • pyScout - threaded port scanner with heuristic protocol identification
    In 2007, while attending a training event in Chicago, NYC, or Washington D.C., (my memory is fuzzy as to which), I began to learn Python.  I...
  • Fast Diet - Hunger Pangs
    When I am doing the Fast Diet , I frequently experience long periods of calm after a brief period of hunger pangs. It is as if the body has ...
  • Brother HL-2132 - Lousy Yield on the Starter Toner Cartridge and How to Work Around it
    I bought a Brother HL-2132 mono laser printer from Offceworks recently. Like almost all printers these days, it came with a "starter...
  • console-kit-daemon
    Periodically, I pop-open `htop` and see a slug of threads for `console-kit-daemon`. I've tried to find what the heck this thing does, a...

Categories

  • a2dp
  • administrata
  • android
  • antivirus
  • avi
  • bluetooth
  • chrome
  • coding
  • culture
  • dos
  • eee
  • faith
  • family
  • fastdiet
  • firefox
  • gadgets
  • geeekry
  • geekery
  • hardware
  • homeschooling
  • howto
  • java
  • laptop
  • life and the universe
  • linguistics
  • link2sd
  • linux
  • migration
  • mp4
  • pdf
  • politics
  • printer
  • roomba
  • security
  • soapbox
  • software
  • transcode
  • travel
  • ubuntu
  • video
  • virtualization
  • webapps
  • windows

Blog Archive

  • ▼  2013 (11)
    • ▼  August (3)
      • 110GB+ worth of photos/videos on a microSD memory ...
      • 110GB+ worth of photos/videos on a microSD memory ...
      • Coding the Liturgical Calendar
    • ►  July (6)
    • ►  June (2)
  • ►  2012 (25)
    • ►  December (2)
    • ►  November (4)
    • ►  October (4)
    • ►  September (1)
    • ►  June (11)
    • ►  May (3)
  • ►  2011 (11)
    • ►  December (1)
    • ►  September (2)
    • ►  August (1)
    • ►  July (3)
    • ►  April (1)
    • ►  March (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2010 (10)
    • ►  December (2)
    • ►  October (1)
    • ►  September (1)
    • ►  August (2)
    • ►  July (1)
    • ►  May (1)
    • ►  March (1)
    • ►  February (1)
  • ►  2009 (29)
    • ►  December (2)
    • ►  November (2)
    • ►  September (1)
    • ►  August (3)
    • ►  July (2)
    • ►  June (5)
    • ►  May (2)
    • ►  April (2)
    • ►  March (6)
    • ►  February (3)
    • ►  January (1)
  • ►  2008 (57)
    • ►  November (2)
    • ►  October (4)
    • ►  September (1)
    • ►  July (8)
    • ►  June (3)
    • ►  May (8)
    • ►  April (12)
    • ►  March (6)
    • ►  February (8)
    • ►  January (5)
Powered by Blogger.

About Me

Unknown
View my complete profile