Wednesday, August 30, 2006

Since I am moving forward in job-hunting, I plan on using the blog to back a few claims I present in my résumé. Once again, I call attention to the original purpose of this site: a portfolio. In particular, code for the archive browser in the upper lefthand corner of the screen can be viewed here in its pre-processed form. Obviously the looped section can benefit from smaller variable names due to the nature of index pages for blogs. In a nutshell, that means this page can be a lot smaller than it is right now.

What do I mean by "archive"? When a person creates a blog, they are traditionally given a pre-designed page as their canvas, known as a blog template, as well as a choice to have their blog posts backed up by month, week, or day. This is blog archiving, and every time a batch of posts get archived, a link to the newly-created archive page is added to your index, ordered by date. This index grows as long as a blogger continues to post more articles, so a smaller "loop" section in the archive index means a faster download!

Many people still choose to edit their web pages from scratch via useful text editors such as the versatile Textpad and handy online references like W3 Schools and Visibone. This prevents excessive code generation from HTML-editing programs that hide the nitty gritty of web page scripting. The worst of excessive code generation are among the likes of the infamous forest of table grids (when you see the word, "table," used all too often in your page's source code) and the prolific blank space sequence, " ".

Such code-generating programs unnecessarily increase the download time of your page. Others may lack compatibility with all major browsing applications(browser for short) - this usually means telling the user that they need to view the page in some specific setting and only some specific browser, an annoyance especially because unlike humanity, all browsing applications were not created equal. (But their developers are getting warmer.)

Linux-users can simply use the extended version of Epiphany, and Macintosh users can delight in Safari. For Windows users, due to Firefox 1.5's current memory-hogging leak, and Microsoft Internet Explorer's continual security breaches in versions 6.5 and earlier, the best bet is to download either Opera, or Firefox 2.0's Beta whenever Mozilla is convinced that it's ready for public use. Otherwise, (and regardless) I urge you to upgrade Internet Explorer to Version 7 - at the very least, Version 7 offers features that finally keep it competetive with other modern browsers via site navigation and aggressive enhancements in protection; especially because your PC may come in contact with malware, even if you're tech-savvy - how? A young family member can easily and unintentionally infect your computer in less than five minutes of un-monitored, unprotected internet access.

While using Macromedia Flash to create a web page neatly sidesteps the above issue of browser compatibility as well as screen-size expectations, there are drawbacks: it forces users to download more stuff, which they might not be allowed to do in a public or pay-as-you-go setting; most Macromedia web designers don't bother with (or aren't aware of) loading their content "on-demand" or in the background ("persistant loading") - in my recollection, the prevalent practice requires loading the entire Flash object prior to fully-entering the site, a time-consuming process even for high-speed internet connections that attacks a user's patience from the start; web sites created entirely in Flash are not automatically compatible with even standard browser buttons such as "Go Back," "History," "Open in New Window," "Open in New Tab," "Highlight," "Print Selected text," "Copy selected text," etc, or even simply sending the address of a specific page to a friend until Macromedia realizes this and provides an add-on. More importantly from the user end of the internet connection, the issue of browser security is still not addressed by an all-Flash site.

Computer maintenance is easy, but finding the best software is difficult, especially in this bloated protection market. Even the wonderful Consumer Reports magazine failed woefully in their efforts to rank anti-malware programs (malware is short for malicious software)due to the surprising omission of the majority of top programs, most notably the freeware version of Avira Antivirus.

Avira is currently the top AV program I've come in contact with, which even guards well against online virus attacks - a feat that many AV companies claim, but few do well. Norton AV brings a system to its knees much like Firefox's memory leak and like all big-name corporate AV software, it's woefully overrated as anti-virus software. The common freeware name of AVG by Grisoft is also incomplete; between it and Norton, AVG may find many virii that Norton doesn't even detect, but half the time I used AVG, the purged virii kept coming back! Worse yet, many anti-malware programs don't automatically search highly-suspect files such as compressed and system files, two of the most common infection targets. And if your software doesn't check media files like documents and mp3s, don't bother using it at all.

My top pick: Go to Majorgeeks.com,
and download the free versions of:
1.) Lavasoft Ad-Aware (be sure go into Ad-Aware's settings and tell it to search in compressed files!),
2.) Spybot S&D (Don't run their Tea-Timer program unless you're willing to put up with constant warning messages every few minutes for the next few hours - essentially everytime an unknown program accesses the Windows system information ... and in the beginning, every Windows program is unknown to the Tea-Timer. The messages start to decline dramatically thereafter)
3.) Avira AV/AntiVir - be sure to install the free version of Avira when you don't expect to use the computer for anything important in the next hour or two, because it will run a scan immediately following its installation. From there, Avira will protect you nonstop, and you need only run Ad-Aware and Spybot once a week (I DON'T recommend running any of them at the same time - they often discover similar problems and react oddly when both attempt to fix such problems.)


Editing a page by hand also forces the webmaster to take a thoughtful approach to web design and keep the source code structured and ordered for the sake of readability and maintenance. Further sustainability in web design can be achieved by splitting the major components of your page into independent sections stored by database, (This is how blogging and blog commenting began - with roots in web forums and database design.) such as header, date, footer, page- & text-styles, text- and image-positioning, colors, javascript, archive index, alerts, posts, comments, etc. This enables efficient code maintenance, swift page updates, and most importantly, this layout is highly condusive to creating a user interface and settings page so that content-writers of a web page need not know anything about web design but can update the web page with custom text, layouts, and images in record time, allowing the web master to devote more time to hunt errors, ensure data security, backup data, ensure privacy, optimize, and add new features.

And that's just the basics. This information doesn't even place a dent in the wealth of information these topics span.
It's not much of a portfolio without server examples and code involving Fourier transformations, Bayes' Theorem, Dempster & Shafer, Turing-level code modularity (for those of you who know GoF design patterns, I'm talking about adapters, bridges, facades, and proxies), Knuth, genetic algorithms, etc. I'll get there. All on one page. One day, one day.

Why Javascript? It has quite a few neat features not usually found together in a single language, and I was only too happy to see it available via the unconventionally-titled implementations Rhino, SpiderMonkey, Jscript.NET, and Jscript.Mono. If you don't know what those are, you're most likely in the majority, and should not worry. But then, if the majority of individuals do know, then ... wow ... These days, a person is just as likely to code a project in C (I hope) as in Prolog, so any opportunity to play with interesting languages is always great exercise.

... And yes, I did create this post as a follow-up to the post ahead of it despite the time discrepancy.