Enable Soft Keys on the Samsung Galaxy SII International (GT-I9100) (CyanogenMod 11)

Install “ES File Explorer” from the Play Store, and then open it.

Swipe in from the left edge to open the menu, and then click “Tools”.
2 ES Side Menu Tools
Scroll down, and enable “Root Explorer”.
3 ES Side Menu Tools Root Explorer On

A dialog might pop up asking you to grant superuser access. Click “Allow”.
4 ES Superuser
Enter your PIN if necessary.
5 ES Superuser PIN

Navigate to /system/. Click on build.prop.
6 ES system
Open it with “ES Note Editor”.
7 ES system build.prop Select
Click the 3 dots, then click “Edit”.
8 ES system build.prop Edit
Add the line qemu.hw.mainkeys=0 to the end of the file.
9 ES system build.prop qemu.hw.mainkeys 0
Press the back button, then when it asks you to save, click “Yes”.
10 ES system build.prop Save

Navigate to /system/usr/keylayout/. We will need to edit the following files:

Generic.kl
gpio-keys.kl
melfas-touchkey.kl
qwerty.kl
sec_key.kl
sec_touchkey.kl

11 ES system usr keylayout

Click on Generic.kl. In the “Open As” dialog, click “Text”.
12 ES system usr keylayout Generic.kl Open As
Open it with “ES Note Editor” as before. Change to edit mode, then comment out the following lines by putting a “#” at the beginning of the line:

key 102 MOVE_HOME
key 139 MENU WAKE_DROPPED
key 158 BACK WAKE_DROPPED

Save the file.

Follow the same steps for the rest of the files, but comment out the following lines instead:

For gpio-keys.kl, comment out the following line:

key 102 HOME WAKE

For melfas-touchkey.kl, comment out the following lines:

key 158 BACK VIRTUAL
key 139 MENU VIRTUAL

For qwerty.kl, comment out the following lines:

key 158 BACK WAKE_DROPPED
key 139 MENU WAKE_DROPPED
key 102 HOME WAKE

For sec_key.kl, comment out the following line:

key 102 HOME WAKE

For sec_touchkey.kl, comment out the following lines:

key 158 BACK VIRTUAL
key 139 MENU VIRTUAL

Exit ES File Explorer.

Open the Settings app. Under “Device”, click “Buttons”
13 Settings Devices
Click “Backlight”, and uncheck “Illuminate Buttons”.
14 Settings Devices Backlight

Reboot, and enjoy your shiny new soft keys!
NOTE: You will have to repeat these steps (with the exception of the backlight setting) every time you do a system update.

Install Pyrit with CAL++ support on Ubuntu 14.04 / Linux Mint 17.1

First, open a root shell. Enter your password when necessary:

sudo -i

Install the required dependencies:

apt-get install python-dev libssl-dev libpcap-dev zlib1g-dev cmake libboost1.54

Create a working directory to store all files:

mkdir -p /temp/pyrit
cd /temp/pyrit

Get the Pyrit source code:

svn checkout http://pyrit.googlecode.com/svn/trunk/ /temp/pyrit/svn

Build and install Pyrit:

cd /temp/pyrit/svn/pyrit
python setup.py build
python setup.py install --record installed-files.txt

Go to http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/#appsdkdownloads, and download the AMD APP SDK. (This guide was tested with v2.9.1 on 64bit)
Move the downloaded file into the directory /temp/pyrit, then execute the following to install the AMD APP SDK:

cd /temp/pyrit
bunzip2 AMD-APP-SDK*.tar.bz2
tar xvf AMD-APP-SDK*.tar
./AMD-APP-SDK*.sh

Get the CAL++ source code:

svn co https://svn.code.sf.net/p/calpp/code/trunk/ /temp/pyrit/calpp

Make a necessary modification to the CAL++ source code:

cd /temp/pyrit/calpp
sed -i.bak 's/ATISTREAMSDKROOT/AMDAPPSDKROOT/g' CMakeLists.txt

Build and install CAL++:

cmake .
make
make install

Make a necessary modification to the Pyrit CAL++ extension source code:

cd /temp/pyrit/svn/cpyrit_calpp
sed -i.bak -e 's/ATISTREAMSDKROOT/AMDAPPSDKROOT/g' -e "s/'include'/'include\/CAL'/" -e 's/0.4.0-dev/0.4.1-dev/' setup.py

Build and install the Pyrit CAL++ extension:

python setup.py build
export AMDAPPSDKROOT=/opt/AMDAPPSDK*
python setup.py install --record installed-files.txt

Clean up:

cat $HOME/pyrit/svn/pyrit/installed-files.txt $HOME/pyrit/svn/cpyrit_calpp/installed-files.txt $HOME/pyrit-installed-files.txt
rm -rvf $HOME/pyrit

Reboot to finish the installation.

To uninstall Pyrit and the Pyrit CAL++ extension:

cat $HOME/pyrit-installed-files.txt | xargs rm -rvf

How To Build Your Own Computer, Part 1

Have you ever wanted to build your own computer? Building your own computer has several advantages. You get to choose which parts go in your PC, and you can customize almost every aspect of it.

The first step to building a custom PC is choosing the parts. PCPartPicker is a very useful tool to choose the parts for your PC. It automatically checks compatibility between the parts that you choose. I used the following parts:

You can see the part list at http://pcpartpicker.com/user/abrakev/saved/. Note: The hard disks aren’t included, because I couldn’t find them in the PCPartPicker database.