Content Management Systems (Prelude to MODx): Part I

Introduction to Web Sites, CMS’s, and MODx

MODx lets you take control...
MODx lets you take control...

Some of you may remember the little article I wrote a while ago about content management systems where I shared a bit about MODx. What is MODx? (pronounced like “modular”… and it’s eXtendable… get it?) It’s a content management system (CMS), and it’s used to help you manage and publish web sites easily. It’s very cool, and it is very flexible… but I’m getting ahead of myself. I want to spend some time with our readers and talk a bit about web sites and CMS’s and use that discussion to segue into an upcoming video series about MODx. If you already know what MODx is and you want to learn about it, stay tuned for the upcoming videos… if you want to read a nice walk-through, check out NetTuts recent article.

Web Sites 101

If you’re reading this, you should have some idea of how this is happening… in the interest of the stringent word count limitations imposed by… uh… Brian (?)… I’m going to assume that you understand the concepts of a domain name, a web server, and how a traditional request such as “” is handled and a page is read and returned to your browser. You with me? Great.

Higher Education: Dynamic Web Sites

A static site grabs a file from a folder and displays it to the browser, whereas a dynamic site operates a bit more like the “printing on demand” technology. Many sites (including this one) rely on dynamic technology to serve up a page… the page that you are requesting may not even exist until you request it. The “page” that you end up reading is often assembled on the fly from a series of scripts and bits of text from the file system and/or from a database.

Making Web Sites: The Perils of Static Sites

Coding Sites by Hand is Perilous
Coding Sites by Hand is Perilous

We all start out bald and naked, filling diapers and making static web sites. As you get older, you learn a little more HTML, and your “<h1>Hello World</h1>” progresses to animated GIFs and maybe some CSS and Javascript, but some people take a long time to mature out of static web development. And not unlike growing up and leaving home, there’s a profound turning point in your web education that propels you out of static land. Let’s say you want to change the name of one of your pages from “articles/cool-stuff.html” to “articles/archive/cool-stuph.html”. You have to move the document and change its file name, then you have to wade through all the pages on your site and update any links or menus. It’s only palatable if you have a few pages. If you have more than 10 or so, this scenario quickly becomes cumbersome and prone to error… you’ll be wanting to ask mom to do your laundry.

Another not-so-hypothetical situation arises when you want to change the look and feel of your static site. If you’ve followed the rules of semantic web development, you’ve separated your content from its formatting using CSS files and well formed HTML (check out CSS Zen Garden), but it can still be tricky if you’ve got to change Javascript files to make menus work. And you still have to know a lot about HTML and FTP logins to make these changes.

Enter Content Management Systems

If your own learning curve of web site development has roughly followed the previous descriptions, then you can appreciate that someone found a better way to do things. You can have your cake and eat it too.

Benefits to using a CMS

  • — Isolates content from formatting (it’s much easier to search content and update templates)
  • — Editing content is easily done via a GUI
  • — Roles and permissions can be established: e.g. an editor, an admin, a blogger all can be allowed to do certain things to a site.
  • — Links between documents can update automatically (with most CMS’s)

A CMS allows you to forgo the FTP client and use a front-end interface so that users can edit documents and templates. A CMS usually has editing tools built right in, so you don’t even need to know HTML to edit the content of a page — this is great if you’ve built a site for someone else. You can be the HTML genius, but you can give them the key to the CMS and they can edit and add content all day long. Finally, a CMS provides the ultimate separation between content and its formatting. This means that the text of an article can be fully isolated from the template used to display that article, and then the task of switching layouts for an entire site of thousands of pages becomes a trivial affair. Changing the “location” of a file or its name is also dynamically rendered so it can be done in an instant. These are the benefits to running a site using a CMS.

Down Sides to CMS

  • — Complicated to set up. Math is hard! Let’s go to the mall!
  • — It’s more resource intensive. Serving up flat files is much easier for the web server.
  • — More complicated server requirements: not all hosts will have a scripting language and database available to you.
  • — More bandwidth is required.

A site running a CMS is almost never as responsive as a site simply serving up static files. A CMS has many more moving parts, so it’s more likely to break or be attacked. You can’t do much to thwart the display of a simple HTML file, but you can experience all kinds of malicious attacks on a database an your scripting language of choice.

In my opinion, in most circumstances, the benefits often far outweigh the drawbacks. You make some extra backups, you take a few extra precautions, and bamm… you can be pimping out your web site in CMS style, and once you’ve done it that way, you’ll never go back.

So now you know why you might want to use a CMS for web site development. In the next article, I’ll discuss why you might want to choose MODx over some of many other systems available. Lots of systems will alleviate some of the pain and stress of static development, but not all Content Management Systems are created equally. The dudes working hard on MODx have made a really cool application that makes life so much easier for developers and content editors, and one of the founders asked me to upload some high resolution videos about it. Thanks guys. Stay tuned…

How To: Post to Blogger from Your Mobile Phone

One really cool feature of Google Blogger is the ability to quickly create a post directly from your mobile phone. With Mobile Blogging, all you have to do is send a text message from your cell, and Blogger will automatically post the text (and photos!) that you send. Neat!

With mobile blogging, imagine the possibilities:

  • Post photos from that amazing hiking or camping trip.
  • Quickly publish breaking news from an event while in attendance.
  • Post mood and gossip updates while in class (ugh, please don’t).
  • Snap a photo of Bigfoot, the Loch Ness monster, or a UFO before someone confiscates your phone.

Signing Up With Blogger Mobile

Getting started with Blogger Mobile is easy. The only real requirement is a phone with a text-messaging plan.

Step One – Register For Your Mobile Blog

To claim your mobile blog, first send a text message to In numerical terms (US only), you can also use 256447. Type REGISTER as the content of the message.

Within thirty seconds or so, you should receive a couple of reply text messages from Blogger. The first will contain a link to the Terms of Service, and the second will contain a link to your new mobile blog, plus a claim code.

The unique code identifies your mobile device so that posts are routed to the appropriate blog.

Note: instead of a text message, you can also send an e-mail from your phone. For it to work, the e-mail should not pass through another gateway (such as an IMAP account or your school account). The Gmail app and Yahoo! Go should work fine. You CAN use both text messages and e-mail to post to your blog, but you have to claim them separately.

Step Two – Claim Your Mobile Blog

Once you have your unique claim code, you can claim your new blog or attach your phone to an existing Blogger account.

On any computer, visit Enter your claim code (plus the captcha code).

Step Three – Configure Blog Settings

The final step before you can start posting from your phone is to tell Blogger where to direct your future posts. You can accept the new default blog, or if you already have an existing Blogger account, you can log in and choose an existing blog.

By default, Blogger assigned me the address of husbin147. As you can see in the screenshot above, I chose to direct my mobile posts to an existing blog.

Create a Mobile Post

Now that you have a mobile blog, it’s time to start posting. To create a new post, all you have to do is send a text or e-mail to The text that you write (and any pictures that you attach) will automatically show up as a new post. Neat, huh?

In the example above, I’m using Yahoo! Go instead of a text message because it supports a Subject line. The e-mail subject becomes the title of the post.

Within seconds of sending my message, Blogger responded with a Success reply. Sure enough, my new post was live.

I’m pretty amazed by the Blogger Mobile service. I don’t see myself using it every day, but for certain situations, it’s a dream come true.

Other Stuff

A couple other details: You can manage which devices post to your mobile blog by looking near the bottom of your Blogger Dashboard. This is handy in case you get a new phone.

Also, my only complaint about Blogger Mobile is that I have not yet found a way to attach labels to a post. As of now, you have to log in post-factum with a computer and manually add labels. It’s a small price to pay, but if anyone knows an easier way to add labels to mobile posts, please share.

Weekend Fun – Play Tribes 2 Online For Free with TribesNEXT

If you want to blow off a little steam this weekend, consider playing Tribes 2 for free. Sure, it’s an old game by today’s standards (released in 2001), but it’s still fun, especially if you are into first-person-shooter (FPS) games.

Tribes 2 was opened to the public for free download in May 2004. Back in November 2008, Vivendi shut down the authentication servers for a number of games (includes Tribes 2). Online play was no more.

Until now. The gauntlet has been thrown down, but a community project called TribesNEXT has answered. By releasing a BETA patch, TribesNEXT has restored multiplayer functionality to Tribes 2.


If you already own the game, all you need to do is install the BETA patch from TribesNEXT.

Download Page

If you do not own the game, the unpatched full game download is available from several mirrors. Here is a direct link to the torrent file (full game plus patch).

Note: the patch is not necessary for single-player mode.

Have fun! Maybe I’ll see you online. I’ll be the guy falling all over myself and running in panicked circles.

Set Windows as the Permanent Default OS when Dual-Booting with Ubuntu

Ubuntu Linux is a great operating system, but one potential annoyance is how it automatically sets itself as the default OS when installed as a dual-boot with Windows. Fortunately, it’s easy to switch it back by editing GRUB (GRand Unified Boot Loader).

To modify GRUB, first boot into Ubuntu, then launch a Terminal (Applications → Accessories → Terminal). Type the following command:

sudo gedit /boot/grub/menu.lst

(Tip: if you don’t want to launch a full text editor, just substitute nano instead of gedit.)

Scan the file until you find this section:

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
# You can specify ‘saved’ instead of a number. In this case, the default entry
# is the entry saved with the command ‘savedefault’.
# WARNING: If you are using dmraid do not use ‘savedefault’ or your
# array will desync and will not let you boot your system.
default 0

The number that follows the word default at the bottom is the critical part. Conventional wisdom suggests that we just have to change the zero to a higher number (usually between 4 and 6). Sure, you can do it that way if you want. Just find the section in your GRUB file at begins with: ### END DEBIAN AUTOMAGIC KERNEL LIST.

Starting with 0, count the entry blocks below that marker to find what the appropriate number is for Windows.

Be warned: the above method is only temporary. The next time a new kernel is passed down through the Update system, GRUB will likely add a new entry for it, breaking your default OS. You may find your computer furiously trying to boot the GRUB divider!

The Permanent Method

To fix that annoying little problem permanently, just type saved instead of a number, so that your GRUB file looks like this (emphasis is mine):

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
# You can specify ‘saved’ instead of a number. In this case, the default entry
# is the entry saved with the command ‘savedefault’.
# WARNING: If you are using dmraid do not use ‘savedefault’ or your
# array will desync and will not let you boot your system.
default saved

The saved option works because Ubuntu so kindly already specifies Windows as the default when this option is invoked. Don’t believe me? Take a look at the very bottom of your GRUB file (emphasis is mine):

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd0,0)
chainloader +1

Save your GRUB file and reboot. Don’t be alarmed if your computer does not immediately default to Windows. I found that I had to manually switch it to Windows once, but then GRUB remembered my choice after that.

Turn Windows Server 2008 into an Excellent Workstation – Part II – Third Party Software

Welcome to the second part of our series on turning Windows Server 2008 into an excellent workstation. If you missed it, please see Part I – The Basics as well as how to get Server 2008 for free (students only).

In this post we will take a look at some third-party software and its compatibility with Server 2008. In no way is this post comprehensive, but it should get you started in figuring out if your software is compatible. When possible, I tried to stick with free software.

This article is from an x86 (32-bit) perspective, though I doubt the x86-64 version differs much. I welcome any and all additions in the the comments below.

Free Security Software

Unless you like living dangerously, you should run antivirus software on your Windows machine. As I’ve written before, I prefer free antivirus software. Unfortunately, not all free antivirus programs will install on a server operating system. While there may be some registry tweaks or other hacks that will allow them to install, I’m not comfortable living with that. Who knows when an update may break compatibility or functionality?

Below are free antivirus and security programs that I have personally verified.

  • AVG Free Editiondoes not work
  • Avast Home Editiondoes not work
  • ClamWinWORKS
  • Comodo Internet Securitydoes not work
  • Malwarebytes’ Anti-MalwareWORKS
  • PC Tools Free AntiVirusWORKS
  • Returnil Virtual System 2008 Personal EditionWORKS
  • Rising AntivirusWORKS

Google Software

All Google software that I have tried installs and works as expected.

  • Google DesktopWORKS
  • Google Earth 4.3WORKS
  • Google Picasa 3WORKS
  • Google SketchUp 7WORKS
  • Google TalkWORKS


Good news! All common web browsers that I have tried work without flaw.

  • Firefox 3WORKS
  • Google ChromeWORKS
  • Opera 9.6WORKS
  • Safari 3.2WORKS

Free Media Players

Continuing our good luck streak, every media player that I have tried (so far) works without known issues.

  • Foobar 2000 v0.9.6WORKS
  • iTunesWORKS
  • J. River Media Jukebox 12WORKS
  • MediaMonkey 3.0.6WORKS
  • Quicktime 7WORKS
  • Songbird 1.0WORKS
  • VLC 0.9.8WORKS
  • Winamp 5.5WORKS

Office Applications

Almost every office-type application that I tried works without flaw. Fortunately, both MS Office 2003 and 2007 work fine, since that would be a deal-breaker for most people.

  • AbiwordWORKS
  • Adobe Reader 9WORKS
  • Lotus Symphony 1.2does not work – (It installed correctly on my machine, but would not launch a new document, spreadsheet, or presentation. It it works for you, please let me know.)
  • Microsoft Office 2003 and 2007WORKS
  • OpenOffice 3 WORKS

Other Utilities

Major victories in this area include recent updates to Skype and the Windows Live Applications that make them compatible with Server 2008.

  • 7-zipWORKS
  • CCleanerWORKS
  • FilezillaWORKS
  • Jing ProjectWORKS (only after you enable .NET 3.0 – see Part I)
  • Microsoft Virtual PCWORKS
  • SkypeWORKS – (Version 4 BETA works fine. Version 3 was troublesome, though version and later may also work fine.)
  • Sun xVM VirtualBoxWORKS
  • Windows Live ApplicationsWORKS (Yes! Previous versions would not install on Server 2008, but the new updates install and work well.)
  • μTorrentWORKS

Video Games

Admittedly, I am not much of a gamer, but here are a few games that I can personally verify. I especially welcome additional contributions in this area.

  • Diablo II LODWORKS (with 1.12 patch or above)
  • Elder Scrolls IV: OblivionWORKS (with latest patch)
  • Guild WarsWORKS
  • Starcraft: Brood WarWORKS (with 1.16 patch or above)
  • Titan Quest (plus Immortal Throne) – WORKS
  • Warcraft III: The Frozen ThroneWORKS (with latest patch)

As you can see, there is far more green than red, meaning that the overwhelming majority of applications should work with Server 2008. In fact, I’d say that Server 2008 is hardly limited at all. As a general rule, if it works with Vista SP1, it should work with Server 2008. I did not mention it above, but even two professional music applications that I use all the time – Finale 2008 and Reason 4 – work without problems.

Security applications are the main exception. Unless you want to pay for a server-compatible antivirus program, I suggest sticking to PC Tools or Rising antivirus.

Games are the other category that I could not test well, but again, if it works with Vista SP1, it should work with Server 2008. If you find exceptions, or have any other comments or questions, please let me know in the comments below.

Synchronize Your Ubuntu System Clock with Internet Time Servers

Note: This guide was written for Ubuntu 8.10, but any GNOME-based Linux system should be similar.

If you want your Ubuntu system clock to stay in sync with Internet time servers, follow these simple instructions.

Step 1 – Open Time and Date

Go to the System menu → Administration → Time and Date.

Step 2 – Unlock

Click the Unlock button and enter your password for authorization.

Step 3 – Install NTP

Once unlocked, switch the Configuration from Manual to Keep synchronized with Internet servers.

If NTP (Network Time Protocol) is not installed on your Ubuntu system, you will be prompted to install it.

Curiously, my Time and Date configuration settings remained stuck on Manual until I closed and re-opened it.

Step 4 – Choose Time Server (optional)

The next time you open Time and Date on Ubuntu, you will have the option to select a time server.

The default choice is, though feel free to select a different time server (or add your own).

Pretty neat stuff. May your system clock always stay in sync.

New Year Resolution – Clean Up Your Gmail Account with Labels and Filters

A new year is upon us, and once the hangover and the food coma have worn off, it’s time to start working on those resolutions for the fresh new year. Instead of the traditional desires to lose weight and stop smoking, I propose a more realistic and achievable goal – clean up your Gmail account.

Gmail makes it easy to keep your Inbox organized, but those tools are of no use unless you harness them. Perhaps you already know about these tools, so consider this post your wake-up call to start using them more effectively.


Labels are the equivalent to folders in other e-mail services, but they offer an additional benefit. You can apply multiple labels to a single conversation in Gmail.

To create new labels or edit your existing ones, click the Edit Labels link on the left.

From there, you can rename, remove, or create new labels at will. I suggest creating labels based on sender names, or create an overarching category such as Bills or Services. To apply a label to existing mail, just check the box next to the conversation and look under the More Actions drop-down list.

Once your labels are set, move on to Filters.


Filters are one of Gmail’s most powerful features. By setting a filter, you can automatically perform any number of actions to incoming messages. Filters are incredibly helpful for dealing with recurring e-mail from the same sender. Example: If you get a lot of e-mail from NewEgg, you can set a filter to automatically label incoming NewEgg messages. You could also archive, delete, star, or forward incoming e-mail. The organizational possibilities are practically endless.

To start applying filters, first go to Settings at the top of your Gmail page, then switch to the Filters tab.

Click Create a new filter to begin the process.

Enter any criteria, such as a Subject or specific e-mail address. Hint: you can also use a wildcard (*) to capture all e-mail from a specific domain, such as * Hit the Test Search button what existing messages in your inbox match the filter, then hit Next Step.

(Tip – if a friend often uses multiple e-mail accounts, you can still use just one filter to categorize incoming mail from that person. For the From criteria, just use the OR operator. Example: OR

Now you can specify any and all actions that you wish to perform. In the example below, I’m choosing to apply a label and archive incoming messages from NewEgg. I highly recommend also checking the box to apply the filter to the existing conversations in your Inbox.

You can create an unlimited number of filters in Gmail. I just counted, and I currently have 49 filters running in my primary Gmail account. Am I a fanatic, or does anyone have me beat?


Once you’ve set a bunch of filters, most of the e-mail in your Inbox should have one or more labels. You can tidy up your Inbox now by using Gmail’s Archive feature. Archiving essentially just moves conversations from your Inbox to All Mail. You can retrieve those conversations at any point by clicking the relevant label, going through All Mail, or by using the Search box.

If you’re feeling daring, select all the messages in your Inbox and click the Archive button. Voila! You now have a clean Inbox! Doesn’t that look great?

Don’t worry, you can get them all back if you want by switching to All Mail, selecting all conversations, and clicking Move to Inbox.

So, while losing weight and quitting smoking are great goals, cleaning up your Gmail Inbox is a goal you can accomplish right now. I have two Gmail accounts that I use regularly, and I took an hour to set labels and filters in each. You, too, can enjoy that clean Inbox feeling by taking a few minutes to label, filter, and archive your messages.

When you’re finished, at least you can say that you didn’t break ALL your New Year’s resolutions this year. 🙂