RADAR is a memory leak detection technology built into Windows and integrated with Watson (error reporting) and AutoBug (automatic bug filing). It allows Microsoft product teams and third parties to discover and fix memory leaks early in the product cycle and after release. Since RADAR runs on customer machines, leaks can be caught during public betas, after release, and by third parties, thus ridding the entire ecosystem of memory leaks. RADAR-shipped components are highly optimized to have no appreciable performance impact.
> Watch the video on Channel 9
The libdispatch project consists of the user space implementation of the Grand Central Dispatch API as seen in Mac OS X version 10.6 Snow Leopard.
> Full article
JSON Spirit is a C++ library written by John W. Wilkinson that reads and writes JSON (short for JavaScript Object Notation) files or streams. It is written using the Boost Spirit parser generator. If you are already using Boost, you can use JSON Spirit without any additional dependencies.
> Find out more about JSON Spirit
> JSON page on Wikipedia
PerfTrack is the feedback and monitoring system inside of Windows 7 that performs measurements on, well, all things related to the overall performance of the OS, especially as it relates to system responsiveness to user actions. So, when you click on something (an icon, a folder name, etc…), how long does it take for the user to receive an expected reaction from the system? What are the bottlenecks that lead to a poor experience (user-observable latency) when using some feature in Windows? Is the root problem in the design of the feature itself or with the underlying OS? Enter PerfTrack.
Here, Development Manager David Fields and Group Program Manager Bill Karagounis share their wisdom and experience in the world of OS performance analysis. David and Bill explain how PerfTrack works and we digress into an interesting conversation about power management.
PerfTrack is an example of a technology that provides incredibly important real-world information to Windows engineers that can be used to solve performance problems in Windows.
> Watch the video on Channel 9
One of the central engineering and design themes of Windows 7 is efficiency: efficiency in user experience (things work as and when expected, reliably), efficiency in processing, execution, diagnostics, performance, scheduling, window managment, graphics, desktop search, etc. Well, not surprisingly, Windows 7’s audio system has been engineered to provide very efficient user experience (when you plug your headphones in the system streams music to your headphones as expected. When you remove them Windows will switch the stream to flow into your speakers – this is known as real time stream switching – but how does it work, exactly?). What, exactly, is new in Windows audio? What’s been improved since Vista? What is sound, really? (Yes, we talk about this at the end of the interview – interesting stuff indeed).
Here, Architect Elliot H Omiya, Principal Software Developer Larry Osterman and Principal Software Developer Frank Yerrace take us through the details of Windows 7 audio, including some history, some design decisions, some hard problems and overall a great conversation about how Windows makes music.
Enjoy. Lots to learn here. Elliot, Larry, Frank and the Windows audio team have done excellent work in this iteration of Windows. Find some time (I know. It’s hard.) Get comfortable and learn all about the innerworkings of Windows 7’s audio.
> Watch the video on Channel 9
|
Position
Aug 2009 |
Programming Language
|
Ratings
Aug 2009 |
Delta
Aug 2008 |
|
1
|
JAVA
|
19.527%
|
-2.04%
|
|
2
|
C
|
17.220%
|
+1.04%
|
|
3
|
C++
|
10.501%
|
+0.44%
|
|
Category
|
Ratings Aug 2009
|
Delta Aug 2008
|
|
Object-Oriented Languages
|
54.0%
|
-2.4%
|
|
Procedural Languages
|
42.0%
|
+1.3%
|
|
Functional Languages
|
2.8%
|
+0.8%
|
|
Logical Languages
|
1.2%
|
+0.4%
|
|
Category
|
Ratings Aug 2009
|
Delta Aug 2008
|
|
Statically Typed Languages
|
59.8%
|
+1.1%
|
|
Dynamically Typed Languages
|
40.2%
|
-1.1%
|
> View the complete list on TIOBE Software
Prior to Windows 7 (and Windows Server 2008 R2) the Windows kernel dispatcher employed a single lock, the dispatcher lock, which worked well for a relatively small numbers of processors (like 64). However, now that we find ourselves in the midst of the ManyCore era, well, 64 processors aren’t that many… A new strategy was required to scale Windows to large numbers of processors since a single lock is limited in capability, by design: the NT scheduler was written in a time when the notion of affordable 256-processor machines was more science fiction than probable.
In order to promote further scalability of the NT kernel, the dispatcher lock was completely eliminated and replaced with a much finer grained set of synchronization primitives. Gone are the days of contention for a single spinlock!
> Watch the video on Channel 9
As you know, Microsoft released last week an ATL header and library update to deal with an important security issue. Here is a bunch of resources related to this subject:
The following article from Nishant Sivakumar shows how to interop between a WCF service and a WWS client, and also how to rewrite the WCF service in WWS retaining compatibility with existing WCF clients. Windows Web Services (WWS) is a new networking API with support for building SOAP based web services in native code. This API is introduced in Windows 7 but will also be available as a system update on Windows XP, Windows Vista, and Windows Server 2003 / 2008.
> Read the article on CodeProject
Exceptions have been a part of C++ since early 1990s and are sanctioned by the standard to be the mechanism for writing fault-tolerant code in this language. However, many developers for various reasons choose not to use exceptions and voices that are sceptical of this language feature are still numerous and loud: Raymond Chen’s article Cleaner, more elegant, and wrong, Joel Spolsky’s blog Exceptions and Google C++ Style Guide are some of the frequently quoted texts that advise against use of exceptions.
Rather than taking a side in this debate, Nemanja Trifunovic is trying to present a balanced view of pros and cons of using exceptions. The purpose of his article is not to convince readers to use exceptions or error codes, but help them make an informed decision that is best for their particular project. He has structured the article as a list of six arguments for using exceptions and six arguments against it that can often be heard in the C++ community.
> Read the article on CodeProject