Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Thursday, April 18, 2013

The day I lost root privileges

I have (K)ubuntu 12.04 Precise Pangolin installed on my Fujitsu Lifebook UH75/J (I've discussed about it in one of my previous posts). Needless to say, the experience was nice. It was the first time I ever used KDE as my primary DE for everyday use. I had used KDE on my desktop, but never thought about using it full-time, as I only switched to it whenever Unity felt a little boring.

Anyway, fast forward a couple of weeks, and suddenly I found myself unable to run commands with root privileges (with the `sudo' command). Every command which I prefix with `sudo' gets denied with a message telling me I was not in the sudoers file and that the incident shall be reported (gee, I wonder to whom they actually report these to). Frustrated, I've decided to log in directly as root with `su'. Then I remembered that Ubuntu, for some odd reason, does not allow logging in as root by default.

Instinctively, I turned to searching for solutions online. One solution told me to log in to Recovery Mode, log in as root from there, and then add myself back to the sudoers group. But even if I managed to do that, I still haven't answered one important question. How and why was I removed from the sudoers group in the first place? I don't remember intentionally nor accidentally revoking my own sudo privileges from myself. While trying out the solutions I have found, I thought of the reasons for my disappearing privileges in the background.

Then the realization hit me. I don't recall exactly how, but I remembered how exactly I lost my user privileges when I saw a command telling people how to add themselves into the `sudo' group (the group of users in an Ubuntu system who has sudo privileges). Quickly, I used the `groups' command to check what groups in my notebook I'm part of, then the horror showed up in my face:

aldo : vboxusers

Then I remember it all now. I was trying to get Virtualbox to work on my new ultrabook some time ago, and one of the things I had to do was to get USB devices to work from the host machine to the guest machines. It would involve having me put myself in the special `vboxusers' group, but because I don't really memorize console commands that well unless I have to use them a lot, I used a variant of the `useradd' command, which puts me in the vboxusers group ONLY, instead of appending the vboxusers group to the groups in which I belong to. I forgot that the `gpasswd' command was a much better solution when it comes to adding groups. I'll try to keep this in mind since I'll probably be administrating other people's boxes in the future. Screwups increase exponentially in severity the more users become affected by one's mistake.

Since Ubuntu doesn't allow root logins unless you were to go to recovery mode, I've decided to reboot into recovery mode, however, there was a conflict with the inteldrmfb and Vesa VGA drivers. After more frantic Googling, I removed `nomodeset' temporarily from the launch options of the recovery boot and I was immediately put into recovery mode. I proceeded to login as root, checked out all the available groups in `/etc/group' and `/etc/passwd', then added myself to the sudo group and other groups which I think I should be part of.

After rebooting, I was relieved to find that I now have my sudo privileges back. The world seems strange when you don't have root privileges, doesn't it?

I haven't told you about my Plan B: In case I get tired of fixing my problem, which usually never happens, I would replace Ubuntu with openSUSE since I was itching to try it out, and since I have quite a lot of free time this Philippine summer to reconfigure my system. However, since I have already fixed the problem, I don't feel the need to replace Ubuntu anytime soon. Perhaps I'll just move when another seemingly insurmountable problem arises.

Monday, April 8, 2013

Fujitsu Lifebook UH75/J Review

I have acquired a new Fujitsu Lifebook UH75/J ultrabook computer recently, and depending on how I look at it, I can view the said acquisition as either a blessing or a curse. In essence, the UH75/J is an engineering marvel of mixed emotions, and I shall explain why in further detail as we move on.

*Note: I'm not going to go into the technical specs of the UH75/J in this blog post. You can just Google for them yourself. Also, I'm not going to touch on every aspect of the ultrabook here as well, I'm just going to write about the stuff that I think deserves some attention.

Basics

Essentially, the Lifebook UH75/J is the Japanese counterpart of the Lifebook U772. Both are almost the same in terms of internal specifications, although the U772 comes with more powerful configuration options than mine, or maybe I'm just not aware if the same is available for my UH75/J. Both use variants of new Ivy Bridge mobile processors, a required trend for similar products of its generation touting the "Ultrabook" Intel branding.

My UH75/J comes equipped with an Intel Core i5 3317U, with its four cores usually clocked at around 1.70GHz, which is surprisingly adequate despite ARMv7 processors on mobile phones slowly encroaching towards that clock rate. The memory supplied is the de-facto standard for mid-range computers at the time of this writing, which is 4GBs f DDR3. Sadly, the RAM isn't possible to be upgraded due to the nature of ultrabooks to completely lock down their internals, supposedly to make sure that everything will fit in their tightly slender cases.

The ultrabook is capable of WiFi 802.11 wireless connectivity as well as WiMAX connections, but because of the unavailability(?) of WiMAX connections in the Philippines, I'm not so sure if I would ever benefit from the latter. The ultrabook does not possess a native wired ethernet adapter, probably because it wouldn't fit on the sides of the ultrabook, and in its place is a proprietary port where you could plug in the ethernet dongle provided with the laptop.

The UH75/J comes with a webcam on top of the screen, although I don't really find the need to use it. It also comes with a fingerprint scanner, in case you're too lazy to type your passphrase everytime you need to authenticate with your laptop.

It has Windows 8 preinstalled, though I'm not sure if I would ever use it for work. I'd most likely boot into Windows just to play some games.

Construction

The screen size of the UH75/J is 14" in diameter diagonally, with an aspect ratio of 16:9, with stuff rendered in the screen's native resolution of 1366x768. It is also weighs only a bit more than a pound, and it's just as thin as all the other laptops out there with the "Ultrabook" branding. The bulk of the UH75/J is squeezed into a magnesium alloy shell which presumably keeps the body rigid while maintaining its light weight. That's great, because it would suck if my ultrabook's body suddenly depressed under the weight of my hands, or swayed around like a real book if I was carrying it around with my hand.

One thing that's disappointing about the design was that the notebook's only fan was positioned directly above the spot where one's legs would most likely be holding the laptop up, which degrades the fan's performance while the ultrabook is placed upon one's lap. But that's probably just the sad truth about laptops in general: they don't really perform well on people's laps.

Another major disappointment, and I must say is the worst part of the UH75/J, is its keyboard. No, it's not because the keyboard is in the Japanese layout (you can easily switch keyboard layouts in Windows and Linux), it's just that the keyboard feels so awkward to type on due to the fact that there is very little room for the keys to depress onto once pressed, leaving very little feedback for your fingers to feel whenever you hit a key, unless you type with more than enough force on the keys like I do. I did get familiar with the keyboard after a few days of usage, but it still feels awkward for me sometimes. It's probably just because I'm used to the amazing keyboard that my Thinkpad X60s has.

It comes with a clickpad (a touchpad that does not have any external buttons but rather relies on "zones" around the clickpad that can be programmed as left, right and middle buttons) that isn't too great or isn't too bad, though it is quite troublesome to configure in Linux.

Windows 8

The UH75/J is a Japanese laptop, so obviously Windows 8 came in almost completely translated into Japanese. I'm not really that good in understanding Japanese, though I can read Kana, nevertheless, it didn't take me much effort to install the English language packs into Windows 8 and enable them. However, the system utilities (which I think are just bloatware) pre-installed by Fujitsu are hard-coded into Japanese, but I don't think I'd be using them anyway anytime soon.

Microsoft Office 2010 comes pre-installed by default, although like Windows, everything is rendered in Japanese. A little tweaking will make Office translate the tooltips into English when you hover over something, however, so I don't really mind.

Gaming Capability

I don't think the UH75/J was ever built with gaming in mind, because of its integrated Intel HD 4000 graphics card. However, the GPU appears to be capable of handling most games that doesn't reach the graphics requirements of games like Far Cry 3 and Crysis 3. I've tested games such as Dota 2 and Team Fortress 2 and the UH75/J appears to handle them quite well on medium level settings. I've also tested Payday: The Heist on the UH75/J and I'm getting an FPS range on about 21-35 depending on what's going on, on the lowest settings.

Installing Linux

As with every machine and box that I own which isn't primarily used for gaming, I installed Linux on the UH75/J, with Kubuntu (the KDE variant of Ubuntu) as my distro of choice. Additional steps had to be made to make Linux boot on the laptop, however. First, I had to delete the other NTFS partition Fujitsu had allocated for the laptop that it doesn't even use (this could presumably used for user media), then shrank the partition Windows 8 is installed on until it was just about 100GB (should be enough for Windows and a few games, I don't really work on Windows). Then I turned off Secure Boot in th UH75/J's BIOS settings. The BIOS is also conveniently written in Japanese, however, it's trivial to set the language to English. Once Secure Boot is disabled, I was now able to boot into Kubuntu through a USB drive. I created three new partitions in place of the empty, unallocated space: a 30GB ext4 partition for the root install, 8GB for swap, and the rest for my home directories, so that I can easily distro-hop without any problems.

Surprisingly, Kubuntu worked with the laptop without needing extensive configurations to make stuff work. The Intel GPU's was predictably resolved immediately by Ubuntu thanks to Intel's efforts to keep the Linux GPU drivers open-source and regularly maintained. Sound is working perfectly, with both playback and recording crystal clear. The proprietary ethernet dongle that came with the UH75/J also worked without a hitch. Wireless is working very well as well, although I wasn't able to test the WiMAX capabilities of the ultrabook under Linux.

The only major problem that I have with the UH75/J in Linux is probably the 

Getting the fingerprint scanner to work in Linux requires some work, but it's not too hard. All you need is to install fingerprint-gui and then follow the instructions to get it working. Most desktop environments should be able to take advantage of fingerprint-gui in their logons.

I'm thinking of migrating into another distro once I'm tired of Kubuntu, but not because things aren't working very well with Ubuntu, of course. I won't be migrating to something hardcore like Arch Linux or Gentoo yet, until I can finalize that everything can work properly under mostly automated configurations.

Battery life

The UH75/J has good enough battery life on its own, although because the battery is non-replaceable, extensive care of the battery should be considered. I usually just keep it plugged in at home, and then run it off the batteries every once in a while. Hopefully its capacity will retain after a year of usage.

Verdict

The UH75/J is a laptop for people who are looking for a good performing Japanese ultrabook, although people who aren't are better off looking at its international variant, the U772, or just look at other ultrabooks altogether, since most of them outperform the UH75/J in many aspects, most importantly the keyboard. The UH75/J can also be somewhat pricey, though that's the same story for every ultrabook anyway.

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.

Sunday, September 9, 2012

Debian Kit: Debian Squeeze/Ubuntu[Lucid/Precise] on your Android device

Because my very trusted and loyal IBM/Lenovo Thinkpad X60s has been "deskridden" for quite a while now, so to speak, I now turn to my Asus Eee Pad Transformer TF101 as my new mobile computer. Here are its basics:
  • It runs Android 3.0 Honeycomb when I bought it, but currently it's running on the custom Android Revolution 4.0.3 ICS ROM, though "custom" doesn't seem like the right word here as they [Android Revolution] tries to keep themselves looking stock-like.
  • It has a dual-core Nvidia Tegra 2 CPU, clocked at 1GHz a core.
  • It has this shiny dock with a shitty keyboard, but still, it sure beats having to use a software on-screen keyboard.
  • Did I mention the keyboard also serves as a second battery?
If you want more info on my Transformer, you're better off Googling it yourself and reading about them elsewhere.

The Transformer has been immensely useful for regular productivity tasks. The default browser, strangely named "Browser", and which I assume is based on the FOSS Chromium browser code, works well enough, though I keep Google's own Google Chrome browser with me as well (it's shinier, damn it). Both of them are great enough for casual browsing. For documents, I can easily access my stuff from Dropbox, though actually getting stuff into Dropbox is quite uncertain (though there are some workarounds for this). Polaris Office seems to be sufficient enough for basic document editing, though I'd like to liken it to a word processor built for a Vtech kid's "laptop". So most of the time I'm editing my documents through Google Docs, or not at all, since I hate word processors.

But I'm a student of Computer Science, a Software Engineer, and a hacker at heart, so this wasn't quite enough for me. In essence, the original "productivity suite" my Transformer offered to me at the start appears to be more appealing for children ("regular" Android tablet users might say the same thing to people with iPads, but I digress). So I started searching for solutions to my little problem.

My first attempt to fix the problem are, as ashamed as I am to admit it, using ready-to-use apps from Google Play. I got some text editors here and there, though they all sucked and couldn't hold a candle to Vim. I also grabbed a couple of C and C++ compilers, because sometimes I some code prototyping and I occasionally teach and help a certain list of people how to code. I also installed "Scripting Language for Android", or SL4A for short. SL4A, as far as I can understand, is a collection of interpreters and such for different scripting languages, most notably, Python and Perl; that you can run on your Android device, though it seems that native Android app development using scripting languages is still pretty much uncertain (sorry folks, you'll still have to live with Java).

But I wasn't satisfied with those yet. I preferred working in a command-line interface, so I needed a good terminal emulator. Unfortunately the one that you can easily get from Google Play will most definitely suck if you do not have root permissions on your device (this was before I decided to root the Transformer). Fortunately, there's Terminal IDE, a suite of command line software development tools that run on its own userspace. However, being jailed in its own userspace has some distinct disadvantages, one of these is that fact that everything in Terminal IDE is being jailed in its own userspace.

I tried SSH'ing remotely into my Thinkpad as well, though this effectively turns my Transformer into a dumb terminal, plus the Internet connections of the Philippines are too shitty to effectively maintain a stable remote connection.

Debian Kit


After a lot of lurking around on the web, however, I've discovered Debian Kit for Android. This little solution puts a complete GNU/Linux Debian installation inside your Android device, allowing it to work side by side with the Android OS, rather than, say, completely replacing or dual-booting alongside it.

The idea of a GNU/Linux distribution running inside Android isn't particularly new, however. Numerous people have gone lengths to do the same, though their solutions usually boils down to chroot'ing the distro inside Android. This means the distro will run in its own little "virtual environment" inside Android. The big disadvantage in this approach is that the distro's world is limited to that little environment, which means you'll have difficultly accessing the files on your Android device's SD card, etc.

Debian Kit does this differently. According to its creator, Debian Kit effectively makes Debian/Ubuntu run side-by-side with Android through cleverly-made symlinking and bind-mounting. It will allow you to access the different storage devices present on your Android device, which is extremely important, at least for me.

I won't be writing instructions on how to set up Debian Kit on your Android device here. If I did it would be completely redundant and unnecessary. The creator of Debian Kit has written adequate documentation regarding the installation and my install worked after I did one or two read throughs. Also, he made some screencasts for the people who does not RTFM.

Though, there is one important thing that he forgot to document, and that is manually adjusting Debian/Ubuntu's timezone. On a regular installation procedure of Debian, the installer automatically sets this up for you, but in Debian Kit this isn't present, so your timezone is automatically set at UTC +0. This is fine for you people living somewhere in the UK, but not for everybody else who aren't. This has been a pain in the ass for me for a long time until I finally found a solution through a bit of Googling.

The solution for the borked timezone is the here (courtesy of Geek Ride).

Right now I'm reinstalling Debian Kit on the Transformer because I thought by doing so, I could fix the timezone, but no it didn't, so now I'm about to configure everything again. Thankfully the only thing that's a nuisance to replace is my SSH key, but that should be easy to regenerate and remanage.

Monday, June 4, 2012

Why I think GNOME 3 and GTK+ 3 is subtlety trying to kill off the other DEs

As someone who spends hours toying with the look and feel of his machine's GUI (with only quite a few handful of people appreciating these efforts due to the fact that people today accept the ugly fact that they all look the same), consistency is a very important factor in the overall aesthetics of my work environment. Every window and dialog should look similar to each other in shape, color and form. Begrudgingly, the only operating system/suite of desktop applications that has accomplished the goal of total consistency is Mac OS X. However, I do so believe [from experience] that consistency can also be accomplished in a GNU/Linux environment, provided you have the time and patience to configure your system.

Most applications that use a Graphical User Interface (GUI) on GNU/Linux usually use either GTK+ (GIMP Toolkit, or for those who like extremely long names, the GNU is not Unix Image Manipulator Program ToolKit) or Qt. GTK+ is by far the more popular choice for developers, although Qt has done a bit in terms of catching up (I personally prefer Qt over GTK+, but that's probably because I have not gone knee deep in GTK+ programming yet). GTK+ is primarily used in the GNOME Desktop Environment, while Qt is primarily employed in the K Desktop Environment.

Because of its popularity, other DEs besides GNOME use GTK+ as well. XFCE (my personal choice and longtime favorite) and LXDE use it, as well as many other less popular DEs. Even if you only use a Window Manager (WM) for minimalism, most of the GUI applications you are going to run are probably using GTK+.

With the introduction of GNOME 3, however, the devs at GNOME also introduced a new version of GTK+, GTK+ 3. The third major release of GTK+ includes many new widgets and features that we shouldn't really care about (unless you're a developer developing GUI apps in GTK+), but it also introduced an annoying side-effect: the lack of backwards compatibility.

The explosive popularity of Ubuntu's Unity and the distributions that choose to ship with GNOME3 by default has in turn raised the popularity of GNOME3 and GTK+ 3 in return. Which means more developers are now aiming to target the demographic that uses Unity and GNOME 3 by using the latest version of GTK+. While this is nice for people who use Unity and GNOME 3, it's not really that beneficial for those who use DEs that only use GTK+ 2 by default (e.g. XFCE).

Here comes the problem: When an application uses GTK+ 2, it loads the GTK+ 2 theme that the user chose for their environment and uses the widgets and pretty things from that theme to decorate itself. And when the application uses GTK+ 3, it does the same except this time it loads up GTK+ 3. What happens then, if the application does not find a working theme for the GTK+ version it's running on? It will start to look like this:


Bleh, right? It kinda reminds me of the classic Windows look, when everything was all boxy and threatened to molest your eyes if you stare at it for far too long. What happened here is that gitg (the program above) uses GTK+ 3, but the GTK+ theme I have set on my machine doesn't support GTK+ 3. So gitg had no choice but to fallback to the ugly defaults that are only suitable for the root user.

It appears that the only viable solution for this is to find GTK+ themes that work in both GTK+ 2 and GTK+ 3. Which is a nuisance because there are only a handful of themes right now that support both versions. So when you find a really cool GTK+ theme online (hopefully it's not something that's trying to rip off OS X's look) and you've decided to check it out and install it, some applications are going to look completely out of place when they can't find the appropriate widgets from your theme for their GTK+ version.

But then again, some theme developers are kind enough to support both GTK+ 2 and GTK+ 3 engines to appeal to a wider audience. But only "some", though. So that means the blame partly goes to the theme developers as well, who are too busy trying to rip off the look of OS X and not investing that time to make rip offs of the OS X interface that works on GTK+ 2 and GTK+ 3.

And while we're on the topic of desktop environments, allow me to shamelessly insert a screenshot of my working environment (which is in no way looking like a rip-off of OS X):


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.

Saturday, December 11, 2010

The Great Reinstallation of '10

A few days ago I have successfully finished the rigorous task of repartitioning my drives and reinstalling everything. Now this might seem like an easy job for some of you, but here are the objectives I have to meet during reinstallation:

1. All important data are to be backed up and restored as is. This is not entirely difficult, but it is one of the objectives with grave importance. Most of my important documents are stored in my external HDD, Network Attached Storage (NAS) and my offsite Winamp is known for its shitty way of backing up your files. I've decided to just backup its database (as well as with iTunes for my iPhone), and just restore the files in the same location and partition as it was before so that they could easily find it.

2. I will have to equally distribute my partitions. As planned, my Windows and Linux partitions will get 40GB and 30GB of space respectively. A central storage drive formatted as NTFS (the Windows NT filesystem) will be shared by both operating systems. I'll explain more of this later.

3. Instead of Ubuntu, I'm installing Arch Linux as my Linux distro. This reason is primarily because Ubuntu is becoming less of the "Linux for human beings" as it was advertised and more of the "Linux for Mac Users". It's filled with bloatware, and horribly now very easy to use. Unlike Ubuntu, which practically works right out of the box, Arch Linux is light, but reliable and, ultimately customizable. It will be harder to set up, but more rewarding in the end.

As a matter of fact, you can use this post as some sort of a guide if you're planning to dual-boot Windows 7 and Arch Linux on a single hard disk drive. To avoid repetition, I'll post my laptop's specifications here.

IBM Thinkpad x60s
Age: 5(?) years
Intel Core Duo L2400 x86 (32-bit) @ 1.66Ghz
2.25GB of RAM
250GB Seagate 5400RPM HDD

(NOTE: If you have multiple hard disk drives, this will not cover your needs. However, I heard that multi-booting using multiple HDDs is easier than just using one HDD.)

(NOTE: I will not be covering how I backed up my data, as that wouldn't be too hard to do.)

Phase one: Setting up partitions



The first step would be repartitioning the hard disk. Take note that you will not be able to do this in the Windows 7 DVD, as it is really only limited to creating NTFS partitions of its own. To do this, you will need the GParted live CD, or you could use an Ubuntu Live CD, as they have GParted inside.

(NOTE: I have first attempted to repartition my drives on the Ubuntu 10.10 (Maverick Meerkat) Live CD, but GParted crashed shortly after the process and I could not get back to GParted just to check if everything was alright. I ended up using the Ubuntu 10.04 (Lucid Lynx) Live CD instead.)

After booting from the Ubuntu Live CD, I went to System->Administration->GParted. There, the filesystem table of my hard disk drive is shown. I deleted all the partitions, and then repartitioned them as:

/dev/sda (This is my HDD)
-> /dev/sda1 40GB NTFS (Windows 7)
-> /dev/sda4 30GB Extended (Arch)
-> /dev/sda5 10GB ext4 / (root)
-> /dev/sda6 2GB linux-swap (swap for Arch)
-> /dev/sda7 (the rest of /dev/sda4) ext4 /home
-> /dev/sda3 ~180GB NTFS (storage)

(NOTE: /dev/sda2 is used by Windows 7 as another partition, probably used for system restore. It is always 100MB in size, and takes up a partition in your HDD. There are, however, workarounds in removing this partition, if you plan on triple-booting.)

After successfully partitioning my hard disk drives, I prepared my Windows 7 Home Premium DVD (this is genuine, by the way, set me back Php5,500) to reinstall Windows.

Phase two: Installing Windows 7



I actually thought of installing Windows XP instead of Windows 7, as I enjoy XP better with its flexibility and being easily customizable (not to mention being completely compatible with LiteStep). But since that would mean tossing away five thousand pesos, I've decided to just continue with Windows 7. At least it's shinier.

Installing Windows 7 is a pretty straightforward process. It's particularly idiot-proof, so it's not really difficult. You can try to format your NTFS drives again here in Windows 7 (as it does the job better, I think), but take care not to touch the Linux extended partition. It will appear to Windows as blank and unpartitioned, but do not touch them or you will have to repeat phase one again.

After installation, I checked if my storage drive was present. It appeared in Windows as D:\, so I went ahead and created folders that would be shared by Windows and Arch (Photos, Music, Videos, Downloads, Games, etc.) and set the Windows Libraries to the location of the custom folders. Then I rebooted and inserted the Arch Linux Installation CD.

Phase three: Installing Arch Linux



The installation of Arch Linux is really different from Ubuntu's. In Ubuntu, you just input some information about yourself (location for UTC time, keyboard layout, etc.), and just let the setup do everything else for you. In Arch Linux, there is a semblance of a GUI setup present, but it's more of a list of everything you need to do before you copy the base files of the OS. Since describing everything I did during the installation would take too long, I suggest you consult the Arch Linux Wiki's Beginner Guide and the Official Arch Linux Install guide to get started. I won't be discussing how to use the Arch Linux installer, I'll be discussiing what I did after installing.

(NOTE: If you are just starting out with Linux, don't choose Arch as your first distro. It's difficult, and it's build primarily for Linux users who wants to know what's going on inside a Linux system. Ubuntu is primarily a good choice for those who are just starting out in Linux.)

After installing, I was transported back to the basic CLI terminal. I logged in as root (as there are no user accounts yet), and created a user account for myself. Using pacman (Arch Linux's PACkage MANager), I installed sudo (super use do, gives temporary root privileges for a command), the alsa mixer (for sounds) and the X Window Manager (xorg). As I want my Arch Linux setup to be minimal and un-shiny as possible, I've opted to install LXDE as my desktop environment, which turned out to be quite a pain to setup, so I removed it and installed the more familiar XFCE DE instead.

Right after installing my desktop environment of choice and starting X (using startx), I was greeted with the empty XFCE desktop. The extra packages that come with XFCE4 was not present, so I installed them using pacman. I also installed and configured ntfs-3g, which provides stable NTFS reading and writing, so now Arch can mount, read, and write to and from the two NTFS partitions in my hard disk.

Setting up my wireless network connection was the hard part. Although I was spared of having to find the drivers for my wireless device since the Arch repositories have them, managing the device itself was a pain. So far the method I used was through the CLI network management tool, netcfg. I added various network profiles like home (connecting to my home Wlan), home-eth0 (for connecting to my home ethernet), and others, which will make connecting to networks with profiles easily by just typing "sudo netcfg " to a terminal. Of course, this sucks if I am travelling and have to find a network to connect to, because I will have to manually scan and add a profile for that new network. But it works, and that's what matters.

Phase four: Restoring backups



This is pretty easy. I just move my backups back to the storage drive. I installed whatever is necessary to Windows and have successfully synergized it with Arch. Now they are pretty much working with each other, although I must admit Windows is a bitch. Currently I am in the never-ending process of customizing my desktops to get my dosages of desktop deviance (and shininess).

Thursday, July 22, 2010

Why it's almost impossible to perfectly couple Windows and Linux in wedlock

Here's a story about how I recently seriously messed up the integrity of my computer and put myself into misery and disorientation. About a few days ago my Windows 7 operating system began complaining about "being lonely" and wanted to have the perfect companion operating system. Being a compassionate owner of the computer who listens to its needs while I bitch about mine, I introduced to him Xubuntu.


Why Xubuntu? Because there are those times when I needed to save resources and just want my computer to generally stay relaxed while I'm running applications. And I don't use the built-in Xcfe window manager that often, I mostly use Fluxbox while working. I think a very lightweight distribution of Linux is the best companion a Windows operating system could have. It's like pairing an anorexic girl with a 500 pound basement dweller.


However, there are problems. Xubuntu and Windows uses different types of partitions, ext and NTFS respectively. To put it metaphorically, anorexic Xubuntu keeps a neatly organized filesystem, while fat Windows does not bother cleaning up his basement base by himself. Also, they don't like visiting each other's flats. Xubuntu does not like her boyfriend's messy basement, while Windows it can't lift his fatass to stand up and go outside.


Luckily, there's a solution for that. Either I give Windows a Segway so he could go visit Xubuntu (using ext tools for Windows), or I could allow Xubuntu to go to my Windows partitions, using ntfs-3g. I chose the latter because my Linux partition is only 12GBs big and most of my files are stored in my two NTFS partitions.


While I am setting up Xubuntu to run with Windows 7, I actually did quite a lot of mess ups that will scar me for life. I first MOVED ALL (note that I MOVED, not copied) my important files to a storage NTFS. Now while I was installing Xubuntu I accidentally used that drive as swap, which completely removed it. Sucks, really. Thankfully, Windows saved my ass because it automatically saved a backup the day before I was screwed. Also, Dropbox has my important documents, so I can just restore in a breeze. However, this messed up my Winamp. I will have to reconfigure it to get it working again, or switch to Foobar2K because Winamp is getting old and unproductive.


Then another problem came up. I have allowed Xubuntu to read and write on both of my two NTFS drives. However, when I save files from Xubuntu there, then boot up Windows 7 to see if they can be detected, they were nowhere in sight. It appears that Windows overwritten them (in address, not in actualy memory). The files are there but Windows pushed them away from sight. Worse, it affects Xubuntu as well. When I boot back to Xubuntu all the files I have saved earlier are gone.


I got stuck like that for days until I found a solution: I stopped hibernating Windows 7 (as I was used to doing), restarted it, then ran a CHKDSK. It turns out there were so many errors in the storage partitions. Thankfully Windows 7 sorted it out and now it can see all files written by Xubuntu on either of its NTFS drives. I will have to refrain from hibernating Windows though, because it appears that it negates the changes made by Xubuntu when it boots up from hibernation.


I'm not happy with the state of my laptop right now. I'm planning to reformat it after the end of my term, when I can freely reinstall Windows since I'm done working with it. I will not completely remove Windows, though. I will need it for Windows programming (cross-platform programming is not my thing), and playing games that are laggy and unplayable with WINE in Xubuntu. I will continue to use Xubuntu as my primary OS, however.