DCSIMG
מכללת הי-טק - Pavel's Blog
Sign in | Join | Help

Pavel's Blog

Pavel is a software guy that is interested in almost everything
software related... way too much for too little time

Browse by Tags

My TechEd 2010 Session
19 November 10 03:26 PM | pavely | 1 comment(s)
TechEd 2010 in Eilat is approaching fast. My session is about what MEF (from .NET 4)and Unity (from the Enterprise Library, but does not depend on it) can do for you and your code. If you’re new to MEF and wonder what that is and what it can do (and you’re not on your plane back to Israel center at that time), you might want to stop by. If you’re using the dependency injection idea with Unity, I’ll show some of the things Unity can do. It’s gonna be fun, mostly demos, and hey – it’s the last session...
64 bit process addresses
12 April 09 09:00 PM | pavely | 11 comment(s)
native 64 bit processes get a huge address space of 8 TB (instead of the usual 2GB of 32 bit processes). However, to actually get this address space range, the executable image must be linked with the LARGEADDRESSAWARE flag. If it's not, only the lower 2GB will be available. Why is that? Why doesn't a native 64 bit process get automatically the larger address space? I'll leave you to think about this a bit - I'll answer in a few paragraphs. Here's a simple test program: int _tmain...
I'm an MVP!
01 April 09 08:43 PM | pavely | 8 comment(s)
Just got a nice e-mail from Microsoft, announcing me as an MVP! I guess it feels somewhat like winning the Golden Globe award. I'll probably won't get the Hollywood award type any time soon, but I can act like it and thank practically everyone I ever known. But, seriously, I would like to thank Guy Burstein who recommended me for the title and anyone else at Microsoft who may have pinched in a good word. Thank you all!
New Version of SOSEX published
09 March 09 09:08 AM | pavely | with no comments
For all those WinDbg + SOS/SOSEX lovers, a new version of SOSEX was published, which includes some new commands and enhancements to existing ones. Here’s a brief description of each command. More info can be found in the readme file and using !help <command> inside WinDbg. dlk        (no parameters)                                  ...
Presentation & Demos from C# LINQ Open House
18 February 09 01:54 PM | pavely | with no comments
Today I presented a Microsoft Open House event focused on C# 3.0 features and LINQ. Thank you all for coming! I have attached the presentation and demos. Note that to make the LINQ to SQL samples work, you must change the connection string appropriately in the app.config file, or pass another one in the NorthwindDataContext constructor. Presentation & Demos
Why 2D Transforms use 3x3 Matrices
15 February 09 09:41 AM | pavely | 15 comment(s)
If you’re working with WPF or other sophisticated graphics framework (e.g. DirectX, OpenGL) you probably know that to create 2D transforms, you build a 3x3 Matrix, either explicitly or implicitly by using classes such as RotateTransform , ScaleTransform or TranslateTransform . it might seem somewhat strange, that for 2D transformations we need a 3x3 matrix: after all, we take an X and a Y and transform them into some X2 and Y2. So, why a 3x3 matrix? Why not just 2x2? The reason has to do with the...
Non-Square Caption Buttons
12 February 09 09:18 AM | pavely | 1 comment(s)
In the last few months, my Windows captions look something like this: The caption buttons are not square. Someone asked me how I did it… Well, Windows UI (Personalize…, etc.) allows changing the size of the caption buttons, but the width must be the same as the height. To make the caption buttons rectangular, one needs to call the SystemParametersInfo native API. Here’s some C++ code that does what you see here (width = 3 times height): NONCLIENTMETRICS metrics = { sizeof ( metrics ) }; :: SystemParametersInfo...
Upcoming Courses and an Event
09 February 09 11:28 AM | pavely | with no comments
I’ll be teaching next week (starting from the 16th) a five day course (split) entitled “The C# 3.0 programming language” on .NET and C# fundamentals. On the 18th of this month, I’ll do an open house at Microsoft on C# 3.0 and LINQ (same thing I did a few months back at Air Force house, so if you were there, no need to come again – unless you really like the food). You can register here . On March 1st, I’ll be teaching my Windows Internals class (for developers) on the (obviously) internals of the...
Math.Net – Math Library for .NET
08 February 09 08:55 AM | pavely | 2 comment(s)
Recently I was searching for a mathematics library for use in .NET applications and I stumbled upon Math.Net , an open source math library that includes two main components: The first, called Iridium , deals with the basics: numbers, vectors, matrices and the like. The second, Neodym , is a digital signal processing toolkit, containing things like various filters, modulators, time-frequency processing tools and the like. Worth checking out if you’re in the math business.
XAML Intellisense Gone
20 January 09 10:34 AM | pavely | 9 comment(s)
My XAML intellisense went away – just like that. The last thing I remember was installing Team Explorer for VS 2008. From that moment on, XAML intellisense disappeared. No Tools->Options settings appear to have any effect. It turns out this may happen after other types of installations related to Visual Studio. If you got this issue, it can probably be corrected with VS 2008 repair, but here’s how to correct it manually (much faster): Open regedit.exe and navigate to: (32 bit system) HKEY_CLASSES_ROOT...
Removing the Send Feedback link on Windows 7 Title Bars
19 January 09 10:47 AM | pavely | with no comments
The Windows 7 beta has the sometimes annoying “Send Feedback” link on title bars which I click way too often when I reach for the minimize button. As John Robbins discovered, you can remove it by opening regedit.exe , navigating to HKEY_CURRENT_USER\Control Panel\Desktop and setting FeedbackToolEnabled value to 0. You’ll need to log off and log on to get the desired effect. When you really want to give feedback (and you should), simply use the shortcut on the desktop.
Update to the NLP library Proxeme Antelope
11 January 09 11:04 AM | pavely | 1 comment(s)
I mentioned in the past the Natural Language Processing (NLP) library Proxeme Antelope , based on the .NET 2.0 framework. This library has been recently updated (version 0.8.6) and includes multithreading support, some API redesign for increased consistency and other enhancements. Download and experiment!
My Developer Academy 3 Demos
16 December 08 06:21 AM | pavely | with no comments
Yesterday, at the Developer Academy 3 , I delivered the talk entitled “Hardcore C#: Power and Flexibility”. I was very happy to find so many people in the talk. Thank you all for coming! I know it’s not easy hearing about iterators so early in the morning! The demos will be published shortly on the Dveloper Academy 3 web site. The demos include more than was in the talk itself, on partial classes and methods, dynamic delegates and expression trees. At the initial stages of planning, I wanted all...
Virtual Memory Map Viewer Update
07 December 08 07:55 AM | pavely | 1 comment(s)
Here’s an update to my Virtual Memory Map Viewer (for those interested). New features in this release: 1. Memory corresponding to thread stacks is indicated in the “Details” column in the view. 2. Memory mapped files are indicated in the “Details” column as well for mapped regions. 3. Status bar contains the following data for the selected process: Number of threads, total committed memory, private committed memory and working set (RAM currently consumed by process). These counters are updated every...
Virtual Memory Map Viewer
27 November 08 09:47 AM | pavely | 3 comment(s)
Some of you old folks may recall a small tool called “Pwalk” (process walk), that showed the memory map of a running process. As the tool is hard to come by and is generally old, I decided to create a new one (maybe there’s something else like this out there). This is the first version – very basic, but gets the job done. It supports sorting by any column. I intend to add memory viewing capabilities, process heaps information and allocations in the future. Here’s a screen shot and the executable...
More Posts Next page »