Aug 5, 2012

Game Review - Blacklight: Retribution, an MMOFPS from Perfect World Entertainment

"Blacklight: Retribution is a free to play high-paced online multiplayer FPS shooter with a number of game types and maps. The game appears to as of today have no current single player at all other than training. The game types are Deathmatch, Team Deathmatch, Capture the Flag, Domination (a ticket type of game), King of the Hill (objective capture) and Kill Confirmed which is similar to Team Deathmatch, except players can collect tokens from their dead opponents for extra Combat Points, and pick up their own from dead teammates, to form a kill denied. Siege and Netwar modes coming soon."


                I've been playing this for 11 straight hours, and all i can say was that i am amazed by the game, the idea of an urban-futuristic setting is wonderful, and sufficient enough to accomodate 16 players battling each other. What makes this game different from other mmofps, such as War Rock, is the simple gameplay, NO VEHICLES, so players must test their reflexes in mouse-handling to win this game. There's even a ranking system everytime a match ends, adding bonuses like experience and GPs (a sort of in-game currency system, used for renting/buying weapon parts and equipments, which lasts for 1-7 days, depending on the player's total GP).

    Ranking system, with me at first place

Speaking about weapon parts and equipments, there's also decorations that can even add some stats. We're talking about deep customization here. Premade guns and pistols are available and is cheaper than buying parts, although it becomes un-customizable. But it is good if the player has little GP (275 GPs for one premade weapon, and this price applies to every other premade weapon).

    Customization menu, with the best premade Heavy Assault Rifle I had at that time

Now let's talk about graphics. Blacklight: Retribution is one of the best MMOFPS with Crysis 2 graphics. My laptop has an Intel HD 2000 and it runs this game buttery smooth (at low settings, of course), and requires a decent GPU, like Nvidia's Geforce GTX series, to run this at godlike settings. Enough RAM is required too. Also, don't forget, the higher the settings are, the more bandwith you need to have. After all this is an online game...

    Another picture of my character. Don't bother with the girly last name, it's not my name.

So, that's it about the game. IGN gave an 8.5 out of 10, praising the game for its graphics, gameplay and deep customization. Gamespot's, however, was more harsh, giving the game a 6.5 out of 10 ("Fair"). Although they praised the shooting mechanics and item balance, they criticized the game for being too generic and hoped that the planned Siege and Netwar modes will help it stand out.

What are you waiting for? Download it now at Steam. Note that you must have a steam ID and a perfect world account to play. Thank you for reading this, and you're welcome for the review!

Aug 3, 2012

Make your computer talk and respond similar to “Jarvis” in the Iron Man movies

post  Let me start off by saying Merry Christmas to all of my AMAZING Torching Igloos viewers! Your support means the world to me, and seeing as how this is our first Christmas together, I wanted to do something special. So my gift to you is a sweet tutorial on how to make your Windows 7 computer more human-like so you won't feel so lonely during the holidays. This is also a great way to show off for your friends... tell them for Christmas you got a talking computer that does whatever you want it to do. You'll be amazed how simple this is, requiring just a few free downloads, some MINOR scripting (seriously, my 5 year-old nephew can do it), and your imagination.

Before we get started, I have to confess... I originally did this a few years ago when I owned a Macbook. Yes, I know... Blasphemy! While Apple made the process relatively easy to do (even though finding documentation wasn't so easy), once I purchased my PC I found that this task was a little more difficult to address. When I say it was a little more difficult, I don't mean the actual process... trying to find information on how to make it happen was the difficult part. Fortunately for you, I've done the research and testing, so now you can partake with ease. Now on to the good part.

Required Materials:

* Windows 7 or Vista based computer (32 & 64-bit both work). I can't promise these steps are exactly the same for Vista (who uses Vista anyway?) so you're on your own if you're stuck with that crappy OS.* At least 2 gigs of memory. I believe it will work with 1 gig, but the more the merrier... and trust me, you want to have lots of memory for this feature.* At least a dual-core processor. Again, might work with less... but it's going to be brutal.
* A microphone. If you have a laptop with one built in, that's perfect... if you're on a desktop, something with good sensitivity would be best. A headset is fine I guess, but you're not going to be very cool trying to give your computer commands from across the room unless you have a wireless headset.
* Windows Speech Recognition (it's built in... I'll tell ya how to enable it)
* An imagination (this is the difficult part, if you don't think outside the box... it's not going to be as impressive).
* Speakers (yes, I know this seems obvious... but you never know).

If you've been keeping up with Torching Igloos, you'll remember I featured Windows Speech Recognition Macros in our article "More Awesome programs that are FREE!" we're going to use this program, and the speech recognition feature already built into Windows 7 (btw this should also work for Vista). So go ahead and download Windows Speech Recognition Macros here.Before you install the Macros, make sure your microphone is attached and functioning properly (if you don't know how to do that, you're probably on the wrong site)... then go ahead and enable Windows Speech Recognition in your Control Panel (Start Menu/Control Panel/Ease Of Access/Speech Recognition/Start Speech Recognition). While you're at it, it's a good idea to take the speech tutorial to familiarize yourself with some common voice commands. You should also go ahead and visit the section that says "Train your computer to better understand you." Neither is required, but going through the steps provided by these tutorials will help make the process of bossing your computer around a lot more efficient. An additional bonus you'll get after training your computer to better recognize your voice... less problems with it responding to ambient noises and other voices in the room. So go ahead and take the extra 10 minutes to learn these processes.

You now have Speech Recognition working, and if you did the tutorials like I suggested... you're probably trying out all kinds of cool voice commands to make your computer function without even touching your mouse/keyboard. Surprisingly, yes... it's THIS easy! This is just the beginning of the fun though. Using Windows Speech Recognition Macros you can automate almost any function on your computer. So let's go ahead and install Windows Speech Recognition Macros. Just double-click it from where you saved the download (for fun, see if you can do it without touching your mouse/keyboard using only your voice). Then follow the proper prompts. Once you have it installed, make sure you have it create a desktop shortcut. Once this shortcut is created, I highly suggest copying it into your startup folder. To access your startup folder quickly, you can just pull up your Start Menu, click "All Programs, " scroll down to "Startup," right-click and choose "open." Then copy your Windows Speech Recognition Macros shortcut to this location. By doing so, you allow the program to automatically start whenever you boot your computer.

So what exactly is this Windows Speech Recognition Macros thing you've just installed? To put it in simple terms, it's a cool little program that allows you to create custom automations for windows that execute whenever you say a trigger word or phrase. This is where you're going to want to put your imagination to use. This is also where you "Teach" your computer how to talk back to you. I'm going to show you a couple little scripts you can make to get you started.
Let's start with something simple. Think of a name for your computer... for this example I'm going to name my computer Jarvis (it seems only fitting). First, make sure your Speech Recognition is enabled, and Windows Speech Recognition Macros is running. In your task manager (the bottom right-hand corner of your task bar) double-click the Windows Speech Recognition Macros icon and when the window pops up asking "What should the macro do?" click "Advanced." For those of you familiar with creating websites, this should be a welcome site. WSRM uses XML for commands... which makes creating custom commands relatively simple. For those of you who aren't aware of XML, it's still easy. Here's a quick synopsis of what you're looking at:

<speechMacros> - This is the starting Tag, it just tells the computer that this XML file uses the Speech Macros to execute.

<command> - This is the command to be executed. Each command is basically one action... in most cases you will only need one, but for some automations you'll want to include more than one. You'll see an example of this later.

<listenFor></listenFor> - This tells the computer what word or phrase to listen for in order to do an action. Notice that there is a closing tag (</listenFor>), this tells the XML that this spot in the code is where to stop doing whatever function... in this case stop listening for a word or phrase once the computer hears it.

</command> - The closing tag for the "Command" tag... again, in XML every tag will have an opening/closing tag and what happens between the two is how it knows what to execute. In this case it knows that the command is finished once the word/phrase has been detected.

</speechMacros> - By now I think you can figure out why this is here.

Since I'm going to name my computer Jarvis, I'm going to tell my computer to listen for it's name by changing the <listenFor> tags to say the following:


The entire macro looks like this now:

So my computer is now listening for it's name, Jarvis... but nothing is going to happen. We have to give it a way to interact, so we're going to add the <speak></speak> tags which allow for the computer to speak whatever text we insert between the tags back to us. I want my computer to have a bad attitude, so I'm going to add the following:

<speak>You're not Tony Stark! ALERT! ALERT!</speak>
Go ahead and hit "Save" then "Create" and then "OK." You might want to make sure you know where WSRM is saving your macros before you hit "Create" though... I just save mine in My Documents under a folder called "Speech Macros." Once you save these you can easily edit them by just double-clicking on the macro file.

You've now created your first speech macro. Now let's test it out! If you don't have your computer already listening for voice commands, just say "Start Listening." Once your computer has acknowledged that it's in listening mode, Now say "Jarvis." If you've done everything correctly, your computer will say "You're not Tony Stark! ALERT! ALERT!" in a female voice. If you're not a fan of the female voice, back in your control panel where you setup your speech recognition, on the left hand side there's an option called "Text to Speech" click on this and under the "Voice Selection" tab there's a couple you can choose from. Hopefully more people will start using speech recognition and force Microsoft to release cool voices. Wouldn't it be awesome if you could have Jarvis' actual voice or Darth Vader... or something cool like that? Go ahead and play around a bit with the <listenFor> and <speak> tags and create some macros that give the sense of interaction with your computer. On my old system... since I worked in a bar full of foul-mouthed rockstars, I had various four letter words programmed in so when someone would cuss, my computer would say "You shut your mouth when you're talking to me!" Just a little example of some of the fun you can have.

Making your computer respond with words is fun, but it can get old quick. So let's have your computer do some other functions using voice commands and macros. One of my favorites is a weather script I modified (it was originally on a Windows 7 forum so I don't take credit for writing this... only for modifying it for my own needs). This script is a little more in depth, but look through it a bit and see if you can figure out what it's going to do. Notice it's a two-part macro. (in case the pasted script doesn't work properly due to spacing/cut-n-paste factors, you can just download this macro here and extract it using winzip or some other utility.)

<?xml version="1.0" encoding="UTF-16"?>
<listenFor>Pull up the weather in [CityName]</listenFor>
<run command="{[CityName.zipCode]}"/>
<listenFor>Is it cold in [CityName]?</listenFor>
<speak>Let me check... just a moment.</speak>
<script language="JScript">
<var xml_doc = new ActiveXObject("Microsoft.XMLDOM");
<xml_doc.async = false;
<var titles = xml_doc.getElementsByTagName("title");
<var descriptions = xml_doc.getElementsByTagName("description");
<Application.Speak(titles.item(2).text + " in {[*CityName]}");
<listenForList name="CityName" propname="zipCode">
<item propval="65201">Columbia</item>
<item propval="37201">Nashville</item>
This macro does 3 things:
* Listens for the phrase "Pull Up The Weather In [City Name]" thus, starting up your default browser and sending it to with the city you named.
* Listens for the phrase "Is it cold in [City Name]?" thus, reading you the weather forecast for the mentioned city.
* Assigns the city name specified to the proper zip code so the computer can retrieve weather information for the designated city.

This macro also uses javascript to decipher some of the functions... but that's not important right now. I'm not a huge fan of javascript myself, and I certainly don't expect you to use it for your everyday macros, but in this macro it serves it's purpose. Now if you've actually looked at the code, you'll notice it has some serious limitations. First of all, it's only designed to choose from one of 2 cities... Columbia, Missouri (where I currently live... yes, feel sorry for me) and Nashville, Tennessee (where I used to live and should have stayed... AWESOME town!). So if you want this macro to choose from your own choice of cities, you need to change the city names and zip codes in the <item> tags. Someone who knows more about actual Javascript can probably come up with some better code that listens for any city and converts it into the proper zip... but obviously the author and my own skills are limited, so we'll just work with what's available. Besides, if you don't tell people... nobody will know that it's just simple scripting. It's not how the magic trick happens... it's how amazing the illusion seems to the target audience.

Having the weather forecast read to you is pretty cool, I've experimented a bit with some other text-to-speech automation scripts using RSS feeds (News, Sports, Etc) and I've found that while it actually works... most RSS feeds toss a lot of code into the descriptors, so sometimes it can sound pretty messy. You'll have to play around a bit and see what works best for you. If you come across anything cool along these lines, please let me know. I'm always looking to improve my speech macros. I'm also going to spend some time cleaning up our RSS feeds here at Torching Igloos and I'll create a macro for those so your computer can read you the Torching Igloos news.

While I was researching the various speech recognition functions of Windows 7, I was appalled to discover that some of the most common Windows tasks aren't supported (or are difficult to find information on). Some examples: Restart, Shutdown, Volume Up/Down, Empty Recycle Bin. You would think that as basic as these tasks pose to be, Microsoft would have included them in Speech Recognition. Well, if they did I certainly couldn't figure it out (hell, Einstein couldn't tie his shoes so it is completely possible that I'm just missing something obvious). So, here's a few macros to make some of these tasks simple. Unfortunately a few of them do require some outside assistance in order to function properly.

Restart Computer: (You say "Nuke It" and the computer acknowledges and restarts your system.)

<listenFor>Nuke it</listenFor>
<speak>Restarting Windows</speak>
<run command="C:\Windows\System32\shutdown.exe" params="-r -t 00"/>
Shutdown Computer: (You say "Shut It Down" and the computer acknowledges and turns the system off)

<listenFor>Shut it down</listenFor>
<speak>End Of Line</speak>
<run command="C:\Windows\System32\shutdown.exe" params="-s -t 00"/>
** Trash It (delete file): **

<listenFor>Trash It</listenFor>
<speak> File Deleted</speak>
System Volume Macros & Recycle Bin:

These require a little program called nircmd that executes windows command-line functions in the background. Unzip to c:\nir\ or change the command line in the macros to reflect your nircmd.exe location.

Volume Up:

<listenFor>volume up</listenFor>
<run command="C:\nir\nircmd.exe" params="changesysvolume +5000"/>
<speak>Volume Up</speak>
Volume Down:

<listenFor>volume down</listenFor>
<run command="C:\nir\nircmd.exe" params="changesysvolume -5000"/>
<speak>Volume Down</speak>
Volume Mid:

<listenFor>volume mid</listenFor>
<run command="C:\nir\nircmd.exe" params="setsysvolume 30000"/>
<speak>Volume at medium listening level</speak>
Volume Low:

<listenFor>volume low</listenFor>
<run command="C:\nir\nircmd.exe" params="setsysvolume 10000"/>
<speak>Volume at low listening level</speak>

<run command="C:\nir\nircmd.exe" params="mutesysvolume 1"/>
<speak>Volume muted</speak>

<run command="C:\nir\nircmd.exe" params="mutesysvolume 0"/>
<speak>Mute Off</speak>
** Empty Recycle Bin: **

<listenFor>Empty Recycle Bin</listenFor>
<run command="C:\nir\nircmd.exe" params="emptybin"/>
<speak>Your junk has been recycled</speak>
Some other cool things to note while we're playing around with speech recognition, "Mouse grid" which brings up a grid for mouse movement, and a cool Firefox add-on called Firesaywhich allows you to control many of Firefox's functions using voice commands. With all of these new tools, and some creativity you can have your computer saying/doing all kinds of cool things. Try setting up play lists to suit your moods so when you come home from work, you can just tell your computer what kind of mood your in and it will automatically load up your favorite music player with the songs you want to hear. Invite over your girlfriend and impress her with music cued to certain words you say during a romantic dinner you've prepared for her (btw I'm single ladies). Setup your media center to start movies just by saying "I want to watch (insert movie name)" the possibilities are endless, and the ability is now yours. Now go impress somebody with your new found wizardry!

Jul 11, 2012

How To Install and Use ADB Tool

Android Debug Bridge (adb) is a useful utility that lets you communicate with Android device, emulator instance, and even Android Virtual Machine. Although adb offers many kinds of features for Android-powered devices like transferring files, installing apk applications, and remounting memory card. It is widely used to root Android smartphones.

There are 2 ways to install adb tool:
  1. Install adb tool in Android SDK
  2. Download adb tool only

  1. Install adb tool in Android SDK
    1. Download and install Android SDK
    2. Open SDK Manager and install Android SDK Platform-tools package
    3. After finished installing, navigate the directory where Android SDK is installed
      1. Press Shift key + right click on platform-tools folder and clickOpen command window here. Or,
      2. you can also use Windows Command Prompt (MS-DOS) navigate to platform-tools (On my computer, adb.exe is locate in C:\Program Files (x86)\Android\android-sdk\platform-tools)
      cd c:\Program Files (x86)\Android\android-sdk\platform-tools
  2. Download adb tool only
    1. Download adb tool here
    2. Extract
    3. Press Shift key + right click on adb-win folder, then click Open command window here

Some ADB basic commands examples:
  1. To check Android devices which are connected with adb
  2. adb devices
  3. Show adb help message
  4. adb help
  5. Receive "keyable.txt" file from Android device to local PC
  6. adb pull /sdcard/keyable.txt keyable.txt
  7. Send "keyable.txt" file from local PC to Android device
  8. adb push keyable.txt /sdcard/keyable.txt
  9. Install "keyable.apk" application to Android device
  10. adb install keyable.apk
  11. To view Android device's system log
  12. adb logcat
  13. Stop the running adb server
  14. adb kill-server

Dual Boot Android-x86 and Ubuntu

Wanted to run Android 4.0 Ice Cream Sandwich on your laptop/netbook like the Asus Transformer Android Tablet? A brief description for my scenario before setting up dual-booting environment with Android-x86 and Ubuntu. I have Ubuntu 12.04 Precise Pangolin running on my computer and going to dual boot with Android-x86 4.0 RC1 Ice Cream Sandwich. Be sure to readthis if you want to dual boot Android-x86 and Microsoft Windows.

Things you will need:

Let's begin. Assuming you are running Ubuntu on your computer,
  1. Install UNetbootin from Ubuntu Software Center.
  2. Insert USB Pen Drive and run UNetbootin.
  3. Choose Diskimage radio button, then select the Android-x86 ISO. Click OK.
  4. After UNetbootin installed bootloader, click Reboot Now to restart computer.
  5. Enter into BIOS and change USB drive to first to boot USB Pen Drive when computer startup. Save the changes and it will restarts again.
  6. You arrived on the UNetbootin bootloader, choose Installation - Install Android-x86 to harddisk to install Android-x86.
  7. Choose the partition to install. You have to know your computer's harddisk partitions well. Example, sda1 = 1st partition, sda2 = 2nd partition, sda3 = 3rd partition, and so on.
  8. Select Do not format to keep existing data. Else, choose a filesystem to format. Android-x86 should works on ext2, ext3, fat32 and ntfs. Note that the filesystem must match the partition id.
  9. Choose Skip to skip boot loader GRUB installation. Otherwise, you will have to reinstall GRUB again with Live CD Ubuntu.
  10. Choose No, not to let /system be read-write. Choose Yes if it is necessary for you to debug.
  11. After Android-x86 installation is completed, it is optional to create a fake SD card. Having a fake SD card you are able to access apps which requires the existence of memory card like Gallery, Music Player, etc. 2046MB is the maximum size for fake SD card.
  12. Select Reboot to restart computer.
  13. Enter BIOS and change harddisk to boot first. Save and exit.
  14. Boot into Ubuntu and open 40_custom GRUB file by entering the command in terminal:
  15. gksu gedit /etc/grub.d/40_custom
  16. Add the following code at very bottom of the 40_custom GRUB file:
  17. menuentry "Android-x86 4.0 RC1" { set root='(hd0,3)' linux /android-4.0-RC1/kernel quiet root=/dev/ram0 androidboot.hardware=asus_laptop acpi_sleep=s3_bios,s3_mode SRC=/android-4.0-RC1 SDCARD=/data/sdcard.img initrd /android-4.0-RC1/initrd.img}
    Note for code above:
    • I installed Android x86 on sda3, so I use (hd0,3). For example, if you installed on sda5, change it to (hd0,5).
    • Change asus_laptop to which iso you download. For example, if you're using eeepc iso, change it to eeepc.
    • Remove SDCARD=/data/sdcard.img if didn't create fake SD card.
  18. Make it executable and update GRUB:
  19. sudo chmod +x /etc/grub.d/40_custom sudo update-grub
  20. Done. You should be able to dual boot Android-x86 and Ubuntu if you followed the steps above correctly. Note that you have to press and hold Shift key while your computer bootup in order to display GRUB menu. Otherwise, the menu won't shows up.

Run ARM Apps On Android x86 4.0.4 Ice Cream Sandwich

Android x86 early adopters had various compatibility issues running Android on x86 CPU in the past. Now Android on x86 has getting better development and support. Thanks to the developers who spent many hours to hack to make things work. Buildroid's mastermind Daniel Fages who builds "Buildroid for VirtualBox" successfully runs ARM apps on Android x86 platforms.

Due to the Android x86 platforms are incompatibility with NDK apps which are compiled only for ARM processors, we can found lots of popular Android apps like Angry Birds and Acrobat Reader aren't compatible with Android x86. On Android Market/Google Play, it states "Your device isn't compatible with this version" on certain apps, kind of a letdown. Now with Fages' hack, we can download the ARM apps from Google Play app and run them on Android x86.

Fages' hack was based on Intel's Medfield-powered Android smartphone. He looked into the Intel's "binary translation" function that contains "houdini" library and ARM libraries, which enables ARM apps running. Also a modified "Dalvik"'s "libdvm" library. He used the libhoudini, ARM libraries, and libdvm on Android-x86 2.3.7 Gingerbread and the ARM apps works. However, Android Ice Cream Sandwich is much more complex that he can't just simply replace the Ice Cream Sandwich's libdvm. With hours of efforts, Fages managed to make it work finally.

You can read the rest and download the Buildroid OVA on:

Simple as usual, import the Buildroid OVA file to VirtualBox and it is ready to fire up. (Please click here for installation details)

If you get VirtualBox error message while starting Buildroid like this below:

Failed to open a session for the virtual machine

Nonexistent host networking interface, name 'vboxnet0'

Result Code: E_FAIL (0x80004005)
Component: Console
Interface: IConsole {1968b7d3-e3bf-4ceb-99e0-cb7c913317bb}

To solve this, go to Settings > Network, change Attached to: NAT under Adapter 1tab. Buildroid should able to start. (It works for me)

Although not all ARM apps work correctly, it is a major step for Android x86 to supports huge number of Android applications. I ran Angry Birds Space on Android x86, it is very laggy. The game got slightly better on reduced screen resolution of 640 x 480 - 16 but still not on desired performance. I also installed Samsung Galaxy S3's S Voice on Android x86, the app runs without crashing but no mic supports. Please don't get frustrated if any apps don't work correctly because this is just a test version at this current stage. The whole operating system works without any problem on my computer so far.

Setup Hardware OpenGL for Linux Android x86 VirtualBox (also runs ARM apps)

As the post title, this Android x86 VirtualBox image runs ARM apps like Angry Birds games with OpenGL hardware acceleration. OpenGL is a standard specification cross-platform graphics API for 2D and 3D graphics processing hardware. The video below shows how the OpenGL performing with Angry Birds Space:

Click here to read the rest.

Here's how I setup Hardware OpenGL for Linux Android x86:
First of all, your computer must have graphics chipset with OpenGL hardware acceleration enabled. During this guide, I will setup this VirtualBox image on my HP mini 210 Ubuntu 12.04 Operating System. You'll need an Android x86 OVA file and buildroid_renderer package which can be download here.

  1. Install VirtualBox from Ubuntu Software Center.
  2. Open VirtualBox, click File > Import Appliance... to import the Android OVA. After import, don't start the Android Virtual Machine yet.
  3. If you already have in /usr/lib/i386-linux-gnu/ directory, ignore this step. If you don't have it, please install libgl1-mesa-dev package (sudo apt-get install libgl1-mesa-dev) and you should have in that directory.
  4. Extract the buildroid_renderer package. (tar -xvzf buildroid_renderer_XXXXXXXX.tgz)
  5. Open Terminal and navigate to buildroid_renderer package location and execute (./ and a blank window appear.
  6. Now start your Android Virtual Machine in VirtualBox. Wait for awhile the blank window will show up the Android 4.0.4 ICS user interface.

You can change the window size while executing For example,./ -width 640 -height 480 the window size will open in 640 x 480 size.