Nepali Computer Engineer Programmer Career Options in Nepal

Career options for Nepali Computer Engineer/ Programmer

Most of the Computer Engineering graduate are working in one of the following positions in Kathmandu. 
  • Programmer (Software Engineer) ~ 85 %
    • Desktop Applications Developer
    • Web Applications Developer
    • Mobile Applications Developer
  • Network Admin ~5 %
  • Sys Admin
  • DBA (Database Administrator)
  • Web/UI Designer
  • Q/A  (Quality Assurance)
  • 3D Animator / Modeler
  • System/Project Management
  • Information Architecture (System Designer)
We are being taught C/C++ for basic programming/ software development concepts but professionally “PHP, Javascript, JAVA, C#, Python” are of the popular programming languages used in Nepal. Recently, mobile application development for iPhone and Android phones (Objective-C and Android frameworks) are also being popular among Nepali developers

Nepal Telecom - useful service dial codes

I have listed important number/codes to dial to access useful NTC services.

1,2 : GPRS Activation/Settings : 

view previous blog : http://ganeshtiwaridotcomdotnp.blogspot.com/2013/02/ntc-nepal-telecom-gprs-setting-via-sms.html

3.GSM/CDMA Post paid Balance Inquiry:

Type CB (in your Message Box) & Send it to 1400(For GSM) or 1401(for CDMA), which informs u the due balance.
Type VB<space>6904 (in your Message Box) & Send it to 1400(For GSM) or 1401(for CDMA)
Note: Upper given 6904 is the example of concerned month and year, u can put number as per ur necessety
which is used to find out monthly bill.

4.CDMA Call Divert Cancel

Dial *703 from your CDMA mobile Set.

5. PUK no Inquiry (for both GSM and CDMA User)

Dial 1607 (follow the instruction)
(type 19 no. of pin code available at backside of your SIM)

6. International Call Bypass complain Registration

(if National Tel. Number appear while receiving International Call)
Dial 188 (follow the instruction), which is free of cost.

7. Telephone Maintenance (both for Land Line and ADSL)

Dial 198 (follow the instruction)

8. Budget Call (for international call)

Dial 1424<country code> <number>
http://www.ntc.net.np/tariff/intlSIPtariff.php
(this link provides you the economic tariff details for various country)

9. GSM inquiry

Dial 1498-free of cost ( For any complain or any query about ur GSM Prepaid )

10. CDMA enquiry

Dial 191- free of cost ( For any complain or any query about ur CDMA, sky ruim )

11. Balance Inquiry (for prepaid)

GSM : Dial *400# or 1414
CDMA : Dial 1415

12. BUZZ Service (Connect)

Type SUB (in your Message Box) & Send it to 5000

13. BUZZ Service (Disconnect)

Type UNSUB (in your Message Box) & Send it to 5000

14. PSTN Bill Inquiry

Dial…1606(related no)

15. PSTN, ADSL, POSTPAID GSM Bill payment through recharge card

Dial 1413 and follow instructions
Note : ADSL Bill payment through recharge card is Halted due to some problems, and will be restart soon.

16. Telephone no Inquiry (to know the contact no of different offices)

Dial… 197

17. Upgrade your postpaid/ prepaid GSM to 3G

Type <3G> in your msg box and send it to 1400 (It’s Free)

HTML5 tutorial with examples

Wouldn't it be nice to read about all the cool things about HTML 5 and view its live demo in a single article?
Yeah... Of course.
My friend Yadab Raj Ojha has listed all the features of HTML5 along with its examples in the following article. Take a look:



simple ball game by colored object motion tracking - image processing opencv javacv

DEMO VIDEO:  simple ball game by colored object motion tracking - using javacv opencv to detect the path of moving object. This is earliest version of the game.


Full Code :
Java Collision Detection and bounce

Colored object tracking in java- javacv code


You need to integrate the ideas from above links.
The full (integrated code will be uploaded shortly)

most Guaranteed job forever - programming

Programming is basically guaranteed employment forever ?


So, my summary line is rather hyperbolic, but I firmly believe that there is almost no better skill to learn than computer programming.  It's impossible to predict what jobs will be most in demand in the future, and thirty years ago I probably would've told you that the world will always need typewriter repairers, but computers and computer software are here for the long haul, and being an expert on exactly how they work will be a very good thing to be.  Even if "programming" isn't exactly where it's at in another thirty years, it'll be a good stepping stone.



For the now, there are available jobs programming in almost every city in the civilized world.  If you're a good programmer and interview well, you could probably work for any city you wanted to with almost any company.  That said, it's a little easier to spot a bad programmer in an interview than it is to spot a bad lawyer or a bad accountant, so if you're NOT that great a programmer or you interview very poorly, those jobs may not be as open to you.

So hopefully I've established that being a programmer is one of the best career choices you can possibly make, unless you want to go with being a lawyer or a doctor or an oil baron.  Still, the important thing is that you enjoy it.  Learn programming because programming interests you, that's the important thing.  I know some programmers who did it for the money.  They turn out to be bad programmers, and, worse, they hate their jobs.  Do what you love, even if you end up poor and doing what you love.  Really.

So now your question is "how."  That's tougher.  You can learn in lots of ways.  One way would be to pick up pretty much any programming language.  Once you've learned how to think like a programmer, you're 90% of the way there.  Learn Java, C, or whatever you like.  The best advice I can give you is to think of a very, very, VERY small program to write (tic tac toe), and then go out and write that program.  Pick any language you like and feel free to switch.  Java's a decent starting language, but there are plenty of choices.

One of the first thing you'll realize about programmers is that when multiple choices are roughly equivalent, fierce camps will emerge on all sides.  "What language should Ilearn first" is a good example.  Some folks will insist that you learn by writing programs exclusively on paper in a made-up language.

Getting help and reading tutorials are good things.  If you're in school, try to take programming classes.  If you're out of school, it's harder.  Beware of the books like "Learn Everything About Being a Java Programmer in 7 Days and Also Get Certified."  Some of these are good, but most are bad.  On the other hand, it's not a bad idea to wander around the computer section of the bookstore or library and thumb through everything that looks interesting.  The more ideas you're exposed to, the better.

I can't overemphasize the importance of play.  Write little 5-10 line programs to do whatever.  Try them out.  Change them around and see what they do.  Grab small example programs and add a feature.

Programming friends are important.  Find a friend who's a decent programmer and pester them with all sorts of questions about particular things you're stuck with or don't understand.  Askville's not a bad place to ask specific questions, either.

# Sites to ask programming QA

Object tracking in Java - detect position of colored spot in image

Red spot in image - position to be detected later
Object Tracking plays important role in Image Processing research projects. In this example, I am showing how we can detect the position [(x, y) coordinates ] of a colored spot in given image using JavaCV (Java wrapper for OpenCV ).



Input image :
This image has a red colored spot. And our objective is to track the position coordinate of the spot in image.The example below uses thresholding in HSV space and simple moment calculations given in OpenCV library.





You can use this code to track an object in a video sequence - say live web-cam capture video.


Detecting Position of a spot in Threshold image:
    static Dimension getCoordinates(IplImage thresholdImage) {
        int posX = 0;
        int posY = 0;

JavaCV: Image Thresholding HSV color space

JavaCV (OpenCv) example of image thresholding based on color in HSV-A Space - to detect red color spot on given image. Useful in object tracking.

Java Source Code:

//imports
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import com.googlecode.javacv.cpp.opencv_core.CvScalar;
import com.googlecode.javacv.cpp.opencv_core.IplImage;

public class ColorDetect {

Java Sound : audio inputstream from pcm amplitude array

In this post, i am going to show the code for creating the AudioInputStream from an PCM - amplitude array. It basically converts the int [] array to byte array according to AudioFormat.

The code for the reverse operation (extract amplitude array from recorded wave file or AudioStream )is in my earlier post : http://ganeshtiwaridotcomdotnp.blogspot.com/2011/12/java-extract-amplitude-array-from.html

The code for converting PCM amplitude array to AudioStream is follows :

Java Sound : generate play sine wave - source code

Working source code example on how to generate and play sine wave in Java :
View my previous post  for playing any PCM amplitude array.

Generate Sine wave of a particular frequency :
    private static byte[] generateSineWavefreq(int frequencyOfSignal, int seconds) {
        // total samples = (duration in second) * (samples per second)
        byte[] sin = new byte[seconds * sampleRate];
        double samplingInterval = (double) (sampleRate / frequencyOfSignal);
        System.out.println("Sampling Frequency  : "+sampleRate);
        System.out.println("Frequency of Signal : "+frequencyOfSignal);
        System.out.println("Sampling Interval   : "+samplingInterval);
        for (int i = 0; i < sin.length; i++) {
            double angle = (2.0 * Math.PI * i) / samplingInterval;
            sin[i] = (byte) (Math.sin(angle) * 127);
            System.out.println("" + sin[i]);
        }

Java Audio : Playing PCM amplitude Array

How to play a array of PCM amplitude values (integer or float array) in Java - Steps

Basic Steps :
//initialize source data line - for playback
SourceDataLine line = AudioSystem.getSourceDataLine(audioFormat);
line.open(audioFormat);
line.start();

//play the byteArray
line.write(byteArray, 0,  byteArray .length);//(byte[] b, int off, int len)
line.drain();
line.close();

Converting integer array to bytearray :
We need to convert our PCM array to byteArray because the line.write requires byte[] b as parameter.