How to stop malwares on your hosting websites.

Problem: PHP script malware that generates HTML files on the server which causes the server to overload.

Solutions:

1.) Locate what script is triggering the malware. You can ask the hosting support on which file the malware originates and they will send you a statistic on which file consumes the most CPU process.

2.) Confirm that you are aware of letting the hosting company delete the unwanted files. (Risky)

3.) Transfer the domains one-by-one and check if the transfered domain is generating malware HTML files that will cause the server to overload. (Quarantine the domains). Then delete the malwared domain on your hosting.

Recommendation:

I suggest we use the 3rd solution since it is safe but it will take us some time to transfer the domains and files to another server.

Warning:

Never install unwanted wordpress plugins or themes. Especially nulled and cracked themes/plugins. Most of these scripts are injected with malwares and rootkits.

Verify first if the source code is clean by checking if there are encrypted scripts and testing it first on a separate server/hosting.

Scenario:

36 domains to transfer and transferring 3 domains per day.

formula:

36/3 = 12 days to transfer all domains. transfering 3 domains per day.

7$ per hour(rate) * 8 hours(per day working hours) * 12 days

Total: 672$

Requirements:
1.) Godddy domain account
2.) Old hosting account
3.) New VPS server you can check at https://www.digitalocean.com/pricing/
4.) Webuzo panel license

Setting up an all-around development and gaming environment

Why do we need to setup our computer environment that will help us in developments and ofcourse doing our recreational routine like playing games?

If you dont know this. I’m sharing how you save a lot of time in developing different applications that is suitable only on certain Operating systems like (centOS, Linux, Windows).

From that we realize that accessing different operating system is required for every developers.

You can use Vmware Workstation.

License: 4F4W7-6624N-CZVN0-03AQ0-03TPR 

(License only works on vmare workstation 10)

Multiple operating system
Multiple operating system

Usefulness:

It is useful because there are libraries that is not capable with certain operating system and most developers and system administrators are coding with the linux operating system. A critical example for that is the node.js packages that requires linux operating system to work.

Difference between PHP and Javascript

If you dont know every language has it’s own syntax. Let me start by pointing out why javascript has advance syntax.

Difference between creating objects

PHP


<?php
// Define an array.
$foo = array(); // New empty array.
$foo = array('a', 'b', 'c'); // Numeric index.
$foo = array('a' =&gt; '1', 'a' =&gt; '2', 'c' =&gt; '3'); // Associative.

// Define an object.
$bar = new stdClass(); // New empty object.
$bar->a = '1';
$bar->b = '2';
$bar->c = '3';
?>

Javascript 

// Define an array (longhand).
var foo = new Array(); // New empty array.
var foo = new Array('a', 'b', 'c'); // Numeric index.

// Define an array (shorthand, more common).
var foo = []; // New empty array.
var foo = ['a', 'b', 'c']; // Numeric index.

// Define an object.
var bar = {}; // New empty object.
var bar = {   // New populated object.
  a: '1',
  b: '2',
  c: '3'
};

A simple prototypal inheritance with javascript syntax that is quite difficult to do with PHP.

var Person = {
  greet: function () {
    return "Hello world, my name is " + this.name;
  }
};
var frank = Object.create(Person);
frank.name = "Frank Dijon";
frank.greet();

You can use the Prototype Creational Pattern to achieve something somewhat similar to this, but real prototypical inheritance like found in JavaScript is not possible with PHP (as far as i know).

Conclusion: PHP is now following javascript design pattern

Agile development

The secret shared by amazing software teams is that they all have a game plan for building great software. That game plan starts with the right strategy for taking an idea and transforming it into useful features. Of all the tools available for this, the free tool Trello, can provide everything needed to manage software projects, assuming you know how to use it effectively.

Table of Contents

  1. Trello: It’s got what developers crave
  2. Step 1: Setup your free Trello account
  3. Step 2: Setup your Product Development board
  4. Step 3: Add Trello cards
  5. Step 4: Add details to your cards
  6. Step 5: Getting work done
  7. Step 6: Delivering new features to production
  8. FAQ

Trello: It’s got what developers crave

The goal of any project management tool is to stay out of your way and let you get things done. Few accomplish this as simply as Trello, and without proper usage all will fail. Based on years of experience, as well as numerous published accounts, this guide will help you provide an environment that will let your developers excel.

What do developers need to perform at their best?

  • Some limited freedom to choose what to complete
  • A clear indication when work is ready to be done
  • A plan for getting feedback when work is not clear
  • An approval process once work is complete, so they know when work is accepted
  • Accountability after work is done to manage delivery and revisit past work

Step 1: Setup your free Trello account

Go to www.trello.com and click the signup button.

Trello has made a public committment to remaining free to use “forever” so you can feel safe using it with your project if cost is a concern.

Sign up for Trello

Step 2: Setup your Product Development board

Click on the plus sign (+) next to your profile icon and create a new development board. The default shows 3 lists: To Do, Doing, and Done. You can rename or delete the defaults, in the end you’re going to create 6 lists: Backlog, Next, In Progress, Staged, Approved and Live this week.

Setting up development lists

Backlog

Holds all scheduled tasks. It’s a space to hold ideas and a place to develop ideas into actionable items until they’re ready to be started.

Next

Contains tasks ready to be completed listed in order with most important tasks at the top, as determined by the project manager. Tasks may be assigned to individual developers at this stage.

In Progress

Once a developer starts a task, it will be moved to this list to show that work is progressing.

Staged

After a developer’s task is complete and ready to be reviewed by the project manager or client, it will be moved here. If changes are needed, move the task back to Next with comments. Otherwise, move the task to Approved.

Approved

Once a completed task has been reviewed and accepted, move it here. This holding area informs the development team that this work is ready to be finalized and delivered to production.

Live

(Date for monday of the week, example: Live 01/06/14)

Developers will move tasks into this list from the Approved list as they are delivered to production and are part of the final product. At any time, the Live list for any week can be archived by clicking the drop down arrow next to the list title. Create a new Live list each week.

Step 3: Add Trello cards to Backlog

Start entering all of the things you need to do into the Backlog, each as a new card. All cards start as a simple title, so it’s important to capture enough information in the title right from the beginning.

Creating new cards

Each card title represents the smallest noticable change for each feature in a short descriptive sentenance using about 12 words or less. When in doubt, it’s best to use a longer title than a title that is too short.

Checklist for creating great cards:

  • Does the card describe a single feature? If any part of this task can be delivered and approved without completing the card in full, then make a separate card for each piece.
  • Does the card clearly indicate who should be able use the feature? For example, if the feature is available only to authenticated users, the title should make that clear.

Examples of great cards:

  • As an admin, when I’m editing details for a user I can click a button to disable and enable the user’s account
  • As a logged in user, when I visit the homepage I will see a “My Profile” link in the top right

Examples of poor cards:

  • User administration
  • Finish onboarding
  • Access control lists

Step 4: Add details to cards

Before your team can start working on cards, you’ll need to add details to each of them before you moving them to Next. Use the guide below as a resource to help you expand each card into fully specified work that can be completed by your developers.

Protip: How to write specs that developers love

Developers respond well to cards that give very specific and detailed instructions. What appears to you as obvious may not appear that way to a developer, because he/she works with the internals and details. It’s up to you to specify how the external parts (the parts you see and touch) operate. Provide clear instructions that would answer each of the following to make a great card:

  • What type of user is performing the action?
  • On which page or view will the user find this feature?
  • What is the action the user will perform?
  • What are the inputs the user will provide, or the steps the user must take?
  • What are the expected results of the action?

Editing card descriptionsRendered card descriptions

Fill in the description

Card descriptions should provide enough detail to allow someone new to the project to understand the requirements without questions. They start off simple, with 1-2 sentences and can grow into full specifications as needed. If your description is more than a couple sentences long, create a Google Doc “spec” file and add a link to the Google Doc as an attachment to the card.

Adding links to descriptions

When your description grows too long for a card or is subject to revisions, use a Google Doc to hold the full specifications. Once you have the doc, copy the share url and include it as a link in the description of your card. Links can be added to descriptions using the following format:

[Link title](http://rexadrivan.com/)

Which will be rendered like this:

Adding development effort estimates (optional)

Estimating software features is a very difficult task. To avoid wasting time on estimates that cannot capture the full scope of the work, estimates are based instead on a scale from 1 to 5 where 1 is trivial and 5 is quite difficult or there is very much unknown. Through years of experience we’ve learned that while a developer can usually estimate the relative effort required for a task, it is difficult to reliably associate that effort with the amount of time required to complete, so it’s esstential to not spend too much time estimating. Instead, it’s best to create many small tickets and focus on getting them done quickly.

Adding effort estimates
When in doubt about the effort required, a developer should always estimate higher. It’s better to deliver early or have opportunity to get more done than it is to fall behind or introduce unexpected delays in finishing features.

Step 5: Getting work done

With your cards fully described, you can now schedule them for development. To do this, the project manager should drag each card from Backlog to Next, placing them in priority order. Cards will be completed in roughly top down order by the development team.

Scheduling cards to be completed

Now your team is ready to get started. Each developer will login with his/her own trello account and choose items from the Next to complete. While you’ve set a priority, the developers should be allowed to choose from the list with some freedom, prioritizing by the order of cards in the list. This will allow the development team to work efficently and focus on maximizing results, instead of following a rigid development plan assigned by someone who may not know the internals.

What if a task is urgent?

When you need to mark a task as urgent, assign it a green label, so developers know that the task on the card is critical and should be addressed ASAP. Please use this label sparingly.

Marking a task as urgent

Starting work

To start working on a card, a developer will move it from the Next column into the In Progress column and assign the card to himself. At the same time, he/she will assign an estimated date of completion for the due date.

It’s important to remember that by definition, the estimated date of completion may not reflect the actual date of completion. If development starts and it becomes clear that the work requires more time, then the developer should update the estimated completion date, leaving a comment reflecting the change.
Starting development work on a card

Seeing a card on the In Progress list assigned to a developer means that work is being done on that task. But what happens if progress needs to pause because feedback is needed?

Requesting feedback

In an ideal world, all cards would be perfectly specified and developers would never need to make hard decisions on their own. In reality, you put an immense amount of trust in your developers to make decisions for you that align with the bigger goals you have for the project. Some of these decisions cannot be made without input from the project manager. When that happens, the developer will block the task for feedback by assigning a red label and @mention you in a comment.

Requesting feedback on a task

Once a task has been blocked, it can remain on the In Progress list, but must retain the red label until the task is unblocked and work can begin again. Resuming progress on a blocked task is as simple as removing the red label. The comments should never be removed.

When you @mention another person in a comment, they’ll receive an email with details from the mention.

Notification received when mentioned

Step 6: Delivering new features to production

When a developer finishes a card and the completed work is uploaded to the staging or test location, then he/she will move the card from In Progress to Staged where the work can be reviewed and either approved or kicked back with a comment for more changes.

In order to keep the project manager updated about new cards added to the Staged list, developers should add the project manager to the card at the same time that they move it to the Staged list.

A developer marking a card as complete

By adding the project manager to the card, you’ll generate an email notification from Trello which lets the project manager know that the card has been completed, and code is in the testing location to be reviewed.

Approving completed cards

When a card is completed and approved, then the reviewer should leave a LGTM (Looks Good To Me) comment and move the card to the Approved list.

The developer will move the card from the Approved list to the Live list when the code is deployed to the production or release environment.

Approving completed work

When more work needs to be done

Sometimes when a card is delivered, it needs more work before it can be released to production. Maybe an issue is found in testing, or it doesn’t provide the experience desired. When this happens, the following things need to happen:

  1. The project manager/reviewer leaves a comment describing the additional changes needed.
  2. If a response is required, then use a @mention.
  3. The card should be moved back to the Next list. If priority is an issue, it should be labeled as urgent (green.)
Sending a card back for more work

Frequently Asked Questions

How many cards should I have?

Generally, having too many cards is better than having too few. Not having enough can result in loose ends or gaps in your project, or cards that are too big to be completed quickly. So be generous, and create lots of cards. Developers love checking things off a list.

When are due dates assigned? What happens to due dates after work is done?

Developers will assign a due date when work begins as a best-guess estimate for when the work will be completed. If a due date needs to change while a card is In Progress it should be updated as soon as it’s discovered.

Once work is delivered, remove the due date. This will prevent “due soon” and “overdue” emails from being sent and will allow the team to receive those emails when they are important.

If a task is due by a certain date, the project manager can assign the due date when the card is moved to Next.

What are the labels used for?

Only 2 colors have a reserved meaning, the others can be used for your own purposes. The special colors are as follows:

  • Red: Card is blocked and needs feedback to continue
  • Green: Card is urgent and should be addressed as soon as possible.

When are cards archived?

No cards are archived individually unless they are to be deleted and never completed. Live lists may be archived after several weeks or at a time of your choosing.

Developing a wordpress theme from scratch using webflow + ultimatum

We all know the hassle of front-end coding and converting it to wordpress themes. This week I learned the fastest and easiest way to  convert front-end web responsive designs to wordpress with the help of web development tools .. Webflow for the front-end web and mobile responsive designs and ultimatum to convert it to wordpress themes. 

 

If you dont know coding the front end requires a lot of imagination. I’m pointing out the problem of figuring out how to put the containers, nav bars, div blocks, classes, aligning the divs and the right HTML structure. Good thing webflow already has the solution to this problem. Alright, so we successfully made a front-end mobile and web responsive design in less than 38 minutes using webflow. Checkout this video

 

Since we already have a full web and mobile responsive design from scratch. What we do now is to convert it to wordpress webiste. This is the tutorial I’m following.  I havent tried the ultimatum framework yet but you can check the video here on how they integrate webflow to ultimatum.

M.O.U signing between ICTO DOST and the city of Iligan.

M.O.U signing between ICTO DOST and the city of Iligan.
M.O.U signing between ICTO DOST and the city of Iligan.

 

This is the start of a sillicon valley in iligan city. I am very interested on this matter probably because I wanted to make a system where everybody can benefit and I want to start this idea on my platform for jobs. The jobwaki job reputation system . Anyway, I was there and this is a good sign for a start of having a FREE PUBLIC INTERNET for the whole city.

 

 

 

Fixing Email server on webuzo

It is deployed along with Exim – the SMTP Email Server, which can be installed by a click from the Webuzo Enduser Panel >> Apps >> Utilities Category

Guide : http://www.webuzo.com/wiki/Install_System_Apps

Accessing SquirrelMail is as simple as a pie with Webuzo.
Guide : http://webuzo.com/wiki/Access_Emails

Issue # 1
You can face the “Error connecting to IMAP server: example.com.
111 : Connection refused
” Error id Dovecot service is not installed on your server.
Squirrel IMAP Error

Fix for the same is to quickly install Dovecot by a click from the Webuzo Enduser Panel >> Apps >> Utilities Category
Guide : http://www.webuzo.com/wiki/Install_System_Apps

Restart the Dovecot Service to avoid other issues:
Guide : http://webuzo.com/wiki/Restart_services

From the command line:
service dovecot restart