Getting to Know Telecommunication

It has been almost 6 weeks already since my job attachment here in a mobile telecommunication company. As a CISCO certified person, I am appointed as an IT technician who troubleshoots pc and networks around Sabah region. During my stay, I started to speculate on the things they do here. How do they provide services to subscribers located around the region? What technologies do they use to provide these services? How do wireless broadband work? What is telecommunication? All these questions started to build up so I took the effort to conduct my own research on the subject.

Although telecommunication is a totally different field from my IT/networking background, there are still some similarities. For one which is the most obvious, the company I’m at uses CISCO devices for their interconnection too. This is because they also provide data transmission services other than voice transmission. So I am going to spend some time here to explain briefly what I have researched so far. Good stuff…

Today telecommunication is all about providing wireless connection to wide range of areas around the globe with great transmission speeds. Although fixed lines are still widely used, mobile communication has grown rapidly that led to the significant decline in fixed network subscriptions. This leads me to believe that being in the mobile industry is and will be secure for a very long time. But nevertheless, both fixed lines and mobile communication are both extension to the word telecommunication; transmission of messages over significant distances for the purpose of communication. So how did it all began?

Earlier signs of telecommunication started when the electrical telegraph was invented in the 1840s. A telegraph is used to communicate over long distance by using Morse code. Then came the conventional telephone in 1876 which is now in use worldwide. The invention of radio in the late 19th century and television in the early 20th century has played an important role in wireless communication. At that time, only voice was transmitted through the transmission medium. Now in the digital age, we have packet switching (transmission of data packets) which then made the Internet possible.

Mobile Telecommunication Company for example Maxis, Celcom and Digi provide communication services to mobile devices which may move around freely unlike Telekom who provides fixed line network. These services include wireless telephony and broadband internet services. To be able to provides these services, wireless standards have to be used. These standards are like GSM, CDMA, UMTS and WiMAX. More on these technologies in my next post.

Advertisements

Installing Eclipse on Ubuntu

An easy way to install Eclipse on Ubuntu is through the Ubuntu repositories. This can be done by opening up the “Ubuntu Software Center” under Applications. Click on Developer Tools -> IDEs. Then look for Eclipse from the list of IDEs that shows up. If you click on Install, you will be asked to enter your user password then it will automatically install Eclipse for you. It should be pretty straight forward here. After installation is complete, you can start Eclipse in Applications -> Programming -> Eclipse.

Another way is to install it manually by downloading the Eclipse files from http://www.eclipse.org/downloads/. You will need to install JRE or JDK first before you can run Eclipse. You can do this by typing this in the terminal.

sudo apt-get install sun-java6-jre

Extract the Eclipse files to the /opt directory so that other users can have access to it.

tar xzf eclipse-SDK-3.5.2-linux-gtk.tar.gz
sudo mv eclipse /opt/eclipse

Then create an eclipse executable in your path.

sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
sudo gedit /usr/bin/eclipse

Then type in the followings and save.

#!/bin/sh
#export MOZILLA_FIVE_HOME=”/usr/lib/mozilla/”
export ECLIPSE_HOME=”/opt/eclipse”
$ECLIPSE_HOME/eclipse $*

Then create a gnome menu item.

sudo gedit /usr/share/applications/eclipse.desktop

Enter the following and save.

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true

Now you can run Eclipse from Applications -> Programming -> Eclipse. You can also install different Eclipse packages for example the Eclipse + PDT package by using the manual way of installing.

Using Glade for UI development on Gnome

On my post about network traffic monitor project, I said that I will share some details on it here. Well here it is. My application works on a GNOME desktop environment which is the default Ubuntu desktop. Now there are two ways to go about creating GUI application on GNOME. The hard way would be to hardcode the UI from scratch using the GTK libraries or the easier way would be using a tool like Glade that helps to generate the codes for you. Glade is an open source RAD tool.

I used Glade for my project as it is so much easier to use than hardcoding each widget like windows and text boxes. It also saves a lot of time since it is much faster too. With glade you can add any widgets that the GTK library provides into a container. You can then configure the properties of that widget for example the title name, the width and length etc. When saving the project, Glade will create an glade file which is in fact a XML file that describes all the widget and its properties so that you can use it on your application.

The Glade file can be loaded by applications dynamically by using GtkBuilder GTK object. GtkBuilder adds connection between widgets and the application source code. By using GtkBuilder, Glade XML files can be used in numerous programming languages including C, C++, C#, Vala, Java, Perl, Python,and others. Below is the code snippet to add the Glade file using python.

builder = gtk.Builder()
builder.add_from_file(“filename.glade”)

builder will be used as a reference to the Glade file that is added as filename.glade. To interact with a widget on the Glade file you need to reference it first for example:

window = builder.get_object(“main_window”)
combo = builder.get_object(“combobox_interface”)

window is now referencing the widget named “main_window” that is defined in Glade. combo is referencing “combobox_interface” widget. Once you successfully reference the widget, you can interact with them for example connecting signals to it. A signal is used to tell the application that an event has occurred. Examples of events are user clicking a button or resizing the window. Since my application is GUI based, it needs to be event-driven so that it will react whenever a user interacts with it. The codes below is an example of how to connect signals.

window.connect(“delete-event”, destroy_window)
window.connect(“response”, destroy_window)

In the codes above, I’ve connected the “delete-event” and “response” signal to the window widget. The “delete-event” signal will be emitted when the window is closed for example the user clicked to the ‘X’ button on the window. destroy_window is a callback function which is called when the signals are emitted. Callback functions are used to execute codes in response to the events.

Glade can be a pretty neat tool if you ask me especially for developers that uses RAD methodology. You can change the interface easily without changing much of the codes. You can also see the changes nearly instantly after editing the design.

I will post other information of my project soon.

IDE headaches

Since I started using Ubuntu, I still have problems finding the right IDE to use for my programming needs. I went through a few like eclipse, netbeans, komodo edit, gedit + plugins and now geany. Eclipse and netbeans are nice but they are quite heavy. I prefer IDE that runs fast so I don’t have to wait 15 seconds for an IDE to start. Komodo Edit is lighter and served me well for my python project I was doing last year. Recently I tried gedit with configurations to work well for php. Yeah, gedit is the main text editor for Ubuntu but it can be used for programming with a little tweak. But the thing I don’t like about it is the lack of code folding. Now I’m trying out geany, which is in the repositories for Ubuntu. Geany is also light weight and has most IDE functions like:
# Syntax highlighting
# Code folding
# Symbol name auto-completion
# Construct completion/snippets
# Auto-closing of XML and HTML tags
# Call tips
# Many supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal (full list)
# Symbol lists
# Code navigation
# Build system to compile and execute your code
# Simple project management
# Plugin interface (see Plugins)

So lets see how long Geany will last.

Which photo sharing services

Photography has been a popular subject across the Internet for some time now. More and more people are taking up photography these days. The web makes it even even easier for people to store and share photos with family and friends. Popular photo sharing web services like Yahoo’s Flickr and Google’s Picasa allows users to have an online album so that other people around the world would be able to see and comment their photos.

I don’t see myself as a photographer but time to time I would take some pictures on my Sony cyber-shot digital cam and store them on my harddrive. Some of my photo albums that I think are interesting I upload on my Facebook account. So most of my pictures that I have are on my harddrive. Its a good practice to backup your digital photos time to time and a good way to do that is by uploading it on the web. My greatest regret is that I did not do so when I realize only to late that my harddrive would not run anymore because of bad sectors.

Last week I installed Picasa on my laptop and I liked the way it helps to organize my photos for me. When I wanted to upload my photos using Picasa I realized that I have 1 GB limit of storage space on my Picasa account. I was a little disappointed with this, so I checked Flickr. Flickr on the other hand has no storage limit. Sounds great right? Not really, there is a catch. Flickr free account users are allowed to upload 100 MB of images a month. Which means that if you already uploaded 100 MB of images this month, you will have to wait for the next month to upload another 100 MB. Yeah so you need more than 10 months to beat Picasa’s 1 GB of storage limit thats if you used up all the 100 MB upload for each month.

Flickr also limits your “photostream” to the 200 most recent photos. So when you uploaded and hit more than 200 photos, Filckr will only let you see the 200 most recent photos. The old ones will not be deleted but it will be kept hidden. If you linked the old photos to a webpage, you will still be able to see them from that webpage.

These storage and upload limits can be lifted if you get a pro account on either Flickr or Picasa. With a pro account on Flickr you have unlimited upload for each month and on Picasa, instead of 1 GB you get a wooping 7 GB!

Uploading photos on either Flickr and Picasa is easy since both have their own web browser interface and software. Downloading gives Picasa the upper hand since Picasa software itself has the ability to sync photos on the web and on a computer. Flickr has third-party services that helps to download photos from your account which I heard is a pretty labor-intensive process.

Another alternative would be Facebook. Facebook Photos has emerged as the largest photo-sharing service in terms of users and is one of the fastest growing of any size. Facebook however truncates the quality of the photos you upload to fit the required pixels it uses. So the photos you upload won’t look as good as the originals you have. Facebook photos is not a good backup plan for your photos especially for those who wants to keep the quality of their photos.

Both Flickr and Picasa have their pros and cons. It all comes down to the users and what they want to use these services mainly for. Picasa is good for managing photos and probably the best way to backup 1 GB of photos. Flickr is best for its tags and communities where its all about sharing. For me, I use this kind of service mainly for backup and that is why I use Flickr. Eventhough I won’t be able to view all my photos because of the “200 most recent photos” limit, I know that my photos are safe in Flickr until I upgrade by account to pro to view all my photos. I don’t really see myself using Picasa until Google increase the storage space. Well, that’s me.

If you want a more technical comparison between Flickr and Picasa, you can read them here.

Make IE run faster

I know this is not a new thing but my guess is that many web surfers are not aware of this great plug-in for Internet Explorer. Google Chrome Frame is an open-source plug-in that takes advantage of Google Chrome’s Javascript rendering engine and open web technologies like HTML 5. This plug-in will render pages even faster and these pages will look even better on IE. The latest IE 8 has only some support for HTML 5 by default.

For those who are still running IE especially IE 6, you can download this plug-in and install it for free and you will see significant improvement to your web experience. You won’t even notice it running since it runs in the background. It also runs if it only needs to. Be aware though that not all webpages takes advantage of this plug-in. Web developers need to first include a special tag to make use of it.

The release of the plug-in had stirred up some issues with rival companies like Mozilla and Microsoft. They say Chrome Frame will confuse users and render some of their familiar tools useless because of fragmentations of multiple rendering engines. Its nothing to worry about really since we can’t do anything about it but make use of it.

My dad use to have IE as his default browser until I manage to convince him with much effort to move to Firefox. For those who have friends or family that do not want to let go of their IE, you can install Google Chrome Frame on their computer and they would never know. :)

Looking for a mobile-phone

For the past year or so, I’ve been wanting to buy myself a new mobile-phone. I have always been a fan of Sony-Ericsson’s product which I have been using for the past 5 years now. Now it is time to stop being a fan boy and search beyond the bounds of one manufacturer for a potential device I can have with me all the time.

One of the things about Sony-Ericsson’s product that gets me pulling my hair of my head is the Graphical User Interface. Most of their mobile-phones OS have more or less the same GUI which is starting to irritate me. GUI plays an important role for me since it shows how well I interact with the device. That is why I have taken special interest in smartphones with touchscreen capabilities.

For me, Operating System comes first before hardware but not to overlook the hardware capabilities since it will be useless to have a good working OS that runs extremely slow on a device. There are two OS that interest me; IPhone OS and Android. Everyone knows IPhone is one of the best smartphones in market yet. Android (not a mobile device) on the other hand gets less attention from the public most likely because it is still new and only limited mobile devices has Android as the OS. But Android seems to grow with its community and the release of Google’s new smartphone, Nexus One. Android is fully open source unlike IPhone (half open source) which makes it easier for developers to create new application on it.

For now, I am siding with Android since I love open source and Google. Until Apple comes up with a new jaw dropping device, I will stick with Android.