Friday, May 31, 2013

Checking VC runtime of EXE, DLL, LIB

Open VisualStudio command prompt

dumpbin /all  EXE|DLL|LIB > tmp.txt

Open tmp.txt and search for "MSVCRT", examples:

   Linker Directives
   -----------------
   /include:__forceCRTManifestCUR
   /manifestdependency:type='win32' name='Microsoft.VC90.CRT' version='9.0.30729.6161' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'
   /DEFAULTLIB:msvcprt
   /manifestdependency:type='win32' name='Microsoft.VC90.CRT' version='9.0.30729.6161' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b'
   /DEFAULTLIB:MSVCRT
   /DEFAULTLIB:OLDNAMES

Thursday, March 7, 2013

TCP Window

From Windows Vista, we can set TCP window auto-tuning


disabled = scale factor 0
highlyrestricted = scale factor 2
restricted = scale factor 4
normal = scale factor 8
experimental = scale factor 14

However, it can be override by Windows if TCP heuristics is ON. To turn it off, go to registry

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\EnableWsd and set it to 0.

or run command

% netsh int tcp set heuristics disabled

See here: http://social.technet.microsoft.com/Forums/en/w7itpronetworking/thread/5baff76a-be80-4e4d-a28e-e251dc5c5043

Wednesday, March 6, 2013

Wireshark

Wireshark on VirtualBox 4.0 cannot capture packet, see here for how to fix it:
https://forums.virtualbox.org/viewtopic.php?f=6&t=41831&start=0

Thursday, January 24, 2013

.NET XML Serializer


            MemoryStream memoryStream = new MemoryStream();
            XmlSerializer xs = new XmlSerializer(typeof(ConfigState));
            XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
            xs.Serialize(xmlTextWriter, cs);
            string configXml = Encoding.UTF8.GetString(memoryStream.ToArray());

Wednesday, December 5, 2012

WPF - 2

Cheat sheet:
- XAML for WPF: http://blog.blueboxes.co.uk/2009/02/03/xaml-for-wpf-cheatsheet/
- DataBinding: http://www.nbdtech.com/Blog/archive/2009/02/02/wpf-xaml-data-binding-cheat-sheet.aspx

Programming tools
http://www.wpftutorial.net/wpfdevtools.html

Themes:
http://wpf.codeplex.com/wikipage?title=WPF%20Themes&referringTitle=Home
- Download is here: http://wpf.codeplex.com/releases/view/14962

Data binding:
- See http://msdn.microsoft.com/en-us/library/ms750612.aspx
- Why we shouldn't use DependencyObject inside ViewModel layer: http://stackoverflow.com/questions/291518/inotifypropertychanged-vs-dependencyproperty-in-viewmodel
- How to serialize Dependency Object using XamlReader/Writer: http://www.codeproject.com/Tips/61443/Serialize-DependencyObject-it-s-easy
- How to reduce coding for INotifyPropertyChanged:
  - http://stackoverflow.com/questions/1315621/implementing-inotifypropertychanged-does-a-better-way-exist
  - Use CallerMemberName attribute available from .NET 4.5, see http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(v=vs.110).aspx

MVVM
 - How to implement Command pattern: http://www.codeproject.com/Articles/101881/Executing-Command-Logic-in-a-View-Model
 - Calling command by events: http://stackoverflow.com/questions/1048517/wpf-calling-commands-via-events

Topics:
- Async and data binding
- Types of bindings, multiple ? hierarchy ? collision ?
- Binding, converter, validation