Chris Benard

Chris Benard is a software developer in the Dallas area specializing in payments processing, medical claims processing, and Windows/Web services.

  • Enabling SQL Cache Dependency With Schema Solution

    My solution has now been included in a published book about ASP.NET for SQL Server

    This post is about programming and ASP.NET / Microsoft SQL Server 2005, so any of my friends who aren’t programmers won’t find this interesting. With that said…

    If you’re reading this post, it’s more than likely that you’ve encountered the “Cannot create trigger ‘dbo.” error when trying to enable a SQL cache dependency on a table. I will explain how to fix this. If you’re lazy, skip to the bottom. If you want to know the source of the problem, continue reading.

    This is the full error text:

    C:\Program Files\Microsoft Visual Studio 8\VC>aspnet_regsql -et -E -d DatabaseName -t SchemaName.TableName -S SERVER_NAME
    
    Enabling the table for SQL cache dependency.
    
    .An error has happened.  Details of the exception:
    Cannot create trigger 'dbo.SchemaName.TableName_AspNet_SqlCacheNotification_Trigger' as its schema is different from the schema of the target table or view.
    
    Failed during cache dependency registration.
    
    Please make sure the database name and the table name are valid. Table names must conform to the format of regular identifiers in SQL.
    
    The failing SQL command is:
    dbo.AspNet_SqlCacheRegisterTableStoredProcedure

    The failing stored procedure is provided right there, and I didn’t even see that the first time, so I found what it was running in the SQL Profiler. That was stupid of me, but I still found it. The offending code in that stored procedure if you go and view it (you must enable the database for caching using “-ed” before you can see the stored procedure) is the following:

    ALTER PROCEDURE [dbo].[AspNet_SqlCacheRegisterTableStoredProcedure] 
                 @tableName NVARCHAR(450) 
             AS
             BEGIN
             DECLARE @triggerName AS NVARCHAR(3000) 
             DECLARE @fullTriggerName AS NVARCHAR(3000)
             DECLARE @canonTableName NVARCHAR(3000) 
             DECLARE @quotedTableName NVARCHAR(3000) 
             /* Create the trigger name */ 
             SET @triggerName = REPLACE(@tableName, '[', '__o__') 
             SET @triggerName = REPLACE(@triggerName, ']', '__c__') 
             SET @triggerName = @triggerName + '_AspNet_SqlCacheNotification_Trigger' 
             SET @fullTriggerName = 'dbo.[' + @triggerName + ']' 
             /* Create the cannonicalized table name for trigger creation */ 
             /* Do not touch it if the name contains other delimiters */ 
             IF (CHARINDEX('.', @tableName) <> 0 OR 
                 CHARINDEX('[', @tableName) <> 0 OR 
                 CHARINDEX(']', @tableName) <> 0) 
                 SET @canonTableName = @tableName 
             ELSE 
                 SET @canonTableName = '[' + @tableName + ']' 
             /* First make sure the table exists */ 
             IF (SELECT OBJECT_ID(@tableName, 'U')) IS NULL 
             BEGIN 
                 RAISERROR ('00000001', 16, 1) 
                 RETURN 
             END 
             BEGIN TRAN
             /* Insert the value into the notification table */ 
             IF NOT EXISTS (SELECT tableName FROM dbo.AspNet_SqlCacheTablesForChangeNotification WITH (NOLOCK) WHERE tableName = @tableName) 
                 IF NOT EXISTS (SELECT tableName FROM dbo.AspNet_SqlCacheTablesForChangeNotification WITH (TABLOCKX) WHERE tableName = @tableName) 
                     INSERT  dbo.AspNet_SqlCacheTablesForChangeNotification 
                     VALUES (@tableName, GETDATE(), 0)
             /* Create the trigger */ 
             SET @quotedTableName = QUOTENAME(@tableName, '''') 
             IF NOT EXISTS (SELECT name FROM sysobjects WITH (NOLOCK) WHERE name = @triggerName AND type = 'TR') 
                 IF NOT EXISTS (SELECT name FROM sysobjects WITH (TABLOCKX) WHERE name = @triggerName AND type = 'TR') 
                     EXEC('CREATE TRIGGER ' + @fullTriggerName + ' ON ' + @canonTableName +'
                           FOR INSERT, UPDATE, DELETE AS BEGIN
                           SET NOCOUNT ON
                           EXEC dbo.AspNet_SqlCacheUpdateChangeIdStoredProcedure N' + @quotedTableName + '
                           END
                           ')
             COMMIT TRAN
             END
    

    The offending code is:

    SET @fullTriggerName = 'dbo.[' + @triggerName + ']' 
    

    What’s happening is that the stored procedures that are created by the aspnet_regsql tool do not handle schemas, which are new to 2005. It automatically assumes you’re using the default schema “dbo”. I’ve modified Microsoft’s stored procedure to be able to handle schemas gracefully.

    All you need to do is change the DECLARE block and the “Create the trigger name” blocks to:

    DECLARE @triggerName AS NVARCHAR(3000) 
    DECLARE @fullTriggerName AS NVARCHAR(3000)
    DECLARE @canonTableName NVARCHAR(3000) 
    DECLARE @quotedTableName NVARCHAR(3000) 
    DECLARE @schemaName NVARCHAR(3000)
    /* Detect the schema name */
    IF CHARINDEX('.', @tableName) <> 0 AND CHARINDEX('[', @tableName) = 0 OR CHARINDEX('[', @tableName) > 1
        SET @schemaName = SUBSTRING(@tableName, 1, CHARINDEX('.', @tableName) - 1)
    ELSE
        SET @schemaName = 'dbo'
    /* Create the trigger name */
    IF @schemaName <> 'dbo'
        SET @triggerName = SUBSTRING(@tableName,
            CHARINDEX('.', @tableName) + 1, LEN(@tableName) - CHARINDEX('.', @tableName))
    ELSE
        SET @triggerName = @tableName
    SET @triggerName = REPLACE(@triggerName, '[', '__o__') 
    SET @triggerName = REPLACE(@triggerName, ']', '__c__') 
    SET @triggerName = @triggerName + '_AspNet_SqlCacheNotification_Trigger' 
    SET @fullTriggerName = @schemaName + '.[' + @triggerName + ']'
    

    If you’re lazy or you just want to go ahead and fix it, here are links to the full original Microsoft version and my modified version that works. Just run the code in my modified version after you enable the database and then you should be able to enable any table, including those that have a schema.

    If anyone finds problems with these, please let me know. I tried to test them, but it’s possible there might be scenarios for which I’ve not accommodated.


  • 1 Year Blogging Anniversary

    It came to my attention one year ago today, I started blogging. I find that humorous, considering the anniversary of my post about how I hate Overstock.com has its anniversary three days from now. The reason that’s humorous is that I just got done ordering some Christmas gifts from there.

    I suppose I can’t just write to say that I started blogging a year ago. It has been an interesting time, and while at times my updates were slow and far apart, I’ve kept at it. I didn’t know if I could enter that whole blogging thing, but I’ve certainly done better than others.

    A year ago I worked at a different place that had a different website. The current one is one of my design and programming. I now work for a place where I don’t dread going to work every day. I never have to talk on a phone, and I get to program all day in a much more mature programming language. I’ve gotten to work with a coworker and design a new web site for my current employer.

    My semester is finally over, which means a year of school has gone by as well. My GPA is back up to a 3.5 (I think), but I won’t graduate for another year. Hopefully, when I write a recap in a year, I’ll be talking about my graduation in a day or two. I have my grades for 3 of the 4 classes I was taking, and the ones I have are all As, and I’m hopeful the last one is as well.

    Life is pretty good right now, and I’m in a much better position than I was a year ago. I will endeavor to continue blogging when school and life allow me.


  • Certifications, Helping, and Racism

    Yesterday, I took the Microsoft 70-526 certification exam and passed it with a 940. That certification is for Microsoft .NET Framework 2.0 – Windows-Based Client Development. After I take the 70-536 (Microsoft .NET Framework 2.0—Application Development Foundation) on 1/31/2007, I’ll be MCTS: .NET Framework 2.0 Windows Applications. I’m already MCTS: SQL Server 2005. Doing these certification exams is fun, but taking all the classes for them every week is really time consuming. If you add that onto my 40 hour work week and 12-16 hours of school plus homework, I have almost zero personal time. I’m taking 16 hours next semester in addition to this DotNet University and work, so don’t expect many blog updates.

    Today, after I finished part 1 of my CSC 460, I was leaving class around 5 PM and there was a truck blocking my exit of the TC building. I honked at the pickup and got no response and as I was about to backup to go another way all the way back around one way lanes, the person stuck his head out of his car and said he couldn’t move. I jumped the curb with my expedition to get beside him and asked if he needed me to call somebody. He said he had a phone but he was out of gas. I offered to take him to Circle K and he accepted. I drove him there to get some gas, but they had no gas canisters, so I drove him down to Chevron at Youree and Sophia. He grabbed some gas there and I put the container in a plastic bag in my car so it wouldn’t get as much gas in my car (it still smells a little like gas).

    When we got back to his car, the LSUS cops were around it and wondering what to do with the car that was blocking the way. Eric (the guy’s name) and I explained the situation and after he was finally able to get the car to start after refueling it, Eric and I shook hands and the cops, Eric, and I all left.

    I went to my parents’ house to meet up with them to go get something to eat, as I often do during the week on nights that I don’t have school. On the way back home, we were discussing how stinky southeast Shreveport is thanks to the poop lifting station in the back yard of one of the homes at Smitherman and Youree. Some people we know used to live there and after they finally moved out, that house sells all the time. People probably view the house on a “good” day and then find out the horrible poop truth. That’s mildly humorous.

    What’s not humorous is that my dad said that they should “get some Spaniards to live there since they wouldn’t mind”. I became irate and started yelling at him that he is a racist, because he obviously is one. He claimed it was a joke to “get my goat”. The reason he knew that would “get my goat” is because I have called him on his racism several times before, usually about black people. He wants to pretend he’s not a racist, but I’m fed up with it. I’m not talking to him for a long time. He paid for my dinner but I put cash in his shirt pocket for more than what the meal cost and he asked why. I told him I didn’t want to feel like I owed him anything and the money was for the meal and gas money. I am so pissed off at him right now, and I’m ashamed that he’s my father.

    The worst part is that my mom won’t call him on it because she has to live with him. He’s not violent or anything, but she just shies away from any conflict. I asked her point blank if she believed he was kidding. I could tell she was lying and after she stuttered a little bit and then hesitated, she said he was kidding. I call bullshit on that one. She needs to stand up to him and tell him that’s not OK. She even votes for whoever he tells her he’s voting for because she said “I like who he likes.”

    And next time Craig says something racist, I’m going to call him on it. I’m sick of it from him too. Craig, for those who don’t know, is someone from the Shreveport Atheists. While discussing the white bus driver in Natchitoches that sent the black kids to the back of the bus and insulted him (we were discussing it because Randall is on the local ACLU [of which I’m a member] board), Craig had not heard about it. When we elaborated, he first started laughing out loud, literally! After that subsided, he asked “Are you sure it wasn’t because they were being loud? You know, when a lot of them get together, they can make a bunch of noise.” How bold! How crass! How unbelievable!

    It is NOT OK to be a racist in 2006. Apparently, it’s still possible to do it in Louisiana, but it’s not OK, and I’m going to start telling people besides my dad. There is no excuse to think you’re better than someone because of the color of your skin. I knew Craig was a racist from some of his blog posts, and I called him on those. I’m now blocked from his MySpace, so he’s probably posting more racist blog entries that I just can’t see now, but I’m not going to be friendly to someone who can’t even understand that pigmentation has nothing to do with how good of a person you are.

    So in closing, I’m happy about the following: I finished one half of one of my finals with an A. In another class, I don’t have to worry about the final because I have a 103% and I only have to make like a 40% on the final. I’m also happy that I was able to help someone a lot with only 45 minutes of my time. (I guess I’m glad I never mentioned to my dad that the guy was black.)

    I’m pissed off at my dad and as an extension, I’m pissed off at Craig again. Am I crazy to think that it’s not OK to be a racist, even if it’s just to “get my goat”?


  • Weekend Movie Reviews

    I watched three movies this weekend. On Friday, I watched Borat: Cultural Learnings of America for Make Benefit Glorious Nation of Kazakhstan (hereafter known as “Borat“), on Saturday, I watched Jesus Camp, and today, I watched Casino Royale. I have been doing a lot of homework for my various classes and continuing education classes, not to mention work, so I deserved this break. Partly for me, and partly for Google, I will give my short reviews of each.

    Borat

    BoratBoratAbout two months ago, my previous roommate Courtney Malone signed up for MySpace so he could catch an advanced screening of Borat. He lives in a real city now, so that’s the reason this was possible. He reviewed it on his blog at that time. He basically spent the entire time bitching about MySpace and how he hates it, but he did write these few sentences.

    Though I was initially concerned that the movie would be a 2 hour skit that should have been 5 minutes (like every episode of SNL for the past 3 years), it ended up being pretty damned funny. Think Team America: World Police funny, not West Wing funny. The neat thing about the movie is that a many of Borat’s interactions are with unwitting members of the general public.

    I totally agree with that part of that paragraph, but I disagree with the rest of his post about MySpace. Borat was very funny. I also thought it would be like an SNL skit that went too long, but it wasn’t. There is a part where he is speaking in tongues, which I found hilariously awesome considering I’m a former pentecostal of the Assemblies of God church, and I too was “baptized in the holy spirit with the evidence of speaking in tongues”. He talks about his new friend “Mister Jesus”. The whole movie is hilarious, but they didn’t have the volume up loud enough and everyone is constantly laughing so it was hard to hear some of the things.

    If you’re looking for a good laugh for an hour and a half, go see Borat. High five!

    Jesus Camp

    Jesus CampJesus CampJesus Camp is a very disturbing look at a specific pentecostal religious camp and then evangelical Christians in general. Pastor Ted haggard (of gay hooker and meth fame) is also featured in the movie saying that homosexuals are wrong. How ironic. He has also criticized the film, even though it is very even handed. The creators have posted a response to him. I can imagine my parents would also love this movie because they would see it as Christianity on the march. If you are an atheist or otherwise a free-thinker and you are apathetic towards religion, please go see this movie. The evangelicals are trying to take over this country, and so far, they’re doing a good job of it.

    I must admit, there were several parts in the movie where I winced, reminded of my own childhood. It’s amazing what they can do to kids and convince them that speaking in tongues (otherwise known to the scientific community as glossolalia) is a gift from the “holy spirit”. One girl said it’s great to be like a real warrior for God, “only funner”. One pastor at the camp asked, “How many of you kids are ready to give up your life for God?” Almost all of them enthusiastically raised their hands at once. We’re raising a nation that is 25% (percentage of evangelical Christians in the US) terrorists. I’m telling you, this movie really scared me. I can only hope they’ll wake up as I did.

    Casino Royale

    Casino RoyaleCasino RoyaleThis was the best movie I saw this weekend, although Jesus Camp was a close second. It is everything that a Bond movie is supposed to be. It has tons of action, an amazing opening chase sequence, beautiful girls, tons of twists, and an amazing cast.

    Speaking of cast, everyone is gone, with the exception of Judi Dench as M. Nobody appears as Q, Bond is now played by Daniel Craig, and there is a new Moneypenny of course, played by Eva Green.

    There is no longer just sexual tension between bond and Moneypenny. Well, there is, but then later, there’s just sex. Bond is even going to leave MI6 for her. I won’t spoil the ending, but it is worth noting that this is a prequel of the entire series. Regardless of the Moneypenny story, she is very attractive in this movie and I enjoyed that personal storyline. It was a lot more involved than most Bond girl storylines. Casino Royale was the first James Bond book, and he has just been given 00 status.

    That movie was so awesome. I’m sure I’ll watch it again soon. I didn’t think that new creepy looking Bond would be good, but I warmed to him immediately. Poor Pierce; I’ve already forgotten him.

    If you’d like to see scenes from the movie and hear the awesome theme song for this one (complete with the gun barrel shot), here’s the video from YouTube.

    The new Bond and the Bond girls
    The new Bond and the Bond girls (Moneypenny is on the left)


  • The Prestige, PlayStation 2, and Programming

    Update 1: Added Krystal Meyers picture and GH2 news.
    Update 2: Fixed “lost”/”lot” typo, thanks to John McCain.

    Before I begin on the title’s topics, I’d like to begin with another: Christian Music. Normally, I dislike it because it’s completely boring, and of course the content is verbal diarrhea. However, recently, I prepaid for two years (MasterCard buy one year, get one free special) of Yahoo! Music Unlimited. YMU is really awesome, because it lets me listen to and download unlimited amounts of music. By using FairUse4WM, you can even completely strip the DRM and take your media wherever you want.

    I don’t even hardly ever use the download functionality, though. I use YMU to keep me entertained at work while programming. I rate the music when I listen to it, and YMU will add those ratings to my preferences. I can then listen to “My Station”, which will use those ratings to make further recommendations to me.

    Krystal Meyers
    Krystal Meyers
    With that said, that’s not how I found Christian Music. They also have advertising placed on some of the entry pages in the program, and I clicked on this Krystal Meyers person’s advertisement for her new album. Now granted, I clicked on her because she’s hot, but in my defense, the advertisement didn’t say it was Christian music. However, I think she is an awesome singer. You should check out her music.

    On Friday, Chris, who I got to sign up for YMU as well, even pointed out that I was jamming to a song about abstinence, The Situation. I don’t normally pay attention to lyrics, but I found myself singing “Maybe that’s the beauty of grace!!!” to myself later after listening to the song of the same title. Her music is just that good, that it makes me momentarily forget that I’m an atheist. Chris said he’s worried that I’m turning into a Christian. After all, I did leave our Shreveport Atheists meeting 2 seconds earlier than he.

    I didn’t want any of that as part of the title of this post, and it would have ruined the P thing I had going on there, so sorry that you had to read that first.

    I went to see The Prestige with Joey and Natalie last night. That was probably the best movie that I’ve seen in a long time. It rivaled Hero, and I’m not sure which would win. It stars Hugh Jackman and Christian Bale. Christian Bale is my favorite actor ever. It was directed by the same director as Batman Begins and Memento. Those are two of my favorite movies ever. It also had Scarlett Johansson in a starring role, one of the hottest and best actresses ever. (Also, she’s released some kind of single that I heard on YMU that sounds like Frank Sinatra. I don’t like it.)

    The point is, there were a lot of “ever”s in that previous paragraph, and they all point to The Prestige being an awesome movie. Also, David Bowie plays Nikola Tesla, an unlikely but excellent performance. And who doesn’t like Michael Caine? Go see this movie.

    Also, Brandon and white Bryan were sitting really close to us and we talked to them right before and after the movie. That was cool seeing them, since I hadn’t seen them in forever. Brandon asked what drugs I had been on, since he hadn’t seen me in forever and I’ve lost a lot of weight since then.

    Before the movie, I hung out at Joey’s house for a few hours and we played ping pong for a while. That was excellent; I hadn’t played in forever, and I’m out of practice. He also mentioned that his friend/coworker was trying to get rid of his PlayStation 2. Apparently, the friend only wanted 40 bucks for a non-slim PS2 with controller and cables. I had the cash on me, so I told Joey to tell the friend, who was also going to the movie, to bring the PS2. I bought it, so now I have a PS2 sandwiched between my Xbox and Xbox 360. Guitar Hero 2, here I come, especially since I’ll be able to play the Top Gear theme song! (Get well soon, Hamster.) Update: I just pre-ordered Guitar Hero 2 Game and Guitar and got a nifty little t-shirt to show for it.

    I spent most of today catching up on the last week’s TV watching. I watched Battlestar Galactica, two CSIs, two The Offices, a ton of Colbert Report and Daily Shows, Mythbusters, CSI: New York, and a couple of episodes of The Way of the Master (more evidence for Chris).

    I think I’ve worked out my weekend schedule. On Fridays, I either do things with friends or accidentally fall asleep at 8pm. On Saturdays, I catch up on TV and lie to myself and tell myself I’ll do schoolwork. On Sundays, I actually do schoolwork. That seems to be the general way things have been going lately.

    I was actually semi-productive today as well, though. While watching the Colbert Reports and Daily Shows, I worked more on my Lab2 for CSC 460, finishing the business and data layers for the program. I’ll probably do the game manager part tomorrow.

    When going to find the links for this blog entry, Natalie’s myspace is very hard to read, and it reminded me of Soda‘s myspace. Her myspace makes my Firefox go very slowly and I can’t even click on her picture because of the marquees. I can’t make people stop ruining the Internet and clogging the tubes, but I can write a bookmarklet to remove all that crap. Stupid WordPress won’t let me put the actual link here, but you can grab the Fix MySpace Bookmarklet from that page that I created. Once it’s in your bookmarks or links and you’re on an ugly myspace page, just click it to remove all that ugly stuff. It works like a charm and makes Natalie and Soda’s pages legible.

    Sorry for the extremely long post, not that anyone reads this.


  • Accepting Applications For My New Programmer Friend

    Much like Steven Colbert and his new black friend campaign, applications for my new programmer friend are now being accepted. I’ve lost my existing one when he met someone from myspace when the person moved back to Shreveport. Now, plans are being broken without notifying me, I’m not invited to places, and/or I’m never involved in conversation because such conversations are always (and I don’t mean continually; I mean continuously) being had with the previously mentioned myspace person (whom I’ve met and is a perfectly nice person) via phone or text. I don’t know what his deal is anymore.

    Therefore, I’m accepting applications to be my new programmer friend via the comments section in this post. Please include your friend resume addressing the following requirements and desired qualifications.

    Requirements:

    • Must be proficient in .Net (Preferably C#, but I will entertain VB.Net)
    • Must be of above average intelligence
    • Must passionately care for the English language and be willing to be corrected and willing to correct me when needed
    • Must be local to the Shreveport, LA area
    • Must like Chinese movies (the kind where the hero dies in the end and is usually subtitled unless on DVD)
    • Must not have a bubbly personality
    • Must not be moving any time soon (since I don’t want to help another programmer friend move again, to cut my possible losses)

    Desired qualifications:

    • Familiar with one or more other programming technologies as well (PHP, RoR, VB6, C++, Java, etc)
    • Remembers what it was like to use DOS 6.22 (or at least know how to use most DOS commands such as nslookup, ping, tracert, and each command’s associated options)
    • Comfortable with networking technologies (TCP/IP, OSI Model, DNS, DHCP, etc)
    • Knowledgeable about Microsoft Windows Server 2003 technologies (active directory, NTFRS, DFS, etc)
    • Doesn’t play WoW (I can live with it if you do, I just don’t want to hear about WoW all the time)

    There is no cut off date. I will make a decision when I have selected from available candidates. This post will be updated when applications are no longer being accepted.

    Thank you in advance for submitting your application via the comments section attached to this post.

    Equal opportunity programmer friend. Perl programmers need not apply.


  • Contrast Shower For The Mind

    Contrast showers have long been regarded as a “way to stimulate vitality and promote detoxification”. Basically you get in the shower and you continually vary the temperature widely. It’s supposed to exercise your central nervous system or something by going from hot to cold several times.

    I just had a contrast shower for the mind. You won’t understand that until you finish reading, so just bear with me while you read this.

    Chris and Natalie came over to my house to watch TV. Well actually it was because Natalie was in town from Baton Rouge and we wanted to go do something with her but Shreveport sucks. We ended up watching the latest episodes of LOST, South Park, and Family Guy.

    LOST was simply amazing. That reminds me that I should give an obligatory shoutout to the best LOST blog ever. The episode was without flaw and I’m glad it’s finally back. I was really starting to miss it, but the Dharma Initiative (see that blog) videos/viral marketing kept me going in the interim.

    Then we watched the latest South Park. It wasn’t a real episode of South Park. They showed the characters from South Park a few times, but it wasn’t a real episode. See for yourself. The entire episode was a huge advertisement for World of Warcraft (purposefully not linking to it). That is the worst game ever. I played it for about 3 hours on Chris’ trial account that he had. He says I didn’t play it correctly, but I will tell you that the most fun I had in that game was going to some carnival and typing /dance a lot. WoW just sucks, as a game. If you play that game, what the hell is wrong with you?

    That was literally the worst television show I’ve ever seen. I hope that Matt and Trey, the creators of South Park, got a lot of money to sell out like that. That was the most incredible misuse of my hard drive space that could have been possible. The funniest part of the entire episode was Cartman literally having explosive diarrhea expelled on his mother. Yes, that was the funniest part, because the rest of the episode was about World of Warcraft and their loser online world.

    So, could good come from that? Yes, but not directly. After that excuse of a show came on, we watched the latest episode of Family Guy. Family guy is already one of, if not the, funniest shows on television. I had already seen the episode 3 times before I watched it tonight, and I had laughed a lot each time, but not as thorougly as this time. It was as if the South Park episode had cleansed my mental palate and made it ready for an incredible feast of intellectual enjoyment. I must consider this the equivalent to a contrast shower for the mind. I laughed tonight at Family Guy like I’ve never laughed before, if for no other reason than it was so funny in comparison to the “comedy” of South Park I had previously viewed.

    In other news, Jet Li’s Fearless is an awesome movie. I watched it twice, and I’d go again, but people just ruin movies. I’m going to stop going to the theater unless I have a really good reason to do so in the future. I’m not going to go just because it’s Friday anymore.

    I apologize for this post being slightly out of anger, but I couldn’t bottle my rage about this abomination with which Matt and Trey have decided to start the South Park season. I wish they were dead. I can’t even talk to Chris about it, because he’s one of the WoW losers, and he thinks it was a good show. He thinks I’m the stupid one for not liking it. Every time I hear people talking about “XP” or “Manna” I want to go berzerk.

    What in the world can people see in staying in a virtual world every waking moment of their life. When you start the game, you have to go around killing what look to be anthropomorphic rats. I guess some people might find them attractive. You have to do that and collect apples and gold and report back to someone who gives you new shoes. I shit you not; people spend all day and night doing this stuff. If you want to see an accurate depiction of the life of a WoW player, watch that episode of South Park. If you want to see an episode of South Park, don’t watch it.


  • Letter to a Christian Nation

    I got home from school around 8:15pm and I had some school work to do. Letter to a Christian Nation was sitting on my doorstep, so I said screw it. I started reading it immediately and it’s a very short book, so I finished it shortly before 10pm.

    It’s a great book, addressing all of the most common of Christian retorts when confronted with their complete lack of rationality for their beliefs. It doesn’t go deep into issues like The End of Faith did, but then again, it’s a tiny fraction of the size. Excluding the preface, it’s only 91 pages of text to read, and these are tiny pages. It’s a great reader and you can easily read it in under 2 hours.

    It’s really cheap and those links I gave give the Rational Response Squad a tiny fraction of your purchase if you buy it from those links. I suggest everyone buy Letter to a Christian Nation, because it’s very accessible. If you’re really interested in much more in depth coverage of how religion hurts America and the rest of the world, grab The End of Faith, too. It’s much longer, the pages are larger, and the issues are deeper. It will take a little longer to read, but it’s well worth it too.

    Good job, Sam Harris. I look forward to your next book.


  • Sharing Media to the Xbox 360 Using Windows Media Player 11 Beta 2

    I heard about this from DigitalLifeTV. Microsoft now has on their Windows Media Player 11 Beta 2 site the following information:

    Share it New for Beta 2

    The new Media Sharing feature of Windows Media Player 11 lets you enjoy the contents of your Windows Media Player library from anywhere in your home. If you have a home network (wired or wireless), you can use Windows Media Player 11 to stream the contents of your library to networked devices. For example, if you have an Xbox 360 or other digital media receiver (DMR), you can use Windows Media Player to stream music and pictures from your computer to that device. This even works with music that you’ve downloaded from PlaysForSure music stores and services. For more information, see Digital Media at Home.

    This made me really happy since I’ve used Windows Media Connect before. WMC eats memory and CPU likes nobody’s business, so I don’t run it. As a result, I can’t listen to any of my music on my Xbox 360 across the network, even though I’d like to. Microsoft claims to have fixed this with Windows Media Player 11, and lots of people have quoted that little bit of information, but nobody has actually posted information on how to accomplish it. I love and use Windows Media Player 11 and I recently upgraded to Beta 2 with my last Windows reinstall. I read the help and set it up and hopefully this helps someone.

    Step 1First, right click on the title bar (or hit Alt) and go to Tools and then click Options.

    Step 2Then, click the “Configure Sharing” button.

    Steps 3 and 4Click on the “Share my media to:” checkbox. Click on “Settings”.

    Steps 5 and 6Configure the appropriate settings according to what you desire. If you want to allow anyone to view your media that is on your local network, select “Allow new devices and computer automatically (not recommended)”. You may have to do this initially if the Xbox can’t see files on the Windows computer.

    Step 7That’s it! You should be able to go to the Media blade in your Xbox 360 dashboard and select computer. Your windows computer should show up and add itself in the Windows Media Player 11 sharing pane.

    You can view your songs by artist, genre, album, song, and you can also play your playlists that are created in Windows Media Player 11. To reiterate, you can create multiple playlists in WMP, even smart playlists, the ones that automatically pick songs based on criteria, and those will be available for playback on your Xbox automatically. This is all in addition to letting other Windows Media Player 11 instances on the network being able to access the media as well. Sure, iTunes did the media sharing via Rendevouz first, but as usual Microsoft embraced and extended. This is really awesome.

    Please give me feedback if this helps or if it can be improved. I also put together a Flickr photoset with all those pictures in it. Each of the above pictures is a link to the Flickr image and you can zoom to full size on any of them. Yes my living room is messy. Shut up.


  • My Brief Love Affair With Windows Vista

    And by brief, I mean slightly less than one day. I signed up for Windows Vista Beta 2 quite awhile ago, but I never got around to installing it, due to the way my files were arranged on my pc. I’ve since gotten the OS stuff separate from the data and I can do OS installs at will.

    Microsoft invited me to join the pre-RC1 program since I was part of the Beta 2 program, and I got in and downloaded the 2.4GB ISO before the 100,000 download limit mark was reached. However, just before I was going to do the install this weekend, I heard that Microsoft released a full RC1 to its TAP customers. Knowing that my Beta 2 key would work on my pre-RC1, I figured it would work on the full RC1 too. If it didn’t, I didn’t have anything to lose, since I could just install the pre-RC1 instead. I went ahead and grabbed the full RC1 (Build 5600) from USENET and did the install late the night before last, and continued to use it until late last night.

    The Good

    It installed extremely quickly. It asks you where you are and what language you speak, and then it asks for the key. That was it until it wanted me to tell it my name after the install. It was the most painless OS install I’ve ever done.

    Vista recognized all the hardware in my computer, except my Visioneer scanner, and my USB headset. It didn’t even acknowledge my USB headset, so I have no idea what’s up with that, but at least for the scanner it put an unknown device in device manager. My printer was easy to install off my home Windows 2003 Enterprise Server (legal MSDNAA copy). I double clicked it and it installed the drivers and connected the printer automatically, presumably using 2000/XP drivers.

    It is extremely pretty. I have a computer that gets a 4.0 on a 5.0 scale on the performance rating, so it has all of the pretty Aero Glass effects. I can’t even describe how pretty it looks and the awesome transparency effects done completely on the 3D card (NVidia 6600GT). You just have to see it. The built in wallpapers are extremely awesome, too. I made a copy of those. Win+Tab is an amazing Alt+Tab replacement. It’s utterly amazing, which is why it saddens me to bring you this next part.

    The Bad

    When I muted my sound card by using the mixer or the mute button on the keyboard, the icon in the tray and in the mixer reflected the muted status, but the sound would continue to play. Honestly, it was pretty humorous, especially since the volume control worked fine. I submitted a bug report for this.

    When I went into the registry to modify my profile path (to store it on another partition so the OS is completely separate), I could not tell which key was open on the left. It was highly annoying and leaves you having to read through the hierarchy in the status bar to figure out where you are in the tree. That was highly annoying and would stifly any system admin.

    I found a UX error in IE7 in Vista as well. When you bring up IE7 in a new profile, for the first time, it has no knowledge about your auto-complete preferences. Therefore, the first time you enter text into the search box or a web page, it asks you. Pressing Alt+Enter when typing a URL or a search term normally opens that item in a new tab, but if you do this before setting auto complete preferences, the preferences interdictor appears and after you tell it yes or no, the item opens in the current tab instead of a new tab. That’s not really a huge issue, since it will only happen once per profile. I submitted a bug report for this as well.

    Then I got into the really annoying things. My mic didn’t work, no matter what. No audio input was recognized, no matter what I did with the mixer. It worked fine in XP. That wouldn’t be a huge issue either, but my USB headset wasn’t recognized either. For reference, my USB headset is the Logitech USB 350 headset. My sound card is the Sound Blaster PCI 512 which was detected as a SB Live! (WDM) device (and I even tried forcing it to use a PCI 512 driver).

    The sound constantly skipped when doing anything on the computer. It was like it couldn’t handle processing anything and playing sound, so it sounded like I had a 486. Don’t even think about playing music while using your Vista computer! This was while the CPU utilization wasn’t even peaked, which brings me to my next point.

    The CPU utilization just springs up and down, up and down, up and down, constantly! I don’t know what it is, but it claims that “System” is using it in the Task Manager. Not “System Idle Process”, but “System”. The memory utilization was also much higher, like 400-500MB just sitting idle at the desktop. I ordered more RAM in preparation for the full Vista because of this. I should have 2GB in this system, soon. That CPU utilization was nuts, though. I hope they optimize it more, but honestly, it scares me that this is a release candidate.

    The Prodigal Son

    I decided to go ahead and reinstall Windows XP last night. The sound issues were just too much to handle. XP will never look the same to me again, though. Vista is extremely pretty, and I can’t wait to use it if they ever get all the bugs worked out. Jim Allchin should really be ashamed.

    I had forgotten, however, how utterly awesome the Microsoft Out of the Box Experience (OOBE) is for Windows XP. If you’ve never installed XP or at least done the OOBE after a manufacture pre-install, you’re really missing out. The music is awesome! It made me not want to hit “Next” until the music finished playing. It’s singlehandedly the most awesome computer software company generated music ever. What’s that you say, you’ve never heard it? Well, I converted it into streaming MP3 for you. Just click the play button:


Posts navigation