Dell m1530 no longer turns on

Well, I’ve had the dell for a month or two and it already required an entire motherboard replacement.  If you tried to turn it on, the blue light on the power would come on for a second.  Nothing else would turn on.

After contacting dell support, the guy said a tech would have to look at it.  He said his computer went down at dell and that he would have to call me the next day.  I never got a call.  So, I tried again in a few days.  The tech had me remove the hard drive and the lan card.  He then claimed it was the motherboard and was going to send one out with a tech.

The good news is that the computer works again.  The bad news is I am extremely worried about the quality of my new m1530.  It died in less than a couple months of ownership!  I have never had another brand with an issue like that.

Another issue I had with Dell was with when I bought it.  I chose Dell Financing due to the Zero percent financing if I paid it off in a year.  I figured that would be a great idea since it costs nothing to me.  So, I patiently watched my order status move from order made to processing.  It sat there for a week and then one part of my order got cancelled!  It was the LoJack part, so that didn’t bother me because it was something I didn’t want for free.  I called them, since they didn’t bother to call me.  Bounced through about 10 people in their system.  To find later that they thought my order was fraud without even picking up a phone to call or having something that asked me to call.

Finally a rep talked to me and asked me everything that made me feel uncomfortable.  Personal information and such.  That guy could have taken all this information and lived as me. 

Needless to say, this will be the last time I purchase from this company.  They simply need to have some midwest call centers that solve problems at one person in 10 minutes then bouncing me around for 2-3 hours and making me curse Dell.

UPDATE: title change.

Ajax Control Toolkit problem

I need to research this a bit more, but I will give a quick fix that I did.

So, I started an AJAX Web Application in Visual Studio 2008 and then added the latest Ajax Control Toolkit for 3.5.  I made a simple page and wanted to use the Auto Complete Control.  So, I added a simple text box and then added the Auto Complete Extender.  There was then a item to add the event of this control to your code behind.

I got this error:

Cannot create page method “GetCompletionList” because no CodeBehind or CodeFile was found.

I spent quite a few hours looking throuh solutions and couldn’t find anything that was of much help.

I decided to start over.  I created the application a little differently this time.  Instead of a new project, I started a New Web Site.  Repeated the same steps and it works fine.

The problem has to do with VSWebProjectItem.  The standard AJAX Web Application with project file does not consider itself a “Web Project” and causes the AJAX toolkit to error.

Dell m1530 Blue Screen of Death

So, I bought one of those nice Dell m1530 laptops this month.  I almost installed everything on it when I started getting a blue screen of death on shutdown.

I finally narrowed it down to the Intel Wireless Driver.  The one on Windows Update caused my laptop to blue screen on shutdown.  So, I clicked into the driver page and clicked roll-back driver.  Now everything works.

ThreadAbortException – Response.Redirect

If you have ever seen this exception while debugging a web application:

A first chance exception of type ‘System.Threading.ThreadAbortException’ occurred in mscorlib.dll
An exception of type ‘System.Threading.ThreadAbortException’ occurred in mscorlib.dll but was not handled in user code

To cut down on exceptions in your ASP.NET applications with Response.Redirect, you need to use the overloaded redirect method.  Under the hood, the CLR will throw an exception to ensure the page execution is halted.

private void SomeEvent(object sender, System.EventArgs e)
//This will throw an exception so that the CLR ensures the end of execution.

    //This performs better when this overload function’s second arg is set to false
//because an exception will not be thrown.
Response.Redirect(““, false);

 The only issue is that the page continues to execute.  This may not be desired.

FiOS vs Cable (Cox Communications) part 2 – Install Day

Today is the day.  FiOS is now installed.  Here are a few tips that I gathered from reading about everyone else experiences.  Ask the guy to do ethernet from the ONT box.  They can and will do it only if you ask.  Otherwise you will get Coax cable to your supplied Actiontec MI424 Router.  Now, I can not confirm or deny this, but I think there is a lag if you use the Coax method of an additional 5 ms or so.  If anyone can confirm this, please let me know.

Here is my tracert (trace route) for FiOS to this site (residing on a gigabit fiber network on Level3′s backbone).

Tracing route to []
over a maximum of 30 hops:

1    <1 ms    <1 ms    <1 ms  myrouter []
2     3 ms     2 ms     2 ms []
3     2 ms     2 ms     2 ms []
4     9 ms     9 ms     8 ms []
5     9 ms     9 ms     9 ms []
6     9 ms     9 ms     9 ms []
7     *        9 ms     9 ms
8    10 ms    10 ms    10 ms []
9    10 ms    11 ms    11 ms []
10    10 ms    10 ms    10 ms

Well, a 2 ms drop is very acceptable compared to Cox’s 6-8 ms drop.

Here is the new speed test:

As you can see I get pretty close to the 30/15 number I signed up for.  The upstream test doesn’t seem to be that fair anyways since it happens so quick.  But, Verizon Fios is not fudging any numbers here.

Since I have a very specialized WRT-54gs router, I installed that after the tech guy left.  I love to use DD-WRT on my Linksys router, so I wanted that back.  It performs just as well as the ActionTec router as far as I can tell.

If you want to use your own router here are some tips:

  1. You must have Ethernet to the ONT (The box outside that the fiber goes into).  You can ask for it later, but it is not as easy to install.  You will have to call Verizon to switch it if you wait.
  2. Make sure you use MAC Clone on your router and set it to the MAC address listed on the ActionTech router.
  3. Turn off STP if you have an option to.  I couldn’t get the router to pick up DHCP until this was off.
  4. If you have FiOS TV, check out Verizon_FIOS_setup_with_dd-wrt_as_primary_router


UPDATE (1/12/2008) : I switched back to the ActionTec Router.  It is far faster than my Linksys WRT-54GS.  The Linksys would have trouble at 30mbps.

FiOS vs Cable (Cox Communications) part 1

Check out Part 2 for the final results.

Tomorrow I will have FIOS installed.  30 down / 15 up.  One thing that is always bothered me about Cable is that I seem to drop 6-10 ms just from my cable modem to Cox’s.

Here is my current tracert (traceroute) to this site.  This site is connected on Level3′s backbone via fiber and a gigabit connection.

Tracing route to [] over a maximum of 30 hops:

1    <1 ms    <1 ms    <1 ms
2     8 ms     7 ms     7 ms
3     7 ms     8 ms     8 ms
4     7 ms     6 ms     9 ms
5     8 ms     7 ms     7 ms
6     8 ms     7 ms     7 ms
7     7 ms     7 ms    11 ms []
8     7 ms     7 ms     7 ms []
9    15 ms    15 ms    15 ms []
10    14 ms    13 ms    13 ms []
11     *       15 ms    14 ms []
12    15 ms    17 ms    17 ms []
13    16 ms    15 ms    15 ms []
14    15 ms    15 ms    13 ms

As you can see, 6-8 of the ms drop is from my cable modem to cox.  I am hoping that fiber to my home should allow for a smaller drop.  My Cox Connection is a business class connection and offers me 15 down / 2 up.

I will continue this with Part 2 by the end of the week with details and tips for a FIOS install.

Reverse Osmosis Filtration for the Refrigerator

Chesapeake, Virginia doesn’t have the best water.  I had bought a brand new Samsung refrigerator and couldn’t even use the water dispenser because I didn’t want to drink the nasty water (even though the refrigerator had a filter).

So, in July (with my father’s help) we decided to get a Reverse Osmosis system and try to hook it to the refrigerator.  It was actually quite simple.  The refrigerator actually sits adjoining the garage wall.  I installed the reverse osmosis system in the garage behind the refrigerator.

I went to Lowe’s and purchased a Whirlpool High Capacity Reverse Osmosis System Water Filter.  The whole project cost me under $250 and now I have ultra pure water!  The filters need changing about every 6 months or so.  This has been a lot better than paying for bottled water.

If you wish to do this install, you will notice that the system comes with a sink faucet.  It gets a bit confusing since there is 3 hoses that go to that faucet.  The hose that goes to your refrigerator is blue.  There is a drain hose that comes out of the Reverse Osmosis Assembly that should just go to any drain.  Since I put this unit near our water softener (also installed easily by myself), I used it’s drain line also.  I have the drain line go into a one of those condensation pumps used on air conditoners.

Here is a diagram that very closely shows what I did:


Update: The drain line from the RO was changed so it didn’t have pressure.  I have it emptying into a tub that has a automatic sump pump.  That pumps the bad water away when it fills.  Works great.

My 6502 CPU Breadboard Project

When I was 13 (around 1989) I had an idea that involved making a Commodore 64 like machine to a server that people could play games on.  I was addicted to a service called Quantum Link (The parent service to AOL) and I wanted friends of mine to experience the same thing on a cheap simple Atari like machine.  This would allow people to play games together through a modem to a server farm that controlled the games.  As all 13-year old children do, I lost interest in the project and went on to what most teenagers do.

Here is a picture of the prototype I built back then.  Some of the parts were messed with, such as a missing sound and video chip.  They were removed for me to show others how to make simple computers.  But, this computer was the equivalant of a Commodore.  It used a 6502 (Commodore had a 6510 that included a few IO ports).  It also had 2 6522 VIA Interfaces that allowed it to talk to things like joysticks and keyboards.  It had 32K of Static Ram and 16K of ROM.  The other 16K was used for the interface chips such as sound, video, etc.

The project taught me quite a bit about how computers work and what not to bring up on a date.

Here are some of the pictures I took before tearing down the board today.  The breadboard is still good and it’s about time I used it for a new project.


As a side note, special thanks to my father for buying all the parts and computer junk to help me learn these things.  He spent a lot of time and money helping me with these projects.

How does Notify! work?

I am constantly getting questions on how our Notify! project works.  What are the capabilities of the system and more? 

The Asterisk Days:

In the early days, we actually used asterisk to do our calling.  Asterisk is a great project and taught us some interesting lessons on how the system should work.  Asterisk was missing a few needed functions for us to make an outstanding product for our customers.  We ended up developing fuzzy logic based answering machine detection directly into asterisk.  Our system became quite unique and updating asterisk to fix other problems would sometimes break our test systems (We put everything in test before it goes to production).  After months of testing we found that asterisk was limiting us and also more geared towards a PBX then a Notification Platform.  We had signed some large clients and the asterisk boxes were only handling about 80 calls per box (This is due to excessive sound file playing from the hard drive).

Our Windows Test:

After some time, we realized that we should try to write a complete system from scratch in windows.  So, we started writing everything into a windows service.  This service would query our central databases asking for a call to dial.  If there was nothing to dial, that particular service sat dormant only asking at a particular interval.  We ported over our fuzzy logic answering machine detection system and quite a bit of other “Secret” stuff that makes our system work fantastic.  After some preliminary testing, we found that our first version was doing 300 calls per box vs. the 80 calls we got out of asterisk.  After further tweaking, we got the system to do a bit more calls than that.

Current Capacity:

Our current capacity is over 4000 simultaneous calls spread over 3 geographically dispersed data centers.  We have multiple databases that stay in sync.  Our sound files are also stored in these databases.

Depending on demand, we have enough bandwidth to get the simultaneous calls over 8000+.  That is enough to overwhelm phone systems down in most cities (Which is not something we try to do).

Enterprise Carriers:

Another thing that took us quite some time was to find carriers capable of carrying the amount of traffic our system puts out.  This is not an easy task and you cannot expect those cheap carriers to handle any amount of burst traffic.


While most of these questions have been asked of me by people wishing to make their own systems, you will find that CDYNE makes your life a lot easier by just using our Notify service.  Once you went through all the hassle to build that system, you will find that our prices are extremely reasonable.  We can cut costs for this amount of notifies based off the fact that we are combining more than one client.

A little bit about me…

Hello, my name is Christopher Chenoweth.  I am currently the CIO/VP of CDYNE Corporation.  Makers of Notify!, Postal Adddress Verifier, and many more web services.

I grew up with technology learning to program on a Commodore 64.  From a young age I have done a lot of things with electronics.  From putting my own computer together (I mean with a breadboard and microchips), to automating things in my house.  I can call my house and find out if I left the garage door up and have it close it.  These are all things I hope to document in my blog since I found them useful in my life and hope that others can learn from my mistakes!

What is ThreadAbort:
First, I will define a thread.  A thread is short for a Thread of Execution.  Which is a way for a program to split out tasks and allow it to run multiple things at once.  A ThreadAbort is way to terminate the execution of a thread.

Excuse me… what?
Let’s say your watching a football game and the wife asks you to take a break.  This would be a Thread Abort.

Why is this blog named ThreadAbort?
I want you to “abort” what you are up to and take some time to read my blog!  So, do an abort on whatever task you are doing and read the rest of this blog.

I grew up in the rural part of Leavenworth, Kansas.

View Larger Map

And pretty much went to the same school all my life in a neighboring city called Tonganoxie, Kansas.