Freelance : Chose your area and prepare yourself

There are many type of freelance works.  From accounting to copyrighting. Data entry to server based api development. Php to java. So first decide in which field you want to dive in. Check which skills do you have.  Which skills you are lacking.

You may decide in which field you will work based on two things :

1. Your previous experience and study

2. Statistics on current market

If you’ve studied accounting then you may search for freelance jobs related to accounting. LLB degree holders can look for jobs related to legal support. Additionally, Those who are studying or just finished software engineering can search for programming job. Furthermore, if you have some computer literacy and good English communication skills, you can get data entry related jobs. Other areas may include translation, admin and logistic support, copy writing etc. In addition you can think about photography, customer support, training etc.


Prepare yourself

If you think that your skill is not enough to do freelancing, don’t worry. Sit back and relax.

There are many online courses that help you to improve your skills. Some courses are free and for others you have to pay.

Three online learning sites are:, edx,

My career started to dramatically improve after learning from And now I’m learning from One good thing about coursera is that you can access most of the courses for free. Just enroll for a course. when they ask for payment or purchase, select “Audit Only” option.

They will charge you only when you need certificates from them.

Photo Credit: Flickr

Freelance : How will you start

When I started freelance job back in 2006, number of Freelancers were very few. So it was easy to find freelance jobs. However now it has become very hard. Because there are many freelancers out there to compete.

But don’t worry. I have some secrets for you. There  are some clients who want their job to be done at cheaper price. They know only new Freelancers will do this without asking any question. They are your potential customers.  So target them.

I like to finish my works step by step.  Let’s do the same here.

1. Decide what will you do

There are variety of works you can find in freelance sites. They range from accounting to online advertisement, data entry to server api development,  administration support, legal advice etc. So first choose what will you do.

2. Prepare yourself with skills

After selecting your area of freelancing, think yourself whether you have enough skills to perform tasks related to your area of concern. If not then take online courses to improve your skills.

Read my other article Freelance : Chose your area and prepare yourself

3. Prepare your portfolio

If you are new to freelance, you will not have any previous working record, feedback or rating in your freelance account. In such situation only thing that you can show is your profile. So createll your profile wisely with sample works or prejects.

4. Write sample project proposal

Write some sample proposals or create some basic structures. But when you submit your project proposal,  don’t use same template text. Write some more detail related to the project. For example overview of how will you finish the job, ask questions related to project.

5. Open accounts on different freelance sites.

There are many websites that offer freelance jobs. Open accounts on some of them. Currently, good platforms include,, etc

6. Bid on small projects which requirement you understand and have confidence that you can finish.

You may follow this rule for first few projects only

7. Response to client carefully

If any client contacts you, response with attention,  try to understand what he or she asked, answer precisely.

8. Be patient

It may take 1 week to 1 month to even 1 year to get first freelance job. So be patient. As soon as you receive one probject and finish it successfully, you do not have to look back.

9. Finish awarded project in time

Once you receive a project, try to finish it with full effort. Finish it in time and maintain quality.

Give good feedback to client and request for feedback.

How to Load MKMapKitView & add Pin or Marker using swift

Loading map on your iOS application’s MKMapKitView is very easy. Just drug and drop. To add a pin or marker, write some simple codes in swift. Let’s begin:

Create a new “Single View” project in Xcode. Select swift as language.

  1. Open Main.stroyboard from Project explorer. You will see the ViewController.
  2. Focus on Object library. It is at bottom right corner of Utility panel. Find out Map Kit View. If you can’t find out it, take help of filter box. Filter box is located at the bottom of the Object library. Check the screenshot.
  3. Drag and drop the Map Kit View in View Controller. Resize Map Kit View so that it fills the full ViewController. Add appropriate auto layouts.Add framework
  4. Now we have to import MapKitView framework in our project. So,  select project (1) > Target app (2). Open Build Phases tab (3).
  5. Expand Link Binary with Libraries (5). Click + button (5)Find MapKit framework
  6. Search for MapKit.framework. Once you find the framework, select it. Then click Add button.
  7. Now run the app.

You application will be loaded. You will see a nice map on your simulator.

How to add Marker or Pin on MKMapKitView

We’ll add a marker or pin on MKMapKitView. Suppose we want to show the pin on Lanai island of Hawaii. Latitude and longitude of the location are 20.836864 and -156.874269. It will require only 3 steps.


  1. Make an IBOutlet of MKMapKitView in ViewController.swift file. I used mapView as outlet name.

Import MapKit in ViewController:

2. Now write a method to load the pin / Marker:

3. Initially, the map focuses user’s current location. However, we’ve to move the focus to the point where our pin is located. To do that, add another method:

Finally call above 2 methods in ViewDidLoad.

Run the app.

You will see the pin in on lanai Island of Hawaii. You may be wondering, where do I get latitude longitude. Take help of google map to find latitude and longitude of any location on earth.

Happy Coding!!!

Freelance : How did I start

From 2006 to 2014, I worked as freelancer. I think, 8 years is enough time to gather experience to advise others about freelance. Moreover, many people around me are very eager to know how to start freelancing. Where to go, how to start, how to get jobs etc.

I’m here to tell you everything about my experience. If one person is able to get a freelance job and success by reading my blog, I’d be very happy. I don’t do freelanceverything job now. So I’ve nothing to hide.

If you don’t want to read my own history, jump to next article – Freelance : How will you start.

Start of my  freelance career

In 2006, I got admission to pursue my Undergraduate degree. One of the senior students of my university told me about; He said I can get  freelance works from there. For the first time, I heard about it. I visited the site and signed up. At that moment, I didn’t know what is freelancing, what to do and how to get paid. In fact, I was doubtful and curious. Started to look for job and bid on the jobs that I could accomplish. Fortunately, within few days, one client knocked me and awarded a simple project. I first project was to find out articles online about time management. I was very excited and completed the job with care. She was very happy with my job and paid me full amount. She gave a very good positive review with 5 start rating.

Then she offered me another task which required php skills. However, I didn’t have any experience to do the job.

After getting the payment, I bought paid membership from; I was still doubtful about getting the payment in my country. I opened a bank account and added my account information to Then requested for wire transfer.

After about one month, money was not deposited to my account. I contacted They suggested me to contact my bank. I went to Bank and told my issue to a Bank Manager. After investigating for a while he told me that, the money arrived. However, he needs document to prove that this money didn’t come illegally.

Again I contacted Someone from responded me stating the reason of the payment. I printed out the body of the email and went to Bank right away. After a few days, I received money to my account.

That’s how my freelance journey bagan.

What about your story?

How to load HTML code or file in UIWebView using swift?

Let me tell you my one secret about iOS designing. Sometime, in our design, we have to use table views / grids for example bank statement. If you are familiar with iOS designing and auto layout, you already know how difficult it is to design complex tables or grids. In such situations, I use UIWebView. In background I prepare an html source code, then display the code in web view. Today I’ll tell you how to load source codes in web view using swift. After that, I’ll show how to load local html file in web view.
 1. Create an iOS application in Xcode.
2. Add a web view in the View controller of the storyboard

UIWebView3. Drag and drop web view’s IBOutlet to our ViewController.swift

4. Write a method to load string in UIWebView

In the above code, we created a constant (variable) htmlCode and wrote some html codes there. In the second line we loaded the htmlCode in our web view.

5. Call the method in ViewDidLoad:
Run the code and see what have you done.

Load local HTML file in UIWebView

Writing source codes in ViewController is painful and time wasting. Better approach is to create html file in Dreamweaver or Sublimetext or any other html editor. We’ll save that file in iOS project and load in web view. So, let’s begin our work.
  1. Create an iOS application in Xcode.
  2. Add a web view in the View controller of the storyboard
  3. Drag and drop web view’s IBOutlet to our ViewController.swift
  4. Create an html file using Sublime text or Dreamweaver or any other html editor. Save the file in a folder and open that folder.screen-shot-2016-09-20-at-10-06-44-pm
  5. Drag the file from folder to our Xcode’s Project Navigator. After you drag and drop, a dialog box will appear. In the dialog box check the “Copy items if needed” checkbox.
  6. Write a method to load local html in UIWebView
  7. Call loadHtmlFile() method in viewDidLoad method:

You can download the whole project from github

How to load HTML url in webview using swift

Well, it’s very easy to load HTML url in a web view using swift. Suppose we want to show in a web view in our iOS application. We’ll do that in 4 easy steps. Let me tell you them step by step.

  1. First create an iOS application in Xcode.
    Add a WebView in the ViewController of the storyboard. Do not forget to add auto layout to WebView, otherwise you may can’t see the WebView.screen-shot-2016-09-13-at-10-45-27-am
  2. Drag and drop WebView’s IBOutlet to our ViewController.swift and name it: webView
  3. Now we’ll create a new method in ViewController.swift
  4. In ViewDidLoad method call loadUrl method:

Run the app. You will see google website is loaded.

If you use any non-secure url, Xcode will log an error in error console.

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app’s Info.plist file.

The urls that start with http instead of https is called non-secured url. Due to security issue, iOS doesn’t load non https urls.
In such case we’ve to add some values in our Info.plist.  

Fix the issue of “App Transport Security has blocked a cleartext HTTP”


a. Open Info.plist file from left panel (File explorer).


b. Click on plus button (+) of any top level row. I’ll click the plus button beside Bundle Identifier.


c. A new row will be created. Type “App Transport Security Settings”  (without double quotes) in the row (key column) box. Hit Enter. It’s type should be a dictionary.


d.  Open the App Transport Security Settings row by clicking on Arrow head at the beginning of the row.


e. Click Plus button next to the row of “App Transport Security Settings”


f. In new row type “Allow Arbitrary Loads” (without double quotes)

g. Make it’s value to Yes.

Run the app again with any non-https link e.g.

Full code is given below:

Big Data for Banking Sector

In the field of nanotechnology, scientists of different fields such as physics, chemistry and biology work under the same roof. By the same way, in the field of Big Data, not only programmers, also statisticians, decision makers, system admins all work together. Big data is taking our modern computer based society to a new height. Still it’s the beginning of the journey and has started to reveal it’s possibility to different fields, such as social network, marketing, health care, law enforcement as well as banking and insurance Sector. Today we’ll explore the possibilities of big data in banking and financial sector.

Why Big Data in Banking Sector?

Big data deals with…
1. large amount of data (Volume),
2. coming from different sources and in different formats such as transaction data, customer photo, CCTV images (Variety)
3. that needs to be processed very fast (velocity).

Banking data has all these 3 properties. That’s why big data fits in banking sector.

There are 5 major areas of implementing Big Data in Banking sector:
1. Fraud Detection
2. Analyze customer sentiment and feedback
3. Analyze transaction history to discover trends around the year
4. Analyze customer’s spending history and behavior to offer personalized product
5. Customer Recognition

1. Fraud detection:
Currently banks detect frauds depending on ip address, unusual login time and “using wrong pin multiple time” etc. Big data changed the process of fraud detection. By analyzing large amount of data, applying algorithm and fraud pattern, it has become possible to detect and prevent frauds or unusual activity instantly.

2. Analyze customer sentiment and feedback:
It is easy to get new customers. But retaining them for long time is challenging. So it is important to analyze customer’s complain, suggestion, satisfaction and make decision based on analysis result. For example improving a service that is performing poor and dissatisfying customer, relocating ATM booth etc.

3. Analyze transaction history to discover trends
Banks have large amount of transaction history. By analyzing those data, we can discover trends of spending and savings of customers. We can find when and where users spend more amount of money. For example, before festivals customers spend more in shopping malls. By discovering these trends banks can offer better services for it’s all customers.

4. Analyze customer’s spending history and behavior
In this case, banks analyze single customer’s transaction history and behavior. This analysis helps management of banks to offer personalized products. For example, banks can offer dual currency products with benefits to the customers who travel frequently abroad. Banks can also offer special discounts to customers who make online transactions more often.

5. Customer Recognition: It is time consuming to recognize a customer when he or she goes to bank to withdraw money or perform other transaction operation. By using realtime analysis power of Big data, banks can analyze photo, signature, voice and behavior to recognize customer. This can save time and let bank stuffs server more customers.

Useful links:

Deriving Business Insight from Big Data in Banking

Big Data in Financial Services and Banking

Benefits of Cloud Server Hosting

Cloud Server Hosting

Cloud computing is expanding and becoming popular day by day. In the near future, most of the websites – if not all – will be hosted on cloud servers. Because, cloud server hosting has benefits over traditional single servers. It has some disadvantages too.

  1. Cloud server hosting  is Cost effective: In cloud server hosting, pricing is calculated based on CPU, RAM, storage any other resource you’ve used. In current scenario, we buy 10 GB space, use less than 1GB. For example,  my one client runs a local newspaper. He uploads news with images everyday. He unlimited space. After one year, we found that, it took only 1 GB space. So in cloud server you just pay for what you’ve used.
  2. Cloud server hosting is scalable: Suppose you have a online training website where you upload training videos and let subscribed members watch those videos. After 6 months, you found that the business is growing, number of members doubled and they are requesting for more videos. If you have bought a traditional hosting server with limited space, then you’d have to change the hosting package to upload new videos. In cloud server hosting, we don’t have to worry about it. If your business grows, needs more space and bandwidth cloud server will not stop you. You can use as much resources as you need.
  3. Security of cloud server hosting: Most of the cloud server hosting providers implement standard security features. However, responsibility for security doesn’t only depend on cloud hosting provider but also end users or customers. So, both parties should be concerned about it.
  4. Location of server: Some cloud hosting providers give you the opportunity to choose the location of your server. e.g, If your website’s most visitors are in Asia, you can select Singapore or Japan region. It helps to reduce server pinging time as well as increase performance slightly.


  1. Cloud servers have downtime, which is also true for shared hosting
  2. Cloud server’s performance may be slower than highly configured dedicated servers.


Photo Credit : Icon Archive

How to setup your website in Amazon Web Services (Part 3)

This is the third part of “Setting up website in Amazon Web Services”. In this part of the tutorial, I’ll show you how to upload files on EC2 instance using FileZilla.

It has 2 steps:

Step 1. Add public key to FileZilla

Step 2. Configure the site


Screen Shot 2015-07-11 at 8.57.12 AM

Step 1. Add public key to FileZilla

Open FileZilla

1. FileZilla > Settings (In windows it may be in Window menu)

2. From left panel, select SFTP

3. In right panel, click on Add keyfile.

4. Select your public key. (FileZilla may warn about converting the file into FileZilla format. Click yes.

5. Save the new FileZilla format file in the same place where you kept your public key.

6. Click OK to finish “adding public key” process.


Screen Shot 2015-07-11 at 8.58.03 AM

Step 2. Configure the site

1. Open FileZilla. Go to File > Site Manager.

2. From left side of the Site Manager select “New Site”. You can give it a name. I used “MyAWS”.

3. In right panel put the following setup:

Host: EC2’s Public IP

Port: 22 (or you can leave it blank)

Protocol: SFTP – SSH File Transfer Protocol

Logon Type: Normal

User: ec2-user / root ( see the note below)

Now click connect. FileZilla may warn you about Unknown host key. Just click okay.

If you are running apache on the EC2 instance, then your files are located in /var/www/html/

Now redirect to /var/www/html/ and upload your file on server.


How to setup your website in Amazon Web Services (Part 2)

In this tutorial, we’ll see how to access EC2 instance or vm from local computer using command line interface (CLI). If you are using windows, then I recommend you to install ssh in your command line. This video might be useful for you.

Access EC2 instance:

If you are using Linux or OS X, most likely you already have ssh. Open your terminal or CLI and run the following command:

If you don’t see the version number, then install it.

In previous video, you’ve downloaded public key from Amazon Web Services. Keep it in a place (I prefer Desktop) where you can easily access for a now.

Open command line interface or terminal and go to the folder where you have saved the public key.

Run the following command to protect your private key file:

To access the vm or EC2, run the following command:

Here ec2-user  is the username. It can vary depending on the AMI or system that you selected in previous tutorial. is the “Public IP” that we got from our previous tutorial.


According to Amazon Web Services documentation:

For Amazon Linux, the user name is ec2-user. For RHEL5, the user name is either root or ec2-user. For Ubuntu, the user name is ubuntu. For Fedora, the user name is either fedora or ec2-user. For SUSE Linux, the user name is root. Otherwise, if ec2-user and root don’t work, check with your AMI provider.

After running the above command, if there is no error on the screen, then you are logged into the vm (EC2) successfully.


Install Apache PHP MySQL on EC2 server: 

After logging into the EC2 console successfully, run the following command to ensure that all software packages are upto date:

Above command will take some time to complete.

Now it’s time to install apache, php, mysql. Run

Start apache server:

If you want to start apache server when the EC2 or vm server starts, run:

The above command doesn’t show you any status, but it works.

Allow HTTP to access your web server: 

At this moment Amazon Web Services will not allow anybody to access our newly installed apache server that is HTTP server. To enable HTTP for all, we’ve to make some changes to our security group. Let’s do that now

Go back to your Amazon Web Services console (AWS) in your browser. Go to EC2 > Running instances.


If you scroll horizontally to the right of the table, you can see a “Security Groups” column at the end. Click on it ( red circle marked on the screenshot).


Screen Shot 2015-07-10 at 9.59.21 PM

In the next screen, click  Action > Edit inbound rules.


Screen Shot 2015-07-10 at 10.04.44 PM

A popup box will appear. Click on Add Rule button and then select HTTP from type dropdown box. You don’t have to change any other value. Keep them as they are suggested.  Click Save button.

Again Actions > Edit outbound rules and add new rule of HTTP the same way that you did for inbound rule.

Now, open your browser and type “Public IP”. You can see the following result, if everything goes okay.

Screen Shot 2015-07-10 at 10.06.17 PM


Wow, now your server is accessible from anywhere in the world. In next tutorial, I’ll show you how to upload files using FileZilla.