James John – Software Engineer

huawei3gswitcher: My little Code that Switches Huawei Modem Network Mode

Okay! I found myself using GLO Network, probably because of the cheap Internet data. But that wasn’t enjoyable, as their network 3G is not stable, my device is always jumping from 3G to 2G vice versa all the time. This disturbs my browsing I don’t use Windows, so no software for me to keep this […]

Spoof HTTP Headers Using Squid Proxy Server

What are HTTP Headers? HTTP headers are the core part of these HTTP requests and responses, and they carry information about the client browser, the requested page, the server and more. Examples of HTTP Headers What your browser sends to the server:

This interprets, my browser requests for the directory / on the host […]

Downloading Package Source Files and Rebuilding in Debian/Ubuntu

Gets to a point you might want to rebuild a package, maybe to be modified. It is easily done in Debian based systems. We will be using nano for this post, we are going to download nano source and rebuild it to a .deb file. Before this is done, you have to add deb-src to […]

MySQL2MySQLi: A Small Program to Help Migrate from PHP mysql_* to mysqli_*

Stumbled upon a very monstrous PHP project, very old of course, the client complained that the web host refused to downgrade the server for them and this project doesn’t work anymore because it was written with bunch of mysql_* depreciated function. Now it was my job to start editing these files one after the other, […]

This Python Program will Set your DNS Servers in /etc/resolv.conf Accordingly

Etisalat Mobile Communication Network blocked OpenDNS Server which turns out to be the server I use most. So each time I connect to Etisalat, I will go to edit my /etc/resolv.conf and set it to Google Public DNS. Been doing this for months and I told myself, why not write a program to check this […]

Bluetooth: Fix a2dp-source profile connect failed for XX Protocol not available in Linux

Been a while I’ve always wanted my Android to stay connected to my Linux via Bluetooth but I always get this heartbroken error message. bluetoothd[778]: a2dp-source profile connect failed for XX:XX:XX:XX:XX:XX: Protocol not available Why This Error? Most bluetooth devices are connected to your PC to use as Multimedia device (Sound), but when it wants […]

How to Set Up SSH Keys Between Servers

SSH Keys SSH keys serve as a means of identifying yourself to an SSH server using public-key cryptography and challenge-response authentication. One immediate advantage this method has over traditional password authentication is that you can be authenticated by the server without ever having to send your password over the network. Anyone eavesdropping on your connection […]

One-Click Root for ASUS Zenfone 2 ZE551ML in Linux and Windows

After a final decision on rooting my phone, I did it and it wasn’t that hard ;). Zenfone 2 ZE551ML is one of ASUS’ latest phone with high specifications of 4GB RAM and 2.3GHz QuadCore Intel Atom processor and it comes in kinda low price which is actually good. Zenfone 2 comes with Android 5.0 […]

How to Enable Intel DRI3 in Xorg

The Direct Rendering Infrastructure (DRI) is a framework for allowing direct access to graphics hardware under the X Window System in a safe, efficient way. The main use of DRI is to provide hardware acceleration for the Mesa implementation of OpenGL. [Wikipedia] You may be experiencing some graphical glitch effects on your DE, this might […]

Fix Grub efibootmgr: Could not set variable *: No space left on device

On installation of Debian 8 on a PC, grub wasn’t installed. Trying this method to install it, I got the error: efibootmgr: Could not set variable Boot0004: No space left on device I thought, is my /boot partition filled up? or my / is filled up so early. Had to even extend my /boot partition […]