Saturday, January 10, 2015

How to grow your blog audience

Since I started my website and blog, I was always worried about growing my audience. Despite my sharing efforts, mainly on Twitter, Facebook and Linkedin, I just got a couple of hundreds of views per post, mainly from my contacts.

How can my posts reach readers beyond my social circles? In the age of collaborative economy making a huge impact on most sectors, there has be a solution of bloggers helping bloggers to promote their posts and grow their respective audiences.

Copromly is a web a web app that makes use of collaborative growth to provide bloggers with a 10-fold audience reach in their social campaigns.

If you are a blogger who wants to promote a blog post for free, the process is quite simple:
1) You submit your post to Copromly
2) Copromly provides you with a magazine featuring your post and presenting some posts from other bloggers.
3) Other bloggers promote their magazines. Some of them show your post.
4) You promote your magazine (e.g., Facebook, Twitter, E-mail campaigns, Google+)

Thanks to step 3, for every view of your magazine Cogrowly is able to provide you with 10 views of your post in other bloggers' magazines. This is the magazine that is automatically created for this post.

My experience with Copromly has been been incredibly successful so far. My posts have literally doubled their views and the audience is benefiting from other blogger's social power.

Wednesday, January 7, 2015

Managing technical debt of your products

You and your team are working on a new version of the product. There is an strict deadline that you simply can't meet within high-quality standards, and you are not allowed to cut corners of these must-have features. After explaining the situation to your manager, she responds that this is a business decision and that you have to do whatever is necessary to meet this deadline. In other words, you need to do some low-quality work which should be reviewed and enhanced in the future.

Does this scenario sound familiar to you? This is the most common example of technical debt, but we are not just talking about unclean code that needs to be refactored. Other types of technical debt are bad design, insufficient test coverage, poor integration, etc.

Sometimes it is necessary to take on some debt for compelling reasons, such us going out of business otherwise, or being the first to market. However, the decision makers must have in mind that it is a loan after all, and it has to be repaid one day... with interests. Taking on technical debt means taking a loan today against the time required to do future work, so the greater the debt today, the slower the team's velocity tomorrow.

There is a limit, called tipping point, when the product becomes unmanageable or chaotic, and even small changes become major occasions of uncertainty. Make sure that you have repaid your debt before you arrive to this unpredictable point.

Other consequences of technical debt are frustration, underperformance, decreased customer satisfaction, rising development and support costs, etc.

The best practices to repay technical debt are:
1) Commit to do high-quality work so that we don't add new technical debt
2) Clean up whatever happened-upon technical debt that you reasonably can
3) Devote a percentage of your time (5%-33%) to specifically repay targeted technical debt

However, there are at least three scenarios under which technical debt should not be repaid: product nearing end of life, throwaway prototype and product built for a short life.

Remember: technical debt, like financial debt, has to be managed. Don't underestimate it's consequences.

Tuesday, January 6, 2015

How to migrate your PHP website to Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) and is one of the most popular hosting solutions nowadays. Using EC2's virtual servers you don't need to invest in hardware up front, and you can easily manage performance, networking and security of your applications.

The AWS Free Tier provides the following free services for 12 months, and with a competitive price afterwards:
  • 750 hours per month of Linux, RHEL, or SLES t2.micro instance usage
  • 750 hours per month of Windows t2.micro instance usage
  • Run one instance at a time or multiple instances simultaneously
In this post I will explain how can you easily migrate your application from your local server to this high-performance cloud solution.

1) Sign up.
Sign up for free on Amazon Web Services. Credit card information is required, but you won't be charged during the first 12 months.

2) Set up EC2.
On your Amazon Management Console, apply for a EC2 account following these instructions. Keep the resulting key_pair.pem file somewhere safe. Make sure that you have set the security group with inbound rules for SSH, HTTP and HTTPS (see figure below).

3) Launch your instance. On your EC2 dashboard select the option Launch Instance and follow these instructions. For a PHP website I recommend choosing the Amazon Linux  t2.micro. Remember to connect your instance with the key_pair.pem file that you had generated before, and select the security group that you created on step 2.

4) Connect to your instance. From Linux or MAC just type the following command on your terminal:
$ ssh -i /path/key_pair.pem ec2-user@public_dns_name
Replace the elements in red with the path to your key pair and the public DNS name that you can find on your EC2 instances dashboard. For example:
$ ssh -i /home/arturo/Docs/arturo_key_pair.pem ec2-user@ec2-14-129-140-123.us-west-2.compute.amazonaws.com 
You will be granted access to your brand new Amazon Linux machine.

5) Install the Server and Database. In our case we are going to use PHP with a MySQL database. If you need to install any other package, such as Node.js, you can use the command sudo yum install package_to_install. In order to set up our web server and database, just follow the steps from 2 to 5 of this tutorial.

6) Test the web server. If you type your public DNS on your browser (in our example http://ec2-14-129-140-123.us-west-2.compute.amazonaws.com) you will see the Apache test page. Your web server is running!

7) Copy your files. You just need to copy your PHP project in /var/www/html. That's it!


Sunday, January 4, 2015

How to disable video auto-play on Facebook

Many people are experiencing mobile data shortage or higher phone bills since Facebook decided to auto-play videos on our walls by default.

If you have a 1Gb/month data allowance and every time you check your Facebook wall you play a couple of videos for 10 seconds, you'd better upgrade your data plan... or use this simple trick.

You can disable the "auto-play" option or leave it enabled when you are connected to a Wi-Fi network following these instructions.

ANDROID
1) Open your Facebook app and click on the menu button (top-right corner)
2) Go to App Settings
3) Click on Video Auto-play
4) Select the Off or the Wi-fi only option




IOS
1) Open your Facebook app and click on the menu button (top-right corner)
2) Go to Settings
3) Click on Videos and Photos
4) Click on Auto-Play Videos
5) Select the Off or the Wi-fi only option




DESKTOP
1) Open Facebook on your favorite browser
2) Click on the menu button (top-right corner)
3) Click on the Videos option on the right menu
4) Select the Off option on the Auto-Play Videos section