SQL Server Blogs I Read

January 7, 2009 · 5 comments

I was playing around with Google Reader and found that you can publish a list of feeds in a specific folder. I thought it might be useful to share the list of SQL Server blogs I’m subscribed to. Since the list is being pulled from Google Reader is will stay up to date as I update my subscription list. If you see any good SQL Server blogs I’m missing, please let me know.

Here is a list of all the SQL Server blogs that I’m currently subscribed to:

If you are viewing this in Google Reader, or another aggregator that doesn’t support javascript, you can view the list here.

{ 5 comments }

I’ve been running WordPress 2.7 for a few weeks now and I have been very happy with it so far. In this post I’ll share my thought process behind running WordPress on IIS7 and the details on how I have it setup.

I setup my first blog back in 2006 running on dasBlog. I was never really happy with it, mostly because I couldn’t find a theme I liked. I wrote a few posts, then when I changed hosting providers, I never setup the permissions correctly and was unable to post. It would have been an easy fix, but it became an excuse to not blog.

When I decided to start blogging again, I wanted something that would be easy to setup, and wouldn’t take a lot of effort to maintain. Since I’m a fan of Google’s offerings, I started off using Blogger. Unfortunately, I ran into some DNS limitations and couldn’t get things setup the way I wanted. I also checked out the hosted WordPress solution, but it was even more limited then Blogger.

I decided to use WordPress as my blogging platform because there is a very active community, lots of themes available, and because you there are plugins that allow you to add whatever features you want without any coding.

Since IIS7 has decent PHP support, I decided to use a Windows plan on GoDaddy.com. This will allow me to put .NET apps on my site down the road. I also have another site that I need to host that requires .NET and this keeps my hosting costs lower.

Installing WordPress 2.7 was pretty easy. I just had to create a MySQL database, upload the WordPress files and run through the setup.

Next, I had to get pretty permalinks working the way I wanted them. One way to do this would be to use Microsoft’s URL Rewrite Module. The problem is that GoDaddy doesn’t currently support the URL Rewrite Module (I’ve heard that they plan to support it soon). I ended up using the ManagedFusion Url Rewriter.

Setting Up the Managed Fusion Url Rewriter to work with WordPress

Download the ManagedFusion Url Rewriter files here.

If you don’t already have one, create a folder named “bin” at the root of your blog.

Copy ManagedFusion.Rewriter.dll and ManagedFusionRewriter.pdb into the bin folder you just created.

If you don’t have one, create a file named “web.config” in the root folder of your blog that looks like the one below, otherwise just add the info to your existing web.config.

web.config

<configuration>
    <system.webserver>
        <validation validateintegratedmodeconfiguration="false" />
            <modules runallmanagedmodulesforallrequests="true">
                <add type="ManagedFusion.Rewriter.RewriterModule, ManagedFusion.Rewriter" name="RewriterModule" />
            </modules>
            <handlers>
                <add type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" name="RewriterProxyHandler" path="RewriterProxy.axd" verb="*" precondition="integratedMode" />
            </handlers>
    </system.webserver>
</configuration>

Create a file named “ManagedFusion.Rewriter.rules” in the root folder of your blog. This will allow you to use .htaccess syntax to handle the Url Rewrites. I set mine up to remove the www from my hostname, remove index.php from the url, and redirect urls from my old blog to the new location.

ManagedFusion.Rewriter.rules

#  Managed Fusion Url Rewriter
#  http://managedfusion.com/products/url-rewriter/
#
#  Developed by: Nick Berardi
#       Support: support@managedfusion.com
#
RewriteEngine on
 
#
# Place Rules Below
#
 
# misc WordPress rewrites
RewriteRule ^/wp-login\.php$ /wp-login.php [L]
RewriteRule ^/wp-comments-post\.php$ /wp-comments-post.php [L]
RewriteRule ^/wp-admin/(.*)$ /wp-admin/$1 [L]
 
# deny access to evil robots site rippers offline browsers and other nasty scum
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]
 
# remove www
RewriteCond %{HTTP_HOST} ^www\.robboek\.com$ [NC]
RewriteRule ^(.*)$ http://robboek.com$1 [R=301]
 
# redirect old urls
RewriteRule ^/2008/12/blog-on-hold.html$ /2008/12/12/blog-on-hold/ [R=301]
RewriteRule ^/2008/11/google-chrome-wont-start-in-vista-x64\.html$ /2008/11/16/google-chrome-wont-start-in-vista-x64/ [R=301]
RewriteRule ^/2008/11/pass-community-summit-2008-events.html$ /2008/11/14/pass-community-summit-2008-events-calendar/ [R=301]
RewriteRule ^/2008/11/fort-stevens-camping-trip.html$ /2008/11/14/fort-stevens-camping-trip/ [R=301]
RewriteRule ^/2008/10/first-post.html$ /2008/10/10/first-post/ [R=301]
RewriteRule ^/blog/CommentView,guid,1d8cba50-0814-4c89-86df-eca669973e8e.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
RewriteRule ^/blog/2006/09/29/JunctionsInWindowsVista.aspx$ /2006/09/29/junctions-in-windows-vista/ [R=301]
 
# rewrite all nonexistent files and directories to use index.php for WordPress
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php$1

I also setup a custom 404 error page that will allow me to use the WordPress 404 page in my theme.

404.php

<?php
$qs = $_SERVER['QUERY_STRING'];
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qs, $pos);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
?>

Plugins I’m using

DISQUS Comment System

The main reason I’m using DISQUS is because comment notification emails weren’t working for me with the default WordPress comments. It does add some nice functionality though, including threaded comments, comment spam protection, facebook connect integration and more. The other thing I liked about DISQUS is that all of my comments are synced in the WordPress database so if I ever want to stop using DISQUS, all I need to do is disable it.

FeedBurner FeedSmith

Redirects the RSS links over to my feed on FeedBurner.

Google Analyticator

Makes it easy to add Google Analytics tracking codes. It also has some nice features like disabling tracking for blog administrators.

Simple Google Sitemap

Generates an XML sitemap to give to the search engines. If you haven’t tried Google Webmaster Tools it’s worth a look.

WP-Syntax

Easy to use syntax highlighting code like you see in this post.

Other tweaks

I’m running the Revolution Code Grey theme, with a FriendFeed badge, a DISQUS comments widget and a and Twitter updates widget. The rest are just the standard widgets that come with WordPress.

I’m also using my blog as an OpenID using my Google account for authentication.

{ 22 comments }

I’m running a self-hosted WordPress 2.7 blog on a GoDaddy.com IIS7 hosting plan. Today I was trying to setup my blog as an OpenID provider so I could use it to login to OpenID enabled sites like stackoverflow.

My first attempt was to use the WordPress OpenID plugin. Beside the fact that I couldn’t get it working, the plugin was really overkill for my needs. Since I’m using the DISQUS plugin for comments, I didn’t need OpenID support for those. I just wanted to be able to use http://robboek.com to log in to other sites.

Next, I tried phpMyID. phpMyID was pretty easy to setup and the test worked, but I couldn’t get it to let me login to stackoverflow. While trying to setup phpMyID, I noticed the link tags it had me insert into the template and figured that I should probably be able to point to another OpenID provider from my blog url and have that work. A little searching revealed this post that pointed me in the right direction.

Here are the steps to use your Google account as an OpenID Provider for your blog:

  1. Go to http://openid-provider.appspot.com/ and login using your Google account. It will give you an OpenID sign-on in the form of:
    http://openid-provider.appspot.com/[your google email]
  2. Add the following 2 lines to the <head> section of your template:
    <link rel="openid.server" href="[OpenID from step 1]" />
    <link rel="openid.delegate" href="[OpenID from step 1]" />

    As an example, the lines I added were:

    <link rel="openid.server" href="http://openid-provider.appspot.com/rob@robboek.com" />
    <link rel="openid.delegate" href="http://openid-provider.appspot.com/rob@robboek.com" />

That’s all there is to it. Two easy steps and now I can use http://robboek.com to login to OpenID enabled sites.

{ 4 comments }

This issue probably won’t affect many people since it only appears to happen when using a combination of three apps, Input Director, Google Chrome, and KatMouse (I mention all three in the post Software I Use Almost Every Day). The issue is while Google Chrome is in the foreground on the Input Director master machine, using the mouse wheel on the slave machine, also scrolls the Google Chrome window on the master. It’s slightly annoying.

So, on the off chance that you run Input Director, Chrome, and KatMouse, you can fix this issue by adding InputDirector.exe to the Applications tab in KatMouse settings. You can leave the settings as Default, just having InputDirector.exe listed fixes the problem.

{ 0 comments }

I just repaved my desktop and while reloading software I thought I’d share some of the programs I use the most. Here they are in no particular order:

SQL Server

This is the software that pays the bills. I’ll admit though, I’m pretty excited about working with SQL Server. Databases are fun!

Visual Studio

Along with SQL Server, I do a little bit of .NET development. I’ve also been using the Database Edition features quite a bit lately, and really like them.

Digsby

Digsby is the best multi-IM client. One app to connect to Google Talk (my preferred network), Live (MSN),  Yahoo, AIM, Facebook, and more!

Input Director

Input Director let’s me use one keyboard and mouse to control both my desktop and my laptop.

KatMouse

I can’t live without KatMouse anymore. It lets you use your scroll wheel in background windows without bringing them to the front or giving them focus.

Microsoft Office

Not much to say here. I use Word, Excel, and OneNote the most, then PowerPoint and Visio. I try to avoid Outlook.

Google Chrome

Chrome is getting more use lately. Simple and quick, I love the application shortcuts for gmail.

Firefox

Still my most used web browser. I love some of the extensions, but it’s been losing a little bit of time to Google Chrome. I’m currently running beta 2 of Firefox 3.1.

Foxit Reader

Foxit Reader is a lightweight pdf reader. It’s much faster than Adobe. I don’t like that they started adding a bunch of stuff to their installer or the new updater, but I still keep it around. It’s getting a little less important with Google’s new pdf viewer built in to gmail.

Daemon Tools

Simple tool, mounts iso images.

Skype

I use Skype to call regular phones, hardly ever for Skype-to-Skype calls.

UltraMon

UltraMon is a must have for multi-monitor users. It extends the Windows taskbar across your other monitors. Other cool things are being able to setup different wallpaper and screen savers on each monitor.

Alt.Binz

My favorite Usenet client for binaries.

uTorrent

Favorite bittorrent client.

WinRAR

WinRAR is one of those things that I take for granted. Right drag –> Extract To is mostly how I use it, and occasionally to zip something for email.

XBMC

I don’t use this on my PC, but it would be hard to get along without it. My wife loves this one as well. XBMC is by far the best media center software I’ve used. Newer HD formats are making my original Xbox outdated, but I’m going to get some new hardware soon and definitely keep XBMC around.

Airfoil

Airfoil let’s you stream music from any application to AirPort Express devices. I picked up a few on ebay for around $50 each. Turn on Pandora and have whole house audio on the cheap.

OpenPandora

Pandora in a Windows desktop app. Lets you hide it in the tray and more.

TweetDeck

My favorite Twitter client.

That covers most of it. I also have a bunch of small apps that I keep in a C:\utils folder and there are a few web apps that I use frequently (Google Apps, FreshBooks, Google Reader, RTM). I’ll cover those in a future post.

What apps do you use frequently? Any I should know about?

{ 6 comments }

I use VMware Workstation to run my development virtual machines. I prefer it over Microsoft’s offerings for two main reasons, USB support and high resolution/multi-monitor support inside of virtual machines.

There is however, a very annoying problem when you install VMware on Vista (and Windows Server 2008). When you install VMware it adds a few virtual network adapters. For various reasons, these adapters are listed in the Network Sharing Center as being on an “Unidentified network (Public network)” and all of the features under Sharing and Discovery are turned off .

Here is the best fix I’ve found thanks to a post by richv in the VMware forum:

  1. Run regedit
  2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
  3. Underneath you should see several keys labeled 0000, 0001, 0002 etc… Look through these and find the VMware adapters. They will probably be near the end of the list if you just installed VMware.
  4. For each of the VWware adapters, add a new DWORD value named “*NdisDeviceType” and set it to 1 (make sure you get the * at the beginning of the name, I missed that the first time).
  5. Disable and Enable each of the network adapters.

That should take care of the problem. Setting *NdisDeviceType to 1 causes Windows to ignore the device when it does network identification. Here is an MSDN article with more details.

{ 11 comments }

Blog on hold

December 12, 2008 · 1 comment

I really want to start blogging. The trouble is, I can’t get things setup the way I want them. I had settled on using blogger but I really want to have my domain as http://robboek.com and not http://www.robboek.com. The trouble is, now I can’t have it hosted by google as you can’t add a CNAME to the root domain without messing things up. Next I though I would just create an A record to the ip address, but then my site goes down frequently. I was looking to use wordpress.com but to have a custom domain name there you have to use them for DNS.

My next idea is to use self-hosted wordpress. Now I need to find a good cheap hosting company. Preferably one that also supports ASP.NET and SQL Server. If you have any suggestions, please let me know. In the mean time I’m putting the blog on hold because I don’t want to worry about moving my content over.

{ 1 comment }

This has been bugging me for months. At some point, Google Chrome just stopped working. I would double click the icon, and nothing would happen. The process would show up in task manager, but nothing would show up on the screen. I spent HOURS searching for an answer and finally gave up. Chrome was working fine on my laptop, so I just figured something got corrupted. I have been wanting to rebuild my desktop to fix the problem, but just haven’t had time.

Today, I went to launch Chrome on my laptop and nothing! I was freaking out! Not again!!! The last thing I wanted to do was rebuild my laptop. I decided to try searching again. Since it happened on both of my systems, I figured that someone else must have had the same problem. Finally, I found the answer!

Apparently, the reason Chrome wouldn’t start has something to do with DRM in Vista. I use a great program called Airfoil that lets me stream audio to several Apple Airport Express devices in my house. Airfoil has a feature called “instant hijack” that lets you re-route the audio from an app without restarting it. Apparently if that is turned on, Vista thinks you are trying to be evil. Anyway, as soon as I disabled the instant hijack Chrome started working again. Thank you, Mark, for posting the answer!

I really hate DRM!!!

{ 10 comments }

The Professional Association for SQL Server Community Summit is next week. I’m will be there, presenting three exam prep sessions. This will be my first time presenting at a conference so I’m a little nervous, and very excited!

There are quite a few events happening surrounding the conference, but information is pretty spread out. I decided to do something about it, so I created an events calendar. I will try to keep it as up to date as possible, with all of the evening events and vendor parties. If you see something I’ve missed, please let me know and I will add it.

PASS Community Summit 2008 Events Calendar

{ 1 comment }

Fort Stevens Camping Trip

November 14, 2008 · 0 comments

Here’s a video from our family camping trip to Fort Stevens in September 2008.

{ 0 comments }