Skip to content

Category: Internet

Open Letter to SPAWAR

To Whom It May Concern,

As a service-member who has been in the Southwest Asia theater of operations for 24 of the last 48 months, I have been well exposed to the services offered by your organization. While it is nice to have free (albiet low-speed) Internet access and low-cost calling options, the reliability and quality of your network is questionable.

My first issue is regarding the lack of Quality of Service (QoS) policies on your routers. At least at the distribution/access level, QoS policies do not exist. While I have not seen your routers’ configurations, this is obvious for a number of reasons:

  • When the MWR is empty, the Internet speeds are manageable and could even be considered good for a satellite-based link.
  • During the afternoons, when the majority of traffic appears to be data (web pages, instant messaging, etc.), access speeds are still usable, even when all of the computers are in use.
  • In the evenings, at least fifty percent of users are using voice and video applications, such as Skype, with little to no degradation of video quality. Attempting to use data services, however, is nearly impossible, as pages (even quickly loading ones such as Google’s home page) will time-out before being displayed.

Quality of Service policies prevent any one type of service from dominating the available bandwidth and preventing others from working. While the telephone services you provide are Voice-over-IP (VoIP) and QoS policies may be in place segregating VoIP from other traffic, no restrictions are being placed on computer-generated VoIP and video services (i.e. Skype, Yahoo! Video Messenging, etc.).

These policies could be easily created and implemented, as they are in use throughout the IT world (including the Army’s WIN-T architecture). At bare minimum, ensure that each station is allotted a dedicated portion of the cafe’s overall bandwidth, so that it is usable.

Second, the images placed on the cafes’ computers are bloated, outdated, and just plain awful. While I applaud the wide-array of Instant Messaging clients (on this machine, there is Google Talk, Skype, Windows Live Messenger, Yahoo! Messenger, AIM, and MySpace IM), no one uses MySpace IM. Also, the version of Google Talk installed doesn’t support Google Voice, which would be the only reason to use that over Yahoo!, AIM, or Windows Live.

The Start Menu is littered with items like Creative Product Registration, two versions of, two icons for Internet Explorer, and a number of other applications that your cafes’ users should not be using or seeing. If the cafes’ techs are installing software onto your baseline, then my statement regarding your image should be withdrawn and my comments be redirected at your techs. Windows XP (the OS used in your cafes) is too easy to keep tidy, especially when users only have access to one account.

Lastly, your network is owned by the Department of Defense. As such, access should be limited to ID Card-holders only. Third country nationals should not be permitted access to such systems. I do understand that the network is not directly tied into NIPR net (the Department of Defense’s Unclassified network), but the use of MWR facilities outside of SWA is limited to ID Card-holders. It should be no different here.

The people working the front desk (TCNs) give priority to their “friends” with regards to time limits on the phones and computers. Soldiers, sailors, airmen, and marines should not have to wait in line behind TCN contractors that should not even be allowed MWR access.

Please do not take my criticism as an attack. I am grateful for the free Internet and appreciate its availability. My hope is to bring a few glaring issues to your attention, so that future deployers can experience even better services with little effort on your part.


Sean Callaway
United States Army

SPAWAR, or the Department of the Navy’s Space and Naval Warfare Systems Command, provides Internet and voice services in Iraq and Afghanistan. You can visit the SPAWAR homepage here.

My Chrome Extensions

One of the best part about modern (read: no IE) browsers is the ability to add functionality with extensions. My primary browser has been Google Chrome since my wife turned me onto it and it has an amazing collection of extensions.

Here are the three extensions that I run all the time and I can’t live without.

AdBlock Plus for Google Chrome (Beta) – The old Firefox extension reworked for Google Chrome. This extension blocks advertisements from the most popular advertising hosts on the web. This extension works so well that I forgot there were adult ads on It was pretty embarrassing to open it up on my parents’ computer.

Google Mail Checker – A simple little extension that adds a button to the right of the address bar which displays the current number of unread email in your Gmail inbox. Clicking the button opens up Gmail in a new tab. This is great for my Mac where the Gmail Notifier is sub-par.

Easy Youtube Video Downloader – Adds a little button below YouTube videos that lets you download the video in MP4, FLV, or MP3 formats. It supports HD video downloading and is awesome. The drawback is that it’s not an official Chrome extension (violates the TOS, I think) so it doesn’t update itself. Definitely worth downloading.

Now Integrated With Facebook

As of now, my blog is currently integrated with Facebook, meaning you can “Like” posts and use your Facebook identity to comment on posts. If you are currently logged into Facebook (or keep yourself logged in), all you have to do is click on the “Add A Comment” button and you’re ready to go.

Google Talk Guru

I was recently introduced to Google Talk’s Guru, a handy contact bot that answers all your instant search queries, like “Number of grams in pound” and “current weather in Honolulu.”

Just add to your contact list and you’re ready to start using it.

PHP Upload Script

I wrote a quick and dirty PHP upload script so I could host a few images. I figured that I could adjust the script to be modified via a configuration script and make it usable in a number of different situations. Nothing real fancy.

In, modify the $SC_RELATIVE_PATH variable to point to the directory where you want to place your uploads, relative to the location of the uploader script. Also, modify $SC_BASE_URL to be the web-accessable URL for the directory where your uploads are located.

For example, if I had my uploader script located at and I wanted my images to be uploaded to, I would set $SC_RELATIVE_PATH to “../images/” and $SC_BASE_URL to “”.

It is licensed under the GNU General Public License v.2. You can download it here. (ZIP, 4KB)

Dealing with Passwords the Right Way

At some point in time, every web developer is going to have to deal with user’s logging into their application. This means storing the user’s username and password in a database, right? Wrong. There is absolutely no need to store a password. Ever. End of story.

So how do we verify that the user has entered the correct password? It’s actually very simple. Instead of storing the user’s password, one should store the SHA-2 or MD5 hash of their password. Hashes are a form of one-way encryption that produce unique output for different inputs. That is, “Red123” would produce a different hash than “red123”, or even “R ed123”. By comparing the hashes, you can ensure that your user is entering the right password, while protecting their password in the case that your database is stolen.

In PHP, these hashes are really easy to produce. For MD5, its as simple as:

$hash = md5($input);

For SHA-2 (technically SHA-256), there’s a little more typing, but not much.

$hash = hash("sha256", $input);

Using $hash in your SELECT and INSERT SQL statements, instead of $input, will secure your data and keep users happy.

Plus its just good form.

Dropbox and the Unified Desktop

So, I’m fairly in love with Dropbox. The company, the software, everything. Too bad they aren’t hiring non-coders at the moment.

My first goal when I started using Dropbox was to transfer a 27MB file to my wife over the extremely slow wireless connection I have here in Afghanistan. Dropbox took my trickle of an upload and (a few days later) the file was there, ready for my wife to pull down in under a minute. Since then, it has become my file-sharing method of choice.

Enabling PHP5 on 1&1 Servers

All 1&1 Linux servers have PHP5 installed, but all files with the ‘.php’ extension are handled by PHP4. If you want to use PHP5, you’ll have to rename all your files with a ‘.php5’ extension or add the following line to each site’s .htaccess file:

AddType x-mapp-php5 .php

That will have PHP5 handle all ‘.php’ files for that site.

GoogleFu: What’s That Song?

Looking for the name of that song that just played on the radio? Look no farther than Google.

Type the lyrics that you remember for sure (now’s not the time to guess) and surround them in double-quotation marks (“), like this:

“please allow me to introduce myself”

Then click search. The first three results for my example search all return “Sympathy for the Devil” by the Rolling Stones. Its that easy.