jaredpar's WebLog
Code, rants and ramblings of a programmer.
Using Live Mesh to Synchronize Favorites
I'm a huge fan of customizing my environment. As a developer my productivity is tied to access...
Author: JaredPar MSFT Date: 05/15/2008
Reserved words: Good for your sanity
Paul Vick posted a recent entry exploring the necessity, or lack there of, for having reserved words...
Author: JaredPar MSFT Date: 05/13/2008
Equality isn't easy
After my recent postings on the rules of Equality, I thought it would be a good idea to post a...
Author: JaredPar MSFT Date: 05/12/2008
IEquatable(Of T) and GetHashCode()
This is a bit of a follow up to a previous post we discussed how to properly implement equality in...
Author: JaredPar MSFT Date: 05/09/2008
Saved by PowerShell
Recently I made a very large update to our code base. Our code base lacked a standard way of...
Author: JaredPar MSFT Date: 05/07/2008
C++ Programming Books
I was reading a post on Coding Horror the other day about programming books and how developers don't...
Author: JaredPar MSFT Date: 05/01/2008
RantPack - A utility library
I often post code examples, samples and snippets on this blog. Many of these samples are a part of a...
Author: JaredPar MSFT Date: 04/30/2008
Properly Implementing Equality in VB
Many developers want to implement equality functions for their objects. DotNet made equality a...
Author: JaredPar MSFT Date: 04/28/2008
Me, MyBase, MyClass and MyPost on the subject
Recently we had a good discussion on an internal alias about the use of Me, MyClass and MyBase in...
Author: JaredPar MSFT Date: 04/25/2008
Gotcha: CComAutoCriticalSection and copy constructors
While investigating a crash during a suite run I found the stack walk included the destructor for a...
Author: JaredPar MSFT Date: 04/24/2008
Get-TfStatus
Been far too long since I blogged about a new PowerShell script. This is not to say I've stopped...
Author: JaredPar MSFT Date: 04/23/2008
Immutability and ReadOnlyCollection
I am a huge fan of read only/immutable collections and data. Hopefully the increased exposure...
Author: JaredPar MSFT Date: 04/22/2008
Thread Local Storage template
Thread local storage is another method of synchronization between threads. It is different that most...
Author: JaredPar MSFT Date: 04/21/2008
What's the purpose of this blog?
I've had a couple people ask me this question about my blog. The simple answer is: to explore...
Author: JaredPar MSFT Date: 04/17/2008
Gotcha: Generic overload resolution when called generically
Both VB and C# have a feature of generic overload resolution that is fairly helpful and yet a source...
Author: JaredPar MSFT Date: 04/14/2008
Design Guidelines: Provide type inference friendly Create function for generic objects
Really this guideline is a bit longer but putting it all in a blog title seemed a bit too...
Author: JaredPar MSFT Date: 04/11/2008
Have an IComparer but need an IComparable?
Previously we discussed the opposite problem. This is a lesser but often more frustrating...
Author: JaredPar MSFT Date: 04/09/2008
Gotcha: CComPtrBase assignment
Today what started out as a crash due to a pure virtual call turned into finding a gotcha in...
Author: JaredPar MSFT Date: 04/08/2008
BinaryInsert Part2
Previously I discussed a potential missing API in List(Of T).BinaryInsert. One of the items I...
Author: JaredPar MSFT Date: 04/07/2008
Reference values in C++
Reference values are a powerful feature of C++ but I find they have one significant detractor. A...
Author: JaredPar MSFT Date: 04/03/2008
Have a IComparable(Of T) but need an IComparer(Of T)?
IComparable(Of T) is an interface saying "I can compare myself to other objects of the same...
Author: JaredPar MSFT Date: 04/02/2008
Short Post
In an effort to post more often and with greater effect, I've been trying to divide my posts into...
Author: JaredPar MSFT Date: 04/01/2008
Missing API: List(Of T).BinaryInsert
One API that seems to be missing from List(Of T) is a BinaryInsert method. Especially since...
Author: JaredPar MSFT Date: 03/31/2008
ActiveObject
I've been busy lately and neglected my series on Active Objects. It's been a fairly busy time...
Author: JaredPar MSFT Date: 03/30/2008
API Problems: CComObject::CreateInstance
CComObject::CreateInstance is a light weight method for creating instances of COM objects in your...
Author: JaredPar MSFT Date: 03/28/2008
Part of being a good programmer is learning not to trust yourself
... and to actively guard against yourself. Over the years I've found that I can be my own worst...
Author: JaredPar MSFT Date: 03/24/2008
Making PInvoke Easy
I very excited to announce we recently released a tool I've been working on to MSDN that will...
Author: JaredPar MSFT Date: 03/14/2008
PipeSingleReaderNoLock
Previously we discussed a multi-thread safe queue like data structure using locks as an internal...
Author: JaredPar MSFT Date: 03/03/2008
PipeSingleReader
Before we can get to building an Active Object implementation, there are some more primitive...
Author: JaredPar MSFT Date: 03/02/2008
SynchronizationContext and Higher Order Functions
It's often useful to ensure that actions occur on specific threads, in particular event...
Author: JaredPar MSFT Date: 02/24/2008
Factory Methods for Futures
Like most generic classes, I prefer to create Future instances through static factory methods which...
Author: JaredPar MSFT Date: 02/23/2008
Thread Affinity
Part of creating a multithreading program is understanding which threads objects live on. ...
Author: JaredPar MSFT Date: 02/22/2008
Multiple paths to IUnknown
ATL has a lot of great tools for COM programming and CComPtr is a good example. It's a smart pointer...
Author: JaredPar MSFT Date: 02/22/2008
Building a Future which returns no Value
In addition to Future<T> there is also the concept of Futures that don't return any...
Author: JaredPar MSFT Date: 02/18/2008
Building Future
The last post dealt with building the base Future class. Now we'll build the child class used...
Author: JaredPar MSFT Date: 02/13/2008
Building the Base Future
In the end there are two basic types of Future implementations you can use. Futures which return no...
Author: JaredPar MSFT Date: 02/12/2008
Dealing with Exceptions in a Future
Besides waiting, the another important issue when dealing with Futures is how to deal with...
Author: JaredPar MSFT Date: 02/11/2008
The first part of building a Future is ... Waiting
Future's are a great abstraction for asynchronous programming. One of the items making them so good...
Author: JaredPar MSFT Date: 02/04/2008
Get-Content and File Names
Another day, another PowerShell feature discovered. Unfortunately this time it was a feature...
Author: JaredPar MSFT Date: 02/02/2008
Active Objects and Futures
Herb Sutter gave one of my favorite and inspiring presentations. It is called "The Free...
Author: JaredPar MSFT Date: 01/28/2008
Tuples Part 8: Finishing up
There are only a few missing features from our tuple implementation. Mainly FxCop compliance,...
Author: JaredPar MSFT Date: 01/27/2008
Tuples Part 7: Mutable Tuples
Part 6 left us with comparable tuples. At this point, the Tuple class is functionally...
Author: JaredPar MSFT Date: 01/23/2008
Tuples Part 6: Comparing
Part 5 produced equality tests for Tuples. This section will add comparison support through the...
Author: JaredPar MSFT Date: 01/22/2008
Tuples Part 5: Equality
Part 4 left us with a reusable, abstract and inference friendly Tuple class. The next step is...
Author: JaredPar MSFT Date: 01/22/2008
A smarter Select-StringRecurse
Previously I blogged about a recursive select-string function. Recently I've extended it a bit. I...
Author: JaredPar MSFT Date: 01/21/2008
CLR Memory Model
Internally and externally I see a lot of questions about the .Net Memory Model. I think a lot of the...
Author: JaredPar MSFT Date: 01/17/2008
Mixing SEH and C++ Exceptions
Recently I had a half day adventure trying to catch a SafeIntException in code I was writing. The...
Author: JaredPar MSFT Date: 01/11/2008
Tuples Part 4: Interface
Now we have a decent tuple generation script which produces a very usable set of tuple classes....
Author: JaredPar MSFT Date: 01/10/2008
ISynchronizeInvoke ... now
ISynchronizeInvoke is an interface which allows you to execute a delegate synchronously or...
Author: JaredPar MSFT Date: 01/07/2008