In case you were looking for these:
http://windows.microsoft.com/en-US/windows-8/iso
http://www.microsoft.com/visualstudio/11/en-us/downloads
The VS11 downloads also include the new TFS Express Beta…
In case you were looking for these:
http://windows.microsoft.com/en-US/windows-8/iso
http://www.microsoft.com/visualstudio/11/en-us/downloads
The VS11 downloads also include the new TFS Express Beta…
I’ve created a new project on CodePlex for ‘Mail Aggregator Service‘ so others can share and contribute if they want to.
There is no dedicated installer yet but installing the service is quite easy as the service exe supports my command line installation options like my other services (i.e. -install command line option).
It can be used with or without QuickMon.
I even have a new project icon/image for the project… mail gator 😉
Another quick note – QuickMon 2.6 has been released. The biggest change is the introduction of some parallel threading when calling collectors – using the .Net 4.0 parallel extensions. No new collectors or notifiers added yet.
Yesterday I learned the hard (old) way that using BeginUpdate and EndUpdate in a multithreading environment (Windows Forms) don’t work so ‘lekker’ together. In hindsight, I should have guessed that this would be a problem but 20/20 hindvision really doesn’t help after the fact.
While making enhancements to my QuickMon tool to facilitate multithreading (using the .Net 4 parallel extensions) while calling collectors I started experiencing weird and unpredictable freezes or application hangs – app seems to be hanging but some parts of the UI still updates but the window cannot be moved, closed (in the normal way) etc. I tried various ways using mutexes, Control.Invokes, extra timers and duck tape to try and solve the problems. Only once I removed all my BeginUpdate/EndUpdates did the freezing issue disappear.
As mentioned before it all made sense afterwards. The problem is that when multiple background threads make calls back to the UI thread (yes, even using the proper Control.Invoke() method) that has a BeginUpdate in the beginning and later an EndUpdate there is no guarantee that every BeginUpdate is followed by its EndUpdate. That could mean some EndUpdates might never be reached properly.
The solution (for now) was to just disable all BeginUpdate/EndUpdates. Of course, a more proper design change would be to use some kind of buffer and a separate update UI routine that function outside the callbacks coming from the multiple threads collecting data. This unfortunately is not a small change and cannot be done in just a day or two. In a future iteration I’ll try to implement something like this for the QuickMon Windows client. The Windows service version of the tool wasn’t affected and work as is with the multi-threading change.
Just thought to mention (in case you somehow missed it) there is a 40 minute of ME3 game play available here
Looking forward to March 9 (lets hope the date is correct)!
This might be a bit old news for some but for those that forgot or never knew – here is a quick reference link on keyboard shortcuts inside Visual Studio.
http://microsoftfeed.com/2012/30-useful-visual-studio-2010-keyboard-shortcuts
Quick tip: This might only work for version 10 (not tested otherwise) but you can type ‘about:memory’ in the URL bar of the browser to see details of what and how memory is used. Nice!