Dark Themes, in both Visual Studio and SQL Management Studio

Tired of running a dark theme in visual studio, only to be blinded when you switch to SSMS? Me too.

I very much enjoy this dark theme in Visual Studio 2008. That being said, I almost cry everytime I have to switch back and forth between Visual Studio and Management Studio.

Luckily, I ran across this post: http://winterdom.com/weblog/2007/10/31/ColorSchemesInSQL2005ManagementStudio.aspx

I won’t steal this man’s work as it’s quite genius. Just an extra note. His settings were for Visual Studio 2005, so be sure to change “..VisualStudio\8.0\FontAnd…” to “..VisualStudio\9.0\FontAnd…” so that you copy the current settings from Visual Studio 2008 if that is what you are using.

My eyes are grateful for this one!

[Update]

I guess I should mention this works for any theme really, not just dark themes!

SSMS Object Explorer / VS Server Explorer Won't Load (Fix found)

Happened across this glorious error this evening.

Somehow my IServiceProvider COM Object was unregistered from the system through the course of several windows updates, and application uninstalls.

Error:
Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.VisualStudio.OLE.Interop.IServiceProvider'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{6D5140C1-7436-11CE-8034-00AA006009FA}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

Luckily, the guys/gals over on MSDN Social found the fix!

Steps:

  1. Open notepad.
  2. Copy everything between the "Copy" tags: (From Nick Buse)

    <COPY>Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
    @="IServiceProvider"

    [HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
    @="4"

    [HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
    @="{B8DA6310-E19B-11D0-933C-00A0C90DCAA9}"

    [HKEY_CURRENT_USER\Software\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
    @="IServiceProvider"

    [HKEY_CURRENT_USER\Software\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
    @="4"

    [HKEY_CURRENT_USER\Software\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
    @="{B8DA6310-E19B-11D0-933C-00A0C90DCAA9}"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
    @="IServiceProvider"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
    @="4"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
    @="{B8DA6310-E19B-11D0-933C-00A0C90DCAA9}"</COPY>
     
  3. Paste the text into notepad.
  4. Save as a ".reg" file. (Example: IServiceProvider_COM_fix.reg)
  5. Right click on the saved file in explorer, and click Merge.
  6. Agree to prompt, and you're done!
  7. Be very thankful that you didn't uninstall and reinstall SSMS and/or VS like I was about to! PHEW!

  

Upgraded TexasViking.com from 1.0 to Graffiti 1.2: Issues and Fixes!

After running into some issues this morning with an outdated database and the new theme I wanted, I decided it was time to upgrade TexasViking.com to Graffiti 1.2! Here are the steps I took:

  1. Backup your site! Or at least the folders that are going to be replaced/updated with 1.2. Also backup your database.
  2. Unzip the “Graffiti 1.2.zip” download somewhere.
  3. Copy the folders from the “Upgrade 1.1 to 1.2\Web” directory over your existing site root.
  4. (And this is the one of my “Gotchas”) Run “Tools\Migration\DataMover.exe”.
    1. Select your existing database (in my case Graffiti.vdb3)
    2. Select your new database (use the Graffiti.vdb3 found in the Migration folder!)
    3. Click “Copy Data”
  5. Copy the newly generated Graffiti.vdb3 database into your App_Data folder.
  6. (Here is the other “Gotcha”) There’s a line that needs to be added to your web.config.
    1. In your AppSettings node add the following line if it doesn’t already exist:
      <add key="Graffiti:Roles:Everyone" value="gEveryone"/>

That was everything I needed to do to get 1.2 up and running!

The errors:

  1. Error 572 (Provider v. 3.4.1.73): Table doesn't exist:  graffiti_RoleCategoryPermissions
    Line #: 1; Column #: 122
    1. This is fixed with Step 4 above.
  2. access-denied” error
    1. This is fixed with step 6 above.

Update:

Our wonderful Graffiti PM Terri has informed me that there was a "ReadMe" doc in the 1.2 download... (doesn't she know some guys don't read install files?? HAHA)

Anyhow, it states to replace your entire web directory (thus including the web.config). I went ahead and did so out of the need to be "correct", and found that there was 1 other config file addition. KUDOS TERRI!

My endlessly upgradeable Windows Home Server

Time to join the Windows Home Server crowd.

After hearing/reading about all of the awesome features in WHS, and, with a little birthday money in my pocket, I decided it was time to build a Home Server.

Requirements:

  1. Silent! I don’t want a 747 during take-off in my office! I want to display the machine and be proud of it, but still be able to have a conversation, or even think around it.
  2. Lots of hard drive space, or at least room for lots of hard drive space. Although external RAID enclosures are cool, I know I’ll get a red light from the misses if it doesn’t look good and is self contained in one box.
  3. Keep cost down as much as possible.

 

That’s it really. I decided to wait and cherry-pick good deals off of http://newegg.com to save some cash. Here’s how it all went down:

  1. After hearing several positive remarks about Antec’s P180, I decided this was the way to go. It has room for an astonishing 11 HDD’s, and has received several positive reviews for it’s amazing sound proofing! The best part: I scored a NIB P180 off of a guy locally through Craigslist for $90! That saved me $60 off retail!
  2. Here’s a decision I fought for a long time: motherboard and processor. I’m an Intel guy and always have been. My problem was that an Intel board and dual-core processor with at least 4 SATA ports, 1 PCI-express 2.0 x16 slot, and at least 1 ESata port would run at least $160. A comparable AMD board and dual-core (that ran 20% faster!) was only $115. Rule #3 finally led me to buy the AMD setup, and honestly, I’m very happy with my decision. (Bonus: board came with onboard everything in the display department: VGA, DVI, HDMI, and DisplayPort!)
  3. Power Supply: although I will eventually need a bigger power supply to handle all of the hard drives, for now, I opted for a small 380W Antec Earthwatts unit. There were two reasons for this. Rule #3 had a lot to do with it, but also, I intend to build a “TV” computer for web surfing once I buy a bigger TV. This machine will in no way be power hungry, and will probably reside in a microATX enclosure, so 380W should be plenty. When that time comes, I’ll go bigger, like 500W/650W for the WHS.
  4. Ram: 2GB OCZ Platinum DDR2-1066. motherboard recommended speed, and product was recommended by a friend.
  5. Hard Drives:
    1. System Drive: 160GB 7200rpm Barracuda. I know there’s been a lot of talk lately about these drives failing for people, but I’ve used 2 previous model Barracudas without failure, so I felt good about this one. Plus Rule #3 again!
    2. Storage Drives: At the recommendations of friends, and reviews, I opted for 1TB Western Digital Green Power Drives. More power friendly, and at a good price too!

 

So, with everything but the 1TB drive (out of stock, will arrive tomorrow), I set off this weekend to build it! Here is the end result!

WHS_1

WHS_2

Update! Prices:

Case: $90
Power Supply: $35
Board and CPU: $115
Ram: $35
HDD: $42 & $105
ODD: $5

Total: $427 + WHS license

‘Microsoft.Jet.OLEDB.4.0’ not registered

Like many of you, I'm now running a 64-bit operating system (Windows Server 2008) for my development environment. Although it may seem outdated, Access still has some use to me (mainly because we use Microsoft's Web Application Stress Tool for load testing).

Just recently, I ran into an odd issue that I couldn't understand, so I put forth the power of Google to find my answer; specifically, the error appeared in the following code:

   1:  using(OleDbConnection connection = new OleDbConnection(ConnectionString))
   2:  using(OleDbCommand command = new OleDbCommand(CmdText, connection))
   3:  {
   4:      connection.Open();
   5:      ....
   6:      connection.Close();
   7:  }

 Whenever the connection to the database was opened, I would get the following InvalidOperationException:

InvalidOperationException_1

It turns out, the fix is very simple, you just need to know where to look!

The problem exists in the 64-bit environment. Specifically, Microsoft does not have (or at least doesn’t ship) a x64 ODBC driver. One configuration change will fix this problem instantly!

Simply change your Solution Platform from “Any CPU” to “x86” and you should be good to go!

CPU_configuration

The Power of CraigsList

I cleaned out my garage 2 nights ago to make room for something here in the next few days... (more details on that to follow!)

I called the Salvation Army to donate my items through their "At Home Pick-up" service. I scheduled an appointment for Thursday (10/2) and had everything outside on my driveway that morning before I left for work. For some reason though, everything was still there when I got home. Weird, so I called them this morning to find out the "Dallas" Salvation Army branch doesn't cover Denton, but that the Fort Worth branch does. Uhhh GENIUS!!! WHY DIDN'T YOU TELL ME THAT WHEN I MADE THE APPOINTMENT! (Can you see my frustration?)

So I decided I would take things another route, namely Craigslist!

After lunch, I made a post on Craigslist simply stating "First person to respond who can pick it up today gets everything they want." I was a bit nervous, as I didn't want to move things in and out all weekend, or worst of all, have to rent a truck to take it to the dump. (I really won't have room for it after this weekend.)

To my suprise, and delight, I had 6 people respond within 10 minutes of me posting! I was so baffled, that I had to actually go through the trouble of creating a time table to improve my odds of getting rid of everything. Person A has until 7PM tonight (which I think they will make because they were very excited!), Person B has until 8AM tomorrow, and so on.

Thank You Craigslist for solving my dilemma! AWESOME!

Netbooks: Why and which ones.

I just wanted to talk briefly about my recent acquisition of a netbook, their benefits, and which one(s) to choose if you're in the market.

Personally, I wanted something very small, but something that still retained the overall feel of a notebook. PDA's and other UMPC's are becoming more and more available, but they still lack certain key features that kept me from jumping on them.

  1. No physical keyboard: While my iPhone doesn't have a physical keyboard, I don't do serious typing on it, so no real need for it. If I'm to take notes on the device, write blog posts, and chat with friends and family, a keyboard is a necessity unless I want to waste lots of time.
  2. Too low of a resolution: Although most now do a good job of scaling websites and images down to fit the screen, there is still a significant amount of searching on a page to find the info I want. With netbooks, the horizontal resolution is almost guaranteed to be 1024 pixels. Since most websites (or at least the ones who've put any thought about their end-users into it) are based on a 1024 pixel width or less, there is absolutely no side-to-side scrolling.
  3. Fragile Feel: This isn't to say I'm afraid of breaking my new Dell Mini 9, but with a PDA's having an exposed screen, I feel like I'm just going to break the device. With the universal "laptop" design, you still close the lid, which lets you know carrying the device around in a backpack, or large pocket will most likely not break or damage anything.

I'm personally biased on the Dell Mini 9, not only because I've been happy with all of the Dell devices I've used in the past 10 years, but also because I happen to own the Dell Mini 9. That being said, I'm not entirely sold on it yet, simply because I haven't had enough time on it, and I haven't had the opportunity to test other devices. (Note to Samsung, Acer, Lenovo, Gigabyte, LG, and all other Netbook manufactuers: I'd be more then willing to use your devices for a "test period" if you'd like to send me one. And yes, I'll post a review too!) [ Just thought I'd throw that in... :) ]

If you're interested in a netbook whether it be for work, or pleasure, I'd highly advise checking out the following sites for detailed reviews on almost every Netbook, as well as info on specifications if you have certain requirements:

Before I give all of my netbook business to Dell, it would be nice to try out a 10" device like the Samsung NC10, Asus 1000H to feel the usability difference over an 8.9" device.

Dell Mini 9 (Inspiron 910) Acquired | Tested

So as some, but most of you don't know, I sold my Macbook a few weeks back. I decided that even though I enjoyed the OS X experience, my current field of work and school pretty much required me to have a Windows based machine. However, I really wanted to go smaller, to keep weight down, and maintain this sort of "minimalist" mood I'm in lately. (Basically I'm in this "keep everything clean and neat" state-of-mind.) So, after having sold the Macbook, and depositing the money from it, I decided the newly released Dell Mini 9 looked right up my alley.

Upgrades:

  • I went with the 16GB drive knowing I would be installing a few applications, and needed as much disk space as I could get.
  • I also added Bluetooth to reduce the number of "dongles" sticking out of the USB ports while I was using it.
  • 1.3MP webcam, because having the camera on the Macbook made me realize just how handy they can be.

After waiting two weeks for the order, the Dell Mini 9 finally arrived at my house, and I set off to get it setup with what I needed for school and home leisure use:

  • I upgraded the base XP Home to XP Professional SP3.
  • Uncompressed the hard disk to improve performance.
  • Installed Microsoft Office 2007 so I would have Outlook, Word, Excel, and Powerpoint for school.
  • Turned off the hibernate option to same myself 1 GB of hard disk space.

I must say that I'm impressed. I was a little worried after running across an Acer 901, that the keyboard would be too small for my large hands, but luckily, Dell moved a few less frequented keys around to make room for a larger set of alphabet keys. It's just the right size to keep the laptop small, but still allow for almost the same experience as a regular keyboard.

Battery life is actually quite astonishing. I've managed 3 times already this week to go almost 4 hours on a single charge (and that's going until 10% at which point the system beeps at you every 30ish seconds letting you know the battery will die soon!). The adapter is also small enough to comfortably fit into my pocket, so I'm really never far from being able to charge it if I need to.

More pictures:

Intel Capital invests $20M in Telligent

 

Intel Capital, Intel’s global investment organization, today announced an agreement to acquire a $20 million stake in Telligent Systems, makers of social computing solutions and business intelligence tools. Based in Dallas, Telligent will utilize the funds to expand its sales teams and territories, including growth in international markets, as well as increase its marketing and advertising initiatives and product development plans.

“Intel Capital makes strategic global investments to help provide enterprises with the latest tools they need for growth, innovation, productivity improvement and cost savings,” said Arvind Sodhani, president of Intel Capital and executive vice-president of Intel. “These social media applications offered by Telligent will help push the boundaries of online collaboration and communication allowing companies to be more efficient and productive.”

“The way people work together is changing and communication is happening in real-time at a much faster pace,” says Telligent CEO Rob Howard. “This significant investment from Intel Capital will allow us to grow our team, our capabilities and our reach during a time of market expansion.” 

Read more here: http://telligent.com/news-and-events/news/intel-capital-to-acquire-20-million-stake-in-telligent/

 

 

Installing XP on a Macbook (Things to Look Out For)

So, after my glorious x64 Vista install on my 2.16 Ghz Macbook (successful I might add), I ran into a small problem. I need an 32 bit XP box for my school applications this semester... so it's back to XP. I've run into a few problems this evening though, and thought I would share for those of you who might be going through something similar in the near future:

1st: Make your partition big enough. When I installed Vista x64, I found out very quickly that 30GB isn't anywhere near enough. I installed most of the Vista compenents, Office, Visual Studio, and BAM! 4GB free... Not so good...

2nd: Backup your OS X partition just in case... (I have a Time Machine now, so this one is covered.)

3rd: Have a good 3 to 8 hours ready in the event something goes wrong.

4th: (This one happened tonight, which prompted this post!) After booting into your installation disk, don't take it upon yourself to delete the FAT32 partition Bootcamp creates and create your own NTFS partition. This screws the boot file, and causes a nasty Black screen before you could even possibly get to the BSOD (Blue Screen of Death for you n3wbs).

Basically, by manipulating the partitions outside of OS X, your boot file gets jacked, and ultimately, the Windows Installer thinks your hal.dll file is corrupt.

Instead of the above method of creating an NTFS file system, select the FAT32 partition, and then in the next screen, tell it to reformat. This should resolve the afformentioned error.

5th: Don't give up. I started this installation at around 6PM, and it's now 11PM... (currently formatting for the 3rd time)

Oh the things I have to go through for my classes...