How To Strip Off the Time From DateTime (or Just Get The Date Portion)#

Every now and then I go to my blog to lookup something I wrote before only to find that I never posted it.

I would have bet someone $20 that I had posted something on how to strip off the time from a DateTime in SQL.  Why would you do this?

Well, lets say that have some autogenerated DateTime field (CreatedOn?) that you later want to join with another field, but the other field only knows the DATE when something happened, not the exact Date and Time.

So, you can use the following code to just get the DATE and zero out the time component:

SELECT CAST( CONVERT( CHAR(8), GetDate(), 112) AS DATETIME)

Categories:  |  | 
Tuesday, November 27, 2007 2:59:44 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Black Friday Success and Insanity!#

Being a computer guy, I used to go the Black Friday sales most years.  There was always something worth getting.  A cheap computer, a laptop, a DVD player, packs of CD-Rs, hard drives, DVDs etc.

But when you get out of college and are earning real money, the idea of saving a few hundred bucks isn't as big of a deal as it used to be.  So for a few years, I skipped the early morning sales in favor of sleeping in.

Before, we would usually get in line around 4am, with the stores opening at 6am.  If we showed up 2 hours before opening, we would usually be around 30-50th in line, which was usually plenty to get whatever we were after.

So this year when I saw that Circuit City was selling the Sharp Aquos 46" 1080p HD LCD flat panel TV for $1299 ($1200 off what they were asking before) I figued it would be worth trying to pickup one, as both my wife and I had agreed that we needed a new TV in our living room.

My first clue that things had changed was when I was driving home from Thanksgiving dinner at my aunts when I saw about 50-75 people already standing in line at the Best Buy by her house.  It was not even 9pm yet!!

INSANE!!  These people had tents out and fires going.  It was really really cold out, and these people were insane.

I drove past the Circuit City by my house, which only had 25 or so people in front of it, but still.... it was only 9:30!

I went home and did some research.  Circuit City was going to be passing out tickets for their most in demand items, which I figured would include the TV. 

 From most the posts online, it seemed that 3am might be when they come out with the tickets.  So, after some deep consideration, (and amazingly some encouragement from my wife) we decided to go (my wife does this stuff with me, she is really a keeper) at 2:45 am, stick around for (hopefully 15 minutes) to see if we would get one of the tickets for the TV.  If not, we would just go home and go back to bed.

So, at 2:25, after 2 hours of sleep, the alarm went off and we got up.  I put on a undershirt, 2 tshirts, a long sleeve shirt, a sweat shirt, a windbreaker, and a coat.  On my legs I had 2 pairs of sweat paints, some warmup pants and jeans.  But I only had 2 pairs of socks, so before it would be all over, my toes would be frozen, but the rest of me was nice and warm.

So we showed up at Circuit City at 2:50am to find a line of people 200 or so long.  It stretched across the entire Circuit City, across the parking lot, across the entire ALDIstore next to it before making a right turn and heading out 200 ft into the parking lot.

The store on the right is not Circuit City, it is ALDI.  Circuit City is 100 yards away behind the ALDI.

You can see in the picture above the entrance to ALDI in the background.  Circuit City is on the other side of the parking lot, out of view.  It's about 100 yards away.  Below you can see how far the line continued in the other direction.

In the other direction the line stretched the length of the parking lot. 

We talked with a few people, and it seemed that everyone was here for the TVs.  Great.... (not).  Kathleen convinced me to stick around for a little bit longer, but as time ticked on, it became clear that our plan of finding out our fate at 3am was not going to work out.

3:15, 3:30, 4:00... still nothing.

Then at 4:15 they started passing out the tickets.  Only a few items made it back to our place in line, and they were nothing I wanted.  We asked about the TVs, expecting to hear that they were all accounted for, but the guy said that they were NOT ticket items, and that we would have to go to the TV section and either find (if they were on the floor) or order one.

It was still not looking good, but Kathleen again convinced me to stay.  She had some things she wanted too, stuff like USB flash drives for her students and some The Office DVDs for her brother. 

So we waited till 5:00 with me taking a 5 minute break to warm up my toes in the car. 

When we finally got into the store, Kathleen managed to get in line before me in the TV section, so I went searching for her items.

I found 5 flash drives (the limit) and the DVDs she wanted, paid for them, and met her back in line that had formed in the TV section of the store.

It was now 5:30 or so, and she was getting pretty close to the front.  There were 2 people in front of her when we heard the guy tell the person that they got the last 46" Aquos TV.

I was pretty bummbed to hear this, not because I didn't expect it, but because we had come so close.

The guy behind Kathleen was beside himself, as he had been in line since 9pm the night before.  When he got into the store, they sent him to the wrong line to buy the TV, and he had to get back into line behind a lot of other people... that must have really sucked.

So I told her to ask about the 42", assuming that the 46" was gone.

However, the lady in front of us found out that they could "special order" the TVs from the warehouse inventory, so long as we paid the $70 for them to deliver it to our house. 

This was the best news I had heard all day!

We placed the order, but I was not going to celebrate until the TV was in the house.  I could see them pulling some kind of crap and trying to get out of honoring the sale if they ran out of inventory in the warehouse or something.

But, this morning they came rolling up with our new TV!

It looks great!

So the lessons I learned are:

1) Wear 3 pairs of socks

2) Black friday has gotten WAY worse the last 2 years

3) I am lucky to be married to someone who likes to go do these crazy things with me

 

Categories:  | 
Saturday, November 24, 2007 6:04:46 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Verizon EVDO Will Not Connect To Broadband Access#

On my new laptop, I had lenovo build it with a Sierra Wireless 1xEV-DO Network Adapter card built in to the laptop.

This means I should be able to access EVDO RevA "BroadbandAccess" basically across all of Chicagoland.  However, lately the VZ Manager software from Verizon has been only connecting me to the dialup-like "NationalAccess" and not the DSL like BroadbandAccess.  The signal shows that it is plenty strong, and I am using in the exact same places where I have used my old EVDO card, and even in places where my laptop worked at first.

This is so frustrating I can't explain it. 

I contacted Verizon, and of course they were no help.

So now I might end up in the situation of having to buy (and keep plugged in all the time) a pcmcia card for the verizon network, even though I already paid to have this functionality built into my laptop. 

This really stinks :(.

Categories:  | 
Friday, November 23, 2007 4:08:30 PM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

VS.Net Macro Editor Errors#

When I try to edit some of my Macros I get this nice little message:

Microsoft Visual Studio Macros: An Add-In has caused an access violation while sinking on 'ProjectAdded'.

Google turns up nothing on this guy.

Does anyone out there have any idea how to fix this?

Categories:  |  | 
Monday, November 19, 2007 3:21:26 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

ASP.NET Application Not Reading The Web.Config File#

I recently ran into an interesting problem... my webservice application seemed unable to read info from the web.config file.

I tried adding some invalid < marks to the config file and the app still ran w/o any error (but still wouldn't read the web.config appSettings or connectionString sections).

So I created another IIS application and it worked as expected.

So I deleted the troubled IIS App and recreated it.  Still broken!

The solution was to clear out the ASP.NET Temporarly Files folder in c:\windows\...\...

Once that was gone, and I restarted IIS, everything went back to normal.

 

Categories:  |  | 
Friday, November 16, 2007 10:20:04 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Hey Windows Update, thanks for losing all my work.#

Last nigiht before I went to bed, I was working on a bunch of stuff.

Lots of files, tons of programs, all open to serve the task at hand.

So, at 3am, I was kinda up for some reason, but luck for me, that meant that I got to hear the sound of my laptop rebooting.

I almost got up to go check on it and make sure I wasn't dreaming, but sure enough in the morning I came down to find a login prompt.

Windows Updates on my new laptop. was set to automatically download and install updates at 3am.  Which is a good thing, unless the updates require a restart, which it will do wheather you want it or not.

So I had to turn off automatic updates for this reason, but this brings me to a bigger question.  Couldn't microsoft see this possability and give you and option to download/install but NOT reboot?

They already have a "feature" that is annoying as hell, that bugs you ever 15 minutes when you have installed a windows udpate that requires a reboot, but haven't rebooted yet.  They could just use that to make sure you DO reboot at some time.

Frustrating.

Update: Windows update rebooted my friend Mike's work desktop, even though he had it set to only download and not install updates.  So all those SQL Jobs that were running at the time.... yea they all got screwed up. 

 

Categories:  | 
Thursday, November 15, 2007 7:57:27 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Solution for "Thread was being aborted" exception when you call Response.End (or .Redirect)#

You've probably seen this one.

Whenever you do one of the following:

Response.End()
Response.Redirect("page.aspx")
Server.Transfer("page.aspx")

You end up with a ThreadAbortException, "Thread was being aborted".

I had previously dealt with this by swallowing the ThreadAbortException, which of course isn't a great method, but it worked.

Well today I came across a better way for all of these.

Replace This With This
Response.End HttpContext.Current.ApplicationInstance.CompleteRequest
Response.Redirect("page.aspx") Response.Redirect("page.aspx",false)
Server.Transfer("page.aspx") Server.Execute("page.aspx")
Categories:  |  | 
Tuesday, November 13, 2007 1:06:39 PM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

Awk Tutorial and Regular Expressions#
Awk is a tool for processing text files, or data that is treated as text.

For some stuff I have been working on, I tend to use Awk a lot to filter down text being returned from another program (like a ls command).

Here is a nice tutorial on Awk.

Also, when using regular expressions (regexp, or regex) with Awk, here are a few helpful reminders and links.

. matches any character
* zero or more repetitions of the previous character or expression
? zero or one occurrence of the previous expression
+ one or more occurrences of the previous expression


Regexp cheat sheet.

Test regular expressions.

Regexp website (tutorials and more)

Another Regexp tutorial

Categories:  | 
Sunday, November 11, 2007 10:37:56 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Yahoo Music Influencers#

I was having problems getting streaming media to play on my old messed up laptop.

So now that I am finally on my new machine, I can again listen to launchcast (music.yahoo.com).

Launchcast was doing what Pandora Radio is doing, way before Pandora became popular.

Launchcast learns from your ratings and plays music it thinks you would like.  In addition, you can setup other users as "Influencers," which I have done with my brother who also users Launchcast.

So for example, when my brother ranks a song up, eventurally it will play on my station.

See this image for example:

Pretty sweet.

I love this service.  I have found so much music this way. 

 

Categories:  | 
Saturday, November 10, 2007 2:01:47 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

My Dark Theme for Visual Studio.Net#

I have been wanting to try a dark theme for vs.net, but I couldn't quit find one I liked.

So I took bits from here and from Scott Hanselman and created my own.

Take a look at some screen shots, and you can download the settings file at the bottom.

 

 

 

Here is my settings file:
Dark-Theme.vssettings (32.85 KB)

If you like this, please leave a comment!  Thanks.

 

Categories:  |  | 
Friday, November 09, 2007 11:42:25 AM (Central Standard Time, UTC-06:00) #    Comments [1]  | 

 

Site Statistics#
Here are some site statistics for the last 12 months. Over a quater million visitors and almost 750,000 page views. Not bad.

Hits
Total Hits 1,607,524
Average Hits per Day 4,380
Average Hits per Visitor 5.87
Cached Requests 132,924
Failed Requests 157,190
Page Views
Total Page Views 737,197
Average Page Views per Day 2,008
Average Page Views per Visitor 2.69
Visitors
Total Visitors 273,988
Average Visitors per Day 746
Total Unique IPs 49,647
Categories:  | 
Monday, November 05, 2007 1:23:10 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Google Drops My PageRank#

It looks like my previous pagerank of 4 has been dropped to 3.

Google PRâ„¢ - Post your Page Rank with MyGooglePageRank.com

This kinda stinks. I would rather be going up than down, but it isn't that big of a deal.

Ironically, one of my other websites that was getting a lot less traffic than this one just jumped from a 3 up to a 4.  Go figure.

Google frequently tinkers with their settings, so I'm sure these numbers will not be static.

Categories:  | 
Monday, November 05, 2007 11:41:33 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

ScottGu Demos Upcoming MVC Framework for ASP.NET#

In a recent gathering of the ALT.NET group, ScottGu gave a demo of the upcoming MVC framework for asp.net.

The article (and video) can be found here.

Lots of people in the ALT community have been working with asp.net and MVC by using one of the OS frameworks out there like Monorail, but I am glad to see that MS is not sitting around waiting on this issue.

Hopefully this will make testing even easier. 

Categories:  |  | 
Tuesday, October 30, 2007 9:44:25 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Date Format Strings#

This article from MSDN shows just about every type of format string you can use on a date:

http://msdn2.microsoft.com/en-us/library/az4se3k1.aspx

 

Categories:  | 
Monday, October 29, 2007 1:53:41 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

SQL "NOT IN" Will Fail If The List Contains A Null#

If you are using the NOT IN clause with a SQL Select statement with SQL Server it will not work if there is a null value in the list.  Say for example you want to do:

SELECT * FROM 
Employees 
Where 
Employee.Id NOT IN 
(  
   Select EmployeeId from 
   Salaries 
   where Salary < 100000
)

If the inner select returns a null value then the outer select statement will return no rows.

To try it, just run these 2 SQL statments against any table in your DB.

-- will return rows
SELECT * FROM 
sometable
WHERE ID NOT IN (1,2,3)

-- will return nothing
SELECT * FROM 
sometable
WHERE ID NOT IN (1,2,3, null)
 
Categories:  |  | 
Monday, October 29, 2007 12:02:18 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

My Klipsch IPod speakers BRICKED MY IPHONE!#
Klipsch iGroove speakers bricked my iphone Ok so the other night I was working late, and thought to myself... hey, I have some new music on my iphone, why don't I make use of my Klipsch iGroove speakers (as I had heard that most ipod accessories work with the iphone).

So I walked over to the speakers and dropped in my iphone. It fit perfect, as expected. I hit the power button... nothing. Ok, maybe I need to turn on the iphone. Nothing. Ok, maybe I need to hit the menu button... nothing.

I take the iphone out and try to power it up... nothing. I hold down each button for 10 seconds, and then try holding down both for 30 seconds. Nothing.

The iphone starts to get really really hot (almost too hot to hold) and I realize I am screwed.

So that is the bad part. The good part is that I was able to make an appt with the local Apple store within an hour, and they replaced my iphone with a new one.

So as stupid as it is that you could plug in an iphone into some ipod speakers and it would destroy the unit, it was nice that I was able to get a new phone as quickly as I did.

I will not be using any more ipod accessories with my iphone.
Categories:
Thursday, October 25, 2007 9:39:16 AM (Central Standard Time, UTC-06:00) #    Comments [2]  | 

 

Good Lord... iTunes is a Terrible Piece Of Software#

I am about 90% happy with my iPhone, but in order to sync it I have to use iTunes, so I have moved my podcasts and a small subset of my 450GB of mp3s into iTunes to sync it with the iPhone, and I just have to say.... what an awful piece of software.

I mean, it DOES a few things that are nice, like trying to find album art for you, but the usability of this piece of junk is about as bad as any piece of software I have ever used.

I won't go into it, but it really ticks me off when I am trying to do something sooooo simple and it takes me 15 minutes of screwing around and a few trips to google in order to find a way to do it.

So, in conclusion, iTunes sucks.  Oh, and I hate pretty much all the software on my wife's new Mac. 

That is all. 

Categories:  | 
Wednesday, October 17, 2007 8:51:39 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Good Lord... iTunes is a Terrible Piece Of Software#

I am about 90% happy with my iPhone, but in order to sync it I have to use iTunes, so I have moved my podcasts and a small subset of my 450GB of mp3s into iTunes to sync it with the iPhone, and I just have to say.... what an awful piece of software.

I mean, it DOES a few things that are nice, like trying to find album art for you, but the usability of this piece of junk is about as bad as any piece of software I have ever used.

I won't go into it, but it really ticks me off when I am trying to do something sooooo simple and it takes me 15 minutes of screwing around and a few trips to google in order to find a way to do it.

So, in conclusion, iTunes sucks.  Oh, and I hate pretty much all the software on my wife's new Mac. 

That is all. 

Categories:
Wednesday, October 17, 2007 8:51:29 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Dos script to rename all file extensions in a directory and subdirs#

Here is a little dos script I wrote to rename all files in the current and subdirectories to have a different extension.

for /f "tokens=1 delims=" %a in ('dir /s /b /ad') do if exist "%a\*.old" ren "%a\*.old" *.new

If you run this from a bat file you will need to replace % with %%.

Categories:
Tuesday, October 16, 2007 4:06:33 PM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

Scott Hanselmans Ultimate Tools List#

Too many to list.

Some of my favs are on this list, like Launchy and SnippetCompiler.

Categories:  | 
Tuesday, October 16, 2007 9:35:45 AM (Central Standard Time, UTC-06:00) #    Comments [0]  | 

 

All content © 2009, Christopher May, Inc
Open Job Positions
On this page
Google Ads
This site
Calendar
<November 2007>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
Archives