September 2008 - Posts
Esther Schindler does a great job introducing Visual Studio 2010. If you're currently using Visual Studio this article offers a nice preview. PDC this year will surely have more goodness to offer.
My favorite thing in the article was talking about the video recording available to testers, so developers can actually see the on screen playback of what the tester did. No more "It works on my machine" syndrome. :)
Also, in addition to just he video - there are extensive logs showing system properties, call stacks, and other information to diagnose what that silly tester did to break your app.
Link to article : http://is.gd/3hsB
Also, the screen shots were kind of hard to find, so I'm posting them here (with links) as well.




I want to share files without thinking about it between my home machine, my work machine, and my laptop. Currently I'm using an external hard drive. This drive kind of acts as a 320GB backup / keep things you want for all machines on / utility drive.
Two Goals.
#1 There are a certain set of files and folders that I want synchronized.
#2 Be able to access files online.
I have Microsoft Office Groove installed - but I don't think I know how to use it, because it's not working. I think groove is some sort of "larger than life" application that if all I'm doing is syncing files, I'm doing it the hard way. So hard that it's not even working.
Folder Share seems dead - is it? Are you still using it? I had it installed once but somewhere along the line I stopped using it and I'm not sure why.
www.Mesh.com has screen sharing, and file shares, I think even between multiple users (family members)? This seems to be a perfect fit for what I'm looking for so maybe I just need to give Mesh.com a little more time
And finally www.GetDropBox.com (which I have an account for) seems to do the same trick. One nice thing about GetDropBox is that you can right-click on any file and get a publicly addressable URL for sharing. This makes it really easy to send a downloaded file link to someone. One thing I don't like about GetDropBox is that you have to have your files nested under the singular drop box folder. I need to share files and folders that are scattered throughout my machine.
I suppose that this creates an interesting mapping issue when you're sharing data across multiple machines and potentially sharing some folders with external parties. But that's the problem and the solution I'm looking for. I'm sure there are 100's or even 1000's of other solutions to this problem.
If you're using one of my four known potential solutions, can you give me some details to why you made that decision? This should help me with a little direction.
Please leave comments.
Thank you!
P.S. I'm still using voice dictation for my blog posts :)
[UPDATE] Sept 24, 2008
I renamed the DropBox to (what I originally meant) to GetDropBox
Earlier this week I received an e-mail from the www.nuance.com
In the past I purchased a product from them called PaperPort which is used for document management on my scanner. About once a year I received an e-mail for them to upgrade the software and this last week I received an e-mail to purchase DragonDictate. This is a product that I've heard of before but never used so I thought would give it a try.
This blog post is being dictated by voice, and I'm learning as I go. So far I have not had to touch the keyboard to dictate this blog post and I'm more than impressed with the software. I'm not wearing a headset I'm just talking into the air and my MacBook Pro tilt in microphone is picking up the speech that's being dictated.
I did spend about 10 minutes going through the voice training which was nice to do actually because it was a paragraph or a few pages actually that told me how to better talk to the computer to make it better understand where more easily understand what I'm saying.
One thing that I'm noticing is that it's much easier to create a run-on sentence when your voice dictating. Where when you are typing you have the ability to read what you're saying so when I'm doing this I'm actually not even looking at the screen. I'm just staring off into space thinking about what I'm going to say and every once in a while a look back at the screen to confirm that what I said is in fact what is being written in live writer.
So this is just the first day in fact the first couple of minutes that I've had the software installed and when the microphone is active it dictates text into whatever the active window is so theoretically I can use this for billing or e-mail or live writer blogging or anything so I will see what happens. I think that I would like to have a shortcut key that would turn on or off the microphone/dictation service. For example a few minutes ago the phone rang and I started talking on the phone and I looked back and a bunch of those words were inside this blog post which I did delete with voice by saying ... "scratch that".
In looking through the menu options I do see the hotkeys are programmable so I've set my microphone dictation on off to the shortcut key of control+alt+v.
So that's it my first blog post by voice which is much faster than actually typing but I think I'm still slower because I don't know all the tricks. So we'll see what happens in a couple days it's kind of a cute thing if it works it will be great; if it doesn't then that I have the 15 day return policy to send it back!
I'm speaking this week at TechEd New Zealand, and TechEd Australia.
As part of my talk, I show how Microsoft AJAX offers object oriented LIKE behavior. There are a ton of examples that I have build over the years on this subject, and the entire project is hosted on CodePlex.com/ScottCateAjax
SideLine: This demo is included in the CodePlex sample as Demo 6F and 6G
It's always funny how the most popular part of a session can not be predicted.
After hours and hours (days and months) of code that I've written and show, the most popular feedback that I've received on my talk was showing Sys.StringBuilder and prototyping it with an appendFormat method.
So it's worthy of a blog post.
Sys.StringBuilder.prototype.appendFormat = Sys$StringBuilder$appendFormat;
function Sys$StringBuilder$appendFormat(mask) {
this.append(String.format.apply(null, arguments));
}
Now you can write code like ....
function BuildResults() {
var sb = new Sys.StringBuilder();
var mask = "Line number {0}<br />";
for (var i = 0; i < 10; i++) {
sb.appendFormat(mask, i);
}
var results = sb.toString();
}
.... and use StringBuilder.appendFormat()
What's interesting about this code, is the apply method called on ....
this.append(String.format.apply(null, arguments));
.... which pushes all the arguments passed into the appendFormat method, on to the String.format call.
Without the use of apply, you're forced to call the method with a hard coded set of parameters. Because the parameters are optional in JavaScript you might be tempted to use the following code ....
function Sys$StringBuilder$appendFormat(mask, arg0, arg1, arg2, arg3, arg4) {
this.append(String.format(mask, arg0, arg1, arg2, arg3, arg4));
}
.... and only support a fixed number of arguments to your appendFormat() method.
Back in 2007, I wrote about this same subject with object inheritance. My goal was to inherit from the Sys.StringBuilder, to create my own string builder, which I then added the appendFormat method to. The natural problem with this approach is that you have to use something other than the built in Sys.StringBuilder.
http://weblogs.asp.net/scottcate/archive/2007/11/28/extending-sys-stringbuilder-with-an-appendformat-method.aspx
In all my presentations, I've added ZoomIt as a display tool.
After every session, inevitably I get people who ask about the tool.
It's amazingly simple, and it's free.
http://live.sysinternals.com (Bottom of page is ZoomIt.exe)
In a large room, even at 1024X768, folks still have a hard time seeing the screen.
If it were possible, I would run at 800X600 to make my screen as large as possible. Unfortunately that creates a whole other set of usability issues that begin to over rule the large fonts.
ZoomIt to the rescue.
CTRL+1 - Zoom in.
CTRL+2 Draw on the screen. While in draw mode you have a few colors for the pen.
- g = Green
- r = Red
- b = Blue
- y = Yellow
- o = Orange
you can also free draw with the mouse, which is great as a new age replacement for the old school laser pointer. while drawing with the mouse, you can add a keyboard click to adjust the drawing.
- shift + draw = draw a perfect line
- tab + draw = draw and ellipse
- ctrl + draw = draw a rectangle
- shift + ctrl + draw = draw and arrow
and a few others ....
- e = erase the screen - all drawings go away
- ctrl + z = undo last draw
- t = Type on the screen. (Thanks Rob @ RobBagby.com for that tip)
- up|down arrow keys change the pen size (larger or smaller for drawing and typing
Note to presenters (ReadMe.txt) ....
I've been using ZoomIt for about 6 months now, and I think I'm just getting to the point where I'm really good at using the utility, and not more confusing my audience with the zooming and drawing.
You can get zoom and draw happy to a point where I think it might actually take away from the effect.
I think "Less is More" wins here. If you have a really important presentation I wouldn't use ZoomIt unless you have had ample time to practice with it - maybe a few dry runs with the tool on your presentation.
More Posts