In a radio interview Salt Lake City Mayor “Rocky” Anderson described anyone who mentions the religious background of the accused Trolley Square Murderer, Sulejman Talovic, to be “spreading hate.” He said the police and FBI have found absolutely no tie to Talovic’s religious background (Muslim) and the shooting rampage that he’s accused of. Further, Rocky accuses anyone that draws reference to Talovic’s Muslim heritage as “dividing our community along religious-lines” and that it “will not be tolerated.

In the same radio interview, Rocky also mentioned Talovic as being a “troubled young man” (18).

Rocky, have the police or FBI turned up anything that ties this individual’s age to the shooting? No? Then aren’t you spreading hate on the basis of age? Aren’t you’re dividing our community along age-lines!

Rocky, have the police or FBI turned up anything that ties this individual’s sex to the shooting? No? Then aren’t you spreading hate on the basis of sex? Aren’t you dividing our community along sex-lines?

How can you claim that identifying his religious background is hate-mongering, yet identifying his age and sex are not? They’re just personal characteristics!

So, tell me Mayor Rocky, are you a hate-monger or a hypocrite?

I have two pages that dynamically load title and content data on a page for press releases and similar data. Today when attempting to present this data using ASP.NET AJAX Control Toolkit’s Accordion Control I ran into a bit of a headache.

It turns out that it’s both “tricky” and “insanely easy” to databind the accordion control. Here’s how:

First, define your datasource and note your DataSourceID, you’ll need that later.

Next, make sure you have declared the AJAX Script Manager on the page (above the accordion control), like so: <asp:scriptmanager ID="Scriptmanager1" runat="server" />

Next, set up your Accordion control (note the reference to the DataSourceID that you defined earlier):

Next, and this is the somewhat tricky part, drop in an empty Panes tag:

And lastly, the insanely easy part, define your databindings in the HeaderTemplate and ContentTemplate:
<a onclick="return false;"><%# Eval("Title") %></a>
<%# Eval("Body") %>

Don’t forget to close your Accordion control: </ajaxToolkit:Accordion>

Trolley Square (image courtesy of Wikipedia)
The killing spree that was perpetrated Monday night at Salt Lake City’s Trolley Square shopping mall was reportedly cut short by a “Good Guy with a Gun.” An off-duty Ogden City police office was instrumental in ending the shooting spree.

The gunman, Sulejmen Talovic, was an 18-year-old Bosnian non-practicing Muslim refugee who lived in Salt Lake City.

Salt Lake City Police Chief Chris Burbank reported that just before 7pm Monday night, Talovic drove to Tolley Square, parking in the West Terrace parking lot. “As he exited his vehicle he encountered two individuals, which he immediately shot. He entered in the west doors of Trolley Square encountering a female there, and immediately shot her as well. … He proceeded to walk eastbound through the mall, encountering five individuals in a gift shop, and he shot all five of those individuals. Moving throughout the mall, he attempted to shoot numerous other individuals, encountering two others before the off-duty Ogden City police officer engaged him and distracted his attention. ”

Barret Dodds (29), the owner of a nearby antique-store, said he saw a man in a trench coat exchanging gunfire with a police officer outside a card store. “I saw the cops go in the store. I saw the shooter go down,” said Dodds, who watched from the second floor.

Ogden Police Chief Jon Greiner confirmed that Officer Ken Hammond was off-duty and that killed exchanged fire with the gunman. Hammond was at the mall with his wife celebrating Valentine’s Day two days early. Officer Hammond was instrumental in distracting the gunman and buying Salt Lake Police enough time to respond and take up positions.

Three (unnamed) Salt Lake City officers were also involved in the shootout with the gunman, a police spokesperson said.

Casualties include:

  • Jeffrey Walker, 53
  • Vanessa Quinn, 29
  • Kirsten Hinkley, 15
  • Teresa Ellis, 29
  • Brad Frantz, 25

Wounded and hospitalized are:

  • Carolyn Tuft, 43
  • Shawn Munns, 34
  • Stacy Hansen, 53
  • Allen Walker, 16

The number of others injured (not requiring hospitalization) was not released.

A very rough home-video can be seen of the events at the KUTV website.

If you’ve been awake this past decade you’re no doubt aware of the EULA (End User License Agreement), most of which basically throw out your Consumer Rights, and force you to contractually agree to “their terms.” Ironically, in most cases you never penned your signature in agreement, you just broke the seal on a box, opened a shrink-wrapped CD/DVD, accepted a receipt, or clicked an “I Agree” button (which was the only way to install that software).

Since a signature wasn’t obtained, the legality of these “agreements” is questionable, but may take more money and time for you to argue than you want to invest. So what can you do?

FIGHT BACK! How? With your own “agreement.” Basically, your amending THEIR agreement with your own? How legal is it? Apparently it’s just as legal as theirs is. Has it been tested? Not that I know of, but it does give you an argument about the validity of their agreement (after all, if yours isn’t valid, how can theirs be?).

Anti-EULA sticker

I consider it “good practice” to reload my Windows Mobile phone every 6 months or so. You see, I’m a tinkerer. I love getting the latest software and loading it up. Edititing the registry is old hat for me. The downside to all this modification is that not everything gets “cleaned up” properly. Old registry settings and files get left behind when a program is uninstalled, which makes for eventual instability and/or sluggishness of the device. When that happens it’s time to reload. Lucky for us Windows Mobile 5 users, this is very easy to accomplish.

The easiest way to return your device to factory defaults is the “Software Method”

  1. Go to Start>Programs>Utilities>Default Settings
  2. Enter the number from the left box into the right box and tap OK to start hard reset
  3. Your device system will reboot and restoring your device to factory settings

Apparently not all WM5 devices have the “Default Settings” application. In that case, the “Physical Method” is the way to go (note: this procedure varies by device; the procedure listed here is for the ETEN G500):

  1. Press Power Button and Reset Button together and release them at the same time
  2. Before the device starts to reboot, press and hold “End Call” button
  3. After approximately 15 seconds the “Erase all data and loads defaults?” screen will appears
  4. Press and hold the left soft button under the word “YES”
  5. Your device system will reboot and restoring your device to factory settings

(i) If you wish to restore your device to the factory settings with the default WM5 OS and erasing all user data and user programs, press and hold the Speedial Button for about 5 seconds until the default “No” changes to ‘Yes”.

(ii) If you want to retain your user data and programs, do nothing and the system will choose the options “No” by default before rebooting your device.

I have a Linksys WRT54GP2 Router/VoIP Gateway. It’s a neat little box. It does 802.11b/g with WEP and WPA. It’s a router. It’s a 3-port switch. It’s a 2-line VoIP gateway (locked to Vonage). It’s served me well. Until yesterday.

Linksys WRT54GP2

My wife called me at work about some unrelated topic, then said “oh, and our phones don’t work.” Typically this is caused by one of the following:

  • One of our children unplugs the cordless phone from the wall by our bed
  • Someone upgrades the computer to Windows Vista and the modem isn’t compatible, and forgets to handle the phone cords that used to plug into it (don’t ask)
  • Something gets hot and needs to be reset (cable modem, router, etc.)
  • Comcast’s cable line goes down (once in the last year)
  • Or (once in the last 3 years) the Vonage service went down for two hours

This time nothing worked.

The symptoms:

  • No dialtone
  • The phone 1 and phone 2 lights on the router blink together (2 fast, 2 slow, 2 fast, pause; I think)
  • The Status > Voice page it says “Router still restarting. Please wait a moment.” or “Router is synchronizing services. Please wait a moment.”

The troubleshooting:

  • Unplugged the Cable modem and WRT54GP2
  • Disconnected everything but the cable modem and the WRT54GP2 (which I did uncable and reseat the connectors, and even tried with a new CAT5e cable)
  • I’ve tried resetting the WRT54GP2 to the factory defaults (via the router’s GUI)
  • I’ve tried holding in the red button on the back of the WRT54GP2 and resetting
  • Internet access through the router seems fine, just no dialtone
  • Checked to see if similar problems have been reported: “jdr30” claims this means the router is dead and needs to be replaced. I put in a private message to him to see what he can do for me, but his reply was written in 2005 to a post written in 2004.

Lucily, Vonage has a fall-through feature called “network availability number” which lets you set another phone number to forward your calls to should the network fail (whether it’s the Vonage network, your ISP’s network, or the internet in general). The bad news is, this eats up our cell phone minutes.

More to come as this story unfolds.

I gave in and called Vonage. I spoke with a first level customer care representative who checked all my connections with me, then instructed me to power-cylcle my cable modem and Vonage box in succession (which I’d already done several times): same symptoms.

He then advised me to hard-reset the Vonage box by pressing and holding the reset button (with the power to the Vonage box on) for 30 seconds: again, same symptoms.

He instructed me to clone my MAC address: again, same symptoms.

At that point I was transferred to an “Advanced Customer Support Representative” who confirmed everything that I’d done with the prior representative; we then proceeded to do all the steps again.

After 1 hour and 15 minutes I was told that there is a “known issue” on this device, but that all the troubleshooting that we’ve done should have fixed that. Also, the firmware (1.30.01) is up-to-date, so no firmware update is needed.

However, the Vonage box, I was told, is out of warranty, and the only resolution is for me to go and buy a new one. I was assured that the process to associate the new device to my account would be fast and wouldn’t cost anything extra.

That wasn’t acceptable to me. I told the representative that after being a loyal customer for 3 years, and already forking out $120 for a new Vonage box once, that if I have to buy a new box it will be for a competing service. At that point she asked me to hold while she transfered me to someone else.

We went over the problem — again — and tried rebooting the Cable modem then Vonage box — again. This time he sent me the firmware to see if reflashing might fix the problem.

2 minutes and the firmware was re-flashed with the same version I’d had previously (the filename is WRT54GP2_v1.30.01_000_VM_3.1.06_LI_combin_code.bin for anyone that’s interested). The router rebooted, and Viola! She Lives! I have a dialtone and successfully got a phone call. Happiness!

Apparently when one side of the device goes out (and the other keeps working) that’s more likely an indication of a corrupt firmware than it is of failed hardware.

1 hour 42 minutes of time on the phone with 3 people at Vonage, but the problem is resolved and everything works just like it should. All it cost me was my own time, a little frustration, and (hopefully) 102 minutes of free “nights-and-weekends” minutes on my cell phone.

Still a loyal Vonage customer, thanks to Jaroslaw Sakowicz at Vonage! Thank you, sir!

Oh, and if you want to sign up and get 2 months free, just drop me an email (I’ll also get 2 months free).