Would you like a ticket for having a bike rack in Tampa, FL?

What a lovely city Tampa is for bicyclists. They have great trails and an abundance of bike lanes in the nicer communities. However, if you want to transport your bike on a bike rack, Tampa is not the place for you.

Today my wife got pulled over for what…speeding? nope….illegal lane change?…nope…..having a bike rack blocking a portion of her license plate? ding ding. You got it.

Apparently in a city that is being hit by the economic slump, the police have nothing better to do than pick on law abiding citizens.

The officer said that he could write a ticket for the obstruction of her license plate by her bike rack which is a non-moving violation. What a pile of crap.

So, next time you are out and want to take your bike out to the bike trail on your bike rack, remember the gestapo Tampa Police Department may decide you deserve a ticket.

Oh…What about the Tampa Police Department and their bike cops with their bike racks? Oh…They are above the law as usual, of course.

The police should be out to protect our way of life and keep us safe; not pick on law abiding citizens trying to go about their day.

Write your mayor, sheriff, and congressman to try and get this fixed.

How to view an exception that wasn’t explicitly caught in C#?

So, you decided to do that catch statement without actually declaring the Exception err variable. Sure, code analysis said you weren’t using it. You didn’t want to log it, and you just thought you wanted to swallow the error whole and never see it again. Until…..

Wow, it keeps crashing in the Try block and you have no access to the error when it hits the catch now. What to do? Never fear.

Open your immediate window. Debug->Immediate.
Type $exception then hit enter.
Yep, there is your exception staring at you in all its glory.


Thought on complexity….

After reviewing the new database design for a project I am working on, I invariably declared that no one can do anything straight forward and simple anymore.

In a world of exceedingly complex thoughts and designs, developers inevitably strive to push the bounds in ways never thought possible. In essence, simplicity does not serve the ego well enough., Brian Seekford

The joy of watching your Polycom Soundpoint IP 650 rebooting endlessly…..

So…I was provisioning a new Polycom 650 and came across a lovely mind numbingly painful situation.

Let’s start out from the beginning. I went to the Asterisk box and created the proper [mac].cfg files in the tftp boot folder. I set the appropriate phone[ext].cfg files and the sip.cfg file. I then confirmed with my DCHP server that the option 66 setting was correct to the tftp:// address of the pbx.

So far so good. The phone boots up and then tries and load its application module. It says application loaded and then reboots. Hmm…WTF.

I do what all good IT folks do, bang my head on a couple of walls and visualize throwing the phone through various windows.

So I go back to the TFTP server and lo and behold, there is no SIP.ld or bootrom.ld. Great, someone decided to delete these.

I went to Polycom’s website, fearing they were still overly paranoid folks and not going to make their firmware available(as it was a couple years back), but was pleasantly surprised to find an entire archive. I downloaded the new split package, pretty cool to get the smaller files, and loaded it onto the TFTP site.

Phones rebooted and downloaded the new application and bootrom. All good right? Sure…that is until it rebooted continuously again. Damn. More head banging and vicious thoughts of gutting the phone.

I review the boot logs and find that its looking for a logo-600.bmp. Hmm..>Why would anybody have deleted that? Well, they did. So I make  new logo file and uploaded that to the TFTP server along with the missing SoundpointIPWelcome.wav file and the phone decides its happy again and boots up.

Why in the world does the phone REQUIRE that all misc files are present is beyond me, but that’s how it works.

So if your Polycom is rebooting continuosly AND you see boot logs on your tftp site (if not, you haven’t configured it to point right) then make sure all MISC files are available along with your SIP and BOOTROM files. One missing bitmap can cause your PBX empire to crumble.

Entity Framework and Views.. Too many keys on the keychain…

I am currently working pretty heavily with the Microsoft Entity Framework for .NET. I just ran into a nice quirk in the Model Wizard for Views.

Well, it seems the model wizard is not able to intelligently determine the primary keys for a view so it resorts to deciding that any NON NULLABLE field must be a primary key. Retarded…yes.

So how to fix this? Well, as long as you don’t mind never using the wizard again you can go in and remove the entity key flag off the conceptual model fields and then delete the key references on the storage model. This all in the XML editor naturally, because of course you can’t do anything useful int the modeler.

Note: Once you fix your keys, if you rerun the Model Wizard to import/refresh tables, you will have the pleasure of hand editing the file again for all your views.

Will this be fixed in 4.0? We will wait and see

Verizon….A love hate relationship and why their FIOS customer service sucks….

I have been a Verizon customer for many years now. I was generally happy with the service until now. The tv service provides a great picture and the Internet speeds are rediculously fast.

They just suck when you try and order the service. How can that be you ask? How can a company not bend over backwards to earn you as a customer? Below is part of my email to the buggers.

  I have spent roughly 4+ hours on the phone with your people to place my order for a move of service. I am moving to Tampa and just wanted to keep FIOS.

A week later, bungled order and mistake and issue after issue I am here.

I first called last week to setup my service. I placed the order and went through the entire process only for my order to freeze. So the representative said they would call me back that night once they were able to get the order to unfreeze. Well a few days went by and I called back. Enter this Monday. I talk with a representative that promises me to take care of placing the order.

Mind you, I am trying to BUY your services. Shouldn’t this be painless? Shouldn’t I be treated really well? Isn’t Brighthouse just a call away?

Anyway, I talk with the agent about my order and she says it locked in limbo. She reconfirms my order and promises to take care of the issue and guaruntee my Friday installation.

Well, we speak again Tuesday and she says the order is still locked up. She has to call me back 3 times. The day ends with no service setup.
I call today and get a new representative. She says she can’t transfer me to my old representative but promises to take care of it all.

She pulls up the order and says its locked. We 3 way call into some other office and they tell her its locked and to place another order then hang up on us. Quite rude.

I  then place my order AGAIN with her. This is getting old as you can see. I go through the whole thing again and she sets up the order. They then give me an installation date of NEXT WEEK.

This is just rediculous. I placed the order LAST WEEK.


Yes….A week of effort to place an order.

All American Rejects, Fall Out Boy and Blink 182 concert in Tampa…

I decided to go out to the All American Rejects, Fall Out Boy and Blink 182 concert last Sunday at the Ford Amphitheater. I went the box seat route and that made the parking a breeze. I passed hundreds of cars sitting on the highway which all appeared to be waiting for a very long time to enter the crappy standard lot. The last time I went to a concert and parked in the normal lot and it took 1 hour to park and another 1 1/2 hours to get back out of the lot.

The concert started off with the white rapper that does the College song. Can’t remember his name, so must not have made much of an impression. He was jumping around the stage like someone having a seizure. It was amusing at least.

The first real band to take the stage was the All American Rejects. The lead singer came on in a wheelchair with a huge cast on his right leg. They had a girl from the audience pushing him around the stage while he sang. The performance was good but he was obviously pretty out of it from the pain medicine he was on. He messed up and forgot the lyrics a few times. The best part was that he kept repeatedly telling everyone that he doesn’t lip synch like the damn Jonas Brothers and other crappy bands that are fake.

Fall Out Boy came on next. The crowd went wild and they put on a great show. The music rocked. They had a guy come up that had a huge tattoo on his stomach that said “Dirty”. The band had him chug eight beers during one of the songs. He threw up about 4 times on stage but managed to down all the beer. Pretty damn funny to watch this dude throwing up on stage.

At about this time the entire audience was sweating from the sweltering heat. A wonderful hot and muggy Florida night. The heat is definitely a bad part about the amphitheater.

Blink 182 came on stage next to a deafening roar of the audience. The put on a really awesome show. They interacted with the audience a few times. One was to tell us that they were not looking forward to going to the Alabama show. They feared that the concept of counting to 4 would be way to hard for the Alabama audience. The highlight of the show to me was the encore. The crowd was screaming so loud I could feel them for about 10 minutes to bring the band back out.

The encore started with Travis Barker, the drummer, strapped into his drum chair. The entire drum set was then raised into the air about 10 feet on this platform and he began banging out an awesome solo. The solo was really intense but got even better when the platform started to rise and dip. They had him going forward at about 30 degrees and then back and then to the side. He kept rocking it out while they made the whole platform go crazy. To make it even more intense, the middle of the platform actually started spinning in circles. So this guy was rocking the drums up 15 feet high, drum set spinning around a full 360 and then the platform leaning at crazy angles. That is one amazing talent and the highlight of the entire night.

The concert ended with streaming being blasted onto the audience and lights on. I got into my car and out of the stadium and back to the hotel in less than 15 minutes. To put that in perspective, I ran an errand 30 minutes later and drove by the stadium and the cars were lined up all the way around the stadium rolling at about 2 mph. (Long story short, pay for the VIP parking because the amphitheater parking sucks)

Where did that Visual Studio 2008 menu go….

So I was working in Visual Studio had a hankering for debugging an already running process. Easy right? Debug -> Attach to Process. Well, it’s not so easy to do when the menu option dissapears. I pulled up my Debug menu and it had 4 options. Windows, Start,Step Over, Step Into. Hmmm.. missing something there right.

Well, after pulling a few hairs out I figured out how to get my Attach to Process option back.

Its painful but effective. Tools -> Import and Export Settings. Reset to Visual Studio default. Pick the best generic settings and finish the wizard.

All your menus will be back to normal. You just lose all of your keyboard shortcuts and custom settings you painstakingly setup.

How to delete those pesky duplicate SQL records…

So every once in a while I find that I have some duplicate records in my database as a result of testing or development or plain oversight. How to remedy the situation?

Well, its as easy as this simple SQL.

delete sourceTable
from YOURTABLENAME sourceTable, YOURTABLENAME compareTable
where sourceTable.fieldWithDuplicatesToMatch= compareTable.fieldWithDuplicatesToMatch
and sourceTable.PrimaryKey > compareTable.PrimaryKey

Basically, replace YOURTABLENAME with the name of your table.

Replace fieldWithDuplicatesToMatch with the field on the table that has the duplicates. Such as SKU or Email.

Replace the PrimaryKey with the table PrimaryKey or a time stamp (DateTime) field or whatever you want to use as the basis for which record to keep.

Voila! Duplicates be gone.

.NET Illuminator v1 Alpha Released to the wild

So….I finally decided to release my alpha version to all you hooligans who want to see whats under the hood of fellow .NET’ers applications. You can use .NET Illuminator to see all the UI objects in another .NET application and even manipulate them. Yes, pretend like you are in Visual Studios Form Designer and just start viewing and changing properties.

You can also view all connection strings the application has used to any SQL  servers.

I will post more when I add more.  Happy hacking!

Click here for .NET Illuminator Page