Monthly Archives: August 2009

The Horror! Obama Riding Without a Helmet!

Oh the horror! During the president’s bicycle ride in Martha’s Vineyard with his children, he decided to (gasp!) not wear a helmet!

Source: LA Times

Source: LA Times

What’s the big deal anyways? Sure, he’s the president, but does that mean he can’t still have his freedom? I’m against Mandatory Helmet Laws. I think they suck. Where they’ve been implemented, there’s been statistics showing that bicycle riding has actually declined.

Also, there isn’t enough evidence to support that bicycle helmets really do save lives. They’re not made for the impact that a cyclist is most likely to suffer life threatening injuries: IE: Car + Bicycle

Wear a helmet if you want. Just don’t force the use on other people.

(I actually do wear my helmet every time I ride, mostly out of habit though)

The LA Times article:

Asterisk Backup Method

Here at work, we’ve been setting up an Asterisk system to run our phones. Its a pretty slick setup, with the server sitting in our rack at Handy Networks’ data center in the big Qwest building in downtown Denver.

Since the system is mission critical, a good backup solution is important. Our current solution, which I’m sure we will revise, is as follows.

We use FreePBX’s backup module to perform daily backups of important data (voicemail, call recordings, etc) at 3:05AM.

At 3:30 AM, a cron job runs and the backup files are copied over to our windows file server. The files will then be ready for saving offline.

Here’s the backup script:


# Delete files older than 7 days
find /var/lib/asterisk/backups/* -mtime +7 -exec rm -f {} ;

# Mount the backup share
mount /mnt/backup

# copy backup files across
rsync -r --delete /var/lib/asterisk/backups/ /mnt/backup/

# Create md5 hash of files
find /var/lib/asterisk/backups -exec md5sum "{}" ; 2>/dev/null > /mnt/backup/md5sum.txt

# Unmount the backup share
umount /mnt/backup

First, it deletes all files older than 7 days.

It then mounts the backup share. An appropriate entry is in /etc/fstab to allow the asterisk user to mount the share.

Then, using rsync, copy the files onto our windows server.

Next, we take the md5sum of each of the files and places the output on the backup server. This helps to ensure our backup’s integrity.

Finally, unmount the backup share.

Restoration would be simple. Install FreePBX + Asterisk onto a server. Copy the backup files into the backup location, and then use FreePBX’s backup and restore module to restore the backups.

Make sure you do proper testing before implementing this into a production system.

Get Off The Sidewalk Denver!

Got into a debate with a friend on whether or not it was legal for me to ride my bicycle on the sidewalk.

According to Denver bicycle ordinances, it is illegal for me to ride my bicycle on a sidewalk except under specific situations:

Sec. 54-576. Riding on sidewalks.(a) Riding bicycles upon or along sidewalks, whether on public property or private property opened for use by the general public, shall be unlawful except when the operator or rider thereof is a uniformed city employee riding a bicycle or a police officer riding a bicycle is a marked or unmarked official police bicycle while engaged in the discharge of his or her official duties, or when the operator or rider thereof is engaged in the delivery of newspapers or where the sidewalk is part of a designated bicycleroute. Bicyclists shall yield the right-of-way to pedestrians on the sidewalks, and shall leave the sidewalk or dismount if necessary to yield such right-of-way.

(b) Riding motorized bicycles upon or along sidewalks shall be unlawful.

(Code 1950, §§ 522.19-1, 522.19-2, 852.5; Ord. No. 464-02, § 1, 6-17-02)

So, unless I am a police officer, delivering newspapers, or following a designated bicycle route, it is unlawful of me to ride on the sidewalk. The only condition that ever applies is the bicycle route part (which is rarely).

Another interesting ordinance:

Sec. 54-565. Application of traffic laws.Every person riding a bicycle or motorized bicycle upon a roadway shall be granted all of the rights and shall be subjected to all of the duties applicable to the driver of a vehicle by the traffic rules and regulations of this city applicable to the driver of a vehicle, except as to special regulations and except as to the provisions of laws and ordinances which by their nature can have no application.

(Code 1950, § 522.11)

In other words, I have a right to ride on the same road as you drive.

Source: Denver Bicycling Ordinances

Let’s Put Numbers to Our Energy Consumption

All too often, you hear someone say that the solution to our energy crisis is in … (insert Solar Power, Wind Power, Hydro Power). While alternative energy sources sound great, is the United States and the rest of the world in a suitable position to actually make such fancy things as Solar Power a real viable alternative?

David McKay, a professor in physics at UIT Cambridge published a great editorial over at CNN covering this issue. I highly recommend you take the time to read it.


Bicycle Hits Fifty Miles

As of this morning, I have commuted a total of 50.3 miles on my new bicycle.

I must say, bicycle commuting is quite fun and possibly addicting. Motorists, for the most part, are very respectful and polite to cyclists. The weather has been quite nice, except for one very cold afternoon (supplemented by a rather nice tail wind).

My commute consists of 7.3 miles to Auraria Campus, then the rest of the 6.8 miles to work by light rail/bus.

Got an old bicycle laying around? I highly suggest you pick it up and start riding. But read Colorado’s Bicycle/Pedestrian Manual first so you know the rules.

FYI: As of August 5, 2009, Colorado will have a new set of bicycle safety laws. My favorite, three feet to pass.

FYI2: June is Colorado Bike Month. Specifically, June 24th is Bike to Work Day.

CFML Custom Function – URLExists

One of the updates I had to make today at work was to check if an item exists at a certain URL. Since this was going to be repeated, I wrote my own ColdFusion function to perform this task.

	Function to check if url exists 
	If the cfhttp returns an error or 404, the function returns False.
	Otherwise, function returns True.
<cffunction name="URLExists" returntype="boolean" output="no">
	<!--- URL to check --->
	<cfargument name="url" type="string" required="yes">

	<!--- Check the URL --->
	<cfhttp method="HEAD" url="#url#" throwonerror="no" />
	<cfif NOT isdefined("cfhttp.responseheader.status_code")
			OR cfhttp.responseheader.status_code EQ "404">
		<!--- There was either an error, or the file doesn't exists --->
		<cfreturn False>

	<!--- URL returned a status code other than 404 --->
	<cfreturn True>