Lync, window-opener extraordinaire…

My employer relies on Microsoft Lync for IM and on-line meetings.
Maybe the UI/UX experience is designed to make the corporate overlords feel good because Lync does so much work when you join a meeting…

  1. Open the meeting invite to get the link to the meeting.  (This is the 1st window.)
  2. IE opens and goes to some Lync-related page.  (Window 2.)
  3. The Lync client opens.  (I have no idea why.  Window 3.)
  4. Finally, the window with the actual meeting opens!

Four windows to close now for one meeting; I only had to interact with two of them — the meeting invite to get the link to the meeting, and the meeting window itself.

Does anybody at Microsoft use Lync and think this is a good user experience?

In the Gallery!

I have uploaded my Autosave extension for Visual Studio to the Visual Studio Gallery.
Look for the CBExtensionPkg.
(I’ll continue to update the private site, as well, for people that have that set up and want to keep using it.)

I created a new WinServer 2012 VM with VS2013 Community edition on Azure and installed the extension from the Gallery without problem.

Let me know of issues you find…

Win8.1 -> Win10 experience

My Surface Pro 3 came with Win8 installed, and was greatly improved by the update to Win8.1.

My Win7 desktop computer had enough going wrong that I was tired of trying to fix it; it was old and slow enough that I didn’t mind getting a new computer, complete with 8.1.

Win8 isn’t really great on the desktop computer, so I upgraded the desktop when the helpful (?!) Win10 reminder told me I could.

Continue reading ‘Win8.1 -> Win10 experience’ »

Build Events per Configuration

I probably just overlooked it, or couldn’t figure out how to work it, but it appears that Build Events for a project are not connected to a configuration.

Since I want a “Deploy” config that copies files somewhere after a build, and a “No_Deploy” config that doesn’t, I started digging into the .csproj file.

The Post-build events are in a section that looks like this:

copy $(TargetPath) c:\bin\

Seemed pretty simple to use the Condition attribute on this PropertyGroup item, same as on other PropertyGroup items:

<PropertyGroup Condition=”‘$(Configuration)’ != debug_nodeploy'”>
copy $(TargetPath) c:\bin\

Seems to work as expected.  I wonder if VS will overwrite this at some point?


PowerShell script to install Custom Gallery for Doc. AutoSave

I got a note regarding the Visual Studio AutoSave extension saying they wished installing it were simpler.  I suspect they were referring to having to set up the custom gallery, rather than being able to get it from the Microsoft gallery.

I’m not ready to put it in the Microsoft gallery yet, so I toggled up a PowerShell script to add the registry key for the needed custom gallery.

This is specific to VS2013, but should be easy to modify for previous versions.

Run the script in a PowerShell console:
C:\> . CBExtensionRegKey.ps1
There is one optional parameter – DisplayName.  The default is “CB Gallery”; this is the name that will display in the list of galleries in VisStudio.

I have run it on Win7 and Win8.1; here are the entries made in the registry:

Registry key and values

Registry key and values


CBExtensionRegKey  (Rename to .ps1, of course.)




Stupid Word copy behavior

I want to copy a UNC path out of a document in Word and paste it in to an Explorer window.
I highlight the text I want to copy like this:

Highlight text to copy

Highlight text to copy

When I paste it, I get:
2) \\corp\xxx\data\xxx\installs\xxxxxxxx\Gateways\Archive

Why the hell was the “2)” included?  I did not highlight that because I did not want to copy it.



Using TagBar and vim with .ini files

One application I work with uses a .ini file with over 30 sections.  I thought it would be handy to ‘outline’ that with tagbar.

In ctags.cnf, add:
–regex-inifile=/^\[([,&0-9A-Za-z ]+)\]/\1/s,section/
(I am still tuning the regex.  Please leave a comment if you have a better version…)

And in _vimrc:
let g:tagbar_type_dosini = {
\ ‘ctagstype’ : ‘inifile’,
\ ‘kinds’ : [
\ ‘s:section’
\ ]
\ }

In putting this together, I learned that in ‘tagbar_type_zzz‘, the ‘zzz’ is the vim string for a file type.  “:set ft” (in vim) reveals the file type for .ini files is ‘dosini’.

Tagbar lets you toggle between sorting the tags alphabetically and displaying them in the order they appear in the file.