Tag Archives: tools

The Search for a SQL Azure UI Administration Tool

After messing around with a few side projects built on SQL 2008 R2 hosted on DiscountASP, I moved to SQL Azure to test out our new cloud platform.  On DiscountASP, I was spoiled by the fact screenshot_01[1]that they had licenses for myLittleAdmin, which is a web-based UI for SQL server administration. Sure, SQL Management Studio will work, but sometimes it’s great to just have a UI table view to view and edit a single value without writing a SQL statement. Smile

I searched high and low for an alternative that would work against SQL Azure, and found some potential candidates like SQL Maestro but none of them worked against Azure. I kept getting all sorts of random errors.

Microsoft’s own SQL Server 2008 Management Studio is an excellent product that fully supports SQL Azure and has infinite flexibility to create and design tables and stored procedures, but it lacks a good visual way to view and edit table data. Sure, I could write my own SQL queries, but it’s far simpler and faster to edit it in a data-grid like view.

Thanks to Robert McLaws on Twitter, I found out that Microsoft has a community preview of a Silverlight-based admin tool called Project Houston.

The UI is written entirely in Silverlight very slick and easy to use, but the designers definitely went a little overboard with the gratuitous the Silverlight animation effects (ugly cubes that pivot anyone?).  Other than that, it does everything I need from some basic table and stored procedures creation and administration, to browsing and editing data.  For example, I can quickly jump in, view and edit a single value in a specific table or change the properties on a column of a table.

Here are some videos about Project Houston:

Create and modifying tables:

Create, modify, execute, save and open a T-SQL query:

You can read about Project Houston on the SQL Azure team blog or just jump in and try it out if you already have a SQL Azure account.

Sysinternals Live Tools available 24/7

Great news from Greg about those nifty Sysinternals tools that I’ve been using for years:

imageThe Sysinternals tools are a whole slew of great troubleshooting and analysis utilities for Windows. Microsoft acquired Sysinternals  some time ago. The tools are now available online for anyone that needs or wants to use them, via a web page (http://live.sysinternals.com/) or direct UNC link to each tool.

The simple web page lists the latest version of each tool, where you can click to execute. This is a terrific and eleganly simple resource. No more maintaining thumb drives or CDs of utilities necessary. I like it.
Ed Bott has the details on his Microsoft Report blog at ZDNet.

Windows Live Writer and 403 Forbidden error

At any given time, I have at least 2 blog posts in draft form that I’m waiting to put the finishing touches on before publishing. I wasn’t originally a fan of using a rich blog client since I always wanted to roam the drafts and work on them from whatever computer I happen to be at. When Windows Live Writer (WLW) was first released, like a good Microsoft cog, I jumped on it to give it a try. Truthfully, I already had a huge bias against it due to my love for the roaming drafts.


However, to my surprise, I really, really liked Windows Live Writer. It made many of the tasks I struggle with regularly in authoring my posts, like embedding images that aren’t already remotely hosted. Windows Live Writer allowed me to author my posts very intuitively by enabling me to insert local images while I’m writing, and uploading them after I elect to publish the post. The post is then modified to have the image reference the new remote location.


Ever since falling in love with WLW, I was hoping they would release an update to fix some bugs I noticed as well as add new features. My wish came true on May 30th when The WLW team announced v2 was available for immediate download.


After eagerly downloading and installing it, I ran into a huge problem — I couldn’t even connect to my blog. I kept getting an obscure errror message that claimed I was getting a 403 Forbidden HTTP status code from the XML-RPC interface. I was able to hit the file directly without any trouble and verified that the file permissions were indeed correct. I was stumped. I did a web search and surprisingly I couldn’t find any information on it.


I emailed the Program Manager who works on the WLW team (perks of working at Microsoft I guess), and after a few emails, I was told to check if I had the Bad Behavior plugin installed (I do). It seems there is a bug in WLW v2 that makes it incompatible with that plugin.


The problem is documented by James McKay, who has a very simple fix. You just have to change the msie.inc.php file for the Bad Behavior plugin from this:

if (!array_key_exists('Accept', $package['headers_mixed'])) {
   return "17566707";

to this:

if (strpos($package['headers_mixed']['User-Agent'], "Windows Live Writer")

    === FALSE && !array_key_exists('Accept', $package['headers_mixed'])) {

return "17566707";


After making this quick and painless change, WLW works now with my blog once again. Yipee!

Save space in your Outlook mailbox

One big problem I have with the volume of my email at work is that I hit my storage quota on our exchange server far too often. I’m always looking for ways to save space in my mailbox without having to move a lot of mail to offline folders.

I stumbled upon bxAutoZip which is an add-on for Outlook that automatically ZIPs attachments in emails that you send when the size is above a configurable threshold. This is not only good for the recipients of my emails, but I also benefit from it since it keeps my “Sent items” folder in check.

I’ve been running it for the past few days and I’m loving it so far.

Voicemail mini-revolution

I’m bombarded with information all the time.  It comes from email to blogs, and news headlines to stock tickers.

All this information fits neatly into my life and I use tools to help me triage it effectively.  My work email gets pushed to my smartphone through Cingular where I can process it in between meetings, or even while I’m standing in line at the grocery store.  I use Yahoo webmail for my personal mail so I’m able to access it from any machine, including pocketIE on my smartphone.

With blogs, I use the excellent Google Reader to aggregate all the blogs I follow through RSS.  I can flag things for later review and even publicly share specific blog posts through their cool “share” feature.

The exception to all of this is voicemail. Voicemail has such an arcane method for accessing it. I have to press and hold “1” on my cell phone, and listen to all the prompts including the timestamp of the message.  I then chose to save or delete the message using the numeric keypad.  I’m a big fan of SMS, but there are lots of people in my life that will never send me an SMS message (hi mom!).  Generally, I think voicemail is a pain in the butt because:

  1. Not easy to access
  2. Inefficient when you do access it
  3. No way to easily share a voicemail
  4. Delayed notification — often times when I have bad cell reception, I don’t get my voicemail indicator from Cingular until much, much later.
  5. If I’m traveling, getting access to my voicemail is so much of a pain that I always change my greeting to tell callers I won’t get their messages until I return.

A friend of mine just sent me a link to Callwave, which replaces your cell  provider’s voicemail and gives you the following features:

  1. Email your voicemail message as a WAV file
  2. Notify you by SMS when you have a message with the caller ID of the caller
  3. You still have traditional voicemail access by dialing your own phone #.  No PIN is needed as long as you’re calling from your own cell.

Because you get notification by email (with the voicemail messsage attached), it alleviates every single problem I mentioned above.  I had to try this thing out.

I signed up for the service a few hours ago, and am very impressed so far. You go through a brain-dead simple sign-up process through which you select your carrier and provide your cell #.  I specified “Cingular” as my carrier and they gave me sequence of numbers, # and * to enter which re-programmed my service to route my voicemail to Callwave.  Cool.

After doing this, you then call Callwave from your cell phone which proves you own the number (they utilize Caller ID).  The last thing left to do is call yourself to record your voicemail greeting, and TADA! Your registration is complete.

Optionally, they have some features you can tweak in your account settings.  By default, “Deliver voice mail messages as email attachments” is not enabled, so make sure you toggle this on.

I did a simple test and left a voicemail for myself.  It received an email from Callwave in my exchange inbox literally 5 seconds after I hung up and that same email was pushed to my smartphone about 5 seconds after that.  Very cool.  I was able to open the message on my smartphone, click on the WAV file and Windows Media Player was playing the voicemail back.  No need to listen to assinine menu prompts!

Down-sides of the service:

  1. My voicemail key (pressing and holding “1”) doesn’t work anymore. I have to see if I can change that speedial to dial my own cell # to access CallWave Thanks to a tip from Mike, I figured out how to remap the “1” key to dial myself. On my smartphone, you go to Settings–>Phone–>All Calls–>Call Options. My smartphone downloaded the settings from Cingular, where I could then change my voicemail number to my own cell phone number. Bingo, now pressing and holding #1 dials myself and thus CallWave.
  2. Audio quality wasn’t as good as “regular” voicemail.
  3. This service is completely free — will it survive?  In reality, this isn’t too big of a deal for me because if the service does start charging or goes under, I can just re-enable my Cingular voicemail.  There is no stickiness with this service.

The ideal service to me would be one that could convert speech-to-text send me the translation.  I’ve seen a few services promise this, but their reported accuracy is something left to be desired or charged too much.