Android NavigationDrawer with Sliding Tabs

Both the NavigationDrawer and NavigationTabs are great for allowing a user to navigate your app. There are times that you may need to use them in conjunction and possible. However, you can not use the ActionBar Navigation Drawer and ActionBar Navigation Tabs together. In order to use tabs, you must implement them manually in your fagments. 


Backing Up with NFS and rsync

Assumptions & Prerequisites

  • Fresh install of RedHat/CentOS/Fedora on the server
  • minimal install profile
  • Security is not taken into account


A system running RedHat/CentOS/Fedora, but any Linux distribution will work with the proper modifications. Just to get something up and running, I did a minimal install of CentOS 6.4. The CentOS server will have a partition mounted at /mnt/backup which will be shared via NFS.

Android Parcelable Objects

If you need to pass data from one Intent to another, you need to use Bundles. Passing basic data types such as int, boolean, byte, byte arrays, etc are easily accomplished by calling their respective method; putBoolean() for example. You can even pass ArrayLists, but only if the ArrayList contains basic data types. In the event that you want to pass an ArrayList containing objects of a custom class, you must implement Parcelable on that class. Looking at the PhoneNumber class:

Android SQLite Database

For my number blocker application, I needed a way to save numbers that are to be blocked and would remain if the phone was rebooted or the application closed. To do this, I chose to store the information in a SQLite database. The first thing I needed to do was define a class that held information for each number in the databse, which can also be reused through out the application.

Reading Android's Call Log

I'm currently working on an application that allows a person to block phone numbers whether it be an actual phone call or a SMS/MMS message. One of the features of this app is the ability to retrieve all the incoming and outgoing calls then compiling a list. From that list a user can select a number and black list it. 


In order to read the call log, you must specify the android.permission.READ_CONTACTS in your AndroidManifest.xml file:

Drupal Custom Forms with AHAH

I was assigned a project in which users are able to register for a sleepover. One of the requirements of the form is that a user must be able to enter multiple chaperones and children. Instead of providing 20 or so fields right off the bat for both chaperones and children, the user would be able to dynamically add one at a type without having the page reload each time. To accomplish this with Drupal, the use of Asynchronous HTML and HTTP (AHAH) is required. Unlike AJAX, AHAH returns HTML elements to be injected directly into the DOM opposed to receiving XML and parsing the response.

Recovering a Large Corrupt BZip2

Out of the blue last month, my AMCC (LSI) 3Ware 9650SE failed. Before I continue, I want to assure you that I did have a back up, albeit a few months old, but a backup nonetheless. Luckily, I was able to purchase the same model RAID card to replace the faulty one. After installing and rebuilding the RAID I found that some files were corrupted. So I pulled the backup, and compared the backup files with the current version: