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

Saturday, April 2, 2011

How to build your own laptop

Posted on 9:49 AM by Unknown
Ever wanted to build your own laptop?  What about mod'ing your existing laptop?  These are the kinds of questions that keep me up at night (among others.)  I did a little checking this morning, and with minimal effort I found some really fascinating stuff.  I probably have some advantage based on the fact that I've done my share of maintenance on various laptops, but I think that almost anyone could reasonably do this...

So, what do you need?  I'll do a run-down on the "major components", but I'm really only going to spend much time on the ones that are more difficult to find.

Core components:
  1. Base-kit -- this is, by-far, the hardest piece to find in all of this, and certainly the most critical.  These will typically include the mother board, power-supply, battery, display, keyboard and pointer, as well as all the chassis plastics. This is going to predicate most of your selections below.
  2. Video card -- incidentally, nVidia and Radeon both make some fairly glorious mobile graphics processors.  As such, these are pretty-easy to find on-line.
  3. Hard disk -- your disk space.  Duh!
  4. cd/dvd/bluray drive -- one beauty of building your own is that you don't even have to if you're hard-core, you may not even need such a thing (or you may want to use an external drive), but these are not difficult to find either.
  5. Wireless card -- sometimes these are integrated into the mother board, but a lot of times its a module you have to add.  These are fairly trivial to find on-line.
  6. CPU -- the base-kit is going to predicate which CPU form-factor you can support, but these are easy enough to find on-line.
  7. Memory -- the base-kit, again, is going to predicate type and quantity.
So, lets talk about the base-kit, because there's a lot of variation with these.  While there are some really crap chassis out there, I don't think that's a governing feature; for the most part, your base-kit is getting you two big things: the motherboard and the display.

The display is fairly straight-forward: you want to get the highest resolution display you can, in the size you want.  Unfortunately you need a magic decoder-ring to understand the display-names and how they relate to features and resolution.  There is a Wikipedia page that decodes these code-names and translates them to features.  Since this is bundled in the base-kit, I'd settle on a lesser display if I got a mother board with all the features I wanted.

The motherboard is the pre-eminent component that governs all other aspects of your build.  I'll go so far as to say that the number-one requirement for any mother board is that it support an independent video card... this ensures that you'll not get a crap graphics solution.  Everything else, for the most part, is a balancing act.  You want to get a mother board that support your CPU of choice, as well as the amount of memory you want/need.  After that, all other features come in to play, such as its expansion slots, card-slots, etc.  For my money, the big-three are maximum CPU support, quantity of memory, and support for an independent video card. 

There are some big players in the base-kit market, most notably MSI.  There are some others that provide good info too, such as Directron, but I didn't look at any of the primary suppliers from China, India or Taiwan, so I know there are a LOT more out there. 

Simply put, I think you'll find its not too difficult to scrounge-up the parts, so why not build your own laptop?  I'll tell you why: warranty.  While the majority of your components will come with a 90-day or 1-year warranty, you won't get any sort of extended or 3-year warranty, and as someone who's had four laptops in the last three years, I can tell you that an extended warranty is a good idea if you do a lot of mobile computing -- for me, I've gone through so many laptops because I carry it with me all the time and routinely work at between two and four sites each day -- including putting my laptop in my backpack, putting it in my car, etc... my laptops get a LOT of wear and tear, probably more than the average user.

Anywho, hopefully this is some help.
Read More
Posted in geeekry, hardware, howto, laptop | No comments

Saturday, March 12, 2011

Make images into a movie

Posted on 10:58 AM by Unknown
Boy2 has been making stop-motion videos using Lego mini-figures.  I found a slick little Linux utility to convert a series of images into an AVI.  VERY useful if you then want to use `kdenlive` to add audio to said video, or edit it otherwise. 

mencoder "mf://*.jpg" -o movie.avi -ovc lavc -lavcopts vcodec=mjpeg

At some point, I'll post some of his videos.
Read More
Posted in family, geekery | No comments

Tuesday, February 8, 2011

Confessions

Posted on 1:22 PM by Unknown
I was a bit surprised/amused this morning when I read that there is now an app to assist people with their examination of conscience in preparation for the sacrament of confession... The story from the BBC explains, "Now senior church officials in America have given it their seal of approval, in what is thought to be a first."

That American bishops are on the leading edge of the integration of technology in the Church is somewhat surprising as they don't exactly have the reputation as being techno-evangelists (of either stripe), but I'm glad to see the Church reaching out to people of my generation in ways that don't involve "guitar Masses", or other such "innovations". 

Of course, I'm not about to pull out an iPhone (or any other phone) in the confessional, but if this helps someone then I'm in favor of it... call me old fashioned, but I made my kids learn the Ten Commandments.
Read More
Posted in culture, faith, geekery | No comments

Sunday, January 9, 2011

Latin Vocabulary

Posted on 4:42 PM by Unknown
I've been looking for a Latin vocabulary testing module... that was free... because I'm a cheap-ass.  Well, I couldn't find one.  SO, I wrote a little chunk of code to parse a latin dictionary I found on-line into an XML format suitable for KWordQuiz.  I put it all on-line here if you're interested -- all you'd really need is kwordquiz (which is free) and my kvtml file.  I don't think the dictionary I found was very good, but it was unrestricted by copyright, so I can't complain.

I included the little bit of perl I wrote to mangle the dictionary into XML.  If you're interested.
Read More
Posted in geekery, linguistics | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • 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 ...
  • 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...
  • Thinkpad Edge E530 won't wake up from sleep
    I recently purchased a Thinkpad Edge E530 laptop from Lenovo. I think it is great value. I ordered it with the default 2GB RAM and bumped it...
  • Youth Chess
    Calling all chess geeks in the Sioux Falls area.  Here's the deal: I have, for the past several years, had siouxfallschess.org registere...
  • Taste of New York
    Today, a couple co-workers and I went to Taste of New York (TNY) for lunch. Its a new pizza joint in down-town Sioux Falls. Ordinarily, su...
  • Volume normalization of audio track in MP4 video files
    I am currently looking at how to "normalize" the volume of various video files without recompression, and documenting my findings ...
  • 110GB+ worth of photos/videos on a microSD memory card #1
    We have a family NAS where we keep all kinds of stuff. Well, actually it's an old laptop that functions as a server, with 3 x 3TB extern...
  • 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...
  • LastPass
    If you haven't switched over to LastPass, you need to, and NOW.  This is the coolest password manager I've ever seen.
  • Ubuntu 8.10 64-bit on an HP nx9420
    I had been delaying loading a 64-bit disto on my nx9420 since I wasn't entirely sure it would be kosher, but yesterday I had some time o...

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)
    • ►  July (6)
    • ►  June (2)
  • ►  2012 (25)
    • ►  December (2)
    • ►  November (4)
    • ►  October (4)
    • ►  September (1)
    • ►  June (11)
    • ►  May (3)
  • ▼  2011 (11)
    • ▼  December (1)
      • viva la xsnow!
    • ►  September (2)
      • Gingerbread 2.3.6 on Nexus One and Link2SD
      • Freeing up phone storage with Link2SD
    • ►  August (1)
      • Something to be aware of when booking with Jetstar
    • ►  July (3)
      • Using "pm setInstallLocation" to free up phone sto...
      • How to check "Phone storage" usage?
      • Why do I get "Phone storage low" warnings on my An...
    • ►  April (1)
      • How to build your own laptop
    • ►  March (1)
      • Make images into a movie
    • ►  February (1)
      • Confessions
    • ►  January (1)
      • Latin Vocabulary
  • ►  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