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!