Archive

Archive for February, 2008

ICN Technologies News Reader is online

29 February, 2008 leadamc Leave a comment

It’s all about Database.

It’s all about PHP Ajax.

It’s all about ICN Technologies.

The ICN Technologies News Reader is online. From the home page, click on the News you like to read, and then News Reader page is displayed, that’s it.

From the Database connection, PHP variable definition, Article Sections, to the actual page loaded, many operations on the server side, but it works like charm.

Product page is online, PHP implemented AJAX menu, reduce the time for loading new pages, and also reduce the bandwidth usage by many percent.

Formed partnership with The DataVault Pty Ltd in Melbourne. We are now, offering Data Off-site Backup in varies ways, from Online data backup, archiving, DVD replication, Server Data mirroring, to off-line HDD data mirroring, tape service, et al.

Custom made business machines, from clerk work, to heavily graphical 3D design, workgroup server, etc. We build them all.

AJAX Coding example

22 February, 2008 leadamc Leave a comment

This coding goes to your <head></head> tags

====================================

<script type=”text/javascript”>
var request;
var dest;

function processStateChange(){
if (request.readyState == 4){
contentDiv = document.getElementById(dest);
if (request.status == 200){
response = request.responseText;
contentDiv.innerHTML = response;
} else {
contentDiv.innerHTML = “Error: Status “+request.status;
}
}
}

function loadHTML(URL, destination){
dest = destination;
if (window.XMLHttpRequest){
request = new XMLHttpRequest();
request.onreadystatechange = processStateChange;
request.open(“GET”, URL, true);
request.send(null);
} else if (window.ActiveXObject) {
request = new ActiveXObject(“Microsoft.XMLHTTP”);
if (request) {
request.onreadystatechange = processStateChange;
request.open(“GET”, URL, true);
request.send();
}
}
}

=============================

Using links to call javasripts functions

<div id=”menu”>
<table width=”240px”>
<tr><th> &nbsp;Product &amp; Services</th></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=0′,’display’)”>IT/IS Consultation Service</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=1′,’display’)”>Network Analysis and Assessment</span></td></ctr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=2′,’display’)”>Business Desktop Support</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=3′,’display’)”>Business Data Backup</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=4′,’display’)”>Business Dedicate Server</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=5′,’display’)”>Database Outsourcing</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=6′,’display’)”>Software Engineering and Outsourcing</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=7′,’display’)”>Computer Hardware Outsourcing</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=8′,’display’)”>Business IT/IS Total Outsourcing</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=9′,’display’)”>Emergency IT/IS Service</span></td></tr>
<tr class=”rowA”><td>&nbsp;<span onclick=”loadHTML(‘../products/product_ajax.php?product_id=10′,’display’)”>Temporary Link</span></td></tr>
</table>
&nbsp;<br />
&nbsp;<br />
&nbsp;<br />
</div>

==========================

And then all of them come to the AJAX  server-side function

<?php

switch($_GET['product_id']){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
require(‘product-’.$_GET['product_id'].’.php’);

break;
default:
print(“No such category<br>”);
}

?>

===================

This is only the most basic functionality of a PHP AJAX MENU, use it at your own risk.

Job of the week Cont. Building menu system in Ajax using PHP

22 February, 2008 leadamc Leave a comment

Job of the week continue:

After a week of hard coding ICN Technologies CMS in php, it’s working so far so as expected. While the last two days being integration it to icnpro.com website. Now it’s online and good to go. There are still bugs to be fixed for example user login session not including time.

Since it’s our custom CMS system for icnpro.com, I’ve added some ajax coding. Utilizing AJAX to build a menu system. It is very efficient. As a result of the successful AJAX menu in CMS system, I’ve also added the AJAX system into the Product and Services page of the website. Try it out, I also included some AJAX PHP coding examples in the Research and Development Team website module, check it out and use it on your own risk.

ICNPro.com CMS has still more works to be done throughout it’s development life cycle. The system currently is only a prototype, more functionalities to be added in, such as adding encrypted articles, better structured coding, modification of existing articles.

User registration is not supported because of potential security risks. All users must be added by administrator (myself) into mysql database manual. User passwords are encrypted by MD5 algorithm, and no plain text is store in database. Happily we haven’t got too many users like IBM or EDS.

Regards.

Job of the week [at] ICN Technologies. Website CMS (Content Management System)

18 February, 2008 leadamc Leave a comment

It was really exciting to have company website online couple of weeks ago. Now, it’s time to build our own CMS as the website background management console for.

  • Programming language we use are PHP.
  • Database most likely MySQL.
  •  Website technology AJAX integrated into PHP pages.

It will have the basically functionalities first off, and it will be deployed with the week. I can also provide some demo usernames in here and our company website icnpro.com, so that people can experience a little bit of our work. And this system will go on as a software development life cycle, which is suppose to be an 5 iteration process. The version beta prototype will be available during the week.

Functionalities to be included:

  • Add new articles
  • modify and delete existing articles
  • Category management
  • User management and control
  • Levels of privileges for users
  • Database connect
  • Database manipulation

A custom made CMS has always been a advantage of any company, since it is more efficient, better defined function, by comparing to the ready made CMSes on the market. The ready made CMSes suite reasonably good for general purposes, and since they are good and took hundreds of man-hours to develop.  But a custom made CMS has many advantages over the ready made ones.  IT staffs have better understanding of the system within the company, and it takes less time to fix problems. And since it has only functionalities that is essential to the business, it has less possibility of fail compare to ready made ones.

Current work process is being working on the core system. And researching on new website technologies, such as AJAX. Ajax really the best option for all modem website, it is so resource efficient.

This top will continue updating.

Cheers.

Google Apps using external webhosting server DNS CNAME ‘A Record’ configuration

15 February, 2008 leadamc 19 comments

Since last week, we have been doing configuration of my domain’s (icnpro.com) DNS, which was solely hosted by GoDaddy and all services provided by Google Apps. Before the needed configuration, there’s only Google Apps as the domain service provider, including such as email, calendar, docs, pages, et al. But then, we purchased ourselves a web hosting package, so that we need to configure the DNS CNAME and A Record to point the www request and ftp request of the domain (icnpro.com) to the webhosting servers.

This may help a few forks going down the same path, as I was, very hard to find answers on the net, even in Google App’s Google group, they could answer all of my questions. And then as for support, GoDaddy gave me a very useful advice, which is use webhosting dns server and delete GoDaddy DNS server, by doing this, all the configuration was going to be on the other server’s DNS configuration panel, which is NONE OF THEIR BUSINESS ANYMORE. :( Worst of worst is, once I changed all DNSes to Webhosting servers, I can’t login to my business email account anymore, how well the support is that? If I can’t login to my account, I can’t send them emails anymore, because all the configuration and email accounts are store in the business emails.

Therefore, bring up my own technical mind, and did this:

Google Apps originally gives you three (3) A Record host IP address, which were suppose to be their server addresses, turns out NOT, they have a “@” sign in the “A Host” name, which means all request of a domain (icnpro.com) goes to this IP address. and they why no matter how we changed the CNAME, www and ftp all goes to Google server. We we have done is delete all three A Record IP address, and then add two new ones.

First line, First field, “@”, second field “whatever your webhosting server IP address”.
Second line, First field, “www”, second field “whatever your webhosting server IP address is”.

After that, add CNAME record:
“www”, points to: “icnpro.com”
“ftp”, points to: “ftp.yourftpserverdomain.com”
“mysql”, points to: “mysql-1.yourmysqlserverdomain.com”
et al.

Explanation:
The first “A Record” points all your requests to (icnpro.com) from Internet to your webhosting server.

But then in CNAME, you have subdomains such as www, ftp, mysql, email, calendar which go to different servers. Keep Google Services unchanged, and use whatever your web hosting provide you to enter into CNAME.

Wait for more than 5 hours in some cases, DNS updates need take up to 48 hours.

RAID: Redundant Arrays of Inexpensive Disks

14 February, 2008 leadamc Leave a comment

By definition:_
RAID is a technology that supports the integrated use of two or more hard-drives in various configurations for the purposes of achieving greater performance, reliability through redundancy, and larger disk volume sizes through aggregation. RAID is also sometimes referred to as “Redundant Arrays of Inexpensive Drives” or “Redundant Arrays of Independent Disks/Drives”. RAID is an umbrella term for computer data storage schemes that divide and replicate data among multiple hard disk drives. RAID’s various designs balance or accentuate two key design goals: increased data reliability and increased I/O (input/output) performance.

There are many level of RAID configurations, the most common ones are RAID 0, RAID 1, RAID 3, RAID 4, RAID 5, RAID 6.

RAID 0:_

Striped set without parity. Provides improved performance and additional storage but no fault tolerance. Any disk failure destroys the array, which becomes more likely with more disks in the array. A single disk failure destroys the entire array because when data is written to a RAID 0 drive, the data is broken into fragments. The number of fragments is dictated by the number of disks in the drive. The fragments are written to their respective disks simultaneously on the same sector. This allows smaller sections of the entire chunk of data to be read off the drive in parallel, giving this type of arrangement huge bandwidth. When one sector on one of the disks fails, however, the corresponding sector on every other disk is rendered useless because part of the data is now corrupted. RAID 0 does not implement error checking so any error is unrecoverable. More disks in the array means higher bandwidth, but greater risk of data loss.

RAID 1:_

It also named as DATA Mirroring. Mirrored set without parity. Provides fault tolerance from disk errors and single disk failure. Increased read performance occurs when using a multi-threaded operating system that supports split seeks, very small performance reduction when writing. Array continues to operate so long as at least one drive is functioning.

RAID 3:_

Striped set with dedicated parity. This mechanism provides an improved performance and fault tolerance similar to RAID 5, but with a dedicated parity disk rather than rotated parity stripes. The single parity disk is a bottle-neck for writing since every write requires updating the parity data. One minor benefit is the dedicated parity disk allows the parity drive to fail and operation will continue without parity or performance penalty.

RAID 4:_

Identical to RAID 3 but does block-level striping instead of byte-level striping.

RAID 5:_

Striped set with distributed parity. Distributed parity requires all but one drive to be present to operate; drive failure requires replacement, but the array is not destroyed by a single drive failure. Upon drive failure, any subsequent reads can be calculated from the distributed parity such that the drive failure is masked from the end user. The array will have data loss in the event of a second drive failure and is vulnerable until the data that was on the failed drive is rebuilt onto a replacement drive.

RAID 6:_

Striped set with dual parity. Provides fault tolerance from two drive failures; array continues to operate with up to two failed drives. This makes larger RAID groups more practical, especially for high availability systems. This becomes increasingly important because large-capacity drives lengthen the time needed to recover from the failure of a single drive. Single parity RAID levels are vulnerable to data loss until the failed drive is rebuilt: the larger the drive, the longer the rebuild will take. With dual parity, it gives time to rebuild the array without the data being volatile while the failed drive is being recovered.

Formed partnership with myownsolution.com

12 February, 2008 leadamc Leave a comment

It is please to announce that:_

ICN Technologies has formed a partnership with Malaysia based website design firm myownsolution.com. There are many very talented website designer. A great website design solution provider. Sometimes, it is essential to have people with artistic mind in the IT/IS industry, or this industry will become a community of black and white. Computer screen – out head; Programming coding – keyboard – our fingers.

DNS management console confusion

11 February, 2008 leadamc Leave a comment

All of you may have the same wonder what’s going on in my DNS servers, and what are those setting all about. It finally came to my attention, that without actually knowing what’s each part of setting is used for, it won’t function as I like it to be. Therefore, I had a bit of investigation about DNS various settings and here are some definitions and my explanation to them.

If you have no technical background, you can still read it, so that you would have a basic idea of what’s all the names about, and for. So that in the future, people can’t fool you around by telling you all the technical terminologies that no man on earth (without technical knowledge) can understand.

Here you go:
“A Record”:_
“A Record”, which appear to be on top of your domain management console, which pretty obvious this is the most important setting of all time in your DNS to resolve your host or domain.

A “A Record” is whenever you want to assign an particular IP address to your domain or subdomains. Suppose you have a domain name which for example : mydomain.org, what this “A Record” for is it assign an IP address to your domain, hence in the future, all request to this domain (for example: http://abc.mydomain.org) will be directed to your specified IP address, which should be your Server address.

“CNAME”:_
“CNAME” is used for whenever you want create a new subdomain to an already existing A record; i.e. you can make “www.mydomain.org” to “mydomain.org”, to which there is already an IP address assigned.This enables you to have as many subdomains as needed without having to specify the IP for every record.

To use a CNAME if your domain needs to run more services pointing to the same IP. This also ease the process when changing domain IP address, only 1 IP address is required to change and all services are remain in CNAME.

Those two terminology are all we needed so far to create our own custom DNS setting. Hope this help guys out there looking for answers.

A Website faq about DNSes.
http://faq.everybox.com/

Origin of ICN

8 February, 2008 leadamc Leave a comment

ICN stands for

> International

> Communication / Consultation

> Network

Professional IT/IS Communications and Networking Consultation services.

The sum of all above :=

ICNPRO.com

ICNPRO.COM is up on the web -milestone

8 February, 2008 leadamc Leave a comment

ICN Technologies web site www.icnpro.com is finally up on the Internet, although the site is still under-construction, it’s finally parked on a host in Australia.

ICNPRO.COM is going to serve the Australia businesses, range from small to medium sized business with their IT hardware, network analysis, and data backup. IT consultation is a majority part service. All enquiries are welcome to our office and via email or phone. Please checkout our contact page in this blog.