Friday, August 29, 2008
Internet Explorer operation aborted
For several weeks now, I had been experiencing a problem in Internet Explorer (and just had not had time to research, or correct it). Almost every time I navigated to a page on MSDN, the page would display briefly, I would get an “Internet Explorer cannot open the Internet site http://msdn.microsoft.com/xxxx. Operation aborted” message, and then the page would be switched to a navigation error screen. I quickly discovered that pressing the back button would allow the page to display correctly.
Since I work with a lot of Microsoft products, and spend a lot of time on MSDN, this was becoming very annoying. So, today became the today to try and solve the problem. It was occurring on my work PC, but not my home PC. Both are running Windows Vista and IE7. Since one was ok, and the other was not, I thought the problem probably caused by an IE security setting. Rather than digging through IE’s huge list of security options for possible culprits, I decided to search the web to see if anyone else was experiencing the problem.
First, I found this discussion listing a bug in sitemeter.com that had caused issues on a lot of sites; but this bug had already been corrected. The thread also suggested IE addins as a possible cause, but this was not the cause for my issue, either. Another suggestion in the thread was to Reset IE’s options, but this did not fix it for me either. There was also a link to a blog post describing how this error is typically caused by JavaScript manipulation of the HTML DOM. The post stated the problem has been corrected in IE8. Soooooo, I am now running a beta of IE8, which seems to have corrected the problem. Hopefully, it does not introduce new problems!
On my next visit to MSDN, I was promptly greeted with a JavaScript popup message that Microsoft was taking a survey(which was not appearing previously). So, it looks like the survey was the root of my problem, but I have not determined why it occurred on one PC and not the other. At least IE8 seems to have solved it, for now.
Tuesday, August 26, 2008
VMWare Beeps
Open Windows Device Manager on the virtual machine.
Go to the View menu and pick “Show hidden devices”.
Go to Non Plug and Play Devices; there is now a Beep item that can be disabled.
Problem solved.
Experts Exchange and Google Cache
Today, a co-worker shared an interesting trick with me. It doesn’t always work, but most of the time, you can click on Google’s cached version of the page and the answers will appear. Nice!
XML Comments and Nullable data types
I had not worked with XML comments until joining my current employer. The syntax is pretty simple, and Visual Studio Intellisense handles most of it, but I occasionally find cases where the correct syntax is not obvious. For example, I needed to change an int variable to a nullable int. I updated the variable definition to int?, and changed the XML comment <see cref="int"/> to <see cref="int?"/>. This resulted in a compiler warning: “syntactically incorrect cref attribute 'int?'”. I searched, but could not find a complete listing of the correct syntax for all data types. Eventually, I found enough examples to learn that nullable data types are listed as Nullable{type name}, like <see cref="Nullable{DateTime}"/>, <see cref="Nullable{Int32}"/>, <see cref="Nullable{Bool}"/>, etc.
Thursday, August 14, 2008
Shortcuts revisited
Tuesday, August 12, 2008
Favorite Shortcut Keys
Visual Studio
(Note: some of these are different dependent upon your installation settings)
Control + g : Goto line number
Shift + Alt + Enter : Toggle full screen mode
Control + Space : Launch intellisense
Tab : Accept intellisense selection
F5 : Start debugging
F6 : Build
F10 : Step Over
F11 : Step Into
Windows
Windows Key + f : Search for documents
Windows Key + r : Run
Windows Key + m : Show the desktop (minimize all applications)
Alt + Tab : Toggle between applications
Most applications
Control + s : Save
Control + c : Copy
Control + v : Paste
Control + z : Undo
Control + n : New document
Control + x : Cut
Control + a : Select all
Control + h : Replace
Control + f : Find
Control + Tab - Toggle between documents
Thursday, August 7, 2008
iPhone-a-licious
Hearing about this software was one of those “blow your mind” moments for me. It is an amazing application of the iPhone’s technology, and also made me think about just how powerful the iPhone is. It will be interesting to see what other creative applications will become available for the phone. Gaming possibilities could be a huge use of the technology. While it’s not exactly a Nintendo Wii, tapping into the accelerometers could lead to some exciting gaming on the small screen. After a quick look at the iPhone app store, and it looks like there are already a few games that utilize the accelerometers, but it could be fascinating to see what else is available in the upcoming months.
It might be time to go phone shopping this weekend….
Tuesday, August 5, 2008
Quantity leads to Quality…
“When it comes to software, the same rule applies. If you aren't building, you aren't learning. Rather than agonizing over whether you're building the right thing, just build it. And if that one doesn't work, keep building until you get one that does.”
I found this to be an interesting post because I had recently came to the same conclusion. At my current employer there is a senior developer who is effectively my mentor (we’ll just call him Frank). He insists that all code should follow his standards, which is ok because they are typically good standards; but the whole thing can be a little intimidating. During my first few weeks at the employer, I had a difficult time completing any work because I was constantly worrying about “how would Frank handle this task?”. Once I overcame this, and just let the code flow, I have been much more productive and have learned more by writing the code as opposed to trying to over-analyze the existing code base.
Jeff suggests that the same idea of “Quantity always trumps quality” applies to blogging as well. As an aspiring blogger, I guess I should take that message to heart….
Accessing the Office Ribbon from VBA
1. Open an instance of Word 2007 to find the msoId of the button you’d like to press. You can find this by going to Office Button Word Options Customize to view a list of commands which correspond to buttons.
2. Hover over the name of the command and you’ll see a tooltip; for example, the tooltip for the Save command when selected from the “Popular Commands” list says “Popular Commands Save (FileSave)”. The part in parentheses is the msoId. (Note: You may have to select the name of a tab in the “Choose commands from:” list box to find the button you’re looking for.)
3. In your code, call Word.Application.CommandBars.ExecuteMso with the msoId and you can invoke the button.
Note: The steps above also apply to Excel.
Code Example to demonstrate how to press FileSave in Word 2007
[VBA]
Sub PressThisRibbonBarButton()
On Error Resume Next
If Word.Application.Documents.Count = 0 Then Exit Sub
' Press the Save button Word.Application.CommandBars.ExecuteMso "FileSave"
End Sub
I haven’t worked with the Office 2007 API yet, but I thought this seemed like a good tip that was worth posting here. However, today I was researching something else, and discovered a post on the Interwoven Devnet forums by someone named jny. It looks like the previously mentioned co-worker was trying to pull a fast one, and borrow jny’s post. Anyway, I still thought this was helpful, so thanks to jny from the Interwoven forums for the helpful tip.