Saturday, February 26, 2011

Void your warranty and root your CM Magnum HD at the same time

This is basically a repost of Takahiro Sonogi's post over at PHAC. He posted a way to root your Cherry Mobile Magnum HD which is also known as Viewsonic ViewPad 4 and Huawei Ideos X6 (also known as Huawei U9000).

There a lot of reasons to root your Magnum HD, one of them is to void your warranty. The other good reasons are:
  1. To install custom ROMs. The problem is just that the device is so brand spanking new that there are no custom roms...yet.
  2. To turn it into a target dev device. Which is my reason. It just sucks writing code that needs access to some /system binaries and get cock blocked because its not rooted.
  3. Its Friday night and got nothing to do. Ok I made this one up.
In any case, I'm telling you again ROOTING YOUR CM MAGNUM VOIDS THE WARRANTY. I want to be clear about that.

Now if you are one of those Windows GUI babies and doesn't know his way around CMD or DOS you are way over your head. Stop what you are doing because YOU MIGHT BRICK YOUR PHONE AND I WILL LAUGH AT YOU. You heard me, if you screw this one up and blame me, I. WILL. LAUGH. AT. YOU.

If you haven't changed the webpage then download and install the Android SDK.

Here are steps to root your CM Magnum HD

adb devices
  1. Take your Magnum and plug it in into your PC and make sure it is recognized by ADB. Run ADB from the command line and type adb devices. If there are no devices, then you need to install something like a USB device driver. There should be on with your phone. Whatever the case you are looking for something like the screen shot on the right;
  2. Then download something called rageagainstthecage. Unpack it and put it somewhere where you can get to it from the command line. 
  3. Copy the rageagainstthecage-arm5.bin to /data/local/tmp folder on the device:
    adb push rageagainstthecage-arm5.bin /data/local/tmp
    adb shell
  4. Now do a CHMOD and run it:
    chmod 755 /data/local/tmp/rageagainstthecage-arm5.bin
  5. Get a copy of Superuser (SU) and busybox. Now unpack it. Do the following:
    mount -o remount,rw /dev/block/mtdblock3 /system

    adb push su /system/xbin
    adb push busybox /system/xbin
    adb push Superuser.apk /system/app
    adb shell

    chown 0.0 /system/xbin/su
    chmod 6755 /system/xbin/su
    chmod 755 /system/xbin/busybox
    chmod 644 /system/app/Superuser.apk

    ln -s /system/xbin/su /system/bin/su
  6. Reboot and redo step 1. Once you get your PC to recognize your phone do the last step.
  7. Got root?
  8. And for the moment of truth, if you haven't bricked your phone yet, time to see if we really have root access. Refer to the screen shot. You are looking for the "#" symbol. You might have to accept a prompt from your phone.
If you got this far, congratulations. You just voided your phone's warranty and rooted your Magnum HD at the same time.


      Tuesday, February 22, 2011

      Screencaps from my new phone

      So, I got a new phone yesterday. I decide to get something that sweet and Android. Sweet! I had to drag my resident Android ph33rk to come with me when I decided to get this phone. It's always nice to have someone who knows his stuff to help buy, well...stuff. So a shout out to Aryan Limyap.

      "BAI, Don't hate." ;-)

      So what phone Did I get? I got the Cherry Mobile Magnum HD. And anyone who said shit about Cherry Mobile either doesn't own one or doesn't know crap about buying a smart phone.

      The price is steep but not that painfully when you think about getting a Galaxy5 or HTC Desire at 30k. That's at least a 10-12k different. On a side note, the CM Magnum HD specs kicks the Galaxy5 and HTC  Desire specs in the ass.

      I paid 20k for mine because I had to get a 16G MicroSD card. I am also thinking of shelling out a couple more hundred buck to get a quality screen protector and case for it.

      Yeah, I know you might hate me right now. Especially, my sister who is one of those rabid and lunatic Apple users. I love you ngit but "heck no, I ain't getting no IPhone."

      Here are more screens:

      phone screencaps

      Sunday, February 20, 2011

      Springing DAO: Spring + Hibernate (Part 1)

      So now that I have a rough idea I could get this puppy to code. We are winging it after all. Then again, software development is really like this. Hey, I have made projects with even less.But lets got get ahead of ourselves. Before we write anything, we have to deal with the database design.

      Now about the database, I am using the MySQL that comes with XAMPP. Its free for the download and it already comes with phpmyadmin. I know I can do this "old school" and go command line but who needs that aggravation. Masochism isn't really my thing.

      Using phpmyadmin, here is the schema.
      Figure 1 Our project database schema

      *Now if you say this can't be done just by using phpmyadmin alone then apparently you are using it wrong.

      The design is quite straight-forward. There are four primary tables:
      1. User Table - contains the log-in and password recovery data. Its support tables of role and user_detail is quite easy to figure out.
      2. Request Table - handles all the request generated by the users. It should be noted that creating a request doesn't mean you automatically have an "approved" avr reservation.
      3. AVR table - contains the available AV rooms that can be reserved. The "isAvailable" flag is used if the AVR can be reserved and is not under repair or something.
      4. Status table - it tracks the state of the request. If you can recall in my previous post, the flow chart logic is on this table. On a side note, the "set_by" field should be linked to the user table via a foreign key.You should be able to figure that one out.
      Stay tune for part 2 when we actually starting writing code.

      Saturday, February 5, 2011

      What exactly are we up to?

      First thing first. We have to agree on a couple of points:
      • I will be using Netbeans for this - you could use Eclipse if you want.
      • We will be using MySQL
      • We are going to make a web application using Vaadin
      So to start off by setting up our environment. What we are going to need are:
      Download it, copy it off someone whatever. The sooner you get the stuff into your dev machine the sooner we can talk about what exactly are we up to?

      Figure 1.0 Installing the Netbeans Vaadin plugin

      Have it? Installed it? Good.

      What we are going to build/make/develop is a facility-reservation system. So what exactly will our "FRS" application be doing? Here are our requirements:
      • All reservations must be submitted and processed online
      • Must have AAA type security
      • Granular user permission system
      • Resolve scheduling conflicts
      • Track histories like facility usage, request status, room schedules, etc.
      • Have a basic set of reports (exportable to PDF)
      Figure 1.1 FRS Flow Chart
      Our FRS web application is not that complicated. Take a look at the flowchart. A request is made. The request data is quite simple. It contains the facility being requested, when its to be used, how long its to be used and for what purpose. The request is of course submitted by a user authenticated by the web application. Anonymous users can't submit make a reservation request. The request is then evaluated by someone with higher privileges say an administrator. The request is then either disapproved, approved or rescheduled (or  reallocated). The request once approved does not end the cycle. It only ends when the request is carried out. This is done by a different role or class of user.

      We will talk about the database design later in this series.