Showing posts with label mobile. Show all posts
Showing posts with label mobile. Show all posts

Tuesday, October 23, 2012

Debian Kit Part 2: External MicroSD config on Asus TF101

Some days ago I had managed to successfully and unfortunately soft-brick my Asus Eee Pad Transformer TF101 due to incorrectly using a Nvflash utility for SBKv1 devices on my SBKv2 device. Long story short: The fiasco led to the specially-made partitioning on my tablet's internal storage to be overwritten by garbage, taking the bootloader with it.

Thankfully it's not really that hard to completely flash the tablet back to normalcy thanks to Nvidia's nvflash utility and the tablet's APX mode. I managed to put the tablet back to Asus's stock ROM. Regaining root logins and privileges was trivial and now I managed to put in my previous daily driver ROM, Android Revolution HD, back into my Transformer.

To make my tablet two times as useful as it was at that moment, I've decided to reinstall Debian Kit. It is unfortunate that I had forgotten to back up the loopback image stored in my tablet's internal SD storage, so I had to reconfigure everything from scratch again. With that, however, I had the opportunity to do something different: I planned to put Debian on my tablet's external SD card, which is inserted on the right side of the tablet itself, not the one on the keyboard dock.

It is important to note, however, that most external SD cards are significantly slower than internal SD storages put inside most phones and tablets. The external SD card I used is a cheap class-2 16GB that I bought from CD-R king (of all places), so needless to say, my Debian install is going to be slow as fuck. Installing a package from the repositories for example, takes quite a long time, with most of the time wasted on unpacking, setting up, and installing the packages.

I partitioned the external microSD using gParted on my Thinkpad, with 12GB partitioned as ext3 (this is what Debian will use) and the rest of the remaining space as a FAT32 partition, because I don't think I'll be needing an entire ~16GB worth of space for an OS residing within another OS, especially when most of my work is done on the command line. It's formatted as FAT32 because apparently that and NTFS are the most convenient file systems that Android natively automatically mounts on its own. Following the instructions of a Debian Kit installation, instead of the usual opt to install the loopback image on a rather small 2GB file in the internal storage, I did the following with mk-debian:

# mk-debian -i /dev/block/mmcblk1p1 -d precise -t ext3

Where /dev/block/mmcblk1p1 corresponds to the 12GB ext3 partition that I had created earlier on my external microSD. Note that I did not use /dev/block/mmcblk1 because that corresponds to the entire block device, rather than one of its partitions.

So Debian Kit did its thing and installed a minimal install of Debian that for some reason follows the apt repositories of Ubuntu 12.04 Precise, so I can't really tell if it's Debian or Ubuntu, though I'll just settle on calling it Debian for now. Anyway, I digress. After Debian had finished its usual setting-up, I began to set up my installation according to my specifications. I followed most of the stuff on the Debian Kit manual regarding andromize, created a normal user for myself, adding sudo privileges for the said user, fixed the timezone being set in UTC by default, and reimporting my dot-config files from my Thinkpad. So far, so good.

Once I let the tablet go to sleep, however, either when it automatically does after a time period of inactivity or when I close the lid with the dock connected, the block partition "disappears". That is to say, when I get back to my Debian install through the terminal, and do a command such as ls, the command is strangely not found by the system. The same thing happened to cd. I then concluded that I the block disappeared and now I'm just running off the system from memory.

I figured that it was something wrong with my ROM of some sort. I noticed that whenever external volumes (SDcards, USB drives) are inactive and the tablet goes into sleep, Android automatically unmounts them, then remounts them back again when I wake the device. I did a little research on this annoying behaviour and found out that it's a "feature" made by Asus. I then hypothesized that Asus was extremely bright to unmount the entire device rather than just the partitions that it can read (which is to say, when the ROM decides to unmount the FAT32 partition /dev/block/mmcblk1p2, it takes the ext3 partition /dev/block/mmcblk1p1 along with it as well). Since Android Revolution HD branched itself out from the stock ROMs of Asus, the behavior persisted on my custom ROM.

I figured that the ROM only does this on filesystems that it naturally (in a sense that I can see and use them on the native Android interface) detects and supports, like FAT32. So I repartitioned my external SD card again, only this time I made the ext3 partition take up the entire storage space on the device. After that I made Debian Kit install itself on the newer, larger partition.

That is currently my setup as of now and thankfully /dev/block/mmcblk1 stops disappearing whenever my TF101 goes into sleep mode. However, I noticed that after a long uptime /dev/block/mmcblk1 eventually disappears again. I do not know at the moment if it happens during activity or inactivity, but very recently I left my Debian user account logged in overnight and when I tried to use it again the following morning it appears that my partition had disappeared once again. It's solvable with a reboot, but rebooting is tedious and takes some time.

I will look further into this problem and check for any solutions. Hopefully it's something related to my ROM and not any of my hardware. If that's the case, I'll just take a look at some sweet Android 4.1.2 Jellybean ROMs, and try them on my tablet.

Wednesday, October 10, 2012

Cytus: The "touchier" touch-based rhythm game

During the recent weeks I have been occasionally engrossed in playing Cytus, a rhythm game for the iOS and Android mobile platforms. Most people would probably take a look at the game and just pass it for another one of those catchy touch-based rhythm games that only become popular for a few moments then slowly and painfully die out into inexistence.

Cytus is especially unique due to it being completely designed for capacitative multi-touch screens. I have also played other touch-based rhythm games like osu! (more specifically its Android port, osu!droid) in the past, but osu! appears to be designed specifically for graphics tablets. Additionally, due to its user base consisting of mouse-trotting players, a good handful of songs available for osu! made by the players are optimized in favor of mouse players more than those who play with graphics tablets, or in my case, fingers.

Cytus is also relatively easy to pick up and learn. The gameplay is easy and intuitive. A black bar continually bounces up and down from the top to the bottom of the screen, with each direction of movement corresponding to a measure (though sometimes I think a complete round trip from top to bottom corresponds to a measure, I'll have to take time to study this). A black glow on the sides of the screen repeatedly pulses after every two 1/4 beats. Colored circles (that are colored by group depending on which trip the black line is going to and fro) pop up on the screen, and the player has to hit these circles alongside the music's rhythm. Then there are the sliders, which are a couple of smaller circles connected in a chain. The player has to slide their finger through the slider, hitting all of the smaller circles in the process. Then there's the freezes (or holds), where the player has to keep their finger on a large circle with a bar running underneath, and wait until the black line has finished traversing the entirety of the freeze bar. Because Cytus is specifically written for multi-touch screens, "jumps", where the player has to simultaneously press two or more circles at one time, can be easily implemented.

As of the time of writing, Cytus comes with 26 songs (2 are cleverly hidden, and one of the songs requires the player to like Cytus on Facebook or follow Rayark's Cytus Twitter account), most of them unique and highly enjoyable. A song in Cytus is about a bit longer than an average DDR song (most Cytus songs do not reach two minutes in length). Rayark (the development team of the game) announced that the current roster of songs in the game are currently incomplete, and there are at least a hundred more songs that are about to come out in the future. They created an interesting release plan---every hundred thousandth registered player of the game awards everybody with ten more songs, possibly an entire new chapter; with all the songs presumably unlocked for everybody by the time Cytus gets a million official players.

Notice my use of the word "official" in the last paragraph. Cytus is available for both the iOS and Android mobile platforms, though it is not free (as in both freedom and beer). iOS users are expected to shell out approximately two dollars to get to play the game. Android users can initially pay the game for free, but as they play on the second and third chapters, they must wait out a 30-second and 45-second "cooldown" period (respectively) before the song plays. F2P Android players also have song restarting disabled by default.

F2P players are not included in the release "census", for obvious reasons. Additionally, those who acquired the game illegitimately through black repositories for jailbroken iOS devices and leaked .apk's for Android devices are also (hopefully) not counted for the census.

I bought the game off Google Play (with the same price as the iOS version) because I've decided that taking a mandatory 30/45 second break between each song isn't fun.

I have a couple of gripes with Cytus, especially with the Android port, since that's where I play most of the time anyway. Firstly, the game rendering performance is awfully poor on my Asus Eee Pad Transformer TF101. I suspect that the primary reason for the lag is due to Nvidia implementing poorly-written Tegra drivers, where by doing so, they can effectively force game developers to optimize their games for the Tegra devices, rather than for every mobile GPU out there. The game runs smoothly on my HTC Desire HD, though there are some freezes here and there (but that's probably because of activities and apps fighting for CPU time in the background). There are also timing issues present within the Android port of the game, where a rather perfectly timed tap is registered with an annoying delay, turning some of my "Perfect" notes into measly "Good"s. So I can also hypothesize that some blame is to be put on the game developers themselves as well, probably because from my experience most games ported from iOS into Android are almost always badly implemented.

To solve the performance issue on my phone, I resorted to overclocking the CPU up to 1.2-1.4GHz, choosing the Performance CPU scaling governor, and/or closing every background activity and app that I can close. For my Transformer, however, overclocking the CPU doesn't seem to have any effect, nor does closing a couple of background applications. The only viable solutions I can think of are (1) just living with the game with bad lag and timing issues (I did get a couple of Million Masters with the tablet though), (2) Just play the game on my smoother phone (though thumb players will probably be a separate category for "competitions"), or (3) steal an iPad off an unfortunately picked friend who plays the game.

I also do hope that the game will offer its players the ability to import their own songs and use them in the game, though the iOS roots of the game will most likely prevent that from doing so, if the developers decide to make the iOS and Android versions of the game completely similar to each other in respect to features. It's the same thing that keeps "osu! for iOS" an unstable hack job for jailbroken iOS devices.

Friday, July 1, 2011

(My) best and worst Android app of June 2011

So now I find myself writing a post about my best and worst Android applications, at least just for the past month of June 2011, anyway. I don't usually do these, because a post describing the best, worst and/or both of [something here] usually calls in the fanboys. And nobody wants that.

WARNING: Opinions follow.

The Android Market is known for being a complete mess with tens of thousands of incomplete and/or useless applications created by hundreds of incompetent developers. However, just like with every big pile of crap, there's always something valuable to be found underneath (or on the top of) the Android App Market. There are also numerous good apps in the Android Market and some of them actually prove that Android is better at certain things where iOS isn't. But I'm not here to spark a war against the iOS fans, I'm here to criticize two Android Apps.

The Best App: Lookout Mobile Security


The one thing that sucks about an app market that isn't regulated by a team of Nazis led by a guy in a black turtleneck sweater is that most people aren't responsible with freedom. Apple prunes the bad apps from the good, while Google doesn't care that much unless the application is a duplicate or malicious app. Therefore, there will come the inevitable time when you accidentally download a fake, duplicate copy of some paid app that turns out to be malware that steals everything valuable within your phone (and no, it's not the photos of yourself).

There are many applications on the Android Market that offer malware protection and "app scanning" (comparing your installed apps to a list of known malicious apps), but I think the best choice for this is Lookout Mobile Security. Lookout Security scans every new application that you download from the app market, compare it with their list of known malicious applications, and give you the signal on whether the app you downloaded is malicious or not. Not only that, Lookout Security scans all the apps installed prior to your installation of Lookout, and you can set it to regularly scan your apps every once in a while in case one of them are late bloomers.

You might notice that Lookout Security is a "suite". That means it's a bunch of services grouped together into one program. Not only does Lookout Security check your apps, it also offers a phone-tracking service. Using your phone's GPS and phone network, you can easily find your phone through Lookout's website. Some phone manufacturers provide their own phone-tracking software into some of their devices (I'm looking at you, HTC), but those services require the GPS to be on. If you happen to have lost your phone without its GPS turned on, Lookout can remotely turn on your phone's GPS so that it could track it. If that fails, Lookout will try to find your phone using Wi-Fi connections and nearby cell towers, which is inaccurate by a lot of meters, but reliable. Want to lock access or even wipe the valuable data off your phone (you shouldn't trouble yourself over your pictures)? Lookout can do that for you.

Lookout Mobile Security also offers backup and restore of your phone's data. While all free features are good enough for basic security, you might want to purchase premium, which you can buy for $29.99/year or $2.99 a month. Luckily, all users are able to try out the Premium for free for two weeks.

The Worst App: Vaulty


Vaulty is a small application whose primary purpose is to hide questionable content from your phone's main gallery. At least, that's how I used it. But sadly, it did not do its job well.

First of all, Vaulty works to hide photos and videos from your phone's gallery, where all of your multimedia content is displayed in full glory. It works like this: Pick a couple of photos and/or videos that you would like to hide, and Vaulty will put them in itself, all while removing those photos and/or videos from the gallery and moving them to Vaulty's app folder in your phone memory/SD card. To top all of that, access to the Vaulty...vault is restricted by a password of your choosing.

Seems good enough right? But why is it my worst app for June?

First, moving your files to Vaulty is a tedious process. You can either (1) Do it directly from Vaulty, but Vaulty does not have an option to choose multiple files, so if you got more than 20 files to hide it's gonna take a while. Or (2) You can "send" it to Vaulty by using the Share function in the gallery, which is faster, by the way.

However, once your files are hidden, it's really difficult to navigate through them inside the Vaulty vault. For example, if I hide a manga that's sorted and organized in its own folder in the gallery, and is arranged according to ascending file names, they will most likely be separated if I put them alongside another manga. They will be helplessly jumbled especially if every separate page has a filename like [pagenum].jpg. You put folders in Vaulty, Vaulty lets you see them spread out and cluttered. What shame.

Finally, Vaulty is not really that secure - Vaulty puts your "hidden" files in its folder, which is located in /sdcard/DCIM/vaulty. That means anyone can access your hidden files if they use a file browser like Astro.

A paid version of Vaulty is available, although the only feature it has over the free version is that Vaulty Premium is disguised as a Stocks App. That wouldn't be worth the money especially if you're hanging out with nosy stockbrokers.

What's a better solution for hiding your content from nosy people? Delete them and don't put them on your phone in the first place. However, if you really need to put these on your phone, but just want to hide them from the Gallery, the Gallery has an option to Show/Hide albums from view. This is great especially if you've arranged your questionable photos and videos into separate folders. They are still visible using a file browser though, but at least you're protected from nosy people who aren't that competent with Android phones.

Best Game App: Gun Bros


Gun Bros (pronounced as either Gun Brothers or Gun Brows) is a third-person survival shooter that pits the player against endless waves of monsters. You control one of either of the two Gun brothers, Percy and Francis Gun, the two superhuman members of F.R.A.G.G.E.D. (Freakishly Rugged Advanced Genetics Galatic Enforcement Division), and fight the T.O.O.L. (Tyrannical Oppressors Of Life).

Gun Bros is mainly survival. You are pitted against endless waves of opponents that get stronger and more numerous until your lose by either dying or quitting. As the player increases his level, new weapons and armor are unlocked, giving the player an edge over stronger opponents.

The best part about Gun Bros is its wittiness and humor regarding the age-old genre of shooter games. It has smooth, responsive controls, and every playthrough is bound to be challenging. And what's more, it's free.

Worst Game App: Attack of the Fanboys


Attack of the Fanboys is a survival third person shooter like Gun Bros, the only difference is that instead of being a superhuman fighting evil robots and aliens, you play a superhuman fighting evil fanboy zombies.

While the concept of the game is great, the game appears to be bleak, with its uninspiring level and enemy design. The controls were not very responsive. However, the game did succeed in introducing strategy to the survival shooter genre by adding a limit on ammo - something that Gun Bros did not bother doing.