Joseph Zikusooka ~ Zik

A software engineer specializing in open source technologies | Very experienced in building and configuring UNIX/Linux systems and servers. Passionate about developing software applications and hardware for the smart home | Currently serving as the CEO of Jambula Labs and the project leader at JambulaTV, a smart home automation and entertainment platform - https://jambulatv.com | This blog focuses on the following areas: Linux How-Tos and Tutorials ::: IT Security News ::: Free and Libre Open Source Software ::: Smart Home Software ::: Digital Innovations in East Africa https://mastodon.social/@jzik | https://github.com/zikusooka

Uganda’s Digital Free-to-Air TV is almost here

With testing for digital TV transmission for the greater Kampala area under way, Uganda’s migration to digital TV is back on.

For the open source geeks out there, I have re-published a script I wrote some years back to scan for DVB-T channels. If you live in the greater Kampala area; feel free to check it out from my GitHub repositories.

To use this tool, you will need a DVB-T2 tuner – USB dongle or PCI-based card.

So far, Broadcasting is currently on the frequency 674000000; in addition to the already existing pay tv frequencies of 490000000 , 498000000 , 522000000, 538000000, 546000000, 570000000, 586000000, 634000000, and 690000000.

We are really in the initial stages, as most broadcasters are not yet on at this time. Also analogue TV users should expect to be temporarily switched off this week as transmission masts are re-fitted with new panels.

Happy testing

Do the NSA revelations matter for developing nations?

I never thought I would comment on the continuing NSA revelations by Edward Snowden on this blog.
Considering how deprived most developing nations like Uganda are when it comes to ICT, one would brush off such leaks as a problem for the west.

But then again, due to our dependence on IT products and services (think Google, Microsoft, etc) from the US, IT users need to seriously reconsider what services and products they use.

If you are still using any of Microsoft’s products e.g. Windows, I recommend you take a look at this and other articles on Microsoft and the NSA.

Why We Can No Longer Trust Microsoft – John C Dvorak

Turns out Microsoft has been helping out the NSA and its surveillance work – confirming what a lot of us in the open source community always thought.
This might be a good time to migrate your systems away from those proprietary vendors unless of-course you don’t mind having ‘back-doors’ in your software and possibly being monitored.

Linux scripts for 3G Internet in Uganda

The most common way Ugandans are accessing the Internet on PC today is via USB 3G modems . All the major Internet service providers in the country; i.e. Orange, MTN, UTL, Airtel, Warid offer 3G internet albeit at very slow speeds. The modem dongles that are commonly sold are Huawei models. Some like Orange carry ZTE models.

I just pushed a set of Linux bash scripts to my github repositories. These CLI PPP scripts can be used to dial an ISP in Uganda and connect to the Internet. If you are the type of person, who uses the Linux command line interface a lot, then these utilities are for you. As long as you modem is recognized by the kernel, you are good to go.

You can use these scripts to automate your connection. These scripts also, provide several statistics on your USB dongle, such as the EMEI, IMSI numbers, lock status, speed capacity etc.

You can find them at ppp-ug

Enjoy!


The Raspberry Pi and Uganda’s Digital TV Migration Update

A raspberry pi kit just got delivered to the labs for testing. I’m looking forward to see what sorts of things a raspberry pi can do for us here in our Uganda.

Unless you’ve been living under a rock; the biggest news this past year in IT hardware has been the raspberry pi. Initially meant to help school kids learn how things work. This project has been a wild success, but mostly with the adult kids. Most appealing is the very small form factor and the $35.00 cost. With all these features, this little board gives you all the computing power you need to do your work plus some pretty cool stuff. Some of the interesting projects out there using the raspberry pi include: a web server to store all you files, a router, a webcam server, a weather station controller, a game arcade system, etc.. You can read more about the Pi here

Meanwhile, Uganda continues to struggle with the Digital TV migration process. After failing to meet the December 2012 regional deadline to switch from analogue to digital TV, the Uganda Communications Commission has now set tentative dates with an assurance that by December 2013, all of Kampala, and major towns in the country will have switched. In my opinion, the targets while attainable are still very ambitious considering that there has been very little done so far to prepare Ugandans for this change. It is hoped that testing of digital TV transmission will begin in May this year. Lets wait and see.

How to install Asterisk 11 – Part 1

Asterisk is the popular open source telephony platform. With just a few hours to spare, you can turn any spare PC in to a world class PBX system. In part 1, I will list the steps involved in installing asterisk using sources. The steps below can be used with RedHat based systems like Fedora. It shouldn’t be that hard to replicate on other Linux distributions like Ubuntu.

Update your system and reboot if there’s a kernel upgrade:
yum update

For Redhat systems, disable selinux:
sed s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

Install required dependencies:
yum -y install make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel

Download current asterisk 11 sources:
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

Note: Dahdi is only needed if you will be using a telephony card to access the PSTN. Timing provided by dahdi is also no longer needed with the new conferencing capabilities in Asterisk 11

Unpack and install the source packages. Please note that the installation order is very important:

a) dahdi
tar zxvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete*
make && make install
make config (Generates sample configs)

b) libpri
tar zxvf libpri-1.4-current.tar.gz
cd libpri-1.4*
make && make install

c) tar zxvf asterisk-11-current.tar.gz
cd asterisk*
./configure --libdir={LIBDIR} e.g /usr/lib64 (use uname -a to confirm architecture"
make menuselect (optional)
make && make install
make samples (on fresh install only)
make config

Start services
service dahdi start
service asterisk start

Check to ensure is running:
asterisk -vr

In part 2, I will go over how to configure your asterisk server.

Setup an instant messaging server for your office

Email is a great tool for communication and that is why even in the age of social networks, it persists. However, if you work in an office environment that requires constant and real-time communication between users, email may not cut it. Sometimes you just want to send a quick message without clogging your users Inboxes. What you need is an instant messaging system.

There are quite a number of open source based IM messaging servers; however, I like and have used jabberd over the years. Jabberd2 is an open source implementation of the jabber/XMPP protocol used by popular IM clients.

Installation of jabberd2 on Linux is fairly easy, although you need to know your way around the command line interface and how to edit configuration files.

To start with, install jabberd2. On Fedora/CentOs/RedHat systems:

yum install jabberd

After installation, you will find all configuration files located under /etc/jabberd

You will need to edit the files sm.xml s2s.xml c2s.xml, router.xml; and templates/roster.xml to suit your environment. Then setup your user accounts in your preferred driver backend. Detailed configuration instructions can be found here.

Now all you need to do is install an IM client on your users PCs. There are several of these for all platforms. On Linux; favorites include pidgin and empathy

One cool thing with jabberd2, is that it is very extensible and you can add chat rooms functionality; a sort of ‘circles’ – old school style

Git – The open source developer’s favorite version control system

Today, my brother sent me a link to Clay Sirky’s talk on the political ramifications of ‘cooperation without coordination’ on communities – How the internet will one day transform government. Knowing how much an advocate for open source software I am, he couldn’t have picked a good time. I’ve been thinking of recommending an open source tool called git on this blog.
OK, I won’t comment on the politics here, but I encourage you to listen to this talk, even if you’re not a software developer.

Interestingly, Clay Sirky mentions the power of collaborative software development using git, which enables one developer in Edinburgh to collaborate with another developer in Entebbe (Uganda) without them knowing each other.

So what is git? Git is an open source based distributed version control system, that allows software developers to collaborate and share code. Unlike traditional systems that require a central server, with git, anyone can clone a repository and make changes locally, that can be pushed upstream. Git was created by the man who invented Linux i.e. Linus Torvalds, so you know it embodies the open source spirit!

I recently migrated all my software development projects to using git, I am really loving it as it makes keeping track of the projects a lot easier than before.
I won’t delve into how to use git here, but a good How-To can be found at:
Getting Started with Git

If you are an open source developer and you’ve not yet started using git, you are really missing out.

Try it and you’ll not look back.

Open Source and Digital TV Migration Updates in East Africa

Some interesting news stories in our neck of the woods that caught my attention recently:

Kenya is considering moving away from proprietary to open source software solutions for government bodies. As the article suggests, this move is not only a cost saving measure, but opens up opportunities for local software developers. I think other economies should follow this example. Read more

Also in Kenya, the migration to digital TV is moving rapidly, as the authorities increase incentives of importing digital TV ready equipment. Vendors are now able to import either over-the-air channels only set top boxes (STB) or premium channel STBs. This move means the prices of digital TV equipment will go down. Read more

Locally in Uganda, there’s still a whole lot of talk on digital TV migration, as providers still fight over who will distribute the signals. It looks likely that the initial switch date of December 2012, will be missed. A ban on TVs that do not have a DVB-T2 chipset is being implemented starting next year. Read more

How to create an encrypted USB drive in Linux using the command line

Recently, I was tasked to write a backup program for a small office. A key requirement was that the portable backup drive they are using needed to be encrypted since it would have to be ferried off site on a daily basis. The idea was that, if the drive fell in the ‘wrong hands’ during transportation, the client’s data would be secure. With encryption, I was able to meet this need.
I thought I would break the silence with a how-to on encryption using the Linux command line interface – not exciting but quite necessary these days.

Encrypting data in Linux is very simple, and I would highly recommend it for such things as USB flash and portable hard disks. Most Linux distributions come with an encryption tool called cryptsetup.
If you do not have it , install it using yum or apt-get depending on your package manager. For Red hat based distros, use

# yum install cryptsetup

As always, you need to backup your data before you proceed. I will assume you have already created a new partition on your device e.g. /dev/sdX1. If you need to partition, refer to the venerable ‘fdisk’ utility

Create the encrypted volume

# cryptsetup -v -y luksFormat /dev/sdX1
Confirm that you want to proceed by typing “YES”
Enter your passphrase when prompted. You will be asked to verify it
Once you have created the encrypted volume, you can proceed to format it

# cryptsetup luksOpen /dev/sdX1 mydata
# mkfs.ext3 /dev/mapper/mydata

Here you can choose other file formats such as FAT32, EXT4 etc

Create a mount point

# mkdir /mnt/mydata

Mount the new volume

# mount /dev/mapper/mydata /mnt/mydata
You can then write your data to the mounted and encrypted volume at /mnt/mydata

To close the volume

# umount /dev/mapper/mydata
# cryptsetup luksClose mydata

Note: if you are using a desktop such as GNOME, you will be prompted for a passphrase every time you insert the disk, so you do not have to mount the disk manually, but then again, we are talking about the command line here!

That’s it for now

Uganda’s transition to Digital TV. Where are we now? (II)

As reported in one of the local dailies, the Uganda Communications Commission (UCC) has directed TV broadcasters to plan for digital TV using DVBT-2 capable equipment. DVBT-2 is the second generation of of Digital Video Broadcasting and ensures spectrum usage efficiency of up to 50% while providing for better quality HDTV. Uganda joins countries such as South Africa and the UK that have joined this standard. Read more at Daily Monitor

Considering that Uganda is already way behind in meeting the December 2012 migration date, I think this is a good move. The UCC directive may not be warmly welcomed by the existing providers who are using the older DVB-T standard, but I believe, this will open up the market to cheaper alternatives.

Throughout this process, I have been bothered, by the perception among our people that getting digital TV means signing up with one of the pay TV providers like DSTV, Star, Go or Zuku TV. May be the UCC needs to better inform Ugandans that the switch, will only cost one a conversion box or Zero if you already own a TV with a digital TV built-in tuner! By the way, those boxes, now that DVB-T2 is the preferred standard should be cheaper and even affordable when subsidized.

What do you think?

Scroll to top