Saturday, November 01, 2008

The about: URI Scheme

Many web browsers implement an internal URI scheme to access built-in features, advanced functionality, default warning/error messages and "easter eggs". In most cases, the scheme name for these URIs is "about:".

The following are lists of about: URIs available in recent versions of Internet Explorer, Firefox / Seamonkey & other Mozilla compatible browsers, and Google Chrome & Chromium.

Internet Explorer
More information: http://support.microsoft.com/kb/183978

Customized "about:" URLs can be defined for Internet Explorer in the Windows Registry under the following path:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AboutURLs

The following list is mainly for versions 6 (SP2) and above.

about:blankDisplays nothing -- a blank page.
about:DesktopItemNavigationFailureDisplays the default error page used when the browser can not navigate to the provided local desktop URI.
about:HomeDisplays the current defined home page (the page that loads if you click Internet Explorer's Home button in the page navigation toolbar)
about:mozilla
Displays an empty blue webpage. Removed in Windows XP SP2, but can still be accessed using res://mshtml.dll/about.moz
about:NavigationCanceledDisplays the default error page used when the browser aborts loading a page (user cancelled).
about:NavigationFailureDisplays the default error page used when the browser can not navigate to the provided URI.
about:NoAdd-onsIE 7 and above: Displays the warning page used when the browser starts up in safe mode (add-ons disabled).
about:NoAdd-onsInfoIE 7 and above: Displays further help information about running the browser with add-ons disabled.
about:OfflineInformationDisplays the warning page used when the browser is in offline mode.
about:PostNotCachedDisplays the warning page used when the browser can not reload a page without resending previously submitted form data.
about:SecurityRiskDisplays the warning page used when the browser prevents loading a page due to user-configured security settings that are too low.
about:TabsIE 7 and above: Displays the help information page about using tabs.
about:inprivate
IE 8 and above: Displays the help information page for the InPrivate browsing feature.


Mozilla products: Firefox, Seamonkey, etc.
More information: http://kb.mozillazine.org/About_protocol_links

about:Displays a product information page, including name, logo, version, links to licensing information, etc.
about:aboutDisplays a list of about: URIs available (not available in Firefox)
about:blankDisplays nothing -- a blank page.
about:bloatAvailable only in developmental versions of Mozilla-based products.
about:buildconfigDisplays information about options used to build/compile the web browser software.
about:cacheDisplays cache entries & statistics.
about:cache-entryDisplays information about a specific cache-entry. The cache entry must be identified within a querystring. Generally you would not enter this yourself, as the links using this URI are generated by the about:cache viewer.
about:configAllows you to access and modify all configurable options available in the software, including advanced/experimental settings.
about:creditsDisplays an alphabetically organized list of contributors.
about:licenceDisplays licence information
about:licenseAn alias that performs the same function as the above about:licence URI.
about:logoDisplays the logo image used in the software.
about:mozillaDisplays an page containing a excerpt from "The Book of Mozilla" (not an actual book)
about:neterrorDisplays a generic built-in error page (Cannot Complete Request)
about:pluginsLists all available plugins, including details such as versions, file locations, etc.
about:robots
Firefox 3.0 easter egg appearing after March 8th, 2008
about:blocked
Firefox 3.0 blocked information page used by the malware protection feature.
about:rights
Shows licensing information for the Ubuntu 8.10 shipped version of Firefox.


Google Chrome / Chromium
More information: http://googlesystem.blogspot.com/2008/09/google-chromes-about-pages.html

about:memoryLists the browser's memory usage details.
about:statsLists counter and timing statistics of internal methods/functions.
about:networkNetwork I/O tracking & status tool.
about:internetsAn easter egg which makes reference to the "internets" Bushism and "series of tubes" Internet memes
about:histogramsDisplays text-based histograms measuring the performance of internal browser methods/functions.
about:dnsDisplays DNS lookup performance and caching statistics.
about:cacheDisplays a list of webpage resources stored in the local browser cache.
about:crashDisplays the "sad tab" error page -- used when a page causes the current sandboxed browser process to crash (Aw, Snap! Something went wrong while displaying this webpage...).
about:pluginsLists all available plugins, including details such as versions, file locations, etc.
about:versionDisplays version information for various components.

Friday, October 31, 2008

A New Name

I don't know why it is, but choosing a good & suitable title / description for this blog has been pretty a tough task for me. It must be because of the general, broad-ranging nature of things that I want to post here.

I originally started this as a personal blog back in 2004, when personal blogging was the hip and trendy thing to do... and I suppose it still might be, to a certain degree. As seen mostly in my posts prior to this year however, I quickly became disinterested with this concept.

Since the beginning of this year, I started using this blog again to write about technology-related topics, as well as to use it as an outlet for releasing various personal/experimental work. This has been a far more meaningful use to me, but deciding on an appropriate blog title for this personal-turned-technology blog kept shooting nothing but blanks. I settled on "Random Mumblings from Ahsy" for the title, with a description of "You don't want to know..." as they seemed fairly generic and ambiguous enough descriptions. They were also an attempt to choose something witty and clever, although I probably failed epically in that regard.

The new name of this blog is now; "Answers to Hardware and Software for You"... this is obiviously a play on my blog identity, ahsy. Although it might not be fully representative of this blog, I'm hoping it will at least help to establish slightly clearer focus on the topics of my posts, at the same time widen its appeal to both casual and regular readers who are either technology enthusiasts or just passing through looking for information.

Monday, October 13, 2008

TechTip: Taming Adobe Flash Plugin for Firefox

As I've said before, Mozilla Firefox 3.x is currently my preferred web browser, whether it's on Linux, Windows or any other platform that it has been ported to.

Firefox, like any piece of complex software however, is definitely not perfect. Some problems are beyond Mozilla's control though -- for example problems caused by badly behaved third-party plugins. Arguably the most irritating plugin problem impacting Firefox users today is caused by Adobe/Macromedia's poorly written Shockwave Flash plugin (NPSWF32.dll).

Flash is the de facto standard for delivering interactive rich media content over the web. It is so widely used that the Flash plugin is a must have for any major modern web browser. The problem however, is that Adobe's Flash plugin (all previous versions including the latest version 9.0 r124) for Mozilla Firefox & other Mozilla-based browsers is a resource hog and has a tendency to slowly leak memory and become unstable if left running for too long. For the most part, the Adobe Flash plugin for Firefox works adequately, but I would venture a guess that for upwards of 90% of web browser stability problems that users encounter in Firefox -- such as freezing up, crashing or sucking up system resources (CPU & memory), etc. -- the culprit is most likely Adobe's Flash Plugin.

Comparatively, the Flash ActiveX control for Microsoft's Internet Explorer seems to perform much better in terms of resource usage and reliability, however performance of the Flash plugin is hardly a deal breaker for me.

Google Chrome uses the Mozilla-based browser plugin system, and therefore uses the same Flash plugin that Firefox uses. Consequently, Chrome suffers from pretty much all the same Flash plugin problems that you might encounter in Firefox. However, since Chrome isolates memory for each process/tab and plugins, it is easier to control / kill & restart dysfunctional processes and plugins using its built-in Task manager.

Lately one particularly annoying problem that I've suddenly started to experience with the Flash plugin in Firefox is that every time after restarting from hibernation in Windows XP, there is no sound in any flash content (for example YouTube videos & other flash animations). Closing and restarting Firefox fixes the problem, but it's a pain. I usually like to have Firefox save and restore my session and all my tabs, which makes it a little easier, but it's still an big inconvenience nonetheless.

The Solution:

I have recently come across a workaround for this issue which doesn't require closing and restarting Firefox entirely. Simply go to the Tools menu, choose Add-ons to open the Add-ons manager window, choose the Plugins category, then look for and select the Shockwave Flash plugin. Hit the Disable button, which will kill Flash on all web pages you currently have open in Firefox, then re-enable the plugin and close the Add-ons window.

You will need to reload any web page with flash content, but this should clear up most Flash plugin-related problems without having to restart the web browser entirely.

Just for kicks, open the Windows Task Manager along side the Firefox Add-ons manager window. Switch to the Processes tab and locate firefox.exe. Watch what happens to the memory usage as you disable the Shockwave Flash plugin... satisfying, eh?

This trick of disabling and reenabling individual plugins in Firefox without restarting the whole application can probably be applied to any misbehaving plugin (not just Adobe Flash), or when you suspect that plugins are chewing up your resources and you want to try manually flushing the memory used by the firefox.exe process.

Tuesday, October 07, 2008

TechTip: Getting a List of Files

As mentioned in my previous post, there are certain tasks that can be accomplished more effectively and efficiently using a command line interface versus a graphical user interface. Here's one scenario;

Let's suppose you work in a office and you're part of a large team working on a project where everyone stores and shares their files on a networked file share. Your manager has given you a task to compile a list of files into a spreadsheet in order to create an documented file index or checklist.

How would you do this?

If you were using a GUI, you couldn't just select all the files you need and use a hypothetical "get list" command (at least as far as I'm aware there isn't any standard feature like this that exists in Windows, Mac, X Windows, or any major GUI). Even copying the selected files and pasting into a text editor or spreadsheet just simply doesn't work.

Probably the most obvious answer for most GUI-trained people would be to simply type out each filename one at a time, or use the rename feature to copy the filename text and paste into a text document or spreadsheet. This is probably a fair solution if you only had to deal with a small number of files, but it is a bit error-prone... and what if you had a large number of files, like over 20 to possibly a few hundred or more? Unless you had several people at your disposal helping you to split up the work, this would be a pretty tedious task, and could take anywhere from a few minutes to a few hours or even the whole day to complete.

Solution:

Command Line to the rescue! You can accomplish this quickly and easily using the command line.

In Windows, fire up the DOS console by going to Start -- Programs -- Accessories -- Command Prompt, or Start -- Run, enter "cmd", and click OK.

Let's say the file share is mounted to drive letter S:, and all the files that you need to get a list of are under the path "\teams\myteam\projectx".

Use the "cd" (or "chdir") command to change into that directory:

cd S:
cd \teams\myteam\projectx


Doing a "dir" command will output a list of the contents of that folder. You could now theoretically use the Edit -- Mark & Copy commands available in the Window icon menu at the top left of the Command Prompt window (maybe even use the "dir /p" switch to pause at each screen)... this is certainly more efficient than typing or copying/pasting each filename, but there's actually an even better way yet...

Using the "dir /b" switch will give you a "bare" list of files without the columns for modification date, filesize, etc.

Combine this with the file redirection pipe ">", and this will instantly generate your list -- no fuss, no muss!

dir /b > filelist.txt

If you want to get fancier, you could use additional switches and wild cards with the dir command...

First you can construct and issue the dir command on it's own to preview the results on the screen.

dir /b /s 2008*.doc

The above command gets a bare listing, includes files in subfolders where the filenames begin with "2008", and have the ".doc" file extension.

If you are happy with the results, you can then add the portion of the command to pipe the output into a file instead of outputting to the screen.

dir /b /s 2008*.doc > filelist.txt

Once you this is done, you can close the Command Prompt window (or enter the "exit" command).

Going back to the S:\teams\myteam\projectx folder, you will now find a file named "filelist.txt" has been created. Open this file, and there you have it -- a plain text list of your files that you can just copy and paste into a spreadsheet or use in any way you like.

For Linux, Mac OS X or any other Unix-like Operating Systems you can use the equivalent "ls" commands.

ls -F1 > filelist.txt
ls -F1 -R 2008*.doc > filelist.txt

etc.

Now you can show off newly discovered superhuman productivity skills to impress your boss & coworkers. You're due for a raise! ;-)

Sunday, October 05, 2008

Command Line Interfaces - A Relic of the Past?

Command Line Interfaces (CLI) have existed since the very first computer operating systems were developed. Although Graphical User Interfaces (GUI) are a later innovation, the GUI has also been around for quite a long time.

Precursors to modern GUIs have existed since the 1960's, but the introduction of the first mainstream GUI-based operating systems (Apple Macintosh in 1984, Commodore Amiga and Microsoft Windows in 1985) has gradually transformed computing into a fully "point and click" experience.

In the PC world, GUI based computing did not catch on quite as fast. Although the first version of Microsoft Windows was released in 1985, Windows never really gained much popularity until version 3.x was released in the early 1990's. Even then, the majority of software continued to be developed for DOS; a command line based operating system. This meant that most people learning how to use PCs still had to learn how to use DOS to some degree.

The release of Windows 95 saw the beginning of the end for PCs running DOS as a primary OS. Windows NT/2000 marked the complete removal of DOS as an underlying OS, but these versions of Windows were mainly used in business-class PCs only. It was not until Windows XP, released in 2001, when DOS underpinnings were completely removed from general purpose home PCs.

According to current estimates, the usage share of computer operating systems is approximately 90% Windows, 5% Mac OS, 2% Linux, and the remaining 3% other OSes.

So with 95% of computers running either Windows or Mac, it's not surprising that point and click is essentially the only way that the vast majority of computer users today know how to operate a computer. The keyboard is merely relegated to text entry, and for the most part, this method works.

Does this mean CLIs are obsolete?

Hardly -- despite the fact that we can now probably accomplish most tasks solely through a point and click GUI system, the reality is CLIs and GUIs don't compete, but rather complement each other, and both continue to evolve. There are still a lot of things that can only be accomplished (or accomplished much more efficiently) via a command line.

This is why CLIs still exist in contemporary OSes. A DOS command shell still exists in Windows XP & Vista. Even Macs running Mac OS X now have a Unix-like command line terminal (whereas the classic Macintosh operating system did not have any CLI at all).

As a extension to the posts which I will be classifying as "TechTips", some will also focus on using the command line, so this post is to just establish the fact that CLIs are a very powerful tool, and still very relevant in today's world of point and click GUIs. Hopefully some of the examples that I will be demonstrating here in the future will illustrate this fact clearly.

Tuesday, September 16, 2008

TechTip: MsMpEng.exe Using High CPU

This will be the first of possibly a regular series of posts which I will generically label as a "TechTip". The purpose of these posts will be to simply provide computer & technology related tips, tricks and fixes.

The topic of this inaugural TechTip will be to cover an issue dealing with a certain Microsoft Windows process named "MsMpEng.exe". As far as I could tell from searching Google, many people have experienced problems with this process, and it doesn't look like anyone has been able to provide any definitive or proper answers... some people have gone as far as suggesting to hack the Windows registry in order to disable the process entirely (yikes)!

Slow system performance is arguably the most common problem that any computer user of any level of proficiency will encounter. When dealing with a slow computer, users of intermediate experience are likely to try to investigate the programs and processes currently running on the system in order to attempt to identify the cause(s), and remedy it if possible -- in most cases by simply killing the problematic processes. In modern operating systems, a method to see a list of running processes, CPU, memory usage and other resource usage is usually available. In recent versions of Microsoft Windows, this function would be provided by the "Task Manager", which is most easily accessed by right-clicking an empty area of the taskbar and choosing the "Task Manager" option from the context menu.

MsMpEng.exe is a process that one may sometimes notice using a fair chunk of memory (both physical RAM and virtual memory), as well as occupying a high amount of CPU time. It is a component of Microsoft's Windows Defender Antispyware software, and is responsible for running automatic system scans in the background.

With this in mind, if you find that MsMpEng.exe is pegging your computer's CPU, the most logical explanation is that a background system scan is probably in progress. To verify this, simply launch the Windows Defender application, and you should see that a system scan is currently underway. Obviously, the ideal thing to do is to simply allow the scan to complete in the background while you go about your business. However, if the background scan is using too much CPU time such that it interferes with things you are trying to do, all you need to do is click the Stop scan button to reclaim your CPU. It's as simple as that.

Saturday, September 13, 2008

Google Earth Model: Convergys Winnipeg

It has been quite a while since I last posted a new Google Earth model, and I actually have several incomplete models lying on my hard drive, so I decided to pick one that was close to being completed and finish it. Here it is:

14 Fultz Boulevard
Located in the Whyte Ridge...

So why, you may ask, did I decide to make a model of this building? It's not a particularly unique Winnipeg destination -- as a matter of fact, it's just a generic two-storey private office building in an industrial/commercial area surrounded by suburbs and it is nearly at the edge of the city.

Most obviously, the reason I decided to model this building is because I have worked or am working there (I won't say).

Convergys is one of the top 15 employers in Manitoba. Its primary business is providing call centre and customer support services -- mainly inbound technical support. As such, if you were to survey the population of technically savvy Winnipeggers (such as myself), you would very likely find that a good number of them work or have worked at Convergys at some point. In my opinion, it's an excellent place to work; benefits and wages are fairly good, and it's a great way to get some technical work experience on your resume... provided you have the patience to take calls.

Tuesday, September 02, 2008

Google Chrome - First Impressions

Google has just released the first public beta version of their new web browser, named Chrome.


Having only heard rumours of this via various tech blogs and news websites only one or two days ago, I was quite surprised to see a beta released so quickly. Information that I had read about it regarding its speed, security, stability, compatibility and features were quite compelling to me.

In terms of web browser preference, I am definitely hands-down in the Mozilla Firefox 3 camp, so the fact that Google chose to use Apple's OpenSource WebKit rendering engine instead of Mozilla's arguably more tried-and-true Gecko engine seemed like a very curious decision to me.

Granted, my previous experience with WebKit based browsers was limited... I've used Apple Safari (on Macs) only a few times, and wasn't blown away by its capabilities/performance. When Apple released Safari for Windows, I decided to take a pass because it seemed somewhat bloated. In my experience, Apple is notorious for bundling unnecessary crap in their Windows software (i.e. iTunes & QuickTime for Windows), and my opinion was that their web browser didn't really offer anything new or better compared to Firefox.

I've also used briefly used Konqueror before on KDE-based Linux desktops (which uses the KHTML rendering engine -- indeed, WebKit was forked from KHTML). But just like Safari, the lack of features, compatibility and performance failed to impress.

At any rate, Google Chrome seemed to offer a web browser that hits most of the big points for me, so I decided to give it a spin. Here's my checklist, along with my personal ratings & observations:
  1. Support for contemporary and modern web standards: 4/5
    - Passes Acid1 & Acid2 tests, scores fairly well on Acid3 (slightly better than Firefox 3.0.1)
    - No major problems noticed using any of the websites that I access frequently or on a daily basis (e.g. Google, GMail, Google Reader, Windows Live Mail (Hotmail), Facebook, Slashdot, various websites that I developed, etc.)
  2. Speed: 5/5
    - Speed is one of the major talking points with Chrome, and I can confirm that it is definitely very speedy, particularly the handling of Javascript. As a test, I tried running my Stop the Clock at 1000 Google gadget. The clock incremented so fast the first time I ran it, that I didn't realize that it had already passed 1000 and had actually already stopped at its limit before I noticed.
  3. Memory optimization & efficiency: 5/5
    - When I read that Google Chrome uses separate processes for each tab & plugins instead of multiple threads, the first thing that concerned me was the amount of memory & overhead that this would require. After opening a fair number of tabs and websites I was pleasantly surprised to see how little memory each process used. System memory usage in total also appeared very reasonable.
    - Precise garbage collection works very well, and just as promised. As a matter of fact, this is something I wish Firefox had -- and could very well have soon, since Chrome is open source and some code from it is likely to end up in Firefox sooner or later.
    - Tip: Right-click the small empty area between the new tab button and the minimize button and choose the "Task manager" option to see exactly how memory is allocated by all open Chrome tabs & processes. This feature is something I like very very much.
  4. Security and Privacy protection: 4/5
    - Sandboxing seems to work properly and as expected (which it should for any respectable web browser). Google claims that their sandbox implementation reduces the likelyhood of security exploitations. Without personally performing any formal testing or source code examination however, I would just have to take Google's word for it.
    - The incognito mode -- essentially a browsing mode which allows "untracked" surfing -- is a very welcome feature. Similar features are expected to be available in the next versions of Internet Explorer and Firefox, so the fact that Google Chrome offers this now is very pleasant news. On a side note, these "private" browsing modes only prevent tracking from taking place, they are not 100% anonymous sessions since data encryption still doesn't take place unless the websites you are visiting use SSL.
    - The Google blacklist service -- similar to what Microsoft and Mozilla have done for their browsers, a blacklist service is provided by Google to protect against phishing. While not foolproof, this is a feature that has become fairly standard in modern web browsers.
    - Advanced cookie control and security policy standards such as P3P are not currently available as far as I can tell. I can't give Google Chrome full marks for this reason, but otherwise security in Chrome seems to be very good.
  5. Usability, features & bloat: 3/5
    - Chrome is meant to be a minimal, no-nonsense web browser, and it succeeds in that regard.
    - Chrome installs into the user's application data folder. There doesn't seem to be a way to change this or install it globally for all user accounts on a computer. At about 80 MB per user per installation, this seems slightly weighty. Also this makes it less likely for novice/average users to install and harder to centrally administer.
    - There doesn't seem to be any simple user interfaces for managing add-ons, extensions and updates.
  6. Developer features: 3/5
    - Javascript console & debugging features are provided and appear to be done very nicely.
    - Viewing page source is also well done.
    - Advanced developer tools (such as the Firefox Firebug extension) currently don't exist, since an addons system doesn't seem to be available at this time, and these capabilities are probably not necessary to be included as standard built-in features for all users.
  7. Cross-platform compatibility: 1/5
    - Currently only a version for Windows XP & Vista has been released. Mac & Linux versions are planned, but until then Chrome is unfortunately Windows only.
Final verdict: 25/35 = 71%

In summary, Chrome is most definitely a well built and solid web browser that is worth checking out. When Firefox 3.0 was released earlier this year, my initial thought was "this is exactly how a web browser should be built". After giving Chrome a spin however, I am equally impressed if not moreso considering it is the first public release and yet only a beta version.

Chrome still doesn't provide a lot of convenient features that I use everyday in Firefox, and currently doesn't seem to offer much in terms of add-ons & extensions. So for now, Firefox will still be my preferred everyday web browser for general use and web development. My prediction is that a lot of code will eventually be shared between Google Chrome and Mozilla browsers, so eventually we'll be seeing the best of both worlds and major improvements in both browsers, and very possibly others.

Saturday, April 19, 2008

Bank of Montreal & MTS Place Main

It's been a while since my last Google Earth model. Amidst the other Winnipeg building models that I had created that are located at the intersection of Portage & Main, the block of buildings consisting of the historic Bank of Montreal building, and MTS Place was noticeably absent, very much like missing teeth.

Some of the reasons I didn't complete this set of buildings earlier was because:

  • I was either preoccupied or just lazy.
  • I didn't have enough information & photos of these buildings to work from.

I might actually break up this model into individual buildings eventually like I did for the Commodity Exchange tower, Royal Bank building & Winnipeg Square complex so individual buildings can be updated easier without affecting the entire model (and to streamline loading performance). But for now this is just to get the models out there and complete the "smile". OK, not sure if what I wrote actually made sense or not... time for bed.

Update Saturday, April 19th, 2008 11:00 PM: I have removed the combined model and uploaded the buildings separately (except for the incomplete building behind the Bank of Montreal building -- since I have absolutely no photos or information about that building).

MTS Place Main Tower
This 24-storey office tower...

Sunday, April 06, 2008

Stop the Clock at 1000

Another Google Gadget...

I was digging around some old files on my computer and came across this little game that I whipped up back in 2004. It's loosely based on the carnival-style reflex-arcade game-of-skill of the same name (except without the ticket payouts).

In case the title isn't clear enough, the purpose of the game is to basically stop the clock when it reaches 1000... as simple as it sounds, this requires quick reflexes and a bit of luck.



Have fun!

Friday, March 21, 2008

Programmer's Calculator Google Gadget

Sometimes when I run into a coding problem in the middle of a programming project, I create a new separate file to experiment and test theoretical solutions instead of messing around with the larger project that I'm working on. I usually prefer to use JavaScript as a experimenting language because:

  • JavaScript is fast and easy to write and test.
  • It's an interpreted language so no recompiling is needed.
  • It's readily available and standard in all modern web browsers.
  • It provides a basic, but fairly good set of features that can usually be easily retranslated later to other more powerful languages.
  • It is fairly easy to debug (especially with the Javascript error console in Mozilla/Firefox browsers).
This programmer's calculator began as just that: a experimental JavaScript web page that I whipped up to test base conversions. I realized afterwards however, that there could perhaps be some practical future use...

Many programmer's calculators out there currently only handle one base at a time, and simply don't provide certain conversions such as ASCII/Unicode characters or RGB which are easy enough to implement. Also, a good amount of code in typical calculator applets/gadgets is usually dedicated to having pretty graphical user interface which frankly I think is usually entirely unnecessary for computer-based calculator applets. (You do have a real keyboard in front of you already, don't you?) For serious programming, the leaner and meaner it is, the better.

So without further ado, here it is:

Description: A programmer's calculator featuring multiple simultaneous conversions and common operations. Instantly converts between decimal, hexadecimal, binary, octal/any base between 2-36, character codes, and 24/48 bit RGB. Operations supported include Addition, subtraction, multiplication, division, and bitwise NOT, AND, OR, XOR.


Add to Google

Sunday, February 03, 2008

Rock Paper Scissors

I recently decided to start tinkering with developing for the Google Gadgets platform. Google Gadgets is a wrapper API used to create mini-applications that can be embedded into various Google services and properties such as iGoogle, Google Desktop, Orkut, Blogger, Google Page Creator, as well as web pages in general.

Here's a simple little Javascript game of Rock Paper Scissors that I wrote about 3-4 years ago (with a few updates/enhancements), and decided to make into my first Google Gadget. I haven't published it to the Google Gadgets directory yet, but you can use the add button below to add it to your iGoogle homepage.


Add to Google

Friday, February 01, 2008

The National Flag of Canada

Time for a little change of pace...

All of the SketchUp models that I have posted so far have been of buildings that are located in Winnipeg, so I decided why not whip up a quickie little SketchUp model that might have some practical use outside of Google Earth (and potentially in it too)? After all, Google's 3D Warehouse is for all types of 3D models, not just models of buildings.

I suppose that when one starts spending a little time looking at and searching for pictures of buildings, you start to notice the presence of ubiquitous objects that exist around many buildings like trees, roadsigns, fences, flagpoles, etc.

So my latest model is none other than a flagpole with the national flag of Canada raised on it. Naturally I decided to do a search in the 3D Warehouse before I started. Not surprisingly, there are quite a number of flagpoles and flags, but none of the Canadian flag yet... that is until now!

National Flag of Canada

Feel free to make use of this model and modify it for your own needs. Yes, it is componentized, so you can easily reuse and work with it inside other models.

By the way, this is just in time for Canada's National Flag Day, which is later this month on February 15th. Introduced in 1965, Canada's modern national flag will be 43 years old this year.

Saturday, January 26, 2008

SketchUp Model Updates & Optimization

I'm a huge fan of optimization... as a programmer and web developer, improving the performance, simplifying algorithms and reducing resource utilization in my code is something that I constantly strive to do. I'm rarely satisfied by simply writing or using code that is "dirty but gets the job done".

Yesterday I made some updates to the SketchUp models of the Commodity Exchange Tower, Royal Bank Building and Winnipeg Square. Since I didn't originally create these models, they were noticeably lacking a lot of detail. The changes that were posted yesterday mainly consist of a little bit more detail enhancement... but probably a more noteworthy change in my opinion, is that the Commodity Exchange Tower model has been "optimized".

The original model actually contained a lot of detail, with hundreds, maybe thousands, of lines and faces making up the facade & windows. I shudder to think how much time and effort it must have taken to do this... unfortunately, all the extra geometry made the model swell up to a file size of 2.26 mb, or over 800 kb for the Google Earth rendition.

The updates I made were actually more of a redo -- I completely deleted all the extra geometry and created a couple of simple replacement textures for the windows and external panels. By doing this, I was able to reduce the file size to a mere 188 kb, or an impressively tiny 42 kb for the Google Earth version; a whopping 91.8% reduction for SketchUp and about 20-fold improvement for Google Earth!

Thursday, January 24, 2008

Winnipeg Building Model #14

The Winnipeg, Manitoba 3D Warehouse collection seems to be slowly growing to a more respectable size now. I found a few more Winnipeg-located models to add to the collection last night, although they are mainly of the residential variety.

Although these newly added models have apparently been posted in the 3D Warehouse for quite a while already, I didn't catch them earlier because they aren't tagged well enough to be locatable through searching. I only found them by installing the 3D Warehouse Network Link for Google Earth... which I had somehow missed and only discovered yesterday evening.

Anyway, I have decided to release my 14th contribution: the Canadian Grain Commission building. This brings the current tally of models in the Winnipeg, Manitoba collection to 22.

Canadian Grain Commission Building

Although this building is among one of the more distinct and prominent buildings seen on the Winnipeg skyline near Portage & Main, I think a lot of Winnipeggers probably don't know very much about this building (or maybe it's just me?)... it actually took a bit of effort for me to research just the name of the building. My reasoning for this lack of awareness is that because it is a federal government office building, the majority of people probably would not have very much reason to visit this building under normal circumstances.

Tuesday, January 22, 2008

Addition to Google's North America Collection

Good news... my Winnipeg, Manitoba buildings collection was approved by Google yesterday and has been added into the Cities in Development/North America collection in 3D Warehouse.

Saturday, January 19, 2008

New Google Earth Model: St. Boniface Old City Hall

I have just posted another new Google Earth model... the old City Hall of St. Boniface (probably one of my better efforts in comparison to the last five).

Old City Hall of St. Boniface

I always thought this building was pretty neat... especially the clock tower. The whole building has a certain character & charm about it, although I have probably only ever been in it a few times.

On a somewhat related note, I noticed that there currently seems to be something wacky happening with the Google 3D Warehouse website... about 4 of the models in my Winnipeg collection are not showing up. The collection search result says there are 19 models in total in the collection, but once you click to view the list of models in the collection, only 15 appear. The missing models include three of my own (Canwest Global Place, the Chinatown gate, and the Scotiabank building), as well as one other model contributed by somebody else (I believe it's the rough model of the new Manitoba Hydro building). The models are still online, and you can access then via the links I provided in my previous blog posts below, but you just can't search for them or see them listed in the Winnipeg collection. I suspect this is probably just a temporary issue though.

[Update 2008-01-19 23:45 CT: My suspicions were correct; said problem with 3D Warehouse seems to be resolved now.]

Wednesday, January 16, 2008

Five More Google Earth Models

I decided to release 5 more new building models for Google Earth last night. Although they are not really finished or could still use much more work, I figured that I may as well put them out there... perhaps somebody else would be able to take and improve them eventually.

Additionally, since these buildings are arguably some of the most prominent and defining buildings in Winnipeg, having them publicly available in Google Earth sooner is probably better.

The only model of these five that was built from scratch is the Royal Canadian Mint model. The other four models that comprise the Winnipeg Square complex were actually taken from another existing model of the whole Winnipeg downtown area that two other people had contributed. I only made some minor modifications and broke them up into separate buildings for a few reasons:

  • Although the models of the entire downtown area are very nice, they lack a lot of detail and probably cover too large of an area (and uses too much bandwidth) for Google to consider putting it into Google Earth.
  • Makes it easier to work with and modify individual building models for myself and others -- making a change to one building wouldn't have to require uploading all the buildings together again.
  • Separated models would probably load faster in Google Earth, since they can be downloaded individually and possibly concurrently. If the KMZ file is too large, it may take forever for one huge model to appear.
  • It ups the count of building models in Winnipeg ;-)
Here they are... enjoy!

Royal Canadian Mint
The Royal Canadian Mint (RCM,...
Scotiabank Building
The Scotiabank Building is...
Royal Bank Building
Built in 1965, the Royal Bank...
Winnipeg Square
The Shops of Winnipeg Square...

Saturday, January 12, 2008

My Latest Google Earth Model

My latest 3D model for Google Earth has been completed;

Circle of Life Thunderbird House
At the centre of Winnipeg’s...

I'm currently targeting for at least three more "good" Winnipeg-based 3D models to be added before I submit the collection to Google.

Fun with Google Maps

Some time ago, one of my co-workers showed me an "Easter egg" in Google Maps; if you try to get directions from London England to New York USA, the route would include a suggestion to "Swim across the Atlantic Ocean" (unfortunately Google has already removed this and it no longer works).

I was browsing Digg today and came across another Google Maps trick... while it's not really a Easter egg in the same sense as the one mentioned above, it's still fairly amusing (in a stupid kind of way)... apparently Google Maps can tell you how to get from Here to There, and it is a 7 hour & 51 minute long drive.

Comments from other users included suggestions such as how to get from Heaven to Hell in 4 hours 19 minutes and Birth to Death in 9 hours 5 minutes.

Here's my suggestion; how to go from Rags to Riches in 1 hour 24 minutes.

Anyways, the list can probably go on... feel free to leave a comment with your own suggestions!

Friday, January 11, 2008

Winnipeg in 3D

One of the things that I have recently been dabbling with a bit is building 3D models using Google's SketchUp software. Other than making it fun and very easy to build 3D models, one aspect that I really like is the ability for anybody to be able to contribute geographically-located models of real buildings into Google Earth.

Obviously, exploring your own home city/town/village is something that a lot of people who use Google Earth or Maps do, and being able to explore 3D models of buildings that you may or may not be familiar with only makes the experience that much more cooler.

Google Earth's 3D buildings layer only had two models for Winnipeg though, and since Winnipeg is a medium-sized city (pop. ~800,000), I really didn't expect very much. Searching Google's 3D Warehouse for more Winnipeg-related 3D models also didn't locate very many results... there were several good models, however they were either not geographically placed, or too broad and not detailed enough, or too simple, and of no real public significance (i.e. private residences). There wasn't even a Winnipeg collection under the "Cities in development" collection (which is Google's official collection of 3D model collections), whereas collections exist for some smaller Canadian cities & towns. I would presume that 3D models belonging to any "official" collections would have a significantly increased chance of being placed into Google Earth's 3D Buildings layer.

It might be naïve to think that an indicator of a city's importance or skilled population is somehow correlated to the number of 3D models available for it in Google Earth, but I figure that for a city the size of Winnipeg, there have got to be some people out there who would volunteer to contribute... from the standpoint of potentially increasing worldwide exposure and interest in a modest city like Winnipeg, I figured that I might as well be one to do so, even if it's just something that I can only do in my spare time. The way I look at it, it could be considered a leisure activity like playing video games, only you end up producing things that are interesting, useful, contributes to the collective knowledge of humankind, and you learn a potentially useful skill like 3D modelling in process.

All that being said, here is my collection;

Winnipeg, Manitoba, Canada
by ahsy
A collection of model structures located in the city of Winnipeg, Manitoba, Canada and its environs.

Here are some of the models that I have created so far:

Canwest Global Place
CanWest Global Place is an...
Upper Fort Garry Gate
Fort Garry also known as...
Winnipeg Chinatown Gate
Winnipeg's Chinatown gate...
Winnipeg Chinese Cultural and Community Centre


I will be submitting my Winnipeg collection to Google once there are a few more "high quality" building models added, and I think the collection meets the all of the qualifications that are necessary for inclusion. Hopefully we will soon be seeing more of this beautiful city in Google Earth for people from all over the world to explore and enjoy.

Tuesday, January 08, 2008

The Reinvention of the PC Power Switch

In around 1998 or so, I noticed something a bit peculiar that was starting to happen with brand-new PC computers.

At the time, I was still taking PC technical support calls, and every now and then, I would get a customer calling in who needed help installing software, drivers or whatnot for their brand new Pentium PC (running Windows 98, of course). Depending on the extent of changes, rebooting the computer was sometimes warranted. For good measure, performing a "cold boot" was a typical course of action.

In case you are unfamiliar with the term, "cold booting" means to shut down the OS and physically switch off the power of the computer, wait several seconds to let all the internal fans and drives spin down, then switch the power back on (as opposed to warm booting, where you would simply tell the OS to shutdown and automatically restart the computer right away without any power interruption).

Anyhow, the "strange" thing was that some customers would get to the point of shutting down Windows, but then when they went to press the power switch off, they claimed that the computer was frozen, and it would not turn off no matter how many times or how hard they tried pressing the power button... they would literally have to pull the plug out of the wall (or switch off their powerbar) to actually cut the power.

It didn't take me very long to figure out what was happening -- why all these brand new state-of-the-art Pentium computers would simply refuse to turn off...

Before I continue, a little bit of backstory; having used PCs since 1988, all the computers I ever had at home up to that point used the old-school manual toggle-type power switches, which could only physically be in either on or off states. I only had to look down at the workstation that I was using on my desk at work to see an example of these new-fangled computer power switches. Of course, we would hardly ever have much reason to turn off our workstations at work (unless the computer crashed), so this phenomena of "the computer won't turn off", wasn't really something that I had personally experienced or really took very much notice of.

But getting back on track; The cause of all this peculiarity was due to a new industry-standard technology called Advanced Configuration and Power Interface (ACPI). Originally developed as an open-standard near the end of 1996 by a consortium of industry power-players such as Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba, it wasn't until around 1998 when many of the major PC manufacturers started putting ACPI into all of the new PCs that they built as a standard feature (presumably so that their systems could meet the required qualifications in order to wear the Windows and Intel compliancy badges).

What the manufacturers didn't really make clear however, was exactly how ACPI changed the way computers are turned on and off. Beyond the basic "push the button to turn it on" concept, which doesn't exactly require a Ph. D. to figure out, and the apparent behaviour that computers can now turn themselves off upon shutting down, perhaps nobody really thought that there was any purpose to explain things much further... after all, if you have a new ACPI-compliant system, why would you be concerned with comparing the process to the old way anyhow? Besides, to most average novice or intermediate computer users, anything beyond the basics would probably just be confusing, intimidating and a plain "turn-off" (sorry for the pun). I would even speculate that any modern computer usage course -- whether it be an introductory computer usage course for absolute beginners, right up to courses for the advanced power user -- probably wouldn't touch on the subject of how to operate the power switch in very much depth.

I'm not saying that nobody has ever documented or explained it properly... some computer manufacturers do in fact provide excellent documentation. However, many people tend not to read their computer manuals, and I have encountered quite a number of people who just couldn't figure out why their computer can not turn off... even people who have a relatively extensive familiarity with computers.

Even though PC power switches have already been working this way for the past decade, laugh as you may, but there undoubtedly are people out there who have gotten stumped by their power switch before. So in case nobody ever told you, you never figured it out, or maybe if you are simply too embarrassed to admit that you didn't know it before... I'll basically sum things up here;

  • To turn ON an ACPI-compliant computer, simply depress and release the power switch.
  • To turn OFF an ACPI-compliant computer safely, use the shutdown command of your operating system (only if your operating system supports ACPI). The operating system should automatically power off the computer on its own once the shutdown process has completed. You should not have to touch the power switch to turn off the computer.
  • If you press the power button while an ACPI-compliant computer is running, depending on how the operating system is configured, any of the following could happen:
    • Nothing will happen.
    • The OS will ask you what you want to do (standby, hibernate, shutdown or reboot).
    • Put the computer in stand-by mode (turns off certain parts of the computer such as the hard drive and display, puts the CPU in low power mode to save energy).
    • Hibernate the operating system and power off the computer.
    • Initiate the operating system shut down procedure and power off the computer.
    • Initiate the operating system shut down procedure and immediately reboot the computer.
    • Immediately power off the computer without initiating a log-off or shut down (this might indicate a problem with the power supply/circuitry, or the OS does not support ACPI).
  • And finally, the special case: If the operating system has already finished shutting down (or not), and the computer still won't turn off by itself, and pressing and releasing the power switch has no effect, there is no need to pull the power cord or switch the power bar off. All you need to do is hold down the power switch for about 10 seconds, and the computer power will switch off. This can also be done to manually switch off the computer without shutting down the OS in case of emergency or for whatever reason.
    • If you have held down the power switch until the computer has turned off, but the computer turns back on immediately after you release the button (I have a older computer that actually does this sometimes), either the OS was unable to set the ACPI interface properly for some reason, or the power supply might be bad and needs to be replaced. In this case, you can either try allowing the computer to boot up completely, then try properly shutting down again (hopefully this will allow the OS to reset the ACPI interface properly), or you may in fact have to pull the power cord in order to shut off the power. The computer should stay off when you plug the cord back in.

Sunday, January 06, 2008

Of Scams, Spam and Other Cybercrap...

In my posting about "get paid to..." websites like Bux.to, I had quickly mentioned that I would try to write something about how to recognize scams, hoaxes, urban legends, phishing, get rich quick schemes, etc... I would even include chain letters / e-mail forwards (ugh) in this list of what I consider to be nefarious "social engineering"-type activities. I will just be collectively referring to these using the term "cybercrap" going forward for lack of better terminology and for simplicity's sake.

Getting duped by cybercrap is probably more common than anyone would like to admit or imagine. It can sometimes happen to even the smartest, web-savviest of people. Some schemes have become so sophisticated and persuasive, that being able to recognize them as cybercrap would require a deep understanding of how certain Internet communication protocols and software work... knowledge that most average Internet users would most likely have virtually no familiarity with.

  • Perhaps the most obvious and telltale sign of scams in general (not necessarily web or e-mail based scams, but also those that come via phone, postal mail or in person) are ones that come unsolicited, asking you to disclose financial or socially sensitive information -- things like bank or credit card numbers, driver's license or social insurance numbers, etc. -- usually on the premise that you have won some type of prize in a draw that you do not remember entering, or a promise that you'll be receiving significant sums of money, exotic vacations or major prizes like automobiles & appliances in return.
    • My basic rule is that it is usually harmless to provide personal information that can be found in a phone book like your name, address and phone number... but even then, it is advisable to use caution and discretion, since you probably don't want to verify this information to suspicious parties in case it is used for a junk mail or calling list.
    • If the offer comes disguised under the name (or variation of a name) of a reputable company, service or charity that you are a customer of, there is no reason for them to be asking you again for information that they should already have records of. If information needs to be verified, you can ask what they currently have in their records and confirm whether updates are needed.
    • If you have won a prize, there is no reason that you should ever have to provide financial information such as your bank account, credit or debit account numbers, have to commit to purchasing something first, or have to be charged any type of "handling" or "processing" fees -- even if it is just a penny... once a scammer has access to your accounts, it is already too late.
    • Your Social Insurance/Security number should never have to be disclosed to any commercial organizations. The only parties that should ever need this information is yourself, the government, your employer and your financial institution. If you are requested to also provide one or more pieces of government-issued identification number such as your driver's license or passport number, etc., this should immediately raise red flags, there is a very good chance the information will be used for the purposes of identity theft, or for applying for credit cards or bank accounts fraudulently under your name.
    • All your correspondence with a reputable company that comes unsolicited should always remain courteous and professional at all times. If the representative that you are corresponding with becomes pushy, rude, impatient or excessively persistent, even after you have repeatedly declined, you can safely bet that you are probably not dealing with a legitimate organization. It would be safe to consider that the person is probably trying pressure and extract information from you. Even if they are indeed legitimate, you should always be treated respectfully as a prospective or valued customer. You have every right to choose to refuse your business to them if you feel that you are being not being treated respectfully. You have no obligation to provide explanations for refusals, and you certainly do not have to try ending the call politely. Simply hang up.
    • If you receive a phone call and a recorded message instructs you to press a number on your phone keypad to "claim your prize" or to "speak to a representative", do not press any numbers. Simply hang up. There is no reason that you should need to take any action to speak to somebody when you were the one who received the call in the first place. There is a chance that by pressing the indicated number, that you will be transfered to a line where you will be changed expensive tolls or overseas long distance fees.
  • When registering accounts on websites, consider the information that is being asked for. Again, it would be wise to use the "phone book" rule.
    • Because the nature of the Internet is virtually "anonymous", there is nothing stopping you from "testing the waters" by providing inaccurate or incomplete information. This is an especially helpful tactic if you are in doubt. You should always be able to go back to edit or correct your profile information afterwards if you choose or need to do so. At the very least, you should be able to simply cancel your test account and register a new account using more accurate information.
      • In addition to your regular e-mail address, I would advise setting up at least one semi-anonymous "junk" e-mail account using any of the myriad of free web-based e-mail account services that are available (such as Microsoft Hotmail/Windows Live Mail, Yahoo! Mail, Google GMail, etc.). You can then provide your "junk" e-mail account for website account registrations, mailing lists, and other potential spam-generating sources. This can help you to keep your main e-mail account cleaner for personal or professional correspondences only.
      • On a side note, speaking as somebody who has experience developing and maintaining various websites, I would personally just hate it if people kept registering dummy accounts. Providing false information when registering a profile may be against the terms of service for some websites, and impersonation or using information that does not belong to you may even be unlawful depending on where you live. Please use discretion. If possible, cancel any dummy accounts that you have created if you decide not to use the website.
    • If you need to provide payment via credit card, verify that the website is using a secure form of data encryption or authentication system (known as Secure Sockets Layer - SSL). Most modern and widely used web browsers should indicate this by displaying security icons (e.g. a lock/key) somewhere, and change the colour of the your address bar (usually yellow -- use caution or avoid submitting data if the address bar turns red or remains white). Also check to ensure that the URL in the web site address bar begins with "https://" (secure HTTP) instead of the standard "http://". Depending on your web browser's security preferences, you may also see a confirmation prompt dialog window.
      • Note that just because a website uses SSL and data encryption, this does not necessarily guarantee legitimacy. It is quite easy to create fake signed certificates -- although it may not necessarily appear to be issued by an authentic "root" certificate signing authority. Most web browsers should (depending on your security preferences) display a prompt dialog to warn you of this, but more often than not, the average Internet user would probably not understand or basically ignore the prompt anyway.
      • If available, using trusted third-party escrow payment services like PayPal could help to provide an extra layer of security and peace-of-mind.
  • Be extremely cautious if you choose to respond to unsolicited offers via e-mail -- better known as "spam". As a matter of fact, you should always simply ignore and delete spam messages. Never click on any links, images or download/open attachments in suspicious e-mails.
    • Never reply or click links that are provided to "unsubscribe" from spam e-mails. Spammers usually use responses to in order confirm that your email address is an actively used e-mail account with a real live person on the other end. Chances are "unsubscribing" from spam message will only result in you getting even more spam, as your e-mail address will probably be sold to other spammers looking for verified working e-mail addresses.
    • Checking the e-mail header data and sender domains may help somewhat, however for most average Internet users, deciphering this information is probably not practical. Also, the presence of faked headers may easily mislead or confuse even those with intermediate knowledge. Checking that the domain of URLs in the message simply by eyeballing the status bar of your web browser or looking at the sender's email address domain is also not always reliable. Checking links, form targets and other references would likely require examining HTML source. Not only would you need to have good knowledge of HTML, but without very careful evaluation, some of the more well-crafted phishing messages obfuscate or create illusions that links are pointing to legitimate domains when in fact they are not. In short, the only way to really determine with absolute certainty if a message is a phishing scam, is if you have the knowledge to properly analyze headers and HTML source code... knowledge that average non-technical users most certainly wouldn't have.
    • Phishing schemes are typically e-mails sent to you disguised to be from reputable organizations that you might actually have a prior established relationship with. Obviously if you do not do have prior business with the organization that you have received the message from, you can be fairly certain that the message is part of a phishing scheme. Make it your practice to never click any links or send any information requested via e-mail. Even if the message is threatening that your account will be canceled or that your service will be in some way affected unless take some kind of action, you should never click any links provided in the e-mail message. Open the website directly by typing the URL yourself in your web browser address bar (or use your bookmarks/favorites), and confirm on the website if action really needs to taken on your part. If so, you should be able to enter the needed information on the website itself.
    • Help to stop fraudsters by reporting them to the appropriate authorities. In Canada, PhoneBusters is a government and RCMP/OPP-operated public service programme devoted to investigating and stopping fraud. Their website also has a lot of very helpful information about how to recognize, report and stop fraudulent activity, as well as a list of known popular scams that are currently making rounds.
  • Hoaxes, urban legends, chain letters & forwards: these are e-mail messages that your friends, family, co-workers and other contacts forward en-masse to practically everybody they have listed in their e-mail address book. Forwards could be considered as any innocuous viral FUD (fear, uncertainty & doubt) "news" stories, rumours, plain text games, images, slide shows, movie clips or documents that usually have some kind of message -- sappy, scary, mundane, offensive, x-rated or otherwise.
    • Forwards are mainly just harmless fun that you or your contacts just want to share for a laugh. Sometimes they can be interesting or entertaining, but other times they may be annoying, impersonal, or a nuisance if you have received the same thing multiple times before from other contacts.
    • Chain letters, hoaxes and urban legends are those that attempt to play on your emotions or make dubious claims. Usually they include claims that by simply forwarding the message on to as many of your contacts as possible, wonderful and magical things will happen to you (or terrible things if you don't). Regardless of whether you are superstitious or not, there is nothing that any e-mail message can technologically, physically, metaphysically or magically make possible by simply forwarding the message to X number of your contacts.
      • Bill Gates or insert_name_of_a_famous_billionaire_or_corporation_here can not track private e-mail messages and certainly nobody could know who you are & where you live based on your e-mail address alone. There's a good chance that nobody, no matter how rich or famous they are, is going to be sending their fortunes out to millions of random people any time soon... that's a whole lot of tax paperwork!
      • A deposed Nigerian prince probably wouldn't be needing the help of a completely random stranger to help him wire large sums of money from his bank account.
      • A gorgeous babe, handsome hunk or your secret crush will not be spontaneously compelled to call or show up on your doorstep to passionately make out with you because you were such a big hero and you forwarded an ancient druid prayer to 50 friends.
      • Something "special" or "totally worth it" will not pop up on your screen after you forward the message and press random key(s) on your keyboard... OK, maybe something can, but that only means that either you were duped into doing something that your computer operating system or application already does anyway, or that your computer has been infected with a virus, worm or malware.
      • Little Timmy who fell down the well and died will not come to haunt you at night because you neglected to forward his tragic story to at least 20 of your friends.
      • Perhaps the only thing that might happen is that you would make yourself look foolish to your friends for believing such nonsense (unless all your friends also don't know any better).
    • Snopes.com is a fairly extensive website resource which contains lots of excellent information debunking many hoaxes, myths, urban legends (there are other hoax-busting websites out there, but Snopes is probably the most well-known in my opinion). Chances are, there is already something there that covers or touches on the very e-mail forward (or a variation of it) that you received. Instead of impulsively believing information that has been forwarded to you via email, do some research and get the straight facts & truth first.
    • Search reliable and reputable news outlets and find credible sources to verify claims. It is absolutely frightening how many people just take information that has been sent to them from friends via e-mail as truth without checking. Even though so-called "references" or "authoritative" sources may be provided, references can be faked very easily. It is generally not a good idea to just take the word of a complete stranger as truth, even if it is from a "friend of a friend's sister's ex-boyfriend's aunt". If a story really is as significant as it appears, there should probably be something about it that has been reported recently by major news outlets.
      • If you must forward a message, help to stop spread misinformation and FUD by replying or forwarding the facts along with the message. Not only would you look smart, but you would be helping to better inform your friends, relatives and overall make the world a better place. ;-)
Phew! This was an exceedingly long and rambling post! I hope it helped, even if you might have already known some or all of this already. Even though a lot of this could probably be considered as common sense, the fact is that year after year, people really do still continue to fall for scams and hoaxes. I don't claim to know everything or be a fully qualified expert on this subject matter, but having an extensive background in computer programming and having been on the Internet since the early WWW stages around 1993, I merely just wish to share my own personal experience.

What I have touched on here barely scratches the surface of the subject of cybercrap -- this is such an broad, extensive and voluminous subject that I can not say that I have covered every aspect. I might write more about this in a future posting. Stay tuned!