OpenSignal

With OpenSignal you can map cellular coverage, find Wi-Fi hotspots, test and improve your reception & get faster data.

Signal compass points you in the direction your signal is coming from, just walk towards it!
WiFi map allows you to easily locate nearby public networks.
Coverage maps allow you see the best places for signal.
Speedtest feature allows you to see the true speed of your connection (download, upload & latency)
NetworkRank allows you to see which carrier is best in your area.
Keep track of your monthly data, text and voice usage so you don’t go over your limit.
See a map of local cell towers.
Free and ad-free

You can also:
Help improve our coverage and WiFi maps.

Share your findings on twitter and Facebook and compare your connection with other users.
✓ View your history of signal readings.
✓ test upload, download and latency
✓ Save your data to SD card.
✓ Signal booster for compatible phonesSMS Permission required to count the number of SMS sent to track your usage, SMS are never read (use a packet sniffer to check!)
Phone settings permission allows network reset on certain Android versions

helpful if you’re travelling abroad or just want to find a local cafe with free wifi. Our Stats tab helps you to keep track of your usage, so there’s no danger of you going over your plan limit on data, voice or text. (NB – this is why the app needs permission to access contacts and SMS, these are the permissions needed to count calls and texts, messages are never accessed or read!). Slow mobile internet? Whatsapp or BBM not working? Can’t make that crucial skype call? Facebook, Instagram or Twitter too slow to be enjoyable? Run a speedtest to see the real speed of your connection, use the signal booster compass to get a better connection or use our maps to find the nearest free wifi!

Advanced notes:
– For GSM, cell tower are identified via cell id and location area code (CID and LAC)
– For CDMA (Verizon, Sprint), cell towers are identified via Network ID, Base sub-station ID and system ID (NID, BSSID and SID).

A Comprehensive list of Telecom Interfaces

A comprehensive list of telecom interfaces depending upon the type of Node

Core Network-CS domain

Node-1   Node-2   Interface
MSC-Server VLR B
MSC-Server HLR C
HLR VLR D
MSC-Server MSC-server E
MSC-Server IP-SM-GW E
MSC-Server EIR F
VLR VLR G
HLR/HSS AuC H
GMSC-Server CS-MGW Mc
GMSC-Server MSC-Server Nc
CS-MGW CS-MGW Nb

Core Network – PS domain

Node-1   Node-2   Interface
SGSN HLR Gr
GGSN HLR Gc
SGSN EIR Gf
SGSN GGSN(same-plmn) Gn
SGSN GGSN(diff-plmn) Gp

Interface between CS and PS domains

Node-1   Node-2   Interface
MSC/VLR GGSN Gs
SGSN/IP-SM-GW SMS/GMSC Gd
MSC/VLR MME SGs
MSC MME/SGSN Sv

Interfaces in EPC

Node-1   Node-2   Interface
MME HSS S6a
SGSN HSS S6d
MME S-GW S11
MME MME S10
S-GW PDN-GW S5/S8
MME EIR S3
S-GW SGSN S4
S-GW UTRAN S12
NON-3GPP IP Access SGW/PGW S2a
PDN-GW/S-GW ePDG S2b
PDN-GW Ue S2c
PDN-GW 3GPP AAA Server/proxy S6b
Untrusted non-3GPP IP Access 3GPP AAA Server/proxy SWa
Trusted non-3GPP IP Access 3GPP AAA Server/proxy STa
3GPP AAA Server 3GPP AAA proxy SWd
ePDG 3GPP AAA Server/proxy SWm
ePDG Untrusted non-3GPP Access SWn
ePDG UE SWu
HSS 3GPP AAA Server SWx
UE ANDSF S14
HRDP AN MME S101
3GPP2 1xCS IWS MME S102
HSGW S-GW S103
UE CSG List Server Uh

RAN

Node-1   Node-2   Interface
BSC BTS Abis
RNC RNC IuR
RNC nodeb Iub
HNB HNB-GW Iu-h
eNodeB eNodeB X2

Shell Scripting with Zenity

I was creating a shell script that will automate some certain tasks. I had written the scripts that would compare data from two files. The logic was the extract the data from the files and then compare using the diff tool.

Now once I had developed the tool, the requirement was to make it more user friendly and add some kind of GUI so that it is easy to operate for the general users.Though I would prefer to work with the command line rather than the GUI option, I gave it a shot and searched for the options to implement some GUI features with the shell script. I came across Zenity.

I am sharing some of the code that I implemented with Zenity for user inputs and other display information. I have posted this project on Github, you can use to learn more about it and you are welcome to modify the code as per your requirements.

1. Displaying Error when Directory is not present

##Check if all required files and directories are present
if [ ! -d "$data" ] || [ ! -d "$postcheck_logs" ] || [ ! -d "$precheck_logs" ] || [ ! -d "$reports" ]  ; then
   zenity --error \
--text="Directories missing. Please reinstall or see the help doc."
fi

2. Displaying a file as text information using zenity. It supports html

zenity --text-info \
--width=600 \
--height=600 \
--window-icon=$ICON\
       --title="My Custom Tool" \
       --filename=$INFO \
       --html=TRUE\
       --checkbox="I read and accept the terms."

case $? in
    0)
       
	rpt_select_activity
	;;
    1)
        echo "Exit"
	;;
    -1)
        echo "An unexpected error has occurred."
	;;
esac

3. Selection Dialogue with Zenity

activity=$(zenity  --list  --text "Please select the option" --radiolist  --column "Select" --column "Activity" FALSE "Option 1" TRUE "Option 2" );
case "$activity" in
    *"Option 1"* ) option 1_function;;
    *"Option 2"* ) option 2_function;;
    * ) echo "Error...";;
esac

4. Open a File in an Editor Window

File_LIST=`zenity --file-selection --title="Please select the File"`;
if [ "$?" != 0 ]; then
    zenity --error --text="No File selected.";
    exit 1;
fi
zenity --text-info \
--width=600 \
--height=600 \
       --title="Please confirm the selected File" \
       --editable=TRUE\
       --filename=$File_LIST \
       --checkbox="The selected File is correct"

case $? in
    0)
       echo "RNC Selected"
	
	;;
    1)
        echo "Exit"
	;;
    -1)
        echo "An unexpected error has occurred."
	;;
esac

I mostly used the above options with my tool which helped me add some of the GUI features to my shell script. It is a good way to make your scripts bit more interactive.

Simplify your tasks using Shortcut keys in Gmail

Looking to make your life a little easier in Gmail.com while answering your emails? Here’s a list of shortcut keys that might help!

  1. Click the gear icon in the upper right, then select Settings.
  2. Choose the option next to “Keyboard shortcuts” to turn them on. You can also enable shortcuts automatically by going to http://mail.google.com/mail/?kbd=1
Shortcut Key Action
c Compose
+ c allows you to compose a message in a new window.
/ Search
n Next message
p Previous message
+ Mark as important

For full list you can check out – http://support.google.com/mail/bin/answer.py?hl=en&answer=6594

Make XAMPP/Apache serve file outside of htdocs

If you use XAMPP for development, you have to use the htdocs folder to store your production/development files. If you want to map any other folder to use as a development path, you can just do the following settings.

Edit the value of  DocumentRoot setting in XAMPP\apache\conf\httpd.conf.

It should currently be:

C:/xampp/htdocs

Change it to the folder you wish

C:/Users/mohit/www

Points to note.

  • Don’t forget to edit it in BOTH lines that ask for DocumentRoot. If you only change the top one, you’ll get read-access errors.
  •  You have to use forward slashes “/” instead of back slashes “\”.
  • Don’t include the trailing “/” at the end.