How to make a virtualhost (another folder like htdocs)

Was in a awkward situation! Nomally I use my desktop computer and its a pain when I need files from laptop, I started using dropbox for file sharing but it’s not possible to sync my localhost folder via dropbox. Got a solution by adding a virtualhost (a new folder which will act like htdocs) which will stay in dropbox. Pretty easier way to share codes.

1. Open the file with notepad or any text editor.

 C:\xampp\apache\conf\extra\httpd-vhosts.conf

2. Copy and paste below codes at the end of the file.

<VirtualHost *:80>
  ServerAdmin [email protected]
  DocumentRoot "D:/Dropbox/Project"
  ServerName projects.me
  ServerAlias www.projects.me
  ErrorLog "logs/projects.me-error.log"
  CustomLog "logs/projects.me-access.log" combined
<Directory "D:/Dropbox/Project">
  Options Indexes FollowSymLinks Includes ExecCGI
  AllowOverride All
  Order allow,deny
  Allow from all
  Require all granted
</Directory>
</VirtualHost>

– Change the DocumentRoot value with your folder link which is standing in dropbox.

– Change the ServerName to the address (without www.) which should be used to open the folder (like: localhost)

– ServerAlias should be same as ServerName but with “www.”

– Also you can edit ErrorLog and CustomLog format if you wish.

 

Now open the hostfile (C:\Windows\System32\Drivers\etc) and add a line like below (change the address as your need).

127.0.0.1 www.projects.me projects.me

NB: You may not save the hostfile directly, you can copy it to desktop then replace the old file.

Here is a tutorial about troubleshooting, don’t forget to review if get any problem.

Reduce Sever Request by converting image to Base64 string

What is base 64?

Wiki says,

Base64 is a group of similar binary-to-text encoding schemes that represent binary data in an ASCII string format by translating it into a radix-64 representation. The term Base64 originates from a specific MIME content transfer encoding.

 

Why we will use base 64?

In a website we use many image small images, those images are not heavy weight but browser make one HTTP request per file while its loading. Its very bad, We should try always to make less HTML request.

 

No need to tell more just go here  and submit your image and you will see the code with two format, one for HTML and one for CSS.

Copy and paste then Cheers (y)

What to do when you get unexpected feedback on oDesk

I am one of an admin of oDesk help facebook group which is the largest unofficial freelancing community in Bangladesh. Since I am contributing there a common question I heard “Got bad feedback in oDesk but client appreciated my work,  Now what to do?”

Normally as oDesk rule it’s not possible to remove this feedback rating and comment but you can hide your clients comment anytime without. Actually comment isn’t a big problem. Feedback rating is much important to get new job. I was also seeking the answer of the question when I got a bad rating from my client. He appreciated my work, suddenly he stopped the contract with the reason “Project was canceled” and left a 2.35 rating. Which was negatively effective in my average rating, it was down.

You can open dispute if you are confident that client violate oDesk ratings and feedback regulations.

Now lets see what is the rule,

oDesk rating and feedback regulations,

  • Falsifying feedback for yourself or another user, by any means, to artificially raise or lower your own or another’s feedback score.
  • Withholding deliverables or payment to manipulate a user into leaving the desired feedback comment or rating.
  • Threatening to leave negative feedback to coerce a contractor to perform a given task.
  • Threatening to leave negative feedback to coerce a client to make a payment.
  • Offering to sell or buy services in exchange for good feedback, trading feedback undeservedly or buying feedback.

Read details Here

When I suggested to dispute against the dishonest feedback rating to oDesk Support then maximum of them was failed to win the case! it was too sad news for them as well as for me. I was trying to find out what’s wrong with them. The main problem is maxim prosecution in this type of case ware failed to present the situation correctly. For your kind information, you won’t get a good hospitality from any support if you can’t present your speech. I can guarantee about your winning if you can prof that your client was dishonest/violate the oDesk policy.

I am going to give you some tips regarding “how to make an effective dispute”

When I got bad feedback from my client I got some effective suggestion from Mamun Srizon. I just suggest to follow as he said. First I wrote my total feedback to oDesk like below and then I describe my speech regarding to the topic “why the feedback violate oDesk policy” 

My Client left 2.35* rating, where

Skills = 2 Quality = 3 Availability = 1 Deadlines = 3 Communication = 1 Cooperation = 4

There are 6 items, Skills, Quality, Availability, Deadlines, Communication and Cooperation, I have written 6 small paragraph regarding this topic. Don’t forget to share prof. Chat history screenshots, Call record**, mail screenshots etc. For presenting fake prof,  you have to be ready to be banned, oDesk verify all prof! Anyway I given 20-22 screenshots of chat/mail history where client told about his satisfaction about my work. oDesk took it seriously and the ticket was forward to special branch to review, after some days I got the new news that the feedback was withdrawn.

 

Must read threads before disputing,

Can I dispute negative feedback

I believe my client is abusing the feedback system. What can I do?

Can I dispute a feedback score or comment

What are the ratings and feedback regulations

Tips to be winner,

  •  Be confident that you are ready to prof that you are right and your client was wrong.
  • Write Logical speech/ not emotional.
  • Mention line no and image name of screenshots, better you can mark the important text in the screenshot.

Don’t forget to share your experience…

**I use Skype Call Recorder in windows to record all calls.

verify site ownership on google webmaster tools

May be don’t need to tell why you need to verify and submit your site to google webmaster tools. Anyway we can start,

First go to Google Web Master tools if you are not logged in then log in with your Google ID. You will see a page link below screenshot

 

google-webmaster-tools

Click on “ADD A SITE” red button then enter site address, some simple process don’t need to tell actually. one time you will face a screen like below which will tell you to verify ownership of the domain/site.

 

webmaster-tools-namecheap-varify

I am using namecheap DNS service, this service is a great service really, I will show a alternate method at the end of this tutorial.

Copy the text of text box (5) and login to namecheap* then Domain >Manage Domain>Click on your domain you want to verify> All host record.

webmaster-tools-namecheap-varify-txt-record

 

Now we need add a txt record, add a ‘@’ sign in (1) text box, paste the text in text box (2) we copied before and select txt record on dropdrown (3). Now save it and back to google webmaster tools page. Click on verify button and it will be completed. To save TXT record it may take sometimes like 10 menutes (depends on namecheap service).

The process is almost same if you are using different provider. If you get complex then go to step 2 (after click on “Add a Site”) click on alternate method on google webmaster tools then you will see like below,

alternate-method-to-varify-ownership

 

Select HTML file upload radio button then download the file from this html verification file from and upload it to the root folder of your domain(it can be easily possible by FTP or cpanel file manager), the html file address should be yourdomain.com/htmlfile.html 

Now click on verify button and you will be done ;)

Also you will find more 2 easy alternate method like this.

ওডেস্কে ক্লায়েন্ট অসৎভাবে ব্যাড ফিডব্যাক দিয়েছে এখন করনীয় কি?

ওডেস্ক হেল্প গ্রুপে কন্ট্রিবিউট করার শুরু থেকেই একটা জিনিস শুনছি সেটা হল, ওডেস্কে ক্লায়েন্ট খারাপ ফিডব্যাক দিলে সেটা কিভাবে রিমুভ করা যায়। ওডেস্ক নরমালী কোন ফিডব্যাক রিমুভ করে না, তাই বলে কি কোন উপায় নেই? হ্যা আছে উপায় আছে,  আপনি যদি ওডেস্কের কাছে তথ্যপ্রমান এবং আপনার যুক্তিমুলক বক্তব্য দিয়ে প্রমান করতে পারেন যে ক্লায়েন্ট আপনাকে ডিসওনেস্টভাবে/ওডেস্ক পলিসি ভঙ্গ করে ফিডব্যাক দিয়েছে শুধুমাত্র সেক্ষেত্রেই সেটা ওডেস্ক উইথড্র করবে। খুব গুরুত্বপূর্ন চারটি থ্রেডের লিংক দিলাম নিচে যা অবশ্যই অবশ্যই পরবেন ডিসপুট দেবার আগে, ভূলেও অযথা বারবার টিকেট ওপেন করবেন না বা যথেস্ট যুক্তিব্যাতীত টিকেট সাবমিট করবেন না, এক্ষেত্র আপনার টিকেট ওরা গুরুত্বসহকারে দেখবে না, এরকম ঘটনা নিয়ে অনেকেরই আক্ষেপ আছে।

Can I dispute negative feedback

I believe my client is abusing the feedback system. What can I do?

Can I dispute a feedback score or comment

What are the ratings and feedback regulations

এখন প্রশ্ন হল আপনি কিভাবে ডিসপুট দিবেন? এই প্রশ্নটার উত্তর আসলে দেয়াটা কঠিন, তবে দু:খজনক হলেও সত্য কিছুদিন আগে একজনকে ডিসপুট দিতে বলার পর সে কিছুই ঠিকমত উপস্থাপন করতে পারলো না এবং ওডেস্ক সাপোর্ট থেকেও ফিডব্যাক উইথড্র করলো না।

আপনাকে যা করতে হবে তাহল যুক্তিপ্রমান দিয়ে প্রমান করতে হবে যে এই এই কারনে ক্লায়েন্ট ডিসওনেস্টভাবে/ওডেস্কের রুল ব্রেক করে ফিডব্যাক লিভ করেছে। এবার আপনি সুন্দরভাবে আপনার প্রমানগুলো হাজির করুন, প্রমান হিসেবে আপনি ইউজ করতে পারেন চ্যাট হিস্ট্রির স্ক্রীনশট/ভিডিও ইত্যাদি, একটি কথা আগেই বলি ভূলেও কেউ ফেক স্ক্রীনশট ইউজ করবেন না, ওডেস্ক আপনার ক্লায়েন্টের সাথেও কন্টাক করবে এবং ক্লায়েন্ট যদি প্রুভ করে ফেলে যে আপনি প্রতারনা করছেন তাহলে কিন্তু ব্যান মোবারকের জন্য প্রস্তুত থাকতে হবে। সৎভাবে লড়াই করবেন ইনশাল্লাহ জিতবেন। আমার এরকম একটা অভিজ্ঞতা আছে, আমার ক্লায়েন্ট আমাকে 2.35 ফিডব্যাক দিয়েছিল, আমিতো রেগে আগুন, তারপর মামুন সৃজন (ওয়ার্ডপ্রেসের বাংলা ল্যাঙ্গুয়েজ প্যাক ইনার বানানো তাই অনেকেই চিনবেন) নামে এক বড় ভাই আমাকে এরকমভাবেই পরামর্শ দিয়েছিলেন, তার পরামর্শমত আমি ওডেস্কের কাছে ডিসপুট দেবার পর আমি জিতে যাই এবং ফিডব্যাক উইথড্র করা হয়।

তো আমি যেভাবে ডিসপুট দিয়েছিলাম সেটা হল

My Client left 2.35* rating, where Skills = 2 Quality = 3 Availability = 1 Deadlines = 3 Communication = 1 Cooperation = 4

এরপর আমি প্রতিটা স্টেপে তার দেয়া ফিডব্যাকগুলো কেন অযৌক্তিক তারজন্য যুক্তিতর্ক উপস্থাপন করলাম এবং 20-22 টা স্ক্রীনশটের লিংক আমি তাদের দিলাম, স্ক্রীনশটের লাইন নম্বর মেনশন করে করে লিখলাম যে সে চ্যাটে আমাকে জানিয়েছে সে আমার কাজে স্যাটিসফাইড কিন্তু ফিডব্যাক কম দিয়েছে ইত্যাদি ইত্যাদি। আপনি ডিসপুট পেপার দুপেজ কেন দরকার হয় আরো কয়েকপেজ নিন কিন্তু তা যেন অর্থবহ হয় এবং বিশ্লেষনী হয়।

যাহোক নিজের অভিজ্ঞতার আলোকে কিছুটা শেয়ার করার চেষ্টা করলাম, কারও যদি কোন ব্যাতিক্রম অভিজ্ঞতা থাকে জানাতে পারেন বা শেয়ার করতে পারেন।

প্রথম প্রকাশ, আমার পার্সোনাল সাইটে, প্রজন্মের বা আমার সাইটের সোর্স উল্লেখ করে পোষ্ট কপি করে শেয়ার করা যাবে।

How to make a simple child theme In wordpress

WordPress has a nice templating system. This is one good reason for it’s great publicity. Anyway we can start working now.

Why we need child theme?

Good question, suppose you have bought a wordpress theme/template and started a site, after some days you will get notification that the theme provider provided an update. You can’t update the theme because you have already applied modification on it. This is why child theme rocks. You can update your main theme anytime without breaking your modification.

 

How to make a child theme?

First of all, we need to declare a new theme. For example our theme name is “theonepager”. Now we need to make a new directory name “theonepager-child” (you can use any name actually) beside the main theme folder. You can do it from cpanel file manager.

Here is one screenshot of the main theme and child theme position,

child-theme-cpanel-file-manager

 

Now enter in the  child theme folder and make a new file from New File navigation button (at top left) and file name should be “style.css”. Select the file (style.css) and click on “code editor” (on nav), a dialog box will appear click on edit button.

See below which text should be added at the very top of the blank css file. Actually we are going to add some info in the stylesheet as comment and a css importing statement.

/*———————————————————–

Theme Name: theonepager child theme Template: theonepager Author: asifsaho Author URI: http://asifsaho.me Designed & Developed by asifsaho Theme URI: http://asifsaho.me License: GNU General Public License version 3.0 /* =================================== */

@import url(../theonepager/style.css);

Carefully add the main theme css file in the @import css tag.  Actually all info is not mandatory without the info are showing in the below screenshot.

 

child-theme-stylesheet

 

Yes we are almost done. now to to Wp Admin Panel and then you will see a new theme, name “theonepager-child” as below screenshot.

 

 

Now activate the Child theme and write your all modification CSS which will override the main theme CSS. Also you can copy any theme file from from main theme folder to the child theme folder if you want to customize it as your need.

The files will get most priority which you will put in the child theme folder. That’s it!

Cool! now update your the main theme anytime without any data loss ;)

Social Buttons with Transition CSS Sprite

CSS Sprites is actually for making less request to server. Think your site load with 30 small images when it open in a browser. For this small 30 images (png/jpg) your hosting server will receive 30 requests. Here css sprite rocks, we will put all images in a file and just add the file url in background css with background position. The background file can be like below,

This is a example of background file, tuteplus is using this background.

I have created a background image, this below

I have create the button with CSS Sprites and transition effect.

  • Just create a navigation with basic css
  • Set the background image for each navigation item
  • Now add an extra statement for positioning background

[css]background-position: 0 37px;[/css]

  • Make hover event for the nav items and when user hover on it then the background will be changed as hover item.
  • Now we will see that the background is changing while hovering on the social nav but it is changing at once not smoth as the preview!
  • Lets apply a transition css property to make it smooth. on hover and normal event add transition delay time like below.

[css] .social:hover { -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; }

.social { -webkit-transition: all 400ms ease-in-out; -moz-transition: all 400ms ease-in-out; -ms-transition: all 400ms ease-in-out; -o-transition: all 400ms ease-in-out; } [/css]

  • Now you are done adjust the delay time while changing background of the social nav.

My Creation is below and it’s live,

[button link=”http://asifsaho.me-content/uploads/download/social-icon/socialbtn.zip” size=”large” color=”teal”]Download Source[/button]