Multi-tasking is hard work for an IT entrepreneur or freelancer

I’m trying to keep to a schedule of 1 blog a week but it is hard, especially with the type of multi-tasking society we have become. This is the type that needs to consistently update our status online for an audience of ‘friends’ wherever we are (while driving, god forbid) and whatever we are doing (on vacation in Mexico so crooks, come have a go at my house). Its not right and I believe it has become an addiction.

I have a young family and am focusing my energy on them instead of blogging or being on social media. I do have time during my daily commute to work to ponder on some topics for my blog but I think those are the only times I’m willing to invest on this. This is the only time I am willing to multi-task because I am focused on the topic and since it does take me an hour to get home, I do end up with content that I wouldn’t have been able to come up when at home with screaming kids. I have to ditch my blackberry smartphone however because it isn’t helping with my priorities, and I constantly get reminded of this by my spouse.

We all need to multi-task but need to prioritize and schedule so that productivity is maximized. A popular time management analogy used is the story of putting in big stones first in a glass jar, then the pebbles, and finally the sand. If we reversed that process and poured in the sand first, then the pebbles, we would not have enough space for the big rocks. The rocks, pebbles, and sand of course represented the tasks we need to work on in a day and the key is to spend as much time working on the bigger tasks first before tackling the smaller ones. This is all part of time management and we have to get good at multi-tasking especially as IT freelancers and entrepreneurs.

Here is a great article by Tim Sanders on time management advice for blogging // Great read.

Robert Pagliarini also tweeted about this and covers it more in his book “@rPagliarini: Multitasking has been proven in study after study to decrease productivity, but Chunking is not multitasking. //”.

What you would do to host multiple websites on a locally hosted web server?

One of our clients previously mapped one public IP to a web server and created virtual directories/subfolders or sub-domains to host additional websites. They would they mask the redirection so the user out on the interweb sees a friendly url. However, in most cases, this broke client scripts like javascript or ajax.
The steps I have outlined here apply only to those who host their own web server inside their local network. If you have your website hosted online with one of the many hosting providers out there like godaddy, domains priced right, or network solutions just to name a few, you would have a control panel or a dashboard that you can use. This is for another discussion however.

In order to host multiple sites, you would need to do a few things in a specific order.

1)Create a new website.
If you are using IIS, launch IIS Manager, right-click on Web Sites, and create a new website.

2)If you are using IIS, edit the properties for the web site to listen on TCP port 80 and add the domain name for this web site in the host header field.

3)On your local DNS server, point the domain name zone records www and @ to the local IP address of the web server.

4)On the external DNS server, point the domain name zone records www and @ to point to the external IP address of your firewall. For most, this is done with the registrar, usually Network Solutions. The wait time is up to 2 hours for changes to take effect on the Network Solutions zone and 24-48 hours out on the internet.

5)Login to your firewall and create a PAT (port address translation) rule to forward external or internal requests to view TCP port 80 from the external IP address, to the local IP address of the web server.
Doing a PAT rule ensures you limit access to web traffic only.

And that’s it. Very simple to do but I wanted to post this out there because a client of ours asked about this. If it isn’t clear for one, I’m sure others will have the same questions.

How to successfully migrate DNS to Network Solutions

This is the second part of a project to migrate a client’s email system to Google Apps and GMail, i.e. //

I had a very frustrating time with Network Solutions last night. We had scheduled the move from ElectricMail Company (EMC) to Network Solutions (NS) because EMC wouldn’t update our MX records so that they were specific Google-provided MX records. The DNS Adminstrator (called maestro) interface with EMC allows for addition of MX records but starts at priority 10, and EMC reserves the higher priority 1-9 for their own use which makes our custom MX additions useless. EMC says that their high-priority MX records point to the Google MX records we have just added and emails do work but doing this redirection/forwarding/relaying did not let us activate the Google Apps GMail feature.

The registrar for our domain was NS so it made sense to move DNS administration there. The work was done last night and everything was moved successfully but it could have been smoother. I had to call NS tech support at least three times because each technician would tell me something different. The problem that found with making DNS changes is the time it takes before you see any change appear on the dashboard. If I waited up to the suggested 2-hour wait time for changes to take effect, it would have taken me over 6 hours for each of the three total calls I made to NS tech support. It was a good thing I was persistent in calling multiple times, as frequent as every 15-30 minutes, to double-check on the changes.

The first call was made to find out how to move name servers from EMC to NS. Apparently, you have to pick the Under Contruction Page option in the NS dashboard when taking over name servers. Doing it any other way wouldn’t have been correct. It wasn’t intuitive. The second call I put in after 15 minutes because the www record was pointing to a bogus parked page and I didn’t want to wait 2 hours as advised by NS tech simply to realize I have make more changes. I was told this time to delete the default Under Construction Page records and that my custom A records and MX records would remain. Wrong. I made a third call to NS tech after I noticed 15 minutes later that all my custom A and MX record additions were all erased. I was furiuos because NS tech guaranteed it was all set up correct. I had to manually recreate the resource records a second time. The changes were good and took affect on ther internet an hour later. I was able to activate Google Apps Gmail feature after that.

By the time I was done, it was close to 1:30am. I was glad that there were no problems the next morning. All email delivery still worked and websites still functioned. I received multiple kudos for providing great “nocturnal” support but it was thanks to the NS outsourced call-centres in the Philippines for helping me get it all working. Having 24×7 support was a blessing.

My advise when moving name servers from one provider to another is to 1) ensure you can get 24×7 support; 2) have all the zone records available; 3) have a good test plan; and most important of all, 4) be persistent, constantly asking for validation of changes. I hope this helps you out.

9 things to have in a monthly systems maintenance checklist

This is one topic that we need to improve on. We need to have a standard checklist of tasks to go through from top to bottom when performing onsite visits at each location. This checklist ensure the tasks can be delegated to different subcontractors depending on availability and ensures subject matter expertise in any tasks is minimized. Doing this allows you to deliver more value to the business and gives you more time to focus on reporting, time tracking, forecasting, budgetting, and proactive maintenance projects.

Here are some things I consider important to have in a monthly systems maintenance checklist for the technical support specialist who is tasked to go onsite:

1) Apply Windows patches to manually patched workstations. Enable auto-download/auto-install of windows patches for all workstations. Manually patch servers.

2) Reboot servers and workstations after windows patches are applied.

3) Apply antivirus signatures and revisions to workstations and servers. Enable autodownload of signatures and revisions for both servers and workstations.

4) Check backups (SQL, printers, firewall, switches, etc) by running a monthly restore to an alternate location. CC business sponsors on restore results.

5) Update IT dashboard, which is a spreadsheet that contains graph of server diskspace, dates when patches were applied, and lists any work done to workstations. Print and put this in service log at the site.

6) Update inventory spreadsheet for each site. This spreadsheet shows all hardware and software changes, including warranty expirations, contracts ISP, and domain renewals. Also take updated photos if necessary.

7) Update network diagram using MS Visio with changes. Print and put this in service log at the site.

8) Perform, fix issues, and implement assigned tasks that have accumulated for that month.

9) Finally, fillout and send to business sponsors the results of a post-maintenance test script. This is a spreadsheet that contains itemized tests of production applications to report that all are working as expected.

All the documents that are updated in this list should be saved in a central repository like Google Documents. The copies that are emailed to business sponsors should be in PDF format. I use a doPDF utility to print my documents to a PDF format.

I’m sure I’ll add more to this as we figure things out. Its a checklist, a schematic that we follow for each onsite visit. Let me know by commenting here what additional tasks you think we are missing here.

5 lessons learned about charging fair market price for web projects

I had a very disgruntled client that I was doing work for thru craigslist. He rejected an invoice I forwarded him and said that the invoice was too high. He was very, very frustrated and I am not sure I will be able to repair the damage and get paid for the work I have already done. I am not sure I can quite state any lessons learned from this sad ordeal because I am still in the midst of it.

I believe its my fault for not laying out the scope of the work and the price of the work very early on in the project. If that is not agreed on at the start, things like this will happen. Here are some things learned from all this:

1) Get a written contract signed. Its very important to have an agreed upon deliverable, timeline, and costs very early on before work starts. This contract becomes your guideline when it comes time to collect.

2) Never undersell yourself. Find out what the market will bear for this type of work and match it. Don’t charge too much and if the client cannot afford you, move on to the next.

3) If there are questions as there always is, compromise. Put yourself in your client’s place and give them the benefit of the doubt. Since written contract was not used, appease your client by cutting back on some deliverables and even cut back on your invoice. Maybe they really don’t have any more money left for the project.

4) If you can’t find a middle ground, lower your costs next to nothing and give your client the deliverables. It is useless to you anyway and it is much better to have them put it to good use. Be a good citizen.

5) Keep all correspondence. If no written contract is available, use email or keep notes of phone conversations. Any vague estimate of what you have agreed on as the amount you can invoice at the end of the project is important. This will also keep track of time you have wasted on projects that have little to no return.

These are some things I have learned from this so far and there are bound to be more after its done. If you have any other ideas or additions to this, please provide some comment here.