Author: alaa

All of a sudden, my Google search result pages showed some weird ads from the UK ads provider “adskeeper”, and after further investigation, it turned out to be this little extension I used long time ago called “Betternet Unlimited Free VPN Proxy“. Immediately disabled and uninstalled as this doesn’t sound like a “Betternet” for me!

I had a bad time with another chrome extension got hacked by someone who managed to replace its source code with his malicious version! I can’t believe how maintaining your chrome browser clean seems to be even much more harder now than before.

For a reliable VPN solution, I use Nyr’s script to install and maintain OpenVPN on any of my VPSs, so far so good with this method, also, PrivateInternetAccess seems to be another reliable alternative as well.

I have been providing support for almost four years till now, worked for companies developing custom themes/plugins for WordPress, my daily workflow was as simple as replying to the ticket/thread and making the customer happy! So, I make use of some nice tricks that I would like to share here, perhaps someone else would find them helpful as well!

I use “Stylish” chrome extension, which allows me to write some styles for the forums page I work on, how good is your CSS level is the only limit here, you can write snippets to filter (resolved, replied, not-replied) threads only by looking at them!Example from Themify support forums, code snippet used.

​I use “Tampermonkey” chrome extension, which allows me to write custom scripts to be executed on the forums, for example:

This little snippet will automatically insert “Hi + username, ” on any forum thread reply, so I can easily avoid spelling mistakes while writing usernames and avoid copy/paste.

Also, another helpful snippet to detect if the thread got replied while being opened as a tab in chrome? I open about 20 tabs and begin working on them one by one, sometimes one of my workmates would kindly reply to one of these opened threads as tabs, this script refresh the thread link every minute in the background and watch for the last reply if it has any significant string from the support team “@ Themify”, in this case, it will pop-up a JavaScript alert telling me this thread was replied before.

I use “Lazarus” chrome extension as a form-data recovery solution. It’s really helpful in case your page crashed while typing a long reply, you will always have a back-up of what you wrote.

I use any “Clipboard History” tool, for example “Parcellite” on Linux, but I’m sure you can find similar tools for different OSs you are using, this tool keeps history of all your (CTRL+C) entries, so no worries if you copied something over something else, you can easily get it back.

If you have a repository for all your themes/plugins, and you want to use them on a local WordPress version and keep them synced whenever you push an update to the repo, you can make use of symlinks on Linux (and I’m pretty sure it will work on macOS too), following these steps should achieve that:

On your localhost machine, use terminal to navigate to this path:

localhost_www_path/wp-content/

and delete the default WordPress themes/plugins folders then run this command:

sudo ln -s ~/path_to_repo/ plugins

Then, the same for themes:

sudo ln -s ~/path_to_repo/ themes

Now, WordPress will read Themes/Plugins from your repository, once you update the git by pulling updates, you will have the WordPress plugins/themes updated in localhost. 😉

The final step is to make your web server (assuming Apache) the owner of the repository folder, so that it can read/write files from this directory, to do that, run this command:

sudo chown -R www-data:www-data ~/path_to_repo/*

Because of this user permissions change, if you run “git pull” from the terminal, you will need to use “sudo git pull” instead, because the files’ owner has been changed.

That’s it for now, but I’ll keep updating this post whenever a new trick comes to my mind as I think I’ll continue providing support for WordPress for another couple of years or something!

I decided to launch a new Amazon instance with CentOS 7 and install PHP 7 on it, to test some WordPress themes/plugins on the new PHP version, however, I got stuck a little bit about how to copy my files from the old Amazon instance to the new one, in this blog I will record what exactly I did to get this job done, so in case anyone had the same situation…

While logged in the old instances, I generated RSA pair of keys, using this command:

ssh-keygen -t rsa

then specifying the location of the keys to be saved, this will generate two keys, key_name and key_name.pub

After that you will need to copy the content of key_name.pub file to the authorized ssh keys file in second instance, to allow connection between both of them, to do that, simply run this command on the first instance:

sudo cat /path_to_key_name.pub

Then copy the file content exactly, and proceed to the next step.

On the second instance, you will need to edit the ssh authorized keys file, by entering this command:

That’s it, everything should work fine by following the same steps, however, there is something to take care about, which is the folder permissions on the second instances must allow others to write permissions, you can enable that temporarily by chmod 757 or 777 till you finish the copying process.

I used to deal with some debian-based linux distributions including (Ubuntu, Biolinux, Linux-mint) and one of the most powerful features that had been always found fascinating me in linux is the terminal.

I missed this feeling in Windows, I missed this black screen and little blinking cursor, after using Linux for a while I thought I’m a genius just because I wrote my first command in the Terminal, especially when you know it was:

ls -alh

:D, anyway, in this post I decided to collect most of these commands that I use frequently, because searching Google for them every time has turned really exhausting, let’s get started!

1- I want to delete this directory and its sub files/folders!

I don’t need to say that this line saved my time a lot:

rm -rf directory-name-here

2- Copy all files and folders from directory to another

With also some good parameters like updating the old files with new ones, verbose mode, recursively go inside every sub-directory, use this magic:

3- Useful trick for a VPS!

When I purchased my own VPS, I thought how I could get benefit of this really fast internet connection speed that Digitalocean has, after lots of search I came out with this idea, using it as a VPN, and as I have two small droplets one in San Francisco and the other one in Amsterdam, it means that I have two different static IP addresses that I can surf the internet anonymously with.

4- Downloading torrents to my VPS

Again, let’s take advantages from this fast internet connection (I’m from Egypt if you know what I mean -_-) to download torrents on VPS, then download them on my pc using ssh or even sftp with the maximum of my internet connection speed, no delays now for looking for seeds/peers and having irregular download rate.

I followed this guide to install transmission on centos server, then just navigating to your-server-ip:9091 will initiate the web service for transmission client, of course 9091 is the default port number for transmission which can be changed.

5- Encoding video on the fly

Well, handbrake is an amazing application which is intended for encoding videos and the most amazing part of it is that it’s free 🙂

I remember one of my friends had a 2.4GB video file in wmv on his dropbox, and he wanted to get it on his local PC in just 5 minutes, although this can be done with a fast internet connection, but again it’s really hard to get such one here..

So, I figured out this trick, converting the video file on the fly to a smaller mp4 file size will definitely decrease the time needed to download this video without a significant lose of the video quality, so that was what we have done:

Downloading the video from my friend’s dropbox to my VPS (takes only minutes)