归零
读了成彪登在新华网的作者文集,我对“归零”有很大的回响,也让我心中再次涌现了她的影子。读完文集,我热泪盈眶:
Nassi-Shneiderman Diagram
I came across a highly influential graphical representation method of stating algorithm while I was reading books of system analysis and design. This method is called Nassi-Shneiderman Diagram or NSD. It was developed by Isaac “Ike” Nassi and Ben Shneiderman in 1972. Isaac also helped design the Ada programming language.
Many people claimed NSD to be very easy to read and understand, especially for beginners. This is probably quite true but maintaining NSD can be a problem for system designers. Unlike flowchart, NSD lumps all the symbols into one large block and does not use connectors between the symbols.
Contrary to flowchart which uses connectors, NSD provides a better structural approach of design where Goto should be avoided in structured programming. NSD provides simplicity and a compact overview of a program that can show some relationship nicely. NSD, in particular, provides visual aid and guides thinking about nested conditional structures.
Personally, I find that NSD is useful for rapid prototyping. It is quite simple and easy to draw a conceptual design before expanding into a flowchart. Modifying a stage or symbol in NSD is rather tedious compared to flowchart. On the other hand, after a careful and thorough investigation, I find NSD most suitable for structured system analysis, design and programming. NSD was designed with structured system analysis and design in mind as mentioned in the above paragraph, it has many advantages over flowchart despite of problem maintaining it. I think it is worth to study and to use it.
Here is an example of NSD and flowchart stating an algorithm to find a summation given by the equation:
If S > 100, then display k and tell the user that k is in range.
Butterworth low-pass filters
I was reading about Butterworth low-pass filters since two weeks ago. Signal processing was not my favorite but this particular linear analog electronic filter had somehow captured my attention. I have interns working on some projects. One project uses Butterworth low-pass filters to process signal acquired from some sensors.
I have to verify their works using Mathematica on Mac OS X for data modeling. But there is a problem with this software. It does not have a built-in function of Butterworth low-pass filter so I need to build one.
The gain G(ω) of an n-order Butterworth low pass filter is given in terms of transfer function H(s) as:

where ωc is break frequency.
The Mathematica code with break frequency normalized at 1 rad/s:
butterworth[w1_, w2_, o_] = 1/(1 + (w1/w2)^(2*o));
LogLinearPlot[
Evaluate[Table[
10*Log[10, butterworth[w1, 1, order]], {order, 5}]], {w1, 0.01, 100},
PlotRange -> {-100, 0}, PlotPoints -> 100, ImageSize -> 400]
Export["butterworth.jpg", %]

Plot of the gain of Butterworth low-pass filters of the n-order 1 through 5.
Ada tasking on multi-core
With a multi-core processor such as the Intel’s Core Duo, the Ada tasking can be easily demonstrated compared to single core Pentium processor. Consider the following Ada code:
with Ada.Text_IO; use Ada.Text_IO;
procedure Tasking is
task A;
task B;
task body A is
begin
for I in 1 .. 10 loop
Put_Line ("A");
end loop;
end A;
task body B is
begin
for I in 1 .. 10 loop
Put_Line ("B");
end loop;
end B;
begin
Put_Line ("Begin parallel tasking...");
Put_Line ("The end!");
end Tasking;
The above program produces the following result which easily reflects the parallel execution.
A
B
Begin parallel tasking...
A
B
The end!
A
B
A
B
A
B
A
B
A
B
A
B
A
B
A
B
Hello? What is Ada?
I was giving an Ada talk this afternoon. The room was quite packed with students although not full. They were mainly 3rd year sem 1. Most of them were looking at technologies that they could work with their FYP (Final Year Project).
While I regaled them with fascinating true facts of Ada, I could see various reactions on their innocent and ignorant faces. Almost half of them gave an expression of “What is Ada going to do with my project?”, “What is Ada? Never heard of it.” or “Ada is old technology and is unpopular.” It was years of experience telling me not to waste too much time with such audiences. I quickly skimmed through some technical facts which they wouldn’t understand and continue regaling them with some interesting facts.
Finally, I had come to the end of the talk. It was the questions and answers session. No one had asked any questions except a girl who asked me about C# after the talk session was over. I explained to her the benefits of Ada over C# but she said she would have to start all over again. Again, my instinct told me not to waste time with such attitude and I turned my focus onto the two students whom I am supervising now. I continued with them a discussion of their project.
Unlike a couple of years back, I was too over-enthusiastic about Ada. I would talk regardless of audience reactions. After a few talks and a seminar this year, I find that I have changed. My enthusiasm is parallel to audience reaction.
Ada Obsession
Well, well, well. Kazeserver alpha RC1 has to be delayed due to some design issues and I am rewriting most part of the software so that the source can be understood easily. For the past two weeks, I was troubled by the old design but I have got a new picture now.
Isn’t Ada code easy to understand? Well, yes. But I was using a lot of Unbounded_String in records which made my code hard to read and understood. While Unbounded_String is compatible with database operation, it lacks the understandability and readability if compared to String (1 .. 10) for example.
Today, I am totally obsessed in Ada and am feeling the strongest Ada obsession after a couple of years. The feeling is still burning. If my Ada obsession keep burning, I believe I can release KazeServer for alpha testing before of June. Hopefully.
Subversion client hangs after post-commit
I had been hit by this problem since I setup Subversion on Ubuntu in January. The svnserve was properly invoked on Ubuntu server but whenever any svn client was trying to commit something back to the server, the client would hang for hours before it prompted an error: “Connection reset by peers.”
I searched all the Subversion and Ubuntu forums but could not find any solution to my problem. In the past months, I tried to identify the source of the problem and even tried many solutions suggested by people on these forums but the problem persisted. I had been committing to svn server with post commit email notification turned off and lost quite a number of post commit message. I used to keep track of changes by these email notification.
Yesterdat, I was trying my luck again and I accidentally noticed sendmail and sendmail-mta were called after commit. A look into syslog confirmed that sendmail process was put into sleep by some unknown reason. Failing to identify the cause, I removed sendmail and related packages from my Ubuntu server and installed Exim4. It is claimed to be easier to installed and configured than sendmail. The problem diminished after I got exim4 up and running. Now I am able to receive post commit email notification after every svn commit. Every commit takes a few seconds to complete after this. Problem resolved.
DocBook Publishing - Output to HTML
I learned about DocBook last year and found it a great tool for technical documentation. It is a XML based semantic markup language. The DocBook is originally intended for computer hardware and software documentation but it is great for other documentation purposes.
I have been working on some documentation, new and converting existing from Lyx to DocBook. With DocBook, I am able to publish the contents easily to many formats, namely TEX, text, pdf or HTML. I had been trying to output some of my DocBook documentation to HTML.
This afternoon, I have finally succeeded to publish to HTML. I installed some DocBook packages on Ubuntu. Here are the packages you need to get DocBook going:
- docbook
- docbook-xsl
- docbook-xsl-doc
- docbook-xsl-doc-html
- docbook-xsl-doc-pdf
- docbook-xsl-doc-text
- xsltproc
- and optional xalan and fop
To output your DocBook document to HTML, simply this:
$ xsltproc --output paper.html \
/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl\
paper.xml
You can turn on chapter and section numbering by setting chapter.autolabel to 1 and section.autolabel to 1. To include the chapter number in every sections, set section.label.includes.component.label to 1.
$ xsltproc --output paper.html \
--stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \
/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl \
paper.xml
Patched a security hole in KazeServer
While I was at Honda waiting for the technician to reprogram the ECU, I found a security hole in the authentication part of KazeServer. An unrecognized user id with a null password would grant access to KazeServer but without any significant usability but posed a potential risk.
I quickly identified the cause and rectified the problematic logic in the program design. One down and many to do. One of the other critical problem is that KazeServer will get over with initialization and execute even without the MySQL server is running. A serious bug though.
Another 3 more days to release Alpha RC1 and yet so many problems and unfinished parts. I feel the release will have to be postponed then.
Pre-Alpha RC1
I am in the midst of getting the KazeServer to roll out. During this pre-Alpha RC1 stage, works have been a little pressured especially cleaning up parts of the codes to make it neater and more efficient. A number of factors are also affecting during pre-Alpha stage.
One of them is the gnat Ada compiler issue on Ubuntu Hardy Heron or 8.04. Hardy comes with gnat-4.1 with a number of packages not added. Without these packages, I can’t build AWS-2.3. So, I have to roll out Alpha RC1 on Mac OS X until Ubuntu Intrepid or 8.10 with gnat-4.3 is released (hopefully with gnat-4.3 by October). I have another option which is I have to move to Debian Etch with gnat-4.1 but including the libaws-2.2.
libaws-2.2 is a pre-built library for AWS on Debian Etch. I am developing using gnat-4.4 and AWS-2.3 on Mac OS X. Moving to Debian Etch means I am downgrading the version of gnat and AWS and I feel a little skeptical about it. This is one thing I hate most, version inconsistency among the Linux distro.
After talking to my friends on this matter, it looks like I have few choices but to target on Mac OS X for the moment considering the tasks of installing and get the Debian Etch up and a whole lot of uncertainties in gnat-4.1 and AWS-2.2.
Entering Alpha stage
Finally, after weeks of experimental development, KazeServer is entering Alpha development stage. I expect to roll out Alpha RC1, hopefully before this weekend.
KazeServer is a web-enabled membership management system that allows registered members of an organization to login to review their membership data and other membership related transactions or records. KazeServer is developed 100% with Ada and AWS (Ada Web Server). The application itself is a web server. No web server, e.g. Apache, is needed to run KazeServer. It is a totally stand-alone independent application with a built-in web server (AWS).
Can’t build AWS in Ubuntu
About two weeks ago, I installed Ubuntu Hardy Heron in VMware Fusion on my MacBook (running Leopard). After some playing around with Ubuntu on my MacBook, I began to install software components such as the Ada compiler so that I could do testing on my MacBook without switching to the Ubuntu box.
I am working on a web-enabled application developed with AWS (Ada Web Server). This application is developed on Mac OS X. Building and testing on mac OS X has no problem at all. To compile the source on Ubuntu, I need AWS. So, I tried to install AWS packages from Ubuntu but found only broken dependencies. Then I decided to build one myself. The build has failed because the gnat (Ada compiler) from Ubuntu is 4.2. It lacks two Ada packages, a-calfor.ad[sb] (Ada.Calendar.Formatting) and a-catizo.ad[sb] (Ada.Calendar.Time_Zones). AWS depends on these to build.
I posted to comp.lang.ada and AWS list. It looks like I have no choice but to bootstrap gnat-4.3 myself or install from Ubuntu Intrepid or wait for the next Ubuntu release of gnat-4.3.
Mathematics - The Systematic Reasoning
I remembered the way my mathematic teachers taught maths in class. Although none of them explained why we must learn maths, as it was the way supposed to be, they taught me systematic problem solving. I began to appreciate the beauty of mathematics when I started immersing myself in programming. The algorithm development and language constructs which are based on mathematics fascinate me with its beauty.
A good programming language teaches us systematic discipline and systematic reasoning. The first programming language which I learned was Commodore BASIC. I hated that. I learned half way (as the matter of fact, 2 days) and I switched to Apple Basic. In the mid 1980s, Apple II was the most popular home computer after Commodore VIC 20. Apple II that ran Apple DOS caught on the wagon very fast. The most common programming tool on Apple II was of course Apple BASIC. That was my first programming language and I had written many programs with it.
Then I was exposed to FORTRAN 77. The language construct was pretty much like Apple BASIC. I caught on with FORTRAN pretty fast. Then under some influences from friends whom I met at the computer center, I learned Apple Pascal. We challenged one another to increase the boot speed of Apple DOS. We rewrote Apple DOS with Apple Pascal and evidently increased the booting speed of Apple DOS.
Pascal is a very structured language (compared to Apple BASIC and FORTRAN 77) invented by Professor Niklaus Wirth to teach students programming and systematic reasoning. The structural construct of the language enable the programmer to think of the problem in a structural approach. Pascal cultivates structural discipline in solving programming problems. Pascal has provided me most of the necessary training in systematic discipline and systematic reasoning in solving problems.
When CP/M was introduced on Apple II, I was able to use UCSD Pascal on CP/M enabled Apple II machines. It won’t be long before IBM and IBM compatibles (8086) stirred up a turmoil with MS-DOS. Then, Turbo Pascal (by Borland) emerged. Turbo Pascal was the lightest and fastest compiler at that time. I became addicted in writing computer programs with Turbo Pascal.
Then I caught on with C and C++ and began to develop software with Borland’s Turbo C/C++ compiler. When MS Windows became a de-facto standard on every desktop computers, I dwelled into Borland’s Delphi (based on Object Pascal) to develop GUI applications.
During Apple CP/M era, I was exposed to Ada. I discovered Ada compiler by accident in another computer shop. I bought the program without thinking twice. Of course, it was a pirated copy. There was no copyright law then. But thanks to the pirated Ada compiler, otherwise I would not know such beautiful programming language has ever existed!
In 1995, I started to learn Ada when books were available. In no time, I fell in love with Ada until today. Whenever I was told or perhaps requested to look at computer programs written in any other languages, e.g. PHP, Visual Basic, C/C++ and etc., I feel that represent an insult to mind trained in systematic reasoning as in Pascal papers which Professor Wirth wrote.
Ada and Pascal are very alike because Ada developers had adopted Pascal’s structural language construct. Both Ada and Pascal clearly represent logical expression without any difficulties. Both languages are constructed heavily based on mathematic concepts and thus enforce systematic discipline and systematic reasoning.
Looking for a web hosting provider?
Alright, you need to find a web hosting company which provides web hosting services at a price ranging from $4 to $8. And you want a detailed review of their web hosting service to ensure reliable service. Look no further, visit webhostingchoice.com for a list of web hosting providers. It is easy, quick and hassle free.
At webhostingchoice.com, you have a comparison chart of pricing, fees, disk space, transfer and rating to help you choose a web host of your choice. Click on every links to checkout the web hosts’ websites to learn more about their products and services before you jump in.
This site also includes a learning center to help you through the web hosting jargon words, hosting scams, marketing gimmicks used by web hosting providers to lure and lock in customers. The site provides comprehensive advice and FAQs to guide you selecting a web host and to avoid pitfalls and tricks.
A list of useful links and resources is also included for your convenience. You may want to sign up their newsletter for monthly updates of hosting tips, offers, coupons, interviews and etc. to keep you abreast of the web hosting business and to enjoy discounts from coupons.
Take a look before you jump!
Shoulder bursitis
I had shoulder pain since March. Initially, it began at my left shoulder after waking up one morning. The pain was not too serious until recently (for the past two weeks), I had lousy sleep. Both of my shoulders were aching and often woke me up in the middle of the night. I thought it was some kind of spraining and it would go away after good rest with less training. But it seems to self-exacerbate. The pain was getting more intense every night.
Last night, I read articles about shoulder bursitis or rotator cuff injuries and treatment. After reading these articles, I decided to give it a try. I applied Fastum gel (Ketoprofen) on both shoulders. Guess what? I had the best sleep ever since March. I woke up early this morning without any pain.
Fastum is used to relief localized pain of arthritis, rheumatism or sports injury. I should have acted earlier.
On and off, I had been doing some wauke spontaneously while I was thinking or working on some programming problems. Some kind of off-my-mind of physical activities after sitting in front of computer for too long. I guess it was the effect of banging my head on the keyboard and I lost sense of safety. Without doing proper stretching, I performed wauke with speed and force as in a counter attack situation. That could have torn my muscles or tendons on the bursa and I overlook the seriousness of the pain. How insanely I was!
Alright, now I am on Ketoprofen and I am going to apply it for the second time. Hope my shoulders will recover in a month or two.
China’s proven world class competency
During the snow hazard in China this February, the Chinese government had successfully managed the natural disaster and crisis with much professionalism in such a short period of time. According to an unconfirmed source, the Chinese government managed to develop a Disaster Management System in just 5 days. 75 software engineers from the Chinese military worked around the clock for 5 days to bring up a web based Disaster Management System to collect, manage, disseminate, coordinate, and to provide command and control to the military disaster relieve team during the recent snow hazard.
The system was developed using Ada, AWS (Ada Web Server) with a little of PHP and Perl. The system deploys a MySQL database running on Linux. The system is hooked up to air-borne SAR (Synthetic Aperture Radar) for real-time acquisition of landscaping information in snow hazard affected area to help assessing the damage of rail ways, roads, housing and forest. The Chinese army engineering company was dispatched by the system to areas in need of assistance.
I have yet to receive further details of how the system works and probably will not. Anyway, that shows the Chinese ability and responsiveness in dealing with natural disaster. Hail China!
Looking for Windows web hosting?
If you Google for “Windows web hosting”, it returns 3,260,000 or more of possible websites providing Windows base web hosting services. These web hosting company offers a wide range of hosting plans and offers. To skim through all these searches for a right plan is not an easy task and usually daunting.
WebHostingChoice.com provides you a competitive list of windows hosting plans and company. The website also provides information about scam, domains, dedicated server, and a lot more in its learning center to help you understand jargons of the web hosting. You can search or browse web hosting services by features. Perfect for beginners to learn about web hosting to avoid pitfalls that could possibly hamper your website traffic and popularity. It saves you time and money. Try it out today.
If you are running a web hosting service, you can advertise your hosting service here by submitting your web hosting company details. A great way to start your web hosting business from home and let your website and web server monetize for you!
What else? You can subscribe to WebHostingChoice.com newsletter by submitting your email address to receive up-to-date web hosting business trends and information. You will never be left behind and always ahead for the latest offerings.
Open Source and School Works
The increasing buzz about the omnipotence of Google and Open Source projects has left us wondering, what do students do with their research and course assignments today?
The Internet has become a huge reservoir of knowledge since the past two decades. The use of this knowledge has widen the gap in students thinking about traditional working environment, processes and ethics as well as their awareness of copyright laws and humanistic behavior and obligation. Unfortunately, many youngsters studying in local colleges and universities are not well aware of the pitfalls of using such information and open source projects.
With many years of software development (in both closed- and open- source) and research experience, I am able to quickly identify a genuine work or an adaptation of works from other people. I have seen many copy-and-paste work by students and even received copy-and-paste (exact copy-and-paste and adaptation) works by students applying for internship.
During a FYP judging 3 days ago, I had encountered a project which a student had adapted someone’s work as his own. With two simple questions, I established a firm “confidence” of plagiarism. The abridged story goes:
FYP judging at UTAR
I was invited by FICT of UTAR to be a judge for the FYP (Final Year Projects) 2008. Three judges and six finalist projects. I saw some little improvement this time compared to the other two I attended previously. I stopped visiting universities, especially UTAR, after the incident of my eye. More here.
Talking to a wall
I had two talks about Ada at MMU (February 25) and UTAR (March 5). Among the local universities I had given talk about Ada, UTAR was the only university where I had given more than 5 talks over the years. According to my previous experience at UTAR, the response from the students were quite good.
On March 5, the talk at UTAR was the worst as if I was talking to walls or stone sculptures. The students were acting very rude by ignoring my talk. They were doing their assignment at the computers instead of listening to my talk. The talk was rescheduled to another venue which was in a computer lab. Nonetheless, I wrapped up the talk quickly. I skipped many parts to take it to the end and at the end of the talk, no one had asked any questions. I asked them some questions instead and of course, they did not know to answer. Obviously, they did not pay any attention at all.
In contrary, the talk at MMU on February 25 received better responses from the students.
Ada Seminar
I gave my last Ada Seminar in March 2005 at MMU Melaka. It has been 3 years since I last active in Ada and Ada projects. It will be a great pleasure to restart any Ada related activities after quite a long inactivity.
This time, I am going to give a talk about Ada at two universities. For more information about the Ada seminars, read here.
Free Web Polls
Alright. You need to get an idea what your visitors think of an issue. You need a web poll which is easy to setup and most importantly it is free and does not take up additional disk space or database. There is a free web poll which provides myspace polls. It takes less than 2 minutes to sign up and get your poll up and running. Everything is stored and calculated on their server. Everything they offer is completely free and no pop-up advertisement or banners.
SVN setup
I’ve finally found time to setup svn at my home net after so many months. My svn server was down when my previous Linux box was down with a dead hard disk last year. The setup was quite a brisk. I had everything installed and configured last night. The test for remote access using a url was successful. I could import, checkout and check in. Because it was already late, about 1AM, I felt rather tire and went to bed.
This morning, I hacked some codes to provide a rather informative post commit email notification. All are done except the check in will stall. It takes a long time (and possibly hang!). I have yet to fully test before I begin my development project again.
Spam emails and your privacy
Have you been wondering why are you receiving those spam emails? Worst when you check your email with your colleagues around and suddenly a porn email pops up. It is so embarrassing. There is a convenient software to remove porn. It can delete any files using secured method is higher than government standards, making sure the files you have deleted can never be recovered.
The software, Evidence Blaster, does not only securely remove any files or folders, it also protect your privacy by clearing all your private information about you in your browsers and email clients leaving no trace of what you did on the Internet. The software helps you to safeguard your job by covering your tracks before your employer can find any from your computer.
Make a copy of your favorite website
Have you ever come to a website and found the contents very interesting, you saved it but later after a month, you can no longer find that page again? Some websites have dynamic contents. After a certain period, the contents will be removed to conserve disk space. But, that article has something for your research paper and now it is gone!
Well, there is a website to allow you to copy web site, save it to your local hard disk. Unlike save page in web browsers, the software saves the html code, grabs the graphics, audio and video at lightning speed. Once these have been downloaded and stored on your local hard disk, you can browse off line anytime even though the original page has been removed.
This Web Site Downloader is an useful application to archive websites and/or dynamic contents for future reference. It is easy to use. Just 4 simple steps: 1. Create your project, 2. Enter the URLs, 3. Begin downloading, 4. Start browsing off line!
1 million visits
Yipee! My website has surpassed 1 million visits milestone on this last day of 2007. It took almost 6 years (since February 1, 2002) to reach this mark. A good reason to celebrate.
I like to thank all visitors and fan readers from all around the world for giving the support. Thank you and I wish everybody a Happy New Year 2008. May you and your family in good health and have a prosperous new year.

How to choose a web hosting provider?
There are thousands of WHP (Web Hosting Provider) with various plans. It is very difficult to make comparison of these plans and services offered by these WHP. Finding one is already a hard start. Web Hosting Choice (http://www.webhostingchoice.com) lets you source your favorite WHP. It also provides useful database query tool to search for the WHP of your choice according to your requirement or budget.
The query tool is very easy to use. Just enter your budget and requirement parameters, for example, the monthly fee you are willing to pay, the amount of hard disk space and bandwidth you expect to be provided. Then it will list all the WHPs that fit into your budget and requirement. Simple!
Whether it is for business or personal website hosting, no more wasting time, Web Hosing Choice is the right place to begin with.
Coding War or Extinction of Human Race?
When I stumbled on this story about a software engineer and his encounter of a bug in a missile launch command and control system, I read with delight because it has been a while since I read an exciting piece of story about Ada. On the other hand, I was so nervous because our extinction might just be a string away.
The story is about a software engineer trying to maintain a 400KSLOC legacy system when the OS and compiler version were upgraded. You can read the full story here.
It is pretty exciting to read about the job of working on the legacy Ada code of such mission critical system. Why was the error occurring? What would be the consequence if the missile launch test failed? What if the missile were launched “accidentally”?
I believe, one day, the human race will extinct as was portrait in the movie Terminator. The extinction will be due to an error in a software, or rather the negligence or ignorant of a software engineer.
What the story tells us is that it appeared to be some 20 lines of code which caused the upheaval this Thanksgiving. May be it is really Thanksgiving for giving the human race another chance to survive. So, do what you want to do most, enjoy life while you can.
Steganography and Information Security
One of the major threats in this information age is the exposure of sensitive information in the Internet. The most common method of securing information is through encryption technology. Today, 128-bit technology is the commonly used encryption method in emails and documents. Recent upheaval as my ISP closing down port 25 for SMTP (Simple Mail Transfer Protocol) has rung an alarm to my computing needs on the Internet. My ISP’s decision is to curb spammers who have abused direct SMTP access to email servers. The act is a foolish one as this will not stop spams but at the same time, it affects those genuine users.
A 128-bit encryption can be broken into with cluster computer. A cluster computer consists of computers, called nodes, with one or more CPU. These computers are connected to a network. A special program capable of distributing calculation tasks to all the nodes is needed. This architecture is called Beowulf. Breaking a 128-bit encryption is just a matter of time depending on the number of nodes and the number of CPUs on each node.
My ISP forces all direct SMTP connection to be routed to an unsecured proxy server. As an emergency contingency to my Internet use, I quickly setup encryption for my email client. So far, the closing of port 25 has not affected me.
As I have the need to send sensitive work information across the Net, I feel the encryption is not enough on a unsecured proxy server. I would elevate the level of information security by using steganography together with encryption.
Steganography is a technique to embed information to a digital photo or picture without altering the photo or picture at eye level. The technique uses advanced algorithm to manipulate bits of data in the digital image with the bits from the information I am going to send. To extract the information from the encrypted digital image, an original image is the key. Only my intended recipient has an original copy of the digital image.
Information Forensics
What is information forensics? Information forensics is a science of investigation into systemic processes that produce information. Systemic processes utilize technology, primarily computing technology, in creating, delivering, storing, evaluating and processing of information. This process is usually complement by manual process. Information forensics investigation dwells into the aspect of creation, operation and evolution of the enterprise information.
My first exposure to information forensics was during my project seeding at UTAR. Dr. Robert Tee was a good friend of mine and he exposed me to information forensics. Although we did not dwell too much deeper into it, I did some research myself and practice it. I provide Information Security Assessment Service to my clients on demand basis.
Information forensics is also very useful for SEO (Search Engine Optimization). My current SEO effort has fully utilized my skill in information forensics investigation to optimize my blog search results on search engines. I also utilize this skill to investigate the visiting patterns of my visitors by cross-referencing their IP addresses from various sources, visiting destination, search criteria, and other interests. From this information, I can have a deeper understanding of the visiting habits of my visitors and identify their search interest. To date, I have identified some spammers and reported them.
I am amazed how information forensics investigation helps me in SEO. If you would like more information about SEO or ISAS services, please visit here.


Listen to my podcast