Learning from Feedback as a Public Speaker

Thursday, October 1, 2009

Over the last three years, I’ve had lots of experiences as a speaker at conferences, courses, private presentations and other opportunities. Among them, I had the chance to present at the Microsoft Developers Academy, TechEd and IDCC; I taught 54 courses for Sela, including Windows Internals, .NET Debugging, .NET Performance, C++/CLI and many others; and I lectured at short half-day MSDN events on Windows 7, Windows Server 2008, performance, debugging and concurrency. Almost every training session, every course, every conference concluded with audience feedback. (If you ever filled an evaluation form for my presentation or course, thank you...
no comments

Windows 7 RTM Training Kit Updates

Sunday, August 9, 2009

Windows 7 RTM is out for a few days now for MSDN and TechNet subscribers, and together with the release of the final bits, Microsoft DPE released the final bits of the Windows 7 Training Kit. Our team at Sela worked days and nights to meet the RTM deadline. Specifically, Alon wrote new multi touch and Libraries hands-on labs, Dima (with Ariel’s help) wrote new labs for the Sensors and Location platform, and I wrote a pair of new labs for taskbar features, one using the final 1.0 release of the Windows API Code Pack and WPF and...
no comments

Concurrent Programming MSDN Event

Saturday, April 4, 2009

Last Monday (March 30) I had the pleasure of presenting an MSDN event at Microsoft Raanana on the subject of Concurrent Programming.  The idea was to show the design patterns, methodology and fundamentals of concurrency and parallelism in applications. An opening line (which I also used for the summary) which I really liked was along the lines of “we’ve been resisting object-oriented programming 20 years ago, so it’s only natural that we resist concurrent programming now”.  I really think that, given the design patterns, architectural differences and programming style imposed by concurrent applications, the paradigm shift expecting all...
2 comments

A Spoiled Riddle

Sunday, February 8, 2009

Here’s a C riddle: The following program was obviously expected to assign 1 to all the prime indices in the array and 0 to all the others.  However, it enters an infinite loop.  Explain. #define ARR_SIZE 10   IsPrime(n) int n; {     int i;     for (i = 1; i < n; ++i)         if (n % i == 0) return 0;     return 1; }...
tags: ,
no comments

Sela Developer Practice: Code Samples from .NET Performance and Debugging Seminar

Thursday, September 25, 2008

As part of the Sela Developer Practice, I’ve delivered a two-day seminar on .NET Performance and Debugging – an in-depth dive into these subjects for very experienced .NET developers. If you were there – thanks – you were a great audience!  It wouldn’t have been the same without your questions, active participation and (surprisingly!) punctual timing. The entire set of code samples I’ve shown in class can be downloaded from my SkyDrive.  Additionally, I’ve uploaded the sample code from the .NET Performance course I teach at Sela. ...
no comments

Why I Was So Silent: Sela Uploads Eight Courses to Microsoft Courseware Library

Wednesday, September 17, 2008

I am delighted to announce that the reason for my complete silence in the past couple of weeks is that Sela has uploaded eight courses to the Microsoft Courseware Library, a community-driven training delivery portal. I managed the technical aspects of the project, including a major rewriting of several of the courses and an intensive editing and reviewing process of the others. What we finally uploaded just a few days ago (still pending the CWL compliance process) are the following courses: Silverlight - A unique 3-day class diving deep into developing rich Internet applications with Silverlight.  This course...
no comments

Native Debugging Walk-Through Set

Wednesday, August 6, 2008

I gave a 3-hour presentation today on C++ debugging techniques, with a focus on production debugging.  I’d like to share with you the demos I’ve shown during the session with a brief walkthrough so that you can repeat what I did in class.  (I have intentionally omitted the debugger spew and any screenshots so that this still remains somewhat of an interesting challenge.) First of all, download the demo solution (30KB), unzip and open with Visual Studio 2008 (the code should work on Visual...
4 comments

.NET Interoperability Exercises and Solutions

Friday, August 1, 2008

I recently delivered a half-day instructor-led training on .NET Interoperability, including P/Invoke, COM Interop and C++/CLI.  I'm sharing the exercises and solutions with you in the hope you might find them useful.  All the exercises are taken from (almost) real-life scenarios I had to implement at some point in the past. Among the exercises: Wrap System.IO.FileSystemWatcher for use from native C++ code Provide a managed class that acts as a byte array allocated from a Win32 low-fragmentation heap (LFH) Expose System.Text.RegularExpressions.Regex to clients through COM interop and consume it from VBScript The exercises and solutions can be downloaded...
no comments

Sela Technology Center Course: .NET Performance, Internals and Debugging

Wednesday, July 16, 2008

Yesterday was the second session in our series of courses for our instructors and consultants.  It was my turn to be the lecturer, and I talked about performance measurement on Windows in general and using .NET in particular. In a pretty standard but significantly faster-paced session taken from the .NET Performance course, I've reviewed the CLR Profiler, the Visual Studio 2008 Profiler, performance counters as well as exposing your own performance counters, querying WMI information (I've also mentioned how to expose WMI information), and demonstrated my own tool that I developed for the course - called "Performance Harness" -...
no comments

Sela Technology Center: Course for Our Professionals

Wednesday, July 9, 2008

As part of our continuous effort to maintain the highest level of professional expertise among our consultants, Sela Technology Center's elite team of 25 professionals has been invited to a private training course consisting of 24 evenings taught by our best consultants and instructors. This training course is unique in the level of participation exhibited by the attendees, in the technological breadth and depth of the covered topics, and in the attempt to cover all recently released Microsoft technologies to achieve a uniform level of expertise across our entire consulting team.  It is not a set of TechEd-style...
no comments