“How Do I?” Videos for Security from MSDN site.
Today’s Sites/Blogs
How to find whether a GUI application is freezed or is not responding? - does exactly that… Everything is around the SendMessageTimeout function and SMTO_ABORTIFHUNG flag.
SmidgeonSoft provides free Windows programming utilities, e.g. PEBrowse Professional Interactive (native and managed code debugger), PEBrowse Professional (PE file viewer/disassembler), PEBrowse Crash-Dump Analyzer, TopToBottomNT (component manager/system explorer), NTDevices (driver/device object explorer), NTObjects (kernel/executive object explorer).
OllyDbg - free (shareware, but can be used for free) 32-bit assembler level analysing debugger for Windows. List of features is really impressive.
Today’s Sites/Blogs
- The Wayward WebLog - a lot of LINQ info (e.g. “LINQ: Building an IQueryable Provider” series)
- …Removing All Doubt by Chuck Jazdzewski (already had it in my blog) - advanced C# topics, functional programming, generics, etc.
Today’s Sites/Blogs
- Luca Bolognese’s WebLog [MSFT] - C# mainly (e.g. a C# library to write functional code, creating an immutable value object in C#, LINQ, and other nice C# things)
- LukeH’s WebLog by Luke H? [MSFT] - interesting C# articles mostly, with some F#
- Charlie Calvert’s Community Blog [MSFT] - VS IDE and LINQ articles, some WPF, etc.
- Yet Another Language Geek by ??? - C# functional programming, advanced C# topics (e.g. partial methods, iterators), some other interesting stuff
- The Mellow Musings of Dr. T by ??? - C# functional programming (not updated though)
Today’s Sites/Blogs
- Pedram Rezaei’s Ramblings - a bit of everything: Parallel Extensions for .NET, WCF, WPF…
- Fabulous Adventures In Coding by Eric Lippert [MSFT] - generics, advanced .NET topics, covariance vs contravariance, etc.
- Managed World blog by Jason Olson [MSFT?] - a lot of interesting information about new .NET things like lamdas, Managed Extensibility Framework, etc.
- Ayende @ Rahien by Oren Eini - testing, mocks, a lot of code snippets (including Code of the Week), etc.
- Kirill Osenkov - QA, advanced C#, etc.
- Sree’s ventures in code space by ? - debugging, C#, extension methods, etc.
WPF Blogs
WPF blogs from Microsoft and ex-Microsoft guys/gals primarily (as well as guys that know their way around the Microsoft):
- 2008.04.10 Jim Nakashima’s blog - really much info about WPF, XAML, Studio…
- 2008.04.09 WPF Disciples - new blog by Dr. WPF and other WPF gurus. Looks promising.
- 2007.10.09 ScottGu’s Blog by Scott Guthrie - interesting WPF, WCF, Silverlight, etc. info
- 2006.10.31 Jim Galasyn’s Learning Curve - interesting exercises in WPF mixed with “strange” things like performance monitors, Windows Media Player, etc.
- 2006.10.31 Adventures with WPF by Martin Grayson - nice examples of various things you can do with WPF: 3D user interfaces, user experience enhancing, tutorials, etc.
- Tim Sneath has pretty long list of Windows Presentation Foundation Blogs
- Kevin@Work (new) and Okoboji: a lake, a mythical university (old) by Kevin Moore - Bag-O-Tricks and others
- Nick on Windows Presentation Foundation by Nick Kramer
- Beatriz Costa - cool snippets and many nice things
- IRhetoric by Karsten Januszewski
- See Win App by [jnak] - a bit of everything: design mode detection, adorners, licensing, etc.
- Soaked in CIDER! by Subhag Oak - Adorners, SafeHandles, Clipboard, Tools, you-name-it
- Greg Schechter’s Blog - not really much about WPF, but still interesting resource about Desktop Window Manager, WDDM, their interoparability
- Urban Potato by Brian Pepin - all kinds of cool things
- Rob Relyea by Rob Relyea - nice blog with lots of stuff
- house of mirrors by Pete Blois - tons of good things, including Snoop utility, attached properties, etc.
- BenCon by Ben Constable - great blog about ItemControl, IScrollInfo, templates, item collections, attached properties (including “remora pattern”), etc.
- Dan Crevier’s Blog - DataModel-View-ViewModel pattern, virtualizing panels, etc.
- Tales from the Smart Client by John Gossman - Model-View-ViewModel, performance, interesting WPF articles, etc.
- Jeff Simon’s Blog - another guy from Max team talks about all kinds of things.
- Blog on WPF by Mike Hillberg - “random interesting things”
- Henry Hahn - mostly performance-related: declarative .Tier, frame rate, optimizations, etc.
- WPF SDK by WPF SDK Team
- WPF Text Blog by WPF Team - it is what it says…
- IanG on Tap by Ian Griffiths - interesting things about WPF and not only…
- ATC Avalon Team - Avalon team’s blog. A bit (way too?) outdated, but still has some interesting info…
- Robert A. Wlodarczyk’s Blog - a blog about “imaging, media, and effects”
- Marcelo’s WebLog by [?]- drag and drop, tracing, ADO.NET, etc.
- Lester’s piece on WPF by Lester Lobo - nice snippets, all kinds of WPF related things, including XamlPad+ (XamlPad replacement)
And here are blogs by ex-Microsoft people (sad, that they are not at MS anymore):
- notstatic.com by Robby Ingebretsen - nice things. Has not been updated recently, but now it is picking up again. Check his Kaxaml replacement of XamlPad.
- fortes.com by Filipe Fortes - few demos and screencasts, mostly mix06-related
- jfo’s coding by Jessica Fosler - many samples, snippets, tips, etc.
Channel 9
Other blogs:
- 2008.07.10 WPFopoly by Matt Duffin: guy is creating a game similar but unrelated to Monopoly - from scratch. A lot of panels-related things.
- 2008.07.10 Pixel in Gene by Pavan Podila (?) - mostly related to 3D
- 2008.07.10 sachabarber.net by Sacha Barber - I guess no need to introduce this guy :)
- 2008.07.10 Andrew Smith
- 2008.07.10 Alan Le’s Vertigo Blog - a lot of info about resources and WPF/Silverlight
- 2008.07.10 Karl on WPF by Karl Shifflett
- 2007.08.26 Nick Thuesen has few interesting articles about panels and other WPF and non-WPF things
- 2007.08.26 the WPF way… - Pavan Podila’s blog has interesting stuff, but very little code (its title says “‘the Approach, rather than the Solution”)
- Josh Smith on WPF (and the old blog) - great blog about all kinds of things like “smart” ResourceDictionaries, controls’ customization, etc.
- theWPFblog by Lee Brimelow - a lot of samples and nice ideas
- Sheva’s TechSpace’s Blog by Yong Zhou (aka Sheva, footballism on MSDN forums). His blog is great and guy knows a lot.
- On .Net Client Stuff by [?] - not a bad blog with lots of goodies about Vista gandets, WPF/ActiveX interoperability, tips, etc.
- Jan-Cornelius Molnar - quite cool blog with some nice tips about Dispatcher.Invoke (obvious, but still), customizing WPF window border (like in Max), etc.
- dotnet mania by Eric Burke - PanelLayoutAnimator, some XAML snippets
- Chaz by [?] - a bit outdated, but a lot of nice ideas and samples (skinning, SkewTransform, Elliptic Control, etc.)
- Ruurd Boeke: Enterprise development and techno babble by Ruurd Boeke - some interesting posts about databinding
- XamlXaml.com by Michael Emmons - nice snippets and bits…
- Douglas Stockwell’s WebLog - interesting things about WPF, generics, DWM Thumbnails in WPF, dynamic method generation, Impossible WPF, …
- DeveloperZen.com by Eran Kampf - tons of interesting resources about WPF and not only
- Laurent Bugnion (GalaSoft) - nice blog about WPF, .NET, Web Services, etc.
Dime Casts .NET
Dime Casts .NET video podcast helps .NET developers learn about various aspects of .NET development in short, focused segments - no longer than 10 minutes each.
CodeProject features Sacha Barber’s multipart article Beginners Guide To Threading In .NET (links to other parts are inside) - it has to be good :)
JkDefrag is a disk defragmenter and optimizer for Windows released under GPL/LGPL. Has both UI, command line, and DLL, so that it can be integrated in own software.
Recently Microsoft released Composite Application Guidance for WPF (for VS2008 and .NET 3.5).
Quote: “The Composite Application Guidance for WPF is designed to help you more easily build enterprise-level Windows Presentation Foundation (WPF) client applications. This guidance will help you design and build flexible composite WPF client applications—composite applications use loosely coupled, independently evolvable pieces that work together in the overall application.
The Composite Application Guidance for WPF can help you split the development of your WPF client application across multiple development teams. In this type of application, each team is responsible for the development of different pieces of the application, which are seamlessly composed together. The guidance includes a reference implementation, reusable library code (named the Composite Application Library), documentation, QuickStart tutorials, and hands-on labs.”
Arrays in C++/CLI
Nishant Sivakumar has pretty deep introduction of C++/CLI arrays (see also his blog for more interesting stuff about mainly C++/CLI).
While there are many nice improvements in the .NET 3.5 SP1 Beta (see here, here or here), there are problems too, unfortunately… Yesterday we spent half a day trying to understand why absolutely simple and legitimate piece of XAML is not opening in Blend 2. The code looks like this (relevant part of it):
<Window.Resources>
<Style TargetType=”{x:Type ListBoxItem}” x:Key=”LBIS”>
<Setter Property=”FocusVisualStyle” Value=”{x:Null}”/>
</Style>
<ControlTemplate TargetType=”{x:Type ContentControl}”
x:Key=”CT”>
<ListBox ItemContainerStyle=”{StaticResource LBIS}”/>
</ControlTemplate>
</Window.Resources>
<ContentControl Template=”{StaticResource CT}”/>
Simple, isn’t it? Well, it is not! Blend is choking on the Setter of FocusedVisualStyle in the ListBoxItem’s LBIS style with ” XML namespace prefix does not map to a namespace URI, so cannot resolve property ‘FocusedVisualStyle’. FocusedVisualStyle can be substituted by almost any other property of the ListBoxItem, although some of them, e.g. Width or Opacity will work.
On the other hand, following XAML will open nicely (ListBox is not inside of the template anymore):
<Window.Resources>
<Style TargetType=”{x:Type ListBoxItem}” x:Key=”LBIS”>
<Setter Property=”FocusVisualStyle” Value=”{x:Null}”/>
</Style>
</Window.Resources>
<ListBox ItemContainerStyle=”{StaticResource LBIS}”/>
Both snippets open nicely in Blend 2 on a machine without the SP1 beta. As we need Blend 2 and do not rely on anything SP1-specific, I decided to uninstall SP1 beta. And here comes the problem - it is “mission impossible”. I have spent half of the last night trying to get rid of it, all in vain. I have tried everything, including Automated cleanup tool to remove the .NET Framework by Aaron Stebner (which by the way managed to completely remove .NET 3.5 - nice job, Aaron!!!). But the result is the same - Blend 2 is irreparably broken. I cannot even reinstall it as installer complains about “Unknown product…” and I cannot do anything about that - cleaning registry, monitoring installer’s activities, etc. did not help. Visual Studio 2008 is broken too now, but that is another story.
Microsoft guys know that Blend 2 is not really compatible with SP1 Beta of .NET 3.5, and recommend waiting for the release version of SP1. On the other hand, Blend 2.5 March CTP Refresh seems to work fine in this scenario.
I have to reinstall Windows now, which is not a problem per se, as I was planning it for some time now anyway, but one would expect that this kind of basic/primitive errors would not exist in beta product - we are not talking about an “advanced” scenario in this case.
Microsoft released SP1 Betas of .NET 3.5 and VS2008. More info is available from Tim Sneath, Scott Guthrie, and, related info about shaders from Greg Schechter.
PostSharp
PostSharp is a free and open source aspect-oriented programming (AOP)/policy injection framework that can reduce the number of lines of code and improve its logical decoupling by allowing encapsulation of e.g. transaction management, logging, caching, or security aspects as custom attributes. Own custom attributes can be developed that will add new behaviors to code.
Today’s Sites/Blogs
- On Measuring Performance by Sasha Goldshtein
- Why WPF Rocks (Custom Layout Panel Showcase) by Rudi Grobler - nice collection of panels. Rudi’s blog has a lot of interesting information about WPF
- Pete W’s Idea Book by Pete Weissbrod - interesting materials about WPF, data binding (inlcuding NHibernate), MVC/MVVM, etc.
- Agile-Friendly Test Automation Tools/Frameworks on Elisabeth Hendrickson’s Ruminations blog
- How to be a Programmer: A Short, Comprehensive, and Personal Summary by Robert L. Read. Absolutely must reading for any software developer (especially beginner).
- Execution in Kingdom of Nouns by Steve Yegge - despite the problem’s seriousness, the reading is fun!
- Computer Zen blog by Scott Hanselman (Senior Program Manager at Microsoft) - vast amount of info about LINQ, WPF, .NET, programming, tools, tricks, you-name-it.
WPF: A Beginner’s Guide
Sacha Barber (see his blog) wrote (will continue to write?) excellent “WPF: A Beginner’s Guide” series on CodeProject:
- Part 1 of n: Layout
- Part 2 of n: XAML vs Code / Markup Extensions And Resources
- Part 3 of n: Commands And Events
- Part 4 of n: Dependency Properties
- Part 5 of n: DataBinding
- Part 6 of n: Styles/Templates
- Burning and Erasing CD/DVD/Blu-ray Media with C# and IMAPI2
- Detecting USB Drive Removal in a C# Program (detects drive insertion as well :) ) and Eject USB disks using C#
- Conceptual Children: A powerful new concept in WPF by Dr. WPF - a new approach by which an element can remove its visual and logical relationships to its children while maintaining a conceptual parental relationship with those children
By accident found Algorithms for the Masses web-site and blog by Julian M. Bucknall (who is CTO at DevExpress). Plenty of interesting articles and posts, especially on algorithms and data structures (including their lock-free implementations).
The CLR Inside Out column of the MSDN Magazine has absolutely great article about .NET performance - “Measure Early and Often for Performance” (Part I, and Part II).
JIT Optimizations
Sasha Goldshtein’s JIT Optimizations article on the CodeProject shows some of the optimizations the JIT compiler is able to do and explains what is affecting them. Interesting.
Josh Smith’s article Using MVC to Unit Test WPF Applications on CodeProject.
Memory Leaks in WPF
Finding Memory Leaks in WPF-based applications and Memory Leaks in WPF based applications – Blog Update articles from the WPF Performance blog.
Here I am putting together all kinds of things that do not fit anywhere else…
Software development:
- 2008.04.19 There is a nice (but not new :) introduction to XamlWriter on Mike Hillberg’s blog
- 2008.04.10 Krzysztof Cwalina (author of Framework Design Guidelines) gave a lecture about framework design (3 hours long!) at the Redmond’s Microsoft Research Center. You can see it on the ResearchChannel (cool thing, by the way! and has a lot of videos from Microsoft Research). The lecture video is available for download as well (direct link)
- 2006.11.15 High Level Assembler anyone? I found it while I was looking for some assembler reference. In the end I found The Art of Assembly Language Programming book together with the above-mentioned thingy on the Webster - The Place on the Internet to Learn Assembly site. This HLA is a bit like the old macro assembler on the IBM mainframes but even cooler. :)
- Levenshtein Distance “between two strings is given by the minimum number of operations needed to transform one string into the other” (includes algorithm and implementations)
- ProgrammableWeb: API Dashboard - really impressive list of Web 2.0 APIs from ProgrammableWeb (WTF is Web 2.0??? buzzwords… buzzwords…)
- Using /clr and __declspec(thread) - a TLS wrapper for .Net
- CSLA .Net - quite interesting framework for business objects
- Hm… Saw it on Miguel de Icaza’s blog - expression a ?? b is equivalent to a != null ? a : b. Nice shortcut. Bet not many people know about it. ;)
Conceptual:
- { End Bracket }: Peripheral and Foveal Vision - interesting view at the human-computer interaction
Tricks:
Business:
Blogs
- B# .NET Blog (by Bart De Smet) - really nice blog about all kinds of things, including topics on functionall programming (and how to do it in C#!), PowerShell, and other cool stuff.